{"version":3,"sources":["./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/admin/add-update-product/add-update-product.component.html","./src/app/admin/admin.component.html","./src/app/admin/chat/window/chat.component.html","./src/app/admin/product-catesting/product-catesting.component.html","./src/app/app.component.html","./src/app/pages/confirmation.component.html","./src/app/pages/confirmationProduct.component.html","./src/app/pages/multi-select-drop-down/multi-select-drop-down.component.html","./src/app/pages/not-found.component.html","./node_modules/tslib/tslib.es6.js","./src/$_lazy_route_resource lazy namespace object","./src/app/Common/after-comma-space.pipe.ts","./src/app/Common/custom-filter.module.ts","./src/app/Common/custom-filter.ts","./src/app/Common/remove-blankspace.pipe.ts","./src/app/Common/safe.pipe.ts","./src/app/Model/userDetails.ts","./src/app/admin/add-update-product/add-update-product.component.css","./src/app/admin/add-update-product/add-update-product.component.ts","./src/app/admin/admin.component.css","./src/app/admin/admin.component.ts","./src/app/admin/admin.module.ts","./src/app/admin/admin.routing.ts","./src/app/admin/chat/chat.service.ts","./src/app/admin/chat/chatgroup.service.ts","./src/app/admin/chat/scroll-to-bottom.directive.ts","./src/app/admin/chat/window/chat.component.css","./src/app/admin/chat/window/chat.component.ts","./src/app/admin/product-catesting/product-catesting.component.css","./src/app/admin/product-catesting/product-catesting.component.ts","./src/app/admin/shared/shared.module.ts","./src/app/admin/task/taskSetting.ts","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/authGuards/AuthGuard.ts","./src/app/directive/FocusDirective.directive.ts","./src/app/directive/input.directive.ts","./src/app/pages/confirmation.component.ts","./src/app/pages/confirmationProduct.component.ts","./src/app/pages/multi-select-drop-down/multi-select-drop-down.component.css","./src/app/pages/multi-select-drop-down/multi-select-drop-down.component.ts","./src/app/pages/not-found.component.ts","./src/app/services/auth.service.ts","./src/app/services/backend.url.service.ts","./src/app/services/behaviour-subject-service.service.ts","./src/app/services/error-interceptor.service.ts","./src/app/services/http-interceptor.service.ts","./src/app/services/http.client.service.ts","./src/app/services/url.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;;ACnRA;AAAe,8MAA+I,kCAAkC,4hBAA4hB,4BAA4B,goBAAgoB,wEAAwE,owBAAowB,kBAAkB,8MAA8M,YAAY,03BAA03B,kBAAkB,8WAA8W,YAAY,2mB;;;;;;;;;;;;ACAtrH;AAAe,s9BAAu5B,eAAe,iTAAiT,wBAAwB,8IAA8I,yCAAyC,qEAAqE,kKAAkK,qZAAqZ,qBAAqB,i0DAAi0D,wBAAwB,wOAAwO,wBAAwB,cAAc,sjBAAsjB,sjBAAsjB,mGAAmG,sBAAsB,yiDAAyiD,gBAAgB,6EAA6E,GAAG,sMAAsM,0CAA0C,khBAAkhB,gEAAgE,qBAAqB,ynBAAynB,gBAAgB,kPAAkP,GAAG,mHAAmH,wBAAwB,wLAAwL,0CAA0C,uiBAAuiB,qBAAqB,2tDAA2tD,oBAAoB,0ZAA0Z,mBAAmB,stCAAstC,uIAAuI,WAAW,qgCAAqgC,+dAA+d,oFAAoF,2FAA2F,8FAA8F,2DAA2D,kMAAkM,6FAA6F,YAAY,uRAAuR,eAAe,uYAAuY,yBAAyB,mCAAmC,cAAc,+b;;;;;;;;;;;;ACA3+f;AAAe,67BAA83B,yBAAyB,mSAAmS,6BAA6B,mSAAmS,kCAAkC,8VAA8V,gxBAAgxB,gBAAgB,YAAY,eAAe,gBAAgB,uBAAuB,0CAA0C,YAAY,mBAAmB,oFAAoF,oBAAoB,0BAA0B,wFAAwF,UAAU,eAAe,iBAAiB,kBAAkB,UAAU,UAAU,qCAAqC,oBAAoB,+DAA+D,gBAAgB,YAAY,eAAe,2DAA2D,gBAAgB,uEAAuE,eAAe,gCAAgC,eAAe,oFAAoF,KAAK,eAAe,qDAAqD,mBAAmB,mEAAmE,cAAc,0CAA0C,eAAe,WAAW,cAAc,sIAAsI,kBAAkB,eAAe,0LAA0L,+GAA+G,mBAAmB,YAAY,qFAAqF,mBAAmB,0BAA0B,6FAA6F,mEAAmE,UAAU,eAAe,iBAAiB,kBAAkB,UAAU,UAAU,KAAK,oBAAoB,0DAA0D,iBAAiB,sFAAsF,eAAe,gCAAgC,iBAAiB,sJAAsJ,KAAK,6BAA6B,wDAAwD,mBAAmB,mEAAmE,oBAAoB,0CAA0C,eAAe,WAAW,oBAAoB,qGAAqG,cAAc,0CAA0C,eAAe,WAAW,cAAc,0IAA0I,aAAa,sLAAsL,6QAA6Q,kBAAkB,4qCAA4qC,yBAAyB,mSAAmS,6BAA6B,mSAAmS,kCAAkC,8IAA8I,qnBAAqnB,gBAAgB,YAAY,eAAe,gBAAgB,uBAAuB,0CAA0C,YAAY,mBAAmB,4DAA4D,mBAAmB,0BAA0B,wFAAwF,UAAU,eAAe,iBAAiB,mBAAmB,UAAU,UAAU,qCAAqC,oBAAoB,+DAA+D,gBAAgB,YAAY,eAAe,2DAA2D,gBAAgB,uEAAuE,eAAe,gCAAgC,eAAe,iEAAiE,MAAM,QAAQ,eAAe,oEAAoE,kBAAkB,eAAe,0LAA0L,6aAA6a,mBAAmB,6DAA6D,6CAA6C,YAAY,2aAA2a,aAAa,uIAAuI,sBAAsB,kBAAkB,YAAY,mKAAmK,mMAAmM,uFAAuF,2XAA2X,iXAAiX,oJAAoJ,6UAA6U,gBAAgB,aAAa,eAAe,gBAAgB,uBAAuB,0CAA0C,mBAAmB,YAAY,4DAA4D,mBAAmB,0BAA0B,wFAAwF,mEAAmE,UAAU,eAAe,iBAAiB,mBAAmB,UAAU,UAAU,KAAK,oBAAoB,0DAA0D,iBAAiB,2DAA2D,gBAAgB,uEAAuE,eAAe,gCAAgC,iBAAiB,iJAAiJ,KAAK,6BAA6B,wDAAwD,mBAAmB,mEAAmE,oBAAoB,0CAA0C,eAAe,WAAW,oBAAoB,+HAA+H,aAAa,sLAAsL,uIAAuI,OAAO,gdAAgd,gBAAgB,aAAa,eAAe,gBAAgB,uBAAuB,qDAAqD,OAAO,uBAAuB,mBAAmB,YAAY,4DAA4D,mBAAmB,0BAA0B,4FAA4F,UAAU,eAAe,iBAAiB,mBAAmB,UAAU,UAAU,KAAK,oBAAoB,0DAA0D,iBAAiB,2DAA2D,gBAAgB,uEAAuE,eAAe,gCAAgC,iBAAiB,0HAA0H,iBAAiB,oGAAoG,oBAAoB,6CAA6C,8JAA8J,yKAAyK,8PAA8P,iEAAiE,eAAe,gCAAgC,QAAQ,+EAA+E,QAAQ,wFAAwF,eAAe,0kBAA0kB,YAAY,oWAAoW,YAAY,+hBAA+hB,mBAAmB,0BAA0B,2DAA2D,gBAAgB,YAAY,eAAe,2DAA2D,gBAAgB,uEAAuE,eAAe,gCAAgC,eAAe,iDAAiD,eAAe,yFAAyF,sBAAsB,kDAAkD,yDAAyD,gmCAAgmC,oBAAoB,GAAG,mBAAmB,yDAAyD,6DAA6D,WAAW,oBAAoB,GAAG,mBAAmB,gHAAgH,oBAAoB,GAAG,mBAAmB,2OAA2O,eAAe,qDAAqD,eAAe,gBAAgB,gBAAgB,qDAAqD,gBAAgB,imCAAimC,yBAAyB,mSAAmS,6BAA6B,mSAAmS,kCAAkC,8IAA8I,6XAA6X,aAAa,uRAAuR,+QAA+Q,6QAA6Q,0GAA0G,+CAA+C,eAAe,2BAA2B,mBAAmB,sBAAsB,kFAAkF,0FAA0F,oBAAoB,gTAAgT,oBAAoB,oOAAoO,WAAW,4DAA4D,oDAAoD,0BAA0B,wGAAwG,iDAAiD,iCAAiC,oBAAoB,4CAA4C,0BAA0B,+HAA+H,4CAA4C,4CAA4C,0BAA0B,4EAA4E,mBAAmB,uBAAuB,wDAAwD,WAAW,4BAA4B,mBAAmB,WAAW,cAAc,4CAA4C,cAAc,8MAA8M,sBAAsB,8IAA8I,iGAAiG,sEAAsE,eAAe,iBAAiB,aAAa,sJAAsJ,0DAA0D,gEAAgE,YAAY,gBAAgB,aAAa,wZAAwZ,oBAAoB,6LAA6L,sCAAsC,iCAAiC,oBAAoB,4CAA4C,0BAA0B,oFAAoF,sCAAsC,iCAAiC,oBAAoB,4CAA4C,0BAA0B,8EAA8E,mBAAmB,uBAAuB,0DAA0D,WAAW,4BAA4B,mBAAmB,WAAW,cAAc,0CAA0C,oMAAoM,WAAW,8DAA8D,oDAAoD,0BAA0B,2IAA2I,sBAAsB,uUAAuU,0WAA0W,kBAAkB,eAAe,mNAAmN,0GAA0G,wDAAwD,8DAA8D,6DAA6D,2BAA2B,SAAS,mPAAmP,8IAA8I,iEAAiE,8OAA8O,gBAAgB,uEAAuE,yeAAye,yfAAyf,qdAAqd,sBAAsB,qBAAqB,aAAa,oBAAoB,GAAG,mBAAmB,iDAAiD,4DAA4D,WAAW,oBAAoB,GAAG,mBAAmB,uMAAuM,sBAAsB,qBAAqB,8DAA8D,eAAe,qDAAqD,iCAAiC,gBAAgB,gBAAgB,uEAAuE,gBAAgB,0JAA0J,cAAc,6CAA6C,cAAc,u6BAAu6B,yBAAyB,mSAAmS,6BAA6B,mSAAmS,kCAAkC,8IAA8I,uYAAuY,aAAa,sSAAsS,6SAA6S,iSAAiS,yHAAyH,+CAA+C,eAAe,2BAA2B,KAAK,IAAI,2EAA2E,mHAAmH,yBAAyB,oUAAoU,yBAAyB,iJAAiJ,yBAAyB,KAAK,cAAc,6EAA6E,uBAAuB,kHAAkH,WAAW,4DAA4D,oDAAoD,0BAA0B,wGAAwG,2DAA2D,sCAAsC,yBAAyB,4CAA4C,0BAA0B,oIAAoI,yBAAyB,4CAA4C,0BAA0B,2FAA2F,mBAAmB,uBAAuB,wDAAwD,WAAW,4BAA4B,mBAAmB,WAAW,cAAc,4CAA4C,cAAc,8MAA8M,sBAAsB,6FAA6F,UAAU,0IAA0I,wIAAwI,iGAAiG,uJAAuJ,iCAAiC,gEAAgE,YAAY,gBAAgB,aAAa,6XAA6X,yBAAyB,yIAAyI,uGAAuG,sCAAsC,sCAAsC,yBAAyB,4CAA4C,0BAA0B,oFAAoF,sCAAsC,sCAAsC,yBAAyB,4CAA4C,0BAA0B,6FAA6F,mBAAmB,uBAAuB,0DAA0D,WAAW,4BAA4B,mBAAmB,WAAW,cAAc,4CAA4C,cAAc,wLAAwL,WAAW,8DAA8D,oDAAoD,0BAA0B,2IAA2I,iBAAiB,KAAK,sBAAsB,8MAA8M,kBAAkB,6FAA6F,uJAAuJ,kBAAkB,0YAA0Y,kTAAkT,0GAA0G,wDAAwD,8DAA8D,6DAA6D,2BAA2B,SAAS,iQAAiQ,2IAA2I,iEAAiE,kPAAkP,0CAA0C,uEAAuE,skBAAskB,ulBAAulB,8lCAA8lC,kBAAkB,6dAA6d,oRAAoR,mGAAmG,kGAAkG,kGAAkG,mIAAmI,oGAAoG,mGAAmG,kGAAkG,+gBAA+gB,+JAA+J,cAAc,sEAAsE,sBAAsB,yFAAyF,UAAU,0IAA0I,+QAA+Q,kBAAkB,0SAA0S,KAAK,cAAc,oDAAoD,iBAAiB,KAAK,sBAAsB,4LAA4L,kBAAkB,mOAAmO,iDAAiD,eAAe,2BAA2B,KAAK,qBAAqB,gFAAgF,qKAAqK,cAAc,0EAA0E,sBAAsB,OAAO,mBAAmB,4SAA4S,cAAc,sDAAsD,sBAAsB,KAAK,iBAAiB,yuBAAyuB,UAAU,eAAe,kFAAkF,yCAAyC,8FAA8F,0CAA0C,iEAAiE,0CAA0C,mEAAmE,yBAAyB,mc;;;;;;;;;;;;ACAlzlD;AAAe,iNAAkJ,kCAAkC,oeAAoe,4BAA4B,+sCAA+sC,OAAO,qPAAqP,aAAa,2PAA2P,cAAc,qVAAqV,kBAAkB,2sCAA2sC,OAAO,mHAAmH,kBAAkB,mNAAmN,4BAA4B,sCAAsC,kCAAkC,2BAA2B,wBAAwB,wCAAwC,WAAW,sBAAsB,sCAAsC,4BAA4B,kCAAkC,sDAAsD,yBAAyB,+BAA+B,WAAW,gBAAgB,4BAA4B,qCAAqC,wBAAwB,WAAW,kBAAkB,8BAA8B,gCAAgC,WAAW,uBAAuB,4BAA4B,kCAAkC,wBAAwB,WAAW,6BAA6B,sBAAsB,gCAAgC,WAAW,6BAA6B,sBAAsB,2BAA2B,qCAAqC,iCAAiC,WAAW,4pB;;;;;;;;;;;;ACAtzK;AAAe,yJ;;;;;;;;;;;;ACAf;AAAe,uhBAAwd,2DAA2D,8hBAA8hB,SAAS,+EAA+E,SAAS,80BAA80B,oTAAoT,SAAS,qEAAqE,SAAS,6mBAA6mB,kCAAkC,uGAAuG,4gBAA4gB,sdAAsd,qKAAqK,wM;;;;;;;;;;;;ACAvvI;AAAe,qxBAAstB,SAAS,+EAA+E,SAAS,8LAA8L,kBAAkB,oGAAoG,kBAAkB,oC;;;;;;;;;;;;ACA5oC;AAAe,0lCAA2hC,uDAAuD,wxBAAwxB,uDAAuD,qDAAqD,mBAAmB,2NAA2N,kBAAkB,yIAAyI,uIAAuI,eAAe,IAAI,4BAA4B,mGAAmG,oCAAoC,2GAA2G,IAAI,8HAA8H,UAAU,SAAS,qFAAqF,qGAAqG,gHAAgH,4GAA4G,4CAA4C,IAAI,4cAA4c,yNAAyN,uDAAuD,ogBAAogB,gFAAgF,knBAAknB,uDAAuD,yDAAyD,mBAAmB,0QAA0Q,kBAAkB,6FAA6F,kBAAkB,4TAA4T,uDAAuD,yDAAyD,mBAAmB,0QAA0Q,kBAAkB,6FAA6F,kBAAkB,oYAAoY,iBAAiB,2BAA2B,qBAAqB,oLAAoL,aAAa,2BAA2B,qBAAqB,0D;;;;;;;;;;;;ACAjyO;AAAe,2I;;;;;;;;;;;;ACAf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA,+DAA+D;AAC/D;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,MAAM,gBAAgB,sCAAsC,iBAAiB,EAAE;AAC/E,qBAAqB,uDAAuD;;AAErE;AACP;AACA,mBAAmB,sBAAsB;AACzC;AACA;;AAEO;AACP,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,4DAA4D,cAAc;AAC1E;AACA;AACA;;AAEO;AACP;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;;AAEO;AACP,mCAAmC,oCAAoC;AACvE;;AAEO;AACP;AACA;;AAEO;AACP;AACA,mCAAmC,MAAM,6BAA6B,EAAE,YAAY,WAAW,EAAE;AACjG,kCAAkC,MAAM,iCAAiC,EAAE,YAAY,WAAW,EAAE;AACpG,+BAA+B,iEAAiE,uBAAuB,EAAE,4BAA4B;AACrJ;AACA,KAAK;AACL;;AAEO;AACP,aAAa,6BAA6B,0BAA0B,aAAa,EAAE,qBAAqB;AACxG,gBAAgB,qDAAqD,oEAAoE,aAAa,EAAE;AACxJ,sBAAsB,sBAAsB,qBAAqB,GAAG;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,kCAAkC,SAAS;AAC3C,kCAAkC,WAAW,UAAU;AACvD,yCAAyC,cAAc;AACvD;AACA,6GAA6G,OAAO,UAAU;AAC9H,gFAAgF,iBAAiB,OAAO;AACxG,wDAAwD,gBAAgB,QAAQ,OAAO;AACvF,8CAA8C,gBAAgB,gBAAgB,OAAO;AACrF;AACA,iCAAiC;AACjC;AACA;AACA,SAAS,YAAY,aAAa,OAAO,EAAE,UAAU,WAAW;AAChE,mCAAmC,SAAS;AAC5C;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM,gBAAgB;AACzC;AACA;AACA;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;;AAEO;AACP,4BAA4B,sBAAsB;AAClD;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,iBAAiB,sFAAsF,aAAa,EAAE;AACtH,sBAAsB,gCAAgC,qCAAqC,0CAA0C,EAAE,EAAE,GAAG;AAC5I,2BAA2B,MAAM,eAAe,EAAE,YAAY,oBAAoB,EAAE;AACpF,sBAAsB,oGAAoG;AAC1H,6BAA6B,uBAAuB;AACpD,4BAA4B,wBAAwB;AACpD,2BAA2B,yDAAyD;AACpF;;AAEO;AACP;AACA,iBAAiB,4CAA4C,SAAS,EAAE,qDAAqD,aAAa,EAAE;AAC5I,yBAAyB,gCAAgC,oBAAoB,gDAAgD,gBAAgB,GAAG;AAChJ;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP,gCAAgC,uCAAuC,aAAa,EAAE,EAAE,OAAO,kBAAkB;AACjH;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,4CAA4C;AAC5C;;;;;;;;;;;;ACjLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Created and Updated Products from the Last 24 Hours
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
0 || list2.length>0\\\">\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Product\\r\\n \\r\\n Product Variant\\r\\n
\\r\\n
    \\r\\n \\r\\n
  • {{ item.parentSKU }}
  • \\r\\n
    \\r\\n
\\r\\n
\\r\\n
    \\r\\n \\r\\n
  • {{ item.sku }}
  • \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

You're Almost Logged Out: Stay Active!

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{idleState}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Auction Title Rule

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
TaskIDReasonTotal ProductImpacted ProductStartTask Complete
{{row.taskID}}{{row.startTime}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{row.progress}}% Complete\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{item.unReadMessage}}\\r\\n \\r\\n \\r\\n \\r\\n {{item.userName}} \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
{{item.message}}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{item.unReadMessage}}\\r\\n \\r\\n \\r\\n {{item.groupTitle | titlecase}}\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
{{item.receiverNames}}
{{item.message}}
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{item.unReadMessage}}\\r\\n \\r\\n \\r\\n \\r\\n    {{item.userName}} \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Please enter Group title.\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{item.unReadMessage}}\\r\\n \\r\\n \\r\\n \\r\\n {{item.groupTitle | titlecase}}\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
{{item.receiverNames}}
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n {{item.unReadMessage}}\\r\\n \\r\\n \\r\\n \\r\\n {{item.groupTitle}}\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{gTitle}}\\r\\n \\r\\n \\r\\n \\r\\n Please enter Group title.\\r\\n \\r\\n Select at least one user.\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.userName}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{pagingLabel}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{\\r\\ndt\\r\\n }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n\\r\\n

\\r\\n

\\r\\n \\r\\n \\\"{{item.message}}\\\" {{item.message}}\\r\\n \\r\\n\\r\\n

\\r\\n
\\r\\n \\r\\n {{item.createdTimeOnly}} |\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n

\\r\\n \\r\\n \\\"{{item.message}}\\\" item.message\\r\\n \\r\\n\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n {{item.createdTimeOnly}}\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Typing ...
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
#SKU #OrderId #Ticket {{item.id}} invalid!
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{pagingLabel}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{dt}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n

\\r\\n

\\r\\n \\r\\n \\\"{{item.message}}\\\" {{item.message}}\\r\\n \\r\\n\\r\\n

\\r\\n
\\r\\n \\r\\n {{item.createdTimeOnly}} |\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n

\\r\\n \\r\\n \\\"{{item.message}}\\\" {{item.message}}\\r\\n \\r\\n\\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n {{item.senderName}} | {{item.createdTimeOnly}}\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Typing ...
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
#SKU #OrderId #Ticket {{item.id}} invalid!
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{chatHistoryTitle}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

{{item.message}}

\\r\\n \\r\\n {{item.createdTimeOnly}} |\\r\\n |\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{item.message}}

\\r\\n {{item.senderName}} | {{item.createdTimeOnly}}\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{getReceiverName(rm)}}
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

{{item.message}}

\\r\\n \\r\\n {{item.createdTimeOnly}} | | {{item.receiverName}}\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{item.message}}

\\r\\n {{item.createdTimeOnly}} | {{item.senderName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n 0}\\\" src=\\\"/assets/images/bot-icon.png\\\">\\r\\n
0}\\\" class=\\\"top-right\\\" [hidden]=\\\"checkNewMesageNotification()\\\">{{totalUnReadMessageCount}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\"","export default \"\\n
\\n
\\n
\\n
\\n
Product Catesting Works!
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n {{ qty }}\\n
\\n
\\n {{ pickedqty }}\\n
\\n
\\n {{UnshippedQty}}\\n
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Confirmation
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{heading}}
\\r\\n
\\r\\n

{{message}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Confirmation\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{heading}}
\\r\\n
\\r\\n

{{message}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\n\\n
\\n 0\\\">\\n {{slectedValueShowingText.join(', ')}}\\n \\n \\n 0\\\">×\\n \\n \\n \\n
\\n
\\n
\\n \\n 0\\\"\\n (click)=\\\"DropdownFilter.value='';cleareAll($event)\\\">×\\n
\\n\\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n \\n \\n {{att[feilds.text]}}\\n \\n
\\n
\\n
\\n
\\n \\n \\n {{att[feilds.text]}}\\n \\n
\\n
\\n
\\n \\n
\\n \\n Display {{dataList.length}} out of\\n {{dataListCopy.length}}\\n \\n
\\n
\\n \\n Display {{showingData}} out of\\n {{dataListCopy.length}}\\n \\n
\\n
\\n
\"","export default \"
\\r\\n

Oops! Your requested page is not found.

\\r\\n
\\r\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [0, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator];\r\n return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","var map = {\n\t\"./VerifyImage/verify-image.module\": [\n\t\t\"./src/app/admin/VerifyImage/verify-image.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~VerifyImage-verify-image-module~amazon-canned-amazon-canned-module~catalog-library-catalog-l~78e98243\",\n\t\t\"default~VerifyImage-verify-image-module~manage-user-user-module~product-tool-product-tool-module~rec~2397a432\",\n\t\t\"default~VerifyImage-verify-image-module~product-tool-product-tool-module~receiving-tool-receiving-tool-module\",\n\t\t\"common\",\n\t\t\"VerifyImage-verify-image-module\"\n\t],\n\t\"./WMS/Warehouse/warehousedetail.module\": [\n\t\t\"./src/app/admin/WMS/Warehouse/warehousedetail.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-canned-module~catalog-library-cata~ca4e3f33\",\n\t\t\"common\",\n\t\t\"WMS-Warehouse-warehousedetail-module\"\n\t],\n\t\"./admin/admin.module\": [\n\t\t\"./src/app/admin/admin.module.ts\"\n\t],\n\t\"./amazon-canned/amazon-canned.module\": [\n\t\t\"./src/app/admin/amazon-canned/amazon-canned.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-canned-module~catalog-library-cata~ca4e3f33\",\n\t\t\"default~VerifyImage-verify-image-module~amazon-canned-amazon-canned-module~catalog-library-catalog-l~78e98243\",\n\t\t\"default~amazon-canned-amazon-canned-module~catalog-library-catalog-library-module~manage-user-user-m~a834d0a5\",\n\t\t\"common\",\n\t\t\"amazon-canned-amazon-canned-module\"\n\t],\n\t\"./ca-product/ca-product.module\": [\n\t\t\"./src/app/admin/ca-product/ca-product.module.ts\",\n\t\t\"default~ca-product-ca-product-module~catalog-library-catalog-library-module~manage-user-user-module~~152a9616\",\n\t\t\"ca-product-ca-product-module\"\n\t],\n\t\"./catalog-library/catalog-library.module\": [\n\t\t\"./src/app/admin/catalog-library/catalog-library.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-canned-module~catalog-library-cata~ca4e3f33\",\n\t\t\"default~VerifyImage-verify-image-module~amazon-canned-amazon-canned-module~catalog-library-catalog-l~78e98243\",\n\t\t\"default~amazon-canned-amazon-canned-module~catalog-library-catalog-library-module~manage-user-user-m~a834d0a5\",\n\t\t\"default~ca-product-ca-product-module~catalog-library-catalog-library-module~manage-user-user-module~~152a9616\",\n\t\t\"default~catalog-library-catalog-library-module~manage-user-user-module\",\n\t\t\"default~catalog-library-catalog-library-module~product-tool-product-tool-module\",\n\t\t\"common\",\n\t\t\"catalog-library-catalog-library-module\"\n\t],\n\t\"./changepassword/changepassword.module\": [\n\t\t\"./src/app/changepassword/changepassword.module.ts\",\n\t\t\"changepassword-changepassword-module\"\n\t],\n\t\"./chat/chat.module\": [\n\t\t\"./src/app/admin/chat/chat.module.ts\",\n\t\t\"chat-chat-module\"\n\t],\n\t\"./dashboard/dashboard.module\": [\n\t\t\"./src/app/admin/dashboard/dashboard.module.ts\",\n\t\t\"dashboard-dashboard-module\"\n\t],\n\t\"./forgot/forgot.module\": [\n\t\t\"./src/app/forgot/forgot.module.ts\",\n\t\t\"forgot-forgot-module\"\n\t],\n\t\"./login/login.module\": [\n\t\t\"./src/app/login/login.module.ts\",\n\t\t\"login-login-module\"\n\t],\n\t\"./manage-user/user.module\": [\n\t\t\"./src/app/admin/manage-user/user.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-canned-module~catalog-library-cata~ca4e3f33\",\n\t\t\"default~VerifyImage-verify-image-module~amazon-canned-amazon-canned-module~catalog-library-catalog-l~78e98243\",\n\t\t\"default~amazon-canned-amazon-canned-module~catalog-library-catalog-library-module~manage-user-user-m~a834d0a5\",\n\t\t\"default~ca-product-ca-product-module~catalog-library-catalog-library-module~manage-user-user-module~~152a9616\",\n\t\t\"default~VerifyImage-verify-image-module~manage-user-user-module~product-tool-product-tool-module~rec~2397a432\",\n\t\t\"default~catalog-library-catalog-library-module~manage-user-user-module\",\n\t\t\"common\",\n\t\t\"manage-user-user-module\"\n\t],\n\t\"./open-order/open-order.module\": [\n\t\t\"./src/app/admin/open-order/open-order.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-canned-module~catalog-library-cata~ca4e3f33\",\n\t\t\"default~amazon-canned-amazon-canned-module~catalog-library-catalog-library-module~manage-user-user-m~a834d0a5\",\n\t\t\"common\",\n\t\t\"open-order-open-order-module\"\n\t],\n\t\"./orders/orders.module\": [\n\t\t\"./src/app/admin/orders/orders.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-canned-module~catalog-library-cata~ca4e3f33\",\n\t\t\"default~ca-product-ca-product-module~catalog-library-catalog-library-module~manage-user-user-module~~152a9616\",\n\t\t\"default~orders-orders-module~product-tool-product-tool-module\",\n\t\t\"common\",\n\t\t\"orders-orders-module\"\n\t],\n\t\"./process-image-master/process-image-master.module\": [\n\t\t\"./src/app/admin/process-image-master/process-image-master.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~VerifyImage-verify-image-module~amazon-canned-amazon-canned-module~catalog-library-catalog-l~78e98243\",\n\t\t\"default~amazon-canned-amazon-canned-module~catalog-library-catalog-library-module~manage-user-user-m~a834d0a5\",\n\t\t\"default~ca-product-ca-product-module~catalog-library-catalog-library-module~manage-user-user-module~~152a9616\",\n\t\t\"common\",\n\t\t\"process-image-master-process-image-master-module\"\n\t],\n\t\"./product-tool/product-tool.module\": [\n\t\t\"./src/app/admin/product-tool/product-tool.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-canned-module~catalog-library-cata~ca4e3f33\",\n\t\t\"default~VerifyImage-verify-image-module~amazon-canned-amazon-canned-module~catalog-library-catalog-l~78e98243\",\n\t\t\"default~amazon-canned-amazon-canned-module~catalog-library-catalog-library-module~manage-user-user-m~a834d0a5\",\n\t\t\"default~VerifyImage-verify-image-module~manage-user-user-module~product-tool-product-tool-module~rec~2397a432\",\n\t\t\"default~VerifyImage-verify-image-module~product-tool-product-tool-module~receiving-tool-receiving-tool-module\",\n\t\t\"default~product-tool-product-tool-module~purchase-order-purchase-order-module\",\n\t\t\"default~orders-orders-module~product-tool-product-tool-module\",\n\t\t\"default~product-tool-product-tool-module~receiving-tool-receiving-tool-module\",\n\t\t\"default~catalog-library-catalog-library-module~product-tool-product-tool-module\",\n\t\t\"common\",\n\t\t\"product-tool-product-tool-module\"\n\t],\n\t\"./purchase-order/purchase-order.module\": [\n\t\t\"./src/app/admin/purchase-order/purchase-order.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-canned-module~catalog-library-cata~ca4e3f33\",\n\t\t\"default~VerifyImage-verify-image-module~amazon-canned-amazon-canned-module~catalog-library-catalog-l~78e98243\",\n\t\t\"default~amazon-canned-amazon-canned-module~catalog-library-catalog-library-module~manage-user-user-m~a834d0a5\",\n\t\t\"default~ca-product-ca-product-module~catalog-library-catalog-library-module~manage-user-user-module~~152a9616\",\n\t\t\"default~product-tool-product-tool-module~purchase-order-purchase-order-module\",\n\t\t\"common\",\n\t\t\"purchase-order-purchase-order-module\"\n\t],\n\t\"./receiving-tool/receiving-tool.module\": [\n\t\t\"./src/app/admin/receiving-tool/receiving-tool.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~amazon-canned-amazon-canned-module~catalog-library-catalog-l~78e98243\",\n\t\t\"default~VerifyImage-verify-image-module~manage-user-user-module~product-tool-product-tool-module~rec~2397a432\",\n\t\t\"default~VerifyImage-verify-image-module~product-tool-product-tool-module~receiving-tool-receiving-tool-module\",\n\t\t\"default~product-tool-product-tool-module~receiving-tool-receiving-tool-module\",\n\t\t\"common\",\n\t\t\"receiving-tool-receiving-tool-module\"\n\t],\n\t\"./reports/reports.module\": [\n\t\t\"./src/app/admin/reports/reports.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"default~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-canned-module~catalog-library-cata~ca4e3f33\",\n\t\t\"default~VerifyImage-verify-image-module~amazon-canned-amazon-canned-module~catalog-library-catalog-l~78e98243\",\n\t\t\"common\",\n\t\t\"reports-reports-module\"\n\t],\n\t\"./setting/setting.module\": [\n\t\t\"./src/app/admin/setting/setting.module.ts\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~a7dd9139\",\n\t\t\"default~VerifyImage-verify-image-module~WMS-Warehouse-warehousedetail-module~amazon-canned-amazon-ca~98c405a1\",\n\t\t\"setting-setting-module\"\n\t],\n\t\"./task/task.module\": [\n\t\t\"./src/app/admin/task/task.module.ts\",\n\t\t\"default~ca-product-ca-product-module~catalog-library-catalog-library-module~manage-user-user-module~~152a9616\",\n\t\t\"common\",\n\t\t\"task-task-module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'afterCommaSpace'\n})\nexport class AfterCommaSpacePipe implements PipeTransform {\n\n transform(value: string): string {\n if (!value) return value; // Handle null or undefined\n return value.replace(/,/g, ', '); // Add space after every comma\n }\n\n}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CustomFilter } from \"./custom-filter\";\r\nimport { RemoveBlankspacePipe } from './remove-blankspace.pipe';\r\nimport { SafePipe } from './safe.pipe';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [CustomFilter, RemoveBlankspacePipe, SafePipe ],\r\n exports: [CustomFilter, RemoveBlankspacePipe, SafePipe]\r\n})\r\n\r\nexport class CustomFilterModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'customFilter'\r\n})\r\n\r\nexport class CustomFilter implements PipeTransform {\r\n transform(value: any, args: string[]): any {\r\n let filter = args;\r\n if (filter && Array.isArray(value)) {\r\n let filterKeys = Object.keys(filter);\r\n return value.filter(item =>\r\n filterKeys.reduce((memo, keyName) =>\r\n memo && item[keyName] === filter[keyName], true));\r\n } else {\r\n return value;\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'removeBlankspace'\n})\nexport class RemoveBlankspacePipe implements PipeTransform {\n\n transform(value: any): any {\r\n if (value === undefined)\r\n return 'undefined';\r\n return value.replace(/\\s/g, \"\");\r\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\n@Pipe({\n name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n\n constructor(protected sanitizer: DomSanitizer) { }\n\n transform(htmlString: string): any {\n return this.sanitizer.bypassSecurityTrustHtml(htmlString);\n }\n\n}\n","export class userModel {\r\n userId: number;\r\n userName: string;\r\n firstName: string;\r\n lastName: string;\r\n roleName: string;\r\n isLoggedIn: boolean;\r\n roleId: string;\r\n isSupervisor: boolean;\r\n listuserPage: Array;\r\n isAdmin: boolean;\r\n}\r\nexport class userPages {\r\n pageName: string;\r\n}\r\n","export default \"input.errorBorderRed:focus {\\r\\n border: 1px solid red !important;\\r\\n box-shadow: 0px 0px 5px red !important;\\r\\n}\\r\\n.list-container {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n margin-top: 20px; /* Space between input and lists */\\r\\n}\\r\\n.list-group {\\r\\n width: 45%; /* Adjust as needed */\\r\\n padding: 10px;\\r\\n border: 1px solid #ccc; /* Border for visibility */\\r\\n border-radius: 5px; /* Rounded corners */\\r\\n background-color: #f9f9f9; /* Light background */\\r\\n}\\r\\n.list-group h5 {\\r\\n margin-bottom: 10px; /* Space between heading and items */\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vYWRkLXVwZGF0ZS1wcm9kdWN0L2FkZC11cGRhdGUtcHJvZHVjdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0NBQWdDO0VBQ2hDLHNDQUFzQztBQUN4QztBQUNBO0VBQ0UsYUFBYTtFQUNiLDhCQUE4QjtFQUM5QixnQkFBZ0IsRUFBRSxrQ0FBa0M7QUFDdEQ7QUFFQTtFQUNFLFVBQVUsRUFBRSxxQkFBcUI7RUFDakMsYUFBYTtFQUNiLHNCQUFzQixFQUFFLDBCQUEwQjtFQUNsRCxrQkFBa0IsRUFBRSxvQkFBb0I7RUFDeEMseUJBQXlCLEVBQUUscUJBQXFCO0FBQ2xEO0FBRUU7SUFDRSxtQkFBbUIsRUFBRSxvQ0FBb0M7RUFDM0QiLCJmaWxlIjoic3JjL2FwcC9hZG1pbi9hZGQtdXBkYXRlLXByb2R1Y3QvYWRkLXVwZGF0ZS1wcm9kdWN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJpbnB1dC5lcnJvckJvcmRlclJlZDpmb2N1cyB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmVkICFpbXBvcnRhbnQ7XHJcbiAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggcmVkICFpbXBvcnRhbnQ7XHJcbn1cclxuLmxpc3QtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBtYXJnaW4tdG9wOiAyMHB4OyAvKiBTcGFjZSBiZXR3ZWVuIGlucHV0IGFuZCBsaXN0cyAqL1xyXG59XHJcblxyXG4ubGlzdC1ncm91cCB7XHJcbiAgd2lkdGg6IDQ1JTsgLyogQWRqdXN0IGFzIG5lZWRlZCAqL1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgLyogQm9yZGVyIGZvciB2aXNpYmlsaXR5ICovXHJcbiAgYm9yZGVyLXJhZGl1czogNXB4OyAvKiBSb3VuZGVkIGNvcm5lcnMgKi9cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyAvKiBMaWdodCBiYWNrZ3JvdW5kICovXHJcbn1cclxuXHJcbiAgLmxpc3QtZ3JvdXAgaDUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgLyogU3BhY2UgYmV0d2VlbiBoZWFkaW5nIGFuZCBpdGVtcyAqL1xyXG4gIH1cclxuIl19 */\"","import { HttpClientModule } from '@angular/common/http';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ModalDirective } from 'ngx-bootstrap';\r\nimport { MessageService } from 'primeng/api'; // Use the correct import for MessageService\r\nimport { HttpClientService } from '../../services/http.client.service';\r\n\r\n@Component({\r\n selector: 'app-add-update-product',\r\n templateUrl: './add-update-product.component.html',\r\n styleUrls: ['./add-update-product.component.css'],\r\n providers: [MessageService],\r\n})\r\nexport class AddUpdateProductComponent implements OnInit {\r\n @ViewChild('ConfirmModal', { static: false }) ConfirmModal: ModalDirective;\r\n isFetched: boolean = false;\r\n list1: any[] = [];\r\n list2: any[] = [];\r\n showErrorMessageDiv: boolean = false; // Initialize this property\r\n tosterMessage: string = '';\r\n toast: boolean = false;\r\n errorMessages = { message: '', details: '' };\r\n skuValue: any = '';\r\n constructor(private httpservice: HttpClientService, private messageService: MessageService) { }\r\n\r\n ngOnInit() {\r\n this.validateCAServiceList();\r\n setTimeout(() => {\r\n this.openConfirmationModel();\r\n }, 1000);\r\n }\r\n\r\n openConfirmationModel() {\r\n this.ConfirmModal.show();\r\n this.validateCAServiceList();\r\n }\r\n\r\n closeConfirmModal() {\r\n this.isFetched = false;\r\n this.ConfirmModal.hide();\r\n }\r\n\r\n fetch(data: string) {\r\n debugger;\r\n this.isFetched = true;\r\n if ([null, undefined, ''].includes(data)) {\r\n this.messageService.add({ severity: 'error', summary: 'Please Enter Sku.', detail: '' });\r\n } else {\r\n this.httpservice.get(`api/Product/ValidateProductCA_ServicebyPassingSKU/` + data).subscribe(\r\n (res: any) => {\r\n console.log(JSON.stringify(res) + 'fdd');\r\n //this.showTosterMessage(res.message || 'Product created and updated successfully!', '', 'success');\r\n // this.messageService.add({ severity: 'success', summary: res.message, detail: '' });\r\n if (res.status === 200) {\r\n this.messageService.add({ severity: 'success', summary: res.message, detail: '' });\r\n this.skuValue = '';\r\n this.isFetched = false;\r\n } else if (res.status === 404) {\r\n //console.log(\"No products or product variants found to validate.\");\r\n this.messageService.add({ severity: 'error', summary: res.message, detail: '' });\r\n }\r\n else if (res.status === 400) {\r\n //console.log(\"No products or product variants found to validate.\");\r\n this.messageService.add({ severity: 'error', summary: res.message, detail: '' });\r\n }\r\n },\r\n (error) => {\r\n //this.showTosterMessage(error.message || 'An error occurred!', '', 'error');\r\n this.messageService.add({ severity: 'error', summary: error.message, detail: '' });\r\n }\r\n );\r\n }\r\n }\r\n\r\n validateCAServiceList() {\r\n this.httpservice.get(`api/Product/validateCAServiceList`).subscribe(\r\n (response: any) => {\r\n if (response && response.products && Array.isArray(response.products) && response.productVariants && Array.isArray(response.productVariants)) {\r\n this.list1 = response.products;\r\n this.list2 = response.productVariants;\r\n } else {\r\n console.warn(\"Products or Product Variants are not Updated in last 24 hours\");\r\n this.list1 = [];\r\n this.list2 = [];\r\n }\r\n },\r\n (error) => {\r\n console.error(\"Error fetching data\", error);\r\n this.list1 = [];\r\n this.list2 = [];\r\n }\r\n );\r\n }\r\n\r\n showTosterMessage(message: string, detail: string = '', severity: string = 'error') {\r\n this.messageService.add({ severity, summary: message, detail });\r\n setTimeout(() => {\r\n this.messageService.clear(); \r\n }, 5000);\r\n }\r\n}\r\n","export default \".dropdownNotification {\\r\\n right: 0px !important;\\r\\n left: unset !important;\\r\\n min-width: 30rem !important;\\r\\n max-width: 50rem !important;\\r\\n box-shadow: 0px 4px 20px 2px #252424a3;\\r\\n}\\r\\n\\r\\n.Badge_position {\\r\\n position: relative;\\r\\n top: -10px;\\r\\n left: -1px;\\r\\n}\\r\\n\\r\\n.bulletClass {\\r\\n list-style-type: disc;\\r\\n}\\r\\n\\r\\n#move-childtbl {\\r\\n overflow: auto;\\r\\n height: 64vh;\\r\\n border-top: 0px;\\r\\n margin-bottom: 0px;\\r\\n table-layout: fixed;\\r\\n width: 100%;\\r\\n border-collapse: separate;\\r\\n border-spacing: 0;\\r\\n}\\r\\n\\r\\n/*.userImage-nav {\\r\\n border-radius: 50%;\\r\\n width: 30px;\\r\\n height:30px;\\r\\n}*/\\r\\n\\r\\n.userImage-nav{\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n.user-short-profile-img-wrap {\\r\\n width: 32px;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.drop-Position {\\r\\n position: absolute;\\r\\n left: -130px;\\r\\n}\\r\\n\\r\\n/*submenu css*/\\r\\n\\r\\n/*.submenuPos {\\r\\n position: absolute;\\r\\n z-index: 999;\\r\\n left: -132px;\\r\\n top: 38px;\\r\\n width: 200px;\\r\\n border: 1px solid #999999;\\r\\n}*/\\r\\n\\r\\n.submenuPos {\\r\\n position: absolute;\\r\\n z-index: 999;\\r\\n left: -340px;\\r\\n top: 32px;\\r\\n border: 1px solid #999999;\\r\\n}\\r\\n\\r\\n.whiteSection {\\r\\n border-left: 1px solid #989898 !important;\\r\\n}\\r\\n\\r\\n#subMenuNavCollapse > .card-body {\\r\\n background: #f3f3f3;\\r\\n border-radius: 0px;\\r\\n height: 160px;\\r\\n box-shadow: 1px 1px 4px #999999;\\r\\n}\\r\\n\\r\\n.submenuPos-level2 {\\r\\n position: absolute;\\r\\n z-index: 999;\\r\\n left: -311px;\\r\\n top: 36px;\\r\\n }\\r\\n\\r\\n.submenuPos-level2 > .dropdown-menu {\\r\\n border-radius: 0px;\\r\\n box-shadow: -1px 2px 4px #cfcfcf;\\r\\n height: 162px;\\r\\n }\\r\\n\\r\\n.sublinkDropdown {\\r\\n list-style: none;\\r\\n padding: 0px;\\r\\n /*white-space:nowrap;*/\\r\\n}\\r\\n\\r\\n.submenuOuter {\\r\\n width: 370px;\\r\\n display: flex;\\r\\n background: #dedede69;\\r\\n box-shadow: 0 0 5px grey;\\r\\n}\\r\\n\\r\\n.submenuLabel {\\r\\n font-size: 17px;\\r\\n border-bottom: 1px solid #c1c1c1;\\r\\n padding-bottom: 5px;\\r\\n width: 100%;\\r\\n color: hsl(0deg 0.89% 56.08%);\\r\\n margin-bottom: 14px;\\r\\n}\\r\\n\\r\\n.catalogLabel, .catalogLabel a {\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n color: hsl(0deg 0.89% 56.08%);\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vYWRtaW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsMkJBQTJCO0VBQzNCLDJCQUEyQjtFQUMzQixzQ0FBc0M7QUFDeEM7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLFVBQVU7QUFDWjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxZQUFZO0VBQ1osZUFBZTtFQUNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLHlCQUF5QjtFQUN6QixpQkFBaUI7QUFDbkI7O0FBRUE7Ozs7RUFJRTs7QUFDRjtFQUNFLGtCQUFrQjtBQUNwQjs7QUFDQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsWUFBWTtBQUNkOztBQUlFLGNBQWM7O0FBQ2hCOzs7Ozs7O0VBT0U7O0FBQ0Y7RUFDRSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFlBQVk7RUFDWixTQUFTO0VBQ1QseUJBQXlCO0FBQzNCOztBQUNBO0VBQ0UseUNBQXlDO0FBQzNDOztBQUNBO0VBQ0UsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsK0JBQStCO0FBQ2pDOztBQUVFO0lBQ0Usa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixZQUFZO0lBQ1osU0FBUztFQUNYOztBQUVBO0lBQ0Usa0JBQWtCO0lBQ2xCLGdDQUFnQztJQUNoQyxhQUFhO0VBQ2Y7O0FBQ0Y7RUFDRSxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLHNCQUFzQjtBQUN4Qjs7QUFDQTtFQUNFLFlBQVk7RUFDWixhQUFhO0VBQ2IscUJBQXFCO0VBQ3JCLHdCQUF3QjtBQUMxQjs7QUFDQTtFQUNFLGVBQWU7RUFDZixnQ0FBZ0M7RUFDaEMsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCw2QkFBNkI7RUFDN0IsbUJBQW1CO0FBQ3JCOztBQUNBO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQiw2QkFBNkI7RUFDN0Isa0JBQWtCO0FBQ3BCIiwiZmlsZSI6InNyYy9hcHAvYWRtaW4vYWRtaW4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5kcm9wZG93bk5vdGlmaWNhdGlvbiB7XHJcbiAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG4gIGxlZnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgbWluLXdpZHRoOiAzMHJlbSAhaW1wb3J0YW50O1xyXG4gIG1heC13aWR0aDogNTByZW0gIWltcG9ydGFudDtcclxuICBib3gtc2hhZG93OiAwcHggNHB4IDIwcHggMnB4ICMyNTI0MjRhMztcclxufVxyXG5cclxuLkJhZGdlX3Bvc2l0aW9uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAtMTBweDtcclxuICBsZWZ0OiAtMXB4O1xyXG59XHJcblxyXG4uYnVsbGV0Q2xhc3Mge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxufVxyXG5cclxuI21vdmUtY2hpbGR0Ymwge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIGhlaWdodDogNjR2aDtcclxuICBib3JkZXItdG9wOiAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuICBib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxuLyoudXNlckltYWdlLW5hdiB7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDozMHB4O1xyXG59Ki9cclxuLnVzZXJJbWFnZS1uYXZ7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcbi51c2VyLXNob3J0LXByb2ZpbGUtaW1nLXdyYXAge1xyXG4gICAgd2lkdGg6IDMycHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5kcm9wLVBvc2l0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogLTEzMHB4O1xyXG59XHJcblxyXG5cclxuXHJcbiAgLypzdWJtZW51IGNzcyovXHJcbi8qLnN1Ym1lbnVQb3Mge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiA5OTk7XHJcbiAgbGVmdDogLTEzMnB4O1xyXG4gIHRvcDogMzhweDtcclxuICB3aWR0aDogMjAwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcclxufSovXHJcbi5zdWJtZW51UG9zIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogOTk5O1xyXG4gIGxlZnQ6IC0zNDBweDtcclxuICB0b3A6IDMycHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcclxufVxyXG4ud2hpdGVTZWN0aW9uIHtcclxuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5ODk4OTggIWltcG9ydGFudDtcclxufVxyXG4jc3ViTWVudU5hdkNvbGxhcHNlID4gLmNhcmQtYm9keSB7XHJcbiAgYmFja2dyb3VuZDogI2YzZjNmMztcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgaGVpZ2h0OiAxNjBweDtcclxuICBib3gtc2hhZG93OiAxcHggMXB4IDRweCAjOTk5OTk5O1xyXG59XHJcblxyXG4gIC5zdWJtZW51UG9zLWxldmVsMiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbiAgICBsZWZ0OiAtMzExcHg7XHJcbiAgICB0b3A6IDM2cHg7XHJcbiAgfVxyXG5cclxuICAuc3VibWVudVBvcy1sZXZlbDIgPiAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICBib3gtc2hhZG93OiAtMXB4IDJweCA0cHggI2NmY2ZjZjtcclxuICAgIGhlaWdodDogMTYycHg7XHJcbiAgfVxyXG4uc3VibGlua0Ryb3Bkb3duIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICAvKndoaXRlLXNwYWNlOm5vd3JhcDsqL1xyXG59XHJcbi5zdWJtZW51T3V0ZXIge1xyXG4gIHdpZHRoOiAzNzBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGJhY2tncm91bmQ6ICNkZWRlZGU2OTtcclxuICBib3gtc2hhZG93OiAwIDAgNXB4IGdyZXk7XHJcbn1cclxuLnN1Ym1lbnVMYWJlbCB7XHJcbiAgZm9udC1zaXplOiAxN3B4O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzFjMWMxO1xyXG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY29sb3I6IGhzbCgwZGVnIDAuODklIDU2LjA4JSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxufVxyXG4uY2F0YWxvZ0xhYmVsLCAuY2F0YWxvZ0xhYmVsIGEge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiBoc2woMGRlZyAwLjg5JSA1Ni4wOCUpO1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuIl19 */\"","import { Component, OnInit, ViewChild, Output, EventEmitter, HostListener, ElementRef } from '@angular/core';\r\nimport { TaskSetting } from './task/taskSetting';\r\nimport { AuthService } from '../services/auth.service';\r\nimport { userModel } from '../Model/userDetails';\r\nimport { HttpClientService } from '../services/http.client.service';\r\nimport { BackEndUrlService } from '../services/backend.url.service';\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES, IdleExpiry, LocalStorageExpiry } from '@ng-idle/core';\r\nimport { Keepalive } from '@ng-idle/keepalive';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { ModalDirective } from 'ngx-bootstrap/modal';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { BehaviorSubject, Subscribable, from } from 'rxjs';\r\nimport { getUniqueID } from '@syncfusion/ej2-base';\r\nimport { Tooltip, TooltipEventArgs } from '@syncfusion/ej2-popups';\r\nimport { Console } from 'console';\r\nimport { BehaviourSubjectServiceService } from '../services/behaviour-subject-service.service';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.css'],\r\n providers: [HttpClientService, BackEndUrlService, LocalStorageExpiry, { provide: IdleExpiry, useExisting: LocalStorageExpiry }, Idle]\r\n})\r\n\r\nexport class AdminComponent implements OnInit {\r\n @Output() searchValue = new EventEmitter();\r\n filterValue = '';\r\n previousUrl: string = null;\r\n currentUrl: string = null;\r\n userDataSubscription: any;\r\n userData = new userModel();\r\n login: any;\r\n FirstName: string;\r\n LastName: string;\r\n imgURL: any;\r\n imgShow: boolean = false;\r\n userObject: any;\r\n userid: any;\r\n response: any;\r\n ErrorMessage: string = \"\";\r\n IsShowError: boolean = false;\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n title = 'angular-idle-timeout';\r\n ProductAuctionTitlePendingCount: number = 0;\r\n ProgressBar: number = 0;\r\n ServiceStartTime: string = ''\r\n SeviceChangesDone: string = '';\r\n getPendingNotification: any = [];\r\n menuList: any = [];\r\n\r\n public modalRef: BsModalRef;\r\n public isTimeOut: Boolean = false;\r\n @ViewChild('childModal', { static: false }) childModal: ModalDirective;\r\n @ViewChild('Notification', { static: false }) Notification: ModalDirective;\r\n NumberOfNotification: number = 0;\r\n impactedProducts: any;\r\n settingMenuList: any = [];\r\n subscription: any;\r\n mySubscription;\r\n\r\n constructor(private elementRef: ElementRef, private taskSetting: TaskSetting, private authService: AuthService, private httpService: HttpClientService, private idle: Idle, private keepalive: Keepalive, private router: Router, private activatedRoute: ActivatedRoute, private elem: ElementRef, private dataService: BehaviourSubjectServiceService, private modalService: BsModalService) {\r\n const a = getUniqueID();\r\n this.idle.setIdleName(a.toString());\r\n this.authService.setUserDetails();\r\n this.userDataSubscription = this.authService.userData.asObservable().subscribe(data => {\r\n this.userData = data;\r\n });\r\n this.userDataSubscription = this.authService.menuList.asObservable().subscribe(data => {\r\n this.menuList = data.filter(x => x.parentHeaderName != 'Catalog Library' && x.parentHeaderName != 'User Management');\r\n this.settingMenuList = data.filter(x => x.parentHeaderName == 'Catalog Library' || x.parentHeaderName == 'User Management');\r\n if (this.menuList.length > 0) {\r\n this.menuList = this.menuList.filter(x => x.isShowInMenu);\r\n }\r\n if (this.settingMenuList.length > 0) {\r\n this.settingMenuList = this.settingMenuList.filter(x => x.isShowInMenu);\r\n }\r\n });\r\n\r\n //idle.setIdle(30); // Idle time before considering user inactive\r\n\r\n // Set the timeout period to 1 minute (60 seconds) after the idle period\r\n // idle.setTimeout(30);\r\n idle.setIdle(1800); \r\n idle.setTimeout(30);\r\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n idle.onIdleEnd.subscribe(() => {\r\n this.idleState = 'No longer idle.'\r\n this.reset();\r\n });\r\n\r\n idle.onTimeout.subscribe(() => {\r\n this.idleState = 'Timed out!';\r\n this.timedOut = true;\r\n const url = this.router.routerState.snapshot.url;\r\n if (localStorage.getItem('authToken')) {\r\n const decodeUserDetails = JSON.parse(window.atob(localStorage.getItem('authToken').split('.')[1]));\r\n localStorage.setItem('lastUrl', url);\r\n localStorage.setItem('userName', decodeUserDetails.sub);\r\n localStorage.setItem('userId', decodeUserDetails.userID);\r\n }\r\n localStorage.setItem('logout-event', Date.now().toString());\r\n this.authService.setUserDetails();\r\n // sessionStorage.setItem('lastUrl',window.location.pathname);\r\n // console.log('aa1 ',localStorage.getItem('authToken'));\r\n this.router.navigate(['/login']);\r\n this.childModal.hide();\r\n });\r\n\r\n idle.onIdleStart.subscribe(() => {\r\n console.log('getInterrupts ', this.idle.getInterrupts())\r\n\r\n console.log('this.modalService.getModalsCount() ', this.modalService.getModalsCount())\r\n debugger;\r\n for (let i = this.modalService.getModalsCount(); i > 0; i--) {\r\n try { this.modalService.hide(i) }\r\n catch (err) {\r\n console.log('error ', err);\r\n }\r\n }\r\n console.log('getInterrupts 2nd ', this.idle.getInterrupts())\r\n this.childModal.show();\r\n });\r\n\r\n idle.onTimeoutWarning.subscribe((countdown) => {\r\n this.idleState = 'You will time out in ' + countdown + ' seconds!'\r\n\r\n console.log('getInterrupts 3rd ', this.idle.getInterrupts())\r\n\r\n if (countdown == 1)\r\n sessionStorage.setItem('timeOut', JSON.stringify(true))\r\n });\r\n\r\n // sets the ping interval to 15 seconds\r\n // keepalive.interval(15);\r\n keepalive.interval(15)\r\n keepalive.onPing.subscribe(() => this.lastPing = new Date());\r\n this.reset();\r\n\r\n\r\n }\r\n private handleStorageEvent(event: StorageEvent) {\r\n if (event.key === 'logout-event') {\r\n // this.authService.logout(); // Trigger logout\r\n this.authService.logoutUserName();\r\n for (let i = this.modalService.getModalsCount(); i > 0; i--) {\r\n try { this.modalService.hide(i) }\r\n catch (err) {\r\n console.log('error ', err);\r\n }\r\n }\r\n sessionStorage.setItem('timeOut', JSON.stringify(true))\r\n this.router.navigate(['/login']); // Redirect to the login page\r\n } else if (event.key === 'authToken') {\r\n if (event.newValue) {\r\n this.authService.setUserDetails();\r\n this.handleInitialNavigation();\r\n }\r\n }\r\n }\r\n private handleInitialNavigation() {\r\n\r\n\r\n //const authToken = localStorage.getItem('authToken');\r\n\r\n //const url = window.location.pathname;\r\n\r\n //if (authToken) {\r\n // this.authService.setUserDetails();\r\n // //const lastUrl = JSON.parse(sessionStorage.getItem(`lastUrl`));\r\n // const lastUrl = sessionStorage.getItem(`lastUrl`);\r\n // if (lastUrl && lastUrl !== '/login') {\r\n // this.router.navigate([lastUrl]);\r\n // sessionStorage.removeItem('lastUrl');\r\n // }\r\n // else if(url && url !== '/login'){\r\n // this.router.navigate([url])\r\n // }\r\n // //if (url && url !== '/login') {\r\n // // this.router.navigate([url]);\r\n // //} else if (lastUrl && lastUrl !== '/login') {\r\n // // this.router.navigate([lastUrl]);\r\n // //}\r\n // else {\r\n // this.router.navigate(['/admin/dashboard']);\r\n // }\r\n //}\r\n const authToken = localStorage.getItem('authToken');\r\n\r\n const url = window.location.pathname;\r\n const previousUrl = sessionStorage.getItem('previousUrl');\r\n //debugger;\r\n if (authToken) {\r\n this.authService.setUserDetails();\r\n\r\n const url = window.location.pathname;\r\n const lastUrl = sessionStorage.getItem('lastUrl');\r\n // debugger;\r\n // Handle the case where the user pastes a URL in a new tab\r\n if (url && url !== '/login') {\r\n sessionStorage.setItem('lastUrl', url);\r\n this.router.navigate([url]); // Navigate to the pasted URL\r\n }\r\n // If there's a lastUrl stored and it's not /login, navigate to it\r\n else if (lastUrl && lastUrl !== '/login') {\r\n this.router.navigate([lastUrl]);\r\n sessionStorage.removeItem('lastUrl');\r\n }\r\n else if (previousUrl && previousUrl !== '/login' && lastUrl == '/login') {\r\n this.router.navigate([previousUrl]);\r\n sessionStorage.removeItem('previousUrl');\r\n }\r\n // Otherwise, navigate to the dashboard by default\r\n else {\r\n this.router.navigate(['/admin/dashboard']);\r\n }\r\n } else {\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n\r\n //else {\r\n // this.router.navigate(['/login']);\r\n //}\r\n }\r\n\r\n ngOnInit() {\r\n // this.authService.usereImage.subscribe(res=>{\r\n // if(res!='')\r\n // this.imgURL=res;\r\n\r\n // // if(['',null,undefined].indexOf\r\n // // (res)!=-1)\r\n // // this.imgShow=false;\r\n // // else{\r\n // // this.imgShow=true\r\n // // }\r\n // },error=>{\r\n // alert(JSON.stringify(error))\r\n // })\r\n window.addEventListener('storage', this.handleStorageEvent.bind(this));\r\n this.ProductAuctionTitlePendingCount = 0;\r\n this.NumberOfNotification = 0;\r\n this.ProgressBar = 0\r\n this.ServiceStartTime = ''\r\n this.userObject = { ProfilePicture: '' }\r\n this.FetchUserDetails();\r\n // this.handleInitialNavigation();\r\n this.subscription = this.dataService.data$.subscribe(\r\n newData => {\r\n this.imgURL = newData;\r\n }\r\n );\r\n // this.GetPendingNotifications();\r\n\r\n }\r\n @HostListener('body:click', ['$event'])\r\n DocumentClick(event: Event) {\r\n let sublinkDropdown = document.getElementsByClassName('sublinkDropdown')[0];\r\n if (this.elem.nativeElement.contains(event.target)) {\r\n sublinkDropdown.classList.add('hide');\r\n sublinkDropdown.classList.remove('show');\r\n\r\n }\r\n }\r\n\r\n openCogMenu() {\r\n\r\n let sublinkDropdown = document.getElementsByClassName('sublinkDropdown')[0];\r\n if (sublinkDropdown.classList.contains('show')) {\r\n sublinkDropdown.classList.remove('show');\r\n }\r\n else {\r\n setTimeout(() => {\r\n sublinkDropdown.classList.add('show');\r\n }, 10)\r\n }\r\n }\r\n\r\n filter() {\r\n this.searchValue.emit(this.filterValue);\r\n }\r\n ngOnDestroy() {\r\n window.removeEventListener('storage', this.handleStorageEvent.bind(this));\r\n }\r\n\r\n FetchUserDetails() {\r\n var observable = this.httpService.get('api/User/GetUserById' + \"/\" + this.userData.userId);\r\n observable.subscribe(\r\n (res: any) => {\r\n if (res.status > 0) {\r\n console.log(res);\r\n\r\n if (res.status == 200) {\r\n // Log values to verify before storing them\r\n console.log(\"IsCameraAutoClick: \", res.userDisplayVM.isCameraAutoClick ? '1' : '0');\r\n console.log(\"AutoClickSeconds: \", res.userDisplayVM.autoClickSeconds);\r\n\r\n // Save values in localStorage\r\n localStorage.setItem('IsCameraAutoClick', res.userDisplayVM.isCameraAutoClick ? '1' : '0');\r\n localStorage.setItem('AutoClickSeconds', String(res.userDisplayVM.autoClickSeconds));\r\n }\r\n this.userObject = res.userDisplayVM;\r\n if (this.userObject != undefined && this.userObject != null) {\r\n if (this.userObject.profilePicture != null) {\r\n this.imgShow = true;\r\n this.imgURL = this.userObject.profilePicture;\r\n if (this.imgURL == undefined || this.imgURL == null || this.imgURL == '') {\r\n this.imgURL = \"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSLFz2gM_6ry4WsPSuB43GzBdY1stxVyGLRDkTuPiANxLjwR6RS\";\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n currentTheme = 'dark-theme';\r\n triggeredEvents = [];\r\n\r\n reset() {\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n }\r\n\r\n hideChildModal(): void {\r\n this.childModal.hide();\r\n }\r\n\r\n stay() {\r\n this.reset();\r\n this.childModal.hide();\r\n }\r\n\r\n logout() {\r\n this.userid = this.userData.userId;\r\n console.log(\"your data is\", this.userData.userId);\r\n var obj = { UserID: this.userid };\r\n this.httpService.get('isLoggedInStatus/' + this.userid)\r\n .subscribe(data => {\r\n this.response = data;\r\n if (this.response.status == 409 || this.response.status == 500) {\r\n this.IsShowError = true;\r\n }\r\n else {\r\n this.IsShowError = true;\r\n }\r\n this.childModal.hide();\r\n this.authService.logout();\r\n localStorage.setItem('lastUrl', '');\r\n localStorage.removeItem('authToken');\r\n this.router.navigate(['/login']);\r\n }, error => this.ErrorMessage = error);\r\n /*-------------------------------------------------------------------------*/\r\n }\r\n\r\n getPendingNotificationStatus() {\r\n this.GetPendingNotifications().then((result: any) => {\r\n this.Notification.show()\r\n });\r\n }\r\n\r\n GetPendingNotifications() {\r\n this.getPendingNotification = [];\r\n return new (Promise as any)((resolve) => {\r\n this.httpService.get('api/Product/GetPendingNotifications').subscribe((data: any) => {\r\n if (data == 0) {\r\n this.GetPendingNotifications();\r\n } else {\r\n this.getPendingNotification = data;\r\n if (this.getPendingNotification != null) {\r\n this.NumberOfNotification = this.getPendingNotification.length;\r\n for (var item of this.getPendingNotification) {\r\n item['SeviceChangesDone'] = '';\r\n if (item['lookUpListIDs'] != '' && item['lookUpListIDs'] != null && item['lookUpListIDs'] != undefined) {\r\n if (item['SeviceChangesDone'] == '') {\r\n item['SeviceChangesDone'] += item['lookUpListIDs'];\r\n }\r\n else {\r\n item['SeviceChangesDone'] += ', ' + item['lookUpListIDs'];\r\n }\r\n }\r\n if (item['auctionTitleRuleIDs'] != '' && item['auctionTitleRuleIDs'] != null && item['auctionTitleRuleIDs'] != undefined) {\r\n if (item['SeviceChangesDone'] == '') {\r\n item['SeviceChangesDone'] += item['auctionTitleRuleIDs'];\r\n }\r\n else {\r\n item['SeviceChangesDone'] += ', ' + item['auctionTitleRuleIDs'];\r\n }\r\n }\r\n if (item['businessRuleIDs'] != '' && item['businessRuleIDs'] != null && item['businessRuleIDs'] != undefined) {\r\n if (item['SeviceChangesDone'] == '') {\r\n item['SeviceChangesDone'] += item['businessRuleIDs'];\r\n }\r\n else {\r\n item['SeviceChangesDone'] += ', ' + item['businessRuleIDs'];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n resolve(true);\r\n })\r\n });\r\n }\r\n navigatetotesting() {\r\n this.router.navigateByUrl('admin/productcatesting')\r\n }\r\n navigatetoAddUpdateProduct() {\r\n debugger\r\n this.router.navigateByUrl('admin/add-update-product')\r\n }\r\n //private handleInitialNavigation() {\r\n // debugger;\r\n\r\n // const authToken = localStorage.getItem('authToken');\r\n\r\n // const url = window.location.pathname;\r\n\r\n //if (authToken) {\r\n // debugger\r\n // this.authService.setUserDetails();\r\n // //const lastUrl = JSON.parse(sessionStorage.getItem(`lastUrl`));\r\n // const lastUrl = sessionStorage.getItem(`lastUrl`);\r\n // if (lastUrl && lastUrl !== '/login') {\r\n // // this.router.navigateByUrl(String(lastUrl).replace('/admin',''));\r\n // this.router.navigate([lastUrl]);\r\n // } \r\n // else if(url && url !== '/login'){\r\n // this.router.navigate([lastUrl]);\r\n // }\r\n // else {\r\n // // this.router.navigate(['/admin/dashboard']);\r\n // this.router.navigate(['admin/dashboard']);\r\n // }\r\n // } \r\n\r\n // else {\r\n // this.router.navigate(['/login']);\r\n //}\r\n //}\r\n\r\n //private handleStorageEvent(event: StorageEvent) {\r\n //if (event.key === 'authToken') {\r\n // if (event.newValue) {\r\n // this.authService.setUserDetails();\r\n // this.handleInitialNavigation();\r\n // } else {\r\n // sessionStorage.setItem(`previousUrl`, sessionStorage.getItem(`lastUrl`) || '');\r\n\r\n // sessionStorage.setItem(`lastUrl`, this.router.url);\r\n\r\n // this.authService.logout();\r\n // //setTimeout(() => {\r\n // // this.router.navigate(['/login']);\r\n // //}, 100);\r\n // this.router.navigate(['/login']); \r\n // }\r\n // }\r\n //}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from \"@angular/forms\";\r\nimport { RouterModule } from '@angular/router';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { AdminComponent } from './admin.component';\r\nimport { AdminRouting } from './admin.routing';\r\nimport { AvatarModule } from 'ngx-avatar'\r\nimport { AutosizeModule } from 'ngx-autosize';\r\nimport { HttpClientService } from '../services/http.client.service';\r\nimport { BackEndUrlService } from '../services/backend.url.service';\r\nimport { TaskSetting } from './task/taskSetting';\r\nimport { ChatComponent } from './chat/window/chat.component';\r\nimport { ContextMenuModule } from '@syncfusion/ej2-angular-navigations';\r\nimport { ChatService } from './chat/chat.service';\r\nimport { ChatGroupService } from './chat/chatgroup.service';\r\nimport { ScrollToBottomDirective } from './chat/scroll-to-bottom.directive';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport { FocusDirective } from './../directive/FocusDirective.directive';\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\nimport { IdleExpiry, LocalStorageExpiry } from '@ng-idle/core';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { UrlService } from '../services/url.service';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { TooltipModule } from '@syncfusion/ej2-angular-popups';\r\nimport { TooltipModule as PrimeTooltip } from 'primeng/tooltip';\r\nimport { CustomFilterModule } from '../Common/custom-filter.module';\r\nimport { InputDirective } from '../directive/input.directive';\r\nimport { ProductCATestingComponent } from './product-catesting/product-catesting.component';\r\nimport { ToastModule } from 'primeng/toast';\nimport { AddUpdateProductComponent } from './add-update-product/add-update-product.component';\r\n\r\n\r\n@NgModule({\r\n imports: [CommonModule, ReactiveFormsModule, FormsModule, AdminRouting, RouterModule, MessageModule, MessagesModule, TooltipModule, PrimeTooltip,\r\n AvatarModule, ContextMenuModule, AutosizeModule, ProgressSpinnerModule, DropdownModule, NgIdleKeepaliveModule.forRoot(), ModalModule.forRoot(), CustomFilterModule, ToastModule\r\n ],\r\n declarations: [AdminComponent, ChatComponent, InputDirective, ProductCATestingComponent, AddUpdateProductComponent,/*, DndDirective*/],\r\n exports: [\r\n RouterModule, MessageModule, MessagesModule, AdminComponent\r\n ],\r\n providers: [HttpClientService, BackEndUrlService, TaskSetting, ChatService, UrlService, ChatGroupService, ScrollToBottomDirective, DatePipe, FocusDirective\r\n , {\r\n provide: IdleExpiry,\r\n useClass: LocalStorageExpiry\r\n }\r\n ]\r\n})\r\n\r\nexport class AdminModule { }\r\n","/// \r\nimport { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { NotFoundComponent } from '../pages/not-found.component';\r\nimport { AdminComponent } from '../admin/admin.component';\r\nimport { AuthGuard } from '../authGuards/AuthGuard';\r\nimport { ProductCATestingComponent } from './product-catesting/product-catesting.component';\r\nimport { AddUpdateProductComponent } from './add-update-product/add-update-product.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n //canActivate: [AuthGuard],\r\n redirectTo: 'dashboard',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'dashboard'\r\n , data: { roles: ['dashboard'] }\r\n , canActivate: [AuthGuard]\r\n ,component: AdminComponent,\r\n children: [\r\n {\r\n path: ''\r\n , loadChildren: './dashboard/dashboard.module#DashboardModule'\r\n }\r\n ]\r\n },\r\n {\r\n path: 'user' \r\n , data: { roles: ['user'] }\r\n , canActivate: [AuthGuard]\r\n ,component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './manage-user/user.module#UserModule' }\r\n ]\r\n },\r\n {\r\n path: 'purchase-order',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './purchase-order/purchase-order.module#PurchaseOrderModule' }\r\n ]\r\n },\r\n {\r\n path: 'catalog-library',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './catalog-library/catalog-library.module#CatalogLibraryModule' }\r\n ]\r\n },\r\n {\r\n path: 'catalog-tool',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './product-tool/product-tool.module#ProductToolModule' }\r\n ]\r\n },\r\n {\r\n path: 'inventory',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './product-tool/product-tool.module#ProductToolModule' }\r\n ]\r\n },\r\n {\r\n path: 'amazon-canned',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './amazon-canned/amazon-canned.module#AmazonCannedModule' }\r\n ]\r\n },\r\n {\r\n path: 'ca-product',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './ca-product/ca-product.module#CaProductModule' }\r\n ]\r\n },\r\n {\r\n path: 'process-image-master',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './process-image-master/process-image-master.module#ProcessImageMasterModule' }\r\n ]\r\n },\r\n {\r\n path: 'fulfill',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './orders/orders.module#OrdersModule' }\r\n ]\r\n },\r\n //{\r\n // path: 'verify-image',\r\n // component: AdminComponent,\r\n // children: [\r\n // { path: '', loadChildren: './verify-image/verify-image.module#VerifyImageModule' }\r\n // ]\r\n //},\r\n {\r\n path: 'verify-image',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './VerifyImage/verify-image.module#VerifyImageModule' }\r\n ]\r\n },\r\n {\r\n path: 'reports',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './reports/reports.module#ReportsModule' }\r\n ]\r\n },\r\n {\r\n path: 'receiving-tool',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './receiving-tool/receiving-tool.module#ReceivingToolModule' }\r\n ]\r\n },\r\n {\r\n path: 'open-order',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './open-order/open-order.module#OpenOrderModule'}\r\n ]\r\n },\r\n {\r\n path: 'settings',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './setting/setting.module#SettingModule' }\r\n ]\r\n },\r\n {\r\n path: 'task',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './task/task.module#TaskModule' }\r\n ]\r\n },\r\n {\r\n path: 'chat',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './chat/chat.module#ChatModule' }\r\n ]\r\n },\r\n\r\n\r\n\r\n {\r\n path: 'WMS',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', loadChildren: './WMS/Warehouse/warehousedetail.module#WarehousedetailModule' }\r\n ]\r\n },\r\n {\r\n path: 'productcatesting',\r\n component:AdminComponent ,\r\n children: [\r\n { path: '', component:ProductCATestingComponent }\r\n ]\r\n \r\n },\r\n {\r\n path: 'add-update-product',\r\n component: AdminComponent,\r\n children: [\r\n { path: '', component: AddUpdateProductComponent }\r\n ]\r\n\r\n }\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AdminRouting { }\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport * as signalR from '@aspnet/signalr';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\nimport { setInterval } from 'timers';\r\nimport { HttpClientService } from '../../services/http.client.service';\r\nimport { BackEndUrlService } from '../../services/backend.url.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { userModel } from '../../Model/userDetails';\r\n@Injectable()\r\nexport class ChatService {\r\n connectionEstablished = new EventEmitter();\r\n\r\n public connectionIsEstablished = false;\r\n private hubConnection: signalR.HubConnection; \r\n messages: string[] = [];\r\n userDetail: loggedUser;\r\n public chatUsers: any[];\r\n public messageUnreadCount: any[];\r\n public activeWindows: any[];\r\n public messageAll: any[];\r\n public lastMessageAll: any[];\r\n login: any;\r\n\r\n public userData = new userModel();\r\n userDataSubscription: any;\r\n\r\n chatMessageInputParameter:ChatMessageInputParameter;\r\n constructor(\r\n private backEndUrlService: BackEndUrlService,\r\n private cookieService: CookieService,\r\n private authService: AuthService\r\n ) {\r\n this.login = JSON.parse(localStorage.getItem(\"UserInfo\"));\r\n this.authService.setUserDetails();\r\n this.userDataSubscription = this.authService.userData.asObservable().subscribe(data => {\r\n this.userData = data;\r\n //console.log(\"this.userData \", this.userData)\r\n });\r\n //console.log(this.login);\r\n this.createConnection();\r\n this.registerOnServerEvents();\r\n this.startConnection();\r\n \r\n //setInterval ( this.test(),50000);\r\n //console.log(\"this.backEndUrlService.backendUrl :\",this.backEndUrlService.backendUrl);\r\n }\r\n private createConnection() {\r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .withUrl(this.backEndUrlService.backendUrl+\"ChatHub\")\r\n .build();\r\n //this.hubConnection = new signalR.HubConnectionBuilder()\r\n // .configureLogging(signalR.LogLevel.Debug)\r\n // .withUrl(\"http://test.utilities.tagsweekly.com/ChatHub\")\r\n // .build();\r\n }\r\n public UserConnection() {\r\n //console.log('invoke chat start...', this.userData.userId);\r\n this.hubConnection.invoke('Connect', this.userData.userId);\r\n //console.log('invoke...');\r\n }\r\n private startConnection(): void {\r\n \r\n this.hubConnection\r\n .start()\r\n .then(() => {\r\n \r\n this.UserConnection();\r\n this.connectionIsEstablished = true;\r\n //console.log('connected...');\r\n this.connectionEstablished.emit(true);\r\n })\r\n .catch(err => {\r\n //console.log(err);\r\n //console.log('Error while establishing chat connection, retrying...');\r\n setTimeout(function () { this.startConnection(); }, 1000);\r\n });\r\n this.hubConnection.onclose(() => {\r\n //console.log('chat Connecttion Close');\r\n setTimeout(function () {\r\n this.startConnection();\r\n }, 3000);\r\n }); \r\n }\r\n public getChatMessageUnreadCount() {\r\n this.hubConnection.invoke('getChatMessageUnreadCount');\r\n }\r\n \r\n public SetActiveWindow(receiverUser:any[]) {\r\n this.hubConnection.invoke('SetActiveWindow', this.userData.userId, receiverUser[0].userID);\r\n }\r\n public ClearActiveWindow() {\r\n this.hubConnection.invoke('ClearActiveWindow', this.userData.userId);\r\n }\r\n public getLastChatMessage() {\r\n this.hubConnection.invoke('getLastChatMessage');\r\n }\r\n public getChatMessage(receiverUser: any[]) {\r\n this.hubConnection.invoke('getChatMessage', this.userData.userId, receiverUser[0].userID);\r\n }\r\n public setChatMessageRead(receiverUser: any[]) {\r\n //console.log('setChatMessageRead');\r\n this.hubConnection.invoke('setChatMessageRead', receiverUser[0].userID, this.userData.userId);\r\n //console.log('setChatMessageRead end');\r\n }\r\n public ChatMessageUpdate(ChatMessageId: number, Message: string) {\r\n //console.log('ChatMessageUpdate');\r\n this.hubConnection.invoke('ChatMessageUpdate', ChatMessageId, Message);\r\n //console.log('ChatMessageUpdate end');\r\n }\r\n public ChatMessageDelete(ChatMessageId: number) {\r\n //console.log('ChatMessageDelete ', ChatMessageId);\r\n this.hubConnection.invoke('ChatMessageDelete', ChatMessageId);\r\n //console.log('ChatMessageDelete end');\r\n }\r\n public ChatMessageCreate(message: string, SaveFileName:string, receiverUser: any[]) {\r\n //console.log('start');\r\n this.hubConnection.invoke('ChatMessageCreate', message,SaveFileName, this.userData.userId, receiverUser[0].userID);\r\n //console.log('end'); \r\n\r\n \r\n //console.log('chat service');\r\n }\r\n setFortyping(receiverId: number, message: string) {\r\n if (message.trim() != \"\") {\r\n //console.log(\"groupmessage \", this.groupmessage);\r\n //console.log(this.activeWindows);\r\n //console.log(this.chatGroupService.activeGroupWindows.filter(x => ((x.chatGroupId == this.selectedGroup.chatGroupId) && (x.senderId == this.userData.userId))));\r\n let item = this.activeWindows.filter(x => ((x.receiverId == receiverId) && (x.senderId == this.userData.userId)));\r\n //console.log(item);\r\n if (item.length > 0) {\r\n if (!item[0].typingFlag) {\r\n\r\n item[0].typingFlag = true;\r\n let itemIndex = this.activeWindows.indexOf(x => ((x.receiverId == receiverId) && (x.senderId == this.userData.userId)));\r\n if (itemIndex != -1) {\r\n this.activeWindows[itemIndex] = item[0];\r\n }\r\n this.hubConnection.invoke('SetActiveWindowForTyping', this.userData.userId, receiverId, true);\r\n //console.log(\"true \",item[0]);\r\n\r\n // //console.log(\"itemIndex 1\", itemIndex);\r\n }\r\n }\r\n }\r\n else {\r\n if (this.activeWindows.length > 0) {\r\n let item = this.activeWindows.filter(x => ((x.receiverId == receiverId) && (x.senderId == this.userData.userId)));\r\n //console.log(item);\r\n if (item.length > 0) {\r\n //console.log(item[0]);\r\n if (item[0].typingFlag) {\r\n //console.log(\"false \",item[0]);\r\n item[0].typingFlag = false;\r\n let itemIndex = this.activeWindows.indexOf(x => ((x.receiverId == receiverId) && (x.senderId == this.userData.userId)));\r\n\r\n if (itemIndex != -1) {\r\n this.activeWindows[itemIndex] = item[0];\r\n }\r\n this.hubConnection.invoke('SetActiveWindowForTyping', this.userData.userId, receiverId, false);\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n //console.log(this.activeGroupWindows);\r\n\r\n }\r\n\r\n private registerOnServerEvents(): void {\r\n this.hubConnection.on('LoggedUser', (data: string) => {\r\n //console.log(\"LoggedUser \", data);\r\n this.chatUsers = data;\r\n this.getChatMessageUnreadCount();\r\n this.getLastChatMessage();\r\n \r\n });\r\n this.hubConnection.on('ActiveWindows', (data: any) => {\r\n this.activeWindows = data;\r\n\r\n //console.log(\"ActiveWindows\",data);\r\n });\r\n this.hubConnection.on('setChatMessageReadEnd', (data: any) => {\r\n //console.log(\"setChatMessageReadstart\");\r\n this.messageUnreadCount = data;\r\n //console.log(\"setChatMessageReadEnd\", data);\r\n });\r\n this.hubConnection.on('ChatMessageUnreadCount', (data: any) => {\r\n this.messageUnreadCount = data;\r\n //console.log(\"ChatMessageUnreadCount\",data);\r\n });\r\n this.hubConnection.on('MessageAll', (data: any) => {\r\n //this.getChatMessageUnreadCount();\r\n \r\n this.messageAll = data;\r\n for (let n = 0; n < this.messageAll.length; ++n) {\r\n this.messageAll[n].updateMessage = '';// this.messageAll[n].message;\r\n }\r\n //console.log(\"messageAll\", this.messageAll);\r\n this.getChatMessageUnreadCount();\r\n this.getLastChatMessage();\r\n });\r\n this.hubConnection.on('LastMessageAll', (data: any) => {\r\n //this.getChatMessageUnreadCount();\r\n this.lastMessageAll = data;\r\n //console.log(\"lastmessageAll\", data);\r\n });\r\n }\r\n}\r\nexport class loggedUser {\r\n connectionId: string;\r\n userID: number;\r\n //userName: string;\r\n //isLogged: Boolean;\r\n // nReadMessage :number\r\n}\r\nexport class ChatMessageInputParameter {\r\n Message: string;\r\n SenderId: number;\r\n ReceiverId: number;\r\n}\r\nexport class ChatMessage {\r\n public chatMessageId: number;\r\n public message: string;\r\n public updateMessage: string='';\r\n public saveFileName: string;\r\n public senderId: number;\r\n public receiverId: number\r\n public isSeen: boolean;\r\n public isDelete: boolean;\r\n public createdDate: string;\r\n public createdDateOnly: string;\r\n public createdTimeOnly: string;\r\n public updatedDate: string;\r\n public senderName: string;\r\n public receiverName: string;\r\n public roomName: string;\r\n public seenDate: string;\r\n constructor() {}\r\n }\r\n\r\n\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport * as signalR from '@aspnet/signalr';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { setInterval } from 'timers';\r\nimport { HttpClientService } from '../../services/http.client.service';\r\nimport { BackEndUrlService } from '../../services/backend.url.service';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { userModel } from '../../Model/userDetails';\r\n@Injectable()\r\nexport class ChatGroupService {\r\n connectionEstablished = new EventEmitter();\r\n\r\n public connectionIsEstablished = false;\r\n private hubConnection: signalR.HubConnection;\r\n messages: string[] = [];\r\n //userDetail: loggedUser;\r\n public chatUsers: any[];\r\n public chatGroupDetails: any[];\r\n public chatGroupMessages: any[];\r\n public groupMessageUnreadCount: any[];\r\n public activeGroupWindows: any[];\r\n public messageAll: any[];\r\n public lastChatGroupMessage: any[] = [];\r\n login: any;\r\n public userData = new userModel();\r\n userDataSubscription: any;\r\n\r\n //chatMessageInputParameter:ChatMessageInputParameter;\r\n constructor(\r\n private backEndUrlService: BackEndUrlService,\r\n private cookieService: CookieService, private authService: AuthService\r\n ) {\r\n //this.login = JSON.parse(localStorage.getItem(\"UserInfo\"));\r\n this.authService.setUserDetails();\r\n this.userDataSubscription = this.authService.userData.asObservable().subscribe(data => {\r\n this.userData = data;\r\n //console.log(\"this.userData \", this.userData)\r\n });\r\n //console.log(this.login);\r\n this.createConnection();\r\n this.registerOnServerEvents();\r\n this.startConnection();\r\n \r\n //setInterval ( this.test(),50000); \r\n }\r\n private createConnection() {\r\n \r\n this.hubConnection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .withUrl(this.backEndUrlService.backendUrl+\"ChatGroupHub\")\r\n .build();\r\n //this.hubConnection = new signalR.HubConnectionBuilder()\r\n // .configureLogging(signalR.LogLevel.Debug)\r\n // .withUrl(\"http://test.utilities.tagsweekly.com/ChatGroupHub\")\r\n // .build();\r\n }\r\n private startConnection(): void {\r\n this.connectionIsEstablished = false;\r\n this.hubConnection\r\n .start()\r\n .then(() => {\r\n this.connectionIsEstablished = true;\r\n //console.log('connected...');\r\n this.connectionEstablished.emit(true);\r\n this.UserConnection();\r\n \r\n })\r\n .catch(err => {\r\n //console.log(err);\r\n //console.log('Error while establishing chat group connection, retrying...');\r\n setTimeout(function () { this.startConnection(); }, 1000);\r\n });\r\n this.hubConnection.onclose(() => {\r\n //console.log('chat Group Connection Close');\r\n setTimeout(function () {\r\n this.startConnection();\r\n\r\n }, 1000);\r\n });\r\n }\r\n public UserConnection() {\r\n //console.log('invoke group start...', this.userData.userId);\r\n this.hubConnection.invoke('Connect', this.userData.userId);\r\n //console.log('invoke...');\r\n }\r\n public getLastGroupChatMessage() {\r\n\r\n this.hubConnection.invoke('getLastChatGroupMessages');\r\n }\r\n public SetActiveGroupWindow(ChatGroupId:number) {\r\n this.hubConnection.invoke('SetActiveGroupWindow', this.userData.userId, ChatGroupId);\r\n }\r\n public ClearActiveGroupWindow() {\r\n this.hubConnection.invoke('ClearActiveGroupWindow', this.userData.userId);\r\n }\r\n public GetChatGroupDetails(): void {\r\n this.hubConnection.invoke('GetChatGroupDetails');\r\n }\r\n public GetChatGroupMessageByChatGroupId(ChatGroupId: number): void {\r\n //console.log(\"start GetChatGroupMessageByChatGroupId \", ChatGroupId);\r\n this.hubConnection.invoke('GetChatGroupMessageByChatGroupId', ChatGroupId);\r\n }\r\n public ChatGroupAddUser(ChatGroupId: number, UserId: number): void {\r\n //console.log(\"ChatGroupId\", ChatGroupId);\r\n //console.log(\"UserId\", UserId);\r\n this.hubConnection.invoke('ChatGroupAddUser', ChatGroupId, UserId);\r\n }\r\n public ChatGroupMessageCreate(ChatGroupId: number, Message: string, SaveFileName: string): void {\r\n this.hubConnection.invoke('ChatGroupMessageCreate', ChatGroupId, Message, SaveFileName, this.userData.userId);\r\n }\r\n public ChatGroupMessageUpdate(ChatGroupMessageId: number, Message: string) {\r\n //console.log('ChatGroupMessageUpdate');\r\n this.hubConnection.invoke('ChatGroupMessageUpdate', ChatGroupMessageId, Message);\r\n //console.log('ChatGroupMessageUpdate end');\r\n }\r\n public ChatGroupMessageDelete(ChatGroupMessageId: number) {\r\n //console.log('ChatMessageDelete ', ChatGroupMessageId);\r\n this.hubConnection.invoke('ChatGroupMessageDelete', ChatGroupMessageId);\r\n //console.log('ChatMessageDelete end');\r\n }\r\n public SetChatGroupMessageAWSeen(chatGroupId: number) {\r\n //console.log('AW start ', this.groupMessageUnreadCount);\r\n //console.log(chatGroupId);\r\n //console.log('ChatMessageDelete ', this.groupMessageUnreadCount.filter(x => ((x.chatGroupId == chatGroupId) && (x.userId == this.userData.userId))).length);\r\n var AW = this.activeGroupWindows.filter(x => ((x.chatGroupId == chatGroupId) && (x.senderId != this.userData.userId)));\r\n //console.log('AW ', AW);\r\n if (AW.length != 0) {\r\n for (let n = 0; n < AW.length; ++n) {\r\n this.hubConnection.invoke('SetChatGroupMessageSeen', AW[n].chatGroupId, AW[n].senderId);\r\n }\r\n }\r\n //console.log('ChatMessageDelete end');\r\n }\r\n public SetChatGroupMessageSeen(chatGroupId: number) {\r\n //console.log('ChatMessageDelete ', this.groupMessageUnreadCount);\r\n //console.log(chatGroupId);\r\n //console.log('ChatMessageDelete ', this.groupMessageUnreadCount.filter(x => ((x.chatGroupId == chatGroupId) && (x.userId == this.userData.userId))).length);\r\n if (!(typeof this.groupMessageUnreadCount === \"undefined\")) {\r\n if (this.groupMessageUnreadCount.filter(x => ((x.chatGroupId == chatGroupId) && (x.userId == this.userData.userId))).length != 0) {\r\n this.hubConnection.invoke('SetChatGroupMessageSeen', chatGroupId, this.userData.userId);\r\n }\r\n }\r\n //console.log('ChatMessageDelete end');\r\n }\r\n public GetChatGroupMessageUnreadCount() {\r\n this.hubConnection.invoke('GetChatGroupMessageUnreadCount');\r\n }\r\n setFortyping(chatGroupId: number, groupmessage:string) {\r\n if (groupmessage.trim() != \"\") {\r\n //console.log(\"groupmessage \", this.groupmessage);\r\n //console.log(this.chatGroupService.activeGroupWindows);\r\n //console.log(this.chatGroupService.activeGroupWindows.filter(x => ((x.chatGroupId == this.selectedGroup.chatGroupId) && (x.senderId == this.userData.userId))));\r\n let item = this.activeGroupWindows.filter(x => ((x.chatGroupId == chatGroupId) && (x.senderId == this.userData.userId)));\r\n //console.log(item);\r\n if (item.length > 0) {\r\n if (!item[0].typingFlag) {\r\n \r\n item[0].typingFlag = true;\r\n let itemIndex = this.activeGroupWindows.indexOf(x => ((x.chatGroupId == chatGroupId) && (x.senderId == this.userData.userId)));\r\n if (itemIndex != -1) {\r\n this.activeGroupWindows[itemIndex] = item[0];\r\n }\r\n this.hubConnection.invoke('SetActiveGroupWindowForTyping', this.userData.userId, chatGroupId,true);\r\n //console.log(item[0]);\r\n\r\n // //console.log(\"itemIndex 1\", itemIndex);\r\n }\r\n }\r\n }\r\n else {\r\n \r\n if (!(typeof this.activeGroupWindows === \"undefined\")) {\r\n let item = this.activeGroupWindows.filter(x => ((x.chatGroupId == chatGroupId) && (x.senderId == this.userData.userId)));\r\n //console.log(item);\r\n if (item.length > 0) {\r\n //console.log(item[0]);\r\n if (item[0].typingFlag) {\r\n\r\n item[0].typingFlag = false;\r\n let itemIndex = this.activeGroupWindows.indexOf(x => ((x.chatGroupId == chatGroupId) && (x.senderId == this.userData.userId)));\r\n\r\n if (itemIndex != -1) {\r\n this.activeGroupWindows[itemIndex] = item[0];\r\n }\r\n this.hubConnection.invoke('SetActiveGroupWindowForTyping', this.userData.userId, chatGroupId, false);\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n //console.log(this.activeGroupWindows);\r\n\r\n }\r\n private registerOnServerEvents(): void {\r\n this.hubConnection.on('LoggedUser', (data: any) => {\r\n //console.log(\"Group LoggedUser \", data);\r\n this.chatUsers = data;\r\n this.GetChatGroupDetails();\r\n this.GetChatGroupMessageUnreadCount();\r\n this.getLastGroupChatMessage();\r\n //console.log(\"Group LoggedUser\",this.chatUsers);\r\n });\r\n this.hubConnection.on('ChatGroupDetails', (data: any) => {\r\n this.chatGroupDetails = data;\r\n \r\n //console.log(\"ChatGroupDetails\", data);\r\n });\r\n this.hubConnection.on('ChatGroupMessages', (data: any) => {\r\n this.chatGroupMessages = data;\r\n for (let n = 0; n < this.chatGroupMessages.length; ++n) {\r\n this.chatGroupMessages[n].updateMessage = '';// this.messageAll[n].message;\r\n }\r\n this.GetChatGroupMessageUnreadCount();\r\n this.getLastGroupChatMessage();\r\n //console.log(\"ChatGroupMessages\", data);\r\n });\r\n this.hubConnection.on('ChatGroupMessageUnreadCount', (data: any) => {\r\n this.groupMessageUnreadCount = data;\r\n\r\n //console.log(\"ChatGroupMessageUnreadCount\", data);\r\n });\r\n this.hubConnection.on('ActiveGroupWindows', (data: any) => {\r\n this.activeGroupWindows = data;\r\n\r\n //console.log(\"ActiveGroupWindows\", data);\r\n });\r\n\r\n this.hubConnection.on('LastGroupMessageAll', (data: any) => {\r\n //this.getChatMessageUnreadCount();\r\n this.lastChatGroupMessage = data;\r\n //console.log(\"LastGroupMessageAll\", data);\r\n });\r\n }\r\n }\r\nexport class ChatGroupMessage {\r\n public chatGroupMessageId: number;\r\n public chatGroupId: number;\r\n public message: string;\r\n public updateMessage: string;\r\n public saveFileName: string;\r\n public senderId: number;\r\n public isDelete: boolean;\r\n public createdDate: string;\r\n public createdDateOnly: string;\r\n public createdTimeOnly: string;\r\n public updatedDate: string;\r\n public senderName: string;\r\n \r\n constructor() { }\r\n}\r\n\r\n\r\n\r\n","import { Directive, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[scroll-to-bottom]'\r\n})\r\nexport class ScrollToBottomDirective {\r\n constructor(private _el: ElementRef) { }\r\n\r\n // public ngAfterViewInit() {\r\n // const el: HTMLDivElement = this._el.nativeElement;\r\n // // Does not work as scrollHeight === offsetHeight\r\n // el.scrollTop = Math.max(0, el.scrollHeight - el.offsetHeight);\r\n // // This work but we see scroll moving\r\n // setTimeout(() => el.scrollTop = Math.max(0, el.scrollHeight - el.offsetHeight));\r\n // }\r\n\r\n // public ngOnInit() {\r\n // const el: HTMLDivElement = this._el.nativeElement;\r\n // // Does not work as scrollHeight === offsetHeight\r\n // el.scrollTop = Math.max(0, el.scrollHeight - el.offsetHeight);\r\n // // This work but we see scroll moving\r\n // setTimeout(() => el.scrollTop = Math.max(0, el.scrollHeight - el.offsetHeight));\r\n // }\r\n\r\n public scrollToBottom() {\r\n const el: HTMLDivElement = this._el.nativeElement;\r\n el.scrollTop = Math.max(0, el.scrollHeight - el.offsetHeight);\r\n }\r\n}\r\n","export default \".chat-mainwindow {\\r\\n z-index: 99999\\r\\n}\\r\\n.chat-mainwindow div {\\r\\n z-index: inherit\\r\\n}\\r\\n.chat-sidebar { display: block; position: fixed; bottom: 0px; top: 50%; right: 0px; height: 50%; background-color: rgb(237, 239, 244); width: 300px; border: 1px solid rgba(29, 49, 91, .3);}\\r\\n.chat-sidebar .chat-sidebar-head { background-color: #6d84b4; padding: 5px; color: white; font-weight: bold; font-size: 14px; clear: both; height: 10%; vertical-align: middle; }\\r\\n.chat-sidebar .chat-sidebar-head .chat-sidebar-head-left { float: left; }\\r\\n.chat-sidebar .chat-sidebar-head .chat-sidebar-head-right { float: right; margin: 5px; }\\r\\n.chat-sidebar .chat-sidebar-head .chat-sidebar-head-right a { text-decoration: none; color: inherit; margin-left: 10px; }\\r\\n.chat-sidebar .sidebar-Content { height: 90%; overflow-y: scroll; }\\r\\n.chat-sidebar .sidebar-Content-Search { height: 10%; }\\r\\n.chat-sidebar .sidebar-Content-WithSearch { height: 80%; overflow-y: scroll;}\\r\\n.chat-sidebar-action { display: block; position: fixed; bottom: 55%; top: 50%; right: 300px; height: 5%; background-color: #6d84b4; padding: 5px; width: 50px; border: 1px solid rgba(29, 49, 91, .3); vertical-align: middle;}\\r\\n.sidebar-name { padding-left: 10px; padding-right: 10px; margin-bottom: 4px; font-size: 12px;}\\r\\n.sidebar-name span { padding-left: 5px; }\\r\\n.sidebar-name a { display: block; height: 100%; text-decoration: none; color: inherit; }\\r\\n.sidebar-name:hover { background-color: #e1e2e5; }\\r\\n.sidebar-name img { width: 32px; height: 32px; vertical-align: middle; }\\r\\n.chat-sidebar .chat-sidebar-footer { background-color: #6d84b4; padding: 5px; color: black; font-weight: bold; font-size: 14px; clear: both; bottom: 0px; height: 10%;}\\r\\n.chat-sidebar .chat-sidebar-footer .chat-sidebar-footer-left { float: left; }\\r\\n.chat-sidebar-box .popup-footer .chat-sidebar-footer-right { float: right;}\\r\\nbody { background-color: #e9eaed;}\\r\\n.chat-conversation { display: block; position: fixed; bottom: 0px; top: 50%; right: 0px; height: 50%; background-color: rgb(237, 239, 244); width: 300px; border: 1px solid rgba(29, 49, 91, .3);}\\r\\n.chat-conversation-action { display: block; position: fixed; bottom: 55%; top: 50%; right: 300px; height: 20%; background-color: lightgrey; padding: 5px; width: 50px; border: 1px solid rgba(29, 49, 91, .3); vertical-align: middle; }\\r\\n.chat-conversation-action-child { border-bottom: 1px solid rgba(29, 49, 91, .3); vertical-align:middle; padding :3% 2% 2% 2%; text-align:center;}\\r\\n.chat-conversation .chat-conversation-head { background-color: #6d84b4; padding: 5px; color: white; font-weight: bold; font-size: 14px; clear: both; height: 10%; vertical-align: middle; }\\r\\n.chat-conversation .chat-conversation-head .chat-conversation-head-left { float: left; }\\r\\n.chat-conversation .chat-conversation-head .chat-conversation-head-right { float: right; margin: 5px; }\\r\\n.chat-conversation .chat-conversation-head .chat-conversation-head-right a { text-decoration: none; color: inherit; margin-left: 10px; }\\r\\n.chat-conversation .conversation-Content { height: 80%; overflow-y: scroll; }\\r\\n.conversation-name { padding-left: 10px; padding-right: 10px; margin-bottom: 4px; font-size: 12px;}\\r\\n.conversation-name span { padding-left: 5px; }\\r\\n.conversation-name a { display: block; height: 100%; text-decoration: none; color: inherit; }\\r\\n.conversation-name:hover { background-color: #e1e2e5; }\\r\\n.conversation-name img { width: 32px; height: 32px; vertical-align: middle; }\\r\\n.chat-conversation .chat-conversation-footer { background-color: #6d84b4; padding: 5px; color: black; font-weight: bold; font-size: 14px; clear: both; bottom: 0px; height: 10%;}\\r\\n.chat-conversation .chat-conversation-footer .chat-conversation-footer-left { float: left; }\\r\\n.chat-conversation-box .chat-conversation-footer .chat-conversation-footer-right { float: right;}\\r\\n.popup-box { display: block; position: fixed; bottom: 0px; top:50%; right: 0px; height: 50%; background-color: rgb(237, 239, 244); width: 300px; border: 1px solid rgba(29, 49, 91, .3);}\\r\\n.popup-box .popup-head { background-color: #6d84b4; padding: 5px; color: white; font-weight: bold; font-size: 14px; clear: both; height: 10%; vertical-align:middle; }\\r\\n.popup-box .popup-head .popup-head-left { float: left; width:55%; border:solid 0px red; }\\r\\n.popup-box .popup-head .popup-head-right { float: right; margin: 0px; width: 42%; border: solid 0px green; }\\r\\n.popup-box .popup-head .popup-head-right a { text-decoration: none; color: inherit; margin-left: 10px; }\\r\\n.popup-messages-userReceiverlist { display: block; position: fixed; bottom: 5%; top: 55%; right: 300px; height:40% ; background-color: rgb(237, 239, 244); width: 50px; border: 1px solid rgba(29, 49, 91, .3); vertical-align:middle; overflow-y:scroll; }\\r\\n.popup-messages-userReceiverlist .popup-messages-user {\\r\\n position:relative;\\r\\n display:inline-block;\\r\\n border: solid 0px red;\\r\\n height: 40px;\\r\\n vertical-align: middle;\\r\\n padding: 3% 2% 2% 2%;\\r\\n }\\r\\n.scrollbar::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); background-color: #F5F5F5;}\\r\\n.scrollbar::-webkit-scrollbar { width: 10px; background-color: #F5F5F5;}\\r\\n.scrollbar::-webkit-scrollbar-thumb { background-color: #6d84b4; border: 1px solid #555555;}\\r\\n#style-7::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); background-color: #F5F5F5; border-radius: 0px;}\\r\\n#style-7::-webkit-scrollbar { width: 10px; background-color: #F5F5F5;}\\r\\n#style-7::-webkit-scrollbar-thumb { border-radius: 00px; background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.44, rgb(122,153,217)), color-stop(0.72, rgb(73,125,189)), color-stop(0.86, rgb(28,58,148)));}\\r\\n.popup-box .popup-messages-searh { height: 10%; }\\r\\n.popup-box .popup-messages { /*height: 80%;*/ overflow-y: scroll; }\\r\\n.popup-box .popup-messages-min { height: 60%; overflow-y: scroll;}\\r\\n.popup-box .popup-messages-max { height: 80%; overflow-y: scroll;}\\r\\n.popup-box .popup-messages-search-min { height: 50%; overflow-y: scroll;}\\r\\n.popup-box .popup-messages-search-max { height: 70%; overflow-y: scroll;}\\r\\n.popup-box .popup-messages .popup-messages-left { float: left; opacity: 0.5; }\\r\\n.popup-box .popup-messages .popup-messages-right { float: right; opacity: 0.5; }\\r\\n.popup-box .popup-footer { background-color: #6d84b4; padding: 5px; color: black; font-weight: bold; font-size: 14px; clear: both; bottom: 0px; /*height: 10%;*/ width:100%; }\\r\\n.popup-box .popup-printscreen { display: block; position: fixed; bottom: 5%; right: 200px; background-color: rgb(237, 239, 244); width: 100px; height:100px; border: 1px solid rgba(29, 49, 91, .3); vertical-align: middle;}\\r\\n.popup-box .popup-printscreen i { z-index: 9999; position: absolute; right: 0px; }\\r\\n.popup-box .popup-printscreen img { width: 100px; height: 100px; }\\r\\n.popup-relateto i { z-index: 9999; position: absolute; right: 0px;}\\r\\n.popup-relateto { display: block; position: absolute; /*bottom: 5%;*/ right: 100px; background-color: rgb(237, 239, 244); width: 200px; height: auto; border: 1px solid rgba(29, 49, 91, .3); vertical-align: middle;}\\r\\n.popup-box .popup-footer-min { height: 30%; }\\r\\n.popup-box .popup-footer-max { height: 10%;}\\r\\n.popup-box .popup-footer .popup-footer-left { float: left; width:90%; }\\r\\n.popup-box .popup-footer .popup-footer-right { float: right; width: 5%; }\\r\\n.incoming_msg { width: 100%;}\\r\\n.incoming_msg_img { display: inline-block; width: 6%;}\\r\\n.received_msg { display: inline-block; padding: 0 0 0 15px; vertical-align: top; width: 92%; }\\r\\n.received_withd_msg p { background: #ebebeb none repeat scroll 0 0; border-radius: 3px; color: white;/*#646464;*/ font-size: 14px; margin: 0; padding: 5px 10px 0px 5px; width: 100%; }\\r\\n.link { color: white; border:solid 0px white; text-underline-position:below; }\\r\\n.sent_msg table { width: 100%; word-break: break-word; }\\r\\n.received_withd_msg .time_date { color: #747474; display: block; font-size: 12px; margin: 4px 0 0; text-align: right;}\\r\\n.received_withd_msg table { width: 100%; word-break: break-word;}\\r\\n.sent_msg .time_date { display: block; font-size: 12px; color: #747474; margin: 4px 2px 0; float: right; right: 0px;}\\r\\n.sent_msg .seen { display: block; font-size: 12px; color: #747474; margin: 4px 2px 0; float: right; right: 0px;}\\r\\n.sent_msg .seen { color: red; display: block; font-size: 12px; margin: 4px 2px 0; float: right; right: 0px; font-weight:bolder;}\\r\\n.received_withd_msg { width: 75%;}\\r\\n.mesgs { float: left; padding: 30px 15px 0 25px; width: 60%;}\\r\\n.sent_msg p { background: #05728f none repeat scroll 0 0; border-radius: 3px; font-size: 14px; margin: 0; color: white; padding: 5px 10px 5px 12px; width: 100%;}\\r\\n.outgoing_msg { overflow: hidden; margin: 5px 0 0px;}\\r\\n.sent_msg { float: right; width: 75%;}\\r\\n.input_msg_write { border: medium none; color: #4c4c4c; font-size: 12px; height:25PX; width: 100%;}\\r\\n.input_msg_write_min { height: 25PX;}\\r\\n.input_msg_write_max { height: 100PX;}\\r\\n.type_msg { border-top: 1px solid #c4c4c4; position: relative;}\\r\\n.msg_send_btn { /*background: #05728f none repeat scroll 0 0;*/ background: transparent none repeat scroll 0 0; border: medium none; border-radius: 50%; color: #fff; cursor: pointer; font-size: 17px; height: 30px; position: absolute; right: 5px; width: 30px;}\\r\\n.msg_file_btn { /*background: #05728f none repeat scroll 0 0;*/ background: transparent none repeat scroll 0 0; border: medium none; border-radius: 50%; color: #fff; cursor: pointer; font-size: 17px; height: 30px; position: absolute; right: 5px; width: 30px;}\\r\\n.send_btn { /*background: #05728f none repeat scroll 0 0;*/ background: transparent none repeat scroll 0 0; border: medium none; border-radius: 50%; color: #fff; cursor: pointer; font-size: 17px; height: 30px; width: 30px;}\\r\\n.recent_heading { float: left; width: 0%;}\\r\\n.srch_bar { display: inline-block; text-align: right; width: 100%; }\\r\\n.headind_srch { padding: 10px 29px 10px 20px; overflow: hidden; border-bottom: 1px solid #c4c4c4;}\\r\\n.recent_heading h4 { color: #05728f; font-size: 21px; margin: auto;}\\r\\n.srch_bar input { border: 1px solid #cdcdcd; border-width: 0 0 1px 0; width: 80%; padding: 2px 0 4px 6px; background: none;}\\r\\n.srch_bar .input-group-addon button { background: rgba(0, 0, 0, 0) none repeat scroll 0 0; border: medium none; padding: 0; color: #707070; font-size: 18px;}\\r\\n.srch_bar .input-group-addon { margin: 0 0 0 -27px;}\\r\\n.dot-logged-rec {\\r\\n height: 10px;\\r\\n width: 10px;\\r\\n background-color: #33A532;\\r\\n border-radius: 50%;\\r\\n position: absolute;\\r\\n bottom: 5px;\\r\\n right: 2px;\\r\\n}\\r\\n.dot-rec {\\r\\n height: 10px;\\r\\n width: 10px;\\r\\n background-color: red;\\r\\n border-radius: 50%;\\r\\n position: absolute;\\r\\n bottom: 5px;\\r\\n right: 2px;\\r\\n}\\r\\n.dot-logged {\\r\\n height: 10px;\\r\\n width: 10px;\\r\\n background-color: #33A532;\\r\\n border-radius: 50%;\\r\\n position: absolute;\\r\\n bottom: 5px;\\r\\n right: 2px;\\r\\n}\\r\\n/*.dot {\\r\\n height: 10px;\\r\\n width: 10px;\\r\\n background-color: red;\\r\\n border-radius: 50%;\\r\\n position: absolute;\\r\\n bottom: 5px;\\r\\n right: 2px;\\r\\n}*/\\r\\n.unread { height: 20px; width: 20px; background-color: darkred; border-radius: 50%; display: inline-block; color:white; text-align:center ; vertical-align:middle;}\\r\\n.userrow { padding-left: 10px; padding-right: 00px; margin-bottom: 1px; font-size: 12px;}\\r\\n.userrow span { padding-left: 5px;}\\r\\n/*.userrow a { display: block; height: 100%; text-decoration: none; color: inherit; }\\r\\n .userrow:hover { background-color: #e1e2e5; }*/\\r\\n.userrow img { width: 32px; height: 32px; vertical-align: middle; }\\r\\n.even { background-color: ghostwhite;}\\r\\n.odd { background-color: #f2f2f2;}\\r\\n.strikethrough { text-decoration: line-through; color:red;}\\r\\n.e-cm-icons { font-family: 'e-context-menu'; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1; text-transform: none;}\\r\\n#contextmenutarget { border: 1px dashed; height: 250px; padding: 10px; position: relative; text-align: center; line-height: 17; font-size: 14px;}\\r\\n/* custom code start*/\\r\\n#contextmenu-control { margin: 5% 25%; width: auto; -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Safari */}\\r\\n#contextUsermenu {\\r\\n margin: 5% 25%;\\r\\n width: auto;\\r\\n -webkit-touch-callout: none; /* iOS Safari */\\r\\n -webkit-user-select: none; /* Safari */\\r\\n}\\r\\n@media only screen and (max-width: 500px) {\\r\\n #contextmenu-control { margin: 5% 10%; width: auto; }\\r\\n #contextUsermenu {\\r\\n margin: 5% 10%;\\r\\n width: auto;\\r\\n }\\r\\n #contextmenutarget { line-height: 19; font-size: 12px; }\\r\\n}\\r\\n/* custom code end*/\\r\\n.e-menu-item .e-cut::before { content: '\\\\e264';}\\r\\n.e-menu-item .e-paste::before { content: '\\\\e959';}\\r\\n.e-menu-item .e-font::before { content: '\\\\e262';}\\r\\n.e-menu-item .e-copy::before { content: '\\\\e263';}\\r\\n.e-menu-item .e-link::before { content: '\\\\e265';}\\r\\n.e-menu-item .e-comment::before { content: '\\\\e267';}\\r\\n.e-menu-item .e-pastetext::before { content: '\\\\e261';}\\r\\n.e-menu-item .e-pastespecial::before { content: '\\\\e260';}\\r\\n.fabric .e-menu-item .e-cut::before { content: '\\\\e251';}\\r\\n.fabric .e-menu-item .e-paste::before { content: '\\\\e940';}\\r\\n.fabric .e-menu-item .e-font::before { content: '\\\\e252';}\\r\\n.fabric .e-menu-item .e-copy::before { content: '\\\\e255';}\\r\\n.fabric .e-menu-item .e-link::before { content: '\\\\e254';}\\r\\n.fabric .e-menu-item .e-comment::before { content: '\\\\e253';}\\r\\n.fabric .e-menu-item .e-pastetext::before { content: '\\\\e258';}\\r\\n.fabric .e-menu-item .e-pastespecial::before { content: '\\\\e256';}\\r\\n.bootstrap .e-menu-item .e-cut::before { content: '\\\\e248';}\\r\\n.bootstrap .e-menu-item .e-paste::before { content: '\\\\e95a';}\\r\\n.bootstrap .e-menu-item .e-font::before { content: '\\\\e247';}\\r\\n.bootstrap .e-menu-item .e-copy::before { content: '\\\\e249';}\\r\\n.bootstrap .e-menu-item .e-link::before { content: '\\\\e245';}\\r\\n.bootstrap .e-menu-item .e-comment::before { content: '\\\\e246';}\\r\\n.bootstrap .e-menu-item .e-pastetext::before { content: '\\\\e257';}\\r\\n.bootstrap .e-menu-item .e-pastespecial::before { content: '\\\\e259';}\\r\\n.e-contextmenu-wrapper ul.e-contextmenu { width: 176px;}\\r\\n.e-bigger .e-contextmenu-wrapper ul.e-contextmenu { width: 186px;}\\r\\n@-webkit-keyframes blink {\\r\\n 0% { opacity: 1; }\\r\\n 50% { opacity: 0; }\\r\\n 100% { opacity: 1; }\\r\\n}\\r\\n/* IE */\\r\\n/* Opera and prob css3 final iteration */\\r\\n@keyframes blink {\\r\\n 0% { opacity: 1; }\\r\\n 50% { opacity: 0; }\\r\\n 100% { opacity: 1; }\\r\\n}\\r\\n.blink-image { /* Firefox */\\r\\n -webkit-animation: blink normal 2s infinite ease-in-out; /* Webkit */ /* IE */\\r\\n animation: blink normal 2s infinite ease-in-out; /* Opera and prob css3 final iteration */\\r\\n}\\r\\n/* Top right text */\\r\\n.top-right {\\r\\n position: absolute;\\r\\n top: -30px;\\r\\n right: 10px;\\r\\n color:red;\\r\\n font-size:2.0em;\\r\\n}\\r\\n.top-notification {\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n padding-left:-5px;\\r\\n color: red;\\r\\n font-size: 1.0em;\\r\\n}\\r\\n.ellipses {\\r\\n white-space: nowrap;\\r\\n width: 12em;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n border: 0px solid #000000;\\r\\n}\\r\\n.loading-indicator {\\r\\n position: fixed;\\r\\n z-index: 999;\\r\\n \\r\\n overflow: show;\\r\\n margin: auto;\\r\\n bottom: 0px;\\r\\n top: 50%;\\r\\n right: 0px;\\r\\n height: 25%;\\r\\n width: 200px;\\r\\n border: solid 0px red;\\r\\n}\\r\\n.loading-indicator:before {\\r\\n content: '';\\r\\n display: block;\\r\\n position: fixed;\\r\\n bottom: 0px;\\r\\n top: 50%;\\r\\n right: 0px;\\r\\n height: 50%;\\r\\n width: 300px;\\r\\n border: solid 1px blue;\\r\\n background-color: rgba(0,0,0,0.53);\\r\\n }\\r\\n.input-icons i {\\r\\n position: absolute;\\r\\n}\\r\\n.input-icons {\\r\\n width: 100%;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.icon {\\r\\n padding: 10px;\\r\\n min-width: 40px;\\r\\n}\\r\\n.icon-remove {\\r\\n padding-top: 10px;\\r\\n left: 190px;\\r\\n min-width: 10px;\\r\\n \\r\\n}\\r\\n.icon-remove2 {\\r\\n padding-top: 10px;\\r\\n left: 260px;\\r\\n min-width: 10px;\\r\\n}\\r\\n.paging-label {\\r\\n padding-top: 10px;\\r\\n right: 45px;\\r\\n font-size: 14px;\\r\\n min-width: 30px;\\r\\n}\\r\\n.icon-up {\\r\\n padding-top: 10px;\\r\\n right: 30px;\\r\\n min-width: 10px;\\r\\n font-size: 18px;\\r\\n color: black;\\r\\n}\\r\\n.icon-down {\\r\\n padding-top: 10px;\\r\\n right: 5px;\\r\\n min-width: 20px;\\r\\n font-size: 18px;\\r\\n color: black;\\r\\n}\\r\\n.icon-group-remove {\\r\\n padding-top: 10px;\\r\\n left: 240px;\\r\\n min-width: 20px;\\r\\n \\r\\n}\\r\\n.input-field {\\r\\n width: 100%;\\r\\n padding: 10px;\\r\\n text-align: left;\\r\\n padding-left:25px;\\r\\n padding-right:25px;\\r\\n}\\r\\n.vertical-menu a {\\r\\n \\r\\n color: black;\\r\\n display: block;\\r\\n padding: 2px;\\r\\n text-decoration: none;\\r\\n}\\r\\n.vertical-menu a:hover {\\r\\n background-color: #ccc;\\r\\n }\\r\\n.vertical-menu a.active {\\r\\n background-color: #4CAF50;\\r\\n color: white;\\r\\n }\\r\\n/* Three image containers (use 25% for four, and 50% for two, etc) */\\r\\n.column {\\r\\n float: right;\\r\\n width: 25px;\\r\\n padding: 5px;\\r\\n white-space: pre-line;\\r\\n}\\r\\n/* Clear floats after image containers */\\r\\n.row::after {\\r\\n content: \\\"\\\";\\r\\n clear: both;\\r\\n display: table;\\r\\n}\\r\\ni{\\r\\n cursor:pointer; \\r\\n}\\r\\n.searchText{\\r\\n background-color:red;\\r\\n color:white;\\r\\n}\\r\\np.active mark{\\r\\n font-weight:bold;\\r\\n}\\r\\nmark {\\r\\n \\r\\n color: black;\\r\\n}\\r\\n@keyframes blink {\\r\\n 50% {\\r\\n color: transparent\\r\\n }\\r\\n}\\r\\n.loader__dot {\\r\\n -webkit-animation: 1s blink infinite;\\r\\n animation: 1s blink infinite;\\r\\n color: black;\\r\\n text-align: right;\\r\\n font-size: 14px;\\r\\n}\\r\\n.loader__dot:nth-child(2) {\\r\\n -webkit-animation-delay: 250ms;\\r\\n animation-delay: 250ms\\r\\n }\\r\\n.loader__dot:nth-child(3) {\\r\\n -webkit-animation-delay: 500ms;\\r\\n animation-delay: 500ms\\r\\n }\\r\\n.avatar:before {\\r\\n content: ' \\\\25CF';\\r\\n font-size: 10px;\\r\\n background-color:green;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vY2hhdC93aW5kb3cvY2hhdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0U7QUFDRjtBQUNBO0VBQ0U7QUFDRjtBQUVBLGlCQUFpQixjQUFjLEdBQUcsZUFBZSxHQUFHLFdBQVcsR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLFdBQVcsR0FBRyxvQ0FBb0MsR0FBRyxZQUFZLEdBQUcsc0NBQXNDLENBQUM7QUFDck0sc0NBQXNDLHlCQUF5QixLQUFLLFlBQVksS0FBSyxZQUFZLEtBQUssaUJBQWlCLEtBQUssZUFBZSxLQUFLLFdBQVcsS0FBSyxXQUFXLElBQUksc0JBQXNCLEdBQUc7QUFDcE0sZ0VBQWdFLFdBQVcsS0FBSztBQUNoRixpRUFBaUUsWUFBWSxPQUFPLFdBQVcsS0FBSztBQUNsRyxxRUFBcUUscUJBQXFCLFNBQVMsY0FBYyxTQUFTLGlCQUFpQixNQUFNO0FBQ3JKLG9DQUFvQyxXQUFXLEtBQUssa0JBQWtCLEdBQUc7QUFDekUsMkNBQTJDLFdBQVcsR0FBRztBQUMzRCw2Q0FBNkMsV0FBVyxHQUFHLGtCQUFrQixDQUFDO0FBQzlFLHdCQUF3QixjQUFjLEdBQUcsZUFBZSxHQUFHLFdBQVcsR0FBRyxRQUFRLEdBQUcsWUFBWSxHQUFHLFVBQVUsR0FBRyx5QkFBeUIsR0FBRyxZQUFZLEdBQUcsV0FBVyxFQUFFLHNDQUFzQyxHQUFHLHNCQUFzQixDQUFDO0FBQ3hPLGlCQUFpQixrQkFBa0IsR0FBRyxtQkFBbUIsR0FBRyxrQkFBa0IsR0FBRyxlQUFlLENBQUM7QUFDakcsd0JBQXdCLGlCQUFpQixHQUFHO0FBQzFDLHFCQUFxQixjQUFjLEtBQUssWUFBWSxLQUFLLHFCQUFxQixLQUFLLGNBQWMsR0FBRztBQUNwRyx5QkFBeUIseUJBQXlCLEdBQUc7QUFDckQsdUJBQXVCLFdBQVcsS0FBSyxZQUFZLEtBQUssc0JBQXNCLEdBQUc7QUFDbkYsc0NBQXNDLHlCQUF5QixHQUFHLFlBQVksR0FBRyxZ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aUI7RUFDakIsa0JBQWtCO0FBQ3BCO0FBQ0E7O0VBRUUsWUFBWTtFQUNaLGNBQWM7RUFDZCxZQUFZO0VBQ1oscUJBQXFCO0FBQ3ZCO0FBRUU7SUFDRSxzQkFBc0I7RUFDeEI7QUFFQTtJQUNFLHlCQUF5QjtJQUN6QixZQUFZO0VBQ2Q7QUFDRixvRUFBb0U7QUFDcEU7RUFDRSxZQUFZO0VBQ1osV0FBVztFQUNYLFlBQVk7RUFDWixxQkFBcUI7QUFDdkI7QUFFQSx3Q0FBd0M7QUFDeEM7RUFDRSxXQUFXO0VBQ1gsV0FBVztFQUNYLGNBQWM7QUFDaEI7QUFDQTtFQUNFLGNBQWM7QUFDaEI7QUFDQTtFQUNFLG9CQUFvQjtFQUNwQixXQUFXO0FBQ2I7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUNBOztFQUVFLFlBQVk7QUFDZDtBQUVBO0VBQ0U7SUFDRTtFQUNGO0FBQ0Y7QUFFQTtFQUNFLG9DQUE0QjtVQUE1Qiw0QkFBNEI7RUFDNUIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixlQUFlO0FBQ2pCO0FBRUU7SUFDRSw4QkFBcUI7WUFBckI7RUFDRjtBQUVBO0lBQ0UsOEJBQXFCO1lBQXJCO0VBQ0Y7QUFFRjtFQUNFLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2Ysc0JBQXNCO0FBQ3hCIiwiZmlsZSI6InNyYy9hcHAvYWRtaW4vY2hhdC93aW5kb3cvY2hhdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNoYXQtbWFpbndpbmRvdyB7XHJcbiAgei1pbmRleDogOTk5OTlcclxufVxyXG4uY2hhdC1tYWlud2luZG93IGRpdiB7XHJcbiAgei1pbmRleDogaW5oZXJpdFxyXG59XHJcblxyXG4uY2hhdC1zaWRlYmFyIHsgIGRpc3BsYXk6IGJsb2NrOyAgcG9zaXRpb246IGZpeGVkOyAgYm90dG9tOiAwcHg7ICB0b3A6IDUwJTsgIHJpZ2h0OiAwcHg7ICBoZWlnaHQ6IDUwJTsgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzcsIDIzOSwgMjQ0KTsgIHdpZHRoOiAzMDBweDsgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjksIDQ5LCA5MSwgLjMpO31cclxuLmNoYXQtc2lkZWJhciAuY2hhdC1zaWRlYmFyLWhlYWQgeyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ4NGI0OyAgICBwYWRkaW5nOiA1cHg7ICAgIGNvbG9yOiB3aGl0ZTsgICAgZm9udC13ZWlnaHQ6IGJvbGQ7ICAgIGZvbnQtc2l6ZTogMTRweDsgICAgY2xlYXI6IGJvdGg7ICAgIGhlaWdodDogMTAlOyAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICB9XHJcbiAgICAuY2hhdC1zaWRlYmFyIC5jaGF0LXNpZGViYXItaGVhZCAuY2hhdC1zaWRlYmFyLWhlYWQtbGVmdCB7ICAgICAgZmxvYXQ6IGxlZnQ7ICAgIH1cclxuICAgIC5jaGF0LXNpZGViYXIgLmNoYXQtc2lkZWJhci1oZWFkIC5jaGF0LXNpZGViYXItaGVhZC1yaWdodCB7ICAgICAgZmxvYXQ6IHJpZ2h0OyAgICAgIG1hcmdpbjogNXB4OyAgICB9XHJcbiAgICAgIC5jaGF0LXNpZGViYXIgLmNoYXQtc2lkZWJhci1oZWFkIC5jaGF0LXNpZGViYXItaGVhZC1yaWdodCBhIHsgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgICAgICAgIGNvbG9yOiBpbmhlcml0OyAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7ICAgICB9XHJcbiAgLmNoYXQtc2lkZWJhciAuc2lkZWJhci1Db250ZW50IHsgICAgaGVpZ2h0OiA5MCU7ICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgIH1cclxuICAuY2hhdC1zaWRlYmFyIC5zaWRlYmFyLUNvbnRlbnQtU2VhcmNoIHsgICAgaGVpZ2h0OiAxMCU7ICB9XHJcbi5jaGF0LXNpZGViYXIgLnNpZGViYXItQ29udGVudC1XaXRoU2VhcmNoIHsgIGhlaWdodDogODAlOyAgb3ZlcmZsb3cteTogc2Nyb2xsO31cclxuLmNoYXQtc2lkZWJhci1hY3Rpb24geyAgZGlzcGxheTogYmxvY2s7ICBwb3NpdGlvbjogZml4ZWQ7ICBib3R0b206IDU1JTsgIHRvcDogNTAlOyAgcmlnaHQ6IDMwMHB4OyAgaGVpZ2h0OiA1JTsgIGJhY2tncm91bmQtY29sb3I6ICM2ZDg0YjQ7ICBwYWRkaW5nOiA1cHg7ICB3aWR0aDogNTBweDsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyOSwgNDksIDkxLCAuMyk7ICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO31cclxuLnNpZGViYXItbmFtZSB7ICBwYWRkaW5nLWxlZnQ6IDEwcHg7ICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyAgbWFyZ2luLWJvdHRvbTogNHB4OyAgZm9udC1zaXplOiAxMnB4O31cclxuLnNpZGViYXItbmFtZSBzcGFuIHsgICAgcGFkZGluZy1sZWZ0OiA1cHg7ICB9XHJcbiAgLnNpZGViYXItbmFtZSBhIHsgICAgZGlzcGxheTogYmxvY2s7ICAgIGhlaWdodDogMTAwJTsgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgICBjb2xvcjogaW5oZXJpdDsgIH1cclxuICAuc2lkZWJhci1uYW1lOmhvdmVyIHsgICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTJlNTsgIH1cclxuICAuc2lkZWJhci1uYW1lIGltZyB7ICAgIHdpZHRoOiAzMnB4OyAgICBoZWlnaHQ6IDMycHg7ICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICB9XHJcbi5jaGF0LXNpZGViYXIgLmNoYXQtc2lkZWJhci1mb290ZXIgeyAgYmFja2dyb3VuZC1jb2xvcjogIzZkODRiNDsgIHBhZGRpbmc6IDVweDsgIGNvbG9yOiBibGFjazsgIGZvbnQtd2VpZ2h0OiBib2xkOyAgZm9udC1zaXplOiAxNHB4OyAgY2xlYXI6IGJvdGg7IGJvdHRvbTogMHB4OyAgaGVpZ2h0OiAxMCU7fVxyXG4gIC5jaGF0LXNpZGViYXIgLmNoYXQtc2lkZWJhci1mb290ZXIgLmNoYXQtc2lkZWJhci1mb290ZXItbGVmdCB7ICAgIGZsb2F0OiBsZWZ0OyAgfVxyXG4gIC5jaGF0LXNpZGViYXItYm94IC5wb3B1cC1mb290ZXIgLmNoYXQtc2lkZWJhci1mb290ZXItcmlnaHQgeyAgZmxvYXQ6IHJpZ2h0O31cclxuICBib2R5IHsgIGJhY2tncm91bmQtY29sb3I6ICNlOWVhZWQ7fVxyXG4gICAuY2hhdC1jb252ZXJzYXRpb24geyAgZGlzcGxheTogYmxvY2s7ICBwb3NpdGlvbjogZml4ZWQ7ICBib3R0b206IDBweDsgIHRvcDogNTAlOyAgcmlnaHQ6IDBweDsgIGhlaWdodDogNTAlOyAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNywgMjM5LCAyNDQpOyAgd2lkdGg6IDMwMHB4OyAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyOSwgNDksIDkxLCAuMyk7fVxyXG4uY2hhdC1jb252ZXJzYXRpb24tYWN0aW9uIHsgIGRpc3BsYXk6IGJsb2NrOyAgcG9zaXRpb246IGZpeGVkOyAgYm90dG9tOiA1NSU7ICB0b3A6IDUwJTsgIHJpZ2h0OiAzMDBweDsgIGhlaWdodDogMjAlOyAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5OyAgcGFkZGluZzogNXB4OyAgd2lkdGg6IDUwcHg7ICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI5LCA0OSwgOTEsIC4zKTsgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICB9XHJcbi5jaGF0LWNvbnZlcnNhdGlvbi1hY3Rpb24tY2hpbGQgeyAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjksIDQ5LCA5MSwgLjMpOyAgdmVydGljYWwtYWxpZ246bWlkZGxlOyAgcGFkZGluZyA6MyUgMiUgMiUgMiU7ICB0ZXh0LWFsaWduOmNlbnRlcjt9XHJcbiAgLmNoYXQtY29udmVyc2F0aW9uIC5jaGF0LWNvbnZlcnNhdGlvbi1oZWFkIHsgICAgYmFja2dyb3VuZC1jb2xvcjogIzZkODRiNDsgICAgcGFkZGluZzogNXB4OyAgICBjb2xvcjogd2hpdGU7ICAgIGZvbnQtd2VpZ2h0OiBib2xkOyAgICBmb250LXNpemU6IDE0cHg7ICAgIGNsZWFyOiBib3RoOyAgICBoZWlnaHQ6IDEwJTsgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgIH1cclxuICAgICAgLmNoYXQtY29udmVyc2F0aW9uIC5jaGF0LWNvbnZlcnNhdGlvbi1oZWFkIC5jaGF0LWNvbnZlcnNhdGlvbi1oZWFkLWxlZnQgeyAgICAgIGZsb2F0OiBsZWZ0OyAgICB9XHJcbiAgICAuY2hhdC1jb252ZXJzYXRpb24gLmNoYXQtY29udmVyc2F0aW9uLWhlYWQgLmNoYXQtY29udmVyc2F0aW9uLWhlYWQtcmlnaHQgeyAgICAgIGZsb2F0OiByaWdodDsgICAgICBtYXJnaW46IDVweDsgICB9XHJcbiAgICAgICAgICAgICAgIC5jaGF0LWNvbnZlcnNhdGlvbiAuY2hhdC1jb252ZXJzYXRpb24taGVhZCAuY2hhdC1jb252ZXJzYXRpb24taGVhZC1yaWdodCBhIHsgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgICAgICAgIGNvbG9yOiBpbmhlcml0OyAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7ICAgICAgfVxyXG4gIC5jaGF0LWNvbnZlcnNhdGlvbiAuY29udmVyc2F0aW9uLUNvbnRlbnQgeyAgICBoZWlnaHQ6IDgwJTsgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyAgfVxyXG4uY29udmVyc2F0aW9uLW5hbWUgeyAgcGFkZGluZy1sZWZ0OiAxMHB4OyAgcGFkZGluZy1yaWdodDogMTBweDsgIG1hcmdpbi1ib3R0b206IDRweDsgIGZvbnQtc2l6ZTogMTJweDt9XHJcbiAgLmNvbnZlcnNhdGlvbi1uYW1lIHNwYW4geyAgICBwYWRkaW5nLWxlZnQ6IDVweDsgIH1cclxuICAgIC5jb252ZXJzYXRpb24tbmFtZSBhIHsgICAgZGlzcGxheTogYmxvY2s7ICAgIGhlaWdodDogMTAwJTsgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgICBjb2xvcjogaW5oZXJpdDsgIH1cclxuICAgICAgLmNvbnZlcnNhdGlvbi1uYW1lOmhvdmVyIHsgICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTJlNTsgIH1cclxuICAuY29udmVyc2F0aW9uLW5hbWUgaW1nIHsgICAgd2lkdGg6IDMycHg7ICAgIGhlaWdodDogMzJweDsgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgIH1cclxuICAuY2hhdC1jb252ZXJzYXRpb24gLmNoYXQtY29udmVyc2F0aW9uLWZvb3RlciB7ICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ4NGI0OyAgcGFkZGluZzogNXB4OyAgY29sb3I6IGJsYWNrOyAgZm9udC13ZWlnaHQ6IGJvbGQ7ICBmb250LXNpemU6IDE0cHg7ICBjbGVhcjogYm90aDsgIGJvdHRvbTogMHB4OyAgaGVpZ2h0OiAxMCU7fVxyXG4gICAgLmNoYXQtY29udmVyc2F0aW9uIC5jaGF0LWNvbnZlcnNhdGlvbi1mb290ZXIgLmNoYXQtY29udmVyc2F0aW9uLWZvb3Rlci1sZWZ0IHsgICAgZmxvYXQ6IGxlZnQ7ICB9XHJcbi5jaGF0LWNvbnZlcnNhdGlvbi1ib3ggLmNoYXQtY29udmVyc2F0aW9uLWZvb3RlciAuY2hhdC1jb252ZXJzYXRpb24tZm9vdGVyLXJpZ2h0IHsgIGZsb2F0OiByaWdodDt9XHJcblxyXG4ucG9wdXAtYm94IHsgIGRpc3BsYXk6IGJsb2NrOyAgcG9zaXRpb246IGZpeGVkOyAgYm90dG9tOiAwcHg7ICB0b3A6NTAlOyAgcmlnaHQ6IDBweDsgaGVpZ2h0OiA1MCU7ICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM3LCAyMzksIDI0NCk7ICB3aWR0aDogMzAwcHg7ICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI5LCA0OSwgOTEsIC4zKTt9XHJcbiAgLnBvcHVwLWJveCAucG9wdXAtaGVhZCB7ICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDg0YjQ7ICAgIHBhZGRpbmc6IDVweDsgICAgY29sb3I6IHdoaXRlOyAgICBmb250LXdlaWdodDogYm9sZDsgICBmb250LXNpemU6IDE0cHg7ICAgIGNsZWFyOiBib3RoOyAgICBoZWlnaHQ6IDEwJTsgICAgdmVydGljYWwtYWxpZ246bWlkZGxlOyAgICAgIH1cclxuICAgICAgLnBvcHVwLWJveCAucG9wdXAtaGVhZCAucG9wdXAtaGVhZC1sZWZ0IHsgICAgICBmbG9hdDogbGVmdDsgICAgICB3aWR0aDo1NSU7ICAgICAgYm9yZGVyOnNvbGlkIDBweCByZWQ7ICAgIH1cclxuICAgICAgICAgIC5wb3B1cC1ib3ggLnBvcHVwLWhlYWQgLnBvcHVwLWhlYWQtcmlnaHQgeyAgICAgIGZsb2F0OiByaWdodDsgICAgICBtYXJnaW46IDBweDsgICAgICB3aWR0aDogNDIlOyAgICAgIGJvcmRlcjogc29saWQgMHB4IGdyZWVuOyAgICB9ICAgIFxyXG4gICAgICAucG9wdXAtYm94IC5wb3B1cC1oZWFkIC5wb3B1cC1oZWFkLXJpZ2h0IGEgeyAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgICAgICAgY29sb3I6IGluaGVyaXQ7ICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgICAgICB9XHJcbiAgICAgIC5wb3B1cC1tZXNzYWdlcy11c2VyUmVjZWl2ZXJsaXN0IHsgICAgZGlzcGxheTogYmxvY2s7ICAgIHBvc2l0aW9uOiBmaXhlZDsgICAgYm90dG9tOiA1JTsgICAgdG9wOiA1NSU7ICAgIHJpZ2h0OiAzMDBweDsgICAgaGVpZ2h0OjQwJSA7ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzcsIDIzOSwgMjQ0KTsgICAgd2lkdGg6IDUwcHg7ICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjksIDQ5LCA5MSwgLjMpOyAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ICAgIG92ZXJmbG93LXk6c2Nyb2xsOyAgfVxyXG4gICAgICAgIC5wb3B1cC1tZXNzYWdlcy11c2VyUmVjZWl2ZXJsaXN0IC5wb3B1cC1tZXNzYWdlcy11c2VyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDBweCByZWQ7XHJcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgcGFkZGluZzogMyUgMiUgMiUgMiU7XHJcbiAgICAgICAgfVxyXG4uc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7ICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLDAsMCwwLjMpOyAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTt9XHJcbi5zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgIHdpZHRoOiAxMHB4OyAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTt9XHJcbi5zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgIGJhY2tncm91bmQtY29sb3I6ICM2ZDg0YjQ7ICBib3JkZXI6IDFweCBzb2xpZCAjNTU1NTU1O31cclxuI3N0eWxlLTc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsMCwwLDAuMyk7ICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1OyAgYm9yZGVyLXJhZGl1czogMHB4O31cclxuXHJcbiNzdHlsZS03Ojotd2Via2l0LXNjcm9sbGJhciB7ICB3aWR0aDogMTBweDsgIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7fVxyXG4jc3R5bGUtNzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgeyAgYm9yZGVyLXJhZGl1czogMDBweDsgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGNvbG9yLXN0b3AoMC40NCwgcmdiKDEyMiwxNTMsMjE3KSksIGNvbG9yLXN0b3AoMC43MiwgcmdiKDczLDEyNSwxODkpKSwgY29sb3Itc3RvcCgwLjg2LCByZ2IoMjgsNTgsMTQ4KSkpO31cclxuLnBvcHVwLWJveCAucG9wdXAtbWVzc2FnZXMtc2VhcmggeyAgaGVpZ2h0OiAxMCU7ICB9XHJcbiAgLnBvcHVwLWJveCAucG9wdXAtbWVzc2FnZXMgeyAgICAvKmhlaWdodDogODAlOyovICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgIH1cclxuLnBvcHVwLWJveCAucG9wdXAtbWVzc2FnZXMtbWluIHsgIGhlaWdodDogNjAlOyAgb3ZlcmZsb3cteTogc2Nyb2xsO31cclxuLnBvcHVwLWJveCAucG9wdXAtbWVzc2FnZXMtbWF4IHsgIGhlaWdodDogODAlOyAgb3ZlcmZsb3cteTogc2Nyb2xsO31cclxuLnBvcHVwLWJveCAucG9wdXAtbWVzc2FnZXMtc2VhcmNoLW1pbiB7ICBoZWlnaHQ6IDUwJTsgIG92ZXJmbG93LXk6IHNjcm9sbDt9XHJcblxyXG4ucG9wdXAtYm94IC5wb3B1cC1tZXNzYWdlcy1zZWFyY2gtbWF4IHsgIGhlaWdodDogNzAlOyAgb3ZlcmZsb3cteTogc2Nyb2xsO31cclxuICAgIC5wb3B1cC1ib3ggLnBvcHVwLW1lc3NhZ2VzIC5wb3B1cC1tZXNzYWdlcy1sZWZ0IHsgICAgICBmbG9hdDogbGVmdDsgICAgICBvcGFjaXR5OiAwLjU7ICAgIH1cclxuICAgIC5wb3B1cC1ib3ggLnBvcHVwLW1lc3NhZ2VzIC5wb3B1cC1tZXNzYWdlcy1yaWdodCB7ICAgICAgZmxvYXQ6IHJpZ2h0OyAgICAgIG9wYWNpdHk6IDAuNTsgICAgfVxyXG4gIC5wb3B1cC1ib3ggLnBvcHVwLWZvb3RlciB7ICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZDg0YjQ7ICAgIHBhZGRpbmc6IDVweDsgICAgY29sb3I6IGJsYWNrOyAgICBmb250LXdlaWdodDogYm9sZDsgICAgZm9udC1zaXplOiAxNHB4OyAgICBjbGVhcjogYm90aDsgICAgYm90dG9tOiAwcHg7ICAgIC8qaGVpZ2h0OiAxMCU7Ki8gICAgd2lkdGg6MTAwJTsgICAgICB9XHJcbi5wb3B1cC1ib3ggLnBvcHVwLXByaW50c2NyZWVuIHsgIGRpc3BsYXk6IGJsb2NrOyAgcG9zaXRpb246IGZpeGVkOyAgYm90dG9tOiA1JTsgICByaWdodDogMjAwcHg7ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzcsIDIzOSwgMjQ0KTsgIHdpZHRoOiAxMDBweDsgIGhlaWdodDoxMDBweDsgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjksIDQ5LCA5MSwgLjMpOyAgdmVydGljYWwtYWxpZ246IG1pZGRsZTt9XHJcbiAgLnBvcHVwLWJveCAucG9wdXAtcHJpbnRzY3JlZW4gaSB7ICAgIHotaW5kZXg6IDk5OTk7ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgcmlnaHQ6IDBweDsgIH1cclxuICAucG9wdXAtYm94IC5wb3B1cC1wcmludHNjcmVlbiBpbWcgeyAgICB3aWR0aDogMTAwcHg7ICAgIGhlaWdodDogMTAwcHg7ICB9XHJcbiAucG9wdXAtcmVsYXRldG8gaSB7ICB6LWluZGV4OiA5OTk5OyAgcG9zaXRpb246IGFic29sdXRlOyAgcmlnaHQ6IDBweDt9XHJcbiAucG9wdXAtcmVsYXRldG8geyAgZGlzcGxheTogYmxvY2s7ICBwb3NpdGlvbjogYWJzb2x1dGU7ICAvKmJvdHRvbTogNSU7Ki8gIHJpZ2h0OiAxMDBweDsgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzcsIDIzOSwgMjQ0KTsgIHdpZHRoOiAyMDBweDsgIGhlaWdodDogYXV0bzsgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjksIDQ5LCA5MSwgLjMpOyAgdmVydGljYWwtYWxpZ246IG1pZGRsZTt9XHJcbiAgIC5wb3B1cC1ib3ggLnBvcHVwLWZvb3Rlci1taW4geyAgICBoZWlnaHQ6IDMwJTsgIH1cclxuLnBvcHVwLWJveCAucG9wdXAtZm9vdGVyLW1heCB7ICBoZWlnaHQ6IDEwJTt9XHJcbiAgLnBvcHVwLWJveCAucG9wdXAtZm9vdGVyIC5wb3B1cC1mb290ZXItbGVmdCB7ICAgIGZsb2F0OiBsZWZ0OyAgICB3aWR0aDo5MCU7ICB9XHJcbiAgICAucG9wdXAtYm94IC5wb3B1cC1mb290ZXIgLnBvcHVwLWZvb3Rlci1yaWdodCB7ICAgICAgZmxvYXQ6IHJpZ2h0OyAgICAgIHdpZHRoOiA1JTsgICAgfVxyXG4gICAgICAgICAuaW5jb21pbmdfbXNnIHsgIHdpZHRoOiAxMDAlO31cclxuLmluY29taW5nX21zZ19pbWcgeyAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgd2lkdGg6IDYlO31cclxuXHJcbi5yZWNlaXZlZF9tc2cgeyAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgcGFkZGluZzogMCAwIDAgMTVweDsgIHZlcnRpY2FsLWFsaWduOiB0b3A7ICB3aWR0aDogOTIlOyAgfVxyXG4ucmVjZWl2ZWRfd2l0aGRfbXNnIHAgeyAgYmFja2dyb3VuZDogI2ViZWJlYiBub25lIHJlcGVhdCBzY3JvbGwgMCAwOyAgYm9yZGVyLXJhZGl1czogM3B4OyAgY29sb3I6IHdoaXRlOy8qIzY0NjQ2NDsqLyAgZm9udC1zaXplOiAxNHB4OyAgbWFyZ2luOiAwOyAgICBwYWRkaW5nOiA1cHggMTBweCAwcHggNXB4OyAgd2lkdGg6IDEwMCU7ICB9XHJcbiAgLmxpbmsgeyAgICBjb2xvcjogd2hpdGU7ICAgIGJvcmRlcjpzb2xpZCAwcHggd2hpdGU7IHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOmJlbG93OyAgICB9XHJcbiAgLnNlbnRfbXNnIHRhYmxlIHsgICAgd2lkdGg6IDEwMCU7ICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7ICB9XHJcbi5yZWNlaXZlZF93aXRoZF9tc2cgLnRpbWVfZGF0ZSB7ICBjb2xvcjogIzc0NzQ3NDsgIGRpc3BsYXk6IGJsb2NrOyAgZm9udC1zaXplOiAxMnB4OyAgbWFyZ2luOiA0cHggMCAwOyAgdGV4dC1hbGlnbjogcmlnaHQ7fVxyXG4ucmVjZWl2ZWRfd2l0aGRfbXNnIHRhYmxlIHsgIHdpZHRoOiAxMDAlOyAgd29yZC1icmVhazogYnJlYWstd29yZDt9XHJcbi5zZW50X21zZyAudGltZV9kYXRlIHsgIGRpc3BsYXk6IGJsb2NrOyAgZm9udC1zaXplOiAxMnB4OyAgY29sb3I6ICM3NDc0NzQ7ICBtYXJnaW46IDRweCAycHggMDsgIGZsb2F0OiByaWdodDsgIHJpZ2h0OiAwcHg7fVxyXG4uc2VudF9tc2cgLnNlZW4geyAgZGlzcGxheTogYmxvY2s7ICBmb250LXNpemU6IDEycHg7ICBjb2xvcjogIzc0NzQ3NDsgIG1hcmdpbjogNHB4IDJweCAwOyAgZmxvYXQ6IHJpZ2h0OyAgcmlnaHQ6IDBweDt9XHJcbi5zZW50X21zZyAuc2VlbiB7ICBjb2xvcjogcmVkOyAgZGlzcGxheTogYmxvY2s7ICBmb250LXNpemU6IDEycHg7ICBtYXJnaW46IDRweCAycHggMDsgIGZsb2F0OiByaWdodDsgIHJpZ2h0OiAwcHg7ICBmb250LXdlaWdodDpib2xkZXI7fVxyXG4ucmVjZWl2ZWRfd2l0aGRfbXNnIHsgIHdpZHRoOiA3NSU7fVxyXG4ubWVzZ3MgeyAgZmxvYXQ6IGxlZnQ7ICBwYWRkaW5nOiAzMHB4IDE1cHggMCAyNXB4OyAgd2lkdGg6IDYwJTt9XHJcbi5zZW50X21zZyBwIHsgIGJhY2tncm91bmQ6ICMwNTcyOGYgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsgIGJvcmRlci1yYWRpdXM6IDNweDsgIGZvbnQtc2l6ZTogMTRweDsgIG1hcmdpbjogMDsgIGNvbG9yOiB3aGl0ZTsgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxMnB4OyAgd2lkdGg6IDEwMCU7fVxyXG4gIC5vdXRnb2luZ19tc2cgeyAgb3ZlcmZsb3c6IGhpZGRlbjsgICAgbWFyZ2luOiA1cHggMCAwcHg7fVxyXG4gIC5zZW50X21zZyB7ICBmbG9hdDogcmlnaHQ7ICB3aWR0aDogNzUlO31cclxuICAuaW5wdXRfbXNnX3dyaXRlICB7ICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7ICBjb2xvcjogIzRjNGM0YzsgIGZvbnQtc2l6ZTogMTJweDsgIGhlaWdodDoyNVBYOyAgd2lkdGg6IDEwMCU7fVxyXG4uaW5wdXRfbXNnX3dyaXRlX21pbiB7ICBoZWlnaHQ6IDI1UFg7fVxyXG4uaW5wdXRfbXNnX3dyaXRlX21heCB7ICBoZWlnaHQ6IDEwMFBYO31cclxuLnR5cGVfbXNnIHsgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzRjNGM0OyAgcG9zaXRpb246IHJlbGF0aXZlO31cclxuLm1zZ19zZW5kX2J0biB7ICAvKmJhY2tncm91bmQ6ICMwNTcyOGYgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsqLyAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsgIGJvcmRlcjogbWVkaXVtIG5vbmU7IGJvcmRlci1yYWRpdXM6IDUwJTsgIGNvbG9yOiAjZmZmOyAgY3Vyc29yOiBwb2ludGVyOyAgZm9udC1zaXplOiAxN3B4OyAgaGVpZ2h0OiAzMHB4OyAgcG9zaXRpb246IGFic29sdXRlOyAgcmlnaHQ6IDVweDsgIHdpZHRoOiAzMHB4O31cclxuLm1zZ19maWxlX2J0biB7ICAvKmJhY2tncm91bmQ6ICMwNTcyOGYgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsqLyAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsgIGJvcmRlcjogbWVkaXVtIG5vbmU7ICBib3JkZXItcmFkaXVzOiA1MCU7ICBjb2xvcjogI2ZmZjsgIGN1cnNvcjogcG9pbnRlcjsgIGZvbnQtc2l6ZTogMTdweDsgIGhlaWdodDogMzBweDsgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIHJpZ2h0OiA1cHg7ICB3aWR0aDogMzBweDt9XHJcbi5zZW5kX2J0biB7ICAvKmJhY2tncm91bmQ6ICMwNTcyOGYgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsqLyAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsgIGJvcmRlcjogbWVkaXVtIG5vbmU7ICBib3JkZXItcmFkaXVzOiA1MCU7ICBjb2xvcjogI2ZmZjsgIGN1cnNvcjogcG9pbnRlcjsgIGZvbnQtc2l6ZTogMTdweDsgIGhlaWdodDogMzBweDsgIHdpZHRoOiAzMHB4O31cclxuLnJlY2VudF9oZWFkaW5nIHsgIGZsb2F0OiBsZWZ0OyAgd2lkdGg6IDAlO31cclxuLnNyY2hfYmFyIHsgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgIHRleHQtYWxpZ246IHJpZ2h0OyAgd2lkdGg6IDEwMCU7IH1cclxuLmhlYWRpbmRfc3JjaCB7ICBwYWRkaW5nOiAxMHB4IDI5cHggMTBweCAyMHB4OyAgb3ZlcmZsb3c6IGhpZGRlbjsgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzRjNGM0O31cclxuLnJlY2VudF9oZWFkaW5nIGg0IHsgIGNvbG9yOiAjMDU3MjhmOyAgZm9udC1zaXplOiAyMXB4OyAgbWFyZ2luOiBhdXRvO31cclxuLnNyY2hfYmFyIGlucHV0IHsgIGJvcmRlcjogMXB4IHNvbGlkICNjZGNkY2Q7ICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDsgIHdpZHRoOiA4MCU7ICBwYWRkaW5nOiAycHggMCA0cHggNnB4OyAgYmFja2dyb3VuZDogbm9uZTt9XHJcbi5zcmNoX2JhciAuaW5wdXQtZ3JvdXAtYWRkb24gYnV0dG9uIHsgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCkgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsgIGJvcmRlcjogbWVkaXVtIG5vbmU7ICBwYWRkaW5nOiAwOyAgY29sb3I6ICM3MDcwNzA7ICBmb250LXNpemU6IDE4cHg7fVxyXG4uc3JjaF9iYXIgLmlucHV0LWdyb3VwLWFkZG9uIHsgIG1hcmdpbjogMCAwIDAgLTI3cHg7fVxyXG4uZG90LWxvZ2dlZC1yZWMge1xyXG4gIGhlaWdodDogMTBweDtcclxuICB3aWR0aDogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzNBNTMyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiA1cHg7XHJcbiAgcmlnaHQ6IDJweDtcclxufVxyXG4uZG90LXJlYyB7XHJcbiAgaGVpZ2h0OiAxMHB4O1xyXG4gIHdpZHRoOiAxMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogNXB4O1xyXG4gIHJpZ2h0OiAycHg7XHJcbn1cclxuLmRvdC1sb2dnZWQge1xyXG4gIGhlaWdodDogMTBweDtcclxuICB3aWR0aDogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzNBNTMyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiA1cHg7XHJcbiAgcmlnaHQ6IDJweDtcclxufVxyXG4vKi5kb3Qge1xyXG4gIGhlaWdodDogMTBweDtcclxuICB3aWR0aDogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDVweDtcclxuICByaWdodDogMnB4O1xyXG59Ki9cclxuLnVucmVhZCB7ICBoZWlnaHQ6IDIwcHg7ICB3aWR0aDogMjBweDsgIGJhY2tncm91bmQtY29sb3I6IGRhcmtyZWQ7ICBib3JkZXItcmFkaXVzOiA1MCU7ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICBjb2xvcjp3aGl0ZTsgIHRleHQtYWxpZ246Y2VudGVyIDsgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTt9XHJcbi51c2Vycm93IHsgIHBhZGRpbmctbGVmdDogMTBweDsgIHBhZGRpbmctcmlnaHQ6IDAwcHg7ICBtYXJnaW4tYm90dG9tOiAxcHg7ICBmb250LXNpemU6IDEycHg7fVxyXG4udXNlcnJvdyBzcGFuIHsgIHBhZGRpbmctbGVmdDogNXB4O31cclxuICAvKi51c2Vycm93IGEgeyAgICBkaXNwbGF5OiBibG9jazsgICAgaGVpZ2h0OiAxMDAlOyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7ICAgIGNvbG9yOiBpbmhlcml0OyAgfVxyXG4gICAgLnVzZXJyb3c6aG92ZXIgeyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlMmU1OyAgfSovXHJcbiAgICAgIC51c2Vycm93IGltZyB7ICAgIHdpZHRoOiAzMnB4OyAgICBoZWlnaHQ6IDMycHg7ICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7ICB9XHJcbi5ldmVuIHsgIGJhY2tncm91bmQtY29sb3I6IGdob3N0d2hpdGU7fVxyXG4ub2RkIHsgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7fVxyXG4uc3RyaWtldGhyb3VnaCB7ICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgIGNvbG9yOnJlZDt9XHJcbi5lLWNtLWljb25zIHsgIGZvbnQtZmFtaWx5OiAnZS1jb250ZXh0LW1lbnUnOyAgZm9udC1zdHlsZTogbm9ybWFsOyAgZm9udC12YXJpYW50OiBub3JtYWw7ICBmb250LXdlaWdodDogbm9ybWFsOyAgbGluZS1oZWlnaHQ6IDE7ICB0ZXh0LXRyYW5zZm9ybTogbm9uZTt9XHJcbiNjb250ZXh0bWVudXRhcmdldCB7ICBib3JkZXI6IDFweCBkYXNoZWQ7ICBoZWlnaHQ6IDI1MHB4OyAgcGFkZGluZzogMTBweDsgIHBvc2l0aW9uOiByZWxhdGl2ZTsgIHRleHQtYWxpZ246IGNlbnRlcjsgbGluZS1oZWlnaHQ6IDE3OyBmb250LXNpemU6IDE0cHg7fVxyXG4vKiBjdXN0b20gY29kZSBzdGFydCovXHJcbiNjb250ZXh0bWVudS1jb250cm9sIHsgIG1hcmdpbjogNSUgMjUlOyAgd2lkdGg6IGF1dG87ICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IC8qIGlPUyBTYWZhcmkgKi8gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL31cclxuI2NvbnRleHRVc2VybWVudSB7XHJcbiAgbWFyZ2luOiA1JSAyNSU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyAvKiBpT1MgU2FmYXJpICovXHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xyXG4gICNjb250ZXh0bWVudS1jb250cm9sIHsgICAgbWFyZ2luOiA1JSAxMCU7ICAgIHdpZHRoOiBhdXRvOyAgfVxyXG4gICNjb250ZXh0VXNlcm1lbnUge1xyXG4gICAgbWFyZ2luOiA1JSAxMCU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9XHJcbiAgI2NvbnRleHRtZW51dGFyZ2V0IHsgICAgbGluZS1oZWlnaHQ6IDE5OyAgICBmb250LXNpemU6IDEycHg7ICB9XHJcbn1cclxuLyogY3VzdG9tIGNvZGUgZW5kKi9cclxuLmUtbWVudS1pdGVtIC5lLWN1dDo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNjQnO31cclxuLmUtbWVudS1pdGVtIC5lLXBhc3RlOjpiZWZvcmUgeyAgY29udGVudDogJ1xcZTk1OSc7fVxyXG4uZS1tZW51LWl0ZW0gLmUtZm9udDo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNjInO31cclxuLmUtbWVudS1pdGVtIC5lLWNvcHk6OmJlZm9yZSB7ICBjb250ZW50OiAnXFxlMjYzJzt9XHJcbi5lLW1lbnUtaXRlbSAuZS1saW5rOjpiZWZvcmUgeyAgY29udGVudDogJ1xcZTI2NSc7fVxyXG4uZS1tZW51LWl0ZW0gLmUtY29tbWVudDo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNjcnO31cclxuLmUtbWVudS1pdGVtIC5lLXBhc3RldGV4dDo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNjEnO31cclxuLmUtbWVudS1pdGVtIC5lLXBhc3Rlc3BlY2lhbDo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNjAnO31cclxuLmZhYnJpYyAuZS1tZW51LWl0ZW0gLmUtY3V0OjpiZWZvcmUgeyAgY29udGVudDogJ1xcZTI1MSc7fVxyXG4uZmFicmljIC5lLW1lbnUtaXRlbSAuZS1wYXN0ZTo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGU5NDAnO31cclxuLmZhYnJpYyAuZS1tZW51LWl0ZW0gLmUtZm9udDo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNTInO31cclxuLmZhYnJpYyAuZS1tZW51LWl0ZW0gLmUtY29weTo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNTUnO31cclxuLmZhYnJpYyAuZS1tZW51LWl0ZW0gLmUtbGluazo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNTQnO31cclxuLmZhYnJpYyAuZS1tZW51LWl0ZW0gLmUtY29tbWVudDo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNTMnO31cclxuLmZhYnJpYyAuZS1tZW51LWl0ZW0gLmUtcGFzdGV0ZXh0OjpiZWZvcmUgeyAgY29udGVudDogJ1xcZTI1OCc7fVxyXG4uZmFicmljIC5lLW1lbnUtaXRlbSAuZS1wYXN0ZXNwZWNpYWw6OmJlZm9yZSB7ICBjb250ZW50OiAnXFxlMjU2Jzt9XHJcbi5ib290c3RyYXAgLmUtbWVudS1pdGVtIC5lLWN1dDo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNDgnO31cclxuLmJvb3RzdHJhcCAuZS1tZW51LWl0ZW0gLmUtcGFzdGU6OmJlZm9yZSB7ICBjb250ZW50OiAnXFxlOTVhJzt9XHJcbi5ib290c3RyYXAgLmUtbWVudS1pdGVtIC5lLWZvbnQ6OmJlZm9yZSB7ICBjb250ZW50OiAnXFxlMjQ3Jzt9XHJcbi5ib290c3RyYXAgLmUtbWVudS1pdGVtIC5lLWNvcHk6OmJlZm9yZSB7ICBjb250ZW50OiAnXFxlMjQ5Jzt9XHJcbi5ib290c3RyYXAgLmUtbWVudS1pdGVtIC5lLWxpbms6OmJlZm9yZSB7ICBjb250ZW50OiAnXFxlMjQ1Jzt9XHJcbi5ib290c3RyYXAgLmUtbWVudS1pdGVtIC5lLWNvbW1lbnQ6OmJlZm9yZSB7ICBjb250ZW50OiAnXFxlMjQ2Jzt9XHJcbi5ib290c3RyYXAgLmUtbWVudS1pdGVtIC5lLXBhc3RldGV4dDo6YmVmb3JlIHsgIGNvbnRlbnQ6ICdcXGUyNTcnO31cclxuLmJvb3RzdHJhcCAuZS1tZW51LWl0ZW0gLmUtcGFzdGVzcGVjaWFsOjpiZWZvcmUgeyAgY29udGVudDogJ1xcZTI1OSc7fVxyXG4uZS1jb250ZXh0bWVudS13cmFwcGVyIHVsLmUtY29udGV4dG1lbnUgeyAgd2lkdGg6IDE3NnB4O31cclxuLmUtYmlnZ2VyIC5lLWNvbnRleHRtZW51LXdyYXBwZXIgdWwuZS1jb250ZXh0bWVudSB7ICB3aWR0aDogMTg2cHg7fVxyXG5ALW1vei1rZXlmcmFtZXMgYmxpbmsgeyAgMCVcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgb3BhY2l0eTogMTsgIH1cclxuXHJcbiAgNTAlIHsgICAgb3BhY2l0eTogMDsgIH1cclxuICAgIDEwMCUgeyAgICBvcGFjaXR5OiAxOyAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmxpbmsge1xyXG4gIDAlIHsgICBvcGFjaXR5OiAxOyAgfVxyXG4gICAgNTAlIHsgICAgb3BhY2l0eTogMDsgIH1cclxuICAgICAgMTAwJSB7ICAgb3BhY2l0eTogMTsgIH1cclxufVxyXG4vKiBJRSAqL1xyXG5ALW1zLWtleWZyYW1lcyBibGluayB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG4vKiBPcGVyYSBhbmQgcHJvYiBjc3MzIGZpbmFsIGl0ZXJhdGlvbiAqL1xyXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcclxuICAwJSB7ICAgIG9wYWNpdHk6IDE7ICB9XHJcbiAgNTAlIHsgICAgb3BhY2l0eTogMDsgIH1cclxuICAgIDEwMCUgeyAgICBvcGFjaXR5OiAxOyAgfVxyXG59XHJcblxyXG4uYmxpbmstaW1hZ2Uge1xyXG4gIC1tb3otYW5pbWF0aW9uOiBibGluayBub3JtYWwgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7IC8qIEZpcmVmb3ggKi9cclxuICAtd2Via2l0LWFuaW1hdGlvbjogYmxpbmsgbm9ybWFsIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0OyAvKiBXZWJraXQgKi9cclxuICAtbXMtYW5pbWF0aW9uOiBibGluayBub3JtYWwgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7IC8qIElFICovXHJcbiAgYW5pbWF0aW9uOiBibGluayBub3JtYWwgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7IC8qIE9wZXJhIGFuZCBwcm9iIGNzczMgZmluYWwgaXRlcmF0aW9uICovXHJcbn1cclxuLyogVG9wIHJpZ2h0IHRleHQgKi9cclxuLnRvcC1yaWdodCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTMwcHg7XHJcbiAgcmlnaHQ6IDEwcHg7XHJcbiAgY29sb3I6cmVkO1xyXG4gIGZvbnQtc2l6ZToyLjBlbTtcclxufVxyXG4udG9wLW5vdGlmaWNhdGlvbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMHB4O1xyXG4gIHBhZGRpbmctbGVmdDotNXB4O1xyXG4gIGNvbG9yOiByZWQ7XHJcbiAgZm9udC1zaXplOiAxLjBlbTtcclxufVxyXG4uZWxsaXBzZXMge1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgd2lkdGg6IDEyZW07XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICBib3JkZXI6IDBweCBzb2xpZCAjMDAwMDAwO1xyXG59XHJcblxyXG5cclxuLmxvYWRpbmctaW5kaWNhdG9yIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogOTk5O1xyXG4gIFxyXG4gIG92ZXJmbG93OiBzaG93O1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBib3R0b206IDBweDtcclxuICB0b3A6IDUwJTtcclxuICByaWdodDogMHB4O1xyXG4gIGhlaWdodDogMjUlO1xyXG4gIHdpZHRoOiAyMDBweDtcclxuICBib3JkZXI6IHNvbGlkIDBweCByZWQ7XHJcbn1cclxuXHJcbiAgLmxvYWRpbmctaW5kaWNhdG9yOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHJpZ2h0OiAwcHg7XHJcbiAgICBoZWlnaHQ6IDUwJTtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGJvcmRlcjogc29saWQgMXB4IGJsdWU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNTMpO1xyXG4gIH1cclxuXHJcbi5pbnB1dC1pY29ucyBpIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5pbnB1dC1pY29ucyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmljb24ge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgbWluLXdpZHRoOiA0MHB4O1xyXG59XHJcbi5pY29uLXJlbW92ZSB7XHJcbiAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgbGVmdDogMTkwcHg7XHJcbiAgbWluLXdpZHRoOiAxMHB4O1xyXG4gIFxyXG59XHJcbi5pY29uLXJlbW92ZTIge1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIGxlZnQ6IDI2MHB4O1xyXG4gIG1pbi13aWR0aDogMTBweDtcclxufVxyXG4ucGFnaW5nLWxhYmVsIHtcclxuICBwYWRkaW5nLXRvcDogMTBweDtcclxuICByaWdodDogNDVweDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbWluLXdpZHRoOiAzMHB4O1xyXG59XHJcbi5pY29uLXVwIHtcclxuICBwYWRkaW5nLXRvcDogMTBweDtcclxuICByaWdodDogMzBweDtcclxuICBtaW4td2lkdGg6IDEwcHg7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGNvbG9yOiBibGFjaztcclxufVxyXG4uaWNvbi1kb3duIHtcclxuICBwYWRkaW5nLXRvcDogMTBweDtcclxuICByaWdodDogNXB4O1xyXG4gIG1pbi13aWR0aDogMjBweDtcclxuICBmb250LXNpemU6IDE4cHg7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG59XHJcblxyXG4uaWNvbi1ncm91cC1yZW1vdmUge1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gIGxlZnQ6IDI0MHB4O1xyXG4gIG1pbi13aWR0aDogMjBweDtcclxuICBcclxufVxyXG4uaW5wdXQtZmllbGQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBwYWRkaW5nLWxlZnQ6MjVweDtcclxuICBwYWRkaW5nLXJpZ2h0OjI1cHg7XHJcbn1cclxuLnZlcnRpY2FsLW1lbnUgYSB7XHJcbiAgXHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6IDJweDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbiAgLnZlcnRpY2FsLW1lbnUgYTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gIH1cclxuXHJcbiAgLnZlcnRpY2FsLW1lbnUgYS5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRDQUY1MDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICB9XHJcbi8qIFRocmVlIGltYWdlIGNvbnRhaW5lcnMgKHVzZSAyNSUgZm9yIGZvdXIsIGFuZCA1MCUgZm9yIHR3bywgZXRjKSAqL1xyXG4uY29sdW1uIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgd2lkdGg6IDI1cHg7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcclxufVxyXG5cclxuLyogQ2xlYXIgZmxvYXRzIGFmdGVyIGltYWdlIGNvbnRhaW5lcnMgKi9cclxuLnJvdzo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbn1cclxuaXtcclxuICBjdXJzb3I6cG9pbnRlcjsgXHJcbn1cclxuLnNlYXJjaFRleHR7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjpyZWQ7XHJcbiAgY29sb3I6d2hpdGU7XHJcbn1cclxuXHJcbnAuYWN0aXZlIG1hcmt7XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcclxufVxyXG5tYXJrIHtcclxuICBcclxuICBjb2xvcjogYmxhY2s7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYmxpbmsge1xyXG4gIDUwJSB7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnRcclxuICB9XHJcbn1cclxuXHJcbi5sb2FkZXJfX2RvdCB7XHJcbiAgYW5pbWF0aW9uOiAxcyBibGluayBpbmZpbml0ZTtcclxuICBjb2xvcjogYmxhY2s7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4gIC5sb2FkZXJfX2RvdDpudGgtY2hpbGQoMikge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyNTBtc1xyXG4gIH1cclxuXHJcbiAgLmxvYWRlcl9fZG90Om50aC1jaGlsZCgzKSB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDUwMG1zXHJcbiAgfVxyXG5cclxuLmF2YXRhcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcgXFwyNUNGJztcclxuICBmb250LXNpemU6IDEwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjpncmVlbjtcclxufVxyXG5cclxuIl19 */\"","import { ViewChild, Component, OnInit, ElementRef, Output, EventEmitter, ViewEncapsulation, Renderer2 } from '@angular/core';\r\nimport { HttpEventType, HttpClient } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { HttpClientService } from '../../../services/http.client.service';\r\nimport { BackEndUrlService } from '../../../services/backend.url.service';\r\nimport { concat } from 'rxjs';\r\nimport { error } from 'util';\r\nimport { ChatService, ChatMessage } from '../chat.service';\r\nimport { ChatGroupService, ChatGroupMessage } from '../chatgroup.service';\r\nimport { ScrollToBottomDirective } from '../scroll-to-bottom.directive'\r\nimport { promise } from 'protractor';\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { Browser, getInstance } from '@syncfusion/ej2-base';\r\nimport { ContextMenuComponent, MenuEventArgs, MenuItemModel, ContextMenu } from '@syncfusion/ej2-angular-navigations';\r\nimport * as moment from 'moment'\r\nimport { AuthService } from '../../../services/auth.service';\r\nimport { userModel } from '../../../Model/userDetails';\r\n//import { Promise } from 'q';\r\n//import { setTimeout } from 'timers';\r\n\r\n//import { setTimeout } from 'timers';\r\n\r\n@Component({\r\n selector: 'app-chat',\r\n templateUrl: './chat.component.html',\r\n styleUrls: ['./chat.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [HttpClientService, BackEndUrlService]\r\n})\r\nexport class ChatComponent implements OnInit {\r\n //@ViewChild(ScrollToBottomDirective, { static: false }) scrollMe: ScrollToBottomDirective;\r\n @ViewChild('chatSendButton', { static: false }) chatSendButton: ElementRef;\r\n @ViewChild('chatGroupSendButton', { static: false }) chatGroupSendButton: ElementRef;\r\n @ViewChild('chatUpdateButton', { static: false }) chatUpdateButton: ElementRef;\r\n @ViewChild('chatGroupUpdateButton', { static: false }) chatGroupUpdateButton: ElementRef;\r\n @ViewChild('groupTitleSendButton', { static: false }) groupTitleSendButton: ElementRef;\r\n @ViewChild('inputGroupmessage', { static: false }) inputGroupmessage: ElementRef;\r\n @ViewChild('inputMessage', { static: false }) inputMessage: ElementRef;\r\n @ViewChild('inputGroupTitle', { static: false }) inputGroupTitle: ElementRef;\r\n @ViewChild('inputSearch', { static: false }) inputSearch: ElementRef;\r\n @ViewChild('inputEditGroupTitle', { static: false }) inputEditGroupTitle: ElementRef;\r\n @ViewChild('inputGroupSearch', { static: false }) inputGroupSearch: ElementRef;\r\n @ViewChild('inputHistorySearch', { static: false }) inputHistorySearch: ElementRef;\r\n @ViewChild('inputChatMessageSearch', { static: false }) inputChatMessageSearch: ElementRef;\r\n @ViewChild('inputChatGroupMessageSearch', { static: false }) inputChatGroupMessageSearch: ElementRef;\r\n @ViewChild('chatMessageDiv', { static: false }) chatMessageDiv: ElementRef;\r\n @ViewChild('inputRecentchatSearch', { static: false }) inputRecentchatSearch: ElementRef;\r\n @ViewChild('imgRenderer', { static: false }) imgRenderer: ElementRef;\r\n @ViewChild('imgGroupRenderer', { static: false }) imgGroupRenderer: ElementRef;\r\n\r\n @ViewChild(ContextMenuComponent, { static: false }) contextMenuGroup: ContextMenuComponent;\r\n @ViewChild(ContextMenuComponent, { static: false }) contextMenuGroupArchive: ContextMenuComponent;\r\n @ViewChild(ContextMenuComponent, { static: false }) contextMenuMessage: ContextMenuComponent;\r\n @ViewChild(ContextMenuComponent, { static: false }) contextMenuGroupMessage: ContextMenuComponent;\r\n\r\n\r\n public globalMessageId: number = 0;\r\n public globalRecceivingMessageId: number = -1;\r\n public globalRecceivingGroupMessageId: number = -1;\r\n public isLoading: boolean = false;\r\n public RecentChatList: boolean = false;\r\n public ContactList: boolean = false;\r\n public ChatList: boolean = false;\r\n public ChatHistoryList: boolean = false;\r\n public ChatImage: boolean = false;\r\n\r\n public ChatMode: boolean = true;\r\n public chatHistoryFlag: boolean = true;\r\n\r\n public ContactListTitle: string = \"Contact List\";\r\n public chatHistoryTitle: string = \"\";\r\n public ContactTitle: string = \"\";\r\n\r\n public chatHistotyMessage: any[] = [];\r\n public chatGroupHistotyMessage: any[] = [];\r\n\r\n login: any;\r\n chatUser: ChatUser;\r\n\r\n receiverUser: any[] = [];\r\n message: string = \"\";\r\n sendingMessage: string = \"\";\r\n groupmessage: string = \"\";\r\n gTitle: string = \"\";\r\n recentKeyword: string = \"\";\r\n keyword: string = \"\";\r\n groupkeyword: string = \"\";\r\n chatMessagekeyword: string = \"\"\r\n chatGroupMessagekeyword: string = \"\"\r\n chatGroup: any;\r\n selectedGroup: any;\r\n messageChat: any[] = [];\r\n editMessageChat: any;\r\n editGroupMessageChat: any;\r\n editMode: boolean = false;\r\n messageChatDate: any[] = [];\r\n groupTitle: string = \"\";\r\n editGroupEdit: boolean = false;\r\n groupTitleError: boolean = false;\r\n selectUserError: boolean = false;\r\n groupChatAddUserMode: boolean = false;\r\n groupChatArchiveMode: boolean = false;\r\n groupDetailsArchive: any[] = [];\r\n searchConversation: string;\r\n totalUnReadMessageCount: number = -1;\r\n totalUnReadChatMessageCount: number = -1;\r\n totalUnReadChatGroupMessageCount: number = -1;\r\n heightFlag: boolean = true;\r\n groupAddNew: boolean = false;\r\n groupAddUserId: number = 0;\r\n groupAddUserIds: any[] = [];\r\n selectedUser: any;\r\n chatGroupMessageMaxId: number = 0;\r\n activeChatGroupMessageId: number = 0;\r\n chatMessageMaxId: number = 0;\r\n activeChatMessageId: number = 0;\r\n chatMessageLastSeenId: number = 0;\r\n chatMessageSendingCounter: number = 0;\r\n chatMessageSearchFlag: boolean = false;\r\n chatGroupMessageSearchFlag: boolean = false;\r\n pagingLabel: string = \"0/0\";\r\n chatMessageSearchList: any[] = [];\r\n chatGroupMessageSearchList: any[] = [];\r\n messageCounter: number = 0;\r\n public progress: number;\r\n chatMessageImageMode: boolean = false;\r\n chatMessageImage: any = null;\r\n chatGroupMessageImageMode: boolean = false;\r\n chatGroupMessageImage: any = null;\r\n margin:number = 0;\r\n\r\n public userData = new userModel();\r\n userDataSubscription: any;\r\n //public message: string;\r\n @Output() public onUploadFinished = new EventEmitter();\r\n\r\n constructor(\r\n\r\n private router: Router,\r\n private activateRouter: ActivatedRoute,\r\n private httpService: HttpClientService,\r\n private backEndUrlService: BackEndUrlService,\r\n private cookieService: CookieService,\r\n \r\n private chatGroupService: ChatGroupService,\r\n private datePipe: DatePipe,\r\n private chatService: ChatService,\r\n private http: HttpClient,\r\n private elementRef: ElementRef,\r\n private domSanitizer: DomSanitizer,\r\n private _r: Renderer2,\r\n private authService: AuthService\r\n ) {\r\n this.authService.setUserDetails();\r\n this.userDataSubscription = this.authService.userData.asObservable().subscribe(data => {\r\n this.userData = data;\r\n //console.log(\"this.userData \", this.userData)\r\n });\r\n }\r\n ngOnInit() {\r\n //this.login = JSON.parse(localStorage.getItem(\"UserInfo\"));\r\n this.start();\r\n\r\n this._r.listen(document, 'keydown', (event) => {\r\n if (this.ChatList) {\r\n if (this.ChatMode) {\r\n if (this.message.substr(this.message.length - 1, 1) == '#') {\r\n this.inputMessage.nativeElement.click();\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }\r\n }\r\n else {\r\n if (this.groupmessage.substr(this.groupmessage.length - 1, 1) == '#') {\r\n this.inputGroupmessage.nativeElement.click();\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }\r\n }\r\n }\r\n \r\n })\r\n if (window.document.body.offsetHeight > window.innerHeight) { this.margin = 15; }\r\n }\r\n \r\n start() {\r\n setTimeout(() => {\r\n \r\n if (this.chatService.connectionIsEstablished && this.chatGroupService.connectionIsEstablished) {\r\n setTimeout(() => {\r\n this.ChatImage = true;\r\n }, 2000);\r\n }\r\n else {\r\n this.start();\r\n }\r\n }, 500);\r\n }\r\n async reset() {\r\n this.searchConversation = \"\";\r\n this.receiverUser = [];\r\n this.selectedGroup = [];\r\n this.chatHistotyMessage = [];\r\n if (this.editMode) {\r\n this.messageUpdateCancel();\r\n }\r\n\r\n this.heightFlag = true;\r\n this.editGroupEdit = false;\r\n this.groupAddUserId = 0;\r\n this.groupAddUserIds = [];\r\n this.chatMessageSendingCounter = 0;\r\n this.chatGroupMessageMaxId = 0;\r\n this.chatMessageMaxId = 0;\r\n this.chatMessageLastSeenId = 0\r\n this.ContactList = false;\r\n this.ChatList = false;\r\n this.ChatImage = false;\r\n this.RecentChatList = false;\r\n this.groupChatAddUserMode = false\r\n\r\n this.pagingLabel = \"0/0\";\r\n this.chatMessageSearchList = [];\r\n this.chatGroupMessageSearchList= [];\r\n this.messageCounter = 0;\r\n }\r\n clearActiveWindow() {\r\n this.chatService.ClearActiveWindow();\r\n this.chatGroupService.ClearActiveGroupWindow();\r\n }\r\n async chatImageClick() {\r\n this.reset();\r\n this.clearActiveWindow();\r\n this.RecentChatList = true;\r\n this.ContactList = false;\r\n this.ChatList = false;\r\n this.ChatImage = false;\r\n this.groupChatArchiveMode = false;\r\n //this.inputSearch.nativeElement.focus();\r\n setTimeout(() => {\r\n if (!(typeof this.inputRecentchatSearch === \"undefined\")) {\r\n this.inputRecentchatSearch.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n\r\n chatPopUpCloseClick(): void {\r\n this.reset();\r\n this.clearActiveWindow();\r\n this.ContactList = false;\r\n this.ChatList = false;\r\n this.ChatHistoryList = false;\r\n this.ChatImage = true;\r\n this.ChatMode = true;\r\n }\r\n async chatContactListClick(contactMode: string) {\r\n this.reset();\r\n this.clearActiveWindow();\r\n this.groupChatArchiveMode = false;\r\n this.ContactList = true;\r\n this.ChatList = false;\r\n this.ChatHistoryList = false;\r\n this.ChatImage = false;\r\n this.groupTitle = \"\";\r\n this.groupChatAddUserMode = false;\r\n this.recentKeyword = '';\r\n if (contactMode == 'Contact List') {\r\n this.keyword = '';\r\n this.messageChat = [];\r\n this.ContactListTitle = 'Contact List';\r\n this.chatMessageSearchFlag = false;\r\n this.chatMessagekeyword = '';\r\n this.ChatMode = true;\r\n setTimeout(() => {\r\n if (!(typeof this.inputSearch === \"undefined\")) {\r\n this.inputSearch.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n else {\r\n this.groupkeyword = '';\r\n this.ContactListTitle = 'Group List';\r\n this.chatGroupMessageSearchFlag = false;\r\n this.chatGroupMessagekeyword = '';\r\n this.ChatMode = false;\r\n setTimeout(() => {\r\n if (!(typeof this.inputGroupSearch === \"undefined\")) {\r\n this.inputGroupSearch.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n\r\n }\r\n async ChatUserClick(receiver: any) {\r\n this.reset();\r\n this.globalRecceivingMessageId = -1;\r\n if (receiver.isLogged) {\r\n receiver.loggedColor = {\r\n 'border': \"0px solid #33A532\",\r\n 'border-radius': \"50%\"\r\n };\r\n receiver.loggedCss = 'dot-logged';\r\n }\r\n else {\r\n receiver.loggedColor = {\r\n 'border': \"0px solid red\",\r\n 'border-radius': \"50%\"\r\n };\r\n receiver.loggedCss = 'dot';\r\n }\r\n this.receiverUser = [];\r\n this.receiverUser.push(receiver);\r\n //console.log(\"receiverUser \", this.receiverUser);\r\n this.ContactList = false;\r\n this.ChatList = true;\r\n this.ChatImage = false;\r\n this.ChatHistoryList = false;\r\n this.ChatMode = true;\r\n this.chatService.SetActiveWindow(this.receiverUser);\r\n this.chatService.getChatMessage(this.receiverUser);\r\n this.ContactTitle = receiver.userName ;\r\n this.globalMessageId = 0;\r\n this.messageChatDate = [];\r\n this.setChatMessageRead();\r\n //this.getChatMessage();\r\n this.message = \"\";\r\n //his.inputMessage.nativeElement.focus();\r\n if (this.recentSearchChatMessageExist) {\r\n if (this.recentKeyword != \"\") {\r\n this.chatMessagekeyword = this.recentKeyword;\r\n this.chatMessageSearchFlag = true;\r\n setTimeout(() => {\r\n this.chatMessageSearch();\r\n }, 2000);\r\n\r\n }\r\n }\r\n setTimeout(() => {\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }, 100);\r\n\r\n }\r\n recetChatGroupClick(item: any ): void {\r\n this.ChatMode = false;\r\n this.groupAddUserId = 0;\r\n \r\n if (this.recentSearchChatGroupMessageExist) {\r\n if (this.recentKeyword != '') {\r\n this.chatGroupMessageSearchFlag = true;\r\n this.chatGroupMessagekeyword = this.recentKeyword;\r\n setTimeout(() => {\r\n this.chatGroupMessageSearch();\r\n }, 2000);\r\n }\r\n else {\r\n this.chatGroupMessageSearchFlag = false;\r\n this.chatGroupMessagekeyword = '';\r\n }\r\n }\r\n else {\r\n this.chatGroupMessageSearchFlag = false;\r\n this.chatGroupMessagekeyword = '';\r\n }\r\n this.chatGroupClick(item);\r\n }\r\n chatGroupClick(item: any): void {\r\n if (this.groupAddUserId == 0) {\r\n \r\n this.reset();\r\n this.selectedGroup = item;\r\n this.chatGroupService.SetActiveGroupWindow(item.chatGroupId);\r\n this.chatGroupService.GetChatGroupMessageByChatGroupId(item.chatGroupId);\r\n this.chatGroupService.SetChatGroupMessageSeen(item.chatGroupId);\r\n\r\n this.ContactList = false;\r\n this.ChatList = true;\r\n this.ChatImage = false;\r\n this.ChatHistoryList = false;\r\n this.ContactTitle = item.groupTitle;\r\n this.groupmessage = \"\";\r\n this.globalMessageId = 0;\r\n this.globalRecceivingGroupMessageId = -1;\r\n setTimeout(() => {\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n else {\r\n this.groupTitle = this.groupTitle.trim();\r\n if (this.groupTitle != '') {\r\n\r\n this.ChatGroupCreate();\r\n }\r\n }\r\n }\r\n GroupCreateClick(item: any) {\r\n //console.log(\"new\",item);\r\n this.reset();\r\n this.groupAddNew = true;\r\n this.groupAddUserId = -1;\r\n if (item != null) {\r\n this.groupAddUserId = item.userID;\r\n this.groupAddUserIds.push(item.userID);\r\n }\r\n this.ContactList = true;\r\n this.ChatList = false;\r\n this.ChatImage = false;\r\n this.ChatHistoryList = false;\r\n this.ChatMode = false;\r\n this.ContactTitle = \"\";\r\n this.ContactListTitle = 'Group List';\r\n this.groupmessage = \"\";\r\n this.groupChatAddUserMode = true;\r\n this.selectedGroup = [];\r\n setTimeout(() => {\r\n if (!(typeof this.inputGroupTitle === \"undefined\")) {\r\n this.inputGroupTitle.nativeElement.focus();\r\n }\r\n }, 100);\r\n\r\n }\r\n chatChatHistoryClick(mode: string): void {\r\n this.searchConversation = \"\";\r\n this.chatHistotyMessage = [];\r\n this.chatGroupHistotyMessage = [];\r\n if (this.editMode) {\r\n this.messageUpdateCancel();\r\n }\r\n this.chatService.ClearActiveWindow();\r\n this.chatGroupService.ClearActiveGroupWindow();\r\n\r\n this.ContactList = false;\r\n this.ChatList = false;\r\n this.ChatHistoryList = true;\r\n this.ChatImage = false;\r\n this.chatHistoryTitle = mode;\r\n if (mode == 'Chat History') {\r\n this.chatHistoryFlag = true;\r\n if (!(typeof this.receiverUser === \"undefined\")) {\r\n if (this.receiverUser.length != 0) {\r\n //console.log(\"receiverUser,\", this.receiverUser);\r\n this.chatHistoryTitle = this.chatHistoryTitle + ' ( ' + this.receiverUser[0].userName + ' ) ';\r\n }\r\n }\r\n if (!(typeof this.selectedGroup === \"undefined\")) {\r\n if (this.selectedGroup.length != 0) {\r\n //console.log(\"selectedGroup\", this.selectedGroup);\r\n this.chatHistoryTitle = this.chatHistoryTitle + ' ( ' + this.selectedGroup.groupTitle + ' ) ';\r\n }\r\n }\r\n }\r\n else {\r\n this.chatHistoryFlag = false;\r\n }\r\n setTimeout(() => {\r\n if (!(typeof this.inputHistorySearch === \"undefined\")) {\r\n this.inputHistorySearch.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n async setChatMessageRead() {\r\n\r\n \r\n if (!(typeof this.chatService.messageUnreadCount === \"undefined\")) {\r\n var unseen = this.chatService.messageUnreadCount.filter(x => ((x.receiverId == this.userData.userId) && (x.senderId == this.receiverUser[0].userID)));\r\n \r\n if (unseen.length != 0) {\r\n if (unseen[0].unReadMessageCount != 0) {\r\n \r\n await this.chatService.setChatMessageRead(this.receiverUser);\r\n this.chatService.getChatMessageUnreadCount();\r\n }\r\n\r\n }\r\n \r\n \r\n }\r\n }\r\n chatMessageSearchShow() {\r\n \r\n\r\n this.chatMessageSearchFlag = !this.chatMessageSearchFlag;\r\n if (this.chatMessageSearchFlag) {\r\n setTimeout(() => {\r\n if (!(typeof this.inputChatMessageSearch === \"undefined\")) {\r\n this.inputChatMessageSearch.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n else {\r\n this.chatMessagekeyword = \"\";\r\n setTimeout(() => {\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n }\r\n chatGroupMessageSearchShow() {\r\n \r\n\r\n this.chatGroupMessageSearchFlag = !this.chatGroupMessageSearchFlag;\r\n \r\n if (this.chatGroupMessageSearchFlag) {\r\n setTimeout(() => {\r\n //console.log(!(typeof this.inputChatGroupMessageSearch === \"undefined\"));\r\n if (!(typeof this.inputChatGroupMessageSearch === \"undefined\")) {\r\n \r\n this.inputChatGroupMessageSearch.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n else {\r\n this.chatGroupMessagekeyword = \"\";\r\n setTimeout(() => {\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n }\r\n closeGroupCreateWindow() {\r\n if (this.groupAddUserId > 0) {\r\n this.chatContactListClick('Contact List');\r\n } else {\r\n this.chatContactListClick('Group List');\r\n }\r\n }\r\n chatMessageUserIds: any[] = [];\r\n chatGroupIds: any[] = [];\r\n searchRecentList() {\r\n this.chatMessageUserIds = [];\r\n this.chatGroupIds = [];\r\n this.httpService.get('api/Chat/GetChatMessageRecentListByKeyword/' + this.recentKeyword + '/' + this.userData.userId)\r\n .subscribe(\r\n data => {\r\n this.chatMessageUserIds = data;\r\n \r\n },\r\n error => {\r\n \r\n }\r\n );\r\n this.httpService.get('api/Chat/GetChatGroupMessageRecentListByKeyword/' + this.recentKeyword + '/' + this.userData.userId)\r\n .subscribe(\r\n data => {\r\n this.chatGroupIds = data;\r\n \r\n },\r\n error => {\r\n \r\n }\r\n );\r\n }\r\n recentSearchChatMessageExist: boolean = false;\r\n recentSearchChatGroupMessageExist: boolean = false;\r\n getRecentChatList(): any[] {\r\n this.recentSearchChatMessageExist = false;\r\n this.recentSearchChatGroupMessageExist = false;\r\n var recentList: any[] = [];\r\n if (!(typeof this.chatService.chatUsers === \"undefined\")) {\r\n \r\n var users :any[] = this.chatService.chatUsers.filter(x => x.userID != this.userData.userId).filter(it => it.userName.toLowerCase().includes(this.recentKeyword.toLowerCase()));\r\n if (!(typeof this.chatMessageUserIds === \"undefined\")) {\r\n if (this.chatMessageUserIds.length > 0) {\r\n for (let n = 0; n < this.chatMessageUserIds.length; ++n) {\r\n if (users.filter(x => (x.userID == this.chatMessageUserIds[n].userId)).length == 0) {\r\n if (this.chatService.chatUsers.filter(x => x.userID == this.chatMessageUserIds[n].userId).length > 0) {\r\n \r\n users.push(this.chatService.chatUsers.filter(x => x.userID == this.chatMessageUserIds[n].userId)[0]);\r\n this.recentSearchChatMessageExist = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n \r\n \r\n for (let n = 0; n < users.length; ++n) {\r\n \r\n users[n].cdate = 0;\r\n if (!(typeof this.chatService.messageUnreadCount === \"undefined\")) {\r\n if (this.chatService.messageUnreadCount.length > 0) {\r\n var receiverUsers = this.chatService.messageUnreadCount.filter(x => (x.receiverId == this.userData.userId));\r\n var msgcount = receiverUsers.filter(x => (x.senderId == users[n].userID));\r\n \r\n if (msgcount.length > 0) {\r\n users[n].unReadMessage = msgcount[0].unReadMessageCount;\r\n }\r\n else {\r\n users[n].unReadMessage = \"\";\r\n }\r\n }\r\n }\r\n else { users[n].unReadMessage = \"\";}\r\n if (users[n].isLogged) {\r\n users[n].loggedColor = {\r\n border: \"1px solid #33A532\",\r\n borderRadius: \"50%\",\r\n\r\n };\r\n users[n].loggedCss = 'dot-logged';\r\n }\r\n else {\r\n users[n].loggedColor = {\r\n border: \"1px solid red\",\r\n borderRadius: \"50%\",\r\n\r\n };\r\n users[n].loggedCss = 'dot';\r\n }\r\n users[n].userFlag = true;\r\n users[n].message = \"\";\r\n users[n].createdDate = \"\";\r\n if (!(typeof this.chatService.lastMessageAll === \"undefined\")) {\r\n if (this.chatService.lastMessageAll.length > 0) {\r\n var lmessage = this.chatService.lastMessageAll.filter(x => (\r\n ((x.senderId == this.userData.userId) && (x.receiverId == users[n].userID))\r\n || ((x.receiverId == this.userData.userId) && (x.senderId == users[n].userID))\r\n ))\r\n .sort(function (a, b) {\r\n return b.chatMessageId - a.chatMessageId;\r\n });\r\n if (lmessage.length > 0) {\r\n users[n].message = lmessage[0].message;\r\n users[n].cdate = new Date(lmessage[0].createdDate).getTime();\r\n recentList.push(users[n])\r\n }\r\n \r\n }\r\n }\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n }\r\n\r\n if (!(typeof this.chatGroupService.chatGroupDetails === \"undefined\")) {\r\n \r\n var groupDetails = this.chatGroupService.chatGroupDetails.filter(x => (x.userId == this.userData.userId))\r\n \r\n for (let n = 0; n < groupDetails.length; n++) {\r\n var i = groupDetails[n];\r\n\r\n if (!(typeof this.chatGroupService.groupMessageUnreadCount === \"undefined\")) {\r\n\r\n var item = this.chatGroupService.groupMessageUnreadCount.filter(x =>\r\n ((x.chatGroupId == groupDetails[n].chatGroupId) && (x.userId == this.userData.userId)));\r\n if (item.length == 0) { i.unReadMessage = ''; }\r\n else if (item[0].unReadMessageCount == 0) { i.unReadMessage = ''; }\r\n else { i.unReadMessage = item[0].unReadMessageCount; }\r\n }\r\n else { i.unReadMessage = ''; }\r\n\r\n i.receiverNames = this.getGroupChatReceiverNames(i.chatGroupId);\r\n i.userFlag = false;\r\n i.message = \"\";\r\n i.createdDate = \"\";\r\n i.cdate = 0;\r\n if (!(typeof this.chatGroupService.lastChatGroupMessage === \"undefined\")) {\r\n if (this.chatGroupService.lastChatGroupMessage.length > 0) {\r\n var lmessage = this.chatGroupService.lastChatGroupMessage.filter(x => (\r\n x.chatGroupId == i.chatGroupId) )\r\n .sort(function (a, b) {\r\n return b.chatGroupMessageId - a.chatGroupMessageId;\r\n });\r\n if (lmessage.length > 0) {\r\n i.message = lmessage[0].message;\r\n i.cdate = new Date(lmessage[0].createdDate).getTime();\r\n }\r\n\r\n \r\n if (this.recentKeyword != '') {\r\n if (this.chatGroupIds.filter(x => (x.chatGroupId == groupDetails[n].chatGroupId)).length > 0) {\r\n recentList.push(i);\r\n this.recentSearchChatGroupMessageExist = true;\r\n }\r\n else {\r\n var f = this.chatGroupService.chatGroupDetails.filter(x => x.userName.toLowerCase().includes(this.recentKeyword.toLowerCase()));\r\n f = f.filter(x => x.chatGroupId == groupDetails[n].chatGroupId);\r\n if (f.length != 0) {\r\n recentList.push(i);\r\n }\r\n else {\r\n if (groupDetails[n].groupTitle.toLowerCase().includes(this.recentKeyword.toLowerCase())) {\r\n recentList.push(i);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n //if (groupDetails[n].groupTitle.toLowerCase().includes(this.groupkeyword.toLowerCase())) {\r\n recentList.push(i);\r\n // }\r\n }\r\n }\r\n }\r\n \r\n }\r\n \r\n }\r\n \r\n return recentList.sort(function (a, b) {\r\n \r\n return b.cdate - a.cdate;\r\n });\r\n }\r\n getChatUsers(): any[] {\r\n if (!(typeof this.chatService.chatUsers === \"undefined\")) {\r\n \r\n var users = this.chatService.chatUsers.filter(x => x.userID != this.userData.userId);\r\n if (!(typeof this.chatService.messageUnreadCount === \"undefined\")) {\r\n if (this.chatService.messageUnreadCount.length > 0) {\r\n var receiverUsers = this.chatService.messageUnreadCount.filter(x => (x.receiverId == this.userData.userId))\r\n for (let n = 0; n < users.length; ++n) {\r\n \r\n var msgcount = receiverUsers.filter(x => (x.senderId == users[n].userID));\r\n \r\n if (msgcount.length > 0) {\r\n users[n].unReadMessageCount = msgcount[0].unReadMessageCount;\r\n }\r\n else {\r\n users[n].unReadMessageCount = \"\";\r\n }\r\n if (users[n].isLogged) {\r\n users[n].loggedColor = {\r\n 'border': \"0px solid #33A532\",\r\n 'border-radius': \"50%\"\r\n };\r\n users[n].loggedCss = 'dot-logged';\r\n }\r\n else {\r\n users[n].loggedColor = {\r\n 'border': \"0px solid red\",\r\n 'border-radius': \"50%\"\r\n };\r\n users[n].loggedCss = 'dot';\r\n }\r\n }\r\n }\r\n }\r\n \r\n return users.filter(it => it.userName.toLowerCase().includes(this.keyword.toLowerCase())).sort(function (a, b) {\r\n return b.isLogged - a.isLogged || b.unReadMessageCount - a.unReadMessageCount;\r\n });\r\n\r\n }\r\n }\r\n userBgColor(item: any): string {\r\n \r\n var clrCode = '#0' + item.senderId + '9';\r\n\r\n var i = this.chatService.chatUsers.filter(x => x.userID == item.senderId);\r\n if (i.length != 0) {\r\n clrCode = '#' + i[0].colorCode;\r\n }\r\n \r\n return clrCode;\r\n }\r\n messageAllLocal: any[] = []\r\n chatMessageKeywordTrack: boolean = true;\r\n chatMessageSearchEvent($event: any) { \r\n \r\n if (($event.shiftKey) && ($event.key == 'Enter')) {\r\n this.chatSerachDown();\r\n }\r\n else {\r\n if (($event.key != 'Enter') && ($event.key != 'Shift')) {\r\n this.chatMessageSearch()\r\n }\r\n }\r\n }\r\n chatMessageSearch() {\r\n this.chatMessageKeywordTrack = true;\r\n this.chatMessageSearchList = [];\r\n this.pagingLabel = \"0/0\";\r\n this.messageCounter = 0;\r\n if (this.chatMessagekeyword != \"\") {\r\n if (!(typeof this.chatService.messageAll === \"undefined\")) {\r\n this.messageAllLocal = this.chatService.messageAll.filter(x => (\r\n ((x.senderId == this.receiverUser[0].userID) && (x.receiverId == this.userData.userId)) ||\r\n ((x.receiverId == this.receiverUser[0].userID) && (x.senderId == this.userData.userId))\r\n ));\r\n\r\n this.chatMessageSearchList = this.messageAllLocal.filter(x => x.message.toLowerCase().includes(this.chatMessagekeyword.toLowerCase())).sort(function (a, b) {\r\n return b.chatMessageId - a.chatMessageId;\r\n });\r\n if (this.chatMessageSearchList.length == 0) {\r\n this.pagingLabel = \"0/0\";\r\n }\r\n else {\r\n this.pagingLabel = \"1/\" + this.chatMessageSearchList.length;\r\n this.activeChatMessageId = this.chatMessageSearchList[this.messageCounter].chatMessageId;\r\n let HTMLElementObj: HTMLDivElement = document.getElementById(\"divChatMessage\" + this.chatMessageSearchList[this.messageCounter].chatMessageId) as HTMLDivElement;\r\n let HTMLDivElementObj: HTMLDivElement = document.getElementById(\"chatMessageDiv\") as HTMLDivElement;\r\n HTMLDivElementObj.scrollTop = HTMLElementObj.offsetTop - HTMLDivElementObj.offsetTop;\r\n }\r\n\r\n\r\n for (let n = 0; n < this.messageAllLocal.length; ++n) {\r\n\r\n if (this.chatMessagekeyword != this.chatMessagekeywordOld) {\r\n if ((this.chatMessagekeyword != \"\") && (this.chatMessageSearchList.length > 0)) {\r\n this.messageAllLocal[n].updateMessage = this.updateChatMesageForSearch(this.messageAllLocal[n].chatMessageId, this.messageAllLocal[n].message);\r\n\r\n if (this.globalMessageId == this.messageAllLocal[n].chatMessageId) {\r\n this.chatMessagekeywordOld = this.chatMessagekeyword;\r\n }\r\n }\r\n\r\n }\r\n }\r\n //console.log(this.messageAllLocal);\r\n }\r\n }\r\n \r\n \r\n }\r\n chetMessageSearchMove($event: any) {\r\n \r\n }\r\n chatSerachDown() {\r\n\r\n if (this.messageCounter > 0) {\r\n this.messageCounter = this.messageCounter - 1;\r\n this.activeChatMessageId = this.chatMessageSearchList[this.messageCounter].chatMessageId;\r\n \r\n let HTMLElementObj: HTMLDivElement = document.getElementById(\"divChatMessage\" + this.chatMessageSearchList[this.messageCounter].chatMessageId) as HTMLDivElement;\r\n let HTMLDivElementObj: HTMLDivElement = document.getElementById(\"chatMessageDiv\") as HTMLDivElement;\r\n HTMLDivElementObj.scrollTop = HTMLElementObj.offsetTop - HTMLDivElementObj.offsetTop;\r\n this.pagingLabel = (this.messageCounter + 1) + \"/\" + this.chatMessageSearchList.length;\r\n }\r\n }\r\n chatSerachUP() {\r\n //console.log(\"chatSerachUP\" + this.messageCounter);\r\n if (this.messageCounter < this.chatMessageSearchList.length) {\r\n this.messageCounter = this.messageCounter + 1;\r\n this.activeChatMessageId = this.chatMessageSearchList[this.messageCounter].chatMessageId;\r\n \r\n let HTMLElementObj: HTMLDivElement = document.getElementById(\"divChatMessage\" + this.chatMessageSearchList[this.messageCounter].chatMessageId) as HTMLDivElement;\r\n let HTMLDivElementObj: HTMLDivElement = document.getElementById(\"chatMessageDiv\") as HTMLDivElement;\r\n HTMLDivElementObj.scrollTop = HTMLElementObj.offsetTop - HTMLDivElementObj.offsetTop;\r\n this.pagingLabel = (this.messageCounter + 1) + \"/\" + this.chatMessageSearchList.length;\r\n }\r\n }\r\n \r\n chatGroupMessagesLocal: any[] = [];\r\n chatGroupMessagekeywordOld: string = '';\r\n chatGroupMessageKeywordTrack: boolean = true;\r\n chatGroupMessageSearchEvent($event: any) {\r\n //console.log(\"chatGroupMessageSearchEvent \",$event);\r\n if (($event.shiftKey) && ($event.key == 'Enter')) {\r\n this.chatGroupSerachDown();\r\n }\r\n else {\r\n if (($event.key != 'Enter') && ($event.key != 'Shift') ){\r\n this.chatGroupMessageSearch()\r\n }\r\n }\r\n }\r\n chatGroupMessageSearch() {\r\n \r\n this.chatGroupMessageKeywordTrack = true;\r\n this.chatGroupMessageSearchList = [];\r\n this.pagingLabel = \"0/0\";\r\n this.messageCounter = 0;\r\n if (this.chatGroupMessagekeyword != \"\") {\r\n \r\n if (!(typeof this.chatGroupService.chatGroupMessages === \"undefined\")) {\r\n\r\n this.chatGroupMessagesLocal = this.chatGroupService.chatGroupMessages.filter(x => x.chatGroupId == this.selectedGroup.chatGroupId);\r\n this.chatGroupMessageSearchList = this.chatGroupMessagesLocal.filter(x => x.message.toLowerCase().includes(this.chatGroupMessagekeyword.toLowerCase())).sort(function (a, b) {\r\n return b.chatGroupMessageId - a.chatGroupMessageId;\r\n });\r\n if (this.chatGroupMessageSearchList.length == 0) {\r\n this.pagingLabel = \"0/0\";\r\n }\r\n else {\r\n this.pagingLabel = \"1/\" + this.chatGroupMessageSearchList.length;\r\n this.activeChatGroupMessageId = this.chatGroupMessageSearchList[this.messageCounter].chatGroupMessageId;\r\n \r\n let HTMLElementObj: HTMLDivElement = document.getElementById(\"divChatGroupMessage\" + this.chatGroupMessageSearchList[this.messageCounter].chatGroupMessageId) as HTMLDivElement;\r\n let HTMLDivElementObj: HTMLDivElement = document.getElementById(\"chatGroupMessageDiv\") as HTMLDivElement;\r\n HTMLDivElementObj.scrollTop = HTMLElementObj.offsetTop - HTMLDivElementObj.offsetTop;\r\n }\r\n }\r\n \r\n\r\n for (let n = 0; n < this.chatGroupMessagesLocal.length; ++n) {\r\n\r\n if (this.chatGroupMessagekeyword != this.chatGroupMessagekeywordOld) {\r\n if ((this.chatGroupMessagekeyword != \"\") && (this.chatGroupMessageSearchList.length > 0)) {\r\n this.chatGroupMessagesLocal[n].updateMessage = this.updateChatGroupMesageForSearch(this.chatGroupMessagesLocal[n].chatGroupMessageId, this.chatGroupMessagesLocal[n].message);\r\n\r\n if (this.globalMessageId == this.chatGroupMessagesLocal[n].chatGroupMessageId) {\r\n this.chatGroupMessagekeywordOld = this.chatGroupMessagekeyword;\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n \r\n }\r\n chetGroupMessageSearchMove($event: any) {\r\n //console.log(\"chetGroupMessageSearchMove \",$event);\r\n \r\n this.chatGroupSerachUP();\r\n \r\n }\r\n chatGroupSerachDown() {\r\n\r\n if (this.messageCounter > 0) {\r\n \r\n this.messageCounter = this.messageCounter - 1;\r\n this.activeChatGroupMessageId = this.chatGroupMessageSearchList[this.messageCounter].chatGroupMessageId;\r\n \r\n let HTMLElementObj: HTMLDivElement = document.getElementById(\"divChatGroupMessage\" + this.chatGroupMessageSearchList[this.messageCounter].chatGroupMessageId) as HTMLDivElement;\r\n let HTMLDivElementObj: HTMLDivElement = document.getElementById(\"chatGroupMessageDiv\") as HTMLDivElement;\r\n HTMLDivElementObj.scrollTop = HTMLElementObj.offsetTop - HTMLDivElementObj.offsetTop;\r\n this.pagingLabel = (this.messageCounter + 1) + \"/\" + this.chatGroupMessageSearchList.length;\r\n }\r\n }\r\n chatGroupSerachUP() {\r\n //console.log(\"chatSerachUP\" + this.messageCounter);\r\n if (this.messageCounter < this.chatGroupMessageSearchList.length-1) {\r\n this.messageCounter = this.messageCounter + 1;\r\n this.activeChatGroupMessageId = this.chatGroupMessageSearchList[this.messageCounter].chatGroupMessageId;\r\n //console.log(\"chatSerachUP\" + this.messageCounter);\r\n let HTMLElementObj: HTMLDivElement = document.getElementById(\"divChatGroupMessage\" + this.chatGroupMessageSearchList[this.messageCounter].chatGroupMessageId) as HTMLDivElement;\r\n let HTMLDivElementObj: HTMLDivElement = document.getElementById(\"chatGroupMessageDiv\") as HTMLDivElement;\r\n HTMLDivElementObj.scrollTop = HTMLElementObj.offsetTop - HTMLDivElementObj.offsetTop;\r\n this.pagingLabel = (this.messageCounter + 1) + \"/\" + this.chatGroupMessageSearchList.length;\r\n }\r\n }\r\n async getChatMessage() {\r\n\r\n this.messageChatDate = [];\r\n this.messageChatDate = this.chatService.messageAll.map(item => item.createdDateOnly)\r\n .filter((value, index, self) => self.indexOf(value) === index);\r\n //console.log('results', this.messageChatDate);\r\n\r\n }\r\n\r\n getChatMessageDate() {\r\n if (!(typeof this.chatService.messageAll === \"undefined\")) {\r\n this.messageAllLocal = this.chatService.messageAll.filter(x => (\r\n ((x.senderId == this.receiverUser[0].userID) && (x.receiverId == this.userData.userId)) ||\r\n ((x.receiverId == this.receiverUser[0].userID) && (x.senderId == this.userData.userId))\r\n ));\r\n this.messageChatDate = this.messageAllLocal.map(item => item.createdDateOnly)\r\n .filter((value, index, self) => self.indexOf(value) === index);\r\n\r\n }\r\n //console.log(this.messageChatDate);\r\n return this.messageChatDate;\r\n\r\n }\r\n updateChatGroupMesageForSearch(chatGroupMessageId: number, msg: string) {\r\n if (this.chatGroupMessagekeyword.trim() != '') {\r\n if (msg.toLowerCase().includes(this.chatMessagekeyword.toLowerCase())) {\r\n var regEx = new RegExp(this.chatGroupMessagekeyword.trim(), \"ig\");\r\n if ((this.messageCounter >= 0) && (this.messageCounter < this.chatGroupMessageSearchList.length)) {\r\n if (this.chatGroupMessageSearchList[this.messageCounter].chatGroupMessageId == chatGroupMessageId) {\r\n msg = msg.replace(regEx, '' + this.chatGroupMessagekeyword.trim() + '');\r\n }\r\n else {\r\n msg = msg.replace(regEx, '' + this.chatGroupMessagekeyword.trim().toLowerCase() + '');\r\n }\r\n }\r\n else {\r\n msg = msg.replace(regEx, '' + this.chatGroupMessagekeyword.trim() + '');\r\n }\r\n }\r\n }\r\n msg = msg.replace('\\n', '
');\r\n msg = this.mesasgeUpdateForLink(0, msg, this.chatGroupMessagekeyword.trim());\r\n msg = this.mesasgeUpdateForLink(1, msg, this.chatGroupMessagekeyword.trim());\r\n msg = this.mesasgeUpdateForLink(2, msg, this.chatGroupMessagekeyword.trim());\r\n msg = this.mesasgeUpdateForUrlLink(0, msg, this.chatGroupMessagekeyword.trim());\r\n msg = this.mesasgeUpdateForUrlLink(1, msg, this.chatGroupMessagekeyword.trim());\r\n msg = this.mesasgeUpdateForUrlLink(2, msg, this.chatGroupMessagekeyword.trim());\r\n \r\n\r\n\r\n return this.domSanitizer.bypassSecurityTrustHtml( msg);\r\n }\r\n \r\n mesasgeUpdateForLink(flag: number, inputMessage: string, searchText:string):string {\r\n var Keyword: string = \"\";\r\n var link: string = \"\";\r\n if (flag == 0) {\r\n Keyword = '#SKU';\r\n link = '/admin/catalog-tool/product/DisplayEditProduct/';\r\n }\r\n if (flag == 1) {\r\n Keyword = '#OrderId';\r\n link = '/admin/orders/order-details/';\r\n }\r\n if (flag == 2) {\r\n Keyword = '#Ticket';\r\n link = '/admin/task/view/';\r\n }\r\n if (searchText.trim() != '') {\r\n if (Keyword.toLowerCase().includes(searchText.toLowerCase())) {\r\n var regEx = new RegExp(searchText.trim(), \"ig\");\r\n Keyword = Keyword.replace(regEx, '' + searchText + '');\r\n }\r\n }\r\n let msg: string = \"\";\r\n if (inputMessage.indexOf(Keyword) > -1) {\r\n var arr = inputMessage.split(Keyword);\r\n msg = arr[0];\r\n \r\n for (let n = 1; n < arr.length; ++n) {\r\n msg = msg + Keyword;\r\n let temp: string = arr[n];\r\n if (temp != '') {\r\n let tempArr: any[] = temp.split(\" \");\r\n let str: string = \"\";\r\n let idflag: boolean = false;\r\n for (let m = 0; m < tempArr.length; ++m) {\r\n if (!idflag) {\r\n if (tempArr[m] == '') { msg = msg + ' '; }\r\n else {\r\n let id: string = tempArr[m];\r\n let linkId: string = id;\r\n linkId = linkId.replace('', '').replace('', '');\r\n if (flag == 2) {\r\n linkId = linkId.replace(/[sSmMuUrR]/g, '');\r\n }\r\n msg = msg + '' + id + '';\r\n idflag = true;\r\n }\r\n }\r\n else {\r\n str = str + ' ' + tempArr[m];\r\n }\r\n }\r\n msg = msg + str;\r\n }\r\n }\r\n }\r\n else { msg = inputMessage; }\r\n return msg;\r\n }\r\n mesasgeUpdateForUrlLink(flag: number, inputMessage: string, searchText: string): string {\r\n var Keyword: string = \"\";\r\n var link: string = \"\";\r\n if (flag == 0) {\r\n Keyword = 'https:';\r\n \r\n }\r\n if (flag == 1) {\r\n Keyword = 'http:';\r\n }\r\n if (flag == 2) {\r\n Keyword = 'www.';\r\n }\r\n if (searchText.trim() != '') {\r\n if (Keyword.toLowerCase().includes(searchText.toLowerCase())) {\r\n var regEx = new RegExp(searchText.trim(), \"ig\");\r\n Keyword = Keyword.replace(regEx, '' + searchText + '');\r\n }\r\n }\r\n let msg: string = \"\";\r\n if (inputMessage.indexOf(Keyword) > -1) {\r\n var arr = inputMessage.split(Keyword);\r\n msg = arr[0];\r\n\r\n for (let n = 1; n < arr.length; ++n) {\r\n link = Keyword.replace('', '').replace('', '')\r\n let temp: string = arr[n];\r\n if (temp != '') {\r\n let tempArr: any[] = temp.split(\" \");\r\n\r\n let str: string = \"\";\r\n let idflag: boolean = false;\r\n for (let m = 0; m < tempArr.length; ++m) {\r\n if (!idflag) {\r\n if (tempArr[m] == '') { msg = msg + ' '; }\r\n else {\r\n let id: string = tempArr[m];\r\n let linkUrl: string = id;\r\n let linkText: string =link+ id;\r\n //console.log(m, linkUrl);\r\n linkUrl = link + linkUrl.replace('', '').replace('', '');\r\n //console.log(m, linkUrl);\r\n if (flag == 0) {\r\n linkUrl = linkUrl.replace('https://www.', 'https://');\r\n linkText = linkText.replace('https://www.', 'https://');\r\n }\r\n if (flag == 1) {\r\n linkUrl = linkUrl.replace('http://www.', 'http://');\r\n linkText = linkText.replace('http://www.', 'http://');\r\n }\r\n if (flag == 2) {\r\n linkUrl = linkUrl.replace('www.', '');\r\n linkText = linkText.replace('www.', '');\r\n }\r\n if (flag == 2) {\r\n msg = msg + '' + linkText + '';\r\n }\r\n else {\r\n msg = msg + '' + linkText + '';\r\n }\r\n idflag = true;\r\n }\r\n }\r\n else {\r\n str = str + ' ' + tempArr[m];\r\n }\r\n }\r\n msg = msg + str;\r\n }\r\n }\r\n }\r\n else { msg = inputMessage; }\r\n return msg;\r\n }\r\n updateChatMesageForSearch(chatMessageId: number, msg: string) {\r\n let flag: boolean = false;\r\n if (this.chatMessagekeyword.trim() != '') {\r\n if (msg.toLowerCase().includes(this.chatMessagekeyword.toLowerCase())) {\r\n var regEx = new RegExp(this.chatMessagekeyword.trim(), \"ig\");\r\n if ((this.messageCounter >= 0) && (this.messageCounter < this.chatMessageSearchList.length)) {\r\n \r\n if (this.chatMessageSearchList[this.messageCounter].chatMessageId == chatMessageId) {\r\n flag = true;\r\n msg = msg.replace(regEx, '' + this.chatMessagekeyword.trim() + '');\r\n }\r\n else {\r\n msg = msg.replace(regEx, '' + this.chatMessagekeyword.trim() + '');\r\n }\r\n }\r\n else {\r\n msg = msg.replace(regEx, '' + this.chatMessagekeyword.trim() + '');\r\n }\r\n }\r\n }\r\n msg = msg.replace('\\n', '
');\r\n msg = this.mesasgeUpdateForLink(0, msg, this.chatMessagekeyword.trim());\r\n msg = this.mesasgeUpdateForLink(1, msg, this.chatMessagekeyword.trim() );\r\n msg = this.mesasgeUpdateForLink(2, msg, this.chatMessagekeyword.trim() );\r\n msg = this.mesasgeUpdateForUrlLink(0, msg, this.chatGroupMessagekeyword.trim());\r\n msg = this.mesasgeUpdateForUrlLink(1, msg, this.chatGroupMessagekeyword.trim());\r\n msg = this.mesasgeUpdateForUrlLink(2, msg, this.chatGroupMessagekeyword.trim());\r\n return this.domSanitizer.bypassSecurityTrustHtml(msg);\r\n }\r\n chatMessagekeywordOld: string = \"\";\r\n getChatMessageByDate(dt: string): any[] {\r\n this.globalMessageId = Math.max.apply(Math, this.chatService.messageAll.filter(x => (\r\n ((x.senderId == this.receiverUser[0].userID) && (x.receiverId == this.userData.userId)) ||\r\n ((x.receiverId == this.receiverUser[0].userID) && (x.senderId == this.userData.userId))\r\n )).map(function (o) { return o.chatMessageId; }));\r\n\r\n let chatMessage:any[] = this.messageAllLocal.filter(x => x.createdDateOnly == dt);\r\n \r\n for (let n = 0; n < chatMessage.length; ++n) {\r\n if ((chatMessage[n].updateMessage == '') ) {\r\n chatMessage[n].updateMessage = this.updateChatMesageForSearch(chatMessage[n].chatMessageId, chatMessage[n].message);\r\n }\r\n }\r\n \r\n return chatMessage.sort(function (a, b) {\r\n return a.chatMessageId - b.chatMessageId;\r\n });\r\n }\r\n chatGroupEditCancel() {\r\n this.groupTitle = \"\";\r\n this.editGroupEdit = false;\r\n\r\n this.selectedGroup = [];\r\n\r\n setTimeout(() => {\r\n if (!(typeof this.inputGroupSearch === \"undefined\")) {\r\n this.inputGroupSearch.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n chatGroupEdit(item: any) {\r\n\r\n this.editGroupEdit = true;\r\n this.selectedGroup = item;\r\n this.groupTitle = item.groupTitle;\r\n\r\n setTimeout(() => {\r\n if (!(typeof this.inputEditGroupTitle === \"undefined\")) {\r\n this.inputEditGroupTitle.nativeElement.focus();\r\n }\r\n }, 100);\r\n }\r\n async enterGroupTitleKeyup($event: any) {\r\n $event.preventDefault();\r\n this.groupTitle = this.groupTitle.trim();\r\n if (this.groupTitle != '') {\r\n //this.groupTitleSendButton.nativeElement.focus();\r\n this.ChatGroupCreate();\r\n }\r\n }\r\n ChatGroupActivate() {\r\n var fd = {\r\n \"ChatGroupId\": this.selectedGroup.chatGroupId,\r\n \"UpdatedBy\": this.userData.userId\r\n }\r\n\r\n this.isLoading = true;\r\n this.httpService.post('api/chat/ChatGroupActivate/', fd)\r\n .subscribe(\r\n data => {\r\n this.groupTitle = \"\";\r\n this.chatGroupService.GetChatGroupDetails();\r\n this.GetChatGroupArchiveDetailsByUserId();\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 2000);\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n ChaGroupArchive() {\r\n var fd = {\r\n \"ChatGroupId\": this.selectedGroup.chatGroupId,\r\n \"UpdatedBy\": this.userData.userId\r\n }\r\n var item = this.chatGroupService.chatGroupDetails.filter(x =>\r\n ((x.chatGroupId == this.selectedGroup.chatGroupId) && (x.userId == this.userData.userId))\r\n );\r\n //console.log(item);\r\n const index: number = this.chatGroupService.chatGroupDetails.indexOf(item);\r\n //console.log(index);\r\n if (index !== -1) {\r\n this.chatGroupService.chatGroupDetails.splice(index, 1);\r\n }\r\n this.isLoading = true;\r\n this.httpService.post('api/chat/ChatGroupDelete/', fd)\r\n .subscribe(\r\n data => {\r\n this.groupTitle = \"\";\r\n this.chatGroupService.GetChatGroupDetails();\r\n setTimeout(() => {\r\n this.isLoading = false;\r\n }, 2000);\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n ChatGroupCreate(): void {\r\n this.groupTitleError = false;\r\n if (this.groupTitle == \"\") {\r\n this.groupTitleError = true;\r\n return;\r\n }\r\n\r\n if (this.editGroupEdit) {\r\n this.isLoading = true;\r\n //console.log(\"selectedGroup 3\", this.selectedGroup);\r\n var fd = {\r\n \"ChatGroupId\": this.selectedGroup.chatGroupId,\r\n \"GroupTitle\": this.groupTitle,\r\n \"UpdatedBy\": this.userData.userId\r\n }\r\n this.httpService.post('api/chat/ChatGroupUpdate/', fd)\r\n .subscribe(\r\n data => {\r\n this.groupTitle = \"\";\r\n this.chatGroupService.GetChatGroupDetails();\r\n this.chatGroupEditCancel();\r\n this.isLoading = false;\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n else {\r\n\r\n if (this.groupAddUserIds.length == 0) {\r\n this.selectUserError = true;\r\n return;\r\n }\r\n this.isLoading = true;\r\n var f = {\r\n\r\n \"CreatedBy\": this.userData.userId,\r\n \"GroupTitle\": this.groupTitle\r\n }\r\n this.httpService.post('api/chat/ChatGroupCreate/', f)\r\n .subscribe(\r\n data => {\r\n\r\n this.chatGroupService.GetChatGroupDetails();\r\n \r\n if (this.groupAddUserId != 0) {\r\n \r\n if (data != null) {\r\n for (let n = 0; n < this.groupAddUserIds.length; ++n) {\r\n this.chatGroupService.ChatGroupAddUser(data[0].chatGroupId, this.groupAddUserIds[n]);\r\n }\r\n }\r\n\r\n\r\n setTimeout(() => {\r\n this.groupTitle = \"\";\r\n this.groupAddNew = true;\r\n this.groupAddUserId = 0;\r\n this.groupAddUserIds = [];\r\n this.chatGroupClick(data[0]);\r\n this.isLoading = false;\r\n }, 5000);\r\n }\r\n else {\r\n this.groupTitle = \"\";\r\n this.isLoading = false;\r\n }\r\n \r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n }\r\n\r\n validateFlag: boolean = true;\r\n async messageSend() {\r\n //console.log('start');\r\n this.validateFlag = true;\r\n if (this.message.trim() == \"\") {\r\n return;\r\n }\r\n this.validateFlag = await this.checkInput();\r\n //console.log(\"this.validateFlag \", this.validateFlag);\r\n if (!this.validateFlag) {\r\n\r\n return;\r\n }\r\n //console.log(\"vishal\");\r\n \r\n \r\n if (this.ChatMode) {\r\n let d = new Date();\r\n\r\n\r\n //msg: chatMessage;\r\n let msg = new ChatMessage();\r\n\r\n msg.chatMessageId = this.globalMessageId + 1;\r\n msg.message = this.message;\r\n msg.updateMessage = msg.message;\r\n msg.saveFileName = \"\";\r\n msg.senderId = this.userData.userId;\r\n msg.receiverId = this.receiverUser[0].userID;\r\n msg.isSeen = false;\r\n msg.isDelete = false;\r\n msg.createdDate = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdDateOnly = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdTimeOnly = moment(d).format('hh:mma');\r\n msg.updatedDate = \"\"\r\n msg.senderName = \"\";\r\n msg.receiverName = \"\";\r\n msg.roomName = \"\"\r\n msg.seenDate = \"\"\r\n //console.log(msg);\r\n this.chatService.messageAll.push(msg);\r\n //this.chatMessageSendingCounter = this.chatMessageSendingCounter + 1;\r\n await this.chatService.ChatMessageCreate(this.message.trim(), '', this.receiverUser);\r\n\r\n //console.log(this.messageChat);\r\n this.message = \"\";\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }\r\n }\r\n\r\n async chatMessageDelete(item: any) {\r\n //console.log('chatMessageDelete', item);\r\n this.chatService.ChatMessageDelete(item.chatMessageId);\r\n }\r\n async messageUpdateCancel() {\r\n this.editMode = false;\r\n this.editMessageChat = [];\r\n this.message = \"\";\r\n }\r\n async chatMessageEdit(item: any) {\r\n //console.log('chatMessageDelete', item);\r\n this.editMode = true;\r\n this.editMessageChat = item;\r\n this.message = this.editMessageChat.message;\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }\r\n async messageUpdate() {\r\n //console.log('start');\r\n\r\n if (this.message == \"\") {\r\n return;\r\n }\r\n this.validateFlag = await this.checkInput();\r\n if (!this.validateFlag) {\r\n\r\n return;\r\n }\r\n if (this.ChatMode) {\r\n if (this.message != this.editMessageChat.message) {\r\n await this.chatService.ChatMessageUpdate(this.editMessageChat.chatMessageId, this.message);\r\n this.messageUpdateCancel();\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }\r\n else {\r\n this.messageUpdateCancel();\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }\r\n }\r\n \r\n }\r\n\r\n\r\n\r\n\r\n getGroupChatUsers(): any[] {\r\n\r\n if (!(typeof this.chatGroupService.chatUsers === \"undefined\")) {\r\n //console.log(\"getChatUsers\", this.chatService.chatUsers);\r\n var users = this.chatGroupService.chatUsers.filter(x => x.userID != this.userData.userId);\r\n for (let n = 0; n < users.length; ++n) {\r\n if (users[n].isLogged) {\r\n users[n].loggedColor = {\r\n 'border': \"0px solid #33A532\",\r\n 'border-radius': \"50%\"\r\n };\r\n users[n].loggedCss = 'dot-logged';\r\n }\r\n else {\r\n users[n].loggedColor = {\r\n 'border': \"0px solid red\",\r\n 'border-radius': \"50%\"\r\n };\r\n users[n].loggedCss = 'dot';\r\n }\r\n if (this.groupAddUserId == 0) {\r\n if ((this.chatGroupService.chatGroupDetails.filter(x => ((x.chatGroupId == this.selectedGroup.chatGroupId) && (users[n].userID == x.userId)))).length == 0) {\r\n users[n].isChecked = false;\r\n }\r\n else { users[n].isChecked = true; }\r\n }\r\n else {\r\n if (users[n].userID == this.groupAddUserId) {\r\n users[n].isChecked = true;\r\n }\r\n else { users[n].isChecked = false; }\r\n }\r\n }\r\n return users.filter(it => it.userName.toLowerCase().includes(this.keyword.toLowerCase())).sort(function (a, b) {\r\n return b.isLogged - a.isLogged || b.unReadMessageCount - a.unReadMessageCount;\r\n });\r\n\r\n }\r\n }\r\n getGroupChatReceivers(chatGroupId: number): any {\r\n if (chatGroupId == -1) { chatGroupId = this.selectedGroup.chatGroupId; }\r\n if (!(typeof this.chatGroupService.chatUsers === \"undefined\")) {\r\n var receiverUsers = [];\r\n var users = this.chatGroupService.chatUsers.filter(x => x.userID != this.userData.userId).sort(function (a, b) {\r\n return b.userName - a.userName\r\n });\r\n var recName = \"\";\r\n for (let n = 0; n < users.length; ++n) {\r\n if ((this.chatGroupService.chatGroupDetails.filter(x => ((x.chatGroupId == chatGroupId) && (users[n].userID == x.userId)))).length != 0) {\r\n var item = users[n];\r\n if (item.isLogged) {\r\n item.loggedColor = {\r\n 'border': \"0px solid #33A532\",\r\n 'border-radius': \"50%\"\r\n };\r\n users[n].loggedCss = 'dot-logged';\r\n }\r\n else {\r\n item.loggedColor = {\r\n 'border': \"0px solid red\",\r\n 'border-radius': \"50%\"\r\n };\r\n users[n].loggedCss = 'dot';\r\n }\r\n receiverUsers.push(users[n]);\r\n //\r\n }\r\n }\r\n //console.log( receiverUsers);\r\n return receiverUsers.sort(function (a, b) {\r\n return b.isLogged - a.isLogged | b.userName - a.userName;\r\n });\r\n\r\n }\r\n }\r\n getGroupChatReceiverNames(chatGroupId: number): string {\r\n //if (chatGroupId == -1) { chatGroupId = this.selectedGroup.chatGroupId; }\r\n if (!(typeof this.chatGroupService.chatUsers === \"undefined\")) {\r\n var receiverUsers = [];\r\n var users = this.chatGroupService.chatUsers.filter(x => x.userID != this.userData.userId).sort(function (a, b) {\r\n return b.userName - a.userName\r\n });\r\n var recName = \"\";\r\n for (let n = 0; n < users.length; ++n) {\r\n if ((this.chatGroupService.chatGroupDetails.filter(x => ((x.chatGroupId == chatGroupId) && (users[n].userID == x.userId)))).length != 0) {\r\n receiverUsers.push(users[n]);\r\n if (recName === '') {\r\n recName = users[n].userName;\r\n }\r\n else {\r\n recName = recName + ' , ' + users[n].userName;\r\n }\r\n }\r\n }\r\n //console.log(\"recName \" + chatGroupId, recName)\r\n return recName;\r\n \r\n }\r\n }\r\n getGroupArchiveChatReceiverNames(chatGroupId: number): string {\r\n if (chatGroupId == -1) { chatGroupId = this.selectedGroup.chatGroupId; }\r\n if (!(typeof this.groupDetailsArchive === \"undefined\")) {\r\n var receiverUsers = [];\r\n var users = this.chatGroupService.chatUsers.filter(x => x.userID != this.userData.userId).sort(function (a, b) {\r\n return b.userName - a.userName\r\n });\r\n var recName = \"\";\r\n\r\n for (let n = 0; n < users.length; ++n) {\r\n if ((this.groupDetailsArchive.filter(x => ((x.chatGroupId == chatGroupId) && (users[n].userID == x.userId)))).length != 0) {\r\n //receiverUsers.push(users[n]);\r\n if (recName === '') {\r\n recName = users[n].userName;\r\n }\r\n else {\r\n recName = recName + ' , ' + users[n].userName;\r\n }\r\n }\r\n }\r\n \r\n return recName;\r\n \r\n }\r\n }\r\n getGroupChatReceiverNamesRead(chatGroupId: number, chatGroupMessageId: number): any {\r\n\r\n if (!(typeof this.chatGroupService.chatUsers === \"undefined\")) {\r\n var receiverUsers = [];\r\n var users = this.chatGroupService.chatUsers.filter(x => x.userID != this.userData.userId).sort(function (a, b) {\r\n return b.userName - a.userName\r\n });\r\n \r\n var i = this.chatGroupService.groupMessageUnreadCount.filter(x => ((x.chatGroupId == chatGroupId) && (x.chatGroupMessageLastSeenId == chatGroupMessageId)));\r\n if (i.length != 0) {\r\n for (let n = 0; n < i.length; ++n) {\r\n var u = users.filter(x => (x.userID == i[n].userId));\r\n if (u.length != 0) {\r\n if (i[n].chatGroupMessageLastSeenId != 0) {\r\n let d = new Date(i[n].seenDate);\r\n u[0].seenTitle = u[0].userName + '\\n[' + moment(d).format('MM/DD/YYYY hh:mma') + ']';\r\n //u[0].chatGroupMessageLastSeenId = i[n].chatGroupMessageLastSeenId;\r\n receiverUsers.push(u[0]);\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n //console.log(\"receiverUsers\",receiverUsers);\r\n return receiverUsers.sort(function (a, b) {\r\n return b.userName - a.userName;\r\n });\r\n\r\n }\r\n }\r\n\r\n getChatReceiverNamesRead(): any {\r\n\r\n if (!(typeof this.receiverUser === \"undefined\")) {\r\n\r\n var receiverUsers = [];\r\n\r\n for (let n = 0; n < this.receiverUser.length; ++n) {\r\n\r\n if (this.receiverUser[n].unReadMessage == 0) {\r\n\r\n receiverUsers.push(this.receiverUser[n]);\r\n }\r\n }\r\n\r\n return receiverUsers.sort(function (a, b) {\r\n return b.userName - a.userName;\r\n });\r\n\r\n }\r\n }\r\n getChatReceiverNamesReadTitle(userName: string, seenDate: string): string {\r\n\r\n let d = new Date(seenDate);\r\n return userName + '\\n[' + moment(d).format('MM/DD/YYYY hh:mma') + ']';\r\n }\r\n getChatGroupByuserID(): any[] {\r\n\r\n var gd: any[] = [];\r\n \r\n if (!(typeof this.chatGroupService.chatGroupDetails === \"undefined\")) {\r\n \r\n var groupDetails = this.chatGroupService.chatGroupDetails.filter(x => (x.userId == this.userData.userId))\r\n \r\n for (let n = 0; n < groupDetails.length; n++) {\r\n var i = groupDetails[n];\r\n\r\n if (!(typeof this.chatGroupService.groupMessageUnreadCount === \"undefined\")) {\r\n\r\n var item = this.chatGroupService.groupMessageUnreadCount.filter(x =>\r\n ((x.chatGroupId == groupDetails[n].chatGroupId) && (x.userId == this.userData.userId)));\r\n if (item.length == 0) { i.unReadMessage = ''; }\r\n else if (item[0].unReadMessageCount == 0) { i.unReadMessage = ''; }\r\n else { i.unReadMessage = item[0].unReadMessageCount; }\r\n }\r\n else { i.unReadMessage = ''; }\r\n\r\n i.receiverNames = this.getGroupChatReceiverNames(i.chatGroupId);\r\n if (this.groupkeyword != '') {\r\n var f = this.chatGroupService.chatGroupDetails.filter(x => x.userName.toLowerCase().includes(this.groupkeyword.toLowerCase()));\r\n f = f.filter(x => x.chatGroupId == groupDetails[n].chatGroupId);\r\n if (f.length != 0) {\r\n gd.push(i);\r\n }\r\n else {\r\n if (groupDetails[n].groupTitle.toLowerCase().includes(this.groupkeyword.toLowerCase())) {\r\n gd.push(i);\r\n }\r\n }\r\n }\r\n else {\r\n \r\n gd.push(i);\r\n \r\n }\r\n \r\n }\r\n \r\n gd = gd\r\n .sort(function (a, b) {\r\n return a.isDelete - b.isDelete || b.unReadMessage - a.unReadMessage;\r\n })\r\n\r\n ;\r\n }\r\n return gd;\r\n\r\n }\r\n getChatGroupArchiveByuserID(): any[] {\r\n \r\n var gd: any[] = [];\r\n if (!(typeof this.groupDetailsArchive === \"undefined\")) {\r\n var groupDetails = this.groupDetailsArchive.filter(x => (x.userId == this.userData.userId))\r\n for (let n = 0; n < groupDetails.length; n++) {\r\n var i = groupDetails[n];\r\n if (!(typeof this.chatGroupService.groupMessageUnreadCount === \"undefined\")) {\r\n var item = this.chatGroupService.groupMessageUnreadCount.filter(x =>\r\n ((x.chatGroupId == groupDetails[n].chatGroupId) && (x.userId == this.userData.userId)));\r\n if (item.length == 0) { i.unReadMessage = ''; }\r\n else if (item[0].unReadMessageCount == 0) { i.unReadMessage = ''; }\r\n else { i.unReadMessage = item[0].unReadMessageCount; }\r\n }\r\n else { i.unReadMessage = ''; }\r\n i.receiverNames = this.getGroupArchiveChatReceiverNames(i.chatGroupId);\r\n if (this.groupkeyword != '') {\r\n var f = this.groupDetailsArchive.filter(x => x.userName.toLowerCase().includes(this.groupkeyword.toLowerCase()));\r\n f = f.filter(x => x.chatGroupId == groupDetails[n].chatGroupId);\r\n if (f.length != 0) {\r\n gd.push(i);\r\n }\r\n else {\r\n if (groupDetails[n].groupTitle.toLowerCase().includes(this.groupkeyword.toLowerCase())) {\r\n gd.push(i);\r\n }\r\n }\r\n }\r\n else {\r\n \r\n gd.push(i);\r\n \r\n }\r\n \r\n }\r\n\r\n gd = gd\r\n .sort(function (a, b) {\r\n return a.isDelete - b.isDelete || b.unReadMessage - a.unReadMessage;\r\n })\r\n }\r\n\r\n return gd;\r\n }\r\n getChatGroupMessageDate() {\r\n var messageChatDate;\r\n if (!(typeof this.chatGroupService.chatGroupMessages === \"undefined\")) {\r\n this.globalMessageId = Math.max.apply(Math, this.chatGroupService.chatGroupMessages.filter(x => (\r\n (x.chatGroupId == this.selectedGroup.chatGroupId)\r\n )).map(function (o) { return o.chatGroupMessageId; }));\r\n\r\n this.chatGroupMessagesLocal = this.chatGroupService.chatGroupMessages.filter(x => x.chatGroupId == this.selectedGroup.chatGroupId);\r\n messageChatDate = this.chatGroupService.chatGroupMessages.filter(x => (\r\n (x.chatGroupId == this.selectedGroup.chatGroupId)\r\n )).map(item => item.createdDateOnly)\r\n .filter((value, index, self) => self.indexOf(value) === index);\r\n\r\n }\r\n return messageChatDate;\r\n\r\n }\r\n getChatGroupMessageByDate(dt: string): any[] {\r\n\r\n \r\n let chatMessage: any[] = this.chatGroupMessagesLocal.filter(x => x.createdDateOnly == dt);\r\n for (let n = 0; n < chatMessage.length; ++n) {\r\n if (chatMessage[n].updateMessage == '') {\r\n chatMessage[n].updateMessage = this.updateChatGroupMesageForSearch(chatMessage[n].chatMessageId, chatMessage[n].message);\r\n\r\n }\r\n }\r\n return chatMessage.sort(function (a, b) {\r\n return a.chatGroupMessageId - b.chatGroupMessageId;\r\n });\r\n }\r\n async AddUser(item: any) {\r\n this.groupChatAddUserMode = true;\r\n this.selectedGroup = item;\r\n this.groupAddNew = false;\r\n \r\n }\r\n async setUserInGroup(userId: number) {\r\n \r\n if (!this.groupAddNew) {\r\n this.chatGroupService.ChatGroupAddUser(this.selectedGroup.chatGroupId, userId);\r\n }\r\n else {\r\n const index: number = this.groupAddUserIds.indexOf(userId);\r\n if (index !== -1) {\r\n this.groupAddUserIds.splice(index, 1);\r\n }\r\n else {\r\n this.groupAddUserIds.push(userId);\r\n }\r\n if (!(typeof this.inputGroupTitle === \"undefined\")) {\r\n this.inputGroupTitle.nativeElement.focus();\r\n }\r\n \r\n }\r\n }\r\n checkedUser(item: any): string {\r\n \r\n return 'checked';\r\n }\r\n async chatGroupMessageSend() {\r\n \r\n\r\n if (this.groupmessage == \"\") {\r\n return;\r\n }\r\n this.validateFlag = await this.checkInput();\r\n \r\n \r\n if (!this.validateFlag) {\r\n\r\n return;\r\n }\r\n if (!this.ChatMode) {\r\n this.chatMessageSendingCounter = this.chatMessageSendingCounter + 1;\r\n let d = new Date();\r\n\r\n\r\n let msg = new ChatGroupMessage();\r\n\r\n msg.chatGroupMessageId = this.globalMessageId + 1;\r\n msg.chatGroupId = this.selectedGroup.chatGroupId;\r\n msg.message = this.groupmessage;\r\n msg.updateMessage = msg.message;\r\n msg.saveFileName = \"\";\r\n msg.senderId = this.userData.userId;\r\n msg.isDelete = false;\r\n msg.createdDate = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdDateOnly = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdTimeOnly = moment(d).format('hh:mma');\r\n msg.updatedDate = \"\"\r\n msg.senderName = \"\";\r\n\r\n this.chatGroupService.chatGroupMessages.push(msg);\r\n await this.chatGroupService.ChatGroupMessageCreate(this.selectedGroup.chatGroupId, this.groupmessage, '');\r\n this.chatGroupService.SetChatGroupMessageAWSeen(this.selectedGroup.chatGroupId);\r\n this.groupmessage = \"\";\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }\r\n }\r\n setMessageInputfocus() {\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }\r\n setGroupMessageInputfocus() {\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }\r\n async chatGroupMessageDelete(item: any) {\r\n this.chatGroupService.ChatGroupMessageDelete(item.chatGroupMessageId);\r\n }\r\n async messageGroupUpdateCancel() {\r\n this.editMode = false;\r\n this.editGroupMessageChat = [];\r\n this.groupmessage = \"\";\r\n }\r\n async chatGroupMessageEdit(item: any) {\r\n this.editMode = true;\r\n this.editGroupMessageChat = item;\r\n this.groupmessage = this.editGroupMessageChat.message;\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }\r\n async messageGroupUpdate() {\r\n \r\n if (this.groupmessage == \"\") {\r\n return;\r\n }\r\n this.validateFlag = await this.checkInput();\r\n if (!this.validateFlag) {\r\n\r\n return;\r\n }\r\n if (!this.ChatMode) {\r\n if (this.groupmessage != this.editGroupMessageChat.message) {\r\n await this.chatGroupService.ChatGroupMessageUpdate(this.editGroupMessageChat.chatGroupMessageId, this.groupmessage);\r\n this.messageGroupUpdateCancel();\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }\r\n else {\r\n this.messageGroupUpdateCancel();\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }\r\n }\r\n //console.log('chatMessageDeleteEdit');\r\n }\r\n \r\n async onKeyUpsearchConversation(event: any) {\r\n if (!this.ChatMode) {\r\n if (!(typeof this.selectedGroup === \"undefined\")) {\r\n if (this.selectedGroup.length != 0) {\r\n this.chatHistoryTitle = this.chatHistoryTitle + ' ( ' + this.selectedGroup.groupTitle + ' ) ';\r\n }\r\n }\r\n if (event.target.value.length > 1) {\r\n this.httpService.get('api/Chat/GetChatGroupMessageKeyWordByChatGroupId/' + event.target.value + '/' + this.userData.userId)\r\n .subscribe(\r\n data => {\r\n this.chatGroupHistotyMessage = data;\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n }\r\n else {\r\n var receiverId = '-1';\r\n if (this.chatHistoryFlag) {\r\n if (!(typeof this.receiverUser === \"undefined\")) {\r\n if (this.receiverUser.length != 0) {\r\n receiverId = this.receiverUser[0].userID;\r\n }\r\n }\r\n }\r\n\r\n if (event.target.value.length > 1) {\r\n this.httpService.get('api/Chat/GetChatMessageByKeyWord/' + event.target.value + '/' + this.userData.userId + '/' + receiverId)\r\n .subscribe(\r\n data => {\r\n this.chatHistotyMessage = data;\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n }\r\n }\r\n getChatMessageByKeyWordReceiver() {\r\n var receiverName;\r\n if (!(typeof this.chatHistotyMessage === \"undefined\")) {\r\n\r\n receiverName = this.chatHistotyMessage.filter(x => (\r\n ((x.receiverId == this.userData.userId) || (x.senderId == this.userData.userId))\r\n )).map(item => (item.roomName + ' - ' + item.receiverId))\r\n .filter((value, index, self) => self.indexOf(value) === index);\r\n\r\n }\r\n return receiverName;\r\n\r\n }\r\n getChatMessageByReceiver(r: string) {\r\n var arr = r.split(' - ');\r\n var msg;\r\n if (!(typeof this.chatHistotyMessage === \"undefined\")) {\r\n\r\n msg = this.chatHistotyMessage.filter(x =>\r\n ((x.senderId == arr[1]) || (x.receiverId == arr[1]))\r\n ).sort(function (a, b) {\r\n return a.ChatMessageId - b.ChatMessageId;\r\n });\r\n }\r\n\r\n return msg;\r\n\r\n }\r\n getReceiverName(item: string) {\r\n var arr = item.split(' - ');\r\n return arr[0];\r\n }\r\n\r\n async enterGroupKeyup($event: any) {\r\n $event.preventDefault();\r\n if (this.chatGroupMessageImageMode) {\r\n this.uploadScreenShot(this.chatGroupMessageImage);\r\n \r\n }\r\n else {\r\n 2\r\n \r\n let msg: string = this.groupmessage.trim();\r\n let validateFlag: boolean = true;\r\n if (msg.substr(msg.length - 4, 4).toLowerCase() == '#sku') {\r\n validateFlag = false;\r\n }\r\n if (msg.substr(msg.length - 8, 8).toLowerCase() == '#orderid') {\r\n validateFlag = false;\r\n }\r\n if (msg.substr(msg.length - 7, 7).toLowerCase() == '#ticket') {\r\n validateFlag = false;\r\n }\r\n this.groupmessage = this.groupmessage.trim();\r\n if ((this.groupmessage != '') && (validateFlag)) {\r\n \r\n if (this.editMode) {\r\n this.messageGroupUpdate();\r\n \r\n } else {\r\n this.chatGroupMessageSend();\r\n \r\n }\r\n }\r\n }\r\n }\r\n async enterKeyup($event: any) {\r\n \r\n $event.preventDefault();\r\n \r\n if (this.chatMessageImageMode) {\r\n await this.uploadScreenShot(this.chatMessageImage);\r\n }\r\n else {\r\n \r\n let msg: string = this.message.trim();\r\n let validateFlag: boolean = true;\r\n \r\n if (msg.length >= 4) {\r\n if (msg.substr(msg.length - 4, 4).toLowerCase() == '#sku') {\r\n validateFlag = false;\r\n }\r\n }\r\n if (msg.length >= 8) {\r\n if (msg.substr(msg.length - 8, 8).toLowerCase() == '#orderid') {\r\n validateFlag = false;\r\n }\r\n }\r\n if (msg.length >= 7) {\r\n if (msg.substr(msg.length - 7, 7).toLowerCase() == '#ticket') {\r\n validateFlag = false;\r\n }\r\n }\r\n \r\n this.message = this.message.trim();\r\n if ((this.message != '') && (validateFlag)) {\r\n \r\n if (this.editMode) {\r\n this.messageUpdate()\r\n } else {\r\n this.messageSend();\r\n }\r\n }\r\n }\r\n }\r\n async onKeyMessageEsc($event: any) {\r\n \r\n if (this.ChatMode) {\r\n this.chatMessageImageMode = false;\r\n this.chatMessageImage = null;\r\n this.messageUpdateCancel();\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }\r\n else {\r\n this.chatGroupMessageImageMode = false;\r\n this.chatGroupMessageImage = null;\r\n this.messageGroupUpdateCancel();\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }\r\n }\r\n\r\n public userMenuItems: MenuItemModel[] = [\r\n {\r\n text: 'New Group',\r\n iconCss: 'glyphicon glyphicon-plus'\r\n }];\r\n\r\n\r\n userMenuOpen($event: any, item: any) {\r\n this.selectedUser = item;\r\n let contextmenuObj: ContextMenu = getInstance(document.getElementById(\"contextUsermenu\"), ContextMenu) as ContextMenu;\r\n $event.preventDefault();\r\n contextmenuObj.open(window.scrollY - this.margin+$event.clientY, $event.clientX);\r\n }\r\n userMenuSelect(args: MenuEventArgs) {\r\n\r\n if (args.item.text == 'New Group') {\r\n this.GroupCreateClick(this.selectedUser);\r\n }\r\n }\r\n\r\n public addDisabled(args: MenuEventArgs) {\r\n if (!this.selectedGroup.isAdmin) {\r\n args.element.classList.add('e-disabled');\r\n }\r\n }\r\n public groupItems: MenuItemModel[] = [\r\n {\r\n text: 'New Group',\r\n iconCss: 'glyphicon glyphicon-plus'\r\n },\r\n {\r\n text: 'Archive List',\r\n iconCss: 'glyphicon glyphicon-remove'\r\n }];\r\n\r\n\r\n groupMenuOpen($event) {\r\n let contextmenuObj: ContextMenu = getInstance(document.getElementById(\"contextmenu\"), ContextMenu) as ContextMenu;\r\n $event.preventDefault();\r\n contextmenuObj.open(window.scrollY - this.margin+$event.clientY, $event.clientX);\r\n }\r\n groupMenuSelect(args: MenuEventArgs) {\r\n if (args.item.text == 'Archive List') {\r\n this.groupChatArchiveMode = false;\r\n this.GetChatGroupArchiveDetailsByUserId()\r\n }\r\n if (args.item.text == 'New Group') {\r\n this.GroupCreateClick(null);\r\n }\r\n }\r\n // ContextMenu items definition \r\n public menuItems: MenuItemModel[] = [\r\n {\r\n text: 'Add/Remove User',\r\n iconCss: 'glyphicon glyphicon-plus'\r\n },\r\n {\r\n text: 'Edit Group Name',\r\n iconCss: 'glyphicon glyphicon-edit'\r\n },\r\n {\r\n text: 'Archive',\r\n iconCss: 'glyphicon glyphicon-remove',\r\n\r\n }];\r\n\r\n // Event triggers once the context menu rendering is completed.\r\n onCreated(): void {\r\n if (Browser.isDevice) {\r\n //this.content = 'Touch hold to open the ContextMenu';\r\n this.contextMenuGroup.animationSettings.effect = 'ZoomIn';\r\n } else {\r\n //this.content = 'Right click / Touch hold to open the ContextMenu';\r\n this.contextMenuGroup.animationSettings.effect = 'SlideDown';\r\n }\r\n }\r\n\r\n itemSelect(args: MenuEventArgs) {\r\n if (args.item.text == 'Add/Remove User') {\r\n this.gTitle = this.selectedGroup.groupTitle;\r\n this.AddUser(this.selectedGroup);\r\n }\r\n if (args.item.text == 'Edit Group Name') {\r\n this.chatGroupEdit(this.selectedGroup);\r\n }\r\n if (args.item.text == 'Archive') {\r\n this.ChaGroupArchive();\r\n }\r\n }\r\n groupListMenuOpen($event, item) {\r\n this.selectedGroup = item;\r\n let contextmenuObj: ContextMenu = getInstance(document.getElementById(\"contextMenuGroup\"), ContextMenu) as ContextMenu;\r\n $event.preventDefault();\r\n\r\n contextmenuObj.open(window.scrollY - this.margin+$event.clientY, $event.clientX);\r\n }\r\n groupArchiveListMenuOpen($event, item) {\r\n this.selectedGroup = item;\r\n let contextmenuObj: ContextMenu = getInstance(document.getElementById(\"contextMenuGroupArchive\"), ContextMenu) as ContextMenu;\r\n $event.preventDefault();\r\n\r\n contextmenuObj.open(window.scrollY - this.margin+$event.clientY, $event.clientX);\r\n }\r\n public menuItemsArchive: MenuItemModel[] = [\r\n\r\n {\r\n text: 'Restore Group',\r\n iconCss: 'glyphicon glyphicon-plus',\r\n\r\n }];\r\n \r\n // Event triggers once the context menu rendering is completed.\r\n onCreatedArchive(): void {\r\n if (Browser.isDevice) {\r\n //this.content = 'Touch hold to open the ContextMenu';\r\n this.contextMenuGroupArchive.animationSettings.effect = 'ZoomIn';\r\n } else {\r\n //this.content = 'Right click / Touch hold to open the ContextMenu';\r\n this.contextMenuGroupArchive.animationSettings.effect = 'SlideDown';\r\n }\r\n }\r\n itemSelectArchive(args: MenuEventArgs) {\r\n //console.log(\"args\", i)\r\n //console.log(\"args.item.text\", args.item.text)\r\n //this.selectedGroup = i;\r\n\r\n if (args.item.text == 'Restore Group') {\r\n this.ChatGroupActivate();\r\n }\r\n }\r\n public menuMessageItems: MenuItemModel[] = [\r\n {\r\n text: 'Copy',\r\n iconCss: 'glyphicon glyphicon-copy'\r\n },\r\n {\r\n text: 'Edit',\r\n iconCss: 'glyphicon glyphicon-edit'\r\n },\r\n {\r\n text: 'Delete',\r\n iconCss: 'glyphicon glyphicon-remove',\r\n\r\n }];\r\n\r\n public addMessageDisabled(args: MenuEventArgs, i: any) {\r\n //console.log(\"i.isDelete \", i.isDelete);\r\n if (this.userData.userId === i.receiverId) {\r\n if (args.item.text != 'Copy') {\r\n args.element.classList.add('e-disabled');\r\n }\r\n }\r\n else {\r\n if (i.isDelete) {\r\n if (args.item.text != 'Copy') {\r\n args.element.classList.add('e-disabled');\r\n }\r\n\r\n }\r\n else {\r\n if (i.saveFileName != '') {\r\n if (args.item.text != 'Delete') {\r\n args.element.classList.add('e-disabled');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // Event triggers once the context menu rendering is completed.\r\n onMessageCreated(): void {\r\n if (Browser.isDevice) {\r\n //this.content = 'Touch hold to open the ContextMenu';\r\n this.contextMenuMessage.animationSettings.effect = 'ZoomIn';\r\n } else {\r\n //this.content = 'Right click / Touch hold to open the ContextMenu';\r\n this.contextMenuMessage.animationSettings.effect = 'SlideDown';\r\n }\r\n }\r\n itemMessageSelect(args: MenuEventArgs, i: any) {\r\n //console.log(\"args\", i)\r\n //console.log(\"args.item.text\", args.item.text)\r\n //this.selectedGroup = i;\r\n if (args.item.text == 'Copy') {\r\n this.copyMessage(i.message);\r\n }\r\n if (args.item.text == 'Edit') {\r\n this.chatMessageEdit(i);\r\n }\r\n if (args.item.text == 'Delete') {\r\n this.chatMessageDelete(i);\r\n }\r\n //if (args.item.text == 'Disable') {\r\n // this.ChaGroupArchive();\r\n //}\r\n }\r\n public addMessageGroupDisabled(args: MenuEventArgs, i: any) {\r\n //console.log(\"i.isDelete \", i.isDelete);\r\n if (this.groupChatArchiveMode) {\r\n if (args.item.text != 'Copy') {\r\n args.element.classList.add('e-disabled');\r\n }\r\n } else {\r\n if (this.userData.userId != i.senderId) {\r\n if (args.item.text != 'Copy') {\r\n args.element.classList.add('e-disabled');\r\n }\r\n }\r\n else {\r\n if (i.isDelete) {\r\n if (args.item.text != 'Copy') {\r\n args.element.classList.add('e-disabled');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // Event triggers once the context menu rendering is completed.\r\n onMessageGroupCreated(): void {\r\n if (Browser.isDevice) {\r\n //this.content = 'Touch hold to open the ContextMenu';\r\n this.contextMenuGroupMessage.animationSettings.effect = 'ZoomIn';\r\n } else {\r\n //this.content = 'Right click / Touch hold to open the ContextMenu';\r\n this.contextMenuGroupMessage.animationSettings.effect = 'SlideDown';\r\n }\r\n }\r\n itemMessageGroupSelect(args: MenuEventArgs, i: any) {\r\n //console.log(\"args\", i)\r\n //console.log(\"args.item.text\", args.item.text)\r\n //this.selectedGroup = i;\r\n if (args.item.text == 'Copy') {\r\n this.copyMessage(i.message);\r\n }\r\n if (args.item.text == 'Edit') {\r\n this.chatGroupMessageEdit(i);\r\n }\r\n if (args.item.text == 'Delete') {\r\n this.chatGroupMessageDelete(i);\r\n }\r\n //if (args.item.text == 'Disable') {\r\n // this.ChaGroupArchive();\r\n //}\r\n }\r\n copyMessage(mesage: string) {\r\n let selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = mesage;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n }\r\n\r\n checkNewMesageNotification(): boolean {\r\n \r\n var bool = true;\r\n var count: number = 0;\r\n var audioCount: number = 0;\r\n if (!(typeof this.chatService.messageAll === \"undefined\")) {\r\n \r\n if (this.receiverUser.length > 0) {\r\n if (this.messageAllLocal.filter(x => (\r\n ((x.senderId == this.receiverUser[0].userID) && (x.receiverId == this.userData.userId))\r\n )).length > 0) {\r\n let localRecceivingMessageId: number = Math.max.apply(Math, this.messageAllLocal.filter(x => (\r\n ((x.senderId == this.receiverUser[0].userID) && (x.receiverId == this.userData.userId))\r\n )).map(function (o) { return o.chatMessageId; }));\r\n if (this.globalRecceivingMessageId != localRecceivingMessageId) {\r\n if ((this.focusFlag)|| (this.globalRecceivingMessageId==-1)) {\r\n this.globalRecceivingMessageId = localRecceivingMessageId;\r\n }\r\n else {\r\n if (this.globalRecceivingMessageId < localRecceivingMessageId) {\r\n let counter: number = localRecceivingMessageId - this.globalRecceivingMessageId;\r\n while (counter > 0) {\r\n //console.log('play 1');\r\n this.playAudio();\r\n counter = counter - 1;\r\n }\r\n }\r\n this.globalRecceivingMessageId = localRecceivingMessageId;\r\n }\r\n }\r\n //console.log(\"this.globalRecceivingMessageId \", this.globalRecceivingMessageId);\r\n }\r\n }\r\n }\r\n if (!(typeof this.chatGroupService.chatGroupMessages === \"undefined\")) {\r\n \r\n if (this.chatGroupService.chatGroupMessages.length > 0) {\r\n if (!(typeof this.selectedGroup === \"undefined\")) {\r\n \r\n let localRecceivingGroupMessageId: number = Math.max.apply(Math, this.chatGroupService.chatGroupMessages.filter(x => (\r\n ((x.chatGroupId == this.selectedGroup.chatGroupId) && (x.senderId != this.userData.userId))\r\n )).map(function (o) { return o.chatGroupMessageId; }));\r\n \r\n if (this.globalRecceivingGroupMessageId != localRecceivingGroupMessageId) {\r\n if ((this.focusFlag)|| (this.globalRecceivingGroupMessageId==-1)) {\r\n this.globalRecceivingGroupMessageId = localRecceivingGroupMessageId;\r\n }\r\n else {\r\n \r\n if (this.globalRecceivingGroupMessageId < localRecceivingGroupMessageId) {\r\n let counter: number = localRecceivingGroupMessageId - this.globalRecceivingGroupMessageId;\r\n //console.log(\"counter \", counter);\r\n while (counter > 0) {\r\n //console.log('play 2');\r\n this.playAudio();\r\n counter = counter - 1;\r\n }\r\n }\r\n this.globalRecceivingGroupMessageId = localRecceivingGroupMessageId;\r\n }\r\n }\r\n \r\n }\r\n }\r\n\r\n }\r\n if (!(typeof this.chatService.messageUnreadCount === \"undefined\")) {\r\n this.chatService.messageUnreadCount.filter(x => (x.receiverId == this.userData.userId))\r\n //console.log(\"Test\", this.chatService.messageUnreadCount.filter(x => (x.receiverId == this.userData.userId)));\r\n var userUnreadMessage = this.chatService.messageUnreadCount.filter(x => (x.receiverId == this.userData.userId));\r\n for (let n = 0; n < userUnreadMessage.length; ++n) {\r\n count = count + userUnreadMessage[n].unReadMessageCount;\r\n \r\n }\r\n this.totalUnReadChatMessageCount = count;\r\n }\r\n if (!(typeof this.chatGroupService.groupMessageUnreadCount === \"undefined\")) {\r\n //console.log(\"groupMessageUnreadCount \", this.chatGroupService.groupMessageUnreadCount);\r\n //this.chatService.messageUnreadCount.filter(x => (x.receiverId == this.userData.userId))\r\n this.totalUnReadChatGroupMessageCount = 0;\r\n var userUnreadMessage = this.chatGroupService.groupMessageUnreadCount.filter(x => (x.userId == this.userData.userId));\r\n for (let n = 0; n < userUnreadMessage.length; ++n) {\r\n if (userUnreadMessage[n].unReadMessageCount > 0) {\r\n count = count + userUnreadMessage[n].unReadMessageCount;\r\n this.totalUnReadChatGroupMessageCount = this.totalUnReadChatGroupMessageCount + userUnreadMessage[n].unReadMessageCount;\r\n //bool = false;\r\n }\r\n }\r\n }\r\n \r\n \r\n if ((this.totalUnReadChatMessageCount != -1) && (this.totalUnReadChatGroupMessageCount != -1)) {\r\n if (count > 0) {\r\n bool = false\r\n\r\n \r\n if (this.totalUnReadMessageCount == -1) { this.totalUnReadMessageCount = count }\r\n else {\r\n if (this.totalUnReadMessageCount < count) {\r\n let counter: number = count - this.totalUnReadMessageCount;\r\n while (counter > 0) {\r\n //console.log('play 3');\r\n this.playAudio();\r\n counter = counter - 1;\r\n }\r\n }\r\n this.totalUnReadMessageCount = count\r\n }\r\n }\r\n else {\r\n this.totalUnReadMessageCount = 0;\r\n }\r\n }\r\n return bool;\r\n }\r\n playAudio() {\r\n let audio = new Audio();\r\n audio.src = \"../../../assets/audio/alarm.mp3\";\r\n audio.load();\r\n audio.play();\r\n }\r\n returnMessage(i: any): string {\r\n //console.log(\"i=\", i);\r\n if (i.saveFileName != '') {\r\n return '' + i.message + '';\r\n }\r\n else {\r\n return i.message;\r\n }\r\n }\r\n messageUpdateTitle(item: any): any {\r\n var title = '';\r\n if ((item.updatedDate != '') && (!item.isDelete)) {\r\n title = 'This message has been edited.\\n [' + item.updatedDate + ']';\r\n\r\n }\r\n if ((item.updatedDate != '') && (item.isDelete)) {\r\n title = 'This message has been deleted.\\n [' + item.updatedDate + ']';\r\n\r\n }\r\n return title;\r\n\r\n }\r\n GetChatGroupArchiveDetailsByUserId() {\r\n //console.log(\"GetChatGroupArchiveDetailsByUserId\");\r\n if (this.groupChatArchiveMode) { this.groupChatArchiveMode = false }\r\n else {\r\n this.isLoading = true;\r\n this.groupChatArchiveMode = true;\r\n this.httpService.get('api/Chat/GetChatGroupArchiveDetailsByUserId/' + this.userData.userId)\r\n .subscribe(\r\n data => {\r\n this.groupDetailsArchive = data;\r\n //console.log('GetChatGroupArchiveDetailsByUserId ', data);\r\n this.isLoading = false;\r\n setTimeout(() => {\r\n if (!(typeof this.inputGroupSearch === \"undefined\")) {\r\n this.inputGroupSearch.nativeElement.focus();\r\n }\r\n }, 500);\r\n },\r\n error => {\r\n this.groupChatArchiveMode = false\r\n this.isLoading = false;\r\n //console.log('error');\r\n }\r\n\r\n );\r\n }\r\n }\r\n clearSearch() {\r\n this.chatMessagekeyword = '';\r\n setTimeout(() => {\r\n if (!(typeof this.inputSearch === \"undefined\")) {\r\n this.inputSearch.nativeElement.focus();\r\n }\r\n }, 500);\r\n\r\n }\r\n clearGroupSearch() {\r\n this.groupkeyword = '';\r\n setTimeout(() => {\r\n if (!(typeof this.inputGroupSearch === \"undefined\")) {\r\n this.inputGroupSearch.nativeElement.focus();\r\n }\r\n }, 500);\r\n\r\n }\r\n clearChatMessageSearch() {\r\n this.chatMessagekeyword = '';\r\n //setTimeout(() => {\r\n // this.inputChatMessageSearch.nativeElement.focus();\r\n //}, 100);\r\n this.chatMessageSearchShow();\r\n }\r\n clearChatGroupMessageSearch() {\r\n this.chatGroupMessagekeyword = '';\r\n this.chatGroupMessageSearchShow();\r\n //setTimeout(() => {\r\n // this.inputChatGroupMessageSearch.nativeElement.focus();\r\n //}, 100);\r\n\r\n }\r\n //getRandomColor() {\r\n // var color = Math.floor(0x1000000 * Math.random()).toString(16);\r\n // return '#' + ('000000' + color).slice(-6);\r\n //}\r\n onImgError(event) {\r\n event.target.src = '/assets/images/file.png';\r\n }\r\n \r\n\r\n pasteChatMessageImage($event: any) {\r\n //console.log('start');\r\n //console.log($event);\r\n const items = ($event.clipboardData || $event.originalEvent.clipboardData).items;\r\n //let blob = null;\r\n this.chatMessageImage = null;\r\n //console.log(items);\r\n for (const item of items) {\r\n if (item.type.indexOf('text') === 0) {\r\n break;\r\n }\r\n if (item.type.indexOf('image') === 0) {\r\n this.chatMessageImage = item.getAsFile();\r\n }\r\n }\r\n\r\n // load image if there is a pasted image\r\n if (this.chatMessageImage !== null) {\r\n //console.log(this.chatMessageImage);\r\n const reader = new FileReader();\r\n reader.onload = (evt: any) => {\r\n this.chatMessageImageMode = true;\r\n //console.log(\"Image \",evt.target.result); // data url!\r\n setTimeout(() => {\r\n this.imgRenderer.nativeElement.src = evt.target.result;\r\n },100);\r\n\r\n };\r\n reader.readAsDataURL(this.chatMessageImage);\r\n\r\n }\r\n }\r\n pasteChatGroupMessageImage($event: any) {\r\n //console.log('start');\r\n //console.log($event);\r\n const items = ($event.clipboardData || $event.originalEvent.clipboardData).items;\r\n //let blob = null;\r\n this.chatGroupMessageImage = null;\r\n //console.log(items);\r\n for (const item of items) {\r\n //console.log(item.type);\r\n if (item.type.indexOf('text') === 0) {\r\n break;\r\n }\r\n if (item.type.indexOf('image') === 0) {\r\n this.chatGroupMessageImage = item.getAsFile();\r\n }\r\n }\r\n\r\n // load image if there is a pasted image\r\n if (this.chatGroupMessageImage !== null) {\r\n //console.log(this.chatGroupMessageImage);\r\n const reader = new FileReader();\r\n reader.onload = (evt: any) => {\r\n this.chatGroupMessageImageMode = true;\r\n //console.log(\"Image \",evt.target.result); // data url!\r\n setTimeout(() => {\r\n this.imgGroupRenderer.nativeElement.src = evt.target.result;\r\n }, 100);\r\n\r\n };\r\n reader.readAsDataURL(this.chatGroupMessageImage);\r\n\r\n }\r\n }\r\n public uploadScreenShot = (files) => {\r\n if (files.length === 0) {\r\n return;\r\n }\r\n \r\n let fileToUpload = files;\r\n\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload, fileToUpload.name);\r\n this.chatMessageSendingCounter = this.chatMessageSendingCounter + 1;\r\n this.http.post('/api/Chat/upload', formData, { reportProgress: true, observe: 'events' })\r\n .subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n //this.message = 'Upload success.';\r\n this.onUploadFinished.emit(event.body);\r\n //console.log(event.ok);\r\n //event.\r\n //console.log(event.status);\r\n var data = event.body;\r\n if (this.ChatMode) {\r\n let d = new Date();\r\n\r\n\r\n //msg: chatMessage;\r\n let msg = new ChatMessage();\r\n\r\n msg.chatMessageId = this.globalMessageId + 1;\r\n msg.message = data.fileName;\r\n msg.updateMessage = msg.message;\r\n msg.saveFileName = data.saveFileName;\r\n msg.senderId = this.userData.userId;\r\n msg.receiverId = this.receiverUser[0].userID;\r\n msg.isSeen = false;\r\n msg.isDelete = false;\r\n msg.createdDate = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdDateOnly = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdTimeOnly = moment(d).format('hh:mma');\r\n msg.updatedDate = \"\"\r\n msg.senderName = \"\";\r\n msg.receiverName = \"\";\r\n msg.roomName = \"\"\r\n msg.seenDate = \"\"\r\n \r\n this.chatService.messageAll.push(msg);\r\n this.chatMessageImageMode = false;\r\n this.chatMessageImage = null;\r\n this.chatService.ChatMessageCreate(data.fileName, data.saveFileName, this.receiverUser);\r\n if (this.message != '') {\r\n if (this.editMode) {\r\n this.messageUpdate()\r\n //this.chatUpdateButton.nativeElement.focus();\r\n } else {\r\n this.messageSend();\r\n //this.chatSendButton.nativeElement.focus();\r\n }\r\n }\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }\r\n else {\r\n let d = new Date();\r\n\r\n\r\n //msg: chatMessage;\r\n let msg = new ChatGroupMessage();\r\n\r\n msg.chatGroupMessageId = this.globalMessageId + 1;\r\n msg.chatGroupId = this.selectedGroup.chatGroupId;\r\n msg.message = this.groupmessage;\r\n msg.updateMessage = msg.message;\r\n msg.saveFileName = \"\";\r\n msg.senderId = this.userData.userId;\r\n msg.isDelete = false;\r\n msg.createdDate = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdDateOnly = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdTimeOnly = moment(d).format('hh:mma');\r\n msg.updatedDate = \"\"\r\n msg.senderName = \"\";\r\n\r\n //console.log(msg);\r\n this.chatGroupService.chatGroupMessages.push(msg);\r\n this.chatGroupMessageImageMode = false;\r\n this.chatGroupMessageImage = null;\r\n this.chatGroupService.ChatGroupMessageCreate(this.selectedGroup.chatGroupId, data.fileName, data.saveFileName);\r\n if (this.groupmessage != '') {\r\n if (this.editMode) {\r\n this.messageGroupUpdate();\r\n //this.chatGroupUpdateButton.nativeElement.focus();\r\n } else {\r\n this.chatGroupMessageSend();\r\n //this.chatGroupSendButton.nativeElement.focus();\r\n }\r\n }\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }\r\n //console.log(data.fileName);\r\n //console.log(data.saveFileName);\r\n }\r\n }),\r\n (data => {\r\n //console.log(data);\r\n })\r\n ;\r\n }\r\n public uploadFile = (files) => {\r\n if (files.length === 0) {\r\n return;\r\n }\r\n\r\n let fileToUpload = files[0];\r\n const formData = new FormData();\r\n formData.append('file', fileToUpload, fileToUpload.name);\r\n this.chatMessageSendingCounter = this.chatMessageSendingCounter + 1;\r\n this.http.post('/api/Chat/upload', formData, { reportProgress: true, observe: 'events' })\r\n .subscribe(event => {\r\n if (event.type === HttpEventType.UploadProgress)\r\n this.progress = Math.round(100 * event.loaded / event.total);\r\n else if (event.type === HttpEventType.Response) {\r\n //this.message = 'Upload success.';\r\n this.onUploadFinished.emit(event.body);\r\n //console.log(event.ok);\r\n //event.\r\n //console.log(event.status);\r\n var data = event.body;\r\n if (this.ChatMode) {\r\n let d = new Date();\r\n\r\n\r\n //msg: chatMessage;\r\n let msg = new ChatMessage();\r\n\r\n msg.chatMessageId = this.globalMessageId + 1;\r\n msg.message = data.fileName;\r\n msg.updateMessage = msg.message;\r\n msg.saveFileName = data.saveFileName;\r\n msg.senderId = this.userData.userId;\r\n msg.receiverId = this.receiverUser[0].userID;\r\n msg.isSeen = false;\r\n msg.isDelete = false;\r\n msg.createdDate = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdDateOnly = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdTimeOnly = moment(d).format('hh:mma');\r\n msg.updatedDate = \"\"\r\n msg.senderName = \"\";\r\n msg.receiverName = \"\";\r\n msg.roomName = \"\"\r\n msg.seenDate = \"\"\r\n //console.log(msg);\r\n this.chatService.messageAll.push(msg);\r\n this.chatService.ChatMessageCreate(data.fileName, data.saveFileName, this.receiverUser);\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n }\r\n else {\r\n let d = new Date();\r\n\r\n\r\n //msg: chatMessage;\r\n let msg = new ChatGroupMessage();\r\n\r\n msg.chatGroupMessageId = this.globalMessageId + 1;\r\n msg.chatGroupId = this.selectedGroup.chatGroupId;\r\n msg.message = this.groupmessage;\r\n msg.updateMessage = msg.message;\r\n msg.saveFileName = \"\";\r\n msg.senderId = this.userData.userId;\r\n msg.isDelete = false;\r\n msg.createdDate = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdDateOnly = moment(d).format('dddd, MMM DD YYYY');\r\n msg.createdTimeOnly = moment(d).format('hh:mma');\r\n msg.updatedDate = \"\"\r\n msg.senderName = \"\";\r\n\r\n //console.log(msg);\r\n this.chatGroupService.chatGroupMessages.push(msg);\r\n this.chatGroupService.ChatGroupMessageCreate(this.selectedGroup.chatGroupId, data.fileName, data.saveFileName);\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n }\r\n //console.log(data.fileName);\r\n //console.log(data.saveFileName);\r\n }\r\n }),\r\n (data => {\r\n //console.log(data);\r\n })\r\n ;\r\n }\r\n checkGroupMesageType(): boolean {\r\n this.chatGroupService.setFortyping(this.selectedGroup.chatGroupId, this.groupmessage);\r\n //console.log(\" othere\",this.chatGroupService.activeGroupWindows.filter(x => ((x.chatGroupId == this.selectedGroup.chatGroupId) && (x.senderId != this.userData.userId) && (x.typingFlag))));\r\n //console.log(\"all \",this.chatGroupService.activeGroupWindows.filter(x => ((x.chatGroupId == this.selectedGroup.chatGroupId))));\r\n if (!(typeof this.chatGroupService.activeGroupWindows === \"undefined\")) {\r\n if (this.chatGroupService.activeGroupWindows.filter(x => ((x.chatGroupId == this.selectedGroup.chatGroupId) && (x.senderId != this.userData.userId) && (x.typingFlag))).length > 0) {\r\n return true;\r\n }\r\n else { return false; }\r\n }\r\n else { return false; }\r\n }\r\n checkMesageType(): boolean {\r\n\r\n this.chatService.setFortyping(this.receiverUser[0].userID, this.message);\r\n if (this.chatService.activeWindows.filter(x => ((x.senderId == this.receiverUser[0].userID) && (x.receiverId = this.userData.userId) && (x.typingFlag))).length > 0) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n async onKeyUpAutoSize($event: any) {\r\n //console.log(this.message.length == 41);\r\n //console.log($event);\r\n //console.log(\"validateItem\", this.validateItem);\r\n this.checkMeneuchoice($event);\r\n \r\n if (this.ChatMode) {\r\n if ($event.ctrlKey && $event.key === 'Enter') {\r\n this.message += '\\n';\r\n }\r\n \r\n if (this.message.length > 1) {\r\n if ($event.key == 'Backspace') {\r\n this.message = this.inputMessageBackSpace(this.message);\r\n }\r\n else {\r\n this.message = this.inputMessageKeywordUpdate(this.message);\r\n }\r\n }\r\n //console.log(this.message.includes('\\n'));\r\n this.validateInput(this.message);\r\n //console.log(\"Message \", this.message);\r\n if (this.message.includes('\\n')) {\r\n //console.log('start');\r\n this.heightFlag = false;\r\n }\r\n else {\r\n if (this.message.length > 40) {\r\n this.heightFlag = false;\r\n }\r\n else { this.heightFlag = true; }\r\n }\r\n }\r\n else {\r\n if ($event.ctrlKey && $event.key === 'Enter') {\r\n this.groupmessage += '\\n';\r\n }\r\n if (this.groupmessage.length > 1) {\r\n if ($event.key == 'Backspace') {\r\n this.groupmessage = this.inputMessageBackSpace(this.groupmessage);\r\n }\r\n else {\r\n this.groupmessage = this.inputMessageKeywordUpdate(this.groupmessage);\r\n }\r\n }\r\n this.validateInput(this.groupmessage);\r\n if (this.groupmessage.includes('\\n')) {\r\n this.heightFlag = false;\r\n //console.log('start');\r\n }\r\n else {\r\n if (this.groupmessage.length > 40) {\r\n this.heightFlag = false;\r\n }\r\n else { this.heightFlag = true; }\r\n }\r\n }\r\n\r\n //console.log(this.heightFlag);\r\n }\r\n inputMessageKeywordUpdate(msg: string): string {\r\n if (msg.substr(msg.length - 2, 2).toLowerCase() == '#s') {\r\n msg = msg.substr(0, msg.length - 2) + '#SKU ';\r\n }\r\n if (msg.substr(msg.length - 2, 2).toLowerCase() == '#o') {\r\n msg = msg.substr(0, msg.length - 2) + '#OrderId ';\r\n }\r\n if (msg.substr(msg.length - 2, 2).toLowerCase() == '#t') {\r\n msg = msg.substr(0, msg.length - 2) + '#Ticket ';\r\n }\r\n return msg;\r\n }\r\n inputMessageBackSpace(msg: string): string {\r\n if (msg.substr(msg.length - 3, 3).toLowerCase() == '#sk') {\r\n msg= msg.substr(0, msg.length - 2);\r\n }\r\n if (msg.substr(msg.length - 7, 7).toLowerCase() == '#orderi') {\r\n msg = msg.substr(0, msg.length - 6);\r\n }\r\n if (msg.substr(msg.length - 6, 6).toLowerCase() == '#ticke') {\r\n msg = msg.substr(0, msg.length - 5);\r\n }\r\n return msg;\r\n }\r\n checkMeneuchoice($event: any) {\r\n if ($event.key == '#') {\r\n this.menuMessageChoiceOpen($event);\r\n }\r\n //if (this.menuMessagechoiceflag != -1) {\r\n // if ($event.key == ' ') {\r\n // this.menuMessagechoiceflag = -1\r\n // this.menuMessageKeyword = \"\";\r\n // }\r\n // else {\r\n // this.menuMessageKeyword = this.menuMessageKeyword + $event.key;\r\n // this.getMenuChoiceDetails();\r\n // }\r\n //}\r\n //else {\r\n // if ($event.key == '#') {\r\n // this.menuMessageChoiceOpen();\r\n // }\r\n //}\r\n }\r\n\r\n public menuMessageChoiceItems: MenuItemModel[] = [\r\n {\r\n text: 'SKU',\r\n iconCss: ''\r\n },\r\n {\r\n text: 'OrderId',\r\n iconCss: ''\r\n },\r\n {\r\n text: 'Ticket',\r\n iconCss: ''\r\n }];\r\n\r\n menuMessagechoiceflag: number = -1;\r\n menuMessageChoice: string = \"\";\r\n menuMessageKeyword: string = \"\";\r\n menuMessageChoiceOpen($event: any) {\r\n //console.log(window.scrollY - this.margin);\r\n //console.log(window.scrollbars.visible);\r\n //console.log(window.document.body.offsetHeight);\r\n //console.log($event.target);\r\n //console.log($event.target.clientHeight);\r\n //console.log(this.inputMessage.nativeElement.top);\r\n let contextmenuObj: ContextMenu = getInstance(document.getElementById(\"contextMenuMessageChoice\"), ContextMenu) as ContextMenu;\r\n //window.scroll(0, 0);\r\n if (this.ChatMode) {\r\n //console.log(\"window.innerHeight\", window.innerHeight);\r\n //console.log(\"window.screen.height\", window.screen.height);\r\n //console.log(\"document.body.offsetHeight\", document.body.offsetHeight);\r\n\r\n //console.log(\"document.body.clientHeight\", document.body.clientHeight);\r\n //console.log(\"document.body.scrollHeight\", document.body.scrollHeight);\r\n //console.log(this.inputMessage.nativeElement);\r\n //console.log(this.inputMessage.nativeElement.Parent);\r\n //console.log(this.inputMessage.nativeElement.offsetParent.offsetTop);\r\n //var top: number = (this.inputMessage.nativeElement.offsetTop + this.inputMessage.nativeElement.offsetParent.offsetTop) * 0.79;\r\n ///console.log(top);\r\n let chatMessageFooter: HTMLDivElement = document.getElementById(\"chatMessageFooter\") as HTMLDivElement;//\r\n //console.log(chatMessageFooter.offsetTop);\r\n \r\n if (this.heightFlag) {\r\n contextmenuObj.open(window.scrollY - this.margin +(window.innerHeight * 0.79), this.inputMessage.nativeElement.offsetLeft + this.inputMessage.nativeElement.offsetParent.offsetLeft);\r\n //contextmenuObj.open(top, this.inputMessage.nativeElement.offsetLeft + this.inputMessage.nativeElement.offsetParent.offsetLeft);//\r\n //contextmenuObj.open($event.target.clientHeight, this.inputMessage.nativeElement.offsetLeft + this.inputMessage.nativeElement.offsetParent.offsetLeft);\r\n }\r\n else {\r\n contextmenuObj.open(window.scrollY - this.margin+(window.innerHeight * 0.69), this.inputMessage.nativeElement.offsetLeft + this.inputMessage.nativeElement.offsetParent.offsetLeft);\r\n }\r\n //contextmenuObj.open(null, null, chatMessageFooter);\r\n }\r\n else {\r\n let chatGroupMessageFooter: HTMLDivElement = document.getElementById(\"chatMessageFooter\") as HTMLDivElement;\r\n //contextmenuObj.open(this.inputGroupmessage.nativeElement.offsetTop + this.inputGroupmessage.nativeElement.offsetParent.offsetTop, this.inputGroupmessage.nativeElement.offsetLeft + this.inputGroupmessage.nativeElement.offsetParent.offsetLeft);\r\n if (this.heightFlag) {\r\n contextmenuObj.open(window.scrollY - this.margin+(window.innerHeight * 0.79), this.inputGroupmessage.nativeElement.offsetLeft + this.inputGroupmessage.nativeElement.offsetParent.offsetLeft);\r\n }\r\n else {\r\n contextmenuObj.open(window.scrollY - this.margin+(window.innerHeight * 0.69), this.inputGroupmessage.nativeElement.offsetLeft + this.inputGroupmessage.nativeElement.offsetParent.offsetLeft);\r\n }\r\n\r\n }\r\n }\r\n itemMessageChoiceSelect(args: MenuEventArgs) {\r\n this.menuMessageKeyword = \"\";\r\n \r\n if (this.ChatMode) {\r\n if (!(typeof this.inputMessage === \"undefined\")) {\r\n this.inputMessage.nativeElement.focus();\r\n }\r\n this.message = this.message + args.item.text + ' ';\r\n }\r\n else {\r\n if (!(typeof this.inputGroupmessage === \"undefined\")) {\r\n this.inputGroupmessage.nativeElement.focus();\r\n }\r\n this.groupmessage = this.groupmessage + args.item.text + ' ';\r\n }\r\n //if (args.item.text == 'SKU') {\r\n \r\n // this.menuMessagechoiceflag = 0;\r\n //}\r\n //if (args.item.text == 'OrderId') {\r\n\r\n // this.menuMessagechoiceflag = 1;\r\n //}\r\n //console.log(\"menuMessagechoiceflag \", this.menuMessagechoiceflag);\r\n }\r\n validateItem: any[] = [];\r\n async validateInput(inputMessage:string) {\r\n //let inputMessage: string = this.message;\r\n this.validateItem = [];\r\n await this.checkKeyWord(0, inputMessage);\r\n await this.checkKeyWord(1, inputMessage);\r\n await this.checkKeyWord(2, inputMessage);\r\n }\r\n async checkKeyWord(flag: number, inputMessage: string) {\r\n var Keyword: string = \"\";\r\n if (flag == 0) { Keyword = '#SKU'; }\r\n if (flag == 1) { Keyword = '#OrderId'; }\r\n if (flag == 2) { Keyword = '#Ticket'; }\r\n if (inputMessage.indexOf(Keyword) > -1) {\r\n //console.log(inputMessage);\r\n var arr = inputMessage.split(Keyword);\r\n //console.log(arr.length);\r\n let arrRespomnse:any[] = [];\r\n for (let n = 1; n < arr.length; ++n) {\r\n let temp: string = arr[n].trim();\r\n if (temp != '') {\r\n let id = temp.split(\" \")[0];\r\n //console.log(\"orderId \", id);\r\n if (this.validateItem.filter(x => ((x.id == id) && (x.flag == flag) )).length == 0) {\r\n var item: any;\r\n item = { 'id': id, 'flag': flag, 'validate': -1 };\r\n this.validateItem.push(item);\r\n //console.log(this.validateItem);\r\n let res=await this.httpService.get('api/Chat/GetChatMessageValidate/' + id + '/' + flag)\r\n .subscribe(\r\n data => {\r\n //this.chatGroupIds = data;\r\n //console.log('this.validateItem ', this.validateItem);\r\n //console.log('this.validateItem ', this.validateItem.find(x => ((x.id == id) && (x.flag == flag))));\r\n if (data == 1) {\r\n\r\n //console.log(' 1 ',this.validateItem.find(x => ((x.id == id) && (x.flag == flag))));\r\n if (this.validateItem.filter(x => ((x.id == id) && (x.flag == flag))).length > 0) {\r\n //console.log(' 2 ',this.validateItem.find(x => ((x.id == id) && (x.flag == flag))));\r\n\r\n this.validateItem.find(x => ((x.id == id) && (x.flag == flag))).validate = 1;\r\n }\r\n }\r\n else {\r\n if (this.validateItem.filter(x => ((x.id == id) && (x.flag == flag))).length > 0) {\r\n this.validateItem.find(x => ((x.id == id) && (x.flag == flag))).validate = 0;\r\n }\r\n }\r\n \r\n //console.log(n, this.validateItem);\r\n },\r\n error => {\r\n //console.log('error');\r\n }\r\n );\r\n arrRespomnse.push(res);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n async checkInput() {\r\n if (this.validateItem.length > 0) {\r\n let validateItem:any=await this.checkInputItem();\r\n\r\n if (validateItem.filter(x => x.validate == 0).length > 0) {return false;}\r\n if (validateItem.filter(x => x.validate == 1).length > 0) {return true;}\r\n }\r\n else { return true; }\r\n \r\n }\r\n async checkInputItem() {\r\n \r\n for (let n = 0; n < this.validateItem.filter(x=> (x.validate==-1)).length; ++n) {\r\n var id: string = this.validateItem[n].id;\r\n var flag: string = this.validateItem[n].flag;\r\n var data = await this.callInputItemURL('api/Chat/GetChatMessageValidate/' + id + '/' + flag);\r\n \r\n if (data == '1') {\r\n if (this.validateItem.filter(x => ((x.id == id) && (x.flag == flag))).length > 0) {\r\n this.validateItem.find(x => ((x.id == id) && (x.flag == flag))).validate = 1;\r\n }\r\n }\r\n else {\r\n if (this.validateItem.filter(x => ((x.id == id) && (x.flag == flag))).length > 0) {\r\n this.validateItem.find(x => ((x.id == id) && (x.flag == flag))).validate = 0;\r\n }\r\n }\r\n \r\n\r\n }\r\n return this.validateItem;\r\n }\r\n async callInputItemURL(url: string)\r\n {\r\n return await this.httpService.get(url).toPromise();\r\n \r\n }\r\n returnInvalidId():any[] {\r\n return this.validateItem.filter(x => (\r\n x.validate==0));\r\n }\r\n focusFlag: boolean=false;\r\n unfocusChat(flag: boolean) {\r\n this.focusFlag = flag;\r\n //console.log('this.focusFlag ', this.focusFlag);\r\n //this.setChatMessageRead();\r\n }\r\n //getMenuChoiceDetails() {\r\n // if (this.menuMessagechoiceflag != -1) {\r\n // //console.log(\"Keyword \",this.menuMessageKeyword);\r\n // }\r\n //}\r\n}\r\nexport class ChatUser {\r\n\r\n userID: number;\r\n userName: string;\r\n isLogged: Boolean;\r\n unReadMessage: number\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","export default \"body {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height: 50vh;\\r\\n margin: 0;\\r\\n background-color: #f0f0f0;\\r\\n}\\r\\n.container {\\r\\n background-color: white;\\r\\n padding: 20px;\\r\\n border-radius: 10px;\\r\\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\\r\\n width: 70%;\\r\\n max-width: 800px;\\r\\n}\\r\\nform {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n gap: 20px;\\r\\n}\\r\\nform p {\\r\\n font-size: 18px;\\r\\n font-weight: bold;\\r\\n}\\r\\n.form-group {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n gap: 10px;\\r\\n}\\r\\n.form-group label {\\r\\n flex: 1;\\r\\n text-align: right;\\r\\n}\\r\\n.form-group input {\\r\\n flex: 2;\\r\\n padding: 5px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vcHJvZHVjdC1jYXRlc3RpbmcvcHJvZHVjdC1jYXRlc3RpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixTQUFTO0lBQ1QseUJBQXlCO0FBQzdCO0FBQ0E7SUFDSSx1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1Q0FBdUM7SUFDdkMsVUFBVTtJQUNWLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixTQUFTO0FBQ2I7QUFDQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7QUFDckI7QUFDQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsU0FBUztBQUNiO0FBQ0E7SUFDSSxPQUFPO0lBQ1AsaUJBQWlCO0FBQ3JCO0FBQ0E7SUFDSSxPQUFPO0lBQ1AsWUFBWTtJQUNaLHNCQUFzQjtJQUN0QixrQkFBa0I7QUFDdEIiLCJmaWxlIjoic3JjL2FwcC9hZG1pbi9wcm9kdWN0LWNhdGVzdGluZy9wcm9kdWN0LWNhdGVzdGluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYm9keSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiA1MHZoO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcclxufVxyXG4uY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgbWF4LXdpZHRoOiA4MDBweDtcclxufVxyXG5mb3JtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAyMHB4O1xyXG59XHJcbmZvcm0gcCB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG4uZm9ybS1ncm91cCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMTBweDtcclxufVxyXG4uZm9ybS1ncm91cCBsYWJlbCB7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuLmZvcm0tZ3JvdXAgaW5wdXQge1xyXG4gICAgZmxleDogMjtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn0iXX0= */\"","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { ModalDirective } from 'ngx-bootstrap';\nimport { HttpClientService } from '../../services//http.client.service';\nimport { MessageService } from 'primeng/components/common/messageservice';\n\n@Component({\n selector: 'app-product-catesting',\n templateUrl: './product-catesting.component.html',\n styleUrls: ['./product-catesting.component.css']\n})\nexport class ProductCATestingComponent implements OnInit, OnDestroy {\n @ViewChild('ConfirmModal', { static: false }) ConfirmModal: ModalDirective;\n sku: string = '';\n images:string[]=new Array();\n qty: number = 0;\n pickedqty: number = 0;\n UnshippedQty: number = 0;\n ProductId: number = 0;\n constructor(private httpservice: HttpClientService, private messageService: MessageService) {\n\n }\n\n ngOnInit() {\n setTimeout(() => {\n this.openConfirmationModel();\n }, 1000)\n }\n ngOnDestroy() {\n this.closeConfirmModal();\n }\n openConfirmationModel() {\n this.ConfirmModal.show();\n }\n closeConfirmModal() {\n this.ConfirmModal.hide();\n }\n updateQty() {\n debugger\n var updatedQty: number = 0;\n updatedQty = Number(this.qty) - (Number(this.UnshippedQty) -Number(this.pickedqty));\n this.httpservice.get(`api/CAProduct/updateQty/${updatedQty}?sku=${this.sku}`).subscribe((res:any)=>{\n if(res.Status==200||res.status==200)\n this.messageService.add({ severity: 'success', summary: 'Quantity successfully uploaded', detail: '' });\n else\n {\n this.messageService.add({ severity: 'error', summary: res.Message||res.message, detail: '' });\n }\n console.log('qty res',res)\n },error=>{\n })\n }\n // updateImages(){\n // this.httpservice.get('api/CAProduct/updateImages?sku='+this.sku).subscribe((res: any)=>{\n // console.log('qty res',res)\n // },error=>{\n // })\n // }\n\n updateImages() {\n this.httpservice.get('api/CAProduct/updateImages?sku=' + this.sku).subscribe((res: any) => {\n if (res.Status == 200 || res.status == 200)\n this.messageService.add({ severity: 'success', summary: 'Images successfully uploaded', detail: '' });\n else {\n this.messageService.add({ severity: 'error', summary: res.Message || res.message, detail: '' });\n }\n console.log('image res', res);\n }, error => {\n console.error(error);\n });\n }\n onChange(event){\n this.sku= event.target.value \n }\n \n getImagesAndQty() {\n debugger\n this.httpservice.get(`api/CAProduct/getImagesAndQty?sku=${this.sku}`).subscribe((res: any) => {\n console.log('res', res);\n this.qty = res.data.quantityDto.quantity;\n this.pickedqty = res.data.quantityDto.pickQuantity;\n this.UnshippedQty = res.data.quantityDto.unshippedQty;\n this.ProductId= res.data.productId||0;\n this.images = res.data.imagedTs.map((img: any) => 'https://www.skuvelocity.com/assets/images/matched/' + img.imagename);\n \n }, error => {\n alert('error ' + error);\n });\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MultiSelectDropDownComponent } from '../../pages/multi-select-drop-down/multi-select-drop-down.component';\nimport { TooltipModule } from '@syncfusion/ej2-angular-popups';\nimport { FormsModule } from '@angular/forms';\nimport { ModalModule } from 'ngx-bootstrap';\nimport { ConfirmationComponent } from '../../pages/confirmation.component';\nimport { AfterCommaSpacePipe } from '../../Common/after-comma-space.pipe';\r\n\nconst COMPONENT = [\n MultiSelectDropDownComponent, ConfirmationComponent, AfterCommaSpacePipe\n]\n@NgModule({\n declarations: [COMPONENT],\n imports: [\n CommonModule, TooltipModule, FormsModule, ModalModule.forRoot()\n ], exports: [COMPONENT]\n})\nexport class SharedModule { }\n","// globals.ts\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClientService } from '../../services/http.client.service';\r\nimport { BackEndUrlService } from '../../services/backend.url.service';\r\nimport { BehaviorSubject } from 'rxjs/BehaviorSubject';\r\nimport { TaskSettingModel } from './taskSettingModels';\r\nimport { AuthService } from '../../services/auth.service';\r\nimport { userModel } from '../../Model/userDetails';\r\n\r\n@Injectable()\r\nexport class TaskSetting {\r\n public login: any;\r\n public userData = new userModel();\r\n userDataSubscription: any;\r\n _TaskNotificationCount = new BehaviorSubject(null);\r\n settings$ = this._TaskNotificationCount.asObservable();\r\n\r\n constructor(private httpService: HttpClientService,\r\n private authService: AuthService\r\n ) {\r\n //this.login = JSON.parse(localStorage.getItem(\"UserInfo\"));\r\n this.authService.setUserDetails();\r\n this.userDataSubscription = this.authService.userData.asObservable().subscribe(data => {\r\n this.userData = data;\r\n console.log(\"userData \", this.userData);\r\n });\r\n \r\n }\r\n getTaskCountForNotification() {\r\n var count = \"\";\r\n setInterval(() => {\r\n this.httpService.get('api/Task/getTaskCountForNotification/' + this.userData.userId)\r\n .subscribe(res => {\r\n //console.log(res);\r\n let data = res;\r\n \r\n if (data != null) {\r\n //if (data[0].notificationCount != \"0\") {\r\n this._TaskNotificationCount.next(data[0].notificationCount);\r\n //}\r\n \r\n }\r\n \r\n \r\n });\r\n }, 5000);\r\n }\r\n}\r\n\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { AuthService } from './services/auth.service';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { BackEndUrlService } from './services/backend.url.service';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css'],\r\n})\r\n\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n title = 'app';\r\n msgs: any[] = [];\r\n private mySubscription: any;\r\n\r\n //constructor(\r\n // private authService: AuthService,\r\n // private router: Router,\r\n // private activatedRoute: ActivatedRoute\r\n //) {\r\n // this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n // this.mySubscription = this.router.events.subscribe((event) => {\r\n // // debugger;\r\n // if (event instanceof NavigationEnd) {\r\n // if (event.urlAfterRedirects !== '/login') {\r\n\r\n // /*sessionStorage.setItem(`lastUrl`, JSON.stringify(event.urlAfterRedirects));*/\r\n // sessionStorage.setItem(`lastUrl`, event.urlAfterRedirects);\r\n // }\r\n // }\r\n // });\r\n // window.addEventListener('storage', this.handleStorageEvent.bind(this));\r\n //}\r\n localUrl: string;\r\n liveUrl: string;\r\n constructor(\r\n private authService: AuthService,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute, private backEndUrlService: BackEndUrlService\r\n ) {\r\n this.localUrl = this.backEndUrlService.localUrl;\r\n this.liveUrl = this.backEndUrlService.liveUrl;\r\n if (localStorage.getItem('authToken')) {\r\n this.authService.setUserDetails();\r\n }\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.mySubscription = this.router.events.subscribe((event) => {\r\n // debugger;\r\n if (event instanceof NavigationEnd) {\r\n if (event.urlAfterRedirects !== '/login') {\r\n\r\n /*sessionStorage.setItem(`lastUrl`, JSON.stringify(event.urlAfterRedirects));*/\r\n sessionStorage.setItem(`lastUrl`, event.urlAfterRedirects);\r\n }\r\n }\r\n });\r\n window.addEventListener('storage', this.handleStorageEvent.bind(this));\r\n }\r\n ngOnInit() {\r\n this.handleInitialNavigation();\r\n }\r\n ngOnDestroy() {\r\n if (this.mySubscription) {\r\n this.mySubscription.unsubscribe();\r\n }\r\n window.removeEventListener('storage', this.handleStorageEvent.bind(this));\r\n }\r\n private handleInitialNavigation() {\r\n //debugger;\r\n\r\n \r\n const authToken = localStorage.getItem('authToken');\r\n\r\n const url = window.location.pathname;\r\n const previousUrl = sessionStorage.getItem('previousUrl');\r\n\r\n if (authToken) {\r\n this.authService.setUserDetails();\r\n const fullUrl = window.location.href;\r\n const url = window.location.pathname;\r\n const lastUrl = sessionStorage.getItem('lastUrl');\r\n //debugger;\r\n\r\n\r\n if (!fullUrl.includes('/assets/Files/')) {\r\n\r\n if (fullUrl.includes(this.localUrl)) {\r\n // If the user is on localhost:49595 (root or any path), navigate to the dashboard\r\n if (url !== '/login' && url === '/') {\r\n this.router.navigate(['/admin/dashboard']);\r\n }\r\n }\r\n if (fullUrl.includes(this.liveUrl)) {\r\n // If the user is on localhost:49595 (root or any path), navigate to the dashboard\r\n if (url !== '/login' && url === '/') {\r\n this.router.navigate(['/admin/dashboard']);\r\n }\r\n }\r\n }\r\n // Handle the case where the user pastes a URL in a new tab\r\n if (url && url !== '/login' && url !== '/') {\r\n sessionStorage.setItem('lastUrl', url);\r\n this.router.navigate([url]); // Navigate to the pasted URL\r\n }\r\n // If there's a lastUrl stored and it's not /login, navigate to it\r\n else if (lastUrl && lastUrl !== '/login') {\r\n this.router.navigate([lastUrl]);\r\n sessionStorage.removeItem('lastUrl');\r\n }\r\n else if (previousUrl && previousUrl !== '/login' && lastUrl == '/login') {\r\n this.router.navigate([previousUrl]);\r\n sessionStorage.removeItem('previousUrl');\r\n }\r\n // Otherwise, navigate to the dashboard by default\r\n else {\r\n this.router.navigate(['/admin/dashboard']);\r\n }\r\n } else {\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n \r\n //else {\r\n // this.router.navigate(['/login']);\r\n //}\r\n }\r\n private handleStorageEvent(event: StorageEvent) {\r\n if (event.key === 'authToken') {\r\n if (event.newValue) {\r\n this.authService.setUserDetails();\r\n this.handleInitialNavigation();\r\n } else {\r\n sessionStorage.setItem(`previousUrl`, sessionStorage.getItem(`lastUrl`) || '');\r\n \r\n sessionStorage.setItem(`lastUrl`, this.router.url);\r\n\r\n\r\n // this.authService.logout();\r\n this.authService.logoutUserName();\r\n //setTimeout(() => {\r\n // this.router.navigate(['/login']);\r\n //}, 100);\r\n this.router.navigate(['/login']); \r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { NotFoundComponent } from './pages/not-found.component';\r\n\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\nimport { AppRoutingModule } from './app.routing';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { TreeTableModule } from 'primeng/treetable'; \r\nimport { TableModule } from 'primeng/table';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { GrowlModule } from 'primeng/primeng';\r\n\r\n//import { ContextMenuModule } from '@syncfusion/ej2-angular-navigations';\r\nimport { ChatService } from './admin/chat/chat.service';\r\nimport { ChatGroupService } from './admin/chat/chatgroup.service';\r\nimport { ScrollToBottomDirective } from './admin/chat/scroll-to-bottom.directive';\r\nimport { DatePipe } from '@angular/common';\r\n\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { ConfirmationComponent } from './pages/confirmation.component'\r\nimport { confirmationProductComponent } from './pages/confirmationProduct.component'\r\n\r\n\r\nimport { MessageService } from 'primeng/api';\r\nimport { HttpInterceptorService} from './services/http-interceptor.service';\r\nimport { ErrorInterceptorService } from './services/error-interceptor.service';\r\nimport { BackEndUrlService } from './services/backend.url.service';\r\nimport { FocusDirective } from './directive/FocusDirective.directive'\r\nimport { ContextMenuModule } from 'ngx-contextmenu';\r\nimport { NgxImageZoomModule } from 'ngx-image-zoom';\r\nimport { AdminModule } from './admin/admin.module';\r\nimport { SharedModule } from './admin/shared/shared.module';\r\n \r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NotFoundComponent,\r\n confirmationProductComponent\r\n ],\r\n imports: [\r\n AppRoutingModule, \r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' })\r\n \r\n , HttpClientModule\r\n ,FormsModule\r\n , RouterModule, BrowserAnimationsModule, TreeTableModule, TableModule, MessageModule, MessagesModule, GrowlModule\r\n , ModalModule.forRoot(), ContextMenuModule.forRoot(),\r\n NgxImageZoomModule.forRoot(),\r\n AdminModule,SharedModule\r\n ], \r\n providers:\r\n [\r\n CookieService,\r\n ChatService\r\n , ChatGroupService\r\n , ScrollToBottomDirective\r\n , FocusDirective\r\n , DatePipe\r\n , MessageService, BackEndUrlService\r\n , { provide: HTTP_INTERCEPTORS, useClass: HttpInterceptorService, multi: true }\r\n , { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptorService, multi: true },\r\n ],\r\n bootstrap:\r\n [AppComponent],\r\n entryComponents: [ConfirmationComponent, confirmationProductComponent]\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { NotFoundComponent } from './pages/not-found.component';\r\nimport { log } from 'util';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'login',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'login',\r\n loadChildren: './login/login.module#LoginModule'\r\n },\r\n\r\n {\r\n path: 'admin',\r\n loadChildren: './admin/admin.module#AdminModule'\r\n },\r\n {\r\n path: 'forgot/:type',\r\n loadChildren: './forgot/forgot.module#ForgotModule'\r\n },\r\n {\r\n path: 'ChangePassword',\r\n loadChildren:'./changepassword/changepassword.module#ChangePasswordModule'\r\n }\r\n //,\r\n\r\n //{\r\n // path: '**',\r\n // component: NotFoundComponent\r\n //}\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: 'enabled' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../services/auth.service';\r\nimport {userModel,userPages } from '../Model/userDetails';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n\r\n userDataSubscription: any;\r\n userData = new userModel();\r\n\r\n constructor(private router: Router, private authService: AuthService) {\r\n \r\n }\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n \r\n this.authService.setUserDetails();\r\n this.userDataSubscription = this.authService.userData.asObservable().subscribe(data => {\r\n this.userData = data;\r\n });\r\n let roles = next.data[\"roles\"] as Array;\r\n\r\n if (this.userData.hasOwnProperty('userId')) {\r\n var list = this.userData.listuserPage.filter(x => x.pageName == roles[0]);\r\n if (this.userData.userId > 0) {\r\n if (list != null && list.length > 0) {\r\n return true;\r\n }\r\n return true;\r\n }\r\n\r\n if (this.userData.userId > 0) {\r\n return true;\r\n }\r\n }\r\n\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}\r\n","import { OnInit, ElementRef, Renderer, Input, Directive } from '@angular/core';\r\n\r\n@Directive({ selector: '[focuMe]' })\r\nexport class FocusDirective implements OnInit {\r\n\r\n @Input('focuMe') isFocused: boolean;\r\n\r\n constructor(private hostElement: ElementRef, private renderer: Renderer) { }\r\n\r\n ngOnInit() {\r\n if (this.isFocused) {\r\n //this.hostElement.nativeElement.focus();\r\n this.renderer.invokeElementMethod(this.hostElement.nativeElement, 'focus');\r\n }\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'input'\r\n})\r\nexport class InputDirective {\r\n @HostBinding('autocomplete') autocomplete = 'off';\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n templateUrl: './confirmation.component.html'\r\n})\r\nexport class ConfirmationComponent {\r\n\r\n //public onClose: Subject;\r\n onClose=new Subject();\r\n subject: Subject;\r\n heading: Subject;\r\n message: Subject;\r\n constructor(private _bsModalRef: BsModalRef) {\r\n\r\n }\r\n\r\n public ngOnInit(): void {\r\n //this.onClose = new Subject();\r\n }\r\n action(value: boolean) {\r\n this._bsModalRef.hide();\r\n this.subject.next(value);\r\n this.subject.complete();\r\n }\r\n //public onConfirm(): void {\r\n // this._bsModalRef.hide();\r\n // this.onClose.next(true);\r\n // this.onClose.complete();\r\n \r\n // }\r\n\r\n //public onCancel(): void {\r\n // this._bsModalRef.hide();\r\n // this.onClose.next(false);\r\n // this.onClose.complete();\r\n // }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n templateUrl: './confirmationProduct.component.html'\r\n})\r\nexport class confirmationProductComponent {\r\n\r\n onClose=new Subject();\r\n subject: Subject;\r\n heading: Subject;\r\n message: Subject;\r\n cancelButtonText: Subject;\r\n SubmitButtonText: Subject;\r\n\r\n constructor(private _bsModalRef: BsModalRef) {\r\n\r\n }\r\n\r\n public ngOnInit(): void {\r\n //this.onClose = new Subject();\r\n }\r\n action(value: boolean) {\r\n this._bsModalRef.hide();\r\n this.subject.next(value);\r\n this.subject.complete();\r\n }\r\n}\r\n","export default \"/*new dropdown css*/\\r\\n.Filter-Dropdown {\\r\\n width: 205px;\\r\\n margin-top: 9px;\\r\\n border-radius: 0px;\\r\\n border: 1px solid #949494;\\r\\n height: 30px;\\r\\n font-size: 12px;\\r\\n background-image: linear-gradient(45deg, green 50%, transparent 50%), linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);\\r\\n }\\r\\n.Attribute-Dropdown-Wrap {\\r\\n border: 1px solid rgba(0, 0, 0, 0.42);\\r\\n height: 32px;\\r\\n display: flex !important;\\r\\n cursor: pointer !important;\\r\\n justify-content: space-between;\\r\\n align-items: center;\\r\\n}\\r\\n.Att-Selected-Val {\\r\\n width:100%;\\r\\n color: #333;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n padding: 3px 6px;\\r\\n font-size: 13px !important;\\r\\n font-family: 'Open Sans', sans-serif !important;\\r\\n }\\r\\n.Att-Dropdown-Icon {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n height:100%;\\r\\n}\\r\\n/*.Clear-Button {\\r\\n font-weight: normal;\\r\\n font-size: 26px;\\r\\n color: #3333339c;\\r\\n margin-right: 4px;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}*/\\r\\n.Clear-Button {\\r\\n font-weight: 100;\\r\\n font-size: 18px;\\r\\n color: #3333339c;\\r\\n margin-right: 4px;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n font-family: math;\\r\\n }\\r\\n.Att-Dropdown-Footer {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n font-size: 13px;\\r\\n font-weight: 700;\\r\\n border-top: 1px solid #ddd;\\r\\n padding: 4px;\\r\\n}\\r\\n.Attribute-Dropdown-Button {\\r\\n width: 20px;\\r\\n background: transparent !important;\\r\\n color: #ddd;\\r\\n border: none;\\r\\n height: 100%;\\r\\n padding: 0;\\r\\n position: absolute;\\r\\n}\\r\\n.Input-Wrap {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n width: 17px;\\r\\n }\\r\\n.Arrow-Style {\\r\\n font-size: 20px;\\r\\n font-weight: bolder;\\r\\n color: rgba(0, 0, 0, 0.54);\\r\\n border-radius: 0px;\\r\\n position: relative;\\r\\n right: 3px;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n align-items: center;\\r\\n}\\r\\n/*.Dropdown-Position {\\r\\n transform: translate3d(-2px, 30px, 0px) !important;\\r\\n width: 202px;\\r\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\r\\n border: 1px solid #ddd;\\r\\n }*/\\r\\n.Dropdown-Position-2 {\\r\\n transform: translate3d(-2px, -1px, 0px) !important;\\r\\n width: 202px;\\r\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\r\\n border: 1px solid #ddd;\\r\\n }\\r\\n.Dropdown-Filter {\\r\\n width: 100%;\\r\\n border-radius: 0px !important;\\r\\n border: 1px solid #000;\\r\\n height: 30px;\\r\\n font-size: 13px;\\r\\n padding-left: 10px;\\r\\n padding-right: 17px;\\r\\n outline:none;\\r\\n }\\r\\n.Dropdown-Filter:focus {\\r\\n box-shadow: 0 0.5px 1px 0px rgb(0 0 0 / 90%);\\r\\n \\r\\n }\\r\\n.over-loding {\\r\\n max-height: 300px;\\r\\n min-width: 100%;\\r\\n overflow-y: auto;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n.check-black-white {\\r\\n -webkit-appearance: none;\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n background-color: rgb(253, 252, 252);\\r\\n border-radius: 5px;\\r\\n border: 3px solid lightgray;\\r\\n margin-right: 10px;\\r\\n }\\r\\n.check-black-white:checked {\\r\\n background-color: rgb(4, 4, 4);\\r\\n }\\r\\n.cross-button {\\r\\n position: absolute;\\r\\n right: 5px;\\r\\n color: #333;\\r\\n top: -1px;\\r\\n font-size: 21.5px;\\r\\n font-weight: 500;\\r\\n }\\r\\n.cross-button {\\r\\n position: absolute;\\r\\n right: 5px;\\r\\n color: #000;\\r\\n }\\r\\n.Filter-Section {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n top: 0;\\r\\n background: #fff;\\r\\n z-index: 1;\\r\\n }\\r\\n.Option-Wrap {\\r\\n padding: 8px 15px;\\r\\n font-size: 15px;\\r\\n display:flex;\\r\\n align-items:center;\\r\\n cursor:pointer !important;\\r\\n -webkit-user-select:none;\\r\\n -moz-user-select:none;\\r\\n -ms-user-select:none;\\r\\n user-select:none;\\r\\n }\\r\\n.margin-right-10{\\r\\n margin-right:10px\\r\\n }\\r\\n.Drop-Checkbox {\\r\\n border: 2px solid #757575 !important;\\r\\n border-radius: 2px;\\r\\n box-sizing: border-box;\\r\\n cursor: pointer;\\r\\n display: inline-block;\\r\\n font-family: 'e-icons';\\r\\n height: 14px;\\r\\n line-height: 10px;\\r\\n padding: 2px 0;\\r\\n text-align: center;\\r\\n vertical-align: middle;\\r\\n width: 14px;\\r\\n }\\r\\n.Option-Wrap span, .Option-Wrap label {\\r\\n color: #000;\\r\\n font-family: -apple-system,BlinkMacSystemFont,\\\"Segoe UI\\\",Roboto,\\\"Helvetica Neue\\\",Arial,\\\"Noto Sans\\\",sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"Noto Color Emoji\\\";\\r\\n font-size: 13px;\\r\\n }\\r\\n.New-Tickmark {\\r\\n position: absolute;\\r\\n top: -3px;\\r\\n left: 0;\\r\\n height: 15px;\\r\\n width: 15px;\\r\\n background-color: #fff;\\r\\n border: 1px solid #000;\\r\\n border: 2px solid;\\r\\n border-radius: 2px;\\r\\n box-sizing: border-box;\\r\\n cursor: pointer;\\r\\n display: inline-block;\\r\\n font-family: 'e-icons';\\r\\n height: 18px;\\r\\n line-height: 10px;\\r\\n padding: 2px 0;\\r\\n text-align: center;\\r\\n vertical-align: middle;\\r\\n width: 18px;\\r\\n background-color: #fff;\\r\\n border-color: #757575;\\r\\n }\\r\\n.New-Tickmark:after {\\r\\n left: 4px;\\r\\n top: 2px;\\r\\n width: 5px;\\r\\n height: 8px;\\r\\n border: solid white;\\r\\n border-width: 0 2px 2px 0;\\r\\n transform: rotate( 45deg);\\r\\n }\\r\\n.dropdown.Attribute-Dropdown-Placeholder:before {\\r\\n content: \\\"Select Attribute Values...\\\";\\r\\n font-size: 13px;\\r\\n display: flex;\\r\\n width: 100%;\\r\\n align-items: center;\\r\\n padding-left: 4px;\\r\\n color: #939292d1;\\r\\n font-family: \\\"Roboto\\\", \\\"Segoe UI\\\", \\\"GeezaPro\\\", \\\"DejaVu Serif\\\", \\\"sans-serif\\\", \\\"-apple-system\\\", \\\"BlinkMacSystemFont\\\";\\r\\n }\\r\\n.Custom input:checked ~ .New-Tickmark {\\r\\n background-color: #000;\\r\\n }\\r\\n.Custom input:checked ~ .New-Tickmark:after {\\r\\n display: block;\\r\\n }\\r\\n.Custom .New-Tickmark:after {\\r\\n left: 4px;\\r\\n top: 1px;\\r\\n width: 5px;\\r\\n height: 9px;\\r\\n border: solid white;\\r\\n border-width: 0 2px 2px 0;\\r\\n transform: rotate( 45deg);\\r\\n }\\r\\n.New-Tickmark:after {\\r\\n content: \\\"\\\";\\r\\n position: absolute;\\r\\n display: none;\\r\\n }\\r\\n.activate {\\r\\n background-color: #eceff5\\r\\n }\\r\\n.Arrow-Transition-Up {\\r\\n transform: rotate(180deg);\\r\\n transition: transform 0.3s;\\r\\n }\\r\\n.Arrow-Transition-Down {\\r\\n transform: rotate(360deg);\\r\\n transition: transform 0.3s;\\r\\n }\\r\\n.No-Record-Found-Label {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n width: 100%;\\r\\n font-size: 15px;\\r\\n color: #000;\\r\\n padding: 18px 8px;\\r\\n }\\r\\n.text-overflow {\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n width: 142px;\\r\\n display: block;\\r\\n}\\r\\n/*new dropdown css end*/\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGFnZXMvbXVsdGktc2VsZWN0LWRyb3AtZG93bi9tdWx0aS1zZWxlY3QtZHJvcC1kb3duLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQW1CO0FBQ25CO0lBQ0ksWUFBWTtJQUNaLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixlQUFlO0lBQ2YsZ0tBQWdLO0VBQ2xLO0FBQ0Y7RUFDRSxxQ0FBcUM7RUFDckMsWUFBWTtFQUNaLHdCQUF3QjtFQUN4QiwwQkFBMEI7RUFDMUIsOEJBQThCO0VBQzlCLG1CQUFtQjtBQUNyQjtBQUVFO0lBQ0UsVUFBVTtJQUNWLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsMEJBQTBCO0lBQzFCLCtDQUErQztFQUNqRDtBQUNGO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsV0FBVztBQUNiO0FBQ0E7Ozs7Ozs7OztFQVNFO0FBQ0E7SUFDRSxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGlCQUFpQjtFQUNuQjtBQUNGO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQiwwQkFBMEI7RUFDMUIsWUFBWTtBQUNkO0FBQ0E7RUFDRSxXQUFXO0VBQ1gsa0NBQWtDO0VBQ2xDLFdBQVc7RUFDWCxZQUFZO0VBQ1osWUFBWTtFQUNaLFVBQVU7RUFDVixrQkFBa0I7QUFDcEI7QUFDRTtJQUNFLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLFdBQVc7RUFDYjtBQUNGO0VBQ0UsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIsa0JBQWtCO0VB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QUN2QixZQUFZO0VBQ1osY0FBYztBQUNoQjtBQUVFLHVCQUF1QiIsImZpbGUiOiJzcmMvYXBwL3BhZ2VzL211bHRpLXNlbGVjdC1kcm9wLWRvd24vbXVsdGktc2VsZWN0LWRyb3AtZG93bi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypuZXcgZHJvcGRvd24gY3NzKi9cclxuLkZpbHRlci1Ecm9wZG93biB7XHJcbiAgICB3aWR0aDogMjA1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA5cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTQ5NDk0O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBncmVlbiA1MCUsIHRyYW5zcGFyZW50IDUwJSksIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JlZW4gNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcclxuICB9XHJcbi5BdHRyaWJ1dGUtRHJvcGRvd24tV3JhcCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjQyKTtcclxuICBoZWlnaHQ6IDMycHg7XHJcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4gIC5BdHQtU2VsZWN0ZWQtVmFsIHtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxuICB9XHJcbi5BdHQtRHJvcGRvd24tSWNvbiB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGhlaWdodDoxMDAlO1xyXG59XHJcbi8qLkNsZWFyLUJ1dHRvbiB7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDI2cHg7XHJcbiAgY29sb3I6ICMzMzMzMzM5YztcclxuICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59Ki9cclxuICAuQ2xlYXItQnV0dG9uIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjogIzMzMzMzMzljO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZm9udC1mYW1pbHk6IG1hdGg7XHJcbiAgfVxyXG4uQXR0LURyb3Bkb3duLUZvb3RlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG4gIHBhZGRpbmc6IDRweDtcclxufVxyXG4uQXR0cmlidXRlLURyb3Bkb3duLUJ1dHRvbiB7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2RkZDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbiAgLklucHV0LVdyYXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxN3B4O1xyXG4gIH1cclxuLkFycm93LVN0eWxlIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHJpZ2h0OiAzcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbiAgLyouRHJvcGRvd24tUG9zaXRpb24ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMnB4LCAzMHB4LCAwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMjAycHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gIH0qL1xyXG4gIC5Ecm9wZG93bi1Qb3NpdGlvbi0yIHtcclxuICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0ycHgsIC0xcHgsIDBweCkgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAyMDJweDtcclxuICAgIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgfVxyXG4gIC5Ecm9wZG93bi1GaWx0ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxN3B4O1xyXG4gICAgb3V0bGluZTpub25lO1xyXG4gIH1cclxuICAuRHJvcGRvd24tRmlsdGVyOmZvY3VzIHtcclxuICAgICAgYm94LXNoYWRvdzogMCAwLjVweCAxcHggMHB4IHJnYigwIDAgMCAvIDkwJSk7XHJcbiAgXHJcbiAgICB9XHJcbi5vdmVyLWxvZGluZyB7XHJcbiAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgbWluLXdpZHRoOiAxMDAlO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4gIC5jaGVjay1ibGFjay13aGl0ZSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTMsIDI1MiwgMjUyKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkIGxpZ2h0Z3JheTtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICB9XHJcbiAgLmNoZWNrLWJsYWNrLXdoaXRlOmNoZWNrZWQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNCwgNCwgNCk7XHJcbiAgICB9XHJcbiAgLmNyb3NzLWJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogNXB4O1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICB0b3A6IC0xcHg7XHJcbiAgICBmb250LXNpemU6IDIxLjVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgfVxyXG4gIC5jcm9zcy1idXR0b24ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgfVxyXG4gIC5GaWx0ZXItU2VjdGlvbiB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG4gIC5PcHRpb24tV3JhcCB7XHJcbiAgICBwYWRkaW5nOiA4cHggMTVweDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcclxuICAgIGN1cnNvcjpwb2ludGVyICFpbXBvcnRhbnQ7XHJcbiAgICB1c2VyLXNlbGVjdDpub25lO1xyXG4gIH1cclxuICAubWFyZ2luLXJpZ2h0LTEwe1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6MTBweFxyXG4gIH1cclxuICAuRHJvcC1DaGVja2JveCB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNzU3NTc1ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1mYW1pbHk6ICdlLWljb25zJztcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZzogMnB4IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgfVxyXG4gIC5PcHRpb24tV3JhcCBzcGFuLCAuT3B0aW9uLVdyYXAgbGFiZWwge1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsXCJTZWdvZSBVSVwiLFJvYm90byxcIkhlbHZldGljYSBOZXVlXCIsQXJpYWwsXCJOb3RvIFNhbnNcIixzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCIsXCJTZWdvZSBVSSBTeW1ib2xcIixcIk5vdG8gQ29sb3IgRW1vamlcIjtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICB9XHJcbiAgLk5ldy1UaWNrbWFyayB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0zcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZvbnQtZmFtaWx5OiAnZS1pY29ucyc7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1jb2xvcjogIzc1NzU3NTtcclxuICB9XHJcbiAgICAuTmV3LVRpY2ttYXJrOmFmdGVyIHtcclxuICAgICAgbGVmdDogNHB4O1xyXG4gICAgICB0b3A6IDJweDtcclxuICAgICAgd2lkdGg6IDVweDtcclxuICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgIGJvcmRlcjogc29saWQgd2hpdGU7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKCA0NWRlZyk7XHJcbiAgICB9XHJcbiAgLmRyb3Bkb3duLkF0dHJpYnV0ZS1Ecm9wZG93bi1QbGFjZWhvbGRlcjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJTZWxlY3QgQXR0cmlidXRlIFZhbHVlcy4uLlwiO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctbGVmdDogNHB4O1xyXG4gICAgY29sb3I6ICM5MzkyOTJkMTtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIlNlZ29lIFVJXCIsIFwiR2VlemFQcm9cIiwgXCJEZWphVnUgU2VyaWZcIiwgXCJzYW5zLXNlcmlmXCIsIFwiLWFwcGxlLXN5c3RlbVwiLCBcIkJsaW5rTWFjU3lzdGVtRm9udFwiO1xyXG4gIH1cclxuICAuQ3VzdG9tIGlucHV0OmNoZWNrZWQgfiAuTmV3LVRpY2ttYXJrIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgfVxyXG4gICAgLkN1c3RvbSBpbnB1dDpjaGVja2VkIH4gLk5ldy1UaWNrbWFyazphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIC5DdXN0b20gLk5ldy1UaWNrbWFyazphZnRlciB7XHJcbiAgICBsZWZ0OiA0cHg7XHJcbiAgICB0b3A6IDFweDtcclxuICAgIHdpZHRoOiA1cHg7XHJcbiAgICBoZWlnaHQ6IDlweDtcclxuICAgIGJvcmRlcjogc29saWQgd2hpdGU7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoIDQ1ZGVnKTtcclxuICB9XHJcbiAgLk5ldy1UaWNrbWFyazphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLmFjdGl2YXRlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VmZjVcclxuICB9XHJcbiAgLkFycm93LVRyYW5zaXRpb24tVXAge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xyXG4gIH1cclxuICAuQXJyb3ctVHJhbnNpdGlvbi1Eb3duIHtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XHJcbiAgICB9XHJcbiAgLk5vLVJlY29yZC1Gb3VuZC1MYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgcGFkZGluZzogMThweCA4cHg7XHJcbiAgfVxyXG4udGV4dC1vdmVyZmxvdyB7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdpZHRoOiAxNDJweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuICAvKm5ldyBkcm9wZG93biBjc3MgZW5kKi9cclxuIl19 */\"","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, HostListener, SimpleChanges } from '@angular/core';\nimport { feilds } from '../../Model/dropDownModel';\nimport { BehaviorSubject } from 'rxjs';\n\n@Component({\n selector: 'multi-select-drop-down',\n templateUrl: './multi-select-drop-down.component.html',\n styleUrls: ['./multi-select-drop-down.component.css']\n})\nexport class MultiSelectDropDownComponent implements OnInit {\n @Input() dataList: any[] = new Array()\n @Input() feilds: feilds = {}\n @Input() id: string = ''\n @Input() dataListCopy: any[] = []\n @Input() selectedValues: any[] = []\n\n isClickOnAttributeDropdown: boolean = false;\n @ViewChild('DropdownFilter', { static: false }) DropdownFilter: ElementRef;\n slectedValueShowingText: any[] = []\n @Output() onSelect = new EventEmitter();\n @Output() clearFilter = new EventEmitter();\n isSecrch: boolean = false\n subject = new BehaviorSubject([]);\n showingData: number = 0\n intervalId: any\n isDDopen: boolean = false;\n constructor(private elem: ElementRef) { }\n ngOnInit() {\n this.intervalId = setInterval(() => {\n this.setDDShowingText()\n }, 1000)\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.onPropesChange(changes)\n }\n onPropesChange(changes: SimpleChanges) {\n // if (changes['dataList'] && ![null, undefined].includes(changes['dataList'].currentValue)) {\n // this.dataList = changes['dataList'].currentValue;\n // } else {\n // this.dataList = [];\n // }\n // if (changes['dataListCopy'] && ![null, undefined].includes(changes['dataListCopy'].currentValue)) {\n // this.dataListCopy = changes['dataListCopy'].currentValue;\n // } else {\n // this.dataListCopy = [];\n // }\n // if (changes['selectedValues'] && ![null, undefined].includes(changes['selectedValues'].currentValue)) {\n // this.selectedValues = changes['selectedValues'].currentValue;\n // this.slectedValueShowingText = this.dataListCopy ? this.dataListCopy.filter(x => this.selectedValues.includes(x[this.feilds.text])).map(x => x[this.feilds.text]) : []\n // } else {\n // this.selectedValues = [];\n // }\n // if (changes['id'] && changes['id'].currentValue) {\n // this.id = changes['id'].currentValue;\n // } else {\n // this.id = '';\n // } \n\n }\n\n setDDShowingText() {\n this.slectedValueShowingText = this.getSelectedValues();\n }\n serchText($event) {\n $event.stopPropagation()\n if ($event.target.value != '') {\n this.dataList = []\n const res = this.dataListCopy.filter(s => String(s[this.feilds.text]).toLowerCase().indexOf(String($event.target.value).toLowerCase()) != -1).slice(0, 50)\n this.isSecrch = true\n this.subject.next(res)\n this.dataList = res;\n this.showingData = res.length\n }\n else {\n this.dataList = []\n this.dataList = this.dataListCopy.slice(0, 50)\n this.isSecrch = true\n this.showingData = this.dataList.length\n this.subject.next(this.dataList)\n }\n }\n clear() {\n this.DropdownFilter.nativeElement.value = '';\n this.selectedValues = [];\n this.slectedValueShowingText = [];\n this.isSecrch = false;\n if (this.isSecrch == false) {\n this.dataList = []\n this.dataList = this.dataListCopy.slice(0, 50)\n }\n this.onSelect.emit(this.selectedValues)\n }\n cleareAll(event) {\n event.stopPropagation();\n this.isSecrch = false;\n if (this.isSecrch == false) {\n this.dataList = []\n this.dataList = this.dataListCopy.slice(0, 50)\n }\n if (this.selectedValues.length == 0) {\n this.selectedValues = [];\n this.slectedValueShowingText = []\n }\n\n this.onSelect.emit(this.selectedValues)\n }\n selectUnSelectAll(event) {\n event.stopPropagation()\n this.selectedValues = this.selectedValues.length == this.dataListCopy.length ? [] : this.dataListCopy.map(u => u[this.feilds.value]);\n this.slectedValueShowingText = this.getSelectedValues()\n this.onSelect.emit(this.selectedValues)\n }\n onSelectUnSelect(value, $event) {\n $event.stopPropagation();\n this.selectedValues.includes(value) ? this.selectedValues.splice(this.selectedValues.indexOf(value), 1) : this.selectedValues.push(value)\n this.slectedValueShowingText = this.getSelectedValues()\n this.onSelect.emit(this.selectedValues)\n }\n getSelectedValues() {\n return this.selectedValues && this.selectedValues.length > 0 && this.dataListCopy.length > 0 ?\n this.selectedValues.map(s => this.dataListCopy.find(x => x[this.feilds.value] == s)).filter(s => s != undefined).map(u => u[this.feilds.text])\n : []\n }\n @HostListener('document:click', ['$event'])\n DocumentClick(event: Event) {\n if (!this.elem.nativeElement.contains(event.target)) {\n this.isClickOnAttributeDropdown = false;\n this.isSecrch = false;\n this.DropdownFilter.nativeElement.value = '';\n if (this.isSecrch == false) {\n this.dataList = []\n this.dataList = this.dataListCopy.slice(0, 50)\n }\n }\n }\n\n openDD(event) {\n this.isClickOnAttributeDropdown = !this.isClickOnAttributeDropdown;\n setTimeout(() => {\n this.DropdownFilter.nativeElement.focus();\n }, 100)\n this.OpenDropDown(event.target.id)\n }\n OpenDropDown(id) {\n\n var element = document.getElementById(id);\n if (element != null && element != undefined && this.isDDopen) {\n this.isDDopen = false;\n setTimeout(() => {\n this.isDDopen = true;\n }, 1000)\n }\n }\n onClickFilter(event: any) {\n event.stopPropagation();\n }\n}\n","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n\r\n templateUrl: \"./not-found.component.html\"\r\n})\r\n\r\nexport class NotFoundComponent {\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, from, Subject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { userModel,userPages } from '../Model/userDetails';\r\nimport { BackEndUrlService} from '../services/backend.url.service';\r\nimport { decode } from 'punycode';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n userPageList = new Array();\r\n userData = new BehaviorSubject(new userModel());\r\n menuList = new BehaviorSubject>(new Array());\r\n usereImage : BehaviorSubject= new BehaviorSubject('');\r\n\r\n constructor(private http: HttpClient, private router: Router, private backEndUrlService: BackEndUrlService) {\r\n this.setUserDetails()\r\n }\r\nchangeuserImage(image:string){\r\n debugger;\r\n this.usereImage.next(image) \r\n}\r\n login(userDetails) {\r\n return this.http.post(this.backEndUrlService.backendUrl + 'Login', userDetails)\r\n .pipe(map(response => {\r\n if (response.token != \"\") {\r\n localStorage.setItem('authToken', response.token); \r\n this.setUserDetails();\r\n }\r\n if (response.userDetails.userID > 0) {\r\n return 200;\r\n }\r\n else {\r\n return response.userDetails.userID;\r\n }\r\n }));\r\n }\r\n\r\n setUserDetails() {\r\n this.userPageList = new Array(); \r\n this.userPageList.push({ pageName: 'dashboard' }, { pageName: 'user'});\r\n if (localStorage.getItem('authToken')) {\r\n const userDetails = new userModel();\r\n const decodeUserDetails = JSON.parse(window.atob(localStorage.getItem('authToken').split('.')[1]));\r\n userDetails.userName = decodeUserDetails.sub;\r\n userDetails.firstName = decodeUserDetails.firstName;\r\n userDetails.lastName = decodeUserDetails.lastName;\r\n userDetails.roleName = decodeUserDetails.roleName;\r\n userDetails.userId = decodeUserDetails.userID;\r\n userDetails.isLoggedIn = true;\r\n userDetails.roleId = decodeUserDetails.roleId;\r\n userDetails.listuserPage = this.userPageList;\r\n userDetails.isSupervisor = decodeUserDetails.isSupervisor;\r\n userDetails.isAdmin = decodeUserDetails.isAdmin;\r\n this.getMenus(decodeUserDetails.userID);\r\n this.userData.next(userDetails);\r\n }\r\n }\r\n\r\n getMenus(userID: number) {\r\n var observable = this.http.get('GetMenuPrivileges' + \"/\" + userID);\r\n observable.subscribe(\r\n (res: any) => {\r\n if (res != undefined && res != null && res.length > 0) {\r\n this.menuList.next(res);\r\n }\r\n });\r\n }\r\n\r\n logout() {\r\n localStorage.removeItem('authToken');\r\n localStorage.removeItem('userName');\r\n this.router.navigate(['/login']);\r\n this.userData.next(new userModel());\r\n localStorage.setItem('lastUrl', '');\r\n }\r\n logoutUserName() {\r\n localStorage.removeItem('authToken');\r\n // localStorage.removeItem('userName');\r\n this.router.navigate(['/login']);\r\n this.userData.next(new userModel());\r\n localStorage.setItem('lastUrl', '');\r\n }\r\n}\r\n\r\nexport class MenuObjects {\r\n formGroupId: number;\r\n formPath: string = '';\r\n formPage: string = '';\r\n parentHeaderName: string = '';\r\n headerName: string = '';\r\n childHeaderName: string = '';\r\n isShowInMenu: boolean;\r\n isAddAvailable: boolean;\r\n isEditAvailable: boolean;\r\n isViewAvailable: boolean;\r\n isDeleteAvailable: boolean;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n\r\n@Injectable()\r\n\r\nexport class BackEndUrlService {\r\n private previousUrl: string | undefined;\r\n private currentUrl: string;\r\n localUrl: string = \"http://localhost:49595/\";\r\n // liveUrl: string = \"https://demo.tagsweeklyforce.com/\";\r\n liveUrl: string = \"https://www.skuvelocity.com/\";\r\n parsedUrl:any = new URL(window.location.href);\r\n baseUrl = this.parsedUrl.origin; \r\n backendUrl: string = this.baseUrl+'/';\r\n apiUrl='http://localhost:49595/api/'\r\n constructor(private router: Router)\r\n {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n };\r\n });\r\n }\r\n\r\n public getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {BehaviorSubject } from 'rxjs'\n@Injectable({\n providedIn: 'root'\n})\nexport class BehaviourSubjectServiceService {\n\n constructor() { }\n private profileImage = new BehaviorSubject(null);\n\n data$ = this.profileImage.asObservable();\n private Values= new BehaviorSubject('');\n CastValues = this.Values.asObservable();\n\n sendMessage(newValues) {\n this.Values.next(newValues);\n }\n\n setData(data: any) {\n this.profileImage.next(data);\n }\n\n // Method to get the current data value\n getData() {\n return this.profileImage.value;\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from './auth.service';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError, BehaviorSubject} from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { userModel, userPages } from '../Model/userDetails';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ErrorInterceptorService implements HttpInterceptor {\r\n userData = new BehaviorSubject(new userModel());\r\n\r\n constructor(private authService: AuthService, private router: Router) {\r\n console.log('hfhfh')\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n localStorage.removeItem('authToken');\r\n this.userData.next(new userModel());\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: this.router.routerState.snapshot.url } });\r\n }\r\n return throwError(err.status);\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HttpInterceptorService implements HttpInterceptor {\n constructor() { }\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n const token = localStorage.getItem('authToken');\n if (token) {\n request = request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`,\n }\n });\n }\n return next.handle(request);\n }\n}\n","//@ts-ignore\r\nimport { Injectable } from '@angular/core';\r\n//@ts-ignore\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nimport { BackEndUrlService } from './backend.url.service';\r\nimport { map } from 'jquery';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\n@Injectable()\r\n//@ts-ignore\r\nexport class HttpClientService {\r\n public loading = true;\r\n constructor(private httpCl: HttpClient, private _backEndUrlService: BackEndUrlService) { }\r\n headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Private-Network': 'true', 'Access-Control-Request-Private-Network': 'true' });\r\n backendUrlService: string = this._backEndUrlService.backendUrl;\r\n getwithparam(url: any, data: any) {\r\n // return this.httpCl.get(this.backendUrlService + url + \"?\" + data);\r\n return this.httpCl.get(url + \"?\" + data);\r\n }\r\n get(url: any) {\r\n //return this.httpCl.get(this.backendUrlService + url);\r\n return this.httpCl.get(url);\r\n }\r\n post(url: any, data: any) {\r\n //return this.httpCl.post(this.backendUrlService + url, data);\r\n return this.httpCl.post(url, data);\r\n }\r\n postwithparam(url: any, data: any) {\r\n //return this.httpCl.post(this.backendUrlService + url, data);\r\n return this.httpCl.post(url, data);\r\n }\r\n postwithdata(url: any, data: any, datatype: any) {\r\n // return this.httpCl.post(this.backendUrlService + url, data, datatype);\r\n return this.httpCl.post(url, data, datatype);\r\n }\r\n\r\n postnew(url: any, data: any,) {\r\n return this.httpCl.post(url, data, { headers: this.headers });\r\n }\r\n\r\n getnew(url: any) {\r\n return this.httpCl.get(url, { headers: this.headers });\r\n }\r\n delete(url: any) {\r\n return this.httpCl.delete(url, { headers: this.headers });\r\n }\r\n head(url: string) {\r\n const headers = this.headers\r\n return this.httpCl.head(url, { observe: 'response', headers: headers });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class UrlService {\r\n private previousUrl: BehaviorSubject = new BehaviorSubject(null);\r\n public previousUrl$: Observable = this.previousUrl.asObservable();\r\n\r\n constructor() { }\r\n\r\n setPreviousUrl(previousUrl: string) {\r\n this.previousUrl.next(previousUrl);\r\n }\r\n }\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n api: 'api',\r\n controllers: {\r\n product: 'Product',\r\n imageVerify:'ImageVerify',\r\n ordersDetails:'OrdersDetails'\r\n\r\n }\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":"webpack:///"}