@bnsights/bbsf-utilities 1.0.58 → 1.0.59
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.
- package/README.md +38 -1
- package/esm2022/lib/shared/config/environment.mjs +1 -1
- package/esm2022/lib/shared/services/index.mjs +2 -1
- package/esm2022/lib/shared/services/preload.service.mjs +57 -0
- package/esm2022/public-api.mjs +3 -2
- package/fesm2022/bnsights-bbsf-utilities.mjs +54 -3
- package/fesm2022/bnsights-bbsf-utilities.mjs.map +1 -1
- package/lib/shared/services/index.d.ts +1 -0
- package/lib/shared/services/preload.service.d.ts +13 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/bnsights-bbsf-utilities-1.0.58.tgz +0 -0
package/README.md
CHANGED
|
@@ -1,18 +1,55 @@
|
|
|
1
1
|
# BnsightsUtilitiesLibrary
|
|
2
2
|
|
|
3
|
-
BBSF Utilities package is part of BBSF 3 packages. It has all the common services useded by [BBSF Admin Portal](https://www.npmjs.com/package/@bnsights
|
|
3
|
+
BBSF Utilities package is part of BBSF 3 packages. It has all the common services useded by [BBSF Admin Portal](https://www.npmjs.com/package/@bnsights/bbsf-admin-portal) or [BBSF Controls](https://www.npmjs.com/package/@bnsights/bbsf-controls)
|
|
4
4
|
|
|
5
5
|
For more info please visit [BBSF Controls documenation](https://bbsfadmin.bnsights.com/controls) or [BBSF documentation](https://bnsightsprojects.visualstudio.com/BBSF%203/_wiki/wikis/BBSF-3.wiki/65/BBSF-Documentation)
|
|
6
6
|
|
|
7
7
|
# Change Log
|
|
8
|
+
|
|
9
|
+
## 1.0.59 / 16-2-2024
|
|
10
|
+
|
|
11
|
+
=====================
|
|
12
|
+
|
|
13
|
+
- Add FileLoader to load environment.js, and translation files before app start
|
|
14
|
+
- to use it add APP_INITIALIZER to use this Service inside ur app.module.ts
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
|
|
18
|
+
export function initializeApp(preload: FileLoaderService) {
|
|
19
|
+
return () => preload.loadEnvironment();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function preloadTranslationsFactory(preload: FileLoaderService) {
|
|
23
|
+
return () => preload.preloadTranslations();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
{
|
|
27
|
+
provide: APP_INITIALIZER,
|
|
28
|
+
useFactory: initializeApp,
|
|
29
|
+
deps: [FileLoaderService],
|
|
30
|
+
multi: true,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
provide: APP_INITIALIZER,
|
|
34
|
+
useFactory: preloadTranslationsFactory,
|
|
35
|
+
deps: [FileLoaderService],
|
|
36
|
+
multi: true,
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
|
|
8
41
|
## 1.0.58 / 9-9-2024
|
|
42
|
+
|
|
9
43
|
=====================
|
|
10
44
|
-multi tenant
|
|
45
|
+
|
|
11
46
|
## 1.0.57 / 8-8-2024
|
|
47
|
+
|
|
12
48
|
===================
|
|
13
49
|
-Update speech language model
|
|
14
50
|
|
|
15
51
|
## 1.0.56 / 4-8-2024
|
|
52
|
+
|
|
16
53
|
===================
|
|
17
54
|
-Added SpeechRecognitionService
|
|
18
55
|
|
|
@@ -9,4 +9,4 @@ export const environment = Object.assign({}, window.Environment);
|
|
|
9
9
|
* because it will have performance impact when throw error
|
|
10
10
|
*/
|
|
11
11
|
// import 'zone.js/dist/zone-error'; // Included with Angular CLI.
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9jb25maWcvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0ZBQWdGO0FBQ2hGLDJFQUEyRTtBQUMzRSxnRUFBZ0U7QUFFaEUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFHLE1BQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUcxRTs7Ozs7R0FLRztBQUNILG1FQUFtRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZmlsZSBjYW4gYmUgcmVwbGFjZWQgZHVyaW5nIGJ1aWxkIGJ5IHVzaW5nIHRoZSBgZmlsZVJlcGxhY2VtZW50c2AgYXJyYXkuXHJcbi8vIGBuZyBidWlsZCAtLS1wcm9kYCByZXBsYWNlcyBgZW52aXJvbm1lbnQudHNgIHdpdGggYGVudmlyb25tZW50LnByb2QudHNgLlxyXG4vLyBUaGUgbGlzdCBvZiBmaWxlIHJlcGxhY2VtZW50cyBjYW4gYmUgZm91bmQgaW4gYGFuZ3VsYXIuanNvbmAuXHJcblxyXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnQgPSBPYmplY3QuYXNzaWduKHt9LCAod2luZG93IGFzIGFueSkuRW52aXJvbm1lbnQpO1xyXG5cclxuXHJcbi8qXHJcbiAqIEluIGRldmVsb3BtZW50IG1vZGUsIHRvIGlnbm9yZSB6b25lIHJlbGF0ZWQgZXJyb3Igc3RhY2sgZnJhbWVzIHN1Y2ggYXNcclxuICogYHpvbmUucnVuYCwgYHpvbmVEZWxlZ2F0ZS5pbnZva2VUYXNrYCBmb3IgZWFzaWVyIGRlYnVnZ2luZywgeW91IGNhblxyXG4gKiBpbXBvcnQgdGhlIGZvbGxvd2luZyBmaWxlLCBidXQgcGxlYXNlIGNvbW1lbnQgaXQgb3V0IGluIHByb2R1Y3Rpb24gbW9kZVxyXG4gKiBiZWNhdXNlIGl0IHdpbGwgaGF2ZSBwZXJmb3JtYW5jZSBpbXBhY3Qgd2hlbiB0aHJvdyBlcnJvclxyXG4gKi9cclxuLy8gaW1wb3J0ICd6b25lLmpzL2Rpc3Qvem9uZS1lcnJvcic7ICAvLyBJbmNsdWRlZCB3aXRoIEFuZ3VsYXIgQ0xJLlxyXG4iXX0=
|
|
@@ -11,4 +11,5 @@ export * from './utility.service';
|
|
|
11
11
|
export * from './word-document.service';
|
|
12
12
|
export * from './language.service';
|
|
13
13
|
export * from './speech-recognition.service';
|
|
14
|
-
|
|
14
|
+
export * from './preload.service';
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcGVhcmFuY2UtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyb2wtdmFsaWRhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tYXN0ZXItbGF5b3V0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtaGFuZGxlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdHlsZXMtYnVuZGxlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGlvbi1yZXNvbHZlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi91dGlsaXR5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dvcmQtZG9jdW1lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ByZWxvYWQuc2VydmljZSc7Il19
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { lastValueFrom } from 'rxjs';
|
|
3
|
+
import { environment } from '../config/environment';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./translate.service";
|
|
6
|
+
import * as i2 from "@angular/common/http";
|
|
7
|
+
export class FileLoaderService {
|
|
8
|
+
// environment:any;
|
|
9
|
+
constructor(translate, http) {
|
|
10
|
+
this.translate = translate;
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.availableLanguages = ['en', 'ar']; // Add more languages as needed
|
|
13
|
+
this.translate.addLangs(this.availableLanguages);
|
|
14
|
+
}
|
|
15
|
+
loadEnvironment() {
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
const script = document.createElement('script');
|
|
18
|
+
script.src = '/assets/config/environment.js';
|
|
19
|
+
script.onload = () => {
|
|
20
|
+
if (window.Environment) {
|
|
21
|
+
Object.assign(environment, window.Environment);
|
|
22
|
+
resolve();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
reject('Environment variables not found.');
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
script.onerror = () => reject('Failed to load environment.js');
|
|
29
|
+
document.head.appendChild(script);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
async preloadTranslations() {
|
|
33
|
+
console.log('Starting to preload translation files...');
|
|
34
|
+
try {
|
|
35
|
+
const requests = this.availableLanguages.map(async (lang) => {
|
|
36
|
+
const translations = await lastValueFrom(this.http.get(`/assets/i18n/${lang}.json`));
|
|
37
|
+
console.log(`Loaded ${lang} translations:`, translations);
|
|
38
|
+
this.translate.setTranslation(lang, translations, true);
|
|
39
|
+
});
|
|
40
|
+
await Promise.all(requests);
|
|
41
|
+
this.translate.use('en'); // Set default language manually
|
|
42
|
+
console.log('All translations preloaded.');
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error('Error preloading translations:', error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FileLoaderService, deps: [{ token: i1.BBSFTranslateService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FileLoaderService, providedIn: 'root' }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FileLoaderService, decorators: [{
|
|
52
|
+
type: Injectable,
|
|
53
|
+
args: [{
|
|
54
|
+
providedIn: 'root',
|
|
55
|
+
}]
|
|
56
|
+
}], ctorParameters: () => [{ type: i1.BBSFTranslateService }, { type: i2.HttpClient }] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvcHJlbG9hZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFPcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQixtQkFBbUI7SUFDbkIsWUFBb0IsU0FBK0IsRUFBVSxJQUFnQjtRQUF6RCxjQUFTLEdBQVQsU0FBUyxDQUFzQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFGckUsdUJBQWtCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFHdEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLEdBQUcsR0FBRywrQkFBK0IsQ0FBQztZQUM3QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDakIsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFO29CQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQy9DLE9BQU8sRUFBRSxDQUFDO2lCQUNiO3FCQUFNO29CQUNILE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2lCQUM5QztZQUNMLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDL0QsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLG1CQUFtQjtRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDeEQsSUFBSTtZQUNBLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUN4RCxNQUFNLFlBQVksR0FBRyxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNyRixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztZQUMxRCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDOUM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDMUQ7SUFDTCxDQUFDOzhHQXZDUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQkJTRlRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi9jb25maWcvZW52aXJvbm1lbnQnO1xyXG5cclxuZGVjbGFyZSBjb25zdCB3aW5kb3c6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVMb2FkZXJTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgYXZhaWxhYmxlTGFuZ3VhZ2VzID0gWydlbicsICdhciddOyAvLyBBZGQgbW9yZSBsYW5ndWFnZXMgYXMgbmVlZGVkXHJcbiAgICAvLyBlbnZpcm9ubWVudDphbnk7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkRW52aXJvbm1lbnQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICAgICAgICAgIHNjcmlwdC5zcmMgPSAnL2Fzc2V0cy9jb25maWcvZW52aXJvbm1lbnQuanMnO1xyXG4gICAgICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5FbnZpcm9ubWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZW52aXJvbm1lbnQsIHdpbmRvdy5FbnZpcm9ubWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZWplY3QoJ0Vudmlyb25tZW50IHZhcmlhYmxlcyBub3QgZm91bmQuJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHNjcmlwdC5vbmVycm9yID0gKCkgPT4gcmVqZWN0KCdGYWlsZWQgdG8gbG9hZCBlbnZpcm9ubWVudC5qcycpO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcHJlbG9hZFRyYW5zbGF0aW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnU3RhcnRpbmcgdG8gcHJlbG9hZCB0cmFuc2xhdGlvbiBmaWxlcy4uLicpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RzID0gdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMubWFwKGFzeW5jIChsYW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMuaHR0cC5nZXQoYC9hc3NldHMvaTE4bi8ke2xhbmd9Lmpzb25gKSk7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgTG9hZGVkICR7bGFuZ30gdHJhbnNsYXRpb25zOmAsIHRyYW5zbGF0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXRUcmFuc2xhdGlvbihsYW5nLCB0cmFuc2xhdGlvbnMsIHRydWUpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHJlcXVlc3RzKTtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKCdlbicpOyAvLyBTZXQgZGVmYXVsdCBsYW5ndWFnZSBtYW51YWxseVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnQWxsIHRyYW5zbGF0aW9ucyBwcmVsb2FkZWQuJyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcHJlbG9hZGluZyB0cmFuc2xhdGlvbnM6JywgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Public API Surface of @bnsights
|
|
2
|
+
* Public API Surface of @bnsights/bbsf-utilities
|
|
3
3
|
*/
|
|
4
4
|
//Module
|
|
5
5
|
export * from './lib/bbsf-utilities.module';
|
|
@@ -18,6 +18,7 @@ export * from './lib/shared/services/word-document.service';
|
|
|
18
18
|
export * from './lib/shared/authentication/auth.service';
|
|
19
19
|
export * from './lib/shared/services/language.service';
|
|
20
20
|
export * from './lib/shared/services/speech-recognition.service';
|
|
21
|
+
export * from './lib/shared/services/preload.service';
|
|
21
22
|
//#endregion
|
|
22
23
|
//#region config
|
|
23
24
|
export * from './lib/shared/config/environment';
|
|
@@ -30,4 +31,4 @@ export * from './lib/shared/models/speech-language';
|
|
|
30
31
|
//#region export enums
|
|
31
32
|
export * from './lib/shared/enums/authentication-modes-enums';
|
|
32
33
|
//#endregion
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsUUFBUTtBQUNSLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsa0JBQWtCO0FBRWxCLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHVDQUF1QyxDQUFDO0FBSXRELFlBQVk7QUFFWixnQkFBZ0I7QUFDaEIsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxZQUFZO0FBRVosaUJBQWlCO0FBQ2pCLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELFlBQVk7QUFFWixzQkFBc0I7QUFDdEIsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEBibnNpZ2h0cy9iYnNmLXV0aWxpdGllc1xyXG4gKi9cclxuXHJcbi8vTW9kdWxlXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jic2YtdXRpbGl0aWVzLm1vZHVsZSc7XHJcblxyXG4vLyNyZWdpb24gc2VydmljZXNcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zZXJ2aWNlcy9yZXF1ZXN0LWhhbmRsZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zZXJ2aWNlcy9zdHlsZXMtYnVuZGxlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvY29udHJvbC12YWxpZGF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvbWFzdGVyLWxheW91dC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlc29sdmVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvYXBwZWFyYW5jZS1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3NlcnZpY2VzL3dvcmQtZG9jdW1lbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9hdXRoZW50aWNhdGlvbi9hdXRoLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zZXJ2aWNlcy9zcGVlY2gtcmVjb2duaXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zZXJ2aWNlcy9wcmVsb2FkLnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG4vLyNlbmRyZWdpb25cclxuXHJcbi8vI3JlZ2lvbiBjb25maWdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2NvbmZpZy9lbnZpcm9ubWVudCc7XHJcbi8vI2VuZHJlZ2lvblxyXG5cclxuLy8jcmVnaW9uIG1vZGVscyBcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL21vZGVscy9yZXF1ZXN0LW9wdGlvbnMtbW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvbW9kZWxzL3dvcmQtZG9jdW1lbnQtbW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvbW9kZWxzL3NwZWVjaC1sYW5ndWFnZSc7XHJcbi8vI2VuZHJlZ2lvblxyXG5cclxuLy8jcmVnaW9uIGV4cG9ydCBlbnVtc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvZW51bXMvYXV0aGVudGljYXRpb24tbW9kZXMtZW51bXMnO1xyXG4vLyNlbmRyZWdpb25cclxuIl19
|
|
@@ -13,7 +13,7 @@ import * as i4$1 from 'ngx-cookie-service';
|
|
|
13
13
|
import { CookieService } from 'ngx-cookie-service';
|
|
14
14
|
import * as i1 from '@angular/common/http';
|
|
15
15
|
import { HttpParams, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
|
|
16
|
-
import { Subject, throwError, Observable, BehaviorSubject } from 'rxjs';
|
|
16
|
+
import { Subject, throwError, Observable, lastValueFrom, BehaviorSubject } from 'rxjs';
|
|
17
17
|
import { JwtHelperService } from '@auth0/angular-jwt';
|
|
18
18
|
import { __decorate } from 'tslib';
|
|
19
19
|
import { plainToClass } from 'class-transformer';
|
|
@@ -4513,6 +4513,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
4513
4513
|
}]
|
|
4514
4514
|
}], ctorParameters: () => [{ type: i0.NgZone }, { type: UtilityService }] });
|
|
4515
4515
|
|
|
4516
|
+
class FileLoaderService {
|
|
4517
|
+
// environment:any;
|
|
4518
|
+
constructor(translate, http) {
|
|
4519
|
+
this.translate = translate;
|
|
4520
|
+
this.http = http;
|
|
4521
|
+
this.availableLanguages = ['en', 'ar']; // Add more languages as needed
|
|
4522
|
+
this.translate.addLangs(this.availableLanguages);
|
|
4523
|
+
}
|
|
4524
|
+
loadEnvironment() {
|
|
4525
|
+
return new Promise((resolve, reject) => {
|
|
4526
|
+
const script = document.createElement('script');
|
|
4527
|
+
script.src = '/assets/config/environment.js';
|
|
4528
|
+
script.onload = () => {
|
|
4529
|
+
if (window.Environment) {
|
|
4530
|
+
Object.assign(environment, window.Environment);
|
|
4531
|
+
resolve();
|
|
4532
|
+
}
|
|
4533
|
+
else {
|
|
4534
|
+
reject('Environment variables not found.');
|
|
4535
|
+
}
|
|
4536
|
+
};
|
|
4537
|
+
script.onerror = () => reject('Failed to load environment.js');
|
|
4538
|
+
document.head.appendChild(script);
|
|
4539
|
+
});
|
|
4540
|
+
}
|
|
4541
|
+
async preloadTranslations() {
|
|
4542
|
+
console.log('Starting to preload translation files...');
|
|
4543
|
+
try {
|
|
4544
|
+
const requests = this.availableLanguages.map(async (lang) => {
|
|
4545
|
+
const translations = await lastValueFrom(this.http.get(`/assets/i18n/${lang}.json`));
|
|
4546
|
+
console.log(`Loaded ${lang} translations:`, translations);
|
|
4547
|
+
this.translate.setTranslation(lang, translations, true);
|
|
4548
|
+
});
|
|
4549
|
+
await Promise.all(requests);
|
|
4550
|
+
this.translate.use('en'); // Set default language manually
|
|
4551
|
+
console.log('All translations preloaded.');
|
|
4552
|
+
}
|
|
4553
|
+
catch (error) {
|
|
4554
|
+
console.error('Error preloading translations:', error);
|
|
4555
|
+
}
|
|
4556
|
+
}
|
|
4557
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FileLoaderService, deps: [{ token: BBSFTranslateService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4558
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FileLoaderService, providedIn: 'root' }); }
|
|
4559
|
+
}
|
|
4560
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FileLoaderService, decorators: [{
|
|
4561
|
+
type: Injectable,
|
|
4562
|
+
args: [{
|
|
4563
|
+
providedIn: 'root',
|
|
4564
|
+
}]
|
|
4565
|
+
}], ctorParameters: () => [{ type: BBSFTranslateService }, { type: i1.HttpClient }] });
|
|
4566
|
+
|
|
4516
4567
|
const TOKEN_KEY = 'access_token';
|
|
4517
4568
|
class AuthService {
|
|
4518
4569
|
static { this.user = null; }
|
|
@@ -4788,7 +4839,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
4788
4839
|
}] });
|
|
4789
4840
|
|
|
4790
4841
|
/*
|
|
4791
|
-
* Public API Surface of @bnsights
|
|
4842
|
+
* Public API Surface of @bnsights/bbsf-utilities
|
|
4792
4843
|
*/
|
|
4793
4844
|
//Module
|
|
4794
4845
|
//#endregion
|
|
@@ -4797,5 +4848,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
4797
4848
|
* Generated bundle index. Do not edit.
|
|
4798
4849
|
*/
|
|
4799
4850
|
|
|
4800
|
-
export { AppearanceConfigurationService, AuthService, AuthenticationModes, BBSFTranslateService, BBSFUtilitiesModule, ConfigurationService, ControlValidationService, DocumentOptionsModel, EnvironmentService, LanguageDTO, LanguageService, MasterLayoutService, RequestHandlerService, RequestOptionsModel, SpeechRecognitionService, StylesBundleService, TranslationResolverService, UtilityService, WordDocumentModel, WordDocumentService, environment };
|
|
4851
|
+
export { AppearanceConfigurationService, AuthService, AuthenticationModes, BBSFTranslateService, BBSFUtilitiesModule, ConfigurationService, ControlValidationService, DocumentOptionsModel, EnvironmentService, FileLoaderService, LanguageDTO, LanguageService, MasterLayoutService, RequestHandlerService, RequestOptionsModel, SpeechRecognitionService, StylesBundleService, TranslationResolverService, UtilityService, WordDocumentModel, WordDocumentService, environment };
|
|
4801
4852
|
//# sourceMappingURL=bnsights-bbsf-utilities.mjs.map
|