@james_jayaraj/test-npm 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/_hola-rx.styles.scss +2653 -2653
  2. package/{fesm2020 → fesm2022}/james_jayaraj-test-npm.mjs +8323 -8223
  3. package/fesm2022/james_jayaraj-test-npm.mjs.map +1 -0
  4. package/index.d.ts +5 -5
  5. package/lib/alert-popup/alert-popup.component.d.ts +17 -17
  6. package/lib/brand-include/available-formulations/available-formulations.component.d.ts +33 -33
  7. package/lib/brand-include/brand-include.component.d.ts +15 -15
  8. package/lib/cease-popup/cease-popup.component.d.ts +30 -30
  9. package/lib/close-popup/close-popup.component.d.ts +20 -20
  10. package/lib/confirm-patient-contact-details/confirm-patient-contact-details.component.d.ts +26 -26
  11. package/lib/environments/config.d.ts +315 -315
  12. package/lib/environments/environment.d.ts +4 -4
  13. package/lib/hola-rx.component.d.ts +38 -38
  14. package/lib/hola-rx.module.d.ts +23 -23
  15. package/lib/hola-rx.service.d.ts +6 -6
  16. package/lib/is-authority/is-authority.component.d.ts +14 -14
  17. package/lib/password/password.component.d.ts +20 -20
  18. package/lib/real-time-prescription-monitoring/real-time-prescription-monitoring.component.d.ts +14 -14
  19. package/lib/referral-rx/referral-rx.component.d.ts +23 -23
  20. package/lib/reissue-popup/reissue-popup.component.d.ts +26 -26
  21. package/lib/rx/rx.component.d.ts +256 -256
  22. package/lib/services/api.service.d.ts +17 -17
  23. package/lib/services/common.d.ts +152 -152
  24. package/lib/splashscreen/splashscreen.component.d.ts +9 -9
  25. package/package.json +4 -12
  26. package/public-api.d.ts +3 -3
  27. package/styles/style.css +8 -8
  28. package/esm2020/james_jayaraj-test-npm.mjs +0 -5
  29. package/esm2020/lib/alert-popup/alert-popup.component.mjs +0 -51
  30. package/esm2020/lib/brand-include/available-formulations/available-formulations.component.mjs +0 -258
  31. package/esm2020/lib/brand-include/brand-include.component.mjs +0 -43
  32. package/esm2020/lib/cease-popup/cease-popup.component.mjs +0 -125
  33. package/esm2020/lib/close-popup/close-popup.component.mjs +0 -102
  34. package/esm2020/lib/confirm-patient-contact-details/confirm-patient-contact-details.component.mjs +0 -141
  35. package/esm2020/lib/environments/config.mjs +0 -246
  36. package/esm2020/lib/environments/environment.mjs +0 -5
  37. package/esm2020/lib/hola-rx.component.mjs +0 -904
  38. package/esm2020/lib/hola-rx.module.mjs +0 -67
  39. package/esm2020/lib/hola-rx.service.mjs +0 -14
  40. package/esm2020/lib/is-authority/is-authority.component.mjs +0 -46
  41. package/esm2020/lib/password/password.component.mjs +0 -101
  42. package/esm2020/lib/real-time-prescription-monitoring/real-time-prescription-monitoring.component.mjs +0 -32
  43. package/esm2020/lib/referral-rx/referral-rx.component.mjs +0 -147
  44. package/esm2020/lib/reissue-popup/reissue-popup.component.mjs +0 -182
  45. package/esm2020/lib/rx/rx.component.mjs +0 -5029
  46. package/esm2020/lib/services/api.service.mjs +0 -111
  47. package/esm2020/lib/services/common.mjs +0 -759
  48. package/esm2020/lib/splashscreen/splashscreen.component.mjs +0 -16
  49. package/esm2020/public-api.mjs +0 -7
  50. package/fesm2015/james_jayaraj-test-npm.mjs +0 -8298
  51. package/fesm2015/james_jayaraj-test-npm.mjs.map +0 -1
  52. package/fesm2020/james_jayaraj-test-npm.mjs.map +0 -1
@@ -1,111 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { environment } from "../environments/environment";
3
- import { catchError, of, throwError } from "rxjs";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- import * as i2 from "./common";
7
- export class ApiService {
8
- constructor(http, commonServices) {
9
- this.http = http;
10
- this.commonServices = commonServices;
11
- this.unAuthorizedFlag = false;
12
- }
13
- Post(data, url) {
14
- try {
15
- var value = this.interceptorassign(url);
16
- if (value != null && value.header != undefined && value.header != null) {
17
- return this.http.post(value.url, data, { headers: value.header }).pipe(catchError((err) => this.handleError(err)));
18
- }
19
- else {
20
- return this.http.post(value.url, data).pipe(catchError((err) => this.handleError(err)));
21
- }
22
- }
23
- catch (ex) {
24
- this.commonServices.setlogvalue(false, ex.message, ex.stack, "ApiService", "Post");
25
- return throwError(() => new Error(ex));
26
- }
27
- }
28
- Get(url) {
29
- try {
30
- var value = this.interceptorassign(url);
31
- if (value != null && value.header != undefined && value.header != null) {
32
- return this.http.get(value.url, { headers: value.header }).pipe(catchError((err) => this.handleError(err)));
33
- }
34
- else {
35
- return this.http.get(value.url).pipe(catchError((err) => this.handleError(err)));
36
- }
37
- }
38
- catch (ex) {
39
- this.commonServices.setlogvalue(false, ex.message, ex.stack, "ApiService", "Get");
40
- return throwError(() => new Error(ex));
41
- }
42
- }
43
- PutNew(data, url) {
44
- try {
45
- var value = this.interceptorassign(url);
46
- if (value != null && value.header != undefined && value.header != null) {
47
- return this.http.put(value.url, data, { headers: value.header }).pipe(catchError((err) => this.handleError(err)));
48
- }
49
- else {
50
- return this.http.put(value.url, data).pipe(catchError((err) => this.handleError(err)));
51
- }
52
- }
53
- catch (ex) {
54
- this.commonServices.setlogvalue(false, ex.message, ex.stack, "ApiService", "PutNew");
55
- return throwError(() => new Error(ex));
56
- }
57
- }
58
- interceptorassign(url) {
59
- try {
60
- if (url.endsWith("authenticate") || url.endsWith("saveExceptions") || url.endsWith("saveAudit")) {
61
- return { url: environment.apiEndpoint + "/" + url };
62
- }
63
- else {
64
- var header = {
65
- 'Authorization': `bearer ${this.commonServices.HolaRxToken}`,
66
- };
67
- return { header: header, url: environment.apiEndpoint + "/" + url };
68
- }
69
- }
70
- catch (ex) {
71
- this.commonServices.setlogvalue(false, ex.message, ex.stack, "ApiService", "interceptorassign");
72
- return { url: "" };
73
- }
74
- }
75
- handleError(error) {
76
- try {
77
- if (error.status === 401) {
78
- if (error.statusText.toLowerCase() == "unauthorized".toLowerCase()) {
79
- this.unAuthorizedFlag = true;
80
- return of(null);
81
- }
82
- return throwError(() => new Error(error.statusText));
83
- }
84
- else if (error.status === 404) {
85
- return throwError(() => new Error('Not Found'));
86
- }
87
- else if (error.error && error.error.message) {
88
- return throwError(() => new Error(error.error.message));
89
- }
90
- else if (error.error && error.error.error_description) {
91
- return throwError(() => new Error(error.error.error_description));
92
- }
93
- else {
94
- return throwError(() => new Error('Error occurred'));
95
- }
96
- }
97
- catch (ex) {
98
- this.commonServices.setlogvalue(false, ex.message, ex.stack, "ApiService", "handleError");
99
- return throwError(() => new Error(ex));
100
- }
101
- }
102
- }
103
- ApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ApiService, deps: [{ token: i1.HttpClient }, { token: i2.CommonServices }], target: i0.ɵɵFactoryTarget.Injectable });
104
- ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ApiService, providedIn: 'root' });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ApiService, decorators: [{
106
- type: Injectable,
107
- args: [{
108
- providedIn: 'root'
109
- }]
110
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.CommonServices }]; } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob2xhLXJ4L3NyYy9saWIvc2VydmljZXMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUQsT0FBTyxFQUFjLFVBQVUsRUFBUyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBT3JFLE1BQU0sT0FBTyxVQUFVO0lBRXJCLFlBQW1CLElBQWdCLEVBQVUsY0FBOEI7UUFBeEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUQzRSxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDc0QsQ0FBQztJQUV6RSxJQUFJLENBQUMsSUFBUyxFQUFFLEdBQVE7UUFDN0IsSUFBSTtZQUNGLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7Z0JBQ3RFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDekg7aUJBQ0k7Z0JBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxLQUFLLENB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VUFBVTsyR0FBVixVQUFVLGNBSFAsTUFBTTsyRkFHVCxVQUFVO2tCQUx0QixVQUFVO21CQUNUO29CQUNFLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50XCI7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2VzIH0gZnJvbSBcIi4vY29tbW9uXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIGVtcHR5LCBvZiwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5ASW5qZWN0YWJsZShcclxuICB7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxuICB9XHJcbilcclxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2Uge1xyXG4gIHVuQXV0aG9yaXplZEZsYWcgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb21tb25TZXJ2aWNlczogQ29tbW9uU2VydmljZXMpIHsgfVxyXG5cclxuICBwdWJsaWMgUG9zdChkYXRhOiBhbnksIHVybDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLmludGVyY2VwdG9yYXNzaWduKHVybCk7XHJcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIHZhbHVlLmhlYWRlciAhPSB1bmRlZmluZWQgJiYgdmFsdWUuaGVhZGVyICE9IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih2YWx1ZS51cmwsIGRhdGEsIHsgaGVhZGVyczogdmFsdWUuaGVhZGVyIH0pLnBpcGUoY2F0Y2hFcnJvcigoZXJyKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycikpKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih2YWx1ZS51cmwsIGRhdGEpLnBpcGUoY2F0Y2hFcnJvcigoZXJyKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycikpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4OiBhbnkpIHtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXgubWVzc2FnZSwgZXguc3RhY2ssIFwiQXBpU2VydmljZVwiLCBcIlBvc3RcIik7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihleCkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgR2V0KHVybDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB2YXIgdmFsdWUgPSB0aGlzLmludGVyY2VwdG9yYXNzaWduKHVybCk7XHJcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIHZhbHVlLmhlYWRlciAhPSB1bmRlZmluZWQgJiYgdmFsdWUuaGVhZGVyICE9IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHZhbHVlLnVybCwgeyBoZWFkZXJzOiB2YWx1ZS5oZWFkZXIgfSkucGlwZShjYXRjaEVycm9yKChlcnIpID0+IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSkpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4odmFsdWUudXJsKS5waXBlKGNhdGNoRXJyb3IoKGVycikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuc2V0bG9ndmFsdWUoZmFsc2UsIGV4Lm1lc3NhZ2UsIGV4LnN0YWNrLCBcIkFwaVNlcnZpY2VcIiwgXCJHZXRcIik7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihleCkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgUHV0TmV3KGRhdGE6IGFueSwgdXJsOiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHZhciB2YWx1ZSA9IHRoaXMuaW50ZXJjZXB0b3Jhc3NpZ24odXJsKTtcclxuICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiYgdmFsdWUuaGVhZGVyICE9IHVuZGVmaW5lZCAmJiB2YWx1ZS5oZWFkZXIgIT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0PGFueT4odmFsdWUudXJsLCBkYXRhLCB7IGhlYWRlcnM6IHZhbHVlLmhlYWRlciB9KS5waXBlKGNhdGNoRXJyb3IoKGVycikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8YW55Pih2YWx1ZS51cmwsIGRhdGEpLnBpcGUoY2F0Y2hFcnJvcigoZXJyKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycikpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4OiBhbnkpIHtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXgubWVzc2FnZSwgZXguc3RhY2ssIFwiQXBpU2VydmljZVwiLCBcIlB1dE5ld1wiKTtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGV4KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGludGVyY2VwdG9yYXNzaWduKHVybDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAodXJsLmVuZHNXaXRoKFwiYXV0aGVudGljYXRlXCIpIHx8IHVybC5lbmRzV2l0aChcInNhdmVFeGNlcHRpb25zXCIpIHx8IHVybC5lbmRzV2l0aChcInNhdmVBdWRpdFwiKSkge1xyXG4gICAgICAgIHJldHVybiB7IHVybDogZW52aXJvbm1lbnQuYXBpRW5kcG9pbnQgKyBcIi9cIiArIHVybCB9O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHZhciBoZWFkZXI6IGFueSA9IHtcclxuICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYGJlYXJlciAke3RoaXMuY29tbW9uU2VydmljZXMuSG9sYVJ4VG9rZW59YCxcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHsgaGVhZGVyOiBoZWFkZXIsIHVybDogZW52aXJvbm1lbnQuYXBpRW5kcG9pbnQgKyBcIi9cIiArIHVybCB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuc2V0bG9ndmFsdWUoZmFsc2UsIGV4Lm1lc3NhZ2UsIGV4LnN0YWNrLCBcIkFwaVNlcnZpY2VcIiwgXCJpbnRlcmNlcHRvcmFzc2lnblwiKTtcclxuICAgICAgcmV0dXJuIHsgdXJsOiBcIlwiIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEpIHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzVGV4dC50b0xvd2VyQ2FzZSgpID09IFwidW5hdXRob3JpemVkXCIudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICAgICAgdGhpcy51bkF1dGhvcml6ZWRGbGFnID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGVycm9yLnN0YXR1c1RleHQpKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChlcnJvci5zdGF0dXMgPT09IDQwNCkge1xyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignTm90IEZvdW5kJykpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGVycm9yLmVycm9yICYmIGVycm9yLmVycm9yLm1lc3NhZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXJyb3IuZXJyb3IubWVzc2FnZSkpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGVycm9yLmVycm9yICYmIGVycm9yLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGVycm9yLmVycm9yLmVycm9yX2Rlc2NyaXB0aW9uKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdFcnJvciBvY2N1cnJlZCcpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4OiBhbnkpIHtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXgubWVzc2FnZSwgZXguc3RhY2ssIFwiQXBpU2VydmljZVwiLCBcImhhbmRsZUVycm9yXCIpO1xyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=