@bnsights/bbsf-utilities 1.0.30 → 1.0.32

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 (55) hide show
  1. package/README.md +8 -1
  2. package/bnsights-bbsf-utilities-1.0.32.tgz +0 -0
  3. package/bnsights-bbsf-utilities.d.ts +1 -0
  4. package/{esm2015/bnsights-bbsf-utilities.js → esm2020/bnsights-bbsf-utilities.mjs} +0 -0
  5. package/esm2020/lib/bbsf-utilities.module.mjs +74 -0
  6. package/esm2020/lib/shared/authentication/auth.service.mjs +217 -0
  7. package/{esm2015/lib/shared/config/environment.js → esm2020/lib/shared/config/environment.mjs} +0 -0
  8. package/{esm2015/lib/shared/models/AreaModel.js → esm2020/lib/shared/models/AreaModel.mjs} +0 -0
  9. package/{esm2015/lib/shared/models/ErrorModel.js → esm2020/lib/shared/models/ErrorModel.mjs} +0 -0
  10. package/{esm2015/lib/shared/models/RequestOptionsModel.js → esm2020/lib/shared/models/RequestOptionsModel.mjs} +0 -0
  11. package/esm2020/lib/shared/services/AppearanceConfiguration.service.mjs +35 -0
  12. package/esm2020/lib/shared/services/configuration.service.mjs +24 -0
  13. package/esm2020/lib/shared/services/controlvalidation.service.mjs +166 -0
  14. package/esm2020/lib/shared/services/environment.service.mjs +50 -0
  15. package/esm2020/lib/shared/services/masterlayout.service.mjs +84 -0
  16. package/esm2020/lib/shared/services/requesthandler.service.mjs +202 -0
  17. package/esm2020/lib/shared/services/stylesbundle.service.mjs +55 -0
  18. package/esm2020/lib/shared/services/translate.service.mjs +14 -0
  19. package/esm2020/lib/shared/services/translationresolver.service.mjs +18 -0
  20. package/esm2020/lib/shared/services/utility.service.mjs +90 -0
  21. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  22. package/fesm2015/{bnsights-bbsf-utilities.js → bnsights-bbsf-utilities.mjs} +162 -158
  23. package/fesm2015/bnsights-bbsf-utilities.mjs.map +1 -0
  24. package/fesm2020/bnsights-bbsf-utilities.mjs +997 -0
  25. package/fesm2020/bnsights-bbsf-utilities.mjs.map +1 -0
  26. package/lib/bbsf-utilities.module.d.ts +9 -0
  27. package/lib/shared/authentication/auth.service.d.ts +3 -0
  28. package/lib/shared/services/AppearanceConfiguration.service.d.ts +3 -0
  29. package/lib/shared/services/configuration.service.d.ts +3 -0
  30. package/lib/shared/services/controlvalidation.service.d.ts +3 -0
  31. package/lib/shared/services/environment.service.d.ts +3 -0
  32. package/lib/shared/services/masterlayout.service.d.ts +3 -0
  33. package/lib/shared/services/requesthandler.service.d.ts +3 -0
  34. package/lib/shared/services/stylesbundle.service.d.ts +3 -0
  35. package/lib/shared/services/translate.service.d.ts +3 -0
  36. package/lib/shared/services/translationresolver.service.d.ts +3 -0
  37. package/lib/shared/services/utility.service.d.ts +3 -0
  38. package/package.json +19 -7
  39. package/bnsights-bbsf-utilities-1.0.30.tgz +0 -0
  40. package/bnsights-bbsf-utilities.metadata.json +0 -1
  41. package/bundles/bnsights-bbsf-utilities.umd.js +0 -1484
  42. package/bundles/bnsights-bbsf-utilities.umd.js.map +0 -1
  43. package/esm2015/lib/bbsf-utilities.module.js +0 -52
  44. package/esm2015/lib/shared/authentication/auth.service.js +0 -236
  45. package/esm2015/lib/shared/services/AppearanceConfiguration.service.js +0 -37
  46. package/esm2015/lib/shared/services/configuration.service.js +0 -26
  47. package/esm2015/lib/shared/services/controlvalidation.service.js +0 -168
  48. package/esm2015/lib/shared/services/environment.service.js +0 -48
  49. package/esm2015/lib/shared/services/masterlayout.service.js +0 -95
  50. package/esm2015/lib/shared/services/requesthandler.service.js +0 -206
  51. package/esm2015/lib/shared/services/stylesbundle.service.js +0 -56
  52. package/esm2015/lib/shared/services/translate.service.js +0 -13
  53. package/esm2015/lib/shared/services/translationresolver.service.js +0 -20
  54. package/esm2015/lib/shared/services/utility.service.js +0 -96
  55. package/fesm2015/bnsights-bbsf-utilities.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./translate.service";
5
+ export class StylesBundleService {
6
+ constructor(document, translateService) {
7
+ this.document = document;
8
+ this.translateService = translateService;
9
+ }
10
+ loadThemes(lang, bundleEnglishName, bundleArabicName) {
11
+ if (lang == "ar") {
12
+ this.loadStyleBundle(bundleArabicName.toString());
13
+ document.querySelector('html').setAttribute("b-lang", "ar"); //use b-lang instead of lang to fix firefox number inputs in Arabic locale
14
+ document.querySelector('html').setAttribute("dir", "rtl");
15
+ }
16
+ else {
17
+ this.loadStyleBundle(bundleEnglishName.toString());
18
+ document.querySelector('html').setAttribute("b-lang", "en");
19
+ document.querySelector('html').setAttribute("dir", "ltr");
20
+ }
21
+ }
22
+ loadThemesColor(theme, bundleDarkName, bundleLightName) {
23
+ if (theme == "Light")
24
+ this.loadStyleBundle(bundleLightName.toString());
25
+ else
26
+ this.loadStyleBundle(bundleDarkName.toString());
27
+ }
28
+ loadStyleBundle(styleName) {
29
+ const head = this.document.getElementsByTagName('head')[0];
30
+ let themeLink = this.document.getElementById('client-theme');
31
+ if (themeLink && themeLink.href.includes(styleName)) {
32
+ return;
33
+ }
34
+ else if (themeLink && !themeLink.href.includes(styleName)) {
35
+ themeLink.remove();
36
+ }
37
+ const style = this.document.createElement('link');
38
+ style.id = 'client-theme';
39
+ style.rel = 'stylesheet';
40
+ style.href = `${styleName}`;
41
+ head.appendChild(style);
42
+ }
43
+ }
44
+ StylesBundleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StylesBundleService, deps: [{ token: DOCUMENT }, { token: i1.BBSFTranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
45
+ StylesBundleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StylesBundleService, providedIn: 'root' });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: StylesBundleService, decorators: [{
47
+ type: Injectable,
48
+ args: [{
49
+ providedIn: 'root'
50
+ }]
51
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
52
+ type: Inject,
53
+ args: [DOCUMENT]
54
+ }] }, { type: i1.BBSFTranslateService }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzYnVuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9zdHlsZXNidW5kbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQXNDLFFBQWtCLEVBQVUsZ0JBQXNDO1FBQWxFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXNCO0lBQUksQ0FBQztJQUU3RyxVQUFVLENBQUMsSUFBWSxFQUFFLGlCQUF5QixFQUFFLGdCQUF3QjtRQUMxRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQ2pELFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLDBFQUEwRTtZQUN2SSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0Q7YUFBTTtZQUNMLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUNsRCxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNEO0lBRUgsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsY0FBc0IsRUFBRSxlQUF1QjtRQUM1RSxJQUFJLEtBQUssSUFBSSxPQUFPO1lBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7O1lBRWpELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFpQjtRQUMvQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBb0IsQ0FBQztRQUVoRixJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNuRCxPQUFPO1NBQ1I7YUFDSSxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3pELFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNwQjtRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELEtBQUssQ0FBQyxFQUFFLEdBQUcsY0FBYyxDQUFDO1FBQzFCLEtBQUssQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7O2lIQXhDVSxtQkFBbUIsa0JBRVYsUUFBUTtxSEFGakIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjswREFHaUQsUUFBUTswQkFBM0MsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmxvY2tVSSwgTmdCbG9ja1VJIH0gZnJvbSAnbmctYmxvY2stdWknO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3R5bGVzQnVuZGxlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LCBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbG9hZFRoZW1lcyhsYW5nOiBzdHJpbmcsIGJ1bmRsZUVuZ2xpc2hOYW1lOiBzdHJpbmcsIGJ1bmRsZUFyYWJpY05hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKGxhbmcgPT0gXCJhclwiKSB7XHJcbiAgICAgIHRoaXMubG9hZFN0eWxlQnVuZGxlKGJ1bmRsZUFyYWJpY05hbWUudG9TdHJpbmcoKSlcclxuICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpLnNldEF0dHJpYnV0ZShcImItbGFuZ1wiLCBcImFyXCIpOyAvL3VzZSBiLWxhbmcgaW5zdGVhZCBvZiBsYW5nIHRvIGZpeCBmaXJlZm94IG51bWJlciBpbnB1dHMgaW4gQXJhYmljIGxvY2FsZVxyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJykuc2V0QXR0cmlidXRlKFwiZGlyXCIsIFwicnRsXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sb2FkU3R5bGVCdW5kbGUoYnVuZGxlRW5nbGlzaE5hbWUudG9TdHJpbmcoKSlcclxuICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpLnNldEF0dHJpYnV0ZShcImItbGFuZ1wiLCBcImVuXCIpO1xyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJykuc2V0QXR0cmlidXRlKFwiZGlyXCIsIFwibHRyXCIpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGxvYWRUaGVtZXNDb2xvcih0aGVtZTogc3RyaW5nLCBidW5kbGVEYXJrTmFtZTogc3RyaW5nLCBidW5kbGVMaWdodE5hbWU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoZW1lID09IFwiTGlnaHRcIilcclxuICAgICAgdGhpcy5sb2FkU3R5bGVCdW5kbGUoYnVuZGxlTGlnaHROYW1lLnRvU3RyaW5nKCkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmxvYWRTdHlsZUJ1bmRsZShidW5kbGVEYXJrTmFtZS50b1N0cmluZygpKVxyXG4gIH1cclxuXHJcbiAgbG9hZFN0eWxlQnVuZGxlKHN0eWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xyXG5cclxuICAgIGxldCB0aGVtZUxpbmsgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbGllbnQtdGhlbWUnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcblxyXG4gICAgaWYgKHRoZW1lTGluayAmJiB0aGVtZUxpbmsuaHJlZi5pbmNsdWRlcyhzdHlsZU5hbWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoZW1lTGluayAmJiAhdGhlbWVMaW5rLmhyZWYuaW5jbHVkZXMoc3R5bGVOYW1lKSkge1xyXG4gICAgICB0aGVtZUxpbmsucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgc3R5bGUuaWQgPSAnY2xpZW50LXRoZW1lJztcclxuICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIHN0eWxlLmhyZWYgPSBgJHtzdHlsZU5hbWV9YDtcclxuICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { TranslateService } from "@ngx-translate/core";
3
+ import * as i0 from "@angular/core";
4
+ export class BBSFTranslateService extends TranslateService {
5
+ }
6
+ BBSFTranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFTranslateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7
+ BBSFTranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFTranslateService, providedIn: 'root' });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BBSFTranslateService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root'
12
+ }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUt2RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCOztrSEFBN0Msb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCQlNGVHJhbnNsYXRlU2VydmljZSBleHRlbmRzIFRyYW5zbGF0ZVNlcnZpY2Uge1xyXG59Il19
@@ -0,0 +1,18 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./translate.service";
4
+ export class TranslationResolverService {
5
+ constructor(translateService) {
6
+ this.translateService = translateService;
7
+ }
8
+ resolve() {
9
+ return this.translateService.getTranslation(this.translateService.currentLang);
10
+ }
11
+ }
12
+ TranslationResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslationResolverService, deps: [{ token: i1.BBSFTranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
13
+ TranslationResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslationResolverService, providedIn: 'root' });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslationResolverService, decorators: [{
15
+ type: Injectable,
16
+ args: [{ providedIn: 'root' }]
17
+ }], ctorParameters: function () { return [{ type: i1.BBSFTranslateService }]; } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvdHJhbnNsYXRpb25yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8zQyxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQW9CLGdCQUFzQztRQUF0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXNCO0lBQUcsQ0FBQztJQUU5RCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUNsQyxDQUFDO0lBQ0osQ0FBQzs7d0hBUFUsMEJBQTBCOzRIQUExQiwwQkFBMEIsY0FEYixNQUFNOzRGQUNuQiwwQkFBMEI7a0JBRHRDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJlc29sdmUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uUmVzb2x2ZXJTZXJ2aWNlIGltcGxlbWVudHMgUmVzb2x2ZTxhbnk+IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlKSB7fVxyXG5cclxuICByZXNvbHZlKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldFRyYW5zbGF0aW9uKFxyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmdcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,90 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { ToastrService } from 'ngx-toastr';
4
+ import { BlockUI } from 'ng-block-ui';
5
+ import { AppInjector } from '../../bbsf-utilities.module';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./translate.service";
8
+ import * as i2 from "../authentication/auth.service";
9
+ import * as i3 from "./environment.service";
10
+ export class UtilityService {
11
+ constructor(translator, authService, environmentService) {
12
+ this.translator = translator;
13
+ this.authService = authService;
14
+ this.environmentService = environmentService;
15
+ this.isCreatedBefore = false;
16
+ }
17
+ getResourceValue(Key) {
18
+ let ResourceValue = this.translator.instant(Key);
19
+ return ResourceValue;
20
+ }
21
+ getCurrentLanguage() {
22
+ let currentLanguage = this.environmentService.getDefaultLanguage();
23
+ let lang = localStorage.getItem('language');
24
+ if (lang)
25
+ currentLanguage = lang;
26
+ else
27
+ localStorage.setItem('language', currentLanguage);
28
+ return currentLanguage;
29
+ }
30
+ isCurrentLanguageEnglish() {
31
+ return this.getCurrentLanguage() == "en";
32
+ }
33
+ isCurrentLanguageArabic() {
34
+ return this.getCurrentLanguage() == "ar";
35
+ }
36
+ notifySuccessMessage(Message, title, time, showHeader = true) {
37
+ let MessageTemplate = this.getResourceValue("SuccessMessage");
38
+ let titleTemplate;
39
+ if (Message) {
40
+ MessageTemplate = Message;
41
+ }
42
+ if (title) {
43
+ titleTemplate = title;
44
+ }
45
+ let toaster = AppInjector.get(ToastrService);
46
+ showHeader ? toaster.success(MessageTemplate, titleTemplate) : toaster.success(MessageTemplate);
47
+ }
48
+ notifyErrorMessage(Message, title, time, showHeader = true) {
49
+ let MessageTemplate = this.getResourceValue("ErrorMessage");
50
+ let titleTemplate = this.getResourceValue("Error");
51
+ if (Message) {
52
+ MessageTemplate = Message;
53
+ }
54
+ if (title) {
55
+ titleTemplate = title;
56
+ }
57
+ const toaster = AppInjector.get(ToastrService);
58
+ showHeader ? toaster.error(MessageTemplate, titleTemplate) : toaster.error(MessageTemplate);
59
+ }
60
+ notifyWarningMessage(Message, title, time, showHeader = true) {
61
+ let MessageTemplate = this.getResourceValue("WarningMessage");
62
+ let titleTemplate = this.getResourceValue("Warning");
63
+ if (Message) {
64
+ MessageTemplate = Message;
65
+ }
66
+ if (title) {
67
+ titleTemplate = title;
68
+ }
69
+ const toaster = AppInjector.get(ToastrService);
70
+ showHeader ? toaster.warning(MessageTemplate, titleTemplate) : toaster.warning(MessageTemplate);
71
+ }
72
+ startBlockUI() {
73
+ this.blockUI.start();
74
+ }
75
+ stopBlockUI() {
76
+ this.blockUI.stop();
77
+ }
78
+ }
79
+ UtilityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UtilityService, deps: [{ token: i1.BBSFTranslateService }, { token: i2.AuthService }, { token: i3.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
80
+ UtilityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UtilityService, providedIn: 'root' });
81
+ __decorate([
82
+ BlockUI()
83
+ ], UtilityService.prototype, "blockUI", void 0);
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: UtilityService, decorators: [{
85
+ type: Injectable,
86
+ args: [{
87
+ providedIn: 'root'
88
+ }]
89
+ }], ctorParameters: function () { return [{ type: i1.BBSFTranslateService }, { type: i2.AuthService }, { type: i3.EnvironmentService }]; }, propDecorators: { blockUI: [] } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFHakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQVExRCxNQUFNLE9BQU8sY0FBYztJQUt6QixZQUFvQixVQUFnQyxFQUFVLFdBQXdCLEVBQVUsa0JBQXNDO1FBQWxILGVBQVUsR0FBVixVQUFVLENBQXNCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBSHRJLG9CQUFlLEdBQUcsS0FBSyxDQUFDO0lBS3hCLENBQUM7SUFHRCxnQkFBZ0IsQ0FBQyxHQUFXO1FBQzFCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2hELE9BQU8sYUFBYSxDQUFDO0lBRXZCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkUsSUFBSSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QyxJQUFJLElBQUk7WUFDTixlQUFlLEdBQUcsSUFBSSxDQUFDOztZQUV2QixZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNwRCxPQUFPLGVBQWUsQ0FBQztJQUN6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SG9zdCwgU2tpcFNlbGYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoZW50aWNhdGlvbi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBJbmplY3RvciB9IGZyb20gJy4uLy4uL2Jic2YtdXRpbGl0aWVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4vZW52aXJvbm1lbnQuc2VydmljZSc7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFV0aWxpdHlTZXJ2aWNlIHtcclxuXHJcbiAgaXNDcmVhdGVkQmVmb3JlID0gZmFsc2U7XHJcbiAgQEJsb2NrVUkoKSBibG9ja1VJOiBOZ0Jsb2NrVUk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRvcjogQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLCkge1xyXG5cclxuICB9XHJcblxyXG5cclxuICBnZXRSZXNvdXJjZVZhbHVlKEtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBSZXNvdXJjZVZhbHVlID0gdGhpcy50cmFuc2xhdG9yLmluc3RhbnQoS2V5KVxyXG4gICAgcmV0dXJuIFJlc291cmNlVmFsdWU7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudExhbmd1YWdlKCkge1xyXG4gICAgbGV0IGN1cnJlbnRMYW5ndWFnZSA9IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldERlZmF1bHRMYW5ndWFnZSgpO1xyXG4gICAgbGV0IGxhbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKTtcclxuICAgIGlmIChsYW5nKVxyXG4gICAgICBjdXJyZW50TGFuZ3VhZ2UgPSBsYW5nO1xyXG4gICAgZWxzZVxyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbGFuZ3VhZ2UnLCBjdXJyZW50TGFuZ3VhZ2UpO1xyXG4gICAgcmV0dXJuIGN1cnJlbnRMYW5ndWFnZTtcclxuICB9XHJcbiAgaXNDdXJyZW50TGFuZ3VhZ2VFbmdsaXNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudExhbmd1YWdlKCkgPT0gXCJlblwiXHJcbiAgfVxyXG4gIGlzQ3VycmVudExhbmd1YWdlQXJhYmljKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudExhbmd1YWdlKCkgPT0gXCJhclwiXHJcbiAgfVxyXG5cclxuICBub3RpZnlTdWNjZXNzTWVzc2FnZShNZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgdGltZT86IG51bWJlciwgc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWUpIHtcclxuXHJcbiAgICBsZXQgTWVzc2FnZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiU3VjY2Vzc01lc3NhZ2VcIik7XHJcbiAgICBsZXQgdGl0bGVUZW1wbGF0ZTogc3RyaW5nO1xyXG4gICAgaWYgKE1lc3NhZ2UpIHtcclxuICAgICAgTWVzc2FnZVRlbXBsYXRlID0gTWVzc2FnZTtcclxuICAgIH1cclxuICAgIGlmICh0aXRsZSkge1xyXG4gICAgICB0aXRsZVRlbXBsYXRlID0gdGl0bGU7XHJcbiAgICB9XHJcbiAgICBsZXQgdG9hc3RlciA9IEFwcEluamVjdG9yLmdldChUb2FzdHJTZXJ2aWNlKTtcclxuICAgIHNob3dIZWFkZXIgPyB0b2FzdGVyLnN1Y2Nlc3MoTWVzc2FnZVRlbXBsYXRlLCB0aXRsZVRlbXBsYXRlKSA6IHRvYXN0ZXIuc3VjY2VzcyhNZXNzYWdlVGVtcGxhdGUpO1xyXG4gIH1cclxuXHJcbiAgbm90aWZ5RXJyb3JNZXNzYWdlKE1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCB0aW1lPzogbnVtYmVyLCBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZSkge1xyXG5cclxuICAgIGxldCBNZXNzYWdlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJFcnJvck1lc3NhZ2VcIik7XHJcbiAgICBsZXQgdGl0bGVUZW1wbGF0ZSA9IHRoaXMuZ2V0UmVzb3VyY2VWYWx1ZShcIkVycm9yXCIpO1xyXG4gICAgaWYgKE1lc3NhZ2UpIHtcclxuICAgICAgTWVzc2FnZVRlbXBsYXRlID0gTWVzc2FnZTtcclxuICAgIH1cclxuICAgIGlmICh0aXRsZSkge1xyXG4gICAgICB0aXRsZVRlbXBsYXRlID0gdGl0bGU7XHJcbiAgICB9XHJcbiAgICBjb25zdCB0b2FzdGVyID0gQXBwSW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xyXG4gICAgc2hvd0hlYWRlciA/IHRvYXN0ZXIuZXJyb3IoTWVzc2FnZVRlbXBsYXRlLCB0aXRsZVRlbXBsYXRlKSA6IHRvYXN0ZXIuZXJyb3IoTWVzc2FnZVRlbXBsYXRlKTtcclxuICB9XHJcblxyXG4gIG5vdGlmeVdhcm5pbmdNZXNzYWdlKE1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCB0aW1lPzogbnVtYmVyLCBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZSkge1xyXG5cclxuICAgIGxldCBNZXNzYWdlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJXYXJuaW5nTWVzc2FnZVwiKTtcclxuICAgIGxldCB0aXRsZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiV2FybmluZ1wiKTtcclxuICAgIGlmIChNZXNzYWdlKSB7XHJcbiAgICAgIE1lc3NhZ2VUZW1wbGF0ZSA9IE1lc3NhZ2U7XHJcbiAgICB9XHJcbiAgICBpZiAodGl0bGUpIHtcclxuICAgICAgdGl0bGVUZW1wbGF0ZSA9IHRpdGxlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdG9hc3RlciA9IEFwcEluamVjdG9yLmdldChUb2FzdHJTZXJ2aWNlKTtcclxuICAgIHNob3dIZWFkZXIgPyB0b2FzdGVyLndhcm5pbmcoTWVzc2FnZVRlbXBsYXRlLCB0aXRsZVRlbXBsYXRlKSA6IHRvYXN0ZXIud2FybmluZyhNZXNzYWdlVGVtcGxhdGUpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRCbG9ja1VJKCkge1xyXG4gICAgdGhpcy5ibG9ja1VJLnN0YXJ0KCk7XHJcbiAgfVxyXG4gIHN0b3BCbG9ja1VJKCkge1xyXG4gICAgdGhpcy5ibG9ja1VJLnN0b3AoKTtcclxuICB9XHJcbn1cclxuIl19