ngx-bimplus-components 0.0.58 → 0.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.
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export class LanguageStringsService {
|
|
4
5
|
constructor() {
|
|
6
|
+
this.currentLanguage$ = new BehaviorSubject("en");
|
|
7
|
+
this.currentLanguageStrings$ = new BehaviorSubject({});
|
|
5
8
|
// #endregion public methods
|
|
6
9
|
// #region private fields
|
|
7
10
|
this._languageFilesUri = "/assets";
|
|
8
|
-
this._strings = {};
|
|
9
|
-
this._currentLanguage = "en";
|
|
10
11
|
}
|
|
11
12
|
// #region public fields
|
|
12
13
|
set languageFilesUri(uri) {
|
|
13
14
|
this._languageFilesUri = uri;
|
|
14
15
|
}
|
|
15
16
|
get currentLanguage() {
|
|
16
|
-
return this.
|
|
17
|
+
return this.currentLanguage$.getValue();
|
|
17
18
|
}
|
|
18
19
|
set currentLanguageStrings(langStrings) {
|
|
19
|
-
this.
|
|
20
|
+
this.currentLanguageStrings$.next(langStrings);
|
|
20
21
|
}
|
|
21
22
|
get currentLanguageStrings() {
|
|
22
|
-
return this.
|
|
23
|
+
return this.currentLanguageStrings$.getValue();
|
|
23
24
|
}
|
|
24
25
|
// #endregion public fields
|
|
25
26
|
// #region public methods
|
|
26
27
|
async setCurrentLanguage(lang) {
|
|
28
|
+
this.currentLanguage$.next(lang);
|
|
27
29
|
await this.fetchLanguageStrings(lang);
|
|
28
|
-
this._currentLanguage = lang;
|
|
29
30
|
}
|
|
30
31
|
extractLocalizedStrings(stringIds) {
|
|
31
32
|
const obj = {};
|
|
32
|
-
for (const [key, value] of Object.entries(this.
|
|
33
|
+
for (const [key, value] of Object.entries(this.currentLanguageStrings)) {
|
|
33
34
|
if (typeof value == 'string' && stringIds.find(x => x === key)) {
|
|
34
35
|
obj[key] = value;
|
|
35
36
|
}
|
|
@@ -38,7 +39,7 @@ export class LanguageStringsService {
|
|
|
38
39
|
}
|
|
39
40
|
async fetchLanguageStrings(lang) {
|
|
40
41
|
const data = await fetch(`${this._languageFilesUri}/strings_${lang}.json`);
|
|
41
|
-
this.
|
|
42
|
+
this.currentLanguageStrings$.next(await data.json());
|
|
42
43
|
}
|
|
43
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: LanguageStringsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
45
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: LanguageStringsService, providedIn: 'root' }); }
|
|
@@ -49,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
49
50
|
providedIn: 'root'
|
|
50
51
|
}]
|
|
51
52
|
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc3RyaW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL2xhbmd1YWdlLXN0cmluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFLaEUsTUFBTSxPQUFPLHNCQUFzQjtJQUhuQztRQVVFLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQ3RELDRCQUF1QixHQUFHLElBQUksZUFBZSxDQUFtQixFQUFFLENBQUMsQ0FBQztRQW9DcEUsNEJBQTRCO1FBRTVCLDJCQUEyQjtRQUNuQixzQkFBaUIsR0FBWSxTQUFTLENBQUE7S0FFL0M7SUEvQ0Msd0JBQXdCO0lBQ3hCLElBQUksZ0JBQWdCLENBQUMsR0FBWTtRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQy9CLENBQUM7SUFLRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksc0JBQXNCLENBQUMsV0FBOEI7UUFDdkQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUNELDJCQUEyQjtJQUUzQix5QkFBeUI7SUFDekIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQWE7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBeUI7UUFDL0MsTUFBTSxHQUFHLEdBQXNCLEVBQUUsQ0FBQztRQUNsQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLElBQUcsT0FBTyxLQUFLLElBQUksUUFBUSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUMsQ0FBQztnQkFDM0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFhO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixZQUFZLElBQUksT0FBTyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBM0NVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2FsaXplZFN0cmluZ3MgfSBmcm9tICcuLy4uL3R5cGVzL3R5cGVzJ1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzL2ludGVybmFsL0JlaGF2aW9yU3ViamVjdCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZVN0cmluZ3NTZXJ2aWNlIHtcclxuXHJcbiAgLy8gI3JlZ2lvbiBwdWJsaWMgZmllbGRzXHJcbiAgc2V0IGxhbmd1YWdlRmlsZXNVcmkodXJpIDogc3RyaW5nKXtcclxuICAgIHRoaXMuX2xhbmd1YWdlRmlsZXNVcmkgPSB1cmk7XHJcbiAgfVxyXG5cclxuICBjdXJyZW50TGFuZ3VhZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+IChcImVuXCIpO1xyXG4gIGN1cnJlbnRMYW5ndWFnZVN0cmluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMb2NhbGl6ZWRTdHJpbmdzPih7fSk7XHJcblxyXG4gIGdldCBjdXJyZW50TGFuZ3VhZ2UoKSA6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TGFuZ3VhZ2UkLmdldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBzZXQgY3VycmVudExhbmd1YWdlU3RyaW5ncyhsYW5nU3RyaW5ncyA6IExvY2FsaXplZFN0cmluZ3Mpe1xyXG4gICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2VTdHJpbmdzJC5uZXh0KGxhbmdTdHJpbmdzKTtcclxuICB9XHJcblxyXG4gIGdldCBjdXJyZW50TGFuZ3VhZ2VTdHJpbmdzKCkgOiBMb2NhbGl6ZWRTdHJpbmdzIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRMYW5ndWFnZVN0cmluZ3MkLmdldFZhbHVlKCk7XHJcbiAgfVxyXG4gIC8vICNlbmRyZWdpb24gcHVibGljIGZpZWxkc1xyXG5cclxuICAvLyAjcmVnaW9uIHB1YmxpYyBtZXRob2RzXHJcbiAgYXN5bmMgc2V0Q3VycmVudExhbmd1YWdlKGxhbmcgOiBzdHJpbmcpe1xyXG4gICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UkLm5leHQobGFuZyk7XHJcbiAgICBhd2FpdCB0aGlzLmZldGNoTGFuZ3VhZ2VTdHJpbmdzKGxhbmcpOyAgICBcclxuICB9XHJcblxyXG4gIGV4dHJhY3RMb2NhbGl6ZWRTdHJpbmdzKHN0cmluZ0lkcyA6IEFycmF5PHN0cmluZz4pIDogTG9jYWxpemVkU3RyaW5ncyB7XHJcbiAgICBjb25zdCBvYmogOiBMb2NhbGl6ZWRTdHJpbmdzID0ge307XHJcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLmN1cnJlbnRMYW5ndWFnZVN0cmluZ3MpKSB7XHJcbiAgICAgIGlmKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJyAmJiBzdHJpbmdJZHMuZmluZCh4PT54ID09PSBrZXkpKXtcclxuICAgICAgICBvYmpba2V5XSA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcblxyXG4gIGFzeW5jIGZldGNoTGFuZ3VhZ2VTdHJpbmdzKGxhbmcgOiBzdHJpbmcpe1xyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGZldGNoKGAke3RoaXMuX2xhbmd1YWdlRmlsZXNVcml9L3N0cmluZ3NfJHtsYW5nfS5qc29uYCk7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZVN0cmluZ3MkLm5leHQoYXdhaXQgZGF0YS5qc29uKCkpOyAgICBcclxuICB9XHJcbiAgLy8gI2VuZHJlZ2lvbiBwdWJsaWMgbWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIHByaXZhdGUgZmllbGRzICBcclxuICBwcml2YXRlIF9sYW5ndWFnZUZpbGVzVXJpIDogc3RyaW5nID0gXCIvYXNzZXRzXCJcclxuICAvLyAjZW5kcmVnaW9uIHByaXZhdGUgZmllbGRzXHJcbn1cclxuIl19
|
|
@@ -18,6 +18,7 @@ import { MatTreeFlattener, MatTreeFlatDataSource, MatTreeModule } from '@angular
|
|
|
18
18
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
19
19
|
import * as i3 from '@angular/cdk/tree';
|
|
20
20
|
import { FlatTreeControl, CdkTreeModule } from '@angular/cdk/tree';
|
|
21
|
+
import { BehaviorSubject as BehaviorSubject$1 } from 'rxjs/internal/BehaviorSubject';
|
|
21
22
|
|
|
22
23
|
class NgxBimplusComponentsService {
|
|
23
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NgxBimplusComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -4700,34 +4701,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
4700
4701
|
|
|
4701
4702
|
class LanguageStringsService {
|
|
4702
4703
|
constructor() {
|
|
4704
|
+
this.currentLanguage$ = new BehaviorSubject$1("en");
|
|
4705
|
+
this.currentLanguageStrings$ = new BehaviorSubject$1({});
|
|
4703
4706
|
// #endregion public methods
|
|
4704
4707
|
// #region private fields
|
|
4705
4708
|
this._languageFilesUri = "/assets";
|
|
4706
|
-
this._strings = {};
|
|
4707
|
-
this._currentLanguage = "en";
|
|
4708
4709
|
}
|
|
4709
4710
|
// #region public fields
|
|
4710
4711
|
set languageFilesUri(uri) {
|
|
4711
4712
|
this._languageFilesUri = uri;
|
|
4712
4713
|
}
|
|
4713
4714
|
get currentLanguage() {
|
|
4714
|
-
return this.
|
|
4715
|
+
return this.currentLanguage$.getValue();
|
|
4715
4716
|
}
|
|
4716
4717
|
set currentLanguageStrings(langStrings) {
|
|
4717
|
-
this.
|
|
4718
|
+
this.currentLanguageStrings$.next(langStrings);
|
|
4718
4719
|
}
|
|
4719
4720
|
get currentLanguageStrings() {
|
|
4720
|
-
return this.
|
|
4721
|
+
return this.currentLanguageStrings$.getValue();
|
|
4721
4722
|
}
|
|
4722
4723
|
// #endregion public fields
|
|
4723
4724
|
// #region public methods
|
|
4724
4725
|
async setCurrentLanguage(lang) {
|
|
4726
|
+
this.currentLanguage$.next(lang);
|
|
4725
4727
|
await this.fetchLanguageStrings(lang);
|
|
4726
|
-
this._currentLanguage = lang;
|
|
4727
4728
|
}
|
|
4728
4729
|
extractLocalizedStrings(stringIds) {
|
|
4729
4730
|
const obj = {};
|
|
4730
|
-
for (const [key, value] of Object.entries(this.
|
|
4731
|
+
for (const [key, value] of Object.entries(this.currentLanguageStrings)) {
|
|
4731
4732
|
if (typeof value == 'string' && stringIds.find(x => x === key)) {
|
|
4732
4733
|
obj[key] = value;
|
|
4733
4734
|
}
|
|
@@ -4736,7 +4737,7 @@ class LanguageStringsService {
|
|
|
4736
4737
|
}
|
|
4737
4738
|
async fetchLanguageStrings(lang) {
|
|
4738
4739
|
const data = await fetch(`${this._languageFilesUri}/strings_${lang}.json`);
|
|
4739
|
-
this.
|
|
4740
|
+
this.currentLanguageStrings$.next(await data.json());
|
|
4740
4741
|
}
|
|
4741
4742
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: LanguageStringsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4742
4743
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: LanguageStringsService, providedIn: 'root' }); }
|