@colijnit/relation 256.1.1 → 256.1.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.
- package/bundles/colijnit-relation.umd.js +227 -237
- package/bundles/colijnit-relation.umd.js.map +1 -1
- package/colijnit-relation.d.ts +7 -8
- package/colijnit-relation.metadata.json +1 -1
- package/esm2015/colijnit-relation.js +8 -9
- package/esm2015/lib/component/relation/relation.component.js +146 -42
- package/esm2015/lib/component/relation-address/relation-address.component.js +3 -3
- package/esm2015/lib/component/relation-address-tile/relation-address-tile.component.js +3 -3
- package/esm2015/lib/component/relation-addresses/relation-addresses.component.js +6 -7
- package/esm2015/lib/component/relation-preferences/relation-preferences.component.js +2 -2
- package/esm2015/lib/component/relation-title/relation-title.component.js +4 -3
- package/esm2015/lib/enum/icon.enum.js +2 -1
- package/esm2015/lib/model/icon-svg.js +2 -1
- package/esm2015/lib/relation-version.js +4 -4
- package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
- package/esm2015/lib/service/error.service.js +5 -5
- package/esm2015/lib/service/relation-base.service.js +1 -1
- package/esm2015/lib/service/relation-settings.service.js +5 -5
- package/fesm2015/colijnit-relation.js +263 -223
- package/fesm2015/colijnit-relation.js.map +1 -1
- package/lib/component/relation/relation.component.d.ts +14 -1
- package/lib/component/relation/style/_layout.scss +66 -2
- package/lib/component/relation/style/_material-definition.scss +2 -2
- package/lib/component/relation-address/relation-address.component.d.ts +2 -2
- package/lib/component/relation-address-tile/style/_layout.scss +34 -2
- package/lib/component/relation-address-tile/style/_material-definition.scss +1 -1
- package/lib/component/relation-addresses/style/_layout.scss +7 -0
- package/lib/component/relation-addresses/style/_material-definition.scss +1 -1
- package/lib/enum/icon.enum.d.ts +1 -0
- package/lib/res/dictionary/dictionaries.d.ts +45 -1
- package/lib/service/error.service.d.ts +2 -2
- package/lib/service/relation-settings.service.d.ts +2 -2
- package/lib/style/_variables.scss +1 -1
- package/package.json +1 -1
- package/colijnit-relation-256.1.0.tgz +0 -0
- package/esm2015/lib/service/dictionary.service.js +0 -68
- package/lib/service/dictionary.service.d.ts +0 -18
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
|
|
4
|
-
import { Dictionaries } from '../res/dictionary/dictionaries';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
// The localization service, providing peers with text translation functionality.
|
|
7
|
-
export class DictionaryService {
|
|
8
|
-
constructor() {
|
|
9
|
-
// private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();
|
|
10
|
-
this._dictionaryPromise = new Map();
|
|
11
|
-
this._dictionaries = new Map();
|
|
12
|
-
// Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.
|
|
13
|
-
this._placeholder = "|~";
|
|
14
|
-
}
|
|
15
|
-
get language() {
|
|
16
|
-
return this._language;
|
|
17
|
-
}
|
|
18
|
-
// Loads the dictionary for given language in memory.
|
|
19
|
-
setDictionary(language) {
|
|
20
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
this._language = language;
|
|
22
|
-
if (!this._dictionaryPromise.has(language)) {
|
|
23
|
-
const dictionaries = new Dictionaries();
|
|
24
|
-
if (dictionaries.hasOwnProperty("text_" + language.substr(0, 2).toLowerCase())) {
|
|
25
|
-
this._dictionaries.set(language, dictionaries["text_" + language.substr(0, 2).toLowerCase()]);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
yield this._dictionaryPromise.get(language);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Returns the localized text for the given dictionary key.
|
|
33
|
-
* @param {string} key
|
|
34
|
-
* @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val
|
|
35
|
-
* @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value
|
|
36
|
-
* @returns {string} The translated text for given dictionary key
|
|
37
|
-
*/
|
|
38
|
-
get(key, upperCaseFirst = true, ...replacementTexts) {
|
|
39
|
-
if (!StringUtils.IsStringWithLength(key)) {
|
|
40
|
-
return key || "";
|
|
41
|
-
}
|
|
42
|
-
else if (!this._dictionaryLoaded(this._language)) {
|
|
43
|
-
return key;
|
|
44
|
-
}
|
|
45
|
-
let text = this._dictionaries.get(this._language)[key];
|
|
46
|
-
text = StringUtils.IsStringWithLength(text) ? text : key;
|
|
47
|
-
if (upperCaseFirst) {
|
|
48
|
-
text = text.charAt(0).toUpperCase() + text.slice(1);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
text = text.charAt(0).toLowerCase() + text.slice(1);
|
|
52
|
-
}
|
|
53
|
-
if (replacementTexts.length > 0) {
|
|
54
|
-
text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);
|
|
55
|
-
}
|
|
56
|
-
return text;
|
|
57
|
-
}
|
|
58
|
-
_dictionaryLoaded(language) {
|
|
59
|
-
return this._dictionaries.has(language);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
DictionaryService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DictionaryService_Factory() { return new DictionaryService(); }, token: DictionaryService, providedIn: "root" });
|
|
63
|
-
DictionaryService.decorators = [
|
|
64
|
-
{ type: Injectable, args: [{
|
|
65
|
-
providedIn: "root"
|
|
66
|
-
},] }
|
|
67
|
-
];
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVsYXRpb24vc3JjL2xpYi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDN0UsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdDQUFnQyxDQUFDOztBQUU1RCxpRkFBaUY7QUFJakYsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQVFFLG1KQUFtSjtRQUMzSSx1QkFBa0IsR0FBMEQsSUFBSSxHQUFHLEVBQW9ELENBQUM7UUFDeEksa0JBQWEsR0FBaUQsSUFBSSxHQUFHLEVBQTJDLENBQUM7UUFHekgsaUhBQWlIO1FBQ2hHLGlCQUFZLEdBQVcsSUFBSSxDQUFDO0tBZ0Q5QztJQTFEQyxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFVRCxxREFBcUQ7SUFDeEMsYUFBYSxDQUFDLFFBQXNCOztZQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDMUMsTUFBTSxZQUFZLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ3RELElBQUksWUFBWSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRTtvQkFDOUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUMvRjthQUNGO1lBQ0QsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7S0FBQTtJQUVEOzs7Ozs7T0FNRztJQUNJLEdBQUcsQ0FBQyxHQUFXLEVBQUUsaUJBQTBCLElBQUksRUFBRSxHQUFHLGdCQUEwQjtRQUNuRixJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLE9BQU8sR0FBRyxJQUFJLEVBQUUsQ0FBQztTQUNsQjthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2xELE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFFRCxJQUFJLElBQUksR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0QsSUFBSSxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFekQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztTQUN2RjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUdPLGlCQUFpQixDQUFDLFFBQXNCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7OztZQTdERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0xhbmd1YWdlQ29kZX0gZnJvbSAnLi4vZW51bS9sYW5ndWFnZS1jb2RlLmVudW0nO1xyXG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9zdHJpbmctdXRpbHMnO1xyXG5pbXBvcnQge0RpY3Rpb25hcmllc30gZnJvbSAnLi4vcmVzL2RpY3Rpb25hcnkvZGljdGlvbmFyaWVzJztcclxuXHJcbi8vIFRoZSBsb2NhbGl6YXRpb24gc2VydmljZSwgcHJvdmlkaW5nIHBlZXJzIHdpdGggdGV4dCB0cmFuc2xhdGlvbiBmdW5jdGlvbmFsaXR5LlxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIERpY3Rpb25hcnlTZXJ2aWNlIHtcclxuICBwdWJsaWMgZ2V0IGxhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2U7XHJcbiAgfVxyXG5cclxuICAvLyBwcml2YXRlIF9kaWN0aW9uYXJ5UHJvbWlzZTogTWFwPExhbmd1YWdlQ29kZSwgUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9Pj4gPSBuZXcgTWFwPExhbmd1YWdlQ29kZSwgUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9Pj4oKTtcclxuICBwcml2YXRlIF9kaWN0aW9uYXJ5UHJvbWlzZTogTWFwPExhbmd1YWdlQ29kZSwgUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9Pj4gPSBuZXcgTWFwPExhbmd1YWdlQ29kZSwgUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9Pj4oKTtcclxuICBwcml2YXRlIF9kaWN0aW9uYXJpZXM6IE1hcDxMYW5ndWFnZUNvZGUsIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+ID0gbmV3IE1hcDxMYW5ndWFnZUNvZGUsIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+KCk7XHJcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2U6IExhbmd1YWdlQ29kZTtcclxuXHJcbiAgLy8gU29tZSBkaWN0aW9uYXJ5IHZhbHVlcyBoYXZlIG9uZSBvciBtb3JlICd8ficgdGV4dHMgaW4gdGhlbSwgbWVhbnQgdG8gYmUgcmVwbGFjZWQgd2l0aCBjbGllbnQtc2lkZSBnaXZlbiB0ZXh0cy5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9wbGFjZWhvbGRlcjogc3RyaW5nID0gXCJ8flwiO1xyXG5cclxuICAvLyBMb2FkcyB0aGUgZGljdGlvbmFyeSBmb3IgZ2l2ZW4gbGFuZ3VhZ2UgaW4gbWVtb3J5LlxyXG4gIHB1YmxpYyBhc3luYyBzZXREaWN0aW9uYXJ5KGxhbmd1YWdlOiBMYW5ndWFnZUNvZGUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX2xhbmd1YWdlID0gbGFuZ3VhZ2U7XHJcbiAgICBpZiAoIXRoaXMuX2RpY3Rpb25hcnlQcm9taXNlLmhhcyhsYW5ndWFnZSkpIHtcclxuICAgICAgY29uc3QgZGljdGlvbmFyaWVzOiBEaWN0aW9uYXJpZXMgPSBuZXcgRGljdGlvbmFyaWVzKCk7XHJcbiAgICAgIGlmIChkaWN0aW9uYXJpZXMuaGFzT3duUHJvcGVydHkoXCJ0ZXh0X1wiICsgbGFuZ3VhZ2Uuc3Vic3RyKDAsIDIpLnRvTG93ZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgdGhpcy5fZGljdGlvbmFyaWVzLnNldChsYW5ndWFnZSwgZGljdGlvbmFyaWVzW1widGV4dF9cIiArIGxhbmd1YWdlLnN1YnN0cigwLCAyKS50b0xvd2VyQ2FzZSgpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGF3YWl0IHRoaXMuX2RpY3Rpb25hcnlQcm9taXNlLmdldChsYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBsb2NhbGl6ZWQgdGV4dCBmb3IgdGhlIGdpdmVuIGRpY3Rpb25hcnkga2V5LlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFt1cHBlckNhc2VGaXJzdCA9IHRydWVdIEZhbHNlIGZvciBmaXJzdCBsZXR0ZXIgbG93ZXJjYXNlLCB0cnVlIGZvciBmaXJzdCBsZXR0ZXIgdXBwZXJjYXNlIGZvciByZXR1cm5lZCBkaWN0IHZhbFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IHJlcGxhY2VtZW50VGV4dHMgUmVzdCBwYXJhbXMgZm9yIHJlcGxhY2VtZW50IG9mICd8ficgaW4gcmV0dXJuZWQgZGljdCB2YWx1ZVxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB0cmFuc2xhdGVkIHRleHQgZm9yIGdpdmVuIGRpY3Rpb25hcnkga2V5XHJcbiAgICovXHJcbiAgcHVibGljIGdldChrZXk6IHN0cmluZywgdXBwZXJDYXNlRmlyc3Q6IGJvb2xlYW4gPSB0cnVlLCAuLi5yZXBsYWNlbWVudFRleHRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIVN0cmluZ1V0aWxzLklzU3RyaW5nV2l0aExlbmd0aChrZXkpKSB7XHJcbiAgICAgIHJldHVybiBrZXkgfHwgXCJcIjtcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMuX2RpY3Rpb25hcnlMb2FkZWQodGhpcy5fbGFuZ3VhZ2UpKSB7XHJcbiAgICAgIHJldHVybiBrZXk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRleHQ6IHN0cmluZyA9IHRoaXMuX2RpY3Rpb25hcmllcy5nZXQodGhpcy5fbGFuZ3VhZ2UpW2tleV07XHJcbiAgICB0ZXh0ID0gU3RyaW5nVXRpbHMuSXNTdHJpbmdXaXRoTGVuZ3RoKHRleHQpID8gdGV4dCA6IGtleTtcclxuXHJcbiAgICBpZiAodXBwZXJDYXNlRmlyc3QpIHtcclxuICAgICAgdGV4dCA9IHRleHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0ZXh0LnNsaWNlKDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGV4dCA9IHRleHQuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyB0ZXh0LnNsaWNlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChyZXBsYWNlbWVudFRleHRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGV4dCA9IFN0cmluZ1V0aWxzLlJlcGxhY2VPY2N1cnJlbmNlc0luKHRleHQsIHRoaXMuX3BsYWNlaG9sZGVyLCAuLi5yZXBsYWNlbWVudFRleHRzKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGV4dDtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIF9kaWN0aW9uYXJ5TG9hZGVkKGxhbmd1YWdlOiBMYW5ndWFnZUNvZGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9kaWN0aW9uYXJpZXMuaGFzKGxhbmd1YWdlKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { LanguageCode } from '../enum/language-code.enum';
|
|
2
|
-
export declare class DictionaryService {
|
|
3
|
-
get language(): string;
|
|
4
|
-
private _dictionaryPromise;
|
|
5
|
-
private _dictionaries;
|
|
6
|
-
private _language;
|
|
7
|
-
private readonly _placeholder;
|
|
8
|
-
setDictionary(language: LanguageCode): Promise<void>;
|
|
9
|
-
/**
|
|
10
|
-
* Returns the localized text for the given dictionary key.
|
|
11
|
-
* @param {string} key
|
|
12
|
-
* @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val
|
|
13
|
-
* @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value
|
|
14
|
-
* @returns {string} The translated text for given dictionary key
|
|
15
|
-
*/
|
|
16
|
-
get(key: string, upperCaseFirst?: boolean, ...replacementTexts: string[]): string;
|
|
17
|
-
private _dictionaryLoaded;
|
|
18
|
-
}
|