{"version":3,"file":"default-src_app_module_patient_patient-routing_module_ts-es2015.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA,EAAE,KAA4D;AAC9D,EAAE,CACyD;AAC3D,CAAC,qBAAqB;;AAEtB;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6EAA6E;AAC7E;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB;;AAEnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iCAAiC;AACjC,MAAM;AACN,mCAAmC;AACnC,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,aAAa;AACnC;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA,MAAM;;;AAGN,kDAAkD;;AAElD,oDAAoD;;AAEpD;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iEAAiE;;AAEjE;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uEAAuE;;AAEvE,yFAAyF;AACzF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6CAA6C;;AAE7C,sDAAsD;;AAEtD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;;AAEjE,wDAAwD;;AAExD;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,KAAK;AACL;;AAEA;AACA,oBAAoB,6BAA6B;AACjD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,+EAA+E;;AAE/E;AACA;AACA,8BAA8B;AAC9B,MAAM;AACN;AACA,8BAA8B;AAC9B,MAAM;AACN;AACA;;AAEA,mCAAmC;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA,8DAA8D;;AAE9D;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;;AAElB;AACA,yCAAyC;;AAEzC,8CAA8C;;AAE9C;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,kBAAkB;AACtC;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA,oBAAoB,6BAA6B;AACjD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA,gDAAgD;;AAEhD;AACA,8DAA8D;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA,8BAA8B;;AAE9B,gDAAgD;;AAEhD,2CAA2C;;AAE3C,kCAAkC;;AAElC,mCAAmC;;AAEnC,mCAAmC;;AAEnC;AACA;;AAEA;AACA,4BAA4B;;AAE5B,uDAAuD;;AAEvD,2DAA2D;;AAE3D;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA,6DAA6D;AAC7D;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,YAAY,kBAAkB,oBAAoB,yDAAyD;AAC3G,YAAY,iBAAiB,oBAAoB,wDAAwD;AACzG;AACA;AACA,qCAAqC,uCAAuC;AAC5E,YAAY,kBAAkB;AAC9B,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iGAAiG;AACjG;AACA,OAAO;;AAEP;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,0BAA0B;;AAEjC;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;;;AAGN,yCAAyC;AACzC;;AAEA;AACA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,mBAAmB;AACzC;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA,6DAA6D,KAAK;AAClE,KAAK;AACL;AACA;AACA,wDAAwD,MAAM,QAAQ,KAAK;AAC3E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;;;AAGA;AACA,uCAAuC;;AAEvC;AACA;AACA,MAAM;AACN;AACA;AACA;;;AAGA;AACA,yCAAyC;;AAEzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,iBAAiB;;AAEjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA,oDAAoD;;AAEpD,oBAAoB,8BAA8B;AAClD,iCAAiC;;AAEjC;AACA,mBAAmB;AACnB,QAAQ;AACR;AACA;;AAEA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;AACA,6CAA6C;AAC7C,MAAM;AACN,iCAAiC;AACjC,MAAM;AACN,sBAAsB;AACtB,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C;;AAE1C;AACA,4BAA4B;AAC5B,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;;AAE/B,+BAA+B;;AAE/B,4BAA4B;;AAE5B;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mCAAmC;;AAEnC;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;;AAEL,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,cAAc;AACd,MAAM;;;AAGN;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B;;AAE5B;AACA,sCAAsC;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;AACA;;AAEA;;AAEA,0EAA0E,aAAa;AACvF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG,IAAI;;;AAGP,mDAAmD;;;AAGnD,uCAAuC;;;AAGvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC;AACD,uDAAuD,SAAS,GAAG,eAAe,GAAG,SAAS,GAAG,eAAe;;AAEhH,4CAA4C,+BAA+B,iHAAiH,SAAS,cAAc,SAAS,eAAe,oCAAoC,mBAAmB,mBAAmB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","sources":["./node_modules/sweetalert2/dist/sweetalert2.all.js","./src/app/module/patient/add-appoinments/add-appoinments.component.ts","./src/app/module/patient/add-appoinments/appoinmentservice.service.ts","./src/app/module/patient/appoinments/appoinments.component.ts","./src/app/module/patient/appoinments/ar-reschedule/ar-reschedule.component.ts","./src/app/module/patient/articles/articles.component.ts","./src/app/module/patient/consultation-history/consultation-history.component.ts","./src/app/module/patient/consultation-history/consultation-history.service.ts","./src/app/module/patient/consultation-history/consultation-view/consultation-view.component.ts","./src/app/module/patient/consultation/consultation.component.ts","./src/app/module/patient/dialog-content-example1/dialog-content-example1.component.ts","./src/app/module/patient/dialog-content-example2/dialog-content-example2.component.ts","./src/app/module/patient/dialog-content-example3cancel/dialog-content-example3cancel.component.ts","./src/app/module/patient/dialogdoctor/dialogdoctor.component.ts","./src/app/module/patient/dietplan-info/dietplan-info.component.ts","./src/app/module/patient/dietplan-info/dietplan-info.service.ts","./src/app/module/patient/dietplan-info/suggest-dietplan/suggest-dietplan.component.ts","./src/app/module/patient/edit-appoinment/edit-appoinment.component.ts","./src/app/module/patient/edit-appoinment/editdialog/editdialog.component.ts","./src/app/module/patient/feedback/feedback.component.ts","./src/app/module/patient/helpdesk/helpdesk.component.ts","./src/app/module/patient/join-meeting/join-meeting.component.ts","./src/app/module/patient/joinvc-meeting/joinvc-meeting.component.ts","./src/app/module/patient/lab-test/lab-test-view/lab-test-view.component.ts","./src/app/module/patient/lab-test/lab-test.component.ts","./src/app/module/patient/lab-test/lab-test.service.ts","./src/app/module/patient/logincart/logincart.component.ts","./src/app/module/patient/medicine-orders/medicine-orders.component.ts","./src/app/module/patient/patient-history/patient-history.component.ts","./src/app/module/patient/patient-routing.module.ts","./src/app/module/patient/payment-form/payment-form.component.ts","./src/app/module/patient/payment-form/payment-form.service.ts","./src/app/module/patient/payment-history/payment-history.component.ts","./src/app/module/patient/payment-result-normal/payment-result-normal.component.ts","./src/app/module/patient/payment-result/payment-result.component.ts","./src/app/module/patient/prescription/prescription-view/prescription-view.component.ts","./src/app/module/patient/prescription/prescription.component.ts","./src/app/module/patient/prescription/prescription.service.ts","./src/app/module/patient/previous-records/previous-records.component.ts","./src/app/module/patient/profile/editprofile/editprofile.component.ts","./src/app/module/patient/profile/profile.component.ts","./src/app/module/patient/records/records.component.ts","./src/app/module/patient/showdoctor/showdoctor.component.ts","./src/app/module/patient/showhospital/showhospital.component.ts","./src/app/shared/windowRef.service.ts","./src/app/module/patient/add-appoinments/add-appoinments.component.html","./src/app/module/patient/appoinments/appoinments.component.html","./src/app/module/patient/appoinments/ar-reschedule/ar-reschedule.component.html","./src/app/module/patient/articles/articles.component.html","./src/app/module/patient/consultation-history/consultation-history.component.html","./src/app/module/patient/consultation-history/consultation-view/consultation-view.component.html","./src/app/module/patient/consultation/consultation.component.html","./src/app/module/patient/dialog-content-example1/dialog-content-example1.component.html","./src/app/module/patient/dialog-content-example2/dialog-content-example2.component.html","./src/app/module/patient/dialog-content-example3cancel/dialog-content-example3cancel.component.html","./src/app/module/patient/dialogdoctor/dialogdoctor.component.html","./src/app/module/patient/dietplan-info/dietplan-info.component.html","./src/app/module/patient/dietplan-info/suggest-dietplan/suggest-dietplan.component.html","./src/app/module/patient/edit-appoinment/edit-appoinment.component.html","./src/app/module/patient/edit-appoinment/editdialog/editdialog.component.html","./src/app/module/patient/feedback/feedback.component.html","./src/app/module/patient/helpdesk/helpdesk.component.html","./src/app/module/patient/join-meeting/join-meeting.component.html","./src/app/module/patient/joinvc-meeting/joinvc-meeting.component.html","./src/app/module/patient/lab-test/lab-test-view/lab-test-view.component.html","./src/app/module/patient/lab-test/lab-test.component.html","./src/app/module/patient/logincart/logincart.component.html","./src/app/module/patient/medicine-orders/medicine-orders.component.html","./src/app/module/patient/patient-history/patient-history.component.html","./src/app/module/patient/payment-form/payment-form.component.html","./src/app/module/patient/payment-history/payment-history.component.html","./src/app/module/patient/payment-result-normal/payment-result-normal.component.html","./src/app/module/patient/payment-result/payment-result.component.html","./src/app/module/patient/prescription/prescription-view/prescription-view.component.html","./src/app/module/patient/prescription/prescription.component.html","./src/app/module/patient/previous-records/previous-records.component.html","./src/app/module/patient/profile/editprofile/editprofile.component.html","./src/app/module/patient/profile/profile.component.html","./src/app/module/patient/records/records.component.html","./src/app/module/patient/showdoctor/showdoctor.component.html","./src/app/module/patient/showhospital/showhospital.component.html"],"sourcesContent":["/*!\n* sweetalert2 v9.17.2\n* Released under the MIT License.\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.Sweetalert2 = factory());\n}(this, function () { 'use strict';\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n }\n\n var consolePrefix = 'SweetAlert2:';\n /**\n * Filter the unique values into a new array\n * @param arr\n */\n\n var uniqueArray = function uniqueArray(arr) {\n var result = [];\n\n for (var i = 0; i < arr.length; i++) {\n if (result.indexOf(arr[i]) === -1) {\n result.push(arr[i]);\n }\n }\n\n return result;\n };\n /**\n * Capitalize the first letter of a string\n * @param str\n */\n\n var capitalizeFirstLetter = function capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n };\n /**\n * Returns the array of object values (Object.values isn't supported in IE11)\n * @param obj\n */\n\n var objectValues = function objectValues(obj) {\n return Object.keys(obj).map(function (key) {\n return obj[key];\n });\n };\n /**\n * Convert NodeList to Array\n * @param nodeList\n */\n\n var toArray = function toArray(nodeList) {\n return Array.prototype.slice.call(nodeList);\n };\n /**\n * Standardise console warnings\n * @param message\n */\n\n var warn = function warn(message) {\n console.warn(\"\".concat(consolePrefix, \" \").concat(message));\n };\n /**\n * Standardise console errors\n * @param message\n */\n\n var error = function error(message) {\n console.error(\"\".concat(consolePrefix, \" \").concat(message));\n };\n /**\n * Private global state for `warnOnce`\n * @type {Array}\n * @private\n */\n\n var previousWarnOnceMessages = [];\n /**\n * Show a console warning, but only if it hasn't already been shown\n * @param message\n */\n\n var warnOnce = function warnOnce(message) {\n if (!(previousWarnOnceMessages.indexOf(message) !== -1)) {\n previousWarnOnceMessages.push(message);\n warn(message);\n }\n };\n /**\n * Show a one-time console warning about deprecated params/methods\n */\n\n var warnAboutDepreation = function warnAboutDepreation(deprecatedParam, useInstead) {\n warnOnce(\"\\\"\".concat(deprecatedParam, \"\\\" is deprecated and will be removed in the next major release. Please use \\\"\").concat(useInstead, \"\\\" instead.\"));\n };\n /**\n * If `arg` is a function, call it (with no arguments or context) and return the result.\n * Otherwise, just pass the value through\n * @param arg\n */\n\n var callIfFunction = function callIfFunction(arg) {\n return typeof arg === 'function' ? arg() : arg;\n };\n var hasToPromiseFn = function hasToPromiseFn(arg) {\n return arg && typeof arg.toPromise === 'function';\n };\n var asPromise = function asPromise(arg) {\n return hasToPromiseFn(arg) ? arg.toPromise() : Promise.resolve(arg);\n };\n var isPromise = function isPromise(arg) {\n return arg && Promise.resolve(arg) === arg;\n };\n\n var DismissReason = Object.freeze({\n cancel: 'cancel',\n backdrop: 'backdrop',\n close: 'close',\n esc: 'esc',\n timer: 'timer'\n });\n\n var isJqueryElement = function isJqueryElement(elem) {\n return _typeof(elem) === 'object' && elem.jquery;\n };\n\n var isElement = function isElement(elem) {\n return elem instanceof Element || isJqueryElement(elem);\n };\n\n var argsToParams = function argsToParams(args) {\n var params = {};\n\n if (_typeof(args[0]) === 'object' && !isElement(args[0])) {\n _extends(params, args[0]);\n } else {\n ['title', 'html', 'icon'].forEach(function (name, index) {\n var arg = args[index];\n\n if (typeof arg === 'string' || isElement(arg)) {\n params[name] = arg;\n } else if (arg !== undefined) {\n error(\"Unexpected type of \".concat(name, \"! Expected \\\"string\\\" or \\\"Element\\\", got \").concat(_typeof(arg)));\n }\n });\n }\n\n return params;\n };\n\n var swalPrefix = 'swal2-';\n var prefix = function prefix(items) {\n var result = {};\n\n for (var i in items) {\n result[items[i]] = swalPrefix + items[i];\n }\n\n return result;\n };\n var swalClasses = prefix(['container', 'shown', 'height-auto', 'iosfix', 'popup', 'modal', 'no-backdrop', 'no-transition', 'toast', 'toast-shown', 'toast-column', 'show', 'hide', 'close', 'title', 'header', 'content', 'html-container', 'actions', 'confirm', 'cancel', 'footer', 'icon', 'icon-content', 'image', 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'label', 'textarea', 'inputerror', 'validation-message', 'progress-steps', 'active-progress-step', 'progress-step', 'progress-step-line', 'loading', 'styled', 'top', 'top-start', 'top-end', 'top-left', 'top-right', 'center', 'center-start', 'center-end', 'center-left', 'center-right', 'bottom', 'bottom-start', 'bottom-end', 'bottom-left', 'bottom-right', 'grow-row', 'grow-column', 'grow-fullscreen', 'rtl', 'timer-progress-bar', 'timer-progress-bar-container', 'scrollbar-measure', 'icon-success', 'icon-warning', 'icon-info', 'icon-question', 'icon-error']);\n var iconTypes = prefix(['success', 'warning', 'info', 'question', 'error']);\n\n var getContainer = function getContainer() {\n return document.body.querySelector(\".\".concat(swalClasses.container));\n };\n var elementBySelector = function elementBySelector(selectorString) {\n var container = getContainer();\n return container ? container.querySelector(selectorString) : null;\n };\n\n var elementByClass = function elementByClass(className) {\n return elementBySelector(\".\".concat(className));\n };\n\n var getPopup = function getPopup() {\n return elementByClass(swalClasses.popup);\n };\n var getIcons = function getIcons() {\n var popup = getPopup();\n return toArray(popup.querySelectorAll(\".\".concat(swalClasses.icon)));\n };\n var getIcon = function getIcon() {\n var visibleIcon = getIcons().filter(function (icon) {\n return isVisible(icon);\n });\n return visibleIcon.length ? visibleIcon[0] : null;\n };\n var getTitle = function getTitle() {\n return elementByClass(swalClasses.title);\n };\n var getContent = function getContent() {\n return elementByClass(swalClasses.content);\n };\n var getHtmlContainer = function getHtmlContainer() {\n return elementByClass(swalClasses['html-container']);\n };\n var getImage = function getImage() {\n return elementByClass(swalClasses.image);\n };\n var getProgressSteps = function getProgressSteps() {\n return elementByClass(swalClasses['progress-steps']);\n };\n var getValidationMessage = function getValidationMessage() {\n return elementByClass(swalClasses['validation-message']);\n };\n var getConfirmButton = function getConfirmButton() {\n return elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.confirm));\n };\n var getCancelButton = function getCancelButton() {\n return elementBySelector(\".\".concat(swalClasses.actions, \" .\").concat(swalClasses.cancel));\n };\n var getActions = function getActions() {\n return elementByClass(swalClasses.actions);\n };\n var getHeader = function getHeader() {\n return elementByClass(swalClasses.header);\n };\n var getFooter = function getFooter() {\n return elementByClass(swalClasses.footer);\n };\n var getTimerProgressBar = function getTimerProgressBar() {\n return elementByClass(swalClasses['timer-progress-bar']);\n };\n var getCloseButton = function getCloseButton() {\n return elementByClass(swalClasses.close);\n }; // https://github.com/jkup/focusable/blob/master/index.js\n\n var focusable = \"\\n a[href],\\n area[href],\\n input:not([disabled]),\\n select:not([disabled]),\\n textarea:not([disabled]),\\n button:not([disabled]),\\n iframe,\\n object,\\n embed,\\n [tabindex=\\\"0\\\"],\\n [contenteditable],\\n audio[controls],\\n video[controls],\\n summary\\n\";\n var getFocusableElements = function getFocusableElements() {\n var focusableElementsWithTabindex = toArray(getPopup().querySelectorAll('[tabindex]:not([tabindex=\"-1\"]):not([tabindex=\"0\"])')) // sort according to tabindex\n .sort(function (a, b) {\n a = parseInt(a.getAttribute('tabindex'));\n b = parseInt(b.getAttribute('tabindex'));\n\n if (a > b) {\n return 1;\n } else if (a < b) {\n return -1;\n }\n\n return 0;\n });\n var otherFocusableElements = toArray(getPopup().querySelectorAll(focusable)).filter(function (el) {\n return el.getAttribute('tabindex') !== '-1';\n });\n return uniqueArray(focusableElementsWithTabindex.concat(otherFocusableElements)).filter(function (el) {\n return isVisible(el);\n });\n };\n var isModal = function isModal() {\n return !isToast() && !document.body.classList.contains(swalClasses['no-backdrop']);\n };\n var isToast = function isToast() {\n return document.body.classList.contains(swalClasses['toast-shown']);\n };\n var isLoading = function isLoading() {\n return getPopup().hasAttribute('data-loading');\n };\n\n var states = {\n previousBodyPadding: null\n };\n var setInnerHtml = function setInnerHtml(elem, html) {\n // #1926\n elem.textContent = '';\n\n if (html) {\n var parser = new DOMParser();\n var parsed = parser.parseFromString(html, \"text/html\");\n toArray(parsed.querySelector('head').childNodes).forEach(function (child) {\n elem.appendChild(child);\n });\n toArray(parsed.querySelector('body').childNodes).forEach(function (child) {\n elem.appendChild(child);\n });\n }\n };\n var hasClass = function hasClass(elem, className) {\n if (!className) {\n return false;\n }\n\n var classList = className.split(/\\s+/);\n\n for (var i = 0; i < classList.length; i++) {\n if (!elem.classList.contains(classList[i])) {\n return false;\n }\n }\n\n return true;\n };\n\n var removeCustomClasses = function removeCustomClasses(elem, params) {\n toArray(elem.classList).forEach(function (className) {\n if (!(objectValues(swalClasses).indexOf(className) !== -1) && !(objectValues(iconTypes).indexOf(className) !== -1) && !(objectValues(params.showClass).indexOf(className) !== -1)) {\n elem.classList.remove(className);\n }\n });\n };\n\n var applyCustomClass = function applyCustomClass(elem, params, className) {\n removeCustomClasses(elem, params);\n\n if (params.customClass && params.customClass[className]) {\n if (typeof params.customClass[className] !== 'string' && !params.customClass[className].forEach) {\n return warn(\"Invalid type of customClass.\".concat(className, \"! Expected string or iterable object, got \\\"\").concat(_typeof(params.customClass[className]), \"\\\"\"));\n }\n\n addClass(elem, params.customClass[className]);\n }\n };\n function getInput(content, inputType) {\n if (!inputType) {\n return null;\n }\n\n switch (inputType) {\n case 'select':\n case 'textarea':\n case 'file':\n return getChildByClass(content, swalClasses[inputType]);\n\n case 'checkbox':\n return content.querySelector(\".\".concat(swalClasses.checkbox, \" input\"));\n\n case 'radio':\n return content.querySelector(\".\".concat(swalClasses.radio, \" input:checked\")) || content.querySelector(\".\".concat(swalClasses.radio, \" input:first-child\"));\n\n case 'range':\n return content.querySelector(\".\".concat(swalClasses.range, \" input\"));\n\n default:\n return getChildByClass(content, swalClasses.input);\n }\n }\n var focusInput = function focusInput(input) {\n input.focus(); // place cursor at end of text in text input\n\n if (input.type !== 'file') {\n // http://stackoverflow.com/a/2345915\n var val = input.value;\n input.value = '';\n input.value = val;\n }\n };\n var toggleClass = function toggleClass(target, classList, condition) {\n if (!target || !classList) {\n return;\n }\n\n if (typeof classList === 'string') {\n classList = classList.split(/\\s+/).filter(Boolean);\n }\n\n classList.forEach(function (className) {\n if (target.forEach) {\n target.forEach(function (elem) {\n condition ? elem.classList.add(className) : elem.classList.remove(className);\n });\n } else {\n condition ? target.classList.add(className) : target.classList.remove(className);\n }\n });\n };\n var addClass = function addClass(target, classList) {\n toggleClass(target, classList, true);\n };\n var removeClass = function removeClass(target, classList) {\n toggleClass(target, classList, false);\n };\n var getChildByClass = function getChildByClass(elem, className) {\n for (var i = 0; i < elem.childNodes.length; i++) {\n if (hasClass(elem.childNodes[i], className)) {\n return elem.childNodes[i];\n }\n }\n };\n var applyNumericalStyle = function applyNumericalStyle(elem, property, value) {\n if (value || parseInt(value) === 0) {\n elem.style[property] = typeof value === 'number' ? \"\".concat(value, \"px\") : value;\n } else {\n elem.style.removeProperty(property);\n }\n };\n var show = function show(elem) {\n var display = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'flex';\n elem.style.opacity = '';\n elem.style.display = display;\n };\n var hide = function hide(elem) {\n elem.style.opacity = '';\n elem.style.display = 'none';\n };\n var toggle = function toggle(elem, condition, display) {\n condition ? show(elem, display) : hide(elem);\n }; // borrowed from jquery $(elem).is(':visible') implementation\n\n var isVisible = function isVisible(elem) {\n return !!(elem && (elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length));\n };\n /* istanbul ignore next */\n\n var isScrollable = function isScrollable(elem) {\n return !!(elem.scrollHeight > elem.clientHeight);\n }; // borrowed from https://stackoverflow.com/a/46352119\n\n var hasCssAnimation = function hasCssAnimation(elem) {\n var style = window.getComputedStyle(elem);\n var animDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n var transDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n return animDuration > 0 || transDuration > 0;\n };\n var contains = function contains(haystack, needle) {\n if (typeof haystack.contains === 'function') {\n return haystack.contains(needle);\n }\n };\n var animateTimerProgressBar = function animateTimerProgressBar(timer) {\n var reset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var timerProgressBar = getTimerProgressBar();\n\n if (isVisible(timerProgressBar)) {\n if (reset) {\n timerProgressBar.style.transition = 'none';\n timerProgressBar.style.width = '100%';\n }\n\n setTimeout(function () {\n timerProgressBar.style.transition = \"width \".concat(timer / 1000, \"s linear\");\n timerProgressBar.style.width = '0%';\n }, 10);\n }\n };\n var stopTimerProgressBar = function stopTimerProgressBar() {\n var timerProgressBar = getTimerProgressBar();\n var timerProgressBarWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n timerProgressBar.style.removeProperty('transition');\n timerProgressBar.style.width = '100%';\n var timerProgressBarFullWidth = parseInt(window.getComputedStyle(timerProgressBar).width);\n var timerProgressBarPercent = parseInt(timerProgressBarWidth / timerProgressBarFullWidth * 100);\n timerProgressBar.style.removeProperty('transition');\n timerProgressBar.style.width = \"\".concat(timerProgressBarPercent, \"%\");\n };\n\n // Detect Node env\n var isNodeEnv = function isNodeEnv() {\n return typeof window === 'undefined' || typeof document === 'undefined';\n };\n\n var sweetHTML = \"\\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\").replace(/(^|\\n)\\s*/g, '');\n\n var resetOldContainer = function resetOldContainer() {\n var oldContainer = getContainer();\n\n if (!oldContainer) {\n return false;\n }\n\n oldContainer.parentNode.removeChild(oldContainer);\n removeClass([document.documentElement, document.body], [swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['has-column']]);\n return true;\n };\n\n var oldInputVal; // IE11 workaround, see #1109 for details\n\n var resetValidationMessage = function resetValidationMessage(e) {\n if (Swal.isVisible() && oldInputVal !== e.target.value) {\n Swal.resetValidationMessage();\n }\n\n oldInputVal = e.target.value;\n };\n\n var addInputChangeListeners = function addInputChangeListeners() {\n var content = getContent();\n var input = getChildByClass(content, swalClasses.input);\n var file = getChildByClass(content, swalClasses.file);\n var range = content.querySelector(\".\".concat(swalClasses.range, \" input\"));\n var rangeOutput = content.querySelector(\".\".concat(swalClasses.range, \" output\"));\n var select = getChildByClass(content, swalClasses.select);\n var checkbox = content.querySelector(\".\".concat(swalClasses.checkbox, \" input\"));\n var textarea = getChildByClass(content, swalClasses.textarea);\n input.oninput = resetValidationMessage;\n file.onchange = resetValidationMessage;\n select.onchange = resetValidationMessage;\n checkbox.onchange = resetValidationMessage;\n textarea.oninput = resetValidationMessage;\n\n range.oninput = function (e) {\n resetValidationMessage(e);\n rangeOutput.value = range.value;\n };\n\n range.onchange = function (e) {\n resetValidationMessage(e);\n range.nextSibling.value = range.value;\n };\n };\n\n var getTarget = function getTarget(target) {\n return typeof target === 'string' ? document.querySelector(target) : target;\n };\n\n var setupAccessibility = function setupAccessibility(params) {\n var popup = getPopup();\n popup.setAttribute('role', params.toast ? 'alert' : 'dialog');\n popup.setAttribute('aria-live', params.toast ? 'polite' : 'assertive');\n\n if (!params.toast) {\n popup.setAttribute('aria-modal', 'true');\n }\n };\n\n var setupRTL = function setupRTL(targetElement) {\n if (window.getComputedStyle(targetElement).direction === 'rtl') {\n addClass(getContainer(), swalClasses.rtl);\n }\n };\n /*\n * Add modal + backdrop to DOM\n */\n\n\n var init = function init(params) {\n // Clean up the old popup container if it exists\n var oldContainerExisted = resetOldContainer();\n /* istanbul ignore if */\n\n if (isNodeEnv()) {\n error('SweetAlert2 requires document to initialize');\n return;\n }\n\n var container = document.createElement('div');\n container.className = swalClasses.container;\n\n if (oldContainerExisted) {\n addClass(container, swalClasses['no-transition']);\n }\n\n setInnerHtml(container, sweetHTML);\n var targetElement = getTarget(params.target);\n targetElement.appendChild(container);\n setupAccessibility(params);\n setupRTL(targetElement);\n addInputChangeListeners();\n };\n\n var parseHtmlToContainer = function parseHtmlToContainer(param, target) {\n // DOM element\n if (param instanceof HTMLElement) {\n target.appendChild(param); // Object\n } else if (_typeof(param) === 'object') {\n handleObject(param, target); // Plain string\n } else if (param) {\n setInnerHtml(target, param);\n }\n };\n\n var handleObject = function handleObject(param, target) {\n // JQuery element(s)\n if (param.jquery) {\n handleJqueryElem(target, param); // For other objects use their string representation\n } else {\n setInnerHtml(target, param.toString());\n }\n };\n\n var handleJqueryElem = function handleJqueryElem(target, elem) {\n target.textContent = '';\n\n if (0 in elem) {\n for (var i = 0; (i in elem); i++) {\n target.appendChild(elem[i].cloneNode(true));\n }\n } else {\n target.appendChild(elem.cloneNode(true));\n }\n };\n\n var animationEndEvent = function () {\n // Prevent run in Node env\n\n /* istanbul ignore if */\n if (isNodeEnv()) {\n return false;\n }\n\n var testEl = document.createElement('div');\n var transEndEventNames = {\n WebkitAnimation: 'webkitAnimationEnd',\n OAnimation: 'oAnimationEnd oanimationend',\n animation: 'animationend'\n };\n\n for (var i in transEndEventNames) {\n if (Object.prototype.hasOwnProperty.call(transEndEventNames, i) && typeof testEl.style[i] !== 'undefined') {\n return transEndEventNames[i];\n }\n }\n\n return false;\n }();\n\n // https://github.com/twbs/bootstrap/blob/master/js/src/modal.js\n\n var measureScrollbar = function measureScrollbar() {\n var scrollDiv = document.createElement('div');\n scrollDiv.className = swalClasses['scrollbar-measure'];\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n };\n\n var renderActions = function renderActions(instance, params) {\n var actions = getActions();\n var confirmButton = getConfirmButton();\n var cancelButton = getCancelButton(); // Actions (buttons) wrapper\n\n if (!params.showConfirmButton && !params.showCancelButton) {\n hide(actions);\n } // Custom class\n\n\n applyCustomClass(actions, params, 'actions'); // Render confirm button\n\n renderButton(confirmButton, 'confirm', params); // render Cancel Button\n\n renderButton(cancelButton, 'cancel', params);\n\n if (params.buttonsStyling) {\n handleButtonsStyling(confirmButton, cancelButton, params);\n } else {\n removeClass([confirmButton, cancelButton], swalClasses.styled);\n confirmButton.style.backgroundColor = confirmButton.style.borderLeftColor = confirmButton.style.borderRightColor = '';\n cancelButton.style.backgroundColor = cancelButton.style.borderLeftColor = cancelButton.style.borderRightColor = '';\n }\n\n if (params.reverseButtons) {\n confirmButton.parentNode.insertBefore(cancelButton, confirmButton);\n }\n };\n\n function handleButtonsStyling(confirmButton, cancelButton, params) {\n addClass([confirmButton, cancelButton], swalClasses.styled); // Buttons background colors\n\n if (params.confirmButtonColor) {\n confirmButton.style.backgroundColor = params.confirmButtonColor;\n }\n\n if (params.cancelButtonColor) {\n cancelButton.style.backgroundColor = params.cancelButtonColor;\n } // Loading state\n\n\n if (!isLoading()) {\n var confirmButtonBackgroundColor = window.getComputedStyle(confirmButton).getPropertyValue('background-color');\n confirmButton.style.borderLeftColor = confirmButtonBackgroundColor;\n confirmButton.style.borderRightColor = confirmButtonBackgroundColor;\n }\n }\n\n function renderButton(button, buttonType, params) {\n toggle(button, params[\"show\".concat(capitalizeFirstLetter(buttonType), \"Button\")], 'inline-block');\n setInnerHtml(button, params[\"\".concat(buttonType, \"ButtonText\")]); // Set caption text\n\n button.setAttribute('aria-label', params[\"\".concat(buttonType, \"ButtonAriaLabel\")]); // ARIA label\n // Add buttons custom classes\n\n button.className = swalClasses[buttonType];\n applyCustomClass(button, params, \"\".concat(buttonType, \"Button\"));\n addClass(button, params[\"\".concat(buttonType, \"ButtonClass\")]);\n }\n\n function handleBackdropParam(container, backdrop) {\n if (typeof backdrop === 'string') {\n container.style.background = backdrop;\n } else if (!backdrop) {\n addClass([document.documentElement, document.body], swalClasses['no-backdrop']);\n }\n }\n\n function handlePositionParam(container, position) {\n if (position in swalClasses) {\n addClass(container, swalClasses[position]);\n } else {\n warn('The \"position\" parameter is not valid, defaulting to \"center\"');\n addClass(container, swalClasses.center);\n }\n }\n\n function handleGrowParam(container, grow) {\n if (grow && typeof grow === 'string') {\n var growClass = \"grow-\".concat(grow);\n\n if (growClass in swalClasses) {\n addClass(container, swalClasses[growClass]);\n }\n }\n }\n\n var renderContainer = function renderContainer(instance, params) {\n var container = getContainer();\n\n if (!container) {\n return;\n }\n\n handleBackdropParam(container, params.backdrop);\n\n if (!params.backdrop && params.allowOutsideClick) {\n warn('\"allowOutsideClick\" parameter requires `backdrop` parameter to be set to `true`');\n }\n\n handlePositionParam(container, params.position);\n handleGrowParam(container, params.grow); // Custom class\n\n applyCustomClass(container, params, 'container'); // Set queue step attribute for getQueueStep() method\n\n var queueStep = document.body.getAttribute('data-swal2-queue-step');\n\n if (queueStep) {\n container.setAttribute('data-queue-step', queueStep);\n document.body.removeAttribute('data-swal2-queue-step');\n }\n };\n\n /**\n * This module containts `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n var privateProps = {\n promise: new WeakMap(),\n innerParams: new WeakMap(),\n domCache: new WeakMap()\n };\n\n var inputTypes = ['input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'];\n var renderInput = function renderInput(instance, params) {\n var content = getContent();\n var innerParams = privateProps.innerParams.get(instance);\n var rerender = !innerParams || params.input !== innerParams.input;\n inputTypes.forEach(function (inputType) {\n var inputClass = swalClasses[inputType];\n var inputContainer = getChildByClass(content, inputClass); // set attributes\n\n setAttributes(inputType, params.inputAttributes); // set class\n\n inputContainer.className = inputClass;\n\n if (rerender) {\n hide(inputContainer);\n }\n });\n\n if (params.input) {\n if (rerender) {\n showInput(params);\n } // set custom class\n\n\n setCustomClass(params);\n }\n };\n\n var showInput = function showInput(params) {\n if (!renderInputType[params.input]) {\n return error(\"Unexpected type of input! Expected \\\"text\\\", \\\"email\\\", \\\"password\\\", \\\"number\\\", \\\"tel\\\", \\\"select\\\", \\\"radio\\\", \\\"checkbox\\\", \\\"textarea\\\", \\\"file\\\" or \\\"url\\\", got \\\"\".concat(params.input, \"\\\"\"));\n }\n\n var inputContainer = getInputContainer(params.input);\n var input = renderInputType[params.input](inputContainer, params);\n show(input); // input autofocus\n\n setTimeout(function () {\n focusInput(input);\n });\n };\n\n var removeAttributes = function removeAttributes(input) {\n for (var i = 0; i < input.attributes.length; i++) {\n var attrName = input.attributes[i].name;\n\n if (!(['type', 'value', 'style'].indexOf(attrName) !== -1)) {\n input.removeAttribute(attrName);\n }\n }\n };\n\n var setAttributes = function setAttributes(inputType, inputAttributes) {\n var input = getInput(getContent(), inputType);\n\n if (!input) {\n return;\n }\n\n removeAttributes(input);\n\n for (var attr in inputAttributes) {\n // Do not set a placeholder for \n // it'll crash Edge, #1298\n if (inputType === 'range' && attr === 'placeholder') {\n continue;\n }\n\n input.setAttribute(attr, inputAttributes[attr]);\n }\n };\n\n var setCustomClass = function setCustomClass(params) {\n var inputContainer = getInputContainer(params.input);\n\n if (params.customClass) {\n addClass(inputContainer, params.customClass.input);\n }\n };\n\n var setInputPlaceholder = function setInputPlaceholder(input, params) {\n if (!input.placeholder || params.inputPlaceholder) {\n input.placeholder = params.inputPlaceholder;\n }\n };\n\n var getInputContainer = function getInputContainer(inputType) {\n var inputClass = swalClasses[inputType] ? swalClasses[inputType] : swalClasses.input;\n return getChildByClass(getContent(), inputClass);\n };\n\n var renderInputType = {};\n\n renderInputType.text = renderInputType.email = renderInputType.password = renderInputType.number = renderInputType.tel = renderInputType.url = function (input, params) {\n if (typeof params.inputValue === 'string' || typeof params.inputValue === 'number') {\n input.value = params.inputValue;\n } else if (!isPromise(params.inputValue)) {\n warn(\"Unexpected type of inputValue! Expected \\\"string\\\", \\\"number\\\" or \\\"Promise\\\", got \\\"\".concat(_typeof(params.inputValue), \"\\\"\"));\n }\n\n setInputPlaceholder(input, params);\n input.type = params.input;\n return input;\n };\n\n renderInputType.file = function (input, params) {\n setInputPlaceholder(input, params);\n return input;\n };\n\n renderInputType.range = function (range, params) {\n var rangeInput = range.querySelector('input');\n var rangeOutput = range.querySelector('output');\n rangeInput.value = params.inputValue;\n rangeInput.type = params.input;\n rangeOutput.value = params.inputValue;\n return range;\n };\n\n renderInputType.select = function (select, params) {\n select.textContent = '';\n\n if (params.inputPlaceholder) {\n var placeholder = document.createElement('option');\n setInnerHtml(placeholder, params.inputPlaceholder);\n placeholder.value = '';\n placeholder.disabled = true;\n placeholder.selected = true;\n select.appendChild(placeholder);\n }\n\n return select;\n };\n\n renderInputType.radio = function (radio) {\n radio.textContent = '';\n return radio;\n };\n\n renderInputType.checkbox = function (checkboxContainer, params) {\n var checkbox = getInput(getContent(), 'checkbox');\n checkbox.value = 1;\n checkbox.id = swalClasses.checkbox;\n checkbox.checked = Boolean(params.inputValue);\n var label = checkboxContainer.querySelector('span');\n setInnerHtml(label, params.inputPlaceholder);\n return checkboxContainer;\n };\n\n renderInputType.textarea = function (textarea, params) {\n textarea.value = params.inputValue;\n setInputPlaceholder(textarea, params);\n\n if ('MutationObserver' in window) {\n // #1699\n var initialPopupWidth = parseInt(window.getComputedStyle(getPopup()).width);\n var popupPadding = parseInt(window.getComputedStyle(getPopup()).paddingLeft) + parseInt(window.getComputedStyle(getPopup()).paddingRight);\n\n var outputsize = function outputsize() {\n var contentWidth = textarea.offsetWidth + popupPadding;\n\n if (contentWidth > initialPopupWidth) {\n getPopup().style.width = \"\".concat(contentWidth, \"px\");\n } else {\n getPopup().style.width = null;\n }\n };\n\n new MutationObserver(outputsize).observe(textarea, {\n attributes: true,\n attributeFilter: ['style']\n });\n }\n\n return textarea;\n };\n\n var renderContent = function renderContent(instance, params) {\n var content = getContent().querySelector(\"#\".concat(swalClasses.content)); // Content as HTML\n\n if (params.html) {\n parseHtmlToContainer(params.html, content);\n show(content, 'block'); // Content as plain text\n } else if (params.text) {\n content.textContent = params.text;\n show(content, 'block'); // No content\n } else {\n hide(content);\n }\n\n renderInput(instance, params); // Custom class\n\n applyCustomClass(getContent(), params, 'content');\n };\n\n var renderFooter = function renderFooter(instance, params) {\n var footer = getFooter();\n toggle(footer, params.footer);\n\n if (params.footer) {\n parseHtmlToContainer(params.footer, footer);\n } // Custom class\n\n\n applyCustomClass(footer, params, 'footer');\n };\n\n var renderCloseButton = function renderCloseButton(instance, params) {\n var closeButton = getCloseButton();\n setInnerHtml(closeButton, params.closeButtonHtml); // Custom class\n\n applyCustomClass(closeButton, params, 'closeButton');\n toggle(closeButton, params.showCloseButton);\n closeButton.setAttribute('aria-label', params.closeButtonAriaLabel);\n };\n\n var renderIcon = function renderIcon(instance, params) {\n var innerParams = privateProps.innerParams.get(instance); // if the give icon already rendered, apply the custom class without re-rendering the icon\n\n if (innerParams && params.icon === innerParams.icon && getIcon()) {\n applyCustomClass(getIcon(), params, 'icon');\n return;\n }\n\n hideAllIcons();\n\n if (!params.icon) {\n return;\n }\n\n if (Object.keys(iconTypes).indexOf(params.icon) !== -1) {\n var icon = elementBySelector(\".\".concat(swalClasses.icon, \".\").concat(iconTypes[params.icon]));\n show(icon); // Custom or default content\n\n setContent(icon, params);\n adjustSuccessIconBackgoundColor(); // Custom class\n\n applyCustomClass(icon, params, 'icon'); // Animate icon\n\n addClass(icon, params.showClass.icon);\n } else {\n error(\"Unknown icon! Expected \\\"success\\\", \\\"error\\\", \\\"warning\\\", \\\"info\\\" or \\\"question\\\", got \\\"\".concat(params.icon, \"\\\"\"));\n }\n };\n\n var hideAllIcons = function hideAllIcons() {\n var icons = getIcons();\n\n for (var i = 0; i < icons.length; i++) {\n hide(icons[i]);\n }\n }; // Adjust success icon background color to match the popup background color\n\n\n var adjustSuccessIconBackgoundColor = function adjustSuccessIconBackgoundColor() {\n var popup = getPopup();\n var popupBackgroundColor = window.getComputedStyle(popup).getPropertyValue('background-color');\n var successIconParts = popup.querySelectorAll('[class^=swal2-success-circular-line], .swal2-success-fix');\n\n for (var i = 0; i < successIconParts.length; i++) {\n successIconParts[i].style.backgroundColor = popupBackgroundColor;\n }\n };\n\n var setContent = function setContent(icon, params) {\n icon.textContent = '';\n\n if (params.iconHtml) {\n setInnerHtml(icon, iconContent(params.iconHtml));\n } else if (params.icon === 'success') {\n setInnerHtml(icon, \"\\n
\\n \\n
\\n
\\n \");\n } else if (params.icon === 'error') {\n setInnerHtml(icon, \"\\n \\n \\n \\n \\n \");\n } else {\n var defaultIconHtml = {\n question: '?',\n warning: '!',\n info: 'i'\n };\n setInnerHtml(icon, iconContent(defaultIconHtml[params.icon]));\n }\n };\n\n var iconContent = function iconContent(content) {\n return \"
\").concat(content, \"
\");\n };\n\n var renderImage = function renderImage(instance, params) {\n var image = getImage();\n\n if (!params.imageUrl) {\n return hide(image);\n }\n\n show(image, ''); // Src, alt\n\n image.setAttribute('src', params.imageUrl);\n image.setAttribute('alt', params.imageAlt); // Width, height\n\n applyNumericalStyle(image, 'width', params.imageWidth);\n applyNumericalStyle(image, 'height', params.imageHeight); // Class\n\n image.className = swalClasses.image;\n applyCustomClass(image, params, 'image');\n };\n\n var currentSteps = [];\n /*\n * Global function for chaining sweetAlert popups\n */\n\n var queue = function queue(steps) {\n var Swal = this;\n currentSteps = steps;\n\n var resetAndResolve = function resetAndResolve(resolve, value) {\n currentSteps = [];\n resolve(value);\n };\n\n var queueResult = [];\n return new Promise(function (resolve) {\n (function step(i, callback) {\n if (i < currentSteps.length) {\n document.body.setAttribute('data-swal2-queue-step', i);\n Swal.fire(currentSteps[i]).then(function (result) {\n if (typeof result.value !== 'undefined') {\n queueResult.push(result.value);\n step(i + 1, callback);\n } else {\n resetAndResolve(resolve, {\n dismiss: result.dismiss\n });\n }\n });\n } else {\n resetAndResolve(resolve, {\n value: queueResult\n });\n }\n })(0);\n });\n };\n /*\n * Global function for getting the index of current popup in queue\n */\n\n var getQueueStep = function getQueueStep() {\n return getContainer() && getContainer().getAttribute('data-queue-step');\n };\n /*\n * Global function for inserting a popup to the queue\n */\n\n var insertQueueStep = function insertQueueStep(step, index) {\n if (index && index < currentSteps.length) {\n return currentSteps.splice(index, 0, step);\n }\n\n return currentSteps.push(step);\n };\n /*\n * Global function for deleting a popup from the queue\n */\n\n var deleteQueueStep = function deleteQueueStep(index) {\n if (typeof currentSteps[index] !== 'undefined') {\n currentSteps.splice(index, 1);\n }\n };\n\n var createStepElement = function createStepElement(step) {\n var stepEl = document.createElement('li');\n addClass(stepEl, swalClasses['progress-step']);\n setInnerHtml(stepEl, step);\n return stepEl;\n };\n\n var createLineElement = function createLineElement(params) {\n var lineEl = document.createElement('li');\n addClass(lineEl, swalClasses['progress-step-line']);\n\n if (params.progressStepsDistance) {\n lineEl.style.width = params.progressStepsDistance;\n }\n\n return lineEl;\n };\n\n var renderProgressSteps = function renderProgressSteps(instance, params) {\n var progressStepsContainer = getProgressSteps();\n\n if (!params.progressSteps || params.progressSteps.length === 0) {\n return hide(progressStepsContainer);\n }\n\n show(progressStepsContainer);\n progressStepsContainer.textContent = '';\n var currentProgressStep = parseInt(params.currentProgressStep === undefined ? getQueueStep() : params.currentProgressStep);\n\n if (currentProgressStep >= params.progressSteps.length) {\n warn('Invalid currentProgressStep parameter, it should be less than progressSteps.length ' + '(currentProgressStep like JS arrays starts from 0)');\n }\n\n params.progressSteps.forEach(function (step, index) {\n var stepEl = createStepElement(step);\n progressStepsContainer.appendChild(stepEl);\n\n if (index === currentProgressStep) {\n addClass(stepEl, swalClasses['active-progress-step']);\n }\n\n if (index !== params.progressSteps.length - 1) {\n var lineEl = createLineElement(params);\n progressStepsContainer.appendChild(lineEl);\n }\n });\n };\n\n var renderTitle = function renderTitle(instance, params) {\n var title = getTitle();\n toggle(title, params.title || params.titleText);\n\n if (params.title) {\n parseHtmlToContainer(params.title, title);\n }\n\n if (params.titleText) {\n title.innerText = params.titleText;\n } // Custom class\n\n\n applyCustomClass(title, params, 'title');\n };\n\n var renderHeader = function renderHeader(instance, params) {\n var header = getHeader(); // Custom class\n\n applyCustomClass(header, params, 'header'); // Progress steps\n\n renderProgressSteps(instance, params); // Icon\n\n renderIcon(instance, params); // Image\n\n renderImage(instance, params); // Title\n\n renderTitle(instance, params); // Close button\n\n renderCloseButton(instance, params);\n };\n\n var renderPopup = function renderPopup(instance, params) {\n var popup = getPopup(); // Width\n\n applyNumericalStyle(popup, 'width', params.width); // Padding\n\n applyNumericalStyle(popup, 'padding', params.padding); // Background\n\n if (params.background) {\n popup.style.background = params.background;\n } // Classes\n\n\n addClasses(popup, params);\n };\n\n var addClasses = function addClasses(popup, params) {\n // Default Class + showClass when updating Swal.update({})\n popup.className = \"\".concat(swalClasses.popup, \" \").concat(isVisible(popup) ? params.showClass.popup : '');\n\n if (params.toast) {\n addClass([document.documentElement, document.body], swalClasses['toast-shown']);\n addClass(popup, swalClasses.toast);\n } else {\n addClass(popup, swalClasses.modal);\n } // Custom class\n\n\n applyCustomClass(popup, params, 'popup');\n\n if (typeof params.customClass === 'string') {\n addClass(popup, params.customClass);\n } // Icon class (#1842)\n\n\n if (params.icon) {\n addClass(popup, swalClasses[\"icon-\".concat(params.icon)]);\n }\n };\n\n var render = function render(instance, params) {\n renderPopup(instance, params);\n renderContainer(instance, params);\n renderHeader(instance, params);\n renderContent(instance, params);\n renderActions(instance, params);\n renderFooter(instance, params);\n\n if (typeof params.onRender === 'function') {\n params.onRender(getPopup());\n }\n };\n\n /*\n * Global function to determine if SweetAlert2 popup is shown\n */\n\n var isVisible$1 = function isVisible$$1() {\n return isVisible(getPopup());\n };\n /*\n * Global function to click 'Confirm' button\n */\n\n var clickConfirm = function clickConfirm() {\n return getConfirmButton() && getConfirmButton().click();\n };\n /*\n * Global function to click 'Cancel' button\n */\n\n var clickCancel = function clickCancel() {\n return getCancelButton() && getCancelButton().click();\n };\n\n function fire() {\n var Swal = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _construct(Swal, args);\n }\n\n /**\n * Returns an extended version of `Swal` containing `params` as defaults.\n * Useful for reusing Swal configuration.\n *\n * For example:\n *\n * Before:\n * const textPromptOptions = { input: 'text', showCancelButton: true }\n * const {value: firstName} = await Swal.fire({ ...textPromptOptions, title: 'What is your first name?' })\n * const {value: lastName} = await Swal.fire({ ...textPromptOptions, title: 'What is your last name?' })\n *\n * After:\n * const TextPrompt = Swal.mixin({ input: 'text', showCancelButton: true })\n * const {value: firstName} = await TextPrompt('What is your first name?')\n * const {value: lastName} = await TextPrompt('What is your last name?')\n *\n * @param mixinParams\n */\n function mixin(mixinParams) {\n var MixinSwal = /*#__PURE__*/function (_this) {\n _inherits(MixinSwal, _this);\n\n var _super = _createSuper(MixinSwal);\n\n function MixinSwal() {\n _classCallCheck(this, MixinSwal);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(MixinSwal, [{\n key: \"_main\",\n value: function _main(params) {\n return _get(_getPrototypeOf(MixinSwal.prototype), \"_main\", this).call(this, _extends({}, mixinParams, params));\n }\n }]);\n\n return MixinSwal;\n }(this);\n\n return MixinSwal;\n }\n\n /**\n * Show spinner instead of Confirm button\n */\n\n var showLoading = function showLoading() {\n var popup = getPopup();\n\n if (!popup) {\n Swal.fire();\n }\n\n popup = getPopup();\n var actions = getActions();\n var confirmButton = getConfirmButton();\n show(actions);\n show(confirmButton, 'inline-block');\n addClass([popup, actions], swalClasses.loading);\n confirmButton.disabled = true;\n popup.setAttribute('data-loading', true);\n popup.setAttribute('aria-busy', true);\n popup.focus();\n };\n\n var RESTORE_FOCUS_TIMEOUT = 100;\n\n var globalState = {};\n\n var focusPreviousActiveElement = function focusPreviousActiveElement() {\n if (globalState.previousActiveElement && globalState.previousActiveElement.focus) {\n globalState.previousActiveElement.focus();\n globalState.previousActiveElement = null;\n } else if (document.body) {\n document.body.focus();\n }\n }; // Restore previous active (focused) element\n\n\n var restoreActiveElement = function restoreActiveElement() {\n return new Promise(function (resolve) {\n var x = window.scrollX;\n var y = window.scrollY;\n globalState.restoreFocusTimeout = setTimeout(function () {\n focusPreviousActiveElement();\n resolve();\n }, RESTORE_FOCUS_TIMEOUT); // issues/900\n\n /* istanbul ignore if */\n\n if (typeof x !== 'undefined' && typeof y !== 'undefined') {\n // IE doesn't have scrollX/scrollY support\n window.scrollTo(x, y);\n }\n });\n };\n\n /**\n * If `timer` parameter is set, returns number of milliseconds of timer remained.\n * Otherwise, returns undefined.\n */\n\n var getTimerLeft = function getTimerLeft() {\n return globalState.timeout && globalState.timeout.getTimerLeft();\n };\n /**\n * Stop timer. Returns number of milliseconds of timer remained.\n * If `timer` parameter isn't set, returns undefined.\n */\n\n var stopTimer = function stopTimer() {\n if (globalState.timeout) {\n stopTimerProgressBar();\n return globalState.timeout.stop();\n }\n };\n /**\n * Resume timer. Returns number of milliseconds of timer remained.\n * If `timer` parameter isn't set, returns undefined.\n */\n\n var resumeTimer = function resumeTimer() {\n if (globalState.timeout) {\n var remaining = globalState.timeout.start();\n animateTimerProgressBar(remaining);\n return remaining;\n }\n };\n /**\n * Resume timer. Returns number of milliseconds of timer remained.\n * If `timer` parameter isn't set, returns undefined.\n */\n\n var toggleTimer = function toggleTimer() {\n var timer = globalState.timeout;\n return timer && (timer.running ? stopTimer() : resumeTimer());\n };\n /**\n * Increase timer. Returns number of milliseconds of an updated timer.\n * If `timer` parameter isn't set, returns undefined.\n */\n\n var increaseTimer = function increaseTimer(n) {\n if (globalState.timeout) {\n var remaining = globalState.timeout.increase(n);\n animateTimerProgressBar(remaining, true);\n return remaining;\n }\n };\n /**\n * Check if timer is running. Returns true if timer is running\n * or false if timer is paused or stopped.\n * If `timer` parameter isn't set, returns undefined\n */\n\n var isTimerRunning = function isTimerRunning() {\n return globalState.timeout && globalState.timeout.isRunning();\n };\n\n var defaultParams = {\n title: '',\n titleText: '',\n text: '',\n html: '',\n footer: '',\n icon: undefined,\n iconHtml: undefined,\n toast: false,\n animation: true,\n showClass: {\n popup: 'swal2-show',\n backdrop: 'swal2-backdrop-show',\n icon: 'swal2-icon-show'\n },\n hideClass: {\n popup: 'swal2-hide',\n backdrop: 'swal2-backdrop-hide',\n icon: 'swal2-icon-hide'\n },\n customClass: undefined,\n target: 'body',\n backdrop: true,\n heightAuto: true,\n allowOutsideClick: true,\n allowEscapeKey: true,\n allowEnterKey: true,\n stopKeydownPropagation: true,\n keydownListenerCapture: false,\n showConfirmButton: true,\n showCancelButton: false,\n preConfirm: undefined,\n confirmButtonText: 'OK',\n confirmButtonAriaLabel: '',\n confirmButtonColor: undefined,\n cancelButtonText: 'Cancel',\n cancelButtonAriaLabel: '',\n cancelButtonColor: undefined,\n buttonsStyling: true,\n reverseButtons: false,\n focusConfirm: true,\n focusCancel: false,\n showCloseButton: false,\n closeButtonHtml: '×',\n closeButtonAriaLabel: 'Close this dialog',\n showLoaderOnConfirm: false,\n imageUrl: undefined,\n imageWidth: undefined,\n imageHeight: undefined,\n imageAlt: '',\n timer: undefined,\n timerProgressBar: false,\n width: undefined,\n padding: undefined,\n background: undefined,\n input: undefined,\n inputPlaceholder: '',\n inputValue: '',\n inputOptions: {},\n inputAutoTrim: true,\n inputAttributes: {},\n inputValidator: undefined,\n validationMessage: undefined,\n grow: false,\n position: 'center',\n progressSteps: [],\n currentProgressStep: undefined,\n progressStepsDistance: undefined,\n onBeforeOpen: undefined,\n onOpen: undefined,\n onRender: undefined,\n onClose: undefined,\n onAfterClose: undefined,\n onDestroy: undefined,\n scrollbarPadding: true\n };\n var updatableParams = ['allowEscapeKey', 'allowOutsideClick', 'buttonsStyling', 'cancelButtonAriaLabel', 'cancelButtonColor', 'cancelButtonText', 'closeButtonAriaLabel', 'closeButtonHtml', 'confirmButtonAriaLabel', 'confirmButtonColor', 'confirmButtonText', 'currentProgressStep', 'customClass', 'footer', 'hideClass', 'html', 'icon', 'imageAlt', 'imageHeight', 'imageUrl', 'imageWidth', 'onAfterClose', 'onClose', 'onDestroy', 'progressSteps', 'reverseButtons', 'showCancelButton', 'showCloseButton', 'showConfirmButton', 'text', 'title', 'titleText'];\n var deprecatedParams = {\n animation: 'showClass\" and \"hideClass'\n };\n var toastIncompatibleParams = ['allowOutsideClick', 'allowEnterKey', 'backdrop', 'focusConfirm', 'focusCancel', 'heightAuto', 'keydownListenerCapture'];\n /**\n * Is valid parameter\n * @param {String} paramName\n */\n\n var isValidParameter = function isValidParameter(paramName) {\n return Object.prototype.hasOwnProperty.call(defaultParams, paramName);\n };\n /**\n * Is valid parameter for Swal.update() method\n * @param {String} paramName\n */\n\n var isUpdatableParameter = function isUpdatableParameter(paramName) {\n return updatableParams.indexOf(paramName) !== -1;\n };\n /**\n * Is deprecated parameter\n * @param {String} paramName\n */\n\n var isDeprecatedParameter = function isDeprecatedParameter(paramName) {\n return deprecatedParams[paramName];\n };\n\n var checkIfParamIsValid = function checkIfParamIsValid(param) {\n if (!isValidParameter(param)) {\n warn(\"Unknown parameter \\\"\".concat(param, \"\\\"\"));\n }\n };\n\n var checkIfToastParamIsValid = function checkIfToastParamIsValid(param) {\n if (toastIncompatibleParams.indexOf(param) !== -1) {\n warn(\"The parameter \\\"\".concat(param, \"\\\" is incompatible with toasts\"));\n }\n };\n\n var checkIfParamIsDeprecated = function checkIfParamIsDeprecated(param) {\n if (isDeprecatedParameter(param)) {\n warnAboutDepreation(param, isDeprecatedParameter(param));\n }\n };\n /**\n * Show relevant warnings for given params\n *\n * @param params\n */\n\n\n var showWarningsForParams = function showWarningsForParams(params) {\n for (var param in params) {\n checkIfParamIsValid(param);\n\n if (params.toast) {\n checkIfToastParamIsValid(param);\n }\n\n checkIfParamIsDeprecated(param);\n }\n };\n\n\n\n var staticMethods = /*#__PURE__*/Object.freeze({\n isValidParameter: isValidParameter,\n isUpdatableParameter: isUpdatableParameter,\n isDeprecatedParameter: isDeprecatedParameter,\n argsToParams: argsToParams,\n isVisible: isVisible$1,\n clickConfirm: clickConfirm,\n clickCancel: clickCancel,\n getContainer: getContainer,\n getPopup: getPopup,\n getTitle: getTitle,\n getContent: getContent,\n getHtmlContainer: getHtmlContainer,\n getImage: getImage,\n getIcon: getIcon,\n getIcons: getIcons,\n getCloseButton: getCloseButton,\n getActions: getActions,\n getConfirmButton: getConfirmButton,\n getCancelButton: getCancelButton,\n getHeader: getHeader,\n getFooter: getFooter,\n getTimerProgressBar: getTimerProgressBar,\n getFocusableElements: getFocusableElements,\n getValidationMessage: getValidationMessage,\n isLoading: isLoading,\n fire: fire,\n mixin: mixin,\n queue: queue,\n getQueueStep: getQueueStep,\n insertQueueStep: insertQueueStep,\n deleteQueueStep: deleteQueueStep,\n showLoading: showLoading,\n enableLoading: showLoading,\n getTimerLeft: getTimerLeft,\n stopTimer: stopTimer,\n resumeTimer: resumeTimer,\n toggleTimer: toggleTimer,\n increaseTimer: increaseTimer,\n isTimerRunning: isTimerRunning\n });\n\n /**\n * Enables buttons and hide loader.\n */\n\n function hideLoading() {\n // do nothing if popup is closed\n var innerParams = privateProps.innerParams.get(this);\n\n if (!innerParams) {\n return;\n }\n\n var domCache = privateProps.domCache.get(this);\n\n if (!innerParams.showConfirmButton) {\n hide(domCache.confirmButton);\n\n if (!innerParams.showCancelButton) {\n hide(domCache.actions);\n }\n }\n\n removeClass([domCache.popup, domCache.actions], swalClasses.loading);\n domCache.popup.removeAttribute('aria-busy');\n domCache.popup.removeAttribute('data-loading');\n domCache.confirmButton.disabled = false;\n domCache.cancelButton.disabled = false;\n }\n\n function getInput$1(instance) {\n var innerParams = privateProps.innerParams.get(instance || this);\n var domCache = privateProps.domCache.get(instance || this);\n\n if (!domCache) {\n return null;\n }\n\n return getInput(domCache.content, innerParams.input);\n }\n\n var fixScrollbar = function fixScrollbar() {\n // for queues, do not do this more than once\n if (states.previousBodyPadding !== null) {\n return;\n } // if the body has overflow\n\n\n if (document.body.scrollHeight > window.innerHeight) {\n // add padding so the content doesn't shift after removal of scrollbar\n states.previousBodyPadding = parseInt(window.getComputedStyle(document.body).getPropertyValue('padding-right'));\n document.body.style.paddingRight = \"\".concat(states.previousBodyPadding + measureScrollbar(), \"px\");\n }\n };\n var undoScrollbar = function undoScrollbar() {\n if (states.previousBodyPadding !== null) {\n document.body.style.paddingRight = \"\".concat(states.previousBodyPadding, \"px\");\n states.previousBodyPadding = null;\n }\n };\n\n /* istanbul ignore file */\n\n var iOSfix = function iOSfix() {\n var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream || navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1;\n\n if (iOS && !hasClass(document.body, swalClasses.iosfix)) {\n var offset = document.body.scrollTop;\n document.body.style.top = \"\".concat(offset * -1, \"px\");\n addClass(document.body, swalClasses.iosfix);\n lockBodyScroll();\n addBottomPaddingForTallPopups(); // #1948\n }\n };\n\n var addBottomPaddingForTallPopups = function addBottomPaddingForTallPopups() {\n var safari = !navigator.userAgent.match(/(CriOS|FxiOS|EdgiOS|YaBrowser|UCBrowser)/i);\n\n if (safari) {\n var bottomPanelHeight = 44;\n\n if (getPopup().scrollHeight > window.innerHeight - bottomPanelHeight) {\n getContainer().style.paddingBottom = \"\".concat(bottomPanelHeight, \"px\");\n }\n }\n };\n\n var lockBodyScroll = function lockBodyScroll() {\n // #1246\n var container = getContainer();\n var preventTouchMove;\n\n container.ontouchstart = function (e) {\n preventTouchMove = shouldPreventTouchMove(e.target);\n };\n\n container.ontouchmove = function (e) {\n if (preventTouchMove) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n };\n\n var shouldPreventTouchMove = function shouldPreventTouchMove(target) {\n var container = getContainer();\n\n if (target === container) {\n return true;\n }\n\n if (!isScrollable(container) && target.tagName !== 'INPUT' && // #1603\n !(isScrollable(getContent()) && // #1944\n getContent().contains(target))) {\n return true;\n }\n\n return false;\n };\n\n var undoIOSfix = function undoIOSfix() {\n if (hasClass(document.body, swalClasses.iosfix)) {\n var offset = parseInt(document.body.style.top, 10);\n removeClass(document.body, swalClasses.iosfix);\n document.body.style.top = '';\n document.body.scrollTop = offset * -1;\n }\n };\n\n /* istanbul ignore file */\n\n var isIE11 = function isIE11() {\n return !!window.MSInputMethodContext && !!document.documentMode;\n }; // Fix IE11 centering sweetalert2/issues/933\n\n\n var fixVerticalPositionIE = function fixVerticalPositionIE() {\n var container = getContainer();\n var popup = getPopup();\n container.style.removeProperty('align-items');\n\n if (popup.offsetTop < 0) {\n container.style.alignItems = 'flex-start';\n }\n };\n\n var IEfix = function IEfix() {\n if (typeof window !== 'undefined' && isIE11()) {\n fixVerticalPositionIE();\n window.addEventListener('resize', fixVerticalPositionIE);\n }\n };\n var undoIEfix = function undoIEfix() {\n if (typeof window !== 'undefined' && isIE11()) {\n window.removeEventListener('resize', fixVerticalPositionIE);\n }\n };\n\n // Adding aria-hidden=\"true\" to elements outside of the active modal dialog ensures that\n // elements not within the active modal dialog will not be surfaced if a user opens a screen\n // reader’s list of elements (headings, form controls, landmarks, etc.) in the document.\n\n var setAriaHidden = function setAriaHidden() {\n var bodyChildren = toArray(document.body.children);\n bodyChildren.forEach(function (el) {\n if (el === getContainer() || contains(el, getContainer())) {\n return;\n }\n\n if (el.hasAttribute('aria-hidden')) {\n el.setAttribute('data-previous-aria-hidden', el.getAttribute('aria-hidden'));\n }\n\n el.setAttribute('aria-hidden', 'true');\n });\n };\n var unsetAriaHidden = function unsetAriaHidden() {\n var bodyChildren = toArray(document.body.children);\n bodyChildren.forEach(function (el) {\n if (el.hasAttribute('data-previous-aria-hidden')) {\n el.setAttribute('aria-hidden', el.getAttribute('data-previous-aria-hidden'));\n el.removeAttribute('data-previous-aria-hidden');\n } else {\n el.removeAttribute('aria-hidden');\n }\n });\n };\n\n /**\n * This module containts `WeakMap`s for each effectively-\"private property\" that a `Swal` has.\n * For example, to set the private property \"foo\" of `this` to \"bar\", you can `privateProps.foo.set(this, 'bar')`\n * This is the approach that Babel will probably take to implement private methods/fields\n * https://github.com/tc39/proposal-private-methods\n * https://github.com/babel/babel/pull/7555\n * Once we have the changes from that PR in Babel, and our core class fits reasonable in *one module*\n * then we can use that language feature.\n */\n var privateMethods = {\n swalPromiseResolve: new WeakMap()\n };\n\n /*\n * Instance method to close sweetAlert\n */\n\n function removePopupAndResetState(instance, container, isToast$$1, onAfterClose) {\n if (isToast$$1) {\n triggerOnAfterCloseAndDispose(instance, onAfterClose);\n } else {\n restoreActiveElement().then(function () {\n return triggerOnAfterCloseAndDispose(instance, onAfterClose);\n });\n globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = false;\n }\n\n if (container.parentNode && !document.body.getAttribute('data-swal2-queue-step')) {\n container.parentNode.removeChild(container);\n }\n\n if (isModal()) {\n undoScrollbar();\n undoIOSfix();\n undoIEfix();\n unsetAriaHidden();\n }\n\n removeBodyClasses();\n }\n\n function removeBodyClasses() {\n removeClass([document.documentElement, document.body], [swalClasses.shown, swalClasses['height-auto'], swalClasses['no-backdrop'], swalClasses['toast-shown'], swalClasses['toast-column']]);\n }\n\n function close(resolveValue) {\n var popup = getPopup();\n\n if (!popup) {\n return;\n }\n\n var innerParams = privateProps.innerParams.get(this);\n\n if (!innerParams || hasClass(popup, innerParams.hideClass.popup)) {\n return;\n }\n\n var swalPromiseResolve = privateMethods.swalPromiseResolve.get(this);\n removeClass(popup, innerParams.showClass.popup);\n addClass(popup, innerParams.hideClass.popup);\n var backdrop = getContainer();\n removeClass(backdrop, innerParams.showClass.backdrop);\n addClass(backdrop, innerParams.hideClass.backdrop);\n handlePopupAnimation(this, popup, innerParams);\n\n if (typeof resolveValue !== 'undefined') {\n resolveValue.isDismissed = typeof resolveValue.dismiss !== 'undefined';\n resolveValue.isConfirmed = typeof resolveValue.dismiss === 'undefined';\n } else {\n resolveValue = {\n isDismissed: true,\n isConfirmed: false\n };\n } // Resolve Swal promise\n\n\n swalPromiseResolve(resolveValue || {});\n }\n\n var handlePopupAnimation = function handlePopupAnimation(instance, popup, innerParams) {\n var container = getContainer(); // If animation is supported, animate\n\n var animationIsSupported = animationEndEvent && hasCssAnimation(popup);\n var onClose = innerParams.onClose,\n onAfterClose = innerParams.onAfterClose;\n\n if (onClose !== null && typeof onClose === 'function') {\n onClose(popup);\n }\n\n if (animationIsSupported) {\n animatePopup(instance, popup, container, onAfterClose);\n } else {\n // Otherwise, remove immediately\n removePopupAndResetState(instance, container, isToast(), onAfterClose);\n }\n };\n\n var animatePopup = function animatePopup(instance, popup, container, onAfterClose) {\n globalState.swalCloseEventFinishedCallback = removePopupAndResetState.bind(null, instance, container, isToast(), onAfterClose);\n popup.addEventListener(animationEndEvent, function (e) {\n if (e.target === popup) {\n globalState.swalCloseEventFinishedCallback();\n delete globalState.swalCloseEventFinishedCallback;\n }\n });\n };\n\n var triggerOnAfterCloseAndDispose = function triggerOnAfterCloseAndDispose(instance, onAfterClose) {\n setTimeout(function () {\n if (typeof onAfterClose === 'function') {\n onAfterClose();\n }\n\n instance._destroy();\n });\n };\n\n function setButtonsDisabled(instance, buttons, disabled) {\n var domCache = privateProps.domCache.get(instance);\n buttons.forEach(function (button) {\n domCache[button].disabled = disabled;\n });\n }\n\n function setInputDisabled(input, disabled) {\n if (!input) {\n return false;\n }\n\n if (input.type === 'radio') {\n var radiosContainer = input.parentNode.parentNode;\n var radios = radiosContainer.querySelectorAll('input');\n\n for (var i = 0; i < radios.length; i++) {\n radios[i].disabled = disabled;\n }\n } else {\n input.disabled = disabled;\n }\n }\n\n function enableButtons() {\n setButtonsDisabled(this, ['confirmButton', 'cancelButton'], false);\n }\n function disableButtons() {\n setButtonsDisabled(this, ['confirmButton', 'cancelButton'], true);\n }\n function enableInput() {\n return setInputDisabled(this.getInput(), false);\n }\n function disableInput() {\n return setInputDisabled(this.getInput(), true);\n }\n\n function showValidationMessage(error) {\n var domCache = privateProps.domCache.get(this);\n setInnerHtml(domCache.validationMessage, error);\n var popupComputedStyle = window.getComputedStyle(domCache.popup);\n domCache.validationMessage.style.marginLeft = \"-\".concat(popupComputedStyle.getPropertyValue('padding-left'));\n domCache.validationMessage.style.marginRight = \"-\".concat(popupComputedStyle.getPropertyValue('padding-right'));\n show(domCache.validationMessage);\n var input = this.getInput();\n\n if (input) {\n input.setAttribute('aria-invalid', true);\n input.setAttribute('aria-describedBy', swalClasses['validation-message']);\n focusInput(input);\n addClass(input, swalClasses.inputerror);\n }\n } // Hide block with validation message\n\n function resetValidationMessage$1() {\n var domCache = privateProps.domCache.get(this);\n\n if (domCache.validationMessage) {\n hide(domCache.validationMessage);\n }\n\n var input = this.getInput();\n\n if (input) {\n input.removeAttribute('aria-invalid');\n input.removeAttribute('aria-describedBy');\n removeClass(input, swalClasses.inputerror);\n }\n }\n\n function getProgressSteps$1() {\n var domCache = privateProps.domCache.get(this);\n return domCache.progressSteps;\n }\n\n var Timer = /*#__PURE__*/function () {\n function Timer(callback, delay) {\n _classCallCheck(this, Timer);\n\n this.callback = callback;\n this.remaining = delay;\n this.running = false;\n this.start();\n }\n\n _createClass(Timer, [{\n key: \"start\",\n value: function start() {\n if (!this.running) {\n this.running = true;\n this.started = new Date();\n this.id = setTimeout(this.callback, this.remaining);\n }\n\n return this.remaining;\n }\n }, {\n key: \"stop\",\n value: function stop() {\n if (this.running) {\n this.running = false;\n clearTimeout(this.id);\n this.remaining -= new Date() - this.started;\n }\n\n return this.remaining;\n }\n }, {\n key: \"increase\",\n value: function increase(n) {\n var running = this.running;\n\n if (running) {\n this.stop();\n }\n\n this.remaining += n;\n\n if (running) {\n this.start();\n }\n\n return this.remaining;\n }\n }, {\n key: \"getTimerLeft\",\n value: function getTimerLeft() {\n if (this.running) {\n this.stop();\n this.start();\n }\n\n return this.remaining;\n }\n }, {\n key: \"isRunning\",\n value: function isRunning() {\n return this.running;\n }\n }]);\n\n return Timer;\n }();\n\n var defaultInputValidators = {\n email: function email(string, validationMessage) {\n return /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z0-9-]{2,24}$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid email address');\n },\n url: function url(string, validationMessage) {\n // taken from https://stackoverflow.com/a/3809435 with a small change from #1306 and #2013\n return /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-z]{2,63}\\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(string) ? Promise.resolve() : Promise.resolve(validationMessage || 'Invalid URL');\n }\n };\n\n function setDefaultInputValidators(params) {\n // Use default `inputValidator` for supported input types if not provided\n if (!params.inputValidator) {\n Object.keys(defaultInputValidators).forEach(function (key) {\n if (params.input === key) {\n params.inputValidator = defaultInputValidators[key];\n }\n });\n }\n }\n\n function validateCustomTargetElement(params) {\n // Determine if the custom target element is valid\n if (!params.target || typeof params.target === 'string' && !document.querySelector(params.target) || typeof params.target !== 'string' && !params.target.appendChild) {\n warn('Target parameter is not valid, defaulting to \"body\"');\n params.target = 'body';\n }\n }\n /**\n * Set type, text and actions on popup\n *\n * @param params\n * @returns {boolean}\n */\n\n\n function setParameters(params) {\n setDefaultInputValidators(params); // showLoaderOnConfirm && preConfirm\n\n if (params.showLoaderOnConfirm && !params.preConfirm) {\n warn('showLoaderOnConfirm is set to true, but preConfirm is not defined.\\n' + 'showLoaderOnConfirm should be used together with preConfirm, see usage example:\\n' + 'https://sweetalert2.github.io/#ajax-request');\n } // params.animation will be actually used in renderPopup.js\n // but in case when params.animation is a function, we need to call that function\n // before popup (re)initialization, so it'll be possible to check Swal.isVisible()\n // inside the params.animation function\n\n\n params.animation = callIfFunction(params.animation);\n validateCustomTargetElement(params); // Replace newlines with
in title\n\n if (typeof params.title === 'string') {\n params.title = params.title.split('\\n').join('
');\n }\n\n init(params);\n }\n\n /**\n * Open popup, add necessary classes and styles, fix scrollbar\n *\n * @param {Array} params\n */\n\n var openPopup = function openPopup(params) {\n var container = getContainer();\n var popup = getPopup();\n\n if (typeof params.onBeforeOpen === 'function') {\n params.onBeforeOpen(popup);\n }\n\n var bodyStyles = window.getComputedStyle(document.body);\n var initialBodyOverflow = bodyStyles.overflowY;\n addClasses$1(container, popup, params); // scrolling is 'hidden' until animation is done, after that 'auto'\n\n setScrollingVisibility(container, popup);\n\n if (isModal()) {\n fixScrollContainer(container, params.scrollbarPadding, initialBodyOverflow);\n setAriaHidden();\n }\n\n if (!isToast() && !globalState.previousActiveElement) {\n globalState.previousActiveElement = document.activeElement;\n }\n\n if (typeof params.onOpen === 'function') {\n setTimeout(function () {\n return params.onOpen(popup);\n });\n }\n\n removeClass(container, swalClasses['no-transition']);\n };\n\n function swalOpenAnimationFinished(event) {\n var popup = getPopup();\n\n if (event.target !== popup) {\n return;\n }\n\n var container = getContainer();\n popup.removeEventListener(animationEndEvent, swalOpenAnimationFinished);\n container.style.overflowY = 'auto';\n }\n\n var setScrollingVisibility = function setScrollingVisibility(container, popup) {\n if (animationEndEvent && hasCssAnimation(popup)) {\n container.style.overflowY = 'hidden';\n popup.addEventListener(animationEndEvent, swalOpenAnimationFinished);\n } else {\n container.style.overflowY = 'auto';\n }\n };\n\n var fixScrollContainer = function fixScrollContainer(container, scrollbarPadding, initialBodyOverflow) {\n iOSfix();\n IEfix();\n\n if (scrollbarPadding && initialBodyOverflow !== 'hidden') {\n fixScrollbar();\n } // sweetalert2/issues/1247\n\n\n setTimeout(function () {\n container.scrollTop = 0;\n });\n };\n\n var addClasses$1 = function addClasses(container, popup, params) {\n addClass(container, params.showClass.backdrop);\n show(popup); // Animate popup right after showing it\n\n addClass(popup, params.showClass.popup);\n addClass([document.documentElement, document.body], swalClasses.shown);\n\n if (params.heightAuto && params.backdrop && !params.toast) {\n addClass([document.documentElement, document.body], swalClasses['height-auto']);\n }\n };\n\n var handleInputOptionsAndValue = function handleInputOptionsAndValue(instance, params) {\n if (params.input === 'select' || params.input === 'radio') {\n handleInputOptions(instance, params);\n } else if (['text', 'email', 'number', 'tel', 'textarea'].indexOf(params.input) !== -1 && (hasToPromiseFn(params.inputValue) || isPromise(params.inputValue))) {\n handleInputValue(instance, params);\n }\n };\n var getInputValue = function getInputValue(instance, innerParams) {\n var input = instance.getInput();\n\n if (!input) {\n return null;\n }\n\n switch (innerParams.input) {\n case 'checkbox':\n return getCheckboxValue(input);\n\n case 'radio':\n return getRadioValue(input);\n\n case 'file':\n return getFileValue(input);\n\n default:\n return innerParams.inputAutoTrim ? input.value.trim() : input.value;\n }\n };\n\n var getCheckboxValue = function getCheckboxValue(input) {\n return input.checked ? 1 : 0;\n };\n\n var getRadioValue = function getRadioValue(input) {\n return input.checked ? input.value : null;\n };\n\n var getFileValue = function getFileValue(input) {\n return input.files.length ? input.getAttribute('multiple') !== null ? input.files : input.files[0] : null;\n };\n\n var handleInputOptions = function handleInputOptions(instance, params) {\n var content = getContent();\n\n var processInputOptions = function processInputOptions(inputOptions) {\n return populateInputOptions[params.input](content, formatInputOptions(inputOptions), params);\n };\n\n if (hasToPromiseFn(params.inputOptions) || isPromise(params.inputOptions)) {\n showLoading();\n asPromise(params.inputOptions).then(function (inputOptions) {\n instance.hideLoading();\n processInputOptions(inputOptions);\n });\n } else if (_typeof(params.inputOptions) === 'object') {\n processInputOptions(params.inputOptions);\n } else {\n error(\"Unexpected type of inputOptions! Expected object, Map or Promise, got \".concat(_typeof(params.inputOptions)));\n }\n };\n\n var handleInputValue = function handleInputValue(instance, params) {\n var input = instance.getInput();\n hide(input);\n asPromise(params.inputValue).then(function (inputValue) {\n input.value = params.input === 'number' ? parseFloat(inputValue) || 0 : \"\".concat(inputValue);\n show(input);\n input.focus();\n instance.hideLoading();\n })[\"catch\"](function (err) {\n error(\"Error in inputValue promise: \".concat(err));\n input.value = '';\n show(input);\n input.focus();\n instance.hideLoading();\n });\n };\n\n var populateInputOptions = {\n select: function select(content, inputOptions, params) {\n var select = getChildByClass(content, swalClasses.select);\n\n var renderOption = function renderOption(parent, optionLabel, optionValue) {\n var option = document.createElement('option');\n option.value = optionValue;\n setInnerHtml(option, optionLabel);\n\n if (params.inputValue.toString() === optionValue.toString()) {\n option.selected = true;\n }\n\n parent.appendChild(option);\n };\n\n inputOptions.forEach(function (inputOption) {\n var optionValue = inputOption[0];\n var optionLabel = inputOption[1]; // spec:\n // https://www.w3.org/TR/html401/interact/forms.html#h-17.6\n // \"...all OPTGROUP elements must be specified directly within a SELECT element (i.e., groups may not be nested)...\"\n // check whether this is a \n\n if (Array.isArray(optionLabel)) {\n // if it is an array, then it is an \n var optgroup = document.createElement('optgroup');\n optgroup.label = optionValue;\n optgroup.disabled = false; // not configurable for now\n\n select.appendChild(optgroup);\n optionLabel.forEach(function (o) {\n return renderOption(optgroup, o[1], o[0]);\n });\n } else {\n // case of \n valueFormatted = formatInputOptions(valueFormatted);\n }\n\n result.push([key, valueFormatted]);\n });\n } else {\n Object.keys(inputOptions).forEach(function (key) {\n var valueFormatted = inputOptions[key];\n\n if (_typeof(valueFormatted) === 'object') {\n // case of \n valueFormatted = formatInputOptions(valueFormatted);\n }\n\n result.push([key, valueFormatted]);\n });\n }\n\n return result;\n };\n\n var handleConfirmButtonClick = function handleConfirmButtonClick(instance, innerParams) {\n instance.disableButtons();\n\n if (innerParams.input) {\n handleConfirmWithInput(instance, innerParams);\n } else {\n confirm(instance, innerParams, true);\n }\n };\n var handleCancelButtonClick = function handleCancelButtonClick(instance, dismissWith) {\n instance.disableButtons();\n dismissWith(DismissReason.cancel);\n };\n\n var handleConfirmWithInput = function handleConfirmWithInput(instance, innerParams) {\n var inputValue = getInputValue(instance, innerParams);\n\n if (innerParams.inputValidator) {\n instance.disableInput();\n var validationPromise = Promise.resolve().then(function () {\n return asPromise(innerParams.inputValidator(inputValue, innerParams.validationMessage));\n });\n validationPromise.then(function (validationMessage) {\n instance.enableButtons();\n instance.enableInput();\n\n if (validationMessage) {\n instance.showValidationMessage(validationMessage);\n } else {\n confirm(instance, innerParams, inputValue);\n }\n });\n } else if (!instance.getInput().checkValidity()) {\n instance.enableButtons();\n instance.showValidationMessage(innerParams.validationMessage);\n } else {\n confirm(instance, innerParams, inputValue);\n }\n };\n\n var succeedWith = function succeedWith(instance, value) {\n instance.closePopup({\n value: value\n });\n };\n\n var confirm = function confirm(instance, innerParams, value) {\n if (innerParams.showLoaderOnConfirm) {\n showLoading(); // TODO: make showLoading an *instance* method\n }\n\n if (innerParams.preConfirm) {\n instance.resetValidationMessage();\n var preConfirmPromise = Promise.resolve().then(function () {\n return asPromise(innerParams.preConfirm(value, innerParams.validationMessage));\n });\n preConfirmPromise.then(function (preConfirmValue) {\n if (isVisible(getValidationMessage()) || preConfirmValue === false) {\n instance.hideLoading();\n } else {\n succeedWith(instance, typeof preConfirmValue === 'undefined' ? value : preConfirmValue);\n }\n });\n } else {\n succeedWith(instance, value);\n }\n };\n\n var addKeydownHandler = function addKeydownHandler(instance, globalState, innerParams, dismissWith) {\n if (globalState.keydownTarget && globalState.keydownHandlerAdded) {\n globalState.keydownTarget.removeEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = false;\n }\n\n if (!innerParams.toast) {\n globalState.keydownHandler = function (e) {\n return keydownHandler(instance, e, dismissWith);\n };\n\n globalState.keydownTarget = innerParams.keydownListenerCapture ? window : getPopup();\n globalState.keydownListenerCapture = innerParams.keydownListenerCapture;\n globalState.keydownTarget.addEventListener('keydown', globalState.keydownHandler, {\n capture: globalState.keydownListenerCapture\n });\n globalState.keydownHandlerAdded = true;\n }\n }; // Focus handling\n\n var setFocus = function setFocus(innerParams, index, increment) {\n var focusableElements = getFocusableElements(); // search for visible elements and select the next possible match\n\n for (var i = 0; i < focusableElements.length; i++) {\n index = index + increment; // rollover to first item\n\n if (index === focusableElements.length) {\n index = 0; // go to last item\n } else if (index === -1) {\n index = focusableElements.length - 1;\n }\n\n return focusableElements[index].focus();\n } // no visible focusable elements, focus the popup\n\n\n getPopup().focus();\n };\n var arrowKeys = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Left', 'Right', 'Up', 'Down' // IE11\n ];\n var escKeys = ['Escape', 'Esc' // IE11\n ];\n\n var keydownHandler = function keydownHandler(instance, e, dismissWith) {\n var innerParams = privateProps.innerParams.get(instance);\n\n if (innerParams.stopKeydownPropagation) {\n e.stopPropagation();\n } // ENTER\n\n\n if (e.key === 'Enter') {\n handleEnter(instance, e, innerParams); // TAB\n } else if (e.key === 'Tab') {\n handleTab(e, innerParams); // ARROWS - switch focus between buttons\n } else if (arrowKeys.indexOf(e.key) !== -1) {\n handleArrows(); // ESC\n } else if (escKeys.indexOf(e.key) !== -1) {\n handleEsc(e, innerParams, dismissWith);\n }\n };\n\n var handleEnter = function handleEnter(instance, e, innerParams) {\n // #720 #721\n if (e.isComposing) {\n return;\n }\n\n if (e.target && instance.getInput() && e.target.outerHTML === instance.getInput().outerHTML) {\n if (['textarea', 'file'].indexOf(innerParams.input) !== -1) {\n return; // do not submit\n }\n\n clickConfirm();\n e.preventDefault();\n }\n };\n\n var handleTab = function handleTab(e, innerParams) {\n var targetElement = e.target;\n var focusableElements = getFocusableElements();\n var btnIndex = -1;\n\n for (var i = 0; i < focusableElements.length; i++) {\n if (targetElement === focusableElements[i]) {\n btnIndex = i;\n break;\n }\n }\n\n if (!e.shiftKey) {\n // Cycle to the next button\n setFocus(innerParams, btnIndex, 1);\n } else {\n // Cycle to the prev button\n setFocus(innerParams, btnIndex, -1);\n }\n\n e.stopPropagation();\n e.preventDefault();\n };\n\n var handleArrows = function handleArrows() {\n var confirmButton = getConfirmButton();\n var cancelButton = getCancelButton(); // focus Cancel button if Confirm button is currently focused\n\n if (document.activeElement === confirmButton && isVisible(cancelButton)) {\n cancelButton.focus(); // and vice versa\n } else if (document.activeElement === cancelButton && isVisible(confirmButton)) {\n confirmButton.focus();\n }\n };\n\n var handleEsc = function handleEsc(e, innerParams, dismissWith) {\n if (callIfFunction(innerParams.allowEscapeKey)) {\n e.preventDefault();\n dismissWith(DismissReason.esc);\n }\n };\n\n var handlePopupClick = function handlePopupClick(instance, domCache, dismissWith) {\n var innerParams = privateProps.innerParams.get(instance);\n\n if (innerParams.toast) {\n handleToastClick(instance, domCache, dismissWith);\n } else {\n // Ignore click events that had mousedown on the popup but mouseup on the container\n // This can happen when the user drags a slider\n handleModalMousedown(domCache); // Ignore click events that had mousedown on the container but mouseup on the popup\n\n handleContainerMousedown(domCache);\n handleModalClick(instance, domCache, dismissWith);\n }\n };\n\n var handleToastClick = function handleToastClick(instance, domCache, dismissWith) {\n // Closing toast by internal click\n domCache.popup.onclick = function () {\n var innerParams = privateProps.innerParams.get(instance);\n\n if (innerParams.showConfirmButton || innerParams.showCancelButton || innerParams.showCloseButton || innerParams.input) {\n return;\n }\n\n dismissWith(DismissReason.close);\n };\n };\n\n var ignoreOutsideClick = false;\n\n var handleModalMousedown = function handleModalMousedown(domCache) {\n domCache.popup.onmousedown = function () {\n domCache.container.onmouseup = function (e) {\n domCache.container.onmouseup = undefined; // We only check if the mouseup target is the container because usually it doesn't\n // have any other direct children aside of the popup\n\n if (e.target === domCache.container) {\n ignoreOutsideClick = true;\n }\n };\n };\n };\n\n var handleContainerMousedown = function handleContainerMousedown(domCache) {\n domCache.container.onmousedown = function () {\n domCache.popup.onmouseup = function (e) {\n domCache.popup.onmouseup = undefined; // We also need to check if the mouseup target is a child of the popup\n\n if (e.target === domCache.popup || domCache.popup.contains(e.target)) {\n ignoreOutsideClick = true;\n }\n };\n };\n };\n\n var handleModalClick = function handleModalClick(instance, domCache, dismissWith) {\n domCache.container.onclick = function (e) {\n var innerParams = privateProps.innerParams.get(instance);\n\n if (ignoreOutsideClick) {\n ignoreOutsideClick = false;\n return;\n }\n\n if (e.target === domCache.container && callIfFunction(innerParams.allowOutsideClick)) {\n dismissWith(DismissReason.backdrop);\n }\n };\n };\n\n function _main(userParams) {\n showWarningsForParams(userParams);\n\n if (globalState.currentInstance) {\n globalState.currentInstance._destroy();\n }\n\n globalState.currentInstance = this;\n var innerParams = prepareParams(userParams);\n setParameters(innerParams);\n Object.freeze(innerParams); // clear the previous timer\n\n if (globalState.timeout) {\n globalState.timeout.stop();\n delete globalState.timeout;\n } // clear the restore focus timeout\n\n\n clearTimeout(globalState.restoreFocusTimeout);\n var domCache = populateDomCache(this);\n render(this, innerParams);\n privateProps.innerParams.set(this, innerParams);\n return swalPromise(this, domCache, innerParams);\n }\n\n var prepareParams = function prepareParams(userParams) {\n var showClass = _extends({}, defaultParams.showClass, userParams.showClass);\n\n var hideClass = _extends({}, defaultParams.hideClass, userParams.hideClass);\n\n var params = _extends({}, defaultParams, userParams);\n\n params.showClass = showClass;\n params.hideClass = hideClass; // @deprecated\n\n if (userParams.animation === false) {\n params.showClass = {\n popup: 'swal2-noanimation',\n backdrop: 'swal2-noanimation'\n };\n params.hideClass = {};\n }\n\n return params;\n };\n\n var swalPromise = function swalPromise(instance, domCache, innerParams) {\n return new Promise(function (resolve) {\n // functions to handle all closings/dismissals\n var dismissWith = function dismissWith(dismiss) {\n instance.closePopup({\n dismiss: dismiss\n });\n };\n\n privateMethods.swalPromiseResolve.set(instance, resolve);\n\n domCache.confirmButton.onclick = function () {\n return handleConfirmButtonClick(instance, innerParams);\n };\n\n domCache.cancelButton.onclick = function () {\n return handleCancelButtonClick(instance, dismissWith);\n };\n\n domCache.closeButton.onclick = function () {\n return dismissWith(DismissReason.close);\n };\n\n handlePopupClick(instance, domCache, dismissWith);\n addKeydownHandler(instance, globalState, innerParams, dismissWith);\n\n if (innerParams.toast && (innerParams.input || innerParams.footer || innerParams.showCloseButton)) {\n addClass(document.body, swalClasses['toast-column']);\n } else {\n removeClass(document.body, swalClasses['toast-column']);\n }\n\n handleInputOptionsAndValue(instance, innerParams);\n openPopup(innerParams);\n setupTimer(globalState, innerParams, dismissWith);\n initFocus(domCache, innerParams); // Scroll container to top on open (#1247, #1946)\n\n setTimeout(function () {\n domCache.container.scrollTop = 0;\n });\n });\n };\n\n var populateDomCache = function populateDomCache(instance) {\n var domCache = {\n popup: getPopup(),\n container: getContainer(),\n content: getContent(),\n actions: getActions(),\n confirmButton: getConfirmButton(),\n cancelButton: getCancelButton(),\n closeButton: getCloseButton(),\n validationMessage: getValidationMessage(),\n progressSteps: getProgressSteps()\n };\n privateProps.domCache.set(instance, domCache);\n return domCache;\n };\n\n var setupTimer = function setupTimer(globalState$$1, innerParams, dismissWith) {\n var timerProgressBar = getTimerProgressBar();\n hide(timerProgressBar);\n\n if (innerParams.timer) {\n globalState$$1.timeout = new Timer(function () {\n dismissWith('timer');\n delete globalState$$1.timeout;\n }, innerParams.timer);\n\n if (innerParams.timerProgressBar) {\n show(timerProgressBar);\n setTimeout(function () {\n if (globalState$$1.timeout.running) {\n // timer can be already stopped at this point\n animateTimerProgressBar(innerParams.timer);\n }\n });\n }\n }\n };\n\n var initFocus = function initFocus(domCache, innerParams) {\n if (innerParams.toast) {\n return;\n }\n\n if (!callIfFunction(innerParams.allowEnterKey)) {\n return blurActiveElement();\n }\n\n if (innerParams.focusCancel && isVisible(domCache.cancelButton)) {\n return domCache.cancelButton.focus();\n }\n\n if (innerParams.focusConfirm && isVisible(domCache.confirmButton)) {\n return domCache.confirmButton.focus();\n }\n\n setFocus(innerParams, -1, 1);\n };\n\n var blurActiveElement = function blurActiveElement() {\n if (document.activeElement && typeof document.activeElement.blur === 'function') {\n document.activeElement.blur();\n }\n };\n\n /**\n * Updates popup parameters.\n */\n\n function update(params) {\n var popup = getPopup();\n var innerParams = privateProps.innerParams.get(this);\n\n if (!popup || hasClass(popup, innerParams.hideClass.popup)) {\n return warn(\"You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.\");\n }\n\n var validUpdatableParams = {}; // assign valid params from `params` to `defaults`\n\n Object.keys(params).forEach(function (param) {\n if (Swal.isUpdatableParameter(param)) {\n validUpdatableParams[param] = params[param];\n } else {\n warn(\"Invalid parameter to update: \\\"\".concat(param, \"\\\". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js\"));\n }\n });\n\n var updatedParams = _extends({}, innerParams, validUpdatableParams);\n\n render(this, updatedParams);\n privateProps.innerParams.set(this, updatedParams);\n Object.defineProperties(this, {\n params: {\n value: _extends({}, this.params, params),\n writable: false,\n enumerable: true\n }\n });\n }\n\n function _destroy() {\n var domCache = privateProps.domCache.get(this);\n var innerParams = privateProps.innerParams.get(this);\n\n if (!innerParams) {\n return; // This instance has already been destroyed\n } // Check if there is another Swal closing\n\n\n if (domCache.popup && globalState.swalCloseEventFinishedCallback) {\n globalState.swalCloseEventFinishedCallback();\n delete globalState.swalCloseEventFinishedCallback;\n } // Check if there is a swal disposal defer timer\n\n\n if (globalState.deferDisposalTimer) {\n clearTimeout(globalState.deferDisposalTimer);\n delete globalState.deferDisposalTimer;\n }\n\n if (typeof innerParams.onDestroy === 'function') {\n innerParams.onDestroy();\n }\n\n disposeSwal(this);\n }\n\n var disposeSwal = function disposeSwal(instance) {\n // Unset this.params so GC will dispose it (#1569)\n delete instance.params; // Unset globalState props so GC will dispose globalState (#1569)\n\n delete globalState.keydownHandler;\n delete globalState.keydownTarget; // Unset WeakMaps so GC will be able to dispose them (#1569)\n\n unsetWeakMaps(privateProps);\n unsetWeakMaps(privateMethods);\n };\n\n var unsetWeakMaps = function unsetWeakMaps(obj) {\n for (var i in obj) {\n obj[i] = new WeakMap();\n }\n };\n\n\n\n var instanceMethods = /*#__PURE__*/Object.freeze({\n hideLoading: hideLoading,\n disableLoading: hideLoading,\n getInput: getInput$1,\n close: close,\n closePopup: close,\n closeModal: close,\n closeToast: close,\n enableButtons: enableButtons,\n disableButtons: disableButtons,\n enableInput: enableInput,\n disableInput: disableInput,\n showValidationMessage: showValidationMessage,\n resetValidationMessage: resetValidationMessage$1,\n getProgressSteps: getProgressSteps$1,\n _main: _main,\n update: update,\n _destroy: _destroy\n });\n\n var currentInstance;\n\n var SweetAlert = /*#__PURE__*/function () {\n function SweetAlert() {\n _classCallCheck(this, SweetAlert);\n\n // Prevent run in Node env\n if (typeof window === 'undefined') {\n return;\n } // Check for the existence of Promise\n\n\n if (typeof Promise === 'undefined') {\n error('This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)');\n }\n\n currentInstance = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var outerParams = Object.freeze(this.constructor.argsToParams(args));\n Object.defineProperties(this, {\n params: {\n value: outerParams,\n writable: false,\n enumerable: true,\n configurable: true\n }\n });\n\n var promise = this._main(this.params);\n\n privateProps.promise.set(this, promise);\n } // `catch` cannot be the name of a module export, so we define our thenable methods here instead\n\n\n _createClass(SweetAlert, [{\n key: \"then\",\n value: function then(onFulfilled) {\n var promise = privateProps.promise.get(this);\n return promise.then(onFulfilled);\n }\n }, {\n key: \"finally\",\n value: function _finally(onFinally) {\n var promise = privateProps.promise.get(this);\n return promise[\"finally\"](onFinally);\n }\n }]);\n\n return SweetAlert;\n }(); // Assign instance methods from src/instanceMethods/*.js to prototype\n\n\n _extends(SweetAlert.prototype, instanceMethods); // Assign static methods from src/staticMethods/*.js to constructor\n\n\n _extends(SweetAlert, staticMethods); // Proxy to instance methods to constructor, for now, for backwards compatibility\n\n\n Object.keys(instanceMethods).forEach(function (key) {\n SweetAlert[key] = function () {\n if (currentInstance) {\n var _currentInstance;\n\n return (_currentInstance = currentInstance)[key].apply(_currentInstance, arguments);\n }\n };\n });\n SweetAlert.DismissReason = DismissReason;\n SweetAlert.version = '9.17.2';\n\n var Swal = SweetAlert;\n Swal[\"default\"] = Swal;\n\n return Swal;\n\n}));\nif (typeof this !== 'undefined' && this.Sweetalert2){ this.swal = this.sweetAlert = this.Swal = this.SweetAlert = this.Sweetalert2}\n\n\"undefined\"!=typeof document&&function(e,t){var n=e.createElement(\"style\");if(e.getElementsByTagName(\"head\")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t}catch(e){n.innerText=t}}(document,\".swal2-popup.swal2-toast{flex-direction:row;align-items:center;width:auto;padding:.625em;overflow-y:hidden;background:#fff;box-shadow:0 0 .625em #d9d9d9}.swal2-popup.swal2-toast .swal2-header{flex-direction:row;padding:0}.swal2-popup.swal2-toast .swal2-title{flex-grow:1;justify-content:flex-start;margin:0 .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{position:static;width:.8em;height:.8em;line-height:.8}.swal2-popup.swal2-toast .swal2-content{justify-content:flex-start;padding:0;font-size:1em}.swal2-popup.swal2-toast .swal2-icon{width:2em;min-width:2em;height:2em;margin:0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:700}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{font-size:.25em}}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{flex-basis:auto!important;width:auto;height:auto;margin:0 .3125em}.swal2-popup.swal2-toast .swal2-styled{margin:0 .3125em;padding:.3125em .625em;font-size:1em}.swal2-popup.swal2-toast .swal2-styled:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(50,100,150,.4)}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;transform:rotate(45deg);border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.8em;left:-.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-toast-animate-success-line-tip .75s;animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-toast-animate-success-line-long .75s;animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{-webkit-animation:swal2-toast-show .5s;animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{-webkit-animation:swal2-toast-hide .1s forwards;animation:swal2-toast-hide .1s forwards}.swal2-container{display:flex;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;flex-direction:row;align-items:center;justify-content:center;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:0 0!important}.swal2-container.swal2-top{align-items:flex-start}.swal2-container.swal2-top-left,.swal2-container.swal2-top-start{align-items:flex-start;justify-content:flex-start}.swal2-container.swal2-top-end,.swal2-container.swal2-top-right{align-items:flex-start;justify-content:flex-end}.swal2-container.swal2-center{align-items:center}.swal2-container.swal2-center-left,.swal2-container.swal2-center-start{align-items:center;justify-content:flex-start}.swal2-container.swal2-center-end,.swal2-container.swal2-center-right{align-items:center;justify-content:flex-end}.swal2-container.swal2-bottom{align-items:flex-end}.swal2-container.swal2-bottom-left,.swal2-container.swal2-bottom-start{align-items:flex-end;justify-content:flex-start}.swal2-container.swal2-bottom-end,.swal2-container.swal2-bottom-right{align-items:flex-end;justify-content:flex-end}.swal2-container.swal2-bottom-end>:first-child,.swal2-container.swal2-bottom-left>:first-child,.swal2-container.swal2-bottom-right>:first-child,.swal2-container.swal2-bottom-start>:first-child,.swal2-container.swal2-bottom>:first-child{margin-top:auto}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:flex!important;flex:1;align-self:stretch;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-grow-column{flex:1;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-no-transition{transition:none!important}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-popup{display:none;position:relative;box-sizing:border-box;flex-direction:column;justify-content:center;width:32em;max-width:100%;padding:1.25em;border:none;border-radius:.3125em;background:#fff;font-family:inherit;font-size:1rem}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-header{display:flex;flex-direction:column;align-items:center;padding:0 1.8em}.swal2-title{position:relative;max-width:100%;margin:0 0 .4em;padding:0;color:#595959;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-actions{display:flex;z-index:1;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;margin:1.25em auto 0}.swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-actions.swal2-loading .swal2-styled.swal2-confirm{box-sizing:border-box;width:2.5em;height:2.5em;margin:.46875em;padding:0;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border:.25em solid transparent;border-radius:100%;border-color:transparent;background-color:transparent!important;color:transparent!important;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-actions.swal2-loading .swal2-styled.swal2-cancel{margin-right:30px;margin-left:30px}.swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after{content:\\\"\\\";display:inline-block;width:15px;height:15px;margin-left:5px;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border:3px solid #999;border-radius:50%;border-right-color:transparent;box-shadow:1px 1px 1px #fff}.swal2-styled{margin:.3125em;padding:.625em 2em;box-shadow:none;font-weight:500}.swal2-styled:not([disabled]){cursor:pointer}.swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#3085d6;color:#fff;font-size:1.0625em}.swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#aaa;color:#fff;font-size:1.0625em}.swal2-styled:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(50,100,150,.4)}.swal2-styled::-moz-focus-inner{border:0}.swal2-footer{justify-content:center;margin:1.25em 0 0;padding:1em 0 0;border-top:1px solid #eee;color:#545454;font-size:1em}.swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;height:.25em;overflow:hidden;border-bottom-right-radius:.3125em;border-bottom-left-radius:.3125em}.swal2-timer-progress-bar{width:100%;height:.25em;background:rgba(0,0,0,.2)}.swal2-image{max-width:100%;margin:1.25em auto}.swal2-close{position:absolute;z-index:2;top:0;right:0;align-items:center;justify-content:center;width:1.2em;height:1.2em;padding:0;overflow:hidden;transition:color .1s ease-out;border:none;border-radius:0;background:0 0;color:#ccc;font-family:serif;font-size:2.5em;line-height:1.2;cursor:pointer}.swal2-close:hover{transform:none;background:0 0;color:#f27474}.swal2-close::-moz-focus-inner{border:0}.swal2-content{z-index:1;justify-content:center;margin:0;padding:0 1.6em;color:#545454;font-size:1.125em;font-weight:400;line-height:normal;text-align:center;word-wrap:break-word}.swal2-checkbox,.swal2-file,.swal2-input,.swal2-radio,.swal2-select,.swal2-textarea{margin:1em auto}.swal2-file,.swal2-input,.swal2-textarea{box-sizing:border-box;width:100%;transition:border-color .3s,box-shadow .3s;border:1px solid #d9d9d9;border-radius:.1875em;background:inherit;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);color:inherit;font-size:1.125em}.swal2-file.swal2-inputerror,.swal2-input.swal2-inputerror,.swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-file:focus,.swal2-input:focus,.swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:0 0 3px #c4e6f5}.swal2-file::-moz-placeholder,.swal2-input::-moz-placeholder,.swal2-textarea::-moz-placeholder{color:#ccc}.swal2-file:-ms-input-placeholder,.swal2-input:-ms-input-placeholder,.swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-file::-ms-input-placeholder,.swal2-input::-ms-input-placeholder,.swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-file::placeholder,.swal2-input::placeholder,.swal2-textarea::placeholder{color:#ccc}.swal2-range{margin:1em auto;background:#fff}.swal2-range input{width:80%}.swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}.swal2-range input,.swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}.swal2-input{height:2.625em;padding:0 .75em}.swal2-input[type=number]{max-width:10em}.swal2-file{background:inherit;font-size:1.125em}.swal2-textarea{height:6.75em;padding:.75em}.swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:inherit;color:inherit;font-size:1.125em}.swal2-checkbox,.swal2-radio{align-items:center;justify-content:center;background:#fff;color:inherit}.swal2-checkbox label,.swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-checkbox input,.swal2-radio input{margin:0 .4em}.swal2-validation-message{display:none;align-items:center;justify-content:center;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}.swal2-validation-message::before{content:\\\"!\\\";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}.swal2-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:1.25em auto 1.875em;border:.25em solid transparent;border-radius:50%;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474;color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.swal2-icon.swal2-error.swal2-icon-show{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-success{border-color:#a5dc86;color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-progress-steps{align-items:center;margin:0 0 1.25em;padding:0;background:inherit;font-weight:600}.swal2-progress-steps li{display:inline-block;position:relative}.swal2-progress-steps .swal2-progress-step{z-index:20;width:2em;height:2em;border-radius:2em;background:#3085d6;color:#fff;line-height:2em;text-align:center}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#3085d6}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}.swal2-progress-steps .swal2-progress-step-line{z-index:10;width:2.5em;height:.4em;margin:0 -1px;background:#3085d6}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{right:auto;left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@-moz-document url-prefix(){.swal2-close:focus{outline:2px solid rgba(50,100,150,.4)}}@-webkit-keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@-webkit-keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@-webkit-keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@-webkit-keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@-webkit-keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@-webkit-keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@-webkit-keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@-webkit-keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@-webkit-keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@-webkit-keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@-webkit-keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@-webkit-keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{top:auto;right:auto;bottom:auto;left:auto;max-width:calc(100% - .625em * 2);background-color:transparent!important}body.swal2-no-backdrop .swal2-container>.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop .swal2-container.swal2-top{top:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop .swal2-container.swal2-top-left,body.swal2-no-backdrop .swal2-container.swal2-top-start{top:0;left:0}body.swal2-no-backdrop .swal2-container.swal2-top-end,body.swal2-no-backdrop .swal2-container.swal2-top-right{top:0;right:0}body.swal2-no-backdrop .swal2-container.swal2-center{top:50%;left:50%;transform:translate(-50%,-50%)}body.swal2-no-backdrop .swal2-container.swal2-center-left,body.swal2-no-backdrop .swal2-container.swal2-center-start{top:50%;left:0;transform:translateY(-50%)}body.swal2-no-backdrop .swal2-container.swal2-center-end,body.swal2-no-backdrop .swal2-container.swal2-center-right{top:50%;right:0;transform:translateY(-50%)}body.swal2-no-backdrop .swal2-container.swal2-bottom{bottom:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop .swal2-container.swal2-bottom-left,body.swal2-no-backdrop .swal2-container.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop .swal2-container.swal2-bottom-end,body.swal2-no-backdrop .swal2-container.swal2-bottom-right{right:0;bottom:0}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static!important}}body.swal2-toast-shown .swal2-container{background-color:transparent}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-left,body.swal2-toast-shown .swal2-container.swal2-top-start{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-left,body.swal2-toast-shown .swal2-container.swal2-center-start{top:50%;right:auto;bottom:auto;left:0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-left,body.swal2-toast-shown .swal2-container.swal2-bottom-start{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}body.swal2-toast-column .swal2-toast{flex-direction:column;align-items:stretch}body.swal2-toast-column .swal2-toast .swal2-actions{flex:1;align-self:stretch;height:2.2em;margin-top:.3125em}body.swal2-toast-column .swal2-toast .swal2-loading{justify-content:center}body.swal2-toast-column .swal2-toast .swal2-input{height:2em;margin:.3125em auto;font-size:1em}body.swal2-toast-column .swal2-toast .swal2-validation-message{font-size:1em}\");","import { Component, OnInit } from '@angular/core';\r\nimport { AbstractControl, FormBuilder, FormControlName, ValidationErrors, Validators } from '@angular/forms';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\n\r\nimport { ElementRef, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { AppoinmentserviceService } from './appoinmentservice.service';\r\nimport { Notification } from '../../../core/Notifications/Notification';\r\nimport { forEachRight, values } from 'lodash';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogContentExample1Component } from '../dialog-content-example1/dialog-content-example1.component';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { ShowdoctorComponent } from '../showdoctor/showdoctor.component';\r\nimport { ShowhospitalComponent } from '../showhospital/showhospital.component';\r\nimport { DialogdoctorComponent } from '../dialogdoctor/dialogdoctor.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-add-appoinments',\r\n templateUrl: './add-appoinments.component.html',\r\n styleUrls: ['./add-appoinments.component.scss']\r\n})\r\n\r\nexport class AddAppoinmentsComponent implements OnInit {\r\n doctors: any;\r\n complaint: any;\r\n complaints: any;\r\n underMedication_DTL: any;\r\n diseases: any;\r\n medication: any;\r\n medical: any;\r\n symptoms: any;\r\n appoinmentForm: FormGroup;\r\n private json: any;\r\n private filterJson: any;\r\n i = 0;\r\n result: any;\r\n toppings: any;\r\n ClinicalDiscipline: any;\r\n appoinment: any;\r\n doctordd: any;\r\n\r\n minDate:any= new Date();\r\n\r\n testing = [{ smst_Id: 1, smst_Code: 'SYM1', smst_Name: 'Fever' }, { smst_Id: 2, smst_Code: 'SYM1', smst_Name: 'Fever' }]\r\n userTestStatus: { smst_Id: string, smst_Code: string, smst_Name: string }[];\r\n allergy: any;\r\n test: any;\r\n\r\n constructor(public dialog: MatDialog, private formBuilder: FormBuilder, private AppoinmentserviceService: AppoinmentserviceService, private router: Router,\r\n private notify: Notification) {\r\n this.appoinmentForm = this.formBuilder.group({\r\n 'complaint': ['',Validators.required],\r\n 'underMedication_DTL': ['',Validators.required],\r\n // 'medical': ['',Validators.required],\r\n // 'symptoms': ['',Validators.required],\r\n // 'diseasesDtl': ['',Validators.required],\r\n 'allergySigns_DTL': ['',Validators.required],\r\n // 'Weight': ['', [Validators.pattern(\"^[0-9]*$\")]],\r\n // 'Height': ['', [Validators.pattern(\"^[0-9]*$\")]],\r\n 'select_day': ['',Validators.required],\r\n 'select_FrmTime': ['',Validators.required],\r\n 'select_toTime': ['',Validators.required],\r\n 'Appt_DO_Id_FK': [''],\r\n // 'bmi':[''],\r\n },\r\n {\r\n validators: this.toTimeValidator.bind(this),\r\n });\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.get_doctors()\r\n this.get_complaint()\r\n this.get_diseases()\r\n this.Get_All_Medication()\r\n // this.get_symptoms()\r\n this.get_Discipline()\r\n this.get_Allergy()\r\n // const fromTimeControl = this.appoinmentForm.get('select_FrmTime');\r\n // const toTimeControl = this.appoinmentForm.get('select_toTime');\r\n // fromTimeControl.setValidators(this.fromTimeValidator.bind(this, toTimeControl));\r\n // toTimeControl.setValidators(this.toTimeValidator.bind(this, fromTimeControl));\r\n }\r\n\r\n\r\n\r\n select_weight: any;\r\n bmi: any;\r\n Get_bmi(select_height: any, event: any) {\r\n this.select_weight = event.target.value;\r\n this.bmi = this.select_weight / Math.pow(select_height / 100, 2);\r\n this.bmi = parseFloat(this.bmi).toFixed(2);\r\n console.log(\"BMI value is \", this.bmi);\r\n this.appoinmentForm.controls['bmi'].setValue(this.bmi);\r\n\r\n\r\n }\r\n\r\n toTimeValidator(control: AbstractControl): { [key: string]: boolean } | null {\r\n const fromTime = control.get('select_FrmTime').value;\r\n const toTime = control.get('select_toTime').value;\r\n\r\n if (fromTime && toTime) {\r\n const fromTimeParts = fromTime.split(':');\r\n const toTimeParts = toTime.split(':');\r\n\r\n const fromTimeHours = parseInt(fromTimeParts[0], 10);\r\n const fromTimeMinutes = parseInt(fromTimeParts[1], 10);\r\n\r\n const toTimeHours = parseInt(toTimeParts[0], 10);\r\n const toTimeMinutes = parseInt(toTimeParts[1], 10);\r\n\r\n if (\r\n fromTimeHours > toTimeHours ||\r\n (fromTimeHours === toTimeHours && fromTimeMinutes >= toTimeMinutes)\r\n ) {\r\n this.notify.errorsmsg(\"Invalid time selection, please choose a time from the present or future.\")\r\n return { fromTimeGreaterThanToTime: true };\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n //Complaint\r\n //toppingsControl = new FormControl([]);\r\n // toppingList: string[] = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage', 'Tomato'];\r\n\r\n onToppingRemoved(topping: string) {\r\n const toppings = this.appoinmentForm.value.complaint;\r\n\r\n \r\n this.removeFirst(toppings, topping);\r\n\r\n this.appoinmentForm.controls['complaint'].setValue(toppings); \r\n\r\n this.appoinmentForm.controls['topping'].setValue(topping);// To trigger change detection\r\n }\r\n\r\n private removeFirst(array: T[], toRemove: T): void {\r\n const index = array.indexOf(toRemove);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n // onComplaintsSelectionChange(): void {\r\n // const selectedOption = this.appoinmentForm.value.underMedication_DTL;\r\n\r\n\r\n // const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.medic_name === \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\");\r\n\r\n // if (noneOptionSelected) {\r\n // //this.fixappointment.get('allergySigns_DTL').setValue(['None']);\r\n // this.isOptionDisableds(noneOptionSelected);\r\n // }\r\n // }\r\n\r\n isOptionDisabled3(option: any): boolean {\r\n const selectedOption = this.appoinmentForm.value.complaint;\r\n if (selectedOption == '') {\r\n return;\r\n }\r\n const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.cmst_Name === \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\");\r\n if (noneOptionSelected) {\r\n return option.cmst_Name != \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\" && noneOptionSelected;\r\n }\r\n else {\r\n return option.cmst_Name == \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\"\r\n }\r\n\r\n\r\n }\r\n isOptionDisableds(option: any): boolean {\r\n const selectedOption = this.appoinmentForm.value.underMedication_DTL;\r\n \r\n // If no option is selected, all options are enabled\r\n if (!selectedOption || selectedOption.length === 0) {\r\n return false;\r\n }\r\n \r\n const noneOptionSelected = selectedOption.some((item: any) => item.medic_name === \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\");\r\n \r\n // If \"Other than Listed\" option is selected, disable options except \"Other than Listed\"\r\n if (noneOptionSelected) {\r\n return option.medic_name !== \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\";\r\n } else {\r\n // If other options are selected, disable \"Other than Listed\"\r\n return option.medic_name === \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\";\r\n }\r\n }\r\n \r\n //symptoms\r\n // toppingsControl1 = new FormControl([]);\r\n toppingList1: string[] = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage', 'Tomato'];\r\n\r\n onToppingRemoved1(topping: any) {\r\n\r\n const toppings = this.appoinmentForm.value.symptoms;\r\n this.removeFirst1(toppings, topping);\r\n this.appoinmentForm.controls['symptoms'].setValue(toppings);\r\n }\r\n\r\n\r\n private removeFirst1(array: T[], toRemove: T): void {\r\n const index = array.indexOf(toRemove);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n \r\n onSymptomsSelectionChange(): void {\r\n const selectedOption = this.appoinmentForm.value.symptoms;\r\n\r\n\r\n const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.smst_Name === \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\");\r\n\r\n if (noneOptionSelected) {\r\n //this.fixappointment.get('allergySigns_DTL').setValue(['None']);\r\n this.isOptionDisabled2(noneOptionSelected);\r\n }\r\n }\r\n\r\n isOptionDisabled2(option: any): boolean {\r\n const selectedOption = this.appoinmentForm.value.symptoms;\r\n if (selectedOption == '') {\r\n return;\r\n }\r\n const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.smst_Name === \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\");\r\n if (noneOptionSelected) {\r\n return option.smst_Name != \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\" && noneOptionSelected;\r\n }\r\n else {\r\n return option.smst_Name == \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\"\r\n }\r\n\r\n\r\n }\r\n\r\n //diseases\r\n toppingList2: string[] = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage', 'Tomato'];\r\n\r\n onToppingRemoved2(topping: string) {\r\n const toppings = this.appoinmentForm.value.allergySigns_DTL;\r\n this.removeFirst2(toppings, topping);\r\n this.appoinmentForm.controls['allergySigns_DTL'].setValue(toppings); // To trigger change detection\r\n }\r\n private removeFirst3(array: T[], toRemove: T): void {\r\n const index = array.indexOf(toRemove);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n\r\n onPresentillnessSelectionChange(): void {\r\n const selectedOption = this.appoinmentForm.value.diseasesDtl;\r\n\r\n\r\n const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.diseases_Name === \"Other than Listed\");\r\n\r\n if (noneOptionSelected) {\r\n //this.fixappointment.get('allergySigns_DTL').setValue(['None']);\r\n this.isOptionDisabled1(noneOptionSelected);\r\n }\r\n }\r\n\r\n isOptionDisabled1(option: any): boolean {\r\n const selectedOption = this.appoinmentForm.value.diseasesDtl;\r\n if (selectedOption == '') {\r\n return;\r\n }\r\n const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.diseases_Name === \"Other than Listed\");\r\n if (noneOptionSelected) {\r\n return option.diseases_Name != \"Other than Listed\" && noneOptionSelected;\r\n }\r\n else {\r\n return option.diseases_Name == \"Other than Listed\"\r\n }\r\n\r\n\r\n }\r\n//Allergy\r\nonToppingRemoved3(topping: string) {\r\n const toppings = this.appoinmentForm.value.underMedication_DTL;\r\n this.removeFirst2(toppings, topping);\r\n this.appoinmentForm.controls['underMedication_DTL'].setValue(toppings); // To trigger change detection\r\n }\r\n\r\n private removeFirst2(array: T[], toRemove: T): void {\r\n const index = array.indexOf(toRemove);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n onToppingRemoved4(topping: string) {\r\n const toppingsss = this.appoinmentForm.value.underMedication_DTL;\r\n this.removeFirst4(toppingsss, topping);\r\n this.appoinmentForm.controls['underMedication_DTL'].setValue(topping); // To trigger change detection\r\n }\r\n\r\n private removeFirst4(array: T[], toRemove: T): void {\r\n const index = array.indexOf(toRemove);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n\r\n onAllergySelectionChange(): void {\r\n const selectedOption = this.appoinmentForm.value.allergySigns_DTL;\r\n \r\n \r\n const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.al_Name === \"Others\");\r\n\r\n if (noneOptionSelected) {\r\n //this.fixappointment.get('allergySigns_DTL').setValue(['None']);\r\n this.isOptionDisabled(noneOptionSelected);\r\n }\r\n }\r\n\r\n isOptionDisabled(option: any): boolean {\r\n const selectedOption = this.appoinmentForm.value.allergySigns_DTL;\r\n if(selectedOption=='')\r\n {\r\n return;\r\n }\r\n const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.al_Name === \"Others\");\r\n if(noneOptionSelected){\r\n return option.al_Name != \"Others\" && noneOptionSelected;\r\n }\r\n else{\r\n return option.al_Name ==\"Others\" \r\n }\r\n \r\n\r\n }\r\n onComplaintsSelectionChange(): void {\r\n const selectedOption = this.appoinmentForm.value.underMedication_DTL;\r\n\r\n\r\n const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.al_Name === \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\");\r\n\r\n if (noneOptionSelected) {\r\n //this.fixappointment.get('allergySigns_DTL').setValue(['None']);\r\n this.isDisabled(noneOptionSelected);\r\n }\r\n }\r\n\r\n isDisabled(option: any): boolean {\r\n const selectedOption = this.appoinmentForm.value.underMedication_DTL;\r\n if(selectedOption=='')\r\n {\r\n return;\r\n }\r\n const noneOptionSelected = selectedOption && selectedOption.some((item: any) => item.medic_name === \"Other than Listed\");\r\n if(noneOptionSelected){\r\n return option.medic_name != \"Other than Listed\" && noneOptionSelected;\r\n }\r\n else{\r\n return option.medic_name ==\"Other than Listed\" \r\n }\r\n \r\n }\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n nameValidators(control: any): { [key: string]: boolean } {\r\n const nameRegexp: RegExp = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,<>\\/?/\\s/g,''/a-zA-Z]/;\r\n // const spaceexp: RegExp =/[/\\s/g, '']/\r\n\r\n if (control.value && nameRegexp.test(control.value)) {\r\n return { invalidName: true };\r\n }\r\n }\r\n\r\n get f(){\r\n return this.appoinmentForm.controls;\r\n }\r\n\r\n\r\n saveForm() {\r\n console.log(this.appoinment);\r\n\r\n if(this.appoinmentForm == null)\r\n {\r\nalert('error')\r\n \r\n }\r\n // if (!this.appoinmentForm.value.symptoms || this.appoinmentForm.value.symptoms.length === 0) {\r\n // this.appoinmentForm.value.symptoms = []; // Set symptoms to an empty array\r\n // }\r\n \r\n // if (!this.appoinmentForm.value.diseasesDtl || this.appoinmentForm.value.diseasesDtl.length === 0) {\r\n // this.appoinmentForm.value.diseasesDtl = [{ diseases_Id: 0, diseases_Name: 'Default Present Illness' }];\r\n // }\r\n \r\n // if (!this.appoinmentForm.value.medical || this.appoinmentForm.value.medical.length === 0) {\r\n // this.appoinmentForm.value.medical = [{ medical_Id: 0, medical_Name: 'Default medical' }];\r\n // }\r\n\r\n \r\n console.log('Form data is', this.appoinmentForm.value);\r\n this.AppoinmentserviceService.Post_appoinment(this.appoinmentForm.value).subscribe((data: any) => {\r\n this.appoinment = data\r\n this.openDialog();\r\n\r\n })\r\n\r\n this.router.navigate([\"/base/patient/Appoinment\"]);\r\n \r\n this.notify.successmsg(\"Appoinment\" + \" fixed Successfully.\");\r\n this.notify.errorsmsg(\"Appoinment\"+\"not fixed\")\r\n }\r\n\r\n openDialog() {\r\n const dialogRef = this.dialog.open(DialogContentExample1Component);\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n });\r\n }\r\n resetForm() {\r\n this.appoinmentForm.reset();\r\n }\r\n\r\n get_doctors() {\r\n this.AppoinmentserviceService.get_doctors()\r\n .subscribe((data) => {\r\n this.doctors = data\r\n console.log(this.doctors)\r\n })\r\n }\r\n\r\n get_complaint() {\r\n this.AppoinmentserviceService.get_complaint()\r\n .subscribe((data) => {\r\n console.log('com')\r\n this.complaint = data\r\n console.log(this.complaints)\r\n })\r\n }\r\n // Get_All_Medication() {\r\n // this.AppoinmentserviceService.Get_All_Medication()\r\n // .subscribe((data) => {\r\n // console.log('com')\r\n // this.complaint = data\r\n // console.log(this.complaint)\r\n // })\r\n // }\r\n get_diseases() {\r\n this.AppoinmentserviceService.get_diseases()\r\n .subscribe((data) => {\r\n this.diseases = data\r\n console.log('dis')\r\n console.log(this.diseases)\r\n })\r\n }\r\n\r\n // get_symptoms() {\r\n // this.AppoinmentserviceService.get_symptoms()\r\n // .subscribe((data) => {\r\n // this.symptoms = data\r\n // console.log('sys')\r\n // console.log(this.symptoms)\r\n // })\r\n // }\r\n \r\n Get_All_Medication() {\r\n this.AppoinmentserviceService.Get_All_Medication()\r\n .subscribe((data) => {\r\n console.log('com')\r\n this.underMedication_DTL = data\r\n console.log(this.underMedication_DTL)\r\n })\r\n }\r\n\r\n get_Allergy() {\r\n this.AppoinmentserviceService.get_allergy()\r\n .subscribe((data) => {\r\n this.allergy = data\r\n })\r\n }\r\n\r\n get_Discipline() {\r\n this.AppoinmentserviceService.get_Discipline()\r\n .subscribe((data) => {\r\n this.ClinicalDiscipline = data\r\n console.log(this.ClinicalDiscipline)\r\n })\r\n }\r\n\r\n get_doctordd() {\r\n this.AppoinmentserviceService.get_doctordd()\r\n .subscribe((data) => {\r\n this.doctordd = data\r\n console.log(this.doctordd)\r\n })\r\n }\r\n\r\n showdoctr() {\r\n const dialogRef = this.dialog.open(ShowdoctorComponent,\r\n {\r\n height: '65%',\r\n width: '65%',\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n if (result != undefined) {\r\n this.test = result.dO_Name;\r\n this.appoinmentForm.controls['Appt_DO_Id_FK'].setValue(result.dO_Id);\r\n }\r\n // setTimeout(() => {\r\n // window.location.reload();\r\n // }, 2000);\r\n });\r\n }\r\n\r\n showhosptl() {\r\n const dialogRef = this.dialog.open(ShowhospitalComponent,\r\n {\r\n height: '65%',\r\n width: '65%',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n if (result != undefined) {\r\n this.test = result.dO_Name;\r\n this.appoinmentForm.controls['Appt_DO_Id_FK'].setValue(result.dO_Id);\r\n }\r\n // setTimeout(() => {\r\n // window.location.reload();\r\n // }, 2000);\r\n });\r\n }\r\n\r\n\r\n doctor() {\r\n if (!this.appoinmentForm.valid) {\r\n // Mark all form controls as touched to trigger the validation errors\r\n this.markAllFieldsAsTouched(this.appoinmentForm);\r\n \r\n }\r\n \r\n \r\n const dialogRef = this.dialog.open(DialogdoctorComponent,\r\n {\r\n height: '45%',\r\n width: '55%',\r\n data:this.appoinmentForm.value,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n // setTimeout(() => {\r\n // window.location.reload();\r\n // }, 2000);\r\n });\r\n \r\n \r\n\r\n}\r\n markAllFieldsAsTouched(formGroup: FormGroup) {\r\n Object.values(formGroup.controls).forEach(control => {\r\n control.markAsTouched();\r\n if (control instanceof FormGroup) {\r\n this.markAllFieldsAsTouched(control);\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppoinmentserviceService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n get_doctors() {\r\n return this.http.get(`${environment.API_Base_URL}` + `Doctor/GetAllDoctor`)\r\n }\r\n\r\n get_complaint() {\r\n return this.http.get(`${environment.API_Base_URL}` + `ComplaintMst/GetComplaintMst_DD`)\r\n }\r\n\r\n get_diseases() {\r\n return this.http.get(`${environment.API_Base_URL}` + `Diseases/GetDiseases_DD`)\r\n }\r\n \r\n get_allergy() {\r\n return this.http.get(`${environment.API_Base_URL}` + `AllergySigns/GetAllergySigns_DD`)\r\n }\r\n\r\n get_symptoms() {\r\n return this.http.get(`${environment.API_Base_URL}` + `SymptomsMst/GetSymptomsMst_DD`)\r\n }\r\n get_symptomsbyid(id: any) {\r\n return this.http.get(`${environment.API_Base_URL}` + `SymptomsMst/GetSymptomsMstById?Id=${id}`)\r\n }\r\n\r\n\r\n Post_appoinment(data) {\r\n return this.http.post(`${environment.API_Base_URL}` + `Appointment/Self/InsertAppointment`, data)\r\n }\r\n\r\n get_Discipline() {\r\n return this.http.get(`${environment.API_Base_URL}` + `Discipline/GetDiscipline_DD`)\r\n } \r\n\r\n get_doctordd(){\r\n return this.http.get(`${environment.API_Base_URL}` + `Doctor/Doctor_DD`)\r\n }\r\n get_doctorbyhospitalId(HospitalId) {\r\n return this.http.get(`${environment.API_Base_URL}` + `Doctor/Self/GetDoctorByHospitalId?HospitalId=${HospitalId}`)\r\n }\r\n\r\n get_appoinment(){\r\n return this.http.get(`${environment.API_Base_URL}` + `Appointment/Self/GetAppointmentById`)\r\n }\r\n Get_All_Medication(){\r\n return this.http.get(`${environment.API_Base_URL}` + `Medication/GetAllMedication`)\r\n }\r\n Update_appoinment(data){\r\n return this.http.put(`${environment.API_Base_URL}` + 'Appointment/Self/UpdateAppointment',data)\r\n } \r\n\r\n get_appoinbyId(data){\r\n return this.http.get(`${environment.API_Base_URL}` + `Appointment/Self/GetAppointmentById?Appt_Id=${data}`)\r\n }\r\n\r\n Get_Allergy(){\r\n return this.http.get(`${environment.API_Base_URL}`+`AllergySigns/GetAllergySigns_DD`)\r\n }\r\n\r\n GetDoctorList_BasedonSchedule(select_date: any, select_FrmTime, select_toTime, Sp_Id,Hos_Id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `Appointment/GetDoctorDD?Select_day=${select_date}&Select_FrmTime=${select_FrmTime}&Select_toTime=${select_toTime}&Sp_Id=${Sp_Id}&Hos_Id=${Hos_Id}`)\r\n }\r\n\r\n Get_HospitalDD() {\r\n return this.http.get(`${environment.API_Base_URL}` + `Hospital/Admin/GetHospital_DD`)\r\n }\r\n get_patientlogo(PR_Id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `Hospital/GetPatApptHosp_Logo?PR_Id=${PR_Id}`)\r\n }\r\n Get_Userprofile(){\r\n return this.http.get(`${environment.API_Base_URL}`+`User/GetPatientProfile`)\r\n }\r\n Get_specialization() {\r\n return this.http.get(`${environment.API_Base_URL}` + `SpecilistDoctor/GetSpecilistDoctor_DD`)\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { AddAppoinmentsComponent } from '../add-appoinments/add-appoinments.component';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { AppoinmentserviceService } from '../add-appoinments/appoinmentservice.service';\r\nimport { ServiceService } from '../service.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogContentExample2Component } from '../dialog-content-example2/dialog-content-example2.component';\r\nimport { DialogContentExample3cancelComponent } from '../dialog-content-example3cancel/dialog-content-example3cancel.component';\r\nimport { ArRescheduleComponent } from './ar-reschedule/ar-reschedule.component';\r\n\r\n@Component({\r\n selector: 'app-appoinments',\r\n templateUrl: './appoinments.component.html',\r\n styleUrls: ['./appoinments.component.scss']\r\n})\r\nexport class AppoinmentsComponent implements OnInit {\r\n apptmts: any = [];\r\n patientid = [{}];\r\n searchDoctor: string = '';\r\n constructor(private service: ServiceService, public dialog: MatDialog,private router: Router) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.get()\r\n }\r\n\r\n edit(id:number){\r\n this.router.navigate(['/base/patient/edit-appoinment/' + id ]);\r\n }\r\n\r\n\r\n get() {\r\n this.service.Get_Appointmentall()\r\n .subscribe(data => {\r\n console.log('appoin view' , data)\r\n this.apptmts = data\r\n })\r\n }\r\n view(d: any) {\r\n const dialogRef = this.dialog.open(DialogContentExample2Component,\r\n {\r\n height: '85%',\r\n width: '65%',\r\n data: { d }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n // setTimeout(() => {\r\n // window.location.reload();\r\n // }, 2000);\r\n });\r\n }\r\n\r\n reschedule(d: any) {\r\n const dialogRef = this.dialog.open(ArRescheduleComponent, {\r\n width: \"100%\",\r\n maxWidth: \"400px\",\r\n height: \"auto\",\r\n hasBackdrop: true,\r\n maxHeight: \"700px\",\r\n data: { d }\r\n });\r\n\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n setTimeout(() => {\r\n // window.location.reload();\r\n }, 2000);\r\n });\r\n }\r\n\r\n delete(d: any) {\r\n const dialogRef = this.dialog.open(DialogContentExample3cancelComponent, {\r\n width: \"100%\",\r\n maxWidth: \"400px\",\r\n height: \"auto\",\r\n hasBackdrop: true,\r\n maxHeight: \"700px\",\r\n data: { d }\r\n });\r\n\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n setTimeout(() => {\r\n // window.location.reload();\r\n }, 2000);\r\n });\r\n }\r\n\r\n applySearch() {\r\n const searchValue = this.searchDoctor.toLowerCase().trim();\r\n if (!searchValue) {\r\n // If search input is empty, reset the data\r\n this.get();\r\n return;\r\n }\r\n\r\n // Filter appointments based on doctor's name\r\n this.apptmts = this.apptmts.filter(apptmt => {\r\n return (\r\n apptmt.appt_DO_Name.toLowerCase().includes(searchValue)\r\n );\r\n });\r\n }\r\n\r\n // delete(d:any) {\r\n // const dialogRef = this.dialog.open(DeleteCountryComponent,\r\n // {\r\n // width: \"100%\",\r\n // maxWidth: \"400px\",\r\n // height: \"auto\",\r\n // hasBackdrop: true,\r\n // maxHeight: \"700px\",\r\n // data: {d}\r\n // });\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // console.log(`Dialog result: ${result}`);\r\n // setTimeout(() => {\r\n // window.location.reload();\r\n // }, 2000);\r\n\r\n // });\r\n // }\r\n}\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { Notification } from 'src/app/core/Notifications/Notification';\nimport { ServiceService } from '../../service.service';\n\n@Component({\n selector: 'app-ar-reschedule',\n templateUrl: './ar-reschedule.component.html',\n styleUrls: ['./ar-reschedule.component.scss']\n})\nexport class ArRescheduleComponent implements OnInit {\n select_date: any;\n select_FrmTime: any;\n select_toTime: any;\n\n constructor(@Inject(MAT_DIALOG_DATA) private _data: any, private service:ServiceService, private notif:Notification) {\n this.select_date = this._data.d.select_date;\n this.select_FrmTime= this._data.d.select_FrmTime;\n this.select_toTime= this._data.d.select_toTime;\n }\n\n \n ngOnInit(): void {\n\n }\n\n accept(){\n var acceptData = {\n \"appt_Id\": this._data.d.appt_Id,\n \"patient_id\": this._data.d.appt_PatientId_FK\n }\n this.service.accept(acceptData)\n // .subscribe((res)=>{\n // this.notif.successmsg(\"Reschedule Accepted\")\n // },(error)=>{\n // this.notif.errorsmsg(error)\n // })\n .subscribe({\n next: (res) => {\n this.notif.successmsg(\"Reschedule Accepted\");\n window.location.reload();\n },\n error: (error) => {\n this.notif.errorsmsg('An error occurred while accepting.');\n console.error('Error:', error);\n }\n });\n }\n\n reject(){\n var rejectData = {\n \"appt_Id\": this._data.d.appt_Id,\n \"phc_Appt_Id\": this._data.d.phc_Appt_Id\n }\n this.service.reject(rejectData)\n .subscribe({\n next: (res) => {\n this.notif.successmsg(\"Reschedule Rejected\");\n window.location.reload();\n },\n error: (error) => {\n this.notif.errorsmsg('An error occurred while accepting.');\n console.error('Error:', error);\n }\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-articles',\r\n templateUrl: './articles.component.html',\r\n styleUrls: ['./articles.component.scss']\r\n})\r\nexport class ArticlesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConsultationViewComponent } from './consultation-view/consultation-view.component';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TooltipPosition } from '@angular/material/tooltip';\r\nimport { ConsultationHistoryService } from './consultation-history.service';\r\n\r\n@Component({\r\n selector: 'app-consultation-history',\r\n templateUrl: './consultation-history.component.html',\r\n styleUrls: ['./consultation-history.component.scss']\r\n})\r\nexport class ConsultationHistoryComponent implements OnInit {\r\n\r\n data: any;\r\n dtOptions = {};\r\n addhid: boolean = false;\r\n viewhid: boolean = false;\r\n edithid: boolean = false;\r\n deletehid: boolean = false;\r\n approveid: boolean = false;\r\n TooltipPosition:TooltipPosition[] = ['above'];\r\n constructor(public dialog: MatDialog,private http:HttpClient, private service:ConsultationHistoryService) { }\r\n \r\n ngOnInit(): void {\r\n this.GetConsultationHistory();\r\n this.dtOptions = {\r\n dom: 'lBfrtip',\r\n lengthMenu: [[5, 10, 20, -1], [5, 10, 20, \"All\"]],\r\n scroll: \"250px\",\r\n select: true,\r\n buttons: [\r\n {\r\n extend: 'collection',\r\n className:'btn-primary',\r\n text: 'Export',\r\n buttons: [\r\n {extend:'copy',className:'btn-primary'},\r\n {extend:'csv',className:'btn-primary'},\r\n {extend:'excel',className:'btn-primary'},\r\n {extend:'pdf',className:'btn-primary'},\r\n {extend:'print',className:'btn-primary'},\r\n ] \r\n },\r\n {extend:'colvis',\r\n className:'btn-primary',\r\n text:'Column Visibility',\r\n },\r\n ],\r\n }\r\n }\r\n GetConsultationHistory(){\r\n this.service.GetConsultationHistory().subscribe((data:any)=>{\r\n this.data=data;\r\n //console.log('Data',data)\r\n \r\n })\r\n }\r\n view(d:any) {\r\n const dialogRef = this.dialog.open(ConsultationViewComponent,\r\n {\r\n height: '100%',\r\n width: '100%',\r\n data: {d}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n \r\n });\r\n }\r\n \r\n }\r\n \r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConsultationHistoryService {\r\n\r\n constructor(private http: HttpClient) { }\r\n GetConsultationHistory(){\r\n return this.http.get(`${environment.API_Base_URL}`+`Consultation/Self/GetConsHistoryById`)\r\n }\r\n Get_diagnosisbyid(id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `Consult_diag/GetById_Consult_diag?Conslt_id=${id}`)\r\n }\r\n Get_drugpresby_id(id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `Drug_Prescription/GetById_Drug_Prescription?Cons_Id=${id}`)\r\n }\r\n get_labtestbyid(id){\r\n return this.http.get(`${environment.API_Base_URL}` + `Consultation/GetAllLabtestbyId?CON_Id=${id}`)\r\n }\r\n Get_dietbyid(id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `DietPlan/GetDietPlanById?Id=${id}`)\r\n }\r\n Get_referralby_id(data){\r\n return this.http.get(`${environment.API_Base_URL}` + `Referrals/GetReferralsByCON_Id?CON_Id=${data}`)\r\n }\r\n Get_revistby_id(data){\r\n return this.http.get(`${environment.API_Base_URL}` + `ReVisit/GetReVisitByCON_Id?CON_Id=${data}`)\r\n }\r\n Get_documentdetail_patientid(id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `PatientDocument/GetPatientDocumentByPatientId/` + id);\r\n }\r\n Get_Consultation_id(consult_id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `Consultation/Admin/GetConsultationById?CON_Id=${consult_id}`)\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { TooltipPosition } from '@angular/material/tooltip';\r\nimport { ActivatedRoute, Params } from '@angular/router';\r\nimport { Notification } from 'src/app/core/Notifications/Notification';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ConsultationHistoryService } from '../consultation-history.service';\r\n\r\n@Component({\r\n selector: 'app-consultation-view',\r\n templateUrl: './consultation-view.component.html',\r\n styleUrls: ['./consultation-view.component.scss']\r\n})\r\nexport class ConsultationViewComponent implements OnInit {\r\n viewhid: boolean = false;\r\n data: any;\r\n TooltipPosition: TooltipPosition[] = ['above'];\r\n coN_Id: any;\r\n revisit: any;\r\n CON_Id: any;\r\n constructor(private fb: FormBuilder, private notif: Notification, public dialog: MatDialog, @Inject(MAT_DIALOG_DATA) private _data: any, private service: ConsultationHistoryService, private route: ActivatedRoute) { }\r\n package_desc1 = true;\r\n package_desc2 = true;\r\n package_desc3 = true;\r\n package_desc4 = true;\r\n package_desc5 = true;\r\n package_desc6 = true;\r\n package_desc7 = true;\r\n ngOnInit(): void {\r\n this.Get_Consultation_id();\r\n this.Get_diagbyid();\r\n this.Get_drugpresbyid();\r\n this.get_labtestbyid();\r\n this.Get_dietbyid();\r\n this.Get_refarelbyid();\r\n this.get_document();\r\n this.data = this._data.d;\r\n let id = +this.route.snapshot.params['id'];\r\n this.route.params.subscribe((params: Params) => {\r\n id = +params['id'];\r\n this.coN_Id = id;\r\n // console.log(\"Grid data:\",JSON.stringify(this._data.d))\r\n });\r\n this.Get_revisitbyid();\r\n }\r\n\r\n documentdetails: any;\r\n Image_Url: any;\r\n \r\n get_document() {\r\n this.service.Get_documentdetail_patientid(this._data.d.coN_PR_Id_FK)\r\n .subscribe((res) => {\r\n this.documentdetails = res\r\n this.Image_Url = environment.Image_Url + 'PatientDocuments';\r\n })\r\n }\r\n Get_Consultation_id() {\r\n this.service.Get_Consultation_id(this._data.d.coN_Id)\r\n .subscribe((data) => {\r\n this.data = data\r\n console.log(\"Consultation Details:\", JSON.stringify(this.data))\r\n // if (this.data.serviceCode == 'PK0001') {\r\n // this.package_desc1 = false\r\n // }\r\n // else if (this.data.serviceCode == 'PK0002') {\r\n // this.package_desc1 = false\r\n // this.package_desc2 = false\r\n // }\r\n // else if (this.data.serviceCode == 'PK0003') {\r\n // this.package_desc1 = false\r\n // this.package_desc2 = false\r\n // this.package_desc3 = false\r\n // }\r\n // else if (this.data.serviceCode == 'PK0004') {\r\n // this.package_desc1 = false\r\n // this.package_desc2 = false\r\n // this.package_desc3 = false\r\n // this.package_desc4 = false\r\n // }\r\n // else if (this.data.serviceCode == 'PK0005') {\r\n // this.package_desc1 = false\r\n // this.package_desc2 = false\r\n // this.package_desc3 = false\r\n // this.package_desc4 = false\r\n // this.package_desc5 = false\r\n // }\r\n // else if (this.data.serviceCode == 'PK0006') {\r\n // this.package_desc1 = false\r\n // this.package_desc2 = false\r\n // this.package_desc3 = false\r\n // this.package_desc4 = false\r\n // this.package_desc5 = false\r\n // this.package_desc6 = false\r\n // }\r\n // else {\r\n // this.notif.errorsmsg('No Vitals Found')\r\n // }\r\n })\r\n }\r\n\r\n data1: any;\r\n Get_diagbyid() {\r\n this.service.Get_diagnosisbyid(this._data.d.coN_Id)\r\n .subscribe((data) => {\r\n this.data1 = data\r\n });\r\n }\r\n\r\n data2: any;\r\n Get_drugpresbyid() {\r\n this.service.Get_drugpresby_id(this._data.d.coN_Id)\r\n .subscribe((data) => {\r\n this.data2 = data\r\n });\r\n }\r\n\r\n data3: any;\r\n get_labtestbyid() {\r\n this.service.get_labtestbyid(this._data.d.coN_Id)\r\n .subscribe((data) => {\r\n this.data3 = data\r\n });\r\n }\r\n data4: any;\r\n Get_dietbyid() {\r\n this.service.Get_dietbyid(this._data.d.coN_Id)\r\n .subscribe((data) => {\r\n this.data4 = data\r\n });\r\n }\r\n\r\n data5: any;\r\n Get_refarelbyid() {\r\n this.service.Get_referralby_id(this._data.d.coN_Id)\r\n .subscribe((data) => {\r\n this.data5 = data\r\n });\r\n }\r\n data6: any;\r\n Get_revisitbyid() {\r\n this.service.Get_revistby_id(this._data.d.coN_Id)\r\n .subscribe((data) => {\r\n this.data6 = data\r\n });\r\n }\r\n\r\n calculateBMI(): string {\r\n if (this.data.coN_Height && this.data.coN_Weight) {\r\n // Convert height from cm to meters (1 cm = 0.01 m)\r\n const heightInMeters = this.data.coN_Height / 100;\r\n\r\n // Calculate BMI\r\n const bmi = this.data.coN_Weight / (heightInMeters * heightInMeters);\r\n\r\n // Format BMI to display in metric square\r\n return bmi.toFixed(2) + ' kg/m²';\r\n }\r\n // Return an empty string or an appropriate message if height or weight is missing.\r\n return 'N/A';\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ServiceService } from '../service.service';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-consultation',\r\n templateUrl: './consultation.component.html',\r\n styleUrls: ['./consultation.component.scss']\r\n})\r\nexport class ConsultationComponent implements OnInit {\r\n cons_data:any;\r\n coN_PR_Id_FK=[{}]\r\n servchargedata:any;\r\n pat_id:any;\r\n firstName:any;\r\n emailId:any;\r\n phoneNumber:any;\r\n result:any;\r\n // token:any;\r\n searchDoctor: string = '';\r\n paymentLandingUrl: string;\r\n isNormal: boolean = true;\r\n spec_data: any;\r\n resultPayData: any;\r\n constructor(private router:Router,private service:ServiceService) { }\r\n\r\n ngOnInit(): void {\r\n this.pat_id=localStorage.getItem('Id');\r\n this.firstName=localStorage.getItem('firstName');\r\n this.emailId=localStorage.getItem('emailId');\r\n this.phoneNumber=localStorage.getItem('phoneNumber');\r\n // this.token=localStorage.getItem('access_token');\r\n this.paymentLandingUrl = environment.pay_landing_url;\r\n this.get_consultationdetails();\r\n \r\n }\r\n\r\n get_consultationdetails(){\r\n this.service.Get_consultant_byId().subscribe(data=>{ \r\n //console.log('consulation data :' ,JSON.stringify(data))\r\n this.cons_data=data\r\n \r\n })\r\n }\r\n\r\n get_specialistdetails(){\r\n this.service.get_specialistdetails().subscribe(data=>{ \r\n //console.log('consulation data :' ,JSON.stringify(data))\r\n this.spec_data=data\r\n \r\n })\r\n }\r\n\r\n toggleButtonText() {\r\n this.isNormal = !this.isNormal;\r\n if (this.isNormal) {\r\n this.get_consultationdetails();\r\n } else {\r\n this.get_specialistdetails();\r\n }\r\n }\r\n\r\n PayNowSpec(cons_id_fk, csP_DO_Id_FK,csP_PR_Id_FK): void {\r\n const paydata = {\r\n cons_id: cons_id_fk,\r\n pr_id: csP_PR_Id_FK,\r\n do_id: csP_DO_Id_FK,\r\n payment_from: \"PORTAL SPECIALIST\",\r\n };\r\n\r\n this.service.ProcessRequestOrder_Spec(paydata).subscribe(\r\n (res) => {\r\n console.log('Complete Response:', res); // Inspect the full response here\r\n \r\n if (res) {\r\n // Try accessing transaction_id\r\n this.resultPayData = res;\r\n \r\n console.log('Transaction ID:', this.resultPayData.transaction_id);\r\n if (this.resultPayData.transaction_id) {\r\n console.log('Transaction ID exists:', this.resultPayData.transaction_id);\r\n \r\n this.router.navigate(['/base/patient/payment-form/' + this.resultPayData.transaction_id]);\r\n \r\n } else {\r\n console.log('Transaction ID is undefined or null');\r\n }\r\n } else {\r\n console.log('Response is undefined or null');\r\n }\r\n },\r\n (error) => {\r\n console.error('Error:', error);\r\n }\r\n );\r\n\r\n // const url = this.constructPaymentUrlSpec(paydata);\r\n // window.open(url, \"_blank\");\r\n }\r\n \r\n // constructPaymentUrlSpec(paydata: any): string {\r\n // console.log(\"landing url :\" +this.paymentLandingUrl);\r\n // const baseUrl = this.paymentLandingUrl;\r\n // debugger\r\n // const queryParams = new URLSearchParams({\r\n // cons_id: paydata.cons_id,\r\n // pr_id: paydata.pr_id,\r\n // do_id: paydata.do_id,\r\n // url: 'specialist'\r\n // });\r\n\r\n // return `${baseUrl}?${queryParams.toString()}`;\r\n // }\r\n \r\n\r\n \r\n\r\n // PayNow(cons_id, doc_id,pr_id,charges){\r\n // var paydata={\r\n // consulation_id:cons_id,\r\n // doctor_id: doc_id,\r\n // patient_id:pr_id,\r\n // name: this.firstName,\r\n // email:this.emailId,\r\n // phone: this.phoneNumber, \r\n // amount: parseInt(charges)\r\n // } \r\n // console.log('pay data :', JSON.stringify(paydata)) \r\n // this.service.CreatePaymentRequest(paydata)\r\n // .subscribe((data) => {\r\n // this.result=data; \r\n // console.log(\"payment url: \" +JSON.stringify(this.result)); \r\n // this.openPayLink(this.result.value) \r\n \r\n // }, (error) => {\r\n // alert(error.error.errorMessage)\r\n \r\n // }); \r\n\r\n\r\n // }\r\n\r\n\r\n PayNow(cons_id, doc_id,pr_id,charges): void {\r\n const paydata = {\r\n cons_id: cons_id,\r\n pr_id: pr_id,\r\n do_id: doc_id,\r\n payment_from: \"PORTAL NORMAL\",\r\n };\r\n\r\n // const url = this.constructPaymentUrl(paydata);\r\n // window.open(url, \"_blank\");\r\n this.service.ProcessRequestOrder(paydata).subscribe(\r\n (res) => {\r\n console.log('Complete Response:', res); // Inspect the full response here\r\n \r\n if (res) {\r\n // Try accessing transaction_id\r\n this.resultPayData = res;\r\n \r\n console.log('Transaction ID:', this.resultPayData.transaction_id);\r\n if (this.resultPayData.transaction_id) {\r\n console.log('Transaction ID exists:', this.resultPayData.transaction_id);\r\n \r\n this.router.navigate(['/base/patient/payment-form/' + this.resultPayData.transaction_id]);\r\n \r\n } else {\r\n console.log('Transaction ID is undefined or null');\r\n }\r\n } else {\r\n console.log('Response is undefined or null');\r\n }\r\n },\r\n (error) => {\r\n console.error('Error:', error);\r\n }\r\n );\r\n }\r\n \r\n // constructPaymentUrl(paydata: any): string {\r\n // console.log(\"landing url :\" +this.paymentLandingUrl);\r\n // const baseUrl = this.paymentLandingUrl;\r\n // debugger\r\n // const queryParams = new URLSearchParams({\r\n // cons_id: paydata.cons_id,\r\n // pr_id: paydata.pr_id,\r\n // do_id: paydata.do_id,\r\n // // url: 'hospitalpvt'\r\n // url: 'demo'\r\n // });\r\n\r\n // return `${baseUrl}?${queryParams.toString()}`;\r\n // }\r\n \r\n\r\n // openPayLink(url: string){\r\n // window.open(url, \"_blank\");\r\n // }\r\n applySearch() {\r\n const searchValue = this.searchDoctor.toLowerCase().trim();\r\n if (!searchValue) {\r\n // If search input is empty, reset the data\r\n this.get_consultationdetails();\r\n this.get_specialistdetails();\r\n return;\r\n }\r\n\r\n // Filter appointments based on doctor's name\r\n this.cons_data = this.cons_data.filter(consultant => {\r\n return (\r\n consultant.coN_DO_Name.toLowerCase().includes(searchValue)\r\n );\r\n });\r\n\r\n this.spec_data = this.spec_data.filter(consultant => {\r\n return (\r\n consultant.csP_DO_Name.toLowerCase().includes(searchValue)\r\n );\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dialog-content-example1',\r\n templateUrl: './dialog-content-example1.component.html',\r\n styleUrls: ['./dialog-content-example1.component.scss']\r\n})\r\nexport class DialogContentExample1Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit , Inject} from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ServiceService } from '../service.service';\r\n\r\n@Component({\r\n selector: 'app-dialog-content-example2',\r\n templateUrl: './dialog-content-example2.component.html',\r\n styleUrls: ['./dialog-content-example2.component.scss']\r\n})\r\nexport class DialogContentExample2Component implements OnInit {\r\n private App_ID: number;\r\n private Doctor_Name: string;\r\n // private cpT_Id: number;\r\n private Symptoms_Name: string;\r\n private Diseases_Name: string;\r\n private Select_Day: string;\r\n private From_Time: string;\r\n private To_Time: string;\r\n private Approved_Status:string\r\n apptmts : any =[];\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) private data: any,private service:ServiceService,) { \r\n this.App_ID=1\r\n this.Doctor_Name='API'\r\n // this.cpT_Id=0\r\n this.Symptoms_Name='fever'\r\n this.Diseases_Name='disease'\r\n this.Select_Day='Monday'\r\n this.From_Time='10:30 AM'\r\n this.To_Time='11:30 AM'\r\n this.Approved_Status='Approved'\r\n }\r\n\r\n ngOnInit(): void {\r\n console.log('test')\r\n console.log(this.data)\r\n // this.get()\r\n }\r\n\r\n // get(){\r\n // this.service.Get_Appointment_byId()\r\n // .subscribe(data=>{\r\n // console.log(data)\r\n // this.apptmts=data\r\n // })\r\n // }\r\n}\r\n","import { Component, OnInit ,Inject} from '@angular/core';\r\nimport { ServiceService } from '../service.service';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Notification } from 'src/app/core/Notifications/Notification';\r\n\r\n@Component({\r\n selector: 'app-dialog-content-example3cancel',\r\n templateUrl: './dialog-content-example3cancel.component.html',\r\n styleUrls: ['./dialog-content-example3cancel.component.scss']\r\n})\r\nexport class DialogContentExample3cancelComponent implements OnInit {\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) private _data: any, private service:ServiceService, private notif:Notification) { }\r\n\r\n \r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n delete(){\r\n this.service.Delete_appoin(this._data.d.appt_Id)\r\n .subscribe((res)=>{\r\n this.notif.successmsg(\"Appoinment Cancelled Successfully\")\r\n window.location.reload();\r\n },(error)=>{\r\n this.notif.errorsmsg(\"Appoinment Not Cancelled\")\r\n })\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ShowdoctorComponent } from '../showdoctor/showdoctor.component';\r\nimport { ShowhospitalComponent } from '../showhospital/showhospital.component';\r\nimport { AppoinmentserviceService } from '../add-appoinments/appoinmentservice.service';\r\nimport { Notification } from '../../../core/Notifications/Notification';\r\nimport { Router } from '@angular/router';\r\nimport { DialogContentExample1Component } from '../dialog-content-example1/dialog-content-example1.component';\r\n\r\n@Component({\r\n selector: 'app-dialogdoctor',\r\n templateUrl: './dialogdoctor.component.html',\r\n styleUrls: ['./dialogdoctor.component.scss']\r\n})\r\nexport class DialogdoctorComponent implements OnInit {\r\n test: any;\r\n doctordd: any;\r\n enable=true;\r\n enables=true;\r\n clinicalshow:boolean;\r\n hospitalshow:boolean;\r\n selected_doctor = 0;\r\n selected_hospital = 0;\r\n selected_hospital_doctor = 0;\r\n data: any;\r\n isDisabled=true;\r\n hospitaldd: any;\r\n testhosid: any;\r\n userData: any;\r\n photo: any;\r\n Sp_Id: number = 0;\r\n constructor(@Inject(MAT_DIALOG_DATA) private _data: any,public dialog: MatDialog,private AppoinmentserviceService: AppoinmentserviceService,\r\n private notify: Notification,private router: Router,) { \r\n \r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n console.log('data', this._data)\r\n //this.get_doctordd();\r\n this.Get_Userprofile();\r\n this.Get_specialization();\r\n }\r\n\r\n\r\n showdoctr() {\r\n this.selected_hospital_doctor = 0;\r\n this.selected_hospital = 0; // Reset selected hospital\r\n this.doctordd = [];\r\n this.enable=false;\r\n this.enables = true;\r\n // this.GetDoctorList_BasedonSchedule();\r\n \r\n }\r\n \r\n showhosptl() {\r\n this.enable=true;\r\n this.enables = false;\r\n this.get_hospitaldd();\r\n this.selected_doctor = 0; // Reset selected doctor\r\n this.doctordd = [];\r\n // this.hospitalshow=true;\r\n // const dialogRef = this.dialog.open(ShowhospitalComponent,\r\n // {\r\n // height: '65%',\r\n // width: '65%',\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // console.log(`Dialog result: ${result}`);\r\n // // if (result != undefined) {\r\n // // this.test = result.dO_Name;\r\n // // this.appoinmentForm.controls['Appt_DO_Id_FK'].setValue(result.dO_Id);\r\n // // }\r\n // // setTimeout(() => {\r\n // // window.location.reload();\r\n // // }, 2000);\r\n // });\r\n }\r\n // DoctorDD(data) {\r\n // console.log(data)\r\n // this.testhosid = data\r\n // this.get_doctordd(data);\r\n // // this.GetDoctorList_BasedonSchedule();\r\n // }\r\n\r\n get_doctordd(HospitalId) {\r\n this.AppoinmentserviceService.get_doctorbyhospitalId(HospitalId)\r\n .subscribe((data) => {\r\n this.doctordd = data\r\n console.log(this.doctordd)\r\n })\r\n }\r\n\r\n GetDoctorList_BasedonSchedule(HospitalId: number, SpecializationId: number) {\r\n console.log('Test', this.testhosid);\r\n this.AppoinmentserviceService.GetDoctorList_BasedonSchedule(this._data.select_day, this._data.select_FrmTime, this._data.select_toTime,SpecializationId,HospitalId)\r\n .subscribe((data) => {\r\n this.doctordd = data\r\n console.log(this.doctordd)\r\n })\r\n }\r\n\r\n onSpecializationChange(SpecializationId: number) {\r\n if (this.selected_hospital !== 0) {\r\n this.GetDoctorList_BasedonSchedule(this.selected_hospital, SpecializationId);\r\n }\r\n this.selected_hospital_doctor=null;\r\n this.doctordd = [];\r\n }\r\n\r\n Get_Userprofile(){\r\n this.AppoinmentserviceService.Get_Userprofile()\r\n .subscribe((data) => {\r\n this.userData = data\r\n })\r\n }\r\n special: any;\r\n Get_specialization() {\r\n this.AppoinmentserviceService.Get_specialization()\r\n .subscribe((data) => {\r\n this.special = data\r\n })\r\n }\r\n\r\n onHospitalChange(){\r\n this.Sp_Id = null;\r\n this.selected_hospital_doctor=null;\r\n this.doctordd = [];\r\n }\r\n\r\n saveForm() {\r\n if (this.selected_doctor == 0 && this.selected_hospital == 0 && this.selected_hospital_doctor == 0) {\r\n // If both doctor and hospital are not selected, show an error message\r\n this.notify.errorsmsg(\"Please select Clinic Doctor or Hospital.\");\r\n return;\r\n } \r\n \r\n // if (this.selected_hospital_doctor !== 0) {\r\n // this._data.Appt_DO_Id_FK = this.selected_hospital_doctor;\r\n // } else {\r\n // this._data.Appt_DO_Id_FK = this.selected_doctor;\r\n // }\r\n this._data.Appt_DO_Id_FK = this.selected_hospital_doctor;\r\n this._data.Appt_Hos_Id_FK = this.selected_hospital;\r\n // this._data.Sp_Id = this.Sp_Id; \r\n \r\n console.log('appointment data :', this._data);\r\n this.AppoinmentserviceService.Post_appoinment(this._data)\r\n .subscribe(\r\n (data: any) => {\r\n this._data = data;\r\n this.get_patientlogo(this.userData.Id)\r\n this.openDialog();\r\n console.log(\"xxyyxxx:\",this.userData.Id);\r\n this.router.navigate([\"/base/patient/Appoinment\"]);\r\n this.notify.successmsg(\"Appointment fixed Successfully.\");\r\n \r\n },\r\n (error: any) => {\r\n this.notify.errorsmsg(\"An error occurred while fixing the appointment.\");\r\n console.error(error);\r\n }\r\n );\r\n }\r\n\r\n openDialog() {\r\n const dialogRef = this.dialog.open(DialogContentExample1Component);\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n window.location.reload();\r\n window.location.reload();\r\n });\r\n }\r\n \r\n get_hospitaldd() {\r\n this.AppoinmentserviceService.Get_HospitalDD()\r\n .subscribe((data) => {\r\n this.hospitaldd = data\r\n })\r\n }\r\n get_patientlogo(data:any){\r\n this.AppoinmentserviceService.get_patientlogo(data)\r\n .subscribe((data) => {\r\n this.photo = data\r\n })\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SuggestDietplanComponent } from './suggest-dietplan/suggest-dietplan.component';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DietplanInfoService } from './dietplan-info.service';\r\nimport { TooltipPosition } from '@angular/material/tooltip';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Notification } from 'src/app/core/Notifications/Notification';\r\n\r\n@Component({\r\n selector: 'app-dietplan-info',\r\n templateUrl: './dietplan-info.component.html',\r\n styleUrls: ['./dietplan-info.component.scss']\r\n})\r\nexport class DietplanInfoComponent implements OnInit {\r\n Dietplansuggest: FormGroup;\r\n dtOptions = {};\r\n mainData: any;\r\n data: any;\r\n id: any;\r\n TooltipPosition: TooltipPosition[] = ['above'];\r\n constructor(private service: DietplanInfoService, private fb: FormBuilder, private route: ActivatedRoute, private notif: Notification, public dialog: MatDialog) {\r\n this.Dietplansuggest = this.fb.group({\r\n 'dp_Id': [''],\r\n 'dp_intake': [''],\r\n 'dp_duration': [''],\r\n 'dp_dura_interof': [''],\r\n 'dp_instruction': [''],\r\n 'status_name': [''],\r\n 'dP_CON_Id_FK': [this.route.snapshot.params['id']],\r\n })\r\n }\r\n view(d: any) {\r\n const dialogRef = this.dialog.open(SuggestDietplanComponent,\r\n {\r\n height: '100%',\r\n width: '100%',\r\n data: { d },\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.dtOptions = {\r\n dom: 'lBfrtip',\r\n lengthMenu: [[5, 10, 20, -1], [5, 10, 20, \"All\"]],\r\n scroll: \"250px\",\r\n select: true,\r\n buttons: [\r\n {\r\n extend: 'collection',\r\n className: 'btn-primary',\r\n text: 'Export',\r\n buttons: [\r\n { extend: 'copy', className: 'btn-primary' },\r\n { extend: 'csv', className: 'btn-primary' },\r\n { extend: 'excel', className: 'btn-primary' },\r\n { extend: 'pdf', className: 'btn-primary' },\r\n { extend: 'print', className: 'btn-primary' },\r\n ]\r\n },\r\n {\r\n extend: 'colvis',\r\n className: 'btn-primary',\r\n text: 'Column Visibility',\r\n },\r\n ],\r\n }\r\n this.getall_dietplan()\r\n }\r\n\r\n getall_dietplan() {\r\n this.service.getall_dietplan()\r\n .subscribe((data) => {\r\n this.mainData = data;\r\n })\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DietplanInfoService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getall_dietplan() {\r\n return this.http.get(`${environment.API_Base_URL}` + `DietPlan/GetAllDietPlan_Patient`)\r\n }\r\n GetbyId_dietplan(id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `DietPlan/GetByIdDietPlan_info?Cons_Id=${id}`)\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DietplanInfoService } from '../dietplan-info.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport pdfMake from 'pdfmake/build/pdfmake';\r\nimport pdfFonts from 'pdfmake/build/vfs_fonts';\r\npdfMake.vfs = pdfFonts.pdfMake.vfs;\r\nconst htmlToPdfmake = require(\"html-to-pdfmake\");\r\nimport html2canvas from 'html2canvas';\r\nimport jsPDF from 'jspdf';\r\n\r\n@Component({\r\n selector: 'app-suggest-dietplan',\r\n templateUrl: './suggest-dietplan.component.html',\r\n styleUrls: ['./suggest-dietplan.component.scss']\r\n})\r\nexport class SuggestDietplanComponent implements OnInit {\r\n do_reg_no: any;\r\n imageUrl2: any;\r\n mainData: any;\r\n childData: any;\r\n imageUrl: string;\r\n hospital_Name: any;\r\n hospital_Address: any;\r\n hos_village: any;\r\n taluk_name: any;\r\n district_name: any;\r\n state_name: any;\r\n postalcode: any;\r\n country_name: any;\r\n hospital_Email: any;\r\n hos_phoneNo: any;\r\n hos_url: any;\r\n coN_DO_Name: any;\r\n coN_PR_Name: any;\r\n coN_Date: any;\r\n coN_Id: any;\r\n //pr_Id: any;\r\n page_title: any;\r\n coN_PR_Id_FK: any;\r\n coN_PR_Age: any;\r\n coN_PR_Code: any;\r\n imageUrl3: any;\r\n /*\r\n @ViewChild('pdfTable') pdfTable!: ElementRef;\r\n public exportPDF() {\r\n const pdfTable = this.pdfTable.nativeElement;\r\n var html = htmlToPdfmake(pdfTable.innerHTML);\r\n const documentDefinition = { content: html };\r\n pdfMake.createPdf(documentDefinition).download(); \r\n \r\n }\r\n */\r\n\r\n // download() {\r\n // \tconst printContents = document.getElementById('print-section').innerHTML;\r\n // \tconst blob = new Blob([printContents], { type: 'text/html' });\r\n // \tconst url = URL.createObjectURL(blob);\r\n\r\n // \tconst a = document.createElement('a');\r\n // \ta.href = url;\r\n // \ta.download = \"Labtest-\" + this._data.d.coN_Id + \".html\"; // Specify the desired filename\r\n // \ta.click();\r\n // \t}\r\n\r\n download() {\r\n const element = document.getElementById('pdfTable');\r\n\r\n html2canvas(element, {\r\n scale: 2,\r\n }).then((canvas) => {\r\n const imgData = canvas.toDataURL('image/png');\r\n const doc = new jsPDF('p', 'mm', 'a4');\r\n const imgWidth = 190;\r\n const pageHeight = 295;\r\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\r\n let heightLeft = imgHeight;\r\n let position = 10;\r\n doc.addImage(imgData, 'PNG', position, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n doc.addPage();\r\n doc.addImage(imgData, 'PNG', 10, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n const Filename = \"Dietplan-\" + this._data.d.coN_Id + \".pdf\";\r\n doc.save(Filename);\r\n });\r\n }\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) private _data: any, private service: DietplanInfoService, private http: HttpClient) { }\r\n\r\n\r\n\r\n printThisPage() {\r\n window.print();\r\n }\r\n\r\n\r\n // \tngOnInit(): void {\r\n // \t this.service.GetConsult_LabTestById(this._data.d.coN_Id).subscribe((data:any)=>{\r\n // \t\t\tthis.mainData = data;\r\n // \t\t\tthis.childData = data[0].getalllabtest;\t\r\n // \t\t\tthis.imageUrl = this.mainData[0].hospital_Logo\r\n\r\n // \t})\r\n\r\n // }\r\n // }\r\n ngOnInit(): void {\r\n this.service.GetbyId_dietplan(this._data.d.coN_Id).subscribe((data: any) => {\r\n this.mainData = data;\r\n console.log('main data :' + JSON.stringify(this.mainData))\r\n this.hospital_Name = this.mainData[0].hospital_Name;\r\n this.hospital_Address = this.mainData[0].hospital_Address;\r\n this.hos_village = this.mainData[0].hos_village;\r\n this.taluk_name = this.mainData[0].taluk_name;\r\n this.district_name = this.mainData[0].district_name;\r\n this.state_name = this.mainData[0].state_name;\r\n this.postalcode = this.mainData[0].postalcode;\r\n this.country_name = this.mainData[0].country_name;\r\n this.hospital_Email = this.mainData[0].hospital_Email;\r\n this.hos_phoneNo = this.mainData[0].hos_phoneNo;\r\n this.hos_url = this.mainData[0].hos_url;\r\n this.coN_Id = this.mainData[0].coN_Id;\r\n this.coN_PR_Id_FK = this.mainData[0].coN_PR_Id_FK;\r\n this.coN_DO_Name = this.mainData[0].coN_DO_Name;\r\n this.coN_PR_Age = this.mainData[0].coN_PR_Age;\r\n this.coN_PR_Code = this.mainData[0].coN_PR_Code;\r\n this.coN_PR_Name = this.mainData[0].coN_PR_Name;\r\n this.coN_Date = this.mainData[0].coN_Date;\r\n this.childData = data[0].getalldietplanlist;\r\n this.imageUrl = this.mainData[0].hospital_Logo;\r\n this.do_reg_no = this.mainData[0].do_reg_no;\r\n this.imageUrl2 = this.mainData[0].do_signature;\r\n // this.imageUrl3 = this.mainData[0].hos_NetworkLogo;\r\n this.page_title = 'Dietplan' + '-' + 'ConsId' + this.coN_Id + '-' + 'PId' + this.coN_PR_Id_FK;;\r\n\r\n })\r\n }\r\n\r\n //${this.service_Id}\r\n\r\n printForm(): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById('print-section').innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=700,width=700');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n ${this.page_title} \r\n \r\n \r\n ${printContents}\r\n `\r\n );\r\n\r\n popupWin.document.close();\r\n }\r\n}\r\n\r\n","// import { Component, OnInit } from '@angular/core';\r\n\r\n// @Component({\r\n// selector: 'app-edit-appoinment',\r\n// templateUrl: './edit-appoinment.component.html',\r\n// styleUrls: ['./edit-appoinment.component.scss']\r\n// })\r\n// export class EditAppoinmentComponent implements OnInit {\r\n\r\n// constructor() { }\r\n\r\n// ngOnInit(): void {\r\n// }\r\n\r\n// }\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControlName } from '@angular/forms';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\n\r\nimport { ElementRef, ViewChild } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { AppoinmentserviceService } from '../add-appoinments/appoinmentservice.service';\r\nimport { Notification } from '../../../core/Notifications/Notification';\r\nimport { forEachRight, values } from 'lodash';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogContentExample1Component } from '../dialog-content-example1/dialog-content-example1.component';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { DatePipe } from '@angular/common';\r\nimport { ShowdoctorComponent } from '../showdoctor/showdoctor.component';\r\nimport { ShowhospitalComponent } from '../showhospital/showhospital.component';\r\nimport { EditdialogComponent } from './editdialog/editdialog.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-edit-appoinment',\r\n templateUrl: './edit-appoinment.component.html',\r\n styleUrls: ['./edit-appoinment.component.scss']\r\n})\r\nexport class EditAppoinmentComponent implements OnInit {\r\n doctors: any;\r\n complaint: any;\r\n diseases: any;\r\n symptoms: any;\r\n appoinmentForm: FormGroup;\r\n private json: any;\r\n private filterJson: any;\r\n i = 0;\r\n result: any;\r\n toppings: any;\r\n ClinicalDiscipline: any;\r\n appoinment: any;\r\n doctordd: any;\r\n complaintselected: any;\r\n symptomsselected: any;\r\n diseasesselected: any;\r\n allergy: any;\r\n allergysignsselected: any;\r\n patnt_id: any;\r\n testing = [{ smst_Id: 1, smst_Code: 'SYM1', smst_Name: 'Fever' }, { smst_Id: 2, smst_Code: 'SYM1', smst_Name: 'Fever' }]\r\n userTestStatus: { smst_Id: string, smst_Code: string, smst_Name: string }[];\r\n editappon: any = ['e'];\r\n appnget: any;\r\n Height: any;\r\n data: any;\r\n test: any;\r\n\r\n constructor(public dialog: MatDialog, private formBuilder: FormBuilder, private AppoinmentserviceService: AppoinmentserviceService, private router: Router,\r\n private notify: Notification, private route: ActivatedRoute,) {\r\n this.appoinmentForm = this.formBuilder.group({\r\n 'appt_Id':[''],\r\n 'symptoms': [''],\r\n 'diseasesDtl': [''],\r\n 'complaint': [''],\r\n 'allergySigns_DTL': [''],\r\n 'Weight': [''],\r\n 'Height': [''],\r\n 'select_day': [''],\r\n 'select_FrmTime': [''],\r\n 'select_toTime': [''],\r\n 'appt_DO_Id_FK': [''],\r\n 'Appt_DateTime': [''],\r\n 'appt_PatientId_FK':['']\r\n });\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n let id = +this.route.snapshot.params['id'];\r\n this.route.params.subscribe((params: Params) => {\r\n id = +params['id'];\r\n this.patnt_id = id;\r\n console.log('id' + this.patnt_id)\r\n });\r\n this.get_appoinbyid(this.patnt_id)\r\n\r\n // this.AppoinmentserviceService.get_appoinment()\r\n // .subscribe((data: any) => {\r\n // console.log('api')\r\n // console.log(data)\r\n // this.editappon = data;\r\n // this.appoinmentForm.controls['cD_Id'].setValue(data[0].cD_Id);\r\n // this.appoinmentForm.controls['cpT_MST_Id_FK'].setValue(data[0].cpT_MST_Id_FK);\r\n // this.appoinmentForm.controls['symptomslist'].setValue(data[0].symptoms);\r\n // this.appoinmentForm.controls['diseasesDtl'].setValue(data[0].diseasesDtl);\r\n // this.appoinmentForm.controls['weight'].setValue(data[0].appt_PA_Weight);\r\n // this.appoinmentForm.controls['height'].setValue(data[0].appt_PA_Height);\r\n // this.appoinmentForm.controls['select_date'].setValue(data[0].select_date);\r\n // this.appoinmentForm.controls['select_FrmTime'].setValue(data[0].select_FrmTime);\r\n // this.appoinmentForm.controls['select_toTime'].setValue(data[0].select_toTime);\r\n // this.appoinmentForm.controls['appt_DO_Id_FK'].setValue(data[0].appt_DO_Id_FK);\r\n // //this.appoinmentForm.controls['appt_Id'].setValue(data[0].appt_Id);\r\n // //this.appoinmentForm.value.symptomslist=data[0].symptomslist\r\n // console.log(data[0].symptomslist)\r\n\r\n // this.appoinmentForm.patchValue({\r\n // symptomslist: data[0].symptomslist[0].syM_MST_Id_FK,\r\n // });\r\n // console.log('test0')\r\n // console.log(this.appoinmentForm.value.symptomslist)\r\n // })\r\n // console.log('test')\r\n // console.log(this.appoinmentForm.value.symptomslist)\r\n\r\n\r\n this.get_doctors();\r\n this.get_complaint();\r\n this.get_diseases();\r\n this.get_symptoms();\r\n this.get_Discipline();\r\n this.Get_Allergy();\r\n this.complaintselected = this.appoinmentForm.value.complaint\r\n this.symptomsselected = this.appoinmentForm.value.symptoms\r\n this.diseasesselected = this.appoinmentForm.value.diseasesDtl\r\n this.allergysignsselected = this.appoinmentForm.value.allergySigns_DTL\r\n\r\n }\r\n\r\n public objectComparisonFunctioncomplaint = function (option, value): boolean {\r\n return option.cpT_Id === value.cpT_Id;\r\n }\r\n public objectComparisonFunctionsymptoms = function (option, value): boolean {\r\n return option.smst_Id === value.smst_Id;\r\n }\r\n public objectComparisonFunctionPresentIlleness = function (option, value): boolean {\r\n return option.id === value.id;\r\n }\r\n public objectComparisonFunctionallergysigns = function (option, value): boolean {\r\n return option.al_Id === value.al_Id;\r\n }\r\n\r\n //Complaint\r\n //toppingsControl = new FormControl([]);\r\n // toppingList: string[] = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage', 'Tomato'];\r\n\r\n onToppingRemovedcomplaint(topping: string) {\r\n const toppings = this.appoinmentForm.value.complaint;\r\n this.removeFirst(toppings, topping);\r\n this.appoinmentForm.controls['complaint'].setValue(toppings);\r\n }\r\n\r\n\r\n //symptoms\r\n // toppingsControl1 = new FormControl([]);\r\n // toppingList1: string[] = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage', 'Tomato'];\r\n\r\n onToppingRemovedsymptoms(topping: string) {\r\n const toppings = this.appoinmentForm.value.symptoms;\r\n this.removeFirst(toppings, topping);\r\n this.appoinmentForm.controls['symptoms'].setValue(toppings);\r\n }\r\n \r\n \r\n\r\n //diseases\r\n // toppingList2: string[] = ['Extra cheese', 'Mushroom', 'Onion', 'Pepperoni', 'Sausage', 'Tomato'];\r\n\r\n onToppingRemoveddiseases(topping: string) {\r\n const toppings = this.appoinmentForm.value.diseasesDtl;\r\n this.removeFirst(toppings, topping);\r\n this.appoinmentForm.controls['diseasesDtl'].setValue(toppings);\r\n }\r\n\r\n //allerges\r\n onToppingRemovedallergysigns(topping: string) { \r\n const toppings = this.appoinmentForm.value.allergySigns_DTL;\r\n this.removeFirst(toppings, topping);\r\n this.appoinmentForm.controls['allergySigns_DTL'].setValue(toppings);\r\n }\r\n\r\n private removeFirst(array: T[], toRemove: T): void {\r\n const index = array.indexOf(toRemove);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n\r\n\r\n saveForm() {\r\n const formData = new FormData();\r\n const ass_date = new DatePipe('en-US').transform(this.appoinmentForm.value.select_date, 'dd/MM/yyyy')\r\n // formData.append('cpT_MST_Id_FK', this.appoinmentForm.value.cpT_MST_Id_FK);\r\n // formData.append('symptoms', this.appoinmentForm.value.symptoms);\r\n // formData.append('diseasesDtl', this.appoinmentForm.value.diseasesDtl);\r\n // formData.append('appt_PA_Weight', this.appoinmentForm.value.appt_PA_Weight);\r\n // formData.append('appt_PA_Height', this.appoinmentForm.value.appt_PA_Height);\r\n // formData.append('select_date', ass_date);\r\n // formData.append('select_FrmTime', this.appoinmentForm.value.select_FrmTime);\r\n // formData.append('select_toTime', this.appoinmentForm.value.select_toTime);\r\n // formData.append('appt_DO_Id_FK', this.appoinmentForm.value.appt_DO_Id_FK);\r\n // console.log('Form data is', this.appoinmentForm.value);\r\n\r\n // this.AppoinmentserviceService\r\n // .Post_appoinment(this.appoinmentForm.value).subscribe((data: any) => {\r\n // this.appoinment = data\r\n // // this.openDialog();\r\n // console.log(this.appoinment);\r\n // })\r\n // this.notify.successmsg(\"Appoinment\" + \" fixed Successfully.\");\r\n // this.router.navigate([\"/base/patient/Appoinment\"]);\r\n this.appoinmentForm.controls['Appt_DateTime'].setValue(this.appoinmentForm.value.select_day);\r\n console.log(this.appoinmentForm.value)\r\n this.AppoinmentserviceService\r\n .Update_appoinment(this.appoinmentForm.value)\r\n .subscribe((res)=>{\r\n this.notify.successmsg(\"Appointment Updated Successfully\")\r\n })\r\n }\r\n // openDialog() {\r\n // const dialogRef = this.dialog.open(DialogContentExample1Component);\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // console.log(`Dialog result: ${result}`);\r\n // });\r\n // }\r\n resetForm() {\r\n this.appoinmentForm.reset();\r\n }\r\n\r\n get_doctors() {\r\n this.AppoinmentserviceService.get_doctors()\r\n .subscribe((data) => {\r\n this.doctors = data\r\n console.log(this.doctors)\r\n })\r\n }\r\n\r\n get_complaint() {\r\n this.AppoinmentserviceService.get_complaint()\r\n .subscribe((data) => {\r\n this.complaint = data\r\n console.log(this.complaint)\r\n })\r\n }\r\n\r\n get_diseases() {\r\n this.AppoinmentserviceService.get_diseases()\r\n .subscribe((data) => {\r\n this.diseases = data\r\n console.log(this.diseases)\r\n })\r\n }\r\n\r\n get_symptoms() {\r\n this.AppoinmentserviceService.get_symptoms()\r\n .subscribe((data) => {\r\n this.symptoms = data\r\n console.log(this.symptoms)\r\n })\r\n }\r\n\r\n get_Discipline() {\r\n this.AppoinmentserviceService.get_Discipline()\r\n .subscribe((data) => {\r\n this.ClinicalDiscipline = data\r\n console.log(this.ClinicalDiscipline)\r\n })\r\n }\r\n\r\n get_doctordd() {\r\n this.AppoinmentserviceService.get_doctordd()\r\n .subscribe((data) => {\r\n this.doctordd = data\r\n console.log(this.doctordd)\r\n })\r\n }\r\n\r\n Get_Allergy() {\r\n this.AppoinmentserviceService.Get_Allergy()\r\n .subscribe((data) => {\r\n this.allergy = data\r\n })\r\n }\r\n\r\n get_appoinbyid(patnt_id) {\r\n this.AppoinmentserviceService.get_appoinbyId(patnt_id)\r\n .subscribe((data) => {\r\n this.appnget = data\r\n console.log('appnget' , this.appnget)\r\n this.appoinmentForm.patchValue({\r\n Height: this.appnget[0].appt_PA_Height,\r\n Weight: this.appnget[0].appt_PA_Weight,\r\n complaint: this.appnget[0].complaintslist,\r\n symptoms: this.appnget[0].symptomslist,\r\n diseasesDtl: this.appnget[0].diseaseslist,\r\n allergySigns_DTL: this.appnget[0].allergylist,\r\n select_day: this.appnget[0].select_date,\r\n select_FrmTime: this.appnget[0].select_FrmTime,\r\n select_toTime: this.appnget[0].select_toTime,\r\n appt_DO_Id_FK:this.appnget[0].appt_DO_Id_FK,\r\n appt_Id: this.appnget[0].appt_Id,\r\n appt_PatientId_FK: this.appnget[0].appt_PatientId_FK\r\n });\r\n this.test=this.appnget[0].appt_DO_Name\r\n })\r\n }\r\n\r\n showdoctr(){\r\n const dialogRef = this.dialog.open(ShowdoctorComponent,\r\n {\r\n height: '65%',\r\n width: '65%',\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n if (result != undefined) {\r\n this.test=result.dO_Name;\r\n this.appoinmentForm.controls['appt_DO_Id_FK'].setValue(result.dO_Id);\r\n }\r\n // setTimeout(() => {\r\n // window.location.reload();\r\n // }, 2000);\r\n });\r\n }\r\n\r\n showhosptl(){\r\n const dialogRef = this.dialog.open(ShowhospitalComponent,\r\n {\r\n height: '65%',\r\n width: '65%',\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n if (result != undefined) {\r\n this.test=result.dO_Name;\r\n this.appoinmentForm.controls['appt_DO_Id_FK'].setValue(result.dO_Id);\r\n }\r\n // setTimeout(() => {\r\n // window.location.reload();\r\n // }, 2000);\r\n });\r\n }\r\n\r\n editform(){\r\n const dialogRef = this.dialog.open(EditdialogComponent,\r\n {\r\n height: '35%',\r\n width: '55%',\r\n data:this.appoinmentForm.value,\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n // setTimeout(() => {\r\n // window.location.reload();\r\n // }, 2000);\r\n });\r\n }\r\n\r\n}\r\n\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Notification } from '../../../../core/Notifications/Notification';\r\nimport { Router } from '@angular/router';\r\nimport { DialogContentExample1Component } from '../../dialog-content-example1/dialog-content-example1.component';\r\nimport { AppoinmentserviceService } from '../../add-appoinments/appoinmentservice.service';\r\n\r\n@Component({\r\n selector: 'app-editdialog',\r\n templateUrl: './editdialog.component.html',\r\n styleUrls: ['./editdialog.component.scss']\r\n})\r\nexport class EditdialogComponent implements OnInit {\r\n\r\n test: any;\r\n doctordd: any;\r\n enable=true;\r\n enables=true;\r\n clinicalshow:boolean;\r\n hospitalshow:boolean;\r\n selected = 0;\r\n data: any;\r\n isDisabled=true;\r\n hospitaldd: any;\r\n testhosid: any;\r\n constructor(@Inject(MAT_DIALOG_DATA) private _data: any,public dialog: MatDialog,private AppoinmentserviceService: AppoinmentserviceService,\r\n private notify: Notification,private router: Router,) { }\r\n\r\n ngOnInit(): void {\r\n console.log(\"editappn\" , this._data)\r\n this.selected=this._data.appt_DO_Id_FK;\r\n }\r\n\r\n showdoctr() {\r\n this.enable=false;\r\n this.enables = true;\r\n this.GetDoctorList_BasedonSchedule();\r\n \r\n }\r\n \r\n showhosptl() {\r\n this.enable=true;\r\n this.enables = false;\r\n this.get_hospitaldd();\r\n // this.hospitalshow=true;\r\n // const dialogRef = this.dialog.open(ShowhospitalComponent,\r\n // {\r\n // height: '65%',\r\n // width: '65%',\r\n // });\r\n\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // console.log(`Dialog result: ${result}`);\r\n // // if (result != undefined) {\r\n // // this.test = result.dO_Name;\r\n // // this.appoinmentForm.controls['Appt_DO_Id_FK'].setValue(result.dO_Id);\r\n // // }\r\n // // setTimeout(() => {\r\n // // window.location.reload();\r\n // // }, 2000);\r\n // });\r\n }\r\n DoctorDD(data) {\r\n console.log(data)\r\n this.testhosid = data\r\n this.get_doctordd(data);\r\n // this.GetDoctorList_BasedonSchedule();\r\n }\r\n\r\n get_doctordd(HospitalId) {\r\n this.AppoinmentserviceService.get_doctorbyhospitalId(HospitalId)\r\n .subscribe((data) => {\r\n this.doctordd = data\r\n console.log(this.doctordd)\r\n })\r\n }\r\n\r\n saveForm() {\r\n this._data.Appt_DO_Id_FK=this.selected\r\n console.log('Form data is',this._data);\r\n this.AppoinmentserviceService.Post_appoinment(this._data)\r\n .subscribe((data: any) => {\r\n this._data = data\r\n this.openDialog();\r\n console.log(this._data);\r\n })\r\n this.notify.successmsg(\"Appoinment\" + \" fixed Successfully.\");\r\n this.router.navigate([\"/base/patient/Appoinment\"]);\r\n }\r\n\r\n openDialog() {\r\n const dialogRef = this.dialog.open(DialogContentExample1Component);\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log(`Dialog result: ${result}`);\r\n });\r\n }\r\n GetDoctorList_BasedonSchedule() {\r\n console.log('Test', this.testhosid);\r\n this.AppoinmentserviceService.GetDoctorList_BasedonSchedule(this._data.select_day, this._data.select_FrmTime, this._data.select_toTime,0,0)\r\n .subscribe((data) => {\r\n this.doctordd = data\r\n console.log(this.doctordd)\r\n })\r\n }\r\n get_hospitaldd() {\r\n this.AppoinmentserviceService.Get_HospitalDD()\r\n .subscribe((data) => {\r\n this.hospitaldd = data\r\n })\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-feedback',\r\n templateUrl: './feedback.component.html',\r\n styleUrls: ['./feedback.component.scss']\r\n})\r\nexport class FeedbackComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-helpdesk',\r\n templateUrl: './helpdesk.component.html',\r\n styleUrls: ['./helpdesk.component.scss']\r\n})\r\nexport class HelpdeskComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Pipe, PipeTransform } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { ServiceService } from '../service.service';\r\n\r\n@Component({\r\n selector: 'app-join-meeting',\r\n templateUrl: './join-meeting.component.html',\r\n styleUrls: ['./join-meeting.component.scss']\r\n})\r\nexport class JoinMeetingComponent implements OnInit {\r\n @Pipe({ name: 'safe' })\r\n joinMeetingForm: FormGroup;\r\n result:any; \r\n pdata:any; \r\n pat_id:any;\r\n cons_id:any;\r\n joinData:any; \r\n\r\n //doctor details\r\n d_name :any\r\n d_gender :any //gender and age in years and days \r\n d_blood_group :any\r\n d_marital_status :any\r\n d_email :any\r\n // d_phone :any\r\n\r\n//consulation details\r\n cons_date_time :any //cons date and time\r\n cons_type :any \r\n\r\n//vital signs\r\n pulse_rate :any\r\n blood_pressure :any\r\n temperature :any\r\n glucose :any\r\n hemoglobin :any\r\n ecg_monitor :any\r\n height :any\r\n weight :any\r\n\r\n //other info\r\n complaints_data:any\r\n symptoms_data:any\r\n diseases_data:any\r\n allergys_data:any\r\n under_bp_medication :any\r\n under_sugar_medication :any\r\n \r\n firstName:any;\r\n\r\n vcData:any; \r\n urlSafe: SafeResourceUrl;\r\n consult_id;\r\n patient_id;\r\n meeting: any;\r\n\r\n constructor(private sanitizer:DomSanitizer,private fb: FormBuilder,public router:Router,private serviceService: ServiceService, private route: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n this.serviceService.get_meetingId()\r\n .subscribe((data) => {\r\n this.meeting = data;\r\n this.joinMeetingForm.controls['meeting_id'].setValue(this.meeting.meeting_id);\r\n console.log(\"Datar\", this.meeting)\r\n })\r\n this.firstName=localStorage.getItem('firstName');\r\n this.joinMeetingForm = this.fb.group({\r\n meeting_id:['', [Validators.required,this.alphaNumValidator]]\r\n \r\n });\r\n\r\n }\r\n\r\n public checkError = (controlName: string, errorName: string) => {\r\n return this.joinMeetingForm.controls[controlName].hasError(errorName);\r\n }\r\n\r\n alphaNumValidator(control: any): { [key: string]: boolean } {\r\n const nameRegexp: RegExp = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?/\\/, ''/]/; \r\n \r\n if (control.value && nameRegexp.test(control.value)) {\r\n return { alphaNumCheck: true };\r\n }\r\n }\r\n\r\n calculateBMI(): string {\r\n if (this.height && this.weight) {\r\n // Convert height from cm to meters (1 cm = 0.01 m)\r\n const heightInMeters = this.height / 100;\r\n\r\n // Calculate BMI\r\n const bmi = this.weight / (heightInMeters * heightInMeters);\r\n\r\n // Format BMI to display in metric square\r\n return bmi.toFixed(2) + ' kg/m²';\r\n }\r\n // Return an empty string or an appropriate message if height or weight is missing.\r\n return 'N/A';\r\n }\r\n\r\n joinMeeting()\r\n { \r\n if(this.joinMeetingForm.invalid){\r\n return\r\n } \r\n \r\n \r\n var passdata={\r\n meetingId:this.joinMeetingForm.value.meeting_id,\r\n patientName:this.firstName\r\n }\r\n\r\n \r\n\r\n //join meeting\r\n this.serviceService.joinMeeting(passdata)\r\n .subscribe((data) => {\r\n this.joinData=data; \r\n console.log(\"join url: \" +JSON.stringify(this.joinData.joinMeetingUrl));\r\n this.urlSafe= this.sanitizer.bypassSecurityTrustResourceUrl(this.joinData.joinMeetingUrl); \r\n\r\n });\r\n \r\n \r\n //get doctor detail\r\n this.serviceService.GetConsult_Meeting_Doctor(passdata.meetingId)\r\n .subscribe((data) => {\r\n this.result = data;\r\n\r\n //patient details\r\n this.d_name = this.result[0].d_name;\r\n this.d_gender = this.result[0].d_gender;\r\n this.d_email = this.result[0].d_email;\r\n // this.d_phone = this.result[0].d_phone;\r\n\r\n //consulation details\r\n this.cons_date_time = this.result[0].cons_date_time; //cons date and time\r\n this.cons_type = this.result[0].cons_type;\r\n\r\n //vital signs\r\n\r\n this.pulse_rate = this.result[0].pulse_rate;\r\n this.blood_pressure = this.result[0].blood_pressure;\r\n this.temperature = this.result[0].temperature;\r\n this.glucose = this.result[0].glucose;\r\n this.hemoglobin = this.result[0].hemoglobin;\r\n this.ecg_monitor = this.result[0].ecg_monitor;\r\n this.height = this.result[0].height;\r\n this.weight = this.result[0].weight;\r\n\r\n\r\n //other info\r\n\r\n this.complaints_data = this.result[0].complaintslist;\r\n this.symptoms_data = this.result[0].symptomslist;\r\n this.diseases_data = this.result[0].medicationlist;\r\n this.allergys_data = this.result[0].allergylist;\r\n this.under_bp_medication = this.result[0].under_bp_medication;\r\n this.under_sugar_medication = this.result[0].under_sugar_medication;\r\n\r\n\r\n }); \r\n\r\n }\r\n\r\n// bind(){\r\n// this.joinMeetingForm.controls['meeting_id'].setValue(this.data.meeting_id);\r\n// }\r\n\r\n\r\n}\r\n","import { Component, OnInit,Pipe, PipeTransform } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { ServiceService } from '../service.service';\r\n\r\n@Component({\r\n selector: 'app-joinvc-meeting',\r\n templateUrl: './joinvc-meeting.component.html',\r\n styleUrls: ['./joinvc-meeting.component.scss']\r\n})\r\nexport class JoinvcMeetingComponent implements OnInit {\r\n @Pipe({ name: 'safe' })\r\n joinVCForm: FormGroup;\r\n result:any; \r\n pdata:any; \r\n pat_id:any;\r\n cons_id:any;\r\n joinData:any; \r\n\r\n //patient details\r\n d_name :any\r\n d_gender :any //gender and age in years and days \r\n d_blood_group :any\r\n d_marital_status :any\r\n d_email :any\r\n d_phone :any\r\n\r\n//consulation details\r\n cons_date_time :any //cons date and time\r\n cons_type :any \r\n\r\n//vital signs\r\n pulse_rate :any\r\n blood_pressure :any\r\n temperature :any\r\n glucose :any\r\n hemoglobin :any\r\n ecg_monitor :any\r\n height :any\r\n weight :any\r\n\r\n //other info\r\n complaints_data:any\r\n symptoms_data:any\r\n diseases_data:any\r\n allergys_data:any\r\n under_bp_medication :any\r\n under_sugar_medication :any\r\n\r\n btnstate: boolean=true;\r\n firstName:any;\r\n\r\n vcData:any; \r\n urlSafe: SafeResourceUrl;\r\n consult_id;\r\n patient_id;\r\n\r\n \r\n\r\n constructor(private sanitizer:DomSanitizer,private fb: FormBuilder,public router:Router,private serviceService: ServiceService, private route: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.firstName=localStorage.getItem('firstName');\r\n this.joinVCForm = this.fb.group({\r\n meeting_id:['', Validators.required]\r\n \r\n });\r\n\r\n //console.log('vc page'); \r\n this.route.paramMap.subscribe((params) => {\r\n this.cons_id = params.get('cons_id')!;\r\n this.pat_id = params.get('pat_id')!;\r\n \r\n });\r\n console.log('consult id :'+this.cons_id)\r\n console.log('patient id:'+this.pat_id)\r\n this.getDoctorDetail(this.pat_id, this.cons_id);\r\n }\r\n getDoctorDetail(p_id, c_id){\r\n this.serviceService.GetConsultation_Doctor_Detail(p_id, c_id)\r\n .subscribe((data) => {\r\n this.result=data; \r\n \r\n //patient details\r\n this.d_name = this.result[0].d_name;\r\n this.d_gender = this.result[0].d_gender; \r\n this.d_email = this.result[0].d_email;\r\n this.d_phone = this.result[0].d_phone;\r\n \r\n //consulation details\r\n this.cons_date_time = this.result[0].cons_date_time; //cons date and time\r\n this.cons_type = this.result[0].cons_type; \r\n\r\n //vital signs\r\n this.pulse_rate = this.result[0].pulse_rate;\r\n this.blood_pressure = this.result[0].blood_pressure;\r\n this.temperature = this.result[0].temperature;\r\n this.glucose = this.result[0].glucose;\r\n this.hemoglobin = this.result[0].hemoglobin;\r\n this.ecg_monitor = this.result[0].ecg_monitor;\r\n this.height = this.result[0].height;\r\n this.weight = this.result[0].weight;\r\n\r\n //other info\r\n this.complaints_data=this.result[0].complaintslist;\r\n this.symptoms_data=this.result[0].symptomslist;\r\n this.diseases_data=this.result[0].diseaseslist;\r\n this.allergys_data=this.result[0].allergylist;\r\n this.under_bp_medication = this.result[0].under_bp_medication;\r\n this.under_sugar_medication = this.result[0].under_sugar_medication;\r\n\r\n }); \r\n\r\n\r\n }\r\n \r\n\r\n joinMeeting()\r\n { \r\n \r\n this.btnstate = false; \r\n \r\n \r\n var passdata={\r\n meetingId:this.joinVCForm.value.meeting_id,\r\n joineeName:this.firstName\r\n }\r\n\r\n //alert(\"data pass: \" +JSON.stringify(passdata)); \r\n this.serviceService.joinMeeting_Online(passdata)\r\n .subscribe((data) => {\r\n this.joinData=data;\r\n console.log(\"join url: \" +JSON.stringify(this.joinData.joinMeetingUrl));\r\n this.urlSafe= this.sanitizer.bypassSecurityTrustResourceUrl(this.joinData.joinMeetingUrl); \r\n\r\n });\r\n\r\n }\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport jsPDF from 'jspdf';\r\nimport { LabTestService } from '../lab-test.service';\r\nimport html2canvas from 'html2canvas';\r\n\r\n@Component({\r\n selector: 'app-lab-test-view',\r\n templateUrl: './lab-test-view.component.html',\r\n styleUrls: ['./lab-test-view.component.scss']\r\n})\r\nexport class LabTestViewComponent implements OnInit {\r\n\r\n mainData: any;\r\n childData: any;\r\n imageUrl;\r\n imageUrl2: any;\r\n clinicname: any;\r\n hospital_Address: any;\r\n gram_name: any;\r\n taluk_name: any;\r\n district_name: any;\r\n state_name: any;\r\n postalcode: any;\r\n country_name: any;\r\n email: any;\r\n phonenumber: any;\r\n hos_url: any;\r\n dO_Name: any;\r\n pR_Name: any;\r\n consulted_Date: any;\r\n coN_Id: any;\r\n //pr_Id: any;\r\n page_title: any;\r\n pr_Id: any;\r\n pR_Code: any;\r\n pR_Age: any;\r\n address: any;\r\n hospital_Name:any;\r\n hos_phoneNo:any;\r\n /*\r\n @ViewChild('pdfTable') pdfTable!: ElementRef;\r\n public exportPDF() {\r\n const pdfTable = this.pdfTable.nativeElement;\r\n var html = htmlToPdfmake(pdfTable.innerHTML);\r\n const documentDefinition = { content: html };\r\n pdfMake.createPdf(documentDefinition).download(); \r\n \r\n }\r\n */\r\n\r\n // download() {\r\n // \tconst printContents = document.getElementById('print-section').innerHTML;\r\n // \tconst blob = new Blob([printContents], { type: 'text/html' });\r\n // \tconst url = URL.createObjectURL(blob);\r\n\r\n // \tconst a = document.createElement('a');\r\n // \ta.href = url;\r\n // \ta.download = \"Labtest-\" + this._data.d.coN_Id + \".html\"; // Specify the desired filename\r\n // \ta.click();\r\n // \t}\r\n\r\n download() {\r\n const element = document.getElementById('pdfTable');\r\n\r\n html2canvas(element, {\r\n scale: 2,\r\n }).then((canvas) => {\r\n const imgData = canvas.toDataURL('image/png');\r\n const doc = new jsPDF('p', 'mm', 'a4');\r\n const imgWidth = 190;\r\n const pageHeight = 295;\r\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\r\n let heightLeft = imgHeight;\r\n let position = 10;\r\n doc.addImage(imgData, 'PNG', position, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n doc.addPage();\r\n doc.addImage(imgData, 'PNG', 10, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n const Filename = \"Labtest-\" + this._data.d.coN_Id + \".pdf\";\r\n doc.save(Filename);\r\n });\r\n }\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) private _data: any, private service: LabTestService, private http: HttpClient) { }\r\n\r\n\r\n\r\n printThisPage() {\r\n window.print();\r\n }\r\n\r\n\r\n // \tngOnInit(): void {\r\n // \t this.service.GetConsult_LabTestById(this._data.d.coN_Id).subscribe((data:any)=>{\r\n // \t\t\tthis.mainData = data;\r\n // \t\t\tthis.childData = data[0].getalllabtest;\t\r\n // \t\t\tthis.imageUrl = this.mainData[0].hospital_Logo\r\n\r\n // \t})\r\n\r\n // }\r\n // }\r\n ngOnInit(): void {\r\n this.service.get_labtestbyid(this._data.d.coN_Id).subscribe((data: any) => {\r\n this.mainData = data;\r\n console.log('main data :' + JSON.stringify(this.mainData))\r\n // this.clinicname = this.mainData[0].clinicname;\r\n this.address = this.mainData[0].hospital_Address;\r\n this.clinicname = this.mainData[0].clinicname == null ? '' : this.mainData[0].clinicname;\r\n this.gram_name = this.mainData[0].gram_name == null ? '' : this.mainData[0].gram_name +',';\r\n this.taluk_name = this.mainData[0].taluk_name == null ? '' : this.mainData[0].taluk_name +',';\r\n this.district_name = this.mainData[0].district_name == null ? '' : this.mainData[0].district_name +',';\r\n this.state_name = this.mainData[0].state_name == null ? '' : this.mainData[0].state_name +',';\r\n this.postalcode = this.mainData[0].postalcode == null ? '' : this.mainData[0].postalcode +',';\r\n this.country_name = this.mainData[0].country_name == null ? '' : this.mainData[0].country_name +',';\r\n this.email = this.mainData[0].email == null ? '' : this.mainData[0].hospital_Email;\r\n this.phonenumber = this.mainData[0].phonenumber == null ? '' : this.mainData[0].phonenumber;\r\n this.hos_url = this.mainData[0].hos_url == null ? '' : this.mainData[0].hos_url;\r\n this.coN_Id = this.mainData[0].coN_Id == null ? '' : this.mainData[0].coN_Id;\r\n this.pr_Id = this.mainData[0].pr_Id == null ? '' : this.mainData[0].pr_Id;\r\n this.dO_Name = this.mainData[0].dO_Name == null ? '' : this.mainData[0].dO_Name;\r\n this.pR_Code = this.mainData[0].pR_Code == null ? '' : this.mainData[0].pR_Code;\r\n this.pR_Age = this.mainData[0].pR_Age == null ? '' : this.mainData[0].pR_Age;\r\n this.pR_Name = this.mainData[0].pR_Name == null ? '' : this.mainData[0].pR_Name;\r\n this.consulted_Date = this.mainData[0].consulted_Date == null ? '' : this.mainData[0].consulted_Date;\r\n this.childData = data[0].getalllabtest;\r\n this.imageUrl = this.mainData[0].hospital_Logo;\r\n this.imageUrl2 = this.mainData[0].do_signature;\r\n this.hospital_Name = this.mainData[0].hospital_Name;\r\n this.hos_phoneNo = this.mainData[0].hos_phoneNo;\r\n this.page_title = 'Lab' + '-' + 'ConsId' + this.coN_Id + '-' + 'PId' + this.pr_Id;\r\n\r\n })\r\n }\r\n\r\n //${this.service_Id}\r\n\r\n printForm(): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById('print-section').innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=700,width=700');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n ${this.page_title} \r\n \r\n \r\n ${printContents}\r\n `\r\n );\r\n\r\n popupWin.document.close();\r\n }\r\n}\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { LabTestViewComponent } from './lab-test-view/lab-test-view.component';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TooltipPosition } from '@angular/material/tooltip';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { LabTestService } from './lab-test.service';\r\nimport { Notification } from '../../../core/Notifications/Notification';\r\n\r\n@Component({\r\n selector: 'app-lab-test',\r\n templateUrl: './lab-test.component.html',\r\n styleUrls: ['./lab-test.component.scss']\r\n})\r\nexport class LabTestComponent implements OnInit {\r\n\r\n Labsuggest: FormGroup;\r\n dtOptions = {};\r\n mainData: any;\r\n data: any;\r\n id: any;\r\n TooltipPosition: TooltipPosition[] = ['above'];\r\n constructor(private service: LabTestService, private fb: FormBuilder, private route: ActivatedRoute, private notif: Notification, public dialog: MatDialog) {\r\n this.Labsuggest = this.fb.group({\r\n 'id': [''],\r\n 'category_Id': [''],\r\n 'description_Id': [''],\r\n 'coN_Id': [this.route.snapshot.params['id']],\r\n })\r\n }\r\n view(d: any) {\r\n const dialogRef = this.dialog.open(LabTestViewComponent,\r\n {\r\n height: '100%',\r\n width: '100%',\r\n data: { d },\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.dtOptions = {\r\n dom: 'lBfrtip',\r\n lengthMenu: [[5, 10, 20, -1], [5, 10, 20, \"All\"]],\r\n scroll: \"250px\",\r\n select: true,\r\n buttons: [\r\n {\r\n extend: 'collection',\r\n className: 'btn-primary',\r\n text: 'Export',\r\n buttons: [\r\n { extend: 'copy', className: 'btn-primary' },\r\n { extend: 'csv', className: 'btn-primary' },\r\n { extend: 'excel', className: 'btn-primary' },\r\n { extend: 'pdf', className: 'btn-primary' },\r\n { extend: 'print', className: 'btn-primary' },\r\n ]\r\n },\r\n {\r\n extend: 'colvis',\r\n className: 'btn-primary',\r\n text: 'Column Visibility',\r\n },\r\n ],\r\n }\r\n this.getall_consultlabtest();\r\n \r\n }\r\n\r\n getall_consultlabtest() {\r\n this.service.getall_labtest()\r\n .subscribe((data) => {\r\n this.mainData = data;\r\n })\r\n }\r\n \r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LabTestService {\r\n\r\n constructor(private http: HttpClient) { }\r\n getall_labtest() {\r\n return this.http.get(`${environment.API_Base_URL}` + `Consult_LabTest/GetAllConsult_LabTest_Patient`)\r\n }\r\n get_labtestbyid(id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `Consult_LabTest/GetConsult_LabTestById_Patient?CON_Id=${id}`)\r\n }\r\n}\r\n","import { Component, ElementRef, HostListener, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { ServiceService } from '../service.service';\r\nimport { ToastRef, ToastrService } from 'ngx-toastr';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Width } from 'ngx-owl-carousel-o/lib/services/carousel.service';\r\nimport { UserService } from 'src/app/views/pages/auth/UserDetails/user.service';\r\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { Notification } from '../../../core/Notifications/Notification';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-logincart',\r\n templateUrl: './logincart.component.html',\r\n styleUrls: ['./logincart.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class LogincartComponent implements OnInit {\r\n [x: string]: any;\r\n\r\n \r\n form: FormGroup;\r\n selectedName: any = [];\r\n totalcharge: any = 0;\r\n doctorid: any;\r\n dialogRef: any;\r\n selectedOption: any;\r\n resultPayData: any;\r\n hos_id:any;\r\n transaction_id:any;\r\n @ViewChild(NgSelectComponent) ngSelectComponent: NgSelectComponent;\r\n \r\n\r\n constructor(private router: Router, private fb: FormBuilder, private notif: Notification, private service: ServiceService, private toastr: ToastrService, private user: UserService, public dialog: MatDialog) {\r\n this.form = this.fb.group({\r\n consult_Type: new FormControl(0),\r\n appt_DO_Id_FK: new FormControl(),\r\n symptoms: new FormControl()\r\n \r\n })\r\n\r\n }\r\n\r\n userData: any;\r\n ngOnInit(): void {\r\n this.user_name=localStorage.getItem('phoneNumber');\r\n this.hos_id = sessionStorage.getItem('hos_id')\r\n this.getAllComplaints();\r\n this.getClinicalDoctor();\r\n\r\n this.service.Get_Userprofile( this.hos_id).subscribe((res: any) => {\r\n this.userData = res;\r\n console.log(\"Login name\", this.userData.firstName)\r\n })\r\n this.paymentQuickUrl = environment.pay_quick_url;\r\n }\r\n\r\n onClear() {\r\n // Handle clearing the selected item\r\n this.totalcharge = 0;\r\n this.doctorid = null;\r\n this.selectedName = [];\r\n console.log(\"totalcharge\", this.totalcharge)\r\n console.log(\"Doctor Id\", this.doctorid)\r\n\r\n }\r\n isOptionDisabled(option: any): boolean {\r\n const selectedOptions = this.form.value.symptoms;\r\n if (!selectedOptions || selectedOptions.length === 0) {\r\n return false;\r\n }\r\n const noneOptionSelectedd = selectedOptions && selectedOptions.some((item: any) => item.cmst_Name === \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\");\r\n if (noneOptionSelectedd) {\r\n return option.cmst_Name != \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\" && noneOptionSelectedd;\r\n }\r\n else {\r\n return option.cmst_Name == \"Other than Listed(ಪಟ್ಟಿ ಮಾಡಲಾದ ಹೊರತುಪಡಿಸಿ)\"\r\n }\r\n\r\n\r\n }\r\n price() {\r\n console.log(\"test value\", this.form.value.name1)\r\n }\r\n data: any;\r\n getClinicalDoctor() {\r\n this.service.clinicalDoctor().subscribe((res: any) => {\r\n this.data = res;\r\n console.log(\"clical doctor\", this.data)\r\n })\r\n }\r\n\r\n complaints_data: any;\r\n getAllComplaints() {\r\n this.service.Get_Complaintsdd().subscribe((res: any) => {\r\n this.complaints_data = res;\r\n // console.log(\"clical doctor\", this.data)\r\n })\r\n }\r\n\r\n result: any\r\n // submit() {\r\n // var appData = {\r\n // \"appt_DO_Id_FK\": this.doctorid,\r\n // \"complaint\": this.form.value.symptoms, \r\n // \"charges\": this.totalcharge,\r\n // \"req_quick_consult\":'Yes'\r\n\r\n // } \r\n // if (!this.form.value.symptoms || this.form.value.symptoms.length === 0) {\r\n // this.notif.errorsmsg('Please select complaints before proceeding to payment.');\r\n // return;\r\n // }\r\n // console.log('appt data : ' + JSON.stringify(appData))\r\n // this.service.InsertAppointment_consultnow(appData).subscribe((data: any) => {\r\n // this.result = data\r\n // console.log(\"payment url: \" + this.result.value);\r\n // this.openPayLink(this.result.value)\r\n // })\r\n // }\r\n\r\n submit(): void {\r\n var appData = {\r\n do_id: this.doctorid,\r\n complaint: this.form.value.symptoms, \r\n user_name:this.user_name , \r\n // charges: this.totalcharge,\r\n // req_quick_consult:'Yes'\r\n payment_from: \"PORTAL QUICK CONSULT\"\r\n\r\n }\r\n if (!this.form.value.symptoms || this.form.value.symptoms.length === 0) {\r\n this.notif.errorsmsg('Please select complaints before proceeding to payment.');\r\n return;\r\n }\r\n console.log(\"quick url :\" +JSON.stringify(appData));\r\n this.service.ProcessRequestOrderQuick(appData).subscribe(\r\n (res) => {\r\n console.log('Complete Response:', res); // Inspect the full response here\r\n \r\n if (res) {\r\n // Try accessing transaction_id\r\n this.resultPayData = res;\r\n \r\n console.log('Transaction ID:', this.resultPayData.transaction_id);\r\n if (this.resultPayData.transaction_id) {\r\n console.log('Transaction ID exists:', this.resultPayData.transaction_id);\r\n this.transaction_id='QUICK'+this.resultPayData.transaction_id;\r\n this.router.navigate(['/base/patient/payment-form/' + this.transaction_id]);\r\n \r\n } else {\r\n console.log('Transaction ID is undefined or null');\r\n }\r\n } else {\r\n console.log('Response is undefined or null');\r\n }\r\n },\r\n (error) => {\r\n console.error('Error:', error);\r\n }\r\n );\r\n \r\n\r\n // const url = this.constructPaymentUrl(appData);\r\n // window.open(url, \"_blank\");\r\n }\r\n \r\n // constructPaymentUrl(appData: any): string {\r\n // console.log(\"landing url :\" +this.paymentQuickUrl);\r\n // const baseUrl = this.paymentQuickUrl;\r\n // debugger\r\n // const queryParams = new URLSearchParams({\r\n // complaint: JSON.stringify(appData.complaint),\r\n // do_id: appData.appt_DO_Id_FK,\r\n // user_name: this.user_name,\r\n // payment_from: \"PORTAL\"\r\n // });\r\n\r\n // return `${baseUrl}?${queryParams.toString()}`;\r\n // }\r\n\r\n openPayLink(url: string) {\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n doctorCharge() {\r\n this.totalcharge = this.selectedName.charges;\r\n this.doctorid = this.selectedName.dO_Id_FK;\r\n console.log(\"totalcharge\", this.totalcharge)\r\n console.log(\"Doctor Id\", this.doctorid)\r\n }\r\n\r\n onDelete(event: any) {\r\n this.totalcharge = 0;\r\n this.doctorid = null;\r\n this.selectedName = [];\r\n console.log(\"totalcharge\", this.totalcharge)\r\n console.log(\"Doctor Id\", this.doctorid)\r\n event.preventDefault();\r\n\r\n\r\n }\r\n\r\n onEnter(event: any) {\r\n this.totalcharge = this.selectedName.charges;\r\n this.doctorid = this.selectedName.dO_Id_FK;\r\n console.log(\"totalcharge\", this.totalcharge)\r\n console.log(\"Doctor Id\", this.doctorid)\r\n // You can also prevent the default Enter key behavior if needed\r\n event.preventDefault();\r\n }\r\n \r\n \r\n}\r\n \r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-medicine-orders',\r\n templateUrl: './medicine-orders.component.html',\r\n styleUrls: ['./medicine-orders.component.scss']\r\n})\r\nexport class MedicineOrdersComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ServiceService } from '../service.service';\r\n\r\n@Component({\r\n selector: 'app-patient-history',\r\n templateUrl: './patient-history.component.html',\r\n styleUrls: ['./patient-history.component.scss']\r\n})\r\nexport class PatientHistoryComponent implements OnInit {\r\n\r\n maxall: number = 20 \r\n history:any=[];\r\n nodata:any=[];\r\n isAllSelected: any;\r\n\r\n constructor(private service: ServiceService) { \r\n this.dataSource.data = this.PeriodicElement;\r\n }\r\n\r\n PeriodicElement = [\r\n {position: 1, AppointmentNo: '', AppointmentDate: '', AppointmentSchedule: '',DoctorName:'',ConsultationType:'',Status:''},\r\n ];\r\n\r\n displayedColumns: string[] = ['position', 'Appointment No', 'Appointment Date', 'Appointment Schedule' , 'Doctor Name' ,'Consultation Type','Appointment Status', 'Payment Status', 'Consultation Status'];\r\n dataSource = new MatTableDataSource();\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n \r\n ngOnInit(): void {\r\n this.get_history();\r\n }\r\n // toggleAllSelection() {\r\n // this.isAllSelected = !this.isAllSelected;\r\n // this.dataSource.paginator = this.isAllSelected ? null : this.paginator;\r\n // }\r\n\r\n get_history() {\r\n this.service.Get_historyrep()\r\n .subscribe((data) => {\r\n this.history = data\r\n if(this.history.length>0)\r\n {\r\n //console.log(\"his data :\" +this.history);\r\n this.dataSource= new MatTableDataSource(this.history);\r\n this.dataSource.paginator=this.paginator;\r\n }\r\n \r\n },\r\n (error:any)=>{\r\n //console.log(\"no data :\" +this.history);\r\n this.dataSource= new MatTableDataSource(this.nodata);\r\n this.dataSource.paginator=this.paginator;\r\n })\r\n }\r\n applyFilter(filterValue: string) {\r\n filterValue = filterValue.trim().toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n }\r\n\r\n getPageSizeOptions(): number[] {\r\n if (this.dataSource.data.length <= 5 || this.dataSource.data.length <= 10)\r\n return [5, this.dataSource.data.length];\r\n if (this.dataSource.data.length <= this.maxall)\r\n return [5, 10, this.dataSource.data.length];\r\n else\r\n return [5, 10, 20, this.dataSource.data.length];\r\n }\r\n\r\n}\r\n","import { Component, NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AddAppoinmentsComponent } from './add-appoinments/add-appoinments.component';\r\nimport { AppoinmentsComponent } from './appoinments/appoinments.component';\r\nimport { ArticlesComponent } from './articles/articles.component';\r\nimport { ConsultationComponent } from './consultation/consultation.component';\r\nimport { EditAppoinmentComponent } from './edit-appoinment/edit-appoinment.component';\r\nimport { FeedbackComponent } from './feedback/feedback.component';\r\nimport { HelpdeskComponent } from './helpdesk/helpdesk.component';\r\nimport { JoinvcMeetingComponent } from './joinvc-meeting/joinvc-meeting.component';\r\nimport { LabTestComponent } from './lab-test/lab-test.component';\r\nimport { MedicineOrdersComponent } from './medicine-orders/medicine-orders.component';\r\nimport { PatientHistoryComponent } from './patient-history/patient-history.component';\r\nimport { PatientComponent } from './patient.component';\r\nimport { PaymentsComponent } from './payments/payments.component';\r\nimport { PreviousRecordsComponent } from './previous-records/previous-records.component';\r\nimport { EditprofileComponent } from './profile/editprofile/editprofile.component';\r\nimport { ProfileComponent } from './profile/profile.component';\r\nimport { RecordsComponent } from './records/records.component';\r\nimport { PaymentResultComponent } from './payment-result/payment-result.component';\r\nimport { JoinMeetingComponent } from './join-meeting/join-meeting.component';\r\nimport { PaymentHistoryComponent } from './payment-history/payment-history.component';\r\nimport { LogincartComponent } from './logincart/logincart.component';\r\nimport { PaymentResultNormalComponent } from './payment-result-normal/payment-result-normal.component';\r\nimport { PrescriptionComponent } from './prescription/prescription.component';\r\nimport { ConsultationHistoryComponent } from './consultation-history/consultation-history.component';\r\nimport { DietplanInfoComponent } from './dietplan-info/dietplan-info.component';\r\nimport { PaymentFormComponent } from './payment-form/payment-form.component';\r\n\r\n\r\nconst routes: Routes = [\r\n\r\n {\r\n path:'', component:PatientComponent,\r\n children:[\r\n {\r\n path:'profile',\r\n component:ProfileComponent,\r\n },\r\n {\r\n path:'edit-profile',\r\n component:EditprofileComponent,\r\n },\r\n {\r\n path:'patient-history',\r\n component:PatientHistoryComponent,\r\n },\r\n {\r\n path:'previous-record',\r\n component:PreviousRecordsComponent,\r\n },\r\n {\r\n path:'records',\r\n component:RecordsComponent,\r\n },\r\n {\r\n path:'appoinment',\r\n component:AppoinmentsComponent,\r\n },\r\n {\r\n path:'add-appoinment',\r\n component:AddAppoinmentsComponent,\r\n },\r\n {\r\n path:`edit-appoinment/:id`,\r\n component:EditAppoinmentComponent,\r\n },\r\n {\r\n path:'consultation',\r\n component:ConsultationComponent,\r\n },\r\n\r\n {\r\n path: 'quick_consult',\r\n component: LogincartComponent,\r\n },\r\n {\r\n path:'joinvc-meeting/:pat_id/:cons_id',\r\n component:JoinvcMeetingComponent,\r\n },\r\n {\r\n path:'Medicine-orders',\r\n component:MedicineOrdersComponent,\r\n },\r\n {\r\n path:'Lab-Test',\r\n component:LabTestComponent,\r\n },\r\n {\r\n path:'payments',\r\n component:PaymentHistoryComponent,\r\n },\r\n {\r\n path:'paymentresult',\r\n component:PaymentResultComponent,\r\n },\r\n {\r\n path: 'paymentresultnormal',\r\n component: PaymentResultNormalComponent,\r\n },\r\n {\r\n path:'Prescription',\r\n component: PrescriptionComponent,\r\n },\r\n {\r\n path:'join-meeting',\r\n component:JoinMeetingComponent,\r\n },\r\n {\r\n path:'articles',\r\n component:ArticlesComponent,\r\n },\r\n {\r\n path:'feedback',\r\n component:FeedbackComponent,\r\n },\r\n {\r\n path:'helpdesk',\r\n component:HelpdeskComponent,\r\n },\r\n {\r\n path:'consultation-history',\r\n component:ConsultationHistoryComponent,\r\n },\r\n {\r\n path:'dietplan-info',\r\n component:DietplanInfoComponent,\r\n },\r\n {\r\n path:'payment-form/:transaction_id',\r\n component:PaymentFormComponent,\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 PatientRoutingModule { }\r\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from \"@angular/router\";\n// import { WindowRef } from 'src/app/shared/windowRef.service';\nimport { PaymentFormService } from './payment-form.service';\nimport { RazorpayOption } from 'src/app/shared/models';\nimport { Notification } from 'src/app/core/Notifications/Notification';\nimport Swal from 'sweetalert2';\nimport { WindowRef } from 'src/app/shared/windowRef.service';\ndeclare var $: any;\n\n\n\n@Component({\n selector: 'app-payment-form',\n templateUrl: './payment-form.component.html',\n styleUrls: ['./payment-form.component.scss'],\n providers: [WindowRef]\n})\nexport class PaymentFormComponent implements OnInit {\n private sub: any;\n PropertyDet: any = {};\n data: any;\n userRole: any;\n R: any = {};\n rzp1: any;\n options: RazorpayOption;\n orderData: any = {};\n transaction_id: any;\n result: any;\n mix_transaction_id: any;\n quickWord: any; // \"QUICK\"\n restData: any; // \"trn243234234234\"\n\n constructor(private winRef: WindowRef, private notif: Notification, private service: PaymentFormService, private activatedRoute: ActivatedRoute, public router: Router) { }\n\n ngOnInit(): void {\n this.sub = this.activatedRoute.params.subscribe(params => {\n console.log(\"Transaction Id in payment page :\" + this.activatedRoute.snapshot.paramMap.get('transaction_id') || '');\n this.transaction_id = this.activatedRoute.snapshot.paramMap.get('transaction_id') || ''\n\n });\n\n // The transaction_id variable\n //this.transaction_id = \"QUICKtrn243234234234\";\n\n // Check if \"QUICK\" is present in the string\n if (this.transaction_id.includes(\"QUICK\")) {\n // Separate \"QUICK\" into one variable\n const quickWord = \"QUICK\";\n\n // Remove \"QUICK\" from the transaction_id to get the rest of the data\n const restData = this.transaction_id.replace(\"QUICK\", \"\");\n\n // Log or use the variables as needed\n console.log(\"Quick Word:\", quickWord);\n console.log(\"Rest of Data:\", restData);\n\n // Optionally store them in class variables\n this.quickWord = quickWord; // \"QUICK\"\n this.restData = restData; // \"trn243234234234\"\n this.transaction_id = this.restData\n }\n\n this.getOrderDetails(this.transaction_id)\n\n }\n\n getOrderDetails(Transaction_Id: any) {\n this.service.GetCustomerOrderDetailById(Transaction_Id)\n .subscribe(\n (data: any) => {\n this.orderData = data;\n this.payWithRazor(this.orderData);\n }, (error) => {\n //document.getElementById('loader-spinner').style.display = \"none\";\n // this.errorHandler.HandlerError(error);\n this.notif.errorsmsg(error)\n }\n );\n }\n\n payWithRazor(orderData: any) {\n let options: any = {\n \"key\": orderData.razorpay_key, //\"rzp_test_6nc0ueIpVMNzjm\",\n \"amount\": orderData.amount, //1\n \"currency\": orderData.currency, //'INR',\n \"name\": \"Medetel\",\n \"description\": orderData.description, // \"test transaction data\",\n \"image\": \"../assets/images/AOL_MH.png\",\n \"order_id\": orderData.order_id, //'order_JtDqcX8aHdUwbo', //order_id created by you in backend \n \"modal\": {\n //We should prevent closing of the form when esc key is pressed.\n \"escape\": false\n },\n \"prefill\": {\n \"name\": orderData.name, //\"Alex DM\",\n \"contact\": orderData.phone_number, //\"7829930855\",\n \"email\": orderData.email// \"alex.dm@gmail.com\"\n\n },\n \"notes\": {\n \"address\": orderData.address, // \"B Block, Line No - 2, No 456, JSR-831003, JH\"\n \"merchant_order_id\": orderData.transaction_id\n },\n \"theme\": {\n \"color\": \"#6fbc29\"\n }\n };\n\n options.handler = ((response, error) => {\n options.response = response;\nif(this.quickWord=='QUICK')\n{\n //Quick Consultion\n this.service.CompleteOrderProcess_Quick(options.response)\n .subscribe(\n (data) => {\n console.log('verify success data :' + JSON.stringify(data));\n this.result = data;\n Swal.fire('Success!', ' Payment done successfully.', 'success').then((result) => {\n if (result.value) {\n // this.router.navigate(['/base/patient/join-meeting']);\n this.router.navigate(['/base/patient/join-meeting']).then(() => {\n window.location.reload();\n });\n }\n })\n\n }, (error) => {\n this.notif.errorsmsg(error)\n });\n}\nelse\n{\n //normal portal consula\n this.service.CompleteOrderProcess(options.response)\n .subscribe(\n (data) => {\n console.log('verify success data :' + JSON.stringify(data));\n this.result = data;\n Swal.fire('Success!', ' Payment done successfully.', 'success').then((result) => {\n if (result.value) {\n // this.router.navigate(['/base/patient/join-meeting']);\n this.router.navigate(['/base/patient/join-meeting']).then(() => {\n window.location.reload();\n });\n }\n })\n\n }, (error) => {\n this.notif.errorsmsg(error)\n });\n\n }\n\n });\n options.modal.ondismiss = (() => {\n this.notif.errorsmsg('Transaction cancelled.');\n });\n\n let rzp = new this.winRef.nativeWindow.Razorpay(options);\n rzp.open();\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentFormService {\n\n constructor(private http: HttpClient) { }\n\n \n GetCustomerOrderDetailById(Transaction_Id: any) {\n return this.http.get(`${environment.API_Base_URL}` + `Payment/GetCustomerOrderDetailById/`+ Transaction_Id);\n \n }\n \n CompleteOrderProcess(verifydata: any) {\n return this.http.post(`${environment.API_Base_URL}` + `Payment/CompleteOrderProcess`, verifydata);\n \n }\n\n CompleteOrderProcess_Quick(verifydata: any) {\n return this.http.post(`${environment.API_Base_URL}` + `Payment/CompleteOrderProcess_Quick`, verifydata);\n \n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ServiceService } from '../service.service';\r\n\r\n@Component({\r\n selector: 'app-payment-history',\r\n templateUrl: './payment-history.component.html',\r\n styleUrls: ['./payment-history.component.scss']\r\n})\r\nexport class PaymentHistoryComponent implements OnInit {\r\n\r\n maxall: number = 20 \r\n history:any=[];\r\n nodata:any=[];\r\n isAllSelected: any;\r\n\r\n constructor(private service: ServiceService) { \r\n this.dataSource.data = this.PeriodicElement;\r\n }\r\n\r\n PeriodicElement = [\r\n // {position: 1,ConsulationNo: '', DoctorName: '', TransactionId: '',Amount:'',CreatedDate:'',PaymentStatus:''},\r\n ];\r\n\r\n displayedColumns: string[] = ['position', 'Consultation No', 'Doctor Name', 'Transaction Id' , 'Amount' ,'Created Date','Payment Status'];\r\n dataSource = new MatTableDataSource();\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n \r\n ngOnInit(): void {\r\n this.get_paymenthistory();\r\n }\r\n // toggleAllSelection() {\r\n // this.isAllSelected = !this.isAllSelected;\r\n // this.dataSource.paginator = this.isAllSelected ? null : this.paginator;\r\n // }\r\n get_paymenthistory() {\r\n this.service.Get_paymenthistory()\r\n .subscribe((data) => {\r\n this.history = data\r\n if(this.history.length>0)\r\n {\r\n //console.log(\"his data :\" +this.history);\r\n this.dataSource= new MatTableDataSource(this.history);\r\n this.dataSource.paginator=this.paginator;\r\n }\r\n \r\n },\r\n (error:any)=>{\r\n //console.log(\"no data :\" +this.history);\r\n this.dataSource= new MatTableDataSource(this.nodata);\r\n this.dataSource.paginator=this.paginator;\r\n })\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n filterValue = filterValue.trim().toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n }\r\n getPageSizeOptions(): number[] {\r\n if (this.dataSource.data.length <= 5 || this.dataSource.data.length <= 10)\r\n return [5, this.dataSource.data.length];\r\n if (this.dataSource.data.length <= this.maxall)\r\n return [5, 10, this.dataSource.data.length];\r\n else\r\n return [5, 10, 20, this.dataSource.data.length];\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ServiceService } from '../service.service';\r\nimport swal from 'sweetalert2';\r\n\r\n\r\n@Component({\r\n selector: 'app-payment-result-normal',\r\n templateUrl: './payment-result-normal.component.html',\r\n styleUrls: ['./payment-result-normal.component.scss']\r\n})\r\nexport class PaymentResultNormalComponent implements OnInit {\r\n queryObj: any;\r\n payment_id: any;\r\n payment_status: any;\r\n id: any;\r\n transaction_id: any;\r\n response_data: any;\r\n\r\n constructor(private route: ActivatedRoute, public router: Router, private service: ServiceService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParamMap\r\n .subscribe((params) => {\r\n this.queryObj = { ...params.keys, ...params };\r\n }\r\n\r\n );\r\n //console.log(\"params :\" +JSON.stringify(this.queryObj)) \r\n\r\n var paydata = {\r\n payment_id: this.queryObj.params.payment_id,\r\n payment_status: this.queryObj.params.payment_status,\r\n payment_request_id: this.queryObj.params.payment_request_id\r\n }\r\n\r\n /*\r\n var paydata = {\r\n payment_id: 'MOJO3909105N63517615',\r\n payment_status: 'Credit',\r\n payment_request_id: 'e76722317ba84c59b5209bf1c5fbe206'\r\n }\r\n */\r\n\r\n this.service.UpdatePaymentStatus(paydata)\r\n .subscribe((data) => {\r\n this.response_data = data;\r\n if (this.response_data.code == \"200\") {\r\n swal.fire('Thank you.', this.response_data.message, 'success').then((result) => {\r\n if (result.value) {\r\n window.self.close();\r\n }\r\n this.router.navigate([\"/base/patient/appoinment\"]);\r\n })\r\n\r\n }\r\n /*\r\n else {\r\n swal.fire({\r\n icon: 'error',\r\n text: this.response_data.message,\r\n }).then((result) => {\r\n if (result.value) {\r\n window.self.close();\r\n }\r\n })\r\n }\r\n */\r\n\r\n }\r\n , (error) => {\r\n alert('Payment was not successfully. Please try again.');\r\n window.self.close();\r\n\r\n }\r\n );\r\n\r\n\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ServiceService } from '../service.service';\r\nimport swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-payment-result',\r\n templateUrl: './payment-result.component.html',\r\n styleUrls: ['./payment-result.component.scss']\r\n})\r\nexport class PaymentResultComponent implements OnInit {\r\n // minutes: number = 5;\r\n // seconds: number = 0;\r\n queryObj: any;\r\n payment_id: any;\r\n payment_status: any;\r\n id: any;\r\n transaction_id: any;\r\n response_data:any;\r\n\r\n constructor(private route: ActivatedRoute , public router:Router ,private service: ServiceService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.route.queryParamMap\r\n .subscribe((params) => {\r\n this.queryObj = { ...params.keys, ...params };\r\n }\r\n \r\n );\r\n //console.log(\"params :\" +JSON.stringify(this.queryObj)) \r\n \r\n var paydata={\r\n payment_id:this.queryObj.params.payment_id,\r\n payment_status:this.queryObj.params.payment_status,\r\n payment_request_id:this.queryObj.params.payment_request_id \r\n } \r\n \r\n \r\n /*\r\n var paydata = {\r\n payment_id: 'MOJO3909105N63517615',\r\n payment_status: 'Credit',\r\n payment_request_id: 'e76722317ba84c59b5209bf1c5fbe206'\r\n }\r\n */\r\n \r\n this.service.UpdatePaymentStatus_Portal(paydata)\r\n .subscribe((data) => {\r\n this.response_data=data;\r\n if(this.response_data.code==\"200\") \r\n {\r\n swal.fire('Thank you.', this.response_data.message, 'success').then((result) => {\r\n if (result.value) { \r\n window.self.close(); \r\n // this.startTimer();\r\n \r\n }\r\n this.router.navigate([\"/base/patient/join-meeting\"]);\r\n }) \r\n // this.router.navigate([\"/base/patient/quick_consult\"]);\r\n }\r\n /*\r\n else\r\n { \r\n swal.fire({\r\n icon: 'error', \r\n text: this.response_data.message, \r\n }).then((result) => {\r\n if (result.value) { \r\n window.self.close();\r\n }\r\n })\r\n } \r\n */\r\n \r\n //this.router.navigate([\"/base/patient/appoinment\"]);\r\n }\r\n , (error) => {\r\n \r\n alert('Payment was not successfully. Please try again.');\r\n window.self.close();\r\n \r\n }\r\n \r\n ); \r\n }\r\n \r\n // startTimer() {\r\n // const timerInterval = setInterval(() => {\r\n // if (this.seconds > 0) {\r\n // this.seconds--;\r\n // } else {\r\n // if (this.minutes > 0) {\r\n // this.minutes--;\r\n // this.seconds = 59;\r\n // } else {\r\n // clearInterval(timerInterval); // Timer expired\r\n // swal\r\n // .fire({\r\n // title: 'Emergency ?',\r\n // text: 'Selected Doctor is busy, would you like to change the Doctor?',\r\n // icon: 'question',\r\n // showCancelButton: true,\r\n // confirmButtonText: 'Yes',\r\n // cancelButtonText: 'No',\r\n // })\r\n // .then((result) => {\r\n // if (result.value) {\r\n // // console.log(\"User clicked 'Yes'. Navigating to appointment page.\");\r\n // // this.router.navigateByUrl('/base/patient/appointment');\r\n // } else {\r\n // // this.router.navigate(['/base/patient/appointment']);\r\n // }\r\n // });\r\n // }\r\n // }\r\n // }, 1000); // Update timer every 1 second\r\n // }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport jsPDF from 'jspdf';\r\nimport { LabTestService } from '../../lab-test/lab-test.service';\r\nimport html2canvas from 'html2canvas';\r\nimport { PrescriptionService } from '../prescription.service';\r\n@Component({\r\n selector: 'app-prescription-view',\r\n templateUrl: './prescription-view.component.html',\r\n styleUrls: ['./prescription-view.component.scss']\r\n})\r\nexport class PrescriptionViewComponent implements OnInit {\r\n mainData: any;\r\n childData: any;\r\n imageUrl2: any;\r\n imageUrl;\r\n hospital_Name: any;\r\n address: any;\r\n gram_name: any;\r\n taluk_name: any;\r\n district_name: any;\r\n state_name: any;\r\n postalcode: any;\r\n country_name: any;\r\n email: any;\r\n phonenumber: any;\r\n hos_url: any;\r\n coN_DO_Name: any;\r\n coN_PR_Name: any;\r\n coN_Date: any;\r\n coN_Id: any;\r\n //pr_Id: any;\r\n page_title: any;\r\n coN_PR_Id_FK: any;\r\n coN_PR_Code: any;\r\n coN_PR_Age: any;\r\n hos_phoneNo:any;\r\n /*\r\n @ViewChild('pdfTable') pdfTable!: ElementRef;\r\n public exportPDF() {\r\n const pdfTable = this.pdfTable.nativeElement;\r\n var html = htmlToPdfmake(pdfTable.innerHTML);\r\n const documentDefinition = { content: html };\r\n pdfMake.createPdf(documentDefinition).download(); \r\n \r\n }\r\n */\r\n\r\n // download() {\r\n // \tconst printContents = document.getElementById('print-section').innerHTML;\r\n // \tconst blob = new Blob([printContents], { type: 'text/html' });\r\n // \tconst url = URL.createObjectURL(blob);\r\n\r\n // \tconst a = document.createElement('a');\r\n // \ta.href = url;\r\n // \ta.download = \"Labtest-\" + this._data.d.coN_Id + \".html\"; // Specify the desired filename\r\n // \ta.click();\r\n // \t}\r\n\r\n download() {\r\n const element = document.getElementById('pdfTable');\r\n\r\n html2canvas(element, {\r\n scale: 2,\r\n }).then((canvas) => {\r\n const imgData = canvas.toDataURL('image/png');\r\n const doc = new jsPDF('p', 'mm', 'a4');\r\n const imgWidth = 190;\r\n const pageHeight = 295;\r\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\r\n let heightLeft = imgHeight;\r\n let position = 10;\r\n doc.addImage(imgData, 'PNG', position, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n doc.addPage();\r\n doc.addImage(imgData, 'PNG', 10, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n const Filename = \"Labtest-\" + this._data.d.coN_Id + \".pdf\";\r\n doc.save(Filename);\r\n });\r\n }\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) private _data: any, private service: PrescriptionService, private http: HttpClient) { }\r\n\r\n\r\n\r\n printThisPage() {\r\n window.print();\r\n }\r\n\r\n\r\n // \tngOnInit(): void {\r\n // \t this.service.GetConsult_LabTestById(this._data.d.coN_Id).subscribe((data:any)=>{\r\n // \t\t\tthis.mainData = data;\r\n // \t\t\tthis.childData = data[0].getalllabtest;\t\r\n // \t\t\tthis.imageUrl = this.mainData[0].hospital_Logo\r\n\r\n // \t})\r\n\r\n // }\r\n // }\r\n ngOnInit(): void {\r\n this.service.get_prescriptionbyid(this._data.d.coN_Id).subscribe((data: any) => {\r\n this.mainData = data;\r\n console.log('main data :' + JSON.stringify(this.mainData))\r\n this.hospital_Name = this.mainData[0].hospital_Name;\r\n this.address = this.mainData[0].address == null ? '' : this.mainData[0].hospital_Address;\r\n this.gram_name = this.mainData[0].gram_name == null ? '' : this.mainData[0].gram_name +',';\r\n this.taluk_name = this.mainData[0].taluk_name == null ? '' : this.mainData[0].taluk_name +',';\r\n this.district_name = this.mainData[0].district_name == null ? '' : this.mainData[0].district_name +',';\r\n this.state_name = this.mainData[0].state_name == null ? '' : this.mainData[0].state_name +',';\r\n this.postalcode = this.mainData[0].postalcode == null ? '' : this.mainData[0].postalcode +',';\r\n this.country_name = this.mainData[0].country_name == null ? '' : this.mainData[0].country_name +',';\r\n this.email = this.mainData[0].email == null ? '' : this.mainData[0].hospital_Email;\r\n this.phonenumber = this.mainData[0].phonenumber == null ? '' : this.mainData[0].phonenumber;\r\n this.hos_url = this.mainData[0].hos_url == null ? '' : this.mainData[0].hos_url;\r\n this.coN_Id = this.mainData[0].coN_Id == null ? '' : this.mainData[0].coN_Id;\r\n this.coN_PR_Id_FK = this.mainData[0].coN_PR_Id_FK == null ? '' : this.mainData[0].coN_PR_Id_FK;\r\n this.coN_DO_Name = this.mainData[0].coN_DO_Name == null ? '' : this.mainData[0].coN_DO_Name;\r\n this.coN_PR_Code = this.mainData[0].coN_PR_Code == null ? '' : this.mainData[0].coN_PR_Code;\r\n this.coN_PR_Age = this.mainData[0].coN_PR_Age == null ? '' : this.mainData[0].coN_PR_Age;\r\n this.coN_PR_Name = this.mainData[0].coN_PR_Name == null ? '' : this.mainData[0].coN_PR_Name;\r\n this.coN_Date = this.mainData[0].coN_Date == null ? '' : this.mainData[0].coN_Date;\r\n this.childData = data[0].getallprescription ;\r\n this.imageUrl = this.mainData[0].hospital_Logo;\r\n this.imageUrl2 = this.mainData[0].do_signature;\r\n this.hos_phoneNo = this.mainData[0].phonenumber;\r\n this.page_title = 'Lab' + '-' + 'ConsId' + this.coN_Id + '-' + 'PId' + this.coN_PR_Id_FK;;\r\n\r\n })\r\n }\r\n\r\n //${this.service_Id}\r\n\r\n printForm(): void {\r\n let printContents, popupWin;\r\n printContents = document.getElementById('print-section').innerHTML;\r\n popupWin = window.open('', '_blank', 'top=0,left=0,height=700,width=700');\r\n popupWin.document.open();\r\n popupWin.document.write(`\r\n \r\n \r\n ${this.page_title} \r\n \r\n \r\n ${printContents}\r\n `\r\n );\r\n\r\n popupWin.document.close();\r\n }\r\n}\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { TooltipPosition } from '@angular/material/tooltip';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { LabTestViewComponent } from '../lab-test/lab-test-view/lab-test-view.component';\r\nimport { PrescriptionService } from './prescription.service';\r\nimport { Notification } from '../../../core/Notifications/Notification';\r\nimport { PrescriptionViewComponent } from './prescription-view/prescription-view.component';\r\n@Component({\r\n selector: 'app-prescription',\r\n templateUrl: './prescription.component.html',\r\n styleUrls: ['./prescription.component.scss']\r\n})\r\nexport class PrescriptionComponent implements OnInit {\r\n Pharmacyinfo: FormGroup;\r\n dtOptions = {};\r\n drugtest: any;\r\n data: any;\r\n id: any;\r\n TooltipPosition: TooltipPosition[] = ['above'];\r\n constructor(private service: PrescriptionService, private fb: FormBuilder, private route: ActivatedRoute, private notif: Notification, public dialog: MatDialog) {\r\n this.Pharmacyinfo = this.fb.group({\r\n 'id': [''],\r\n 'coN_PR_Id_FK': [''],\r\n 'coN_PR_Name': [''],\r\n 'prc_Drg_name': [''],\r\n 'prc_dosage_qty': [''],\r\n 'prc_drug_duration': [''],\r\n 'status_name': [''],\r\n // 'prc_intake_instaruction': [''],\r\n // 'prc_intake_instaruction': ['', [Validators.pattern(\"[0-9]{2}$\"), Validators.maxLength(2)]],\r\n\r\n 'prc_CONS_id_FK': [this.route.snapshot.params['id']],\r\n })\r\n }\r\n view(d: any) {\r\n const dialogRef = this.dialog.open(PrescriptionViewComponent,\r\n {\r\n height: '100%',\r\n width: '100%',\r\n data: { d },\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n ngOnInit(): void {\r\n this.dtOptions = {\r\n dom: 'lBfrtip',\r\n lengthMenu: [[5, 10, 20, -1], [5, 10, 20, \"All\"]],\r\n scroll: \"250px\",\r\n select: true,\r\n buttons: [\r\n {\r\n extend: 'collection',\r\n className: 'btn-primary',\r\n text: 'Export',\r\n buttons: [\r\n { extend: 'copy', className: 'btn-primary' },\r\n { extend: 'csv', className: 'btn-primary' },\r\n { extend: 'excel', className: 'btn-primary' },\r\n { extend: 'pdf', className: 'btn-primary' },\r\n { extend: 'print', className: 'btn-primary' },\r\n ]\r\n },\r\n {\r\n extend: 'colvis',\r\n className: 'btn-primary',\r\n text: 'Column Visibility',\r\n },\r\n ],\r\n }\r\n this.getall_prescription();\r\n\r\n }\r\n\r\n getall_prescription() {\r\n this.service.getall_prescription()\r\n .subscribe((data) => {\r\n this.drugtest = data;\r\n })\r\n }\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PrescriptionService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n // Drug_Prescription/GetAllDrug_Prescription_Pharmacy_Patient\r\n getall_prescription() {\r\n return this.http.get(`${environment.API_Base_URL}` + `Drug_Prescription/GetAllDrug_Prescription_Pharmacy_Patient`)\r\n }\r\n get_prescriptionbyid(id) {\r\n return this.http.get(`${environment.API_Base_URL}` + `Drug_Prescription/GetById_Drug_Prescription_Pharmacy_Patient?cons_id=${id}`)\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { TooltipPosition } from '@angular/material/tooltip';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ServiceService } from '../service.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-previous-records',\r\n templateUrl: './previous-records.component.html',\r\n styleUrls: ['./previous-records.component.scss']\r\n})\r\nexport class PreviousRecordsComponent implements OnInit {\r\n previousRecordForm: FormGroup;\r\n document: any;\r\n selectedFiles: any;\r\n Image_Url;\r\n test=environment.Image_Url +'PatientDocuments';\r\n base64Image: any;\r\n documentdetails: any;\r\n patient_id:any;\r\n // TooltipPosition: TooltipPosition[] = ['above'];\r\n // dtOptions = {};\r\n constructor(private domSanitizer: DomSanitizer, private formBuilder: FormBuilder, private service: ServiceService) {\r\n\r\n this.previousRecordForm = this.formBuilder.group({\r\n 'Doc_Id': [''],\r\n 'Doc_Type_Id_FK': [''],\r\n 'documentname': [''],\r\n 'file': ['']\r\n });\r\n this.dataSource.data = this.PeriodicElement;\r\n }\r\n\r\n PeriodicElement = [\r\n // {position: 1, DocumentId: '', DocumentType: '', Document: '',DocumentName: '',},\r\n ];\r\n\r\n displayedColumns: string[] = ['position', 'DocumentId', 'DocumentType', 'DocumentName','Document'];\r\n dataSource = new MatTableDataSource();\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n\r\n ngOnInit(): void {\r\n\r\n this.patient_id=localStorage.getItem('patient id');\r\n //alert(this.patient_id)\r\n \r\n this.get_documenttype();\r\n this.get_document();\r\n // this.dtOptions = {\r\n // // dom: 'lBfrtip',\r\n // lengthMenu: [[3, 5, 10, -1], [3, 5, 10, \"All\"]],\r\n // }\r\n }\r\n\r\n // onSelectFile(fileInput: any) {\r\n // this.selectedFiles = fileInput.target.files[0];\r\n // var reader = new FileReader();\r\n // reader.readAsDataURL(fileInput.target.files[0]);\r\n // reader.onload = (event: any) => {\r\n // this.base64Image = this.domSanitizer.bypassSecurityTrustUrl(event.target.result);\r\n // this.Image_Url = this.base64Image\r\n // console.log(this.Image_Url)\r\n // };\r\n // }\r\n\r\n get_documenttype() {\r\n this.service.Get_documentdropdown()\r\n .subscribe((data) => {\r\n this.document = data\r\n console.log(this.document)\r\n })\r\n }\r\n get_document() {\r\n \r\n this.service.Get_documentdetail(this.patient_id)\r\n .subscribe((data) => {\r\n this.documentdetails = data\r\n console.log('getdoc',this.documentdetails)\r\n this.dataSource= new MatTableDataSource(this.documentdetails);\r\n this.dataSource.paginator=this.paginator;\r\n this.Image_Url=environment.Image_Url +'PatientDocuments';\r\n })\r\n }\r\n // save_document() {\r\n // console.log(\"chossen file :\" +this.selectedFiles)\r\n // console.log('PR', this.previousRecordForm.value)\r\n // const formData = new FormData();\r\n // formData.append('Doc_Type_Id_FK', this.previousRecordForm.value.Doc_Type_Id_FK);\r\n // formData.append('documentname', this.previousRecordForm.value.documentname);\r\n // formData.append('Choose_Document', this.selectedFiles);\r\n // this.service.Insert_document(formData).subscribe((data) => {\r\n // console.log('API Output',data)\r\n \r\n\r\n // })\r\n // }\r\n applyFilter(filterValue: string) {\r\n filterValue = filterValue.trim().toLowerCase();\r\n this.dataSource.filter = filterValue;\r\n }\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Notification } from '../../../../core/Notifications/Notification';\r\nimport { ProfileService } from '../profile.service';\r\nimport { Router } from '@angular/router';\r\nimport { FormBuilder, FormControlName, FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { DatePipe } from '@angular/common';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { environment } from 'src/environments/environment';\r\nimport { NavbarService } from 'src/app/services/navbar.service';\r\n\r\n@Component({\r\n selector: 'app-editprofile',\r\n templateUrl: './editprofile.component.html',\r\n styleUrls: ['./editprofile.component.scss']\r\n})\r\nexport class EditprofileComponent implements OnInit {\r\n selectedFiles: any;\r\n today=new Date();\r\n assetse = [];\r\n Image_Url;\r\n image: boolean;\r\n username;\r\n base64Image: any;\r\n testing: any;\r\n api:any;\r\n country: any;\r\n state: any;\r\n district: any;\r\n taluk: any;\r\n states: any;\r\n village: any;\r\n districtfilter: any;\r\n statefilter: any;\r\n talukfilter: any;\r\n villagefilter: any;\r\n gram: any;\r\n pincode: any;\r\n formValue: any;\r\n showDependentFields: boolean = false;\r\n relation: Object;\r\n constructor(private domSanitizer: DomSanitizer, private profileservice: ProfileService, private router: Router, private formBuilder: FormBuilder,\r\n private notify: Notification, private navbarservice:NavbarService) {\r\n }\r\n profileupdate = new FormGroup({\r\n PR_FirstName: new FormControl('',[Validators.pattern(\"^\\\\S{0}.{0,24}\\\\S{1}$\"), Validators.required, this.nameValidatorss]),\r\n PR_LastName: new FormControl('',[Validators.pattern(\"^\\\\S{0}.{0,24}\\\\S{1}$\"), Validators.required, this.nameValidatorss]),\r\n PR_Email: new FormControl('',[Validators.email]),\r\n PR_MobileNumber: new FormControl('',[Validators.pattern(\"[0-9]{10}$\"), this.nameValidator, Validators.minLength(10), Validators.maxLength(10), Validators.required]),\r\n PR_Gender: new FormControl('',[Validators.required]),\r\n PR_DOB: new FormControl('',[Validators.required]),\r\n PR_Age: new FormControl('',[Validators.required]),\r\n PR_BloodGroup: new FormControl('',[Validators.required]),\r\n //PR_Gram_Id: new FormControl(''),\r\n PR_Village: new FormControl('',[Validators.pattern(\"^\\\\S{0}.{0,24}\\\\S{1}$\"), this.nameValidatorss]),\r\n PR_Taluk_Id: new FormControl(''),\r\n PR_D_Id_FK: new FormControl(''),\r\n PR_S_Id_FK: new FormControl(''),\r\n PR_Country_Id_FK: new FormControl(''),\r\n PR_Postalcode: new FormControl('',[Validators.required,this.nameValidator]),\r\n UserId: new FormControl(''),\r\n PR_Id: new FormControl(''),\r\n pD_PR_Id_FK: new FormControl(''),\r\n PD_Id: new FormControl(0),\r\n PR_Photo:new FormControl(''),\r\n PD_Name: new FormControl('',[Validators.pattern(\"^\\\\S{0}.{0,24}\\\\S{1}$\"), Validators.required, this.nameValidatorss]),\r\n PD_Gender: new FormControl('',[Validators.required]),\r\n PD_DOB: new FormControl('',[Validators.required]),\r\n PD_Age: new FormControl('',[Validators.required]),\r\n PD_Blood_Group: new FormControl('',[Validators.required]),\r\n PD_Relation_Id_FK: new FormControl(''),\r\n\r\n });\r\n selectFile(event) {\r\n this.selectedFiles = event.target.files;\r\n console.log(this.selectedFiles);\r\n }\r\n toggleDependentFields() {\r\n this.showDependentFields = !this.showDependentFields;\r\n if (!this.showDependentFields) {\r\n this.resetDependentValidators();\r\n } else {\r\n this.setDependentValidators();\r\n }\r\n }\r\n \r\n resetDependentValidators() {\r\n const controls = ['PD_Name', 'PD_Gender', 'PD_DOB', 'PD_Age', 'PD_Blood_Group', 'PD_Relation_Id_FK']; // Add more dependent fields as needed\r\n \r\n controls.forEach(controlName => {\r\n const control = this.profileupdate.get(controlName);\r\n if (control) {\r\n control.clearValidators();\r\n control.updateValueAndValidity();\r\n }\r\n });\r\n }\r\n \r\n setDependentValidators() {\r\n const controls = {\r\n 'PD_Name': [Validators.pattern(\"^\\\\S{0}.{0,24}\\\\S{1}$\"), Validators.required, this.nameValidatorss],\r\n 'PD_Gender': [Validators.required],\r\n 'PD_DOB': [Validators.required],\r\n 'PD_Age': [Validators.required],\r\n 'PD_Blood_Group': [Validators.required],\r\n 'PD_Relation_Id_FK': [Validators.required]\r\n };\r\n \r\n for (const controlName in controls) {\r\n const control = this.profileupdate.get(controlName);\r\n if (control) {\r\n control.setValidators(controls[controlName]);\r\n control.updateValueAndValidity();\r\n }\r\n }\r\n }\r\n \r\n\r\n dobchange(event) {\r\n if (event.value) {\r\n const convertAge = new Date(event.value);\r\n const timeDiff = Math.abs(Date.now() - convertAge.getTime());\r\n const age = Math.floor((timeDiff / (1000 * 3600 * 24)) / 365);\r\n this.profileupdate.controls['PR_Age'].setValue(age)\r\n }\r\n }\r\n dobchange2(event) {\r\n if (event.value) {\r\n const convertAge = new Date(event.value);\r\n const timeDiff = Math.abs(Date.now() - convertAge.getTime());\r\n const age = Math.floor((timeDiff / (1000 * 3600 * 24)) / 365);\r\n this.profileupdate.controls['PD_Age'].setValue(age)\r\n }\r\n }\r\n onSelectFile(fileInput: any) {\r\n this.selectedFiles = fileInput.target.files[0];\r\n var mimeType= this.selectedFiles.type\r\n //console.log('selected file type :',mimeType )\r\n //console.log('selected file :',this.selectedFiles )\r\n if (mimeType.match(/image\\/*/) == null)\r\n {\r\n\t\t\t //alert(\"Only images are supported\");\r\n this.notify.errorsmsg(\"Please upload image only.\");\r\n this.selectedFiles=\"\";\r\n this.Image_Url=\"\";\r\n this.profileupdate.controls['PR_Photo'].setValue(\"\");\r\n return;\r\n \r\n\t\t} \r\n\r\n \r\n var reader = new FileReader();\r\n reader.readAsDataURL(fileInput.target.files[0]);\r\n reader.onload = (event: any) => {\r\n this.base64Image = this.domSanitizer.bypassSecurityTrustUrl(event.target.result);\r\n this.Image_Url = this.base64Image\r\n //saheb\r\n this.navbarservice.changeUserImage(this.Image_Url)\r\n \r\n };\r\n \r\n }\r\n\r\n nameValidatorss(control: any): { [key: string]: boolean } {\r\n const nameRegexp: RegExp = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?/\\/,/0-9]/;\r\n // const spaceexp: RegExp =/[/\\s/g, '']/\r\n\r\n if (control.value && nameRegexp.test(control.value)) {\r\n return { invalidName: true };\r\n }\r\n }\r\n\r\n nameValidator(control: any): { [key: string]: boolean } {\r\n const nameRegexp: RegExp = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?/\\s/g,''/a-zA-Z]/;\r\n // const spaceexp: RegExp =/[/\\s/g, '']/\r\n\r\n if (control.value && nameRegexp.test(control.value)) {\r\n return { invalidName: true };\r\n }\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n if (!this.showDependentFields) {\r\n this.resetDependentValidators();\r\n } else {\r\n this.setDependentValidators();\r\n }\r\n this.get_relation();\r\n this.get_country();\r\n this.profileservice.get_Patientprofile()\r\n .subscribe((data: any) => {\r\n console.log('Patient profile:', JSON.stringify(data)); \r\n this.profileupdate.controls['PR_Id'].setValue(data.Id);\r\n this.profileupdate.controls['UserId'].setValue(data.UserId);\r\n this.profileupdate.controls['PR_FirstName'].setValue(data.Firstname);\r\n this.profileupdate.controls['PR_LastName'].setValue(data.Lastname);\r\n this.profileupdate.controls['PR_Email'].setValue(data.Email);\r\n this.profileupdate.controls['PR_MobileNumber'].setValue(data.Mobilenumber);\r\n this.profileupdate.controls['PR_Gender'].setValue(data.Gender);\r\n this.profileupdate.controls['PR_DOB'].setValue(data.DOB==\"1900-01-01T00:00:00\" ? '': data.DOB);\r\n this.profileupdate.controls['PR_Age'].setValue(data.Age);\r\n this.profileupdate.controls['PR_BloodGroup'].setValue(data.Bloodgroup);\r\n if(data.Country_Id_FK!=0)\r\n {\r\n this.get_state();\r\n this.get_district();\r\n this.get_taluk(); \r\n this.profileupdate.controls['PR_Country_Id_FK'].setValue(data.Country_Id_FK);\r\n this.profileupdate.controls['PR_S_Id_FK'].setValue(data.State_Id_FK);\r\n this.profileupdate.controls['PR_D_Id_FK'].setValue(data.District_Id_FK);\r\n this.profileupdate.controls['PR_Taluk_Id'].setValue(data.Taluk_Id_FK);\r\n }\r\n this.profileupdate.controls['PR_Village'].setValue(data.Gram_name);\r\n this.profileupdate.controls['PR_Postalcode'].setValue(data.Postalcode);\r\n this.Image_Url = data.Photo;\r\n this.username = data.userName;\r\n })\r\n }\r\n select(data: any) {\r\n this.api = true;\r\n }\r\n saveForm() {\r\n if(this.profileupdate.invalid)\r\n {\r\n this.formValue=true\r\n return;\r\n }\r\n console.log(this.profileupdate.value)\r\n const formData = new FormData();\r\n const DOB = new DatePipe('en-US').transform(this.profileupdate.value.PR_DOB, 'dd/MM/yyyy')\r\n const DOB2 = new DatePipe('en-US').transform(this.profileupdate.value.PD_DOB, 'dd/MM/yyyy')\r\n formData.append('PR_FirstName', this.profileupdate.value.PR_FirstName);\r\n formData.append('PR_LastName', this.profileupdate.value.PR_LastName);\r\n formData.append('PR_Email', this.profileupdate.value.PR_Email);\r\n formData.append('PR_MobileNumber', this.profileupdate.value.PR_MobileNumber);\r\n formData.append('PR_Gender', this.profileupdate.value.PR_Gender);\r\n formData.append('PR_DOB', DOB);\r\n formData.append('PR_Age', this.profileupdate.value.PR_Age);\r\n formData.append('PR_BloodGroup', this.profileupdate.value.PR_BloodGroup); \r\n formData.append('PR_Village', this.profileupdate.value.PR_Village);\r\n formData.append('PR_Taluk_Id', this.profileupdate.value.PR_Taluk_Id);\r\n formData.append('PR_D_Id_FK', this.profileupdate.value.PR_D_Id_FK);\r\n formData.append('PR_S_Id_FK', this.profileupdate.value.PR_S_Id_FK);\r\n formData.append('PR_Country_Id_FK', this.profileupdate.value.PR_Country_Id_FK);\r\n formData.append('PR_Postalcode', this.profileupdate.value.PR_Postalcode);\r\n formData.append('UserId', this.profileupdate.value.UserId);\r\n formData.append('PR_Id', this.profileupdate.value.PR_Id);\r\n formData.append('PR_Photo', this.selectedFiles);\r\n // formData.append('PD_Name', this.profileupdate.value.PD_Name);\r\n // formData.append('PD_Relation_Id_FK', this.profileupdate.value.PD_Relation_Id_FK);\r\n // formData.append('PD_Gender', this.profileupdate.value.PD_Gender);\r\n // formData.append('PD_DOB', DOB2);\r\n // formData.append('PD_Age', this.profileupdate.value.PD_Age);\r\n // formData.append('PD_Blood_Group', this.profileupdate.value.PD_Blood_Group);\r\n \r\n this.profileservice.update_profile(formData)\r\n .subscribe((res) => {\r\n console.log(res)\r\n this.notify.successmsg(\"Profile Updated Successfully\");\r\n // window.location.reload();\r\n if (this.showDependentFields) {\r\n this.saveDependentDetails();\r\n } else {\r\n window.location.reload();\r\n }\r\n }, (error) => {\r\n }) \r\n }\r\n\r\n saveDependentDetails() {\r\n const formData = new FormData();\r\n const DOB2 = new DatePipe('en-US').transform(this.profileupdate.value.PD_DOB, 'dd/MM/yyyy');\r\n // formData.append('PD_Id', this.profileupdate.value.pD_Id);\r\n formData.append('pD_PR_Id_FK', this.profileupdate.value.PR_Id);\r\n formData.append('PD_Name', this.profileupdate.value.PD_Name);\r\n formData.append('PD_Relation_Id_FK', this.profileupdate.value.PD_Relation_Id_FK);\r\n formData.append('PD_Gender', this.profileupdate.value.PD_Gender);\r\n formData.append('PD_DOB', DOB2);\r\n formData.append('PD_Age', this.profileupdate.value.PD_Age);\r\n formData.append('PD_Blood_Group', this.profileupdate.value.PD_Blood_Group);\r\n \r\n // this.profileservice.save_dependent_profile(formData)\r\n // .subscribe((res) => {\r\n // console.log(res);\r\n // this.notify.successmsg(\"Dependent Details Updated Successfully\");\r\n // // window.location.reload();\r\n // }, (error) => {\r\n // this.notify.errorsmsg(\"Dependent Details Not Updated\");\r\n // });\r\n\r\n const pdId = this.profileupdate.value.PD_Id;\r\n if (pdId === 0) {\r\n console.log(JSON.stringify(formData));\r\n this.profileservice.save_dependent_profile(formData)\r\n .subscribe((res) => {\r\n console.log(res);\r\n this.notify.successmsg(\"Dependent Details Saved Successfully\");\r\n window.location.reload();\r\n }, (error) => {\r\n this.notify.errorsmsg(\"Dependent Details Not Saved\");\r\n });\r\n } else {\r\n formData.append('PD_Id', pdId);\r\n this.profileservice.update_dependent_profile(formData)\r\n .subscribe((res) => {\r\n console.log(res);\r\n this.notify.successmsg(\"Dependent Details Updated Successfully\");\r\n window.location.reload();\r\n }, (error) => {\r\n this.notify.errorsmsg(\"Dependent Details Not Updated\");\r\n });\r\n }\r\n }\r\n\r\n get_country(){\r\n this.profileservice.Get_country()\r\n .subscribe((data)=>{\r\n this.country=data\r\n })\r\n }\r\n get_relation(){\r\n this.profileservice.get_relation()\r\n .subscribe((data)=>{\r\n this.relation=data\r\n })\r\n }\r\n get_state(){\r\n this.profileservice.Get_state_f()\r\n .subscribe((data)=>{\r\n this.state=data\r\n })\r\n }\r\n \r\n get_district(){\r\n this.profileservice.Get_alldistrict()\r\n .subscribe((data)=>{\r\n this.district=data\r\n })\r\n }\r\n \r\n get_taluk(){\r\n this.profileservice.Get_allTaluk()\r\n .subscribe((data)=>{\r\n this.taluk=data\r\n })\r\n }\r\n \r\n get_gram(){\r\n this.profileservice.Get_allgram()\r\n .subscribe((data)=>{\r\n this.gram=data\r\n })\r\n }\r\n\r\n countrychange(event) {\r\n this.profileupdate.controls['PR_S_Id_FK'].reset();\r\n this.profileupdate.controls['PR_S_Id_FK'].updateValueAndValidity();\r\n this.profileupdate.controls['PR_D_Id_FK'].reset();\r\n this.profileupdate.controls['PR_D_Id_FK'].updateValueAndValidity();\r\n this.profileupdate.controls['PR_Taluk_Id'].reset();\r\n this.profileupdate.controls['PR_Taluk_Id'].updateValueAndValidity();\r\n this.gram = undefined\r\n this.taluk = undefined\r\n this.district = undefined\r\n this.state = undefined\r\n this.profileservice.Get_Statebyid(event)\r\n .subscribe((data) => {\r\n this.state = data\r\n if (this.state == '') {\r\n this.profileupdate.controls['PR_S_Id_FK'].setValue('');\r\n this.profileupdate.controls['PR_D_Id_FK'].setValue('');\r\n this.profileupdate.controls['PR_Taluk_Id'].setValue(''); \r\n\r\n }\r\n\r\n if (this.state.length == 0) {\r\n this.notify.errorsmsg(\"Data not found!\");\r\n }\r\n })\r\n }\r\n statechange(event) {\r\n this.profileupdate.controls['PR_D_Id_FK'].reset();\r\n this.profileupdate.controls['PR_D_Id_FK'].updateValueAndValidity();\r\n this.profileupdate.controls['PR_Taluk_Id'].reset();\r\n this.profileupdate.controls['PR_Taluk_Id'].updateValueAndValidity();\r\n this.gram = undefined\r\n this.taluk = undefined\r\n this.district = undefined\r\n this.profileservice.Get_Districtbyid(event)\r\n .subscribe((data) => {\r\n this.district = data\r\n }, (error: any) => {\r\n\r\n this.profileupdate.controls['PR_D_Id_FK'].setValue('');\r\n this.profileupdate.controls['PR_Taluk_Id'].setValue('');\r\n });\r\n }\r\n\r\n distritchange(event) {\r\n this.profileupdate.controls['PR_Taluk_Id'].reset();\r\n this.profileupdate.controls['PR_Taluk_Id'].updateValueAndValidity();\r\n if (this.profileupdate.value.PR_D_Id_FK !== event) {\r\n this.profileupdate.controls['PR_Taluk_Id'].setValue('');\r\n }\r\n this.gram = undefined\r\n this.taluk = undefined\r\n\r\n this.gram = undefined\r\n this.taluk = undefined\r\n this.profileservice.Get_Talukbyid(event)\r\n\r\n .subscribe((data) => {\r\n this.taluk = data;\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n testempty: any = [];\r\n gramData: any = [];\r\n talukchange(event) {\r\n if (this.profileupdate.value.PR_Taluk_Id !== event) {\r\n this.profileupdate.controls['PR_Village'].setValue(''); // Reset village selection\r\n this.profileupdate.controls['PR_Postalcode'].setValue(''); // Reset postal code\r\n }\r\n\r\n this.gram = undefined;\r\n this.profileservice.Get_Gram_id(event)\r\n .subscribe(\r\n (data) => {\r\n this.gram = data;\r\n },\r\n (error) => {\r\n this.gram = this.testempty;\r\n }\r\n );\r\n }\r\n \r\n\r\n selectpincode(gram_id){\r\n console.log(gram_id)\r\n // this.pincode=null\r\n this.pincode=this.gram.filter(x=>x.gram_id==gram_id)\r\n //console.log(this.pincode)\r\n this.profileupdate.controls['Postalcode'].setValue(this.pincode[0].postal_Code)\r\n\r\n }\r\n //state\r\n checkFilterCountry(data) {\r\n this.statefilter = this.state.filter(c => c.cntry_id == data.value);\r\n let stat_id = this.statefilter.stat_id;\r\n this.profileupdate.controls['pR_S_Id_FK'].setValue(stat_id);\r\n }\r\n //district\r\n checkFilterState(data) {\r\n this.districtfilter = this.district.filter(c => c.stat_id == data.value);\r\n let district_id = this.districtfilter.district_id;\r\n this.profileupdate.controls['pR_D_Id_FK'].setValue(district_id);\r\n }\r\n //taluk\r\n checkFilterDistrict(data) {\r\n this.talukfilter = this.taluk.filter(c => c.district_id == data.value);\r\n let taluk_id = this.talukfilter.taluk_id;\r\n this.profileupdate.controls['pR_Taluk_Id'].setValue(taluk_id);\r\n }\r\n //village\r\n checkFilterTaluk(data) {\r\n this.villagefilter = this.village.filter(c => c.taluk_id == data.value);\r\n let gram_id = this.villagefilter.gram_id;\r\n this.profileupdate.controls['pR_Gram_Id'].setValue(gram_id);\r\n }\r\n\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { data } from 'jquery';\r\nimport { Notification } from '../../../core/Notifications/Notification';\r\nimport { ProfileService } from './profile.service';\r\nimport { FormBuilder, FormControlName } from '@angular/forms';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root' \r\n})\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.scss']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n user_profile: FormGroup;\r\n\r\n profile:any;\r\n pR_Photo;\r\n pR_FirstName;\r\n pR_LastName;\r\n pR_Email;\r\n pR_MobileNumber;\r\n pR_Gender;\r\n pR_DOB;\r\n pR_Age;\r\n pR_BloodGroup;\r\n pR_Village;\r\n pR_Taluk;\r\n pR_District;\r\n pR_StateName;\r\n pR_Country_Name;\r\n pR_Postalcode;\r\n Image_Url;\r\n NA_Country_Name;\r\n\r\n constructor(private profileservice: ProfileService, private router: Router, private formBuilder: FormBuilder,\r\n private notify: Notification,private fb: FormBuilder) {\r\n this.user_profile = this.fb.group({\r\n 'email':[],\r\n 'mobile_number':[],\r\n 'gender':[],\r\n 'dob':[],\r\n 'age':[],\r\n 'bloodgroup':[],\r\n 'country':[],\r\n 'state':[],\r\n 'district':[],\r\n 'taluk':[],\r\n 'village':[],\r\n 'postal_code':[]\r\n \r\n })\r\n }\r\n\r\n patient_id: any;\r\n ngOnInit(): void { \r\n this.profileservice.get_Patientprofile()\r\n .subscribe((data:any) => {\r\n console.log('Patient profile:', data);\r\n this.patient_id=data.Id\r\n //alert(this.patient_id)\r\n localStorage.setItem('patient id', this.patient_id);\r\n \r\n this.pR_FirstName = data.Firstname\r\n this.pR_LastName = data.Lastname\r\n this.pR_Email = data.Email\r\n this.pR_MobileNumber = data.Mobilenumber\r\n this.pR_Gender = data.Gender\r\n if(data.DOB==\"1900-01-01T00:00:00\")\r\n this.pR_DOB=''\r\n else\r\n this.pR_DOB = data.DOB\r\n \r\n this.pR_Age = data.Age\r\n this.pR_BloodGroup = data.Bloodgroup\r\n this.pR_Village = data.Gram_name\r\n this.pR_Taluk = data.Taluk_name == \"MDNA\" ? '' : data.Taluk_name\r\n this.pR_District = data.District_name == \"MDNA\" ? '' : data.District_name\r\n this.pR_StateName = data.State_name == \"MDNA\" ? '' : data.State_name\r\n this.pR_Country_Name = data.Country_name\r\n this.pR_Postalcode = data.Postalcode\r\n this.Image_Url = data.Photo;\r\n })\r\n \r\n this.disableCtrls();\r\n }\r\n\r\n disableCtrls()\r\n {\r\n this.user_profile.controls['email'].disable();\r\n this.user_profile.controls['mobile_number'].disable();\r\n this.user_profile.controls['gender'].disable();\r\n this.user_profile.controls['dob'].disable();\r\n this.user_profile.controls['age'].disable();\r\n this.user_profile.controls['bloodgroup'].disable();\r\n this.user_profile.controls['country'].disable();\r\n this.user_profile.controls['state'].disable();\r\n this.user_profile.controls['district'].disable();\r\n this.user_profile.controls['taluk'].disable();\r\n this.user_profile.controls['village'].disable();\r\n this.user_profile.controls['postal_code'].disable();\r\n }\r\n}","import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { data } from 'jquery';\r\nimport { ServiceService } from '../service.service';\r\nimport { Notification } from '../../../core/Notifications/Notification';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-records',\r\n templateUrl: './records.component.html',\r\n styleUrls: ['./records.component.scss']\r\n})\r\nexport class RecordsComponent implements OnInit {\r\n\r\n // public imagePath;\r\n // imgURL: any;\r\n // public message: string;\r\n\r\n // preview(files) {\r\n // if (files.length === 0)\r\n // return;\r\n\r\n // var mimeType = files[0].type;\r\n // if (mimeType.match(/image,file\\/*/) == null) {\r\n // this.message = \"Only images are supported.\";\r\n // return;\r\n // }\r\n\r\n // var reader = new FileReader();\r\n // this.imagePath = files;\r\n // reader.readAsDataURL(files[0]); \r\n // reader.onload = (_event) => { \r\n // this.imgURL = reader.result; \r\n // }\r\n // }\r\n title = 'Upload Multiple Files in Angular 4';\r\n myFiles: string[] = [];\r\n sMsg: string = '';\r\n selectedFiles: any;\r\n base64Image: any;\r\n Image_Url;\r\n imageURL: string;\r\n fileURL: any;\r\n uploadForm: FormGroup;\r\n previousRecordForm: FormGroup;\r\n document: any;\r\n Test1: any;\r\n capturedImage: string | null = null;\r\n isCameraOpen = false;\r\n uploadTypes = [\r\n { id: 'document', name: 'Choose File' },\r\n { id: 'scanner', name: 'Scan Document' }\r\n ];\r\n\r\n @ViewChild('video', { static: false }) video: ElementRef;\r\n \r\n @ViewChild('multiUserSearch4') multiUserSearchInput4: ElementRef;\r\n Id: any;\r\n patient: any;\r\n filteredPatient: any;\r\n constructor(public formBuilder: FormBuilder, private router: Router, private domSanitizer: DomSanitizer, private service: ServiceService, private notify: Notification) {\r\n this.previousRecordForm = this.formBuilder.group({\r\n 'PR_Id_FK':[''],\r\n 'Doc_Id': [''],\r\n 'Doc_Type': [''],\r\n 'documentname': ['', [Validators.pattern(\"^\\\\S{0}.{0,24}\\\\S{1}$\"), this.nameValidatorss]],\r\n 'file': [''],\r\n 'uploadType': ['']\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.get_documenttype();\r\n this.Get_Paitentprofile();\r\n // this.get_patientdd(this.Id);\r\n }\r\n \r\n\r\n get_documenttype() {\r\n this.service.Get_documentdropdown()\r\n .subscribe((data) => {\r\n this.document = data\r\n console.log(this.document)\r\n console.log(this.document[2].doctype_name);\r\n })\r\n }\r\n\r\n Get_Paitentprofile() {\r\n this.service.Get_Paitentprofile()\r\n .subscribe((data) => {\r\n this.patient = data\r\n // this.filteredPatient = this.patient;\r\n })\r\n }\r\n\r\n onUploadTypeChange(selectedType: string) {\r\n if (selectedType === 'scanner') {\r\n this.previousRecordForm.get('Doc_Type')?.setValue(this.document[2]); // Automatically set to JPG\r\n this.previousRecordForm.get('Doc_Type')?.disable(); // Disable the field\r\n } else {\r\n this.previousRecordForm.get('Doc_Type')?.enable(); // Enable the field for document types\r\n this.previousRecordForm.get('Doc_Type')?.setValue(''); // Reset the value\r\n }\r\n this.isCameraOpen = false; // Close camera\r\n this.stopCamera(); // Stop the camera if it's open\r\n this.capturedImage = null;\r\n }\r\n private stopCamera() {\r\n if (this.video.nativeElement.srcObject) {\r\n this.video.nativeElement.srcObject.getTracks().forEach(track => track.stop());\r\n }\r\n }\r\n\r\n onSelectEvent(value: any) {\r\n const a = value;\r\n if (a != value) {\r\n }\r\n \r\n console.log(value);\r\n }\r\n\r\n\r\n nameValidatorss(control: any): { [key: string]: boolean } {\r\n const nameRegexp: RegExp = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?/\\/,/0-9]/;\r\n if (control.value && nameRegexp.test(control.value)) {\r\n return { invalidName: true };\r\n }\r\n }\r\n\r\n onInputChange4() {\r\n const searchInput = this.multiUserSearchInput4.nativeElement.value.toLowerCase();\r\n\r\n // Filter doctors based on the search input\r\n this.filteredPatient = searchInput\r\n ? this.patient.filter(d => d.pR_Name.toLowerCase().includes(searchInput))\r\n : [...this.patient]; // Reset to original list if input is empty\r\n }\r\n\r\n // Reset search field and filtered doctors when focus is lost\r\nonSearchFieldFocusOut() {\r\n this.multiUserSearchInput4.nativeElement.value = ''; // Clear search input\r\n this.filteredPatient = [...this.patient]; // Reset to original doctor list\r\n}\r\n\r\n initCamera() {\r\n this.isCameraOpen = true; // Enable camera access\r\n if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {\r\n navigator.mediaDevices.getUserMedia({ video: true }).then((stream) => {\r\n this.video.nativeElement.srcObject = stream;\r\n this.video.nativeElement.play();\r\n });\r\n }\r\n }\r\n\r\n captureImage() {\r\n const stream = this.video.nativeElement.srcObject;\r\n if (this.video.nativeElement.videoWidth > 0 && this.video.nativeElement.videoHeight > 0) {\r\n const canvas = document.createElement('canvas');\r\n canvas.width = this.video.nativeElement.videoWidth;\r\n canvas.height = this.video.nativeElement.videoHeight;\r\n const ctx = canvas.getContext('2d');\r\n ctx.drawImage(this.video.nativeElement, 0, 0, canvas.width, canvas.height);\r\n this.capturedImage = canvas.toDataURL('image/png');\r\n } else {\r\n console.error('Video not loaded or playing');\r\n }\r\n if (stream) {\r\n const tracks = stream.getTracks();\r\n tracks.forEach(track => track.stop());\r\n }\r\n this.isCameraOpen = false;\r\n this.video.nativeElement.srcObject = null;\r\n }\r\n \r\n\r\n dataURItoBlob(dataURI: string): Blob {\r\n const byteString = atob(dataURI.split(',')[1]);\r\n const mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\r\n const ab = new ArrayBuffer(byteString.length);\r\n const ia = new Uint8Array(ab);\r\n for (let i = 0; i < byteString.length; i++) {\r\n ia[i] = byteString.charCodeAt(i);\r\n }\r\n return new Blob([ab], { type: mimeString });\r\n }\r\n \r\n \r\n\r\n\r\n onSelectFile(fileInput: any) {\r\n this.selectedFiles = fileInput.target.files[0];\r\n var reader = new FileReader();\r\n reader.readAsDataURL(fileInput.target.files[0]);\r\n reader.onload = (event: any) => {\r\n this.base64Image = this.domSanitizer.bypassSecurityTrustUrl(event.target.result);\r\n this.Image_Url = this.base64Image\r\n };\r\n \r\n }\r\n\r\n save_document() {\r\n let doctype: string;\r\n let docTypeId: any;\r\n const selectedUploadType = this.previousRecordForm.value.uploadType;\r\n\r\n if (selectedUploadType === 'scanner') {\r\n doctype = \"PNG\"; \r\n docTypeId = 2;\r\n } else {\r\n doctype = this.previousRecordForm.value.Doc_Type.doctype_name;\r\n }\r\n\r\n // var tExt = this.previousRecordForm.value.file.split('.').pop();\r\n // var typeExt=tExt.toUpperCase();\r\n \r\n // if (typeExt == 'PDF' || typeExt == 'PNG' || typeExt == 'JPG' || typeExt == 'JPEG') {\r\n \r\n // if (doctype != typeExt)\r\n // {\r\n // this.notify.errorsmsg('Please select correct document type or choose correct file');\r\n // return;\r\n // }\r\n\r\n // }\r\n // else {\r\n // this.notify.errorsmsg(\"Please choose correct file\")\r\n // return;\r\n // }\r\n const formData = new FormData();\r\n if (this.previousRecordForm.get('uploadType').value === 'scanner') {\r\n if (this.capturedImage) {\r\n const blob = this.dataURItoBlob(this.capturedImage);\r\n formData.append('Choose_Document', blob, 'captured-image.png');\r\n } else {\r\n this.notify.errorsmsg(\"Please capture an image before submitting.\");\r\n return;\r\n }\r\n } else {\r\n formData.append('Choose_Document', this.selectedFiles);\r\n var tExt = this.previousRecordForm.value.file.split('.').pop();\r\n var typeExt=tExt.toUpperCase();\r\n \r\n if (typeExt == 'PDF' || typeExt == 'PNG' || typeExt == 'JPG' || typeExt == 'JPEG') {\r\n \r\n if (doctype != typeExt)\r\n {\r\n this.notify.errorsmsg('Please select correct document type or choose correct file');\r\n return;\r\n }\r\n\r\n }\r\n else {\r\n this.notify.errorsmsg(\"Please choose correct file\")\r\n return;\r\n }\r\n }\r\n \r\n if (selectedUploadType === 'scanner') {\r\n formData.append('Doc_Type_Id_FK', docTypeId);\r\n } else {\r\n formData.append('Doc_Type_Id_FK', this.previousRecordForm.value.Doc_Type.doctype_id);\r\n }\r\n // if (selectedUploadType === 'scanner') {\r\n // const blob = this.dataURItoBlob(this.capturedImage);\r\n // formData.append('Choose_Document', blob, 'capturedImage.png');\r\n // } else {\r\n // formData.append('Choose_Document', this.selectedFiles);\r\n // }\r\n formData.append('documentname', this.previousRecordForm.value.documentname);\r\n formData.append('PR_Id_FK', this.patient.Id);\r\n this.service.Insert_document(formData)\r\n .subscribe((data) => {\r\n this.notify.successmsg(\"Record Inserted Successfully\")\r\n this.router.navigate([\"/base/patient/previous-record\"]);\r\n console.log('API Output', data)\r\n })\r\n \r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AppoinmentserviceService } from '../add-appoinments/appoinmentservice.service';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-showdoctor',\r\n templateUrl: './showdoctor.component.html',\r\n styleUrls: ['./showdoctor.component.scss']\r\n})\r\nexport class ShowdoctorComponent implements OnInit {\r\n doctord: any;\r\n\r\n constructor(private AppoinmentserviceService: AppoinmentserviceService, private dialogRef: MatDialogRef) { }\r\n\r\n ngOnInit(): void {\r\n this.get_doctordd();\r\n }\r\n\r\n get_doctordd(){\r\n this.AppoinmentserviceService.get_doctordd()\r\n .subscribe((data)=> {\r\n this.doctord = data\r\n console.log('dock' , this.doctord)\r\n })\r\n\r\n}\r\n get_test(data:any) {\r\n console.log('test', data)\r\n this.dialogRef.close(data);\r\n}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { AppoinmentserviceService } from '../add-appoinments/appoinmentservice.service';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-showhospital',\r\n templateUrl: './showhospital.component.html',\r\n styleUrls: ['./showhospital.component.scss']\r\n})\r\nexport class ShowhospitalComponent implements OnInit {\r\n doctord: any;\r\n \r\n\r\n constructor(private AppoinmentserviceService: AppoinmentserviceService, private dialogRef: MatDialogRef) { }\r\n\r\n ngOnInit(): void {\r\n this.get_doctordd\r\n }\r\n\r\n get_doctordd(){\r\n this.AppoinmentserviceService.get_doctordd()\r\n .subscribe((data)=> {\r\n this.doctord = data\r\n console.log('dock' , this.doctord)\r\n })\r\n\r\n}\r\n get_test(data:any) {\r\n console.log('test', data)\r\n this.dialogRef.close(data);\r\n}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nfunction _window() : any {\r\n // return the global native browser window object\r\n return window;\r\n}\r\n\r\n@Injectable()\r\nexport class WindowRef {\r\n get nativeWindow() : any {\r\n return _window();\r\n }\r\n}\r\n","export default \"\\r\\n

APPOINTMENT

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Present Complaints\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{topping.cmst_Name}}\\r\\n cancel\\r\\n \\r\\n \\r\\n \\r\\n {{c.cmst_Name}}\\r\\n \\r\\n Field is required\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Any Known Allergy\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{topping.al_Name}}\\r\\n cancel\\r\\n \\r\\n \\r\\n \\r\\n {{a.al_Name}}\\r\\n \\r\\n Field is required\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n Past/Current Medical History\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{topping.medic_name}}\\r\\n cancel\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ c.medic_name }}\\r\\n \\r\\n \\r\\n Field is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Consultation\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Consultation Date\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Date is required\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n Consultation From-Time\\r\\n \\r\\n From time is\\r\\n required\\r\\n From time should be less\\r\\n than \\\"to-time\\\"\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Consultation To-Time\\r\\n \\r\\n To time is\\r\\n required\\r\\n \\r\\n From time should be less than \\\"to-time\\\"\\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 Appointment\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n search\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{d.select_day | slice:0:3 | uppercase}} \\r\\n \\r\\n \\r\\n\\r\\n

\\r\\n Doctor: {{ d.appt_DO_Name }} ({{ d.hos_Name }})\\r\\n
\\r\\n {{ d.select_date | slice:0:10}} , {{d.select_toTime | time24to12Transform}}\\r\\n
{{d.cD_Name}}\\r\\n Doctor remarks: {{ d.remarks}}\\r\\n \\r\\n \\r\\n {{d.status_name}}\\r\\n \\r\\n \\r\\n \\r\\n {{d.appt_Type}}\\r\\n \\r\\n \\r\\n Quick Consult\\r\\n \\r\\n \\r\\n Rescheduled\\r\\n \\r\\n \\r\\n

\\r\\n\\r\\n
\\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\\\">\\r\\n \\r\\n
No appointment data(s) found
\\r\\n
\\r\\n\\r\\n\\r\\n
\";","export default \"\\n
\\n event_repeat\\n

Do you prefer to accept or reject the appointment that was reschedule on {{select_date}} from {{select_FrmTime}} to {{select_toTime}}?

\\n
\\n
\\n\\n \\n \\n\";","export default \"\\r\\n Articles\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\";","export default \"\\r\\n Consultation History\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
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
SL.NO.Consultation NoDoctor NameConsultation DateAction
{{i+1}} {{d.coN_Id}} {{d.coN_DO_Name}} {{d.coN_ConsultedDate | date :'dd/MM/YYY'}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n

Patient Details

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

Doctor Name: {{data.coN_DO_Name}}

\\r\\n\\\"Hoslogo\\\"\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Clinical Notes

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

Present Complaints :\\r\\n \\r\\n {{d.cmst_Name}},  \\r\\n \\r\\n

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

Symptoms :\\r\\n \\r\\n {{d.smst_Name}},  \\r\\n \\r\\n

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

Present Illness :\\r\\n \\r\\n {{data.dis_Desc}},  \\r\\n \\r\\n

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

Any Known Allergy :\\r\\n \\r\\n {{d.al_Name}},  \\r\\n \\r\\n

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

Past/Current Medical History :  {{d.medic_name}}\\r\\n

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

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

Diagnosis

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
SI.NoDiagnosis CategoryDiagnosis DescriptionStatus
{{i+1}}{{d.dM_Name}}{{d.dD_Desc}}{{d.status_name}}
\\r\\n\\r\\n

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

Prescriptions

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
SI.NoDrugs NameDosageDurationStatus
{{i+1}}{{d.prc_Drd_name_unit}}{{d.prc_dosage_qty}}{{d.prc_drug_duration}} {{d.prc_duration_intermof}}{{d.status_name}}
\\r\\n\\r\\n

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

Lab Test

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
SI.NoCategoryDescriptionStatus
{{i+1}}{{d.category_Name}}{{d.description}}{{d.sts_name}}
\\r\\n\\r\\n

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

Diet Plan

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
SI.NoIntakeDurationInstructionStatus
{{i+1}}{{d.dp_intake}}{{d.dp_duration}} {{d.dp_dura_interof}}{{d.dp_instruction}}{{d.status_name}}
\\r\\n\\r\\n

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

Referral

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
SI.NoReferred HospitalReferred dateObservationsRemarks
{{i+1}}{{d.hos_Name}}{{d.ref_Date}}{{d.splObs}}{{d.remarks}}
\\r\\n\\r\\n


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

Re-visit

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
SI.NoRe-visit dateRe-visit timeRemarks
{{i+1}}{{d.rV_Date}}{{d.rV_Time}}{{d.remarks}}
\";","export default \"\\r\\n Consultation payment\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n search\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{d.coN_ConsultedDate | date: \\\"E\\\" | uppercase}} \\r\\n \\r\\n

\\r\\n Doctor: {{ d.coN_DO_Name }}\\r\\n
\\r\\n {{d.coN_Specialization}}\\r\\n
\\r\\n {{ d.coN_ConsultedDate}}, {{d.coN_ConsultedTime | time24to12Transform}}\\r\\n
\\r\\n Consulation Fee Rs. : {{d.charges}} \\r\\n \\r\\n \\r\\n {{d.coN_Type}}\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{d.csP_ConsultedDate | date: \\\"E\\\" | uppercase}} \\r\\n \\r\\n

\\r\\n Doctor: {{ d.csP_DO_Name }}\\r\\n
\\r\\n {{d.csP_Specialization}}\\r\\n
\\r\\n {{ d.csP_ConsultedDate}}, {{d.csP_ConsultedTime | time24to12Transform}}\\r\\n
\\r\\n Reffered by : Dr. {{ d.csP_Ref_DO_Name }}\\r\\n
\\r\\n Consulation Fee Rs. : {{d.csP_SD_Price}} \\r\\n \\r\\n

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n help_outline\\r\\n

Confirm

\\r\\n \\r\\n
Do You Have any Previous Records?
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\";","export default \"
\\r\\n Appointment Details\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Appointment Number\\r\\n \\r\\n \\r\\n {{data.d.appt_Id}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Patient Name:\\r\\n {{data.d.appt_P_Name}}\\r\\n

\\r\\n

\\r\\n Doctor Name:{{data.d.appt_DO_Name}}

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

Present Complaints:\\r\\n \\r\\n {{d.cmst_Name}}\\r\\n ,\\r\\n \\r\\n

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

Past/Present Medical history:\\r\\n \\r\\n {{d.medic_name}}\\r\\n ,\\r\\n \\r\\n

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

Any known Allergy Signs:\\r\\n \\r\\n {{d.al_Name}}\\r\\n ,\\r\\n \\r\\n

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

\\r\\n Day:{{data.d.select_day}}

\\r\\n

Appointment\\r\\n From-Time:{{data.d.select_FrmTime | time24to12Transform}}

\\r\\n

Appointment\\r\\n To-Time:{{data.d.select_toTime | time24to12Transform}}

\\r\\n

Appointment Approved Date:{{data.d.approved_date}}

\\r\\n

Appointment Approved Time:{{data.d.approve_time | time24to12Transform}}

\\r\\n \\r\\n \\r\\n \\r\\n {{data.d.status_name}}\\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 warning\\r\\n

Do you want Cancel the Appointment

\\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 Hospital\\r\\n \\r\\n {{h.hos_HospitalName}}\\r\\n \\r\\n \\r\\n Hospital is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Select Specialization\\r\\n \\r\\n {{d.sD_ClinicalSpecilist}}\\r\\n \\r\\n \\r\\n Specialization is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Hospital Doctor\\r\\n \\r\\n {{d.doc_Name}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\";","export default \"

\\r\\nDietPlan\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
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 \\r\\n
SL.NO.Consultation IdDoctor NameConsultation DateAction
{{i+1}}{{d.coN_Id}} {{d.coN_DO_Name}}{{d.coN_Date}}\\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 \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n Hospital Name :{{hospital_Name}}
Address :{{hospital_Address}}
Email Id :{{hospital_Email}}
Contact Number :{{hos_phoneNo}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Patient Code : {{coN_PR_Code}}Doctor Name : {{coN_DO_Name}}
Patient Name : {{coN_PR_Name}}Consulation Date: {{coN_Date | date:'dd-MM-yyyy'}}
Patient Age : {{coN_PR_Age}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Sr. NoIntakeDurationIntructions
{{i+1}}{{d.dp_intake}}{{d.dp_duration}} {{d.dp_dura_interof}}{{d.dp_instruction}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\\"signature\\\"
Signature
Date : {{coN_Date | date:'dd-MM-yyyy'}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\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

Appoinment Number: {{appt_Id}}

\\r\\n EDIT APPOINTMENT\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Height\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Weight\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Complaints\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ complaint.cmst_Name }}\\r\\n cancel\\r\\n \\r\\n \\r\\n \\r\\n {{c.cmst_Name}}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Symptoms\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ symptoms.smst_Name }}\\r\\n cancel\\r\\n \\r\\n \\r\\n \\r\\n {{s.smst_Name}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Present Illeness\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ diseases.diseases_Name }}\\r\\n cancel\\r\\n \\r\\n \\r\\n \\r\\n {{d.diseases_Name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Allergy Signs\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{allergysigns.al_Name}}\\r\\n cancel\\r\\n \\r\\n \\r\\n \\r\\n {{a.al_Name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Consultation\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Consultation Date\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Consultation From-Time\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Consultation To-Time\\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 {{test}}\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Clinical Doctor\\r\\n \\r\\n {{d.doc_Name}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Hospital\\r\\n \\r\\n {{h.hos_HospitalName}}\\r\\n \\r\\n \\r\\n Hospital is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Hospital Doctor\\r\\n \\r\\n {{d.dO_Name}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\";","export default \"\\r\\n Feedback\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Support

\\r\\n

Have questions about our products, support services, or anything else? Let us know and we’ll get back\\r\\n to\\r\\n you.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n call\\r\\n

Call Us

\\r\\n

+918048823100

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n location_on\\r\\n

Our Address

\\r\\n

Vikas Global Solutions Ltd\\r\\n VnV Towers, No. 11, 2nd cross, 24th main, JP Nagar, 7th Phase,opp: Brigade\\r\\n PalmSprings, Bengaluru-560078

\\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 Meeting Id\\r\\n \\r\\n Meeting Id is required\\r\\n \\r\\n \\r\\n Meeting Id will not allow white space and allow alphanumeric.\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Doctor Info\\r\\n
\\r\\n
Name:
\\r\\n
\\r\\n

{{d_name}}

\\r\\n
\\r\\n
Gender:
\\r\\n
\\r\\n

{{d_gender}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
Email:
\\r\\n
\\r\\n

{{d_email}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n Consultation Details\\r\\n
\\r\\n
Cons Type:
\\r\\n
\\r\\n

{{cons_type}}

\\r\\n
\\r\\n \\r\\n
Date & Time:
\\r\\n
\\r\\n

{{cons_date_time}}

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Vital Signs\\r\\n
\\r\\n
Spo2(bpm):
\\r\\n
\\r\\n

{{pulse_rate}}

\\r\\n
\\r\\n
BP(mmHg):
\\r\\n
\\r\\n

{{blood_pressure}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Temperature(°C):
\\r\\n
\\r\\n

{{temperature}}

\\r\\n
\\r\\n
Glucose(mg/dl):
\\r\\n
\\r\\n

{{glucose}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Hemoglobin(g/dl):
\\r\\n
\\r\\n

{{hemoglobin}}

\\r\\n
\\r\\n
ECG(EKG):
\\r\\n
\\r\\n

{{ecg_monitor}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Height(cm):
\\r\\n
\\r\\n

{{height}}

\\r\\n
\\r\\n
Weight(kg):
\\r\\n
\\r\\n

{{weight}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
BMI:
\\r\\n
\\r\\n

{{ calculateBMI() }}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Other Info\\r\\n
\\r\\n
Complaints:
\\r\\n
\\r\\n
    \\r\\n
  • {{ cdata.cmst_name }}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Past/Current Medical History:
\\r\\n
\\r\\n
    \\r\\n
  • {{ ddata.medic_name }}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Allergys:
\\r\\n
\\r\\n
    \\r\\n
  • {{ adata.allergy_name }}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\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 Meeting Id\\r\\n \\r\\n \\r\\n Meeting Id is required\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Doctor Info\\r\\n
\\r\\n
Name:
\\r\\n
\\r\\n

{{d_name}}

\\r\\n
\\r\\n
Gender / Age:
\\r\\n
\\r\\n

{{d_gender}}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
Phone No:
\\r\\n
\\r\\n

{{d_phone}}

\\r\\n
\\r\\n \\r\\n
Email:
\\r\\n
\\r\\n

{{d_email}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n Consultation Details\\r\\n
\\r\\n
Cons Type:
\\r\\n
\\r\\n

{{cons_type}}

\\r\\n
\\r\\n \\r\\n
Date & Time:
\\r\\n
\\r\\n

{{cons_date_time}}

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Vital Signs\\r\\n
\\r\\n
Spo2(bpm):
\\r\\n
\\r\\n

{{pulse_rate}}

\\r\\n
\\r\\n
BP(mmHg):
\\r\\n
\\r\\n

{{blood_pressure}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Temperature(°C):
\\r\\n
\\r\\n

{{temperature}}

\\r\\n
\\r\\n
Glucose(mg/dl):
\\r\\n
\\r\\n

{{glucose}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Hemoglobin(g/dl):
\\r\\n
\\r\\n

{{hemoglobin}}

\\r\\n
\\r\\n
ECG(EKG):
\\r\\n
\\r\\n

{{ecg_monitor}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Height(cm):
\\r\\n
\\r\\n

{{height}}

\\r\\n
\\r\\n
Weight(kg):
\\r\\n
\\r\\n

{{weight}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Other Info\\r\\n
\\r\\n
Complaints:
\\r\\n
\\r\\n
    \\r\\n
  • {{ cdata.cmst_name }}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Symptoms:
\\r\\n
\\r\\n
    \\r\\n
  • {{ sdata.smst_name }}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Diseases:
\\r\\n
\\r\\n
    \\r\\n
  • {{ ddata.diseases_name }}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Allergys:
\\r\\n
\\r\\n
    \\r\\n
  • {{ adata.allergy_name }}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Under BP Medication:
\\r\\n
\\r\\n

{{under_bp_medication}}

\\r\\n
\\r\\n
Under Sugar Medication:
\\r\\n
\\r\\n

{{under_sugar_medication}}

\\r\\n
\\r\\n
\\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 \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n Hospital Name :{{hospital_Name}}
Address :{{address}}
Email Id :{{email}}
Contact Number :{{hos_phoneNo}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Patient Code : {{pR_Code}}Patient Name : {{pR_Name}}Patient Age : {{pR_Age}}
Doctor Name : {{dO_Name}}Consulation Date: {{consulted_Date| date:'dd-MM-yyyy'}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Sr. NoLabtestDescription
{{i+1}}{{d.cat_Name}}{{d.description}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\\"signature\\\"
Signature
Date : {{consulted_Date | date:'dd-MM-yyyy'}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\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\\nLabtest\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
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 \\r\\n
SL.NO.Consultation IdDoctor NameConsultation DateAction
{{i+1}}{{d.coN_Id}} {{d.dO_Name}}{{d.consulted_Date}}\\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

Hello, {{userData.firstName}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Complaints\\r\\n \\r\\n {{c.cmst_Name}}\\r\\n \\r\\n Field is required\\r\\n \\r\\n
\\r\\n\\r\\n
Select your doctor
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{c.dO_Name}}
\\r\\n {{c.qualification_Name}}\\r\\n
\\r\\n
\\r\\n ₹{{c.charges}}/-\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Your order summary

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
Total consultation fee
₹{{totalcharge}}
\\r\\n

* By clicking the proceed to payment button, you are confirming that you have read and agreed to Medetel Health terms and conditions.

\\r\\n \\r\\n \\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 Medicine Orders\\r\\n\\r\\n\\r\\n
\\r\\n
No order(s) found
\\r\\n
\";","export default \"\\r\\n Appointment History\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n search\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
No. {{i+1}} Appointment No {{element.Appt_Id}} Doctor Name {{element.Appt_DO_Name}} Appointment Date {{element.Select_date}} Appointment Schedule \\r\\n \\r\\n {{ element.Select_FrmTime | time24to12Transform }}\\r\\n \\r\\n \\r\\n {{ element.Select_FrmTime | time24to12Transform }} - {{ element.Select_toTime | time24to12Transform }}\\r\\n \\r\\n Consultation Type {{element.Appt_Type}} Appointment Status {{element.appointment_status}} Payment Status {{element.payment_status}} Consultation Status {{element.consult_status}}
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n No Records Found!\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\n\\n\\n \\n Website Title\\n \\n \\n \\n \\n\\n \\n \\n\\n
\\n
\\n \\n\\n\";","export default \"\\r\\n Payment History\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n search\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
No. {{i+1}} Consultation No {{element.consulation_Id}} Doctor Name {{element.doctorName}} Transaction Id {{element.transaction_Id}} Amount(Rs.) {{element.amount}} Credited Date {{element.payment_Date | date:'yyyy-MM-dd'}} Payment Status {{element.payment_status=='Credit' ? 'Paid' : (element.payment_status)}}
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n No Records Found!\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\";","export default \"\\r\\n\";","export default \"\\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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\\"Lablogo\\\"\\r\\n Hospital Name :{{hospital_Name}}
Address :{{address}}
Email Id :{{email}}
Contact Number :{{hos_phoneNo}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Patient Code : {{coN_PR_Code}}Patient Name : {{coN_PR_Name}}Patient Age : {{coN_PR_Age}}
Doctor Name : {{coN_DO_Name}}Consulation Date: {{coN_Date| date:'dd-MM-yyyy'}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Sr. NoDrug NameFrequencyDurationIntakeInstructions
{{i+1}}{{d.prc_Drg_name}}{{d.drg_frq_name}}{{d.prc_drug_duration}} {{d.prc_duration_intermof}}{{d.prc_intake}}{{d.prc_intake_instaruction}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\\"signature\\\"
Signature
Date : {{coN_Date | date:'dd-MM-yyyy'}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\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\\nPrescription\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
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 \\r\\n \\r\\n
SL.NO.Consultation IdDoctor NameConsultation DateAction
{{i+1}}{{d.coN_Id}}{{d.coN_DO_Name}}{{d.coN_Date}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n Previous Records\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n search\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
No. {{i+1}} Document Id {{element.doc_Id}} Document Name {{element.documentname}} Uploaded date {{element.created_date | date:'yyyy-MM-dd'}} View Document \\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

Edit Patient Profile

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"image  \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n First Name\\r\\n \\r\\n First Name is required\\r\\n \\r\\n Please enter Alphabet and space is not allowed in starting and ending\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Last Name\\r\\n \\r\\n Last Name is required\\r\\n \\r\\n Please enter Alphabet and space is not allowed in starting and ending\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Email Id\\r\\n \\r\\n \\r\\n Please enter a valid email address\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Mobile Number\\r\\n \\r\\n phone\\r\\n Mobile Number is\\r\\n required\\r\\n \\r\\n Please enter valid 10 digit mobile number\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Gender\\r\\n \\r\\n Male\\r\\n Female\\r\\n Others\\r\\n \\r\\n Gender is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n DOB\\r\\n \\r\\n \\r\\n \\r\\n DOB is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Age\\r\\n \\r\\n Age is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Blood Groups\\r\\n \\r\\n O+\\r\\n O-\\r\\n AB+\\r\\n AB-\\r\\n B+\\r\\n A+\\r\\n B-\\r\\n A-\\r\\n \\r\\n Bloodgroup is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Country Name\\r\\n \\r\\n {{c.country_name}} \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n State\\r\\n \\r\\n {{s.state_name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n District\\r\\n \\r\\n {{d.district_name}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Taluk\\r\\n \\r\\n {{t.taluk_name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Village\\r\\n \\r\\n \\r\\n Please enter alphabet and space is not allowed in starting and ending \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Postal Code\\r\\n \\r\\n Postal Code is required\\r\\n \\r\\n Please enter numbers only\\r\\n \\r\\n \\r\\n Please enter 6 digit numbers only\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

Relation Details

\\r\\n
\\r\\n \\r\\n Select Relation\\r\\n \\r\\n {{r.relation_name}} \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Relation Name\\r\\n \\r\\n Last Name is required\\r\\n \\r\\n Please enter Alphabet and space is not allowed in starting and ending\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Gender\\r\\n \\r\\n Male\\r\\n Female\\r\\n Others\\r\\n \\r\\n Gender is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n DOB\\r\\n \\r\\n \\r\\n \\r\\n DOB is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Age\\r\\n \\r\\n Age is required\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Blood Groups\\r\\n \\r\\n O+\\r\\n O-\\r\\n AB+\\r\\n AB-\\r\\n B+\\r\\n A+\\r\\n B-\\r\\n A-\\r\\n \\r\\n Bloodgroup is\\r\\n required\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\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 \"

Patient / Patient-Profile

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

Patient Profile

\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n\\r\\n
\\r\\n

{{pR_FirstName}} {{pR_LastName}}

\\r\\n







\\r\\n\\r\\n
\\r\\n \\r\\n Email Id\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Mobile Number\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Gender\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n DOB\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Age\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Blood Group\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Country Name\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n State Name\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n District Name\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Taluk Name\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Village Name\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n Postal Code\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n UPLOAD PREVIOUS RECORDS\\r\\n\\r\\n
\\r\\n

One place to store and manage all your medical records

\\r\\n
\\r\\n\\r\\n
\\r\\n Document-info\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Upload Type\\r\\n \\r\\n {{ type.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ previousRecordForm.get('uploadType').value === 'scanner' ? 'Scanner Type' : 'Document Type' }}\\r\\n \\r\\n {{d.doctype_name}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Document Name\\r\\n \\r\\n \\r\\n Please enter Alphabet and space is not allowed in starting and ending \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\\"Captured\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

{{Test1}}

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


\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"
Available Doctors
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{d.dO_Name}}\\r\\n {{d.sp_Name}}\\r\\n 1:00 pm - 3:00 pm\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \";","export default \"
Available Doctors
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{d.dO_Name}}\\r\\n {{d.sp_Name}}\\r\\n 1:00 pm - 3:00 pm\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \";"],"names":[],"sourceRoot":"webpack:///"}