@firedesktop/react-base 1.15.8 → 1.16.0

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 (57) hide show
  1. package/.eslintrc +19 -0
  2. package/debug.log +2 -0
  3. package/dist/components/AppIcon.d.ts +14 -0
  4. package/dist/components/AppIcon.js +163 -0
  5. package/dist/components/AppIcon.js.map +1 -0
  6. package/dist/components/Spin.d.ts +7 -0
  7. package/dist/components/Spin.js +17 -0
  8. package/dist/components/Spin.js.map +1 -0
  9. package/dist/components/index.d.ts +3 -0
  10. package/dist/components/index.js +4 -0
  11. package/dist/components/index.js.map +1 -0
  12. package/dist/index.d.ts +5 -0
  13. package/dist/index.js +6 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/utils/configuration/ConfigurationLoader.d.ts +7 -0
  16. package/dist/utils/configuration/ConfigurationLoader.js +75 -0
  17. package/dist/utils/configuration/ConfigurationLoader.js.map +1 -0
  18. package/dist/utils/configuration/ConfigurationManager.d.ts +5 -0
  19. package/dist/utils/configuration/ConfigurationManager.js +81 -0
  20. package/dist/utils/configuration/ConfigurationManager.js.map +1 -0
  21. package/dist/utils/configuration/index.d.ts +3 -0
  22. package/dist/utils/configuration/index.js +4 -0
  23. package/dist/utils/configuration/index.js.map +1 -0
  24. package/dist/utils/fetch/Types.d.ts +9 -0
  25. package/dist/utils/fetch/Types.js +2 -0
  26. package/dist/utils/fetch/Types.js.map +1 -0
  27. package/dist/utils/fetch/fetchWrapper.d.ts +13 -0
  28. package/dist/utils/fetch/fetchWrapper.js +117 -0
  29. package/dist/utils/fetch/fetchWrapper.js.map +1 -0
  30. package/dist/utils/fetch/index.d.ts +3 -0
  31. package/dist/utils/fetch/index.js +4 -0
  32. package/dist/utils/fetch/index.js.map +1 -0
  33. package/dist/utils/index.d.ts +4 -0
  34. package/dist/utils/index.js +5 -0
  35. package/dist/utils/index.js.map +1 -0
  36. package/dist/utils/labels/LanguageLoader.d.ts +8 -0
  37. package/dist/utils/labels/LanguageLoader.js +72 -0
  38. package/dist/utils/labels/LanguageLoader.js.map +1 -0
  39. package/dist/utils/labels/LanguageManager.d.ts +6 -0
  40. package/dist/utils/labels/LanguageManager.js +99 -0
  41. package/dist/utils/labels/LanguageManager.js.map +1 -0
  42. package/dist/utils/labels/index.d.ts +3 -0
  43. package/dist/utils/labels/index.js +4 -0
  44. package/dist/utils/labels/index.js.map +1 -0
  45. package/package.json +14 -14
  46. package/src/App.tsx +11 -11
  47. package/src/TestLabelFunction.tsx +1 -1
  48. package/src/lib/components/AppIcon.tsx +88 -88
  49. package/src/lib/components/Spin.tsx +1 -1
  50. package/src/lib/utils/configuration/ConfigurationLoader.tsx +3 -3
  51. package/src/lib/utils/configuration/ConfigurationManager.ts +3 -3
  52. package/src/lib/utils/fetch/fetchWrapper.ts +1 -1
  53. package/src/lib/utils/fetch/index.ts +1 -1
  54. package/src/lib/utils/labels/LanguageLoader.tsx +3 -3
  55. package/src/lib/utils/labels/LanguageManager.ts +4 -4
  56. package/src/reportWebVitals.ts +1 -1
  57. package/tsconfig.json +1 -1
@@ -0,0 +1,9 @@
1
+ export interface ILabels {
2
+ errorGeneric: string;
3
+ errorServerNotAvailable: string;
4
+ errorSessionExpired: string;
5
+ }
6
+ export declare type AdditionalParamsType = {
7
+ name: string;
8
+ value: string;
9
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../../src/lib/utils/fetch/Types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import * as Types from './Types';
2
+ declare class FetchWrapper {
3
+ apiVersion?: string;
4
+ labels?: Types.ILabels;
5
+ status_401_403?: () => void;
6
+ constructor(apiVersion?: string, labels?: Types.ILabels, status_401_403?: () => void);
7
+ get: (url: string, token?: string, params?: Blob | any, isFile?: boolean, isBlob?: boolean) => Promise<any>;
8
+ post: (url: string, token?: string, params?: Blob | any, isFile?: boolean, isBlob?: boolean, additionalParams?: Types.AdditionalParamsType[]) => Promise<any>;
9
+ put: (url: string, token?: string, params?: Blob | any, isFile?: boolean, isBlob?: boolean) => Promise<any>;
10
+ delete: (url: string, token?: string, params?: Blob | any, isFile?: boolean, isBlob?: boolean) => Promise<any>;
11
+ generic: (method: string, url: string, token?: string, params?: Blob | any, isFile?: boolean, isBlob?: boolean, version?: string, additionalParams?: Types.AdditionalParamsType[]) => Promise<any>;
12
+ }
13
+ export default FetchWrapper;
@@ -0,0 +1,117 @@
1
+ var Constants = (function () {
2
+ function Constants() {
3
+ }
4
+ Constants.labels = {
5
+ errorGeneric: 'Sorry we have errors on the remote server',
6
+ errorServerNotAvailable: 'Server not available',
7
+ errorSessionExpired: 'Your session has expired, please login.',
8
+ };
9
+ return Constants;
10
+ }());
11
+ var FetchWrapper = (function () {
12
+ function FetchWrapper(apiVersion, labels, status_401_403) {
13
+ var _this = this;
14
+ this.get = function (url, token, params, isFile, isBlob) {
15
+ if (isFile === void 0) { isFile = false; }
16
+ if (isBlob === void 0) { isBlob = false; }
17
+ return _this.generic('GET', url, token, params, isFile, isBlob);
18
+ };
19
+ this.post = function (url, token, params, isFile, isBlob, additionalParams) {
20
+ if (isFile === void 0) { isFile = false; }
21
+ if (isBlob === void 0) { isBlob = false; }
22
+ if (additionalParams === void 0) { additionalParams = []; }
23
+ return _this.generic('POST', url, token, params, isFile, isBlob, _this.apiVersion, additionalParams);
24
+ };
25
+ this.put = function (url, token, params, isFile, isBlob) {
26
+ if (isFile === void 0) { isFile = false; }
27
+ if (isBlob === void 0) { isBlob = false; }
28
+ return _this.generic('PUT', url, token, params, isFile, isBlob);
29
+ };
30
+ this.delete = function (url, token, params, isFile, isBlob) {
31
+ if (isFile === void 0) { isFile = false; }
32
+ if (isBlob === void 0) { isBlob = false; }
33
+ return _this.generic('DELETE', url, token, params, isFile, isBlob);
34
+ };
35
+ this.generic = function (method, url, token, params, isFile, isBlob, version, additionalParams) {
36
+ if (isFile === void 0) { isFile = false; }
37
+ if (isBlob === void 0) { isBlob = false; }
38
+ if (version === void 0) { version = _this.apiVersion; }
39
+ if (additionalParams === void 0) { additionalParams = []; }
40
+ var body;
41
+ var headers = new Headers();
42
+ headers.append('pragma', 'no-cache');
43
+ if (version)
44
+ headers.append('api-version', version);
45
+ if (token)
46
+ headers.append('Authorization', 'Bearer ' + token);
47
+ if (params) {
48
+ if (isFile) {
49
+ var formData = new FormData();
50
+ formData.append('file', params);
51
+ body = formData;
52
+ if (additionalParams) {
53
+ for (var index = 0; index < additionalParams.length; index++) {
54
+ var element = additionalParams[index];
55
+ formData.append(element.name, element.value);
56
+ }
57
+ }
58
+ }
59
+ else {
60
+ headers.append('Content-Type', 'application/json');
61
+ body = JSON.stringify(params);
62
+ }
63
+ }
64
+ var requestInit = {
65
+ body: body,
66
+ method: method,
67
+ mode: 'cors',
68
+ cache: 'default',
69
+ credentials: 'omit',
70
+ headers: headers
71
+ };
72
+ var labels = _this.labels;
73
+ var status_401_403 = _this.status_401_403;
74
+ return fetch(url, requestInit)
75
+ .then(function (response) {
76
+ if (response.status < 200 || response.status >= 300)
77
+ throw response;
78
+ return isBlob ? response.blob() : response.json();
79
+ })
80
+ .then(function (json) {
81
+ return json;
82
+ })
83
+ .catch(function (error) {
84
+ console.error("Error on fetch url: " + url);
85
+ if (!error || error.message === 'Failed to fetch')
86
+ throw new Error(labels.errorServerNotAvailable);
87
+ if (error.text) {
88
+ if ((error.status === 401 || error.status === 403) && status_401_403) {
89
+ status_401_403();
90
+ throw new Error(labels.errorSessionExpired);
91
+ }
92
+ else
93
+ return error.text();
94
+ }
95
+ if (error.message && error.message !== '')
96
+ throw error.message;
97
+ throw new Error(labels.errorGeneric);
98
+ })
99
+ .then(function (finalMessage) {
100
+ if (typeof (finalMessage) === 'object')
101
+ return finalMessage;
102
+ if (finalMessage)
103
+ throw new Error(finalMessage);
104
+ throw new Error(labels.errorGeneric);
105
+ });
106
+ };
107
+ this.apiVersion = apiVersion;
108
+ this.status_401_403 = status_401_403;
109
+ if (labels && labels !== null && labels.errorGeneric && labels.errorServerNotAvailable && labels.errorSessionExpired)
110
+ this.labels = labels;
111
+ else
112
+ this.labels = Constants.labels;
113
+ }
114
+ return FetchWrapper;
115
+ }());
116
+ export default FetchWrapper;
117
+ //# sourceMappingURL=fetchWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchWrapper.js","sourceRoot":"","sources":["../../../src/lib/utils/fetch/fetchWrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import FetchWrapper from './fetchWrapper';
2
+ import * as Types from './Types';
3
+ export { FetchWrapper, Types };
@@ -0,0 +1,4 @@
1
+ import FetchWrapper from './fetchWrapper';
2
+ import * as Types from './Types';
3
+ export { FetchWrapper, Types };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/fetch/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as Fetch from './fetch';
2
+ import * as Configuration from './configuration';
3
+ import * as Labels from './labels';
4
+ export { Configuration, Fetch, Labels };
@@ -0,0 +1,5 @@
1
+ import * as Fetch from './fetch';
2
+ import * as Configuration from './configuration';
3
+ import * as Labels from './labels';
4
+ export { Configuration, Fetch, Labels };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export declare type languageLoaderParamsType = {
3
+ updateAppState: (name: string, value: object) => void;
4
+ language: string;
5
+ path: string | null;
6
+ };
7
+ declare function LanguageLoader({ updateAppState, language, path }: languageLoaderParamsType): JSX.Element;
8
+ export default LanguageLoader;
@@ -0,0 +1,72 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import React, { useEffect } from 'react';
38
+ import { useDispatch, useSelector } from 'react-redux';
39
+ import LanguageManager from './LanguageManager';
40
+ function LanguageLoader(_a) {
41
+ var updateAppState = _a.updateAppState, language = _a.language, path = _a.path;
42
+ var dispatch = useDispatch();
43
+ var labels = useSelector(function (state) { return state; }).labels;
44
+ var loadLabels = LanguageManager().loadLabels;
45
+ var fileName = language + ".json";
46
+ var fullPath = "./labels/" + fileName;
47
+ if (path)
48
+ fullPath = "./" + path + "/" + fileName;
49
+ useEffect(function () {
50
+ function justAsync() {
51
+ return __awaiter(this, void 0, void 0, function () {
52
+ return __generator(this, function (_a) {
53
+ if (!labels || !labels.language || labels.language !== language) {
54
+ console.log("Loading Language Labels for this Site in this path: " + fullPath);
55
+ loadLabels(fullPath).then(function (response) {
56
+ console.log("Loaded Language Labels for this Site in this path: " + fullPath, response);
57
+ dispatch(updateAppState('labels', response));
58
+ })
59
+ .catch(function (err) {
60
+ console.log("Problem loading the Site Language Labels in this path: " + fullPath);
61
+ });
62
+ }
63
+ return [2];
64
+ });
65
+ });
66
+ }
67
+ justAsync();
68
+ }, [language]);
69
+ return (React.createElement(React.Fragment, null));
70
+ }
71
+ export default LanguageLoader;
72
+ //# sourceMappingURL=LanguageLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageLoader.js","sourceRoot":"","sources":["../../../src/lib/utils/labels/LanguageLoader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAQhD,SAAS,cAAc,CAAC,EAA4D;QAA1D,cAAc,oBAAA,EAAE,QAAQ,cAAA,EAAE,IAAI,UAAA;IACpD,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IACvB,IAAA,MAAM,GAAU,WAAW,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,EAAL,CAAK,CAAC,OAArC,CAAsC;IAC5C,IAAA,UAAU,GAAK,eAAe,EAAE,WAAtB,CAAuB;IAEzC,IAAM,QAAQ,GAAM,QAAQ,UAAO,CAAC;IAEpC,IAAI,QAAQ,GAAG,cAAY,QAAU,CAAC;IACtC,IAAI,IAAI;QACJ,QAAQ,GAAG,OAAK,IAAI,SAAI,QAAU,CAAC;IAGvC,SAAS,CAAC;QACN,SAAe,SAAS;;;oBACpB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;wBAC7D,OAAO,CAAC,GAAG,CAAC,yDAAuD,QAAU,CAAC,CAAC;wBAC/E,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,QAAa;4BACpC,OAAO,CAAC,GAAG,CAAC,wDAAsD,QAAU,EAAE,QAAQ,CAAC,CAAC;4BACxF,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;wBACjD,CAAC,CAAC;6BACG,KAAK,CAAC,UAAC,GAAQ;4BACZ,OAAO,CAAC,GAAG,CAAC,4DAA0D,QAAU,CAAC,CAAC;wBACtF,CAAC,CAAC,CAAC;qBACV;;;;SACJ;QACD,SAAS,EAAE,CAAC;IAEhB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACH,oBAAC,KAAK,CAAC,QAAQ,OACE,CACpB,CAAC;AACN,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ declare function LanguageManager(): {
2
+ getLabel: (labels: any, id: string, defaultValue: string) => any;
3
+ loadLabels: (fullPath: string) => Promise<any>;
4
+ loadLabelsWithDispatch: (dispatch: any, updateAppState: any, labels: any, language: string) => Promise<void>;
5
+ };
6
+ export default LanguageManager;
@@ -0,0 +1,99 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ function LanguageManager() {
38
+ function loadLabels(fullPath) {
39
+ return __awaiter(this, void 0, void 0, function () {
40
+ var res, err_1;
41
+ return __generator(this, function (_a) {
42
+ switch (_a.label) {
43
+ case 0:
44
+ _a.trys.push([0, 3, , 4]);
45
+ return [4, fetch(fullPath, { headers: { 'Content-Type': 'application/json; charset=utf-8' } })];
46
+ case 1:
47
+ res = _a.sent();
48
+ return [4, res.json()];
49
+ case 2: return [2, _a.sent()];
50
+ case 3:
51
+ err_1 = _a.sent();
52
+ console.log('Problem loading the Site Labels');
53
+ return [3, 4];
54
+ case 4: return [2];
55
+ }
56
+ });
57
+ });
58
+ }
59
+ ;
60
+ function loadLabelsWithDispatch(dispatch, updateAppState, labels, language) {
61
+ return __awaiter(this, void 0, void 0, function () {
62
+ var fullPath;
63
+ return __generator(this, function (_a) {
64
+ if (!labels || !labels.language || labels.language !== language) {
65
+ fullPath = "./labels/" + language + ".json";
66
+ console.log("Loading Labels for this Language " + language + ", from this path: " + fullPath);
67
+ loadLabels(fullPath).then(function (response) {
68
+ console.log("Loaded Labels for this Language " + language, response);
69
+ dispatch(updateAppState('labels', response));
70
+ }).catch(function (err) {
71
+ console.log('Problem loading the Site Labels');
72
+ });
73
+ }
74
+ return [2];
75
+ });
76
+ });
77
+ }
78
+ function getLabel(labels, id, defaultValue) {
79
+ if (labels === null || labels === undefined)
80
+ return defaultValue || '';
81
+ try {
82
+ var splits = id.split('.');
83
+ var message = labels;
84
+ for (var index = 0; index < splits.length; index++) {
85
+ var element = splits[index];
86
+ message = message[element];
87
+ }
88
+ if (message !== null && message !== undefined)
89
+ return message;
90
+ return defaultValue ? defaultValue : id;
91
+ }
92
+ catch (ex) {
93
+ return defaultValue ? defaultValue : id;
94
+ }
95
+ }
96
+ return { getLabel: getLabel, loadLabels: loadLabels, loadLabelsWithDispatch: loadLabelsWithDispatch };
97
+ }
98
+ export default LanguageManager;
99
+ //# sourceMappingURL=LanguageManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageManager.js","sourceRoot":"","sources":["../../../src/lib/utils/labels/LanguageManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,eAAe;IAEpB,SAAe,UAAU,CAAC,QAAgB;;;;;;;wBAEtB,WAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE,EAAE,CAAC,EAAA;;wBAA/F,GAAG,GAAG,SAAyF;wBAC9F,WAAM,GAAG,CAAC,IAAI,EAAE,EAAA;4BAAvB,WAAO,SAAgB,EAAC;;;wBAGxB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;;;;;;KAEtD;IAAA,CAAC;IAEF,SAAe,sBAAsB,CAAC,QAAa,EAAE,cAAmB,EAAE,MAAW,EAAE,QAAgB;;;;gBACnG,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;oBACvD,QAAQ,GAAG,cAAY,QAAQ,UAAO,CAAC;oBAC7C,OAAO,CAAC,GAAG,CAAC,sCAAoC,QAAQ,0BAAqB,QAAU,CAAC,CAAC;oBACzF,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,QAAa;wBACpC,OAAO,CAAC,GAAG,CAAC,qCAAmC,QAAU,EAAE,QAAQ,CAAC,CAAC;wBACrE,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACjD,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,GAAQ;wBACd,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;iBACN;;;;KACJ;IAED,SAAS,QAAQ,CAAC,MAAW,EAAE,EAAU,EAAE,YAAoB;QAC3D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YACvC,OAAO,YAAY,IAAI,EAAE,CAAC;QAE9B,IAAI;YACA,IAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,OAAO,GAAG,MAAM,CAAC;YACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAChD,IAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;aAC9B;YACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;gBACzC,OAAO,OAAO,CAAC;YAEnB,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3C;QAAC,OAAO,EAAE,EAAE;YACT,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3C;IACL,CAAC;IAED,OAAO,EAAE,QAAQ,UAAA,EAAE,UAAU,YAAA,EAAE,sBAAsB,wBAAA,EAAE,CAAC;AAC5D,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ import LanguageLoader from './LanguageLoader';
2
+ import LanguageManager from './LanguageManager';
3
+ export { LanguageLoader, LanguageManager };
@@ -0,0 +1,4 @@
1
+ import LanguageLoader from './LanguageLoader';
2
+ import LanguageManager from './LanguageManager';
3
+ export { LanguageLoader, LanguageManager };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/labels/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firedesktop/react-base",
3
- "version": "1.15.8",
3
+ "version": "1.16.0",
4
4
  "license": "ISC",
5
5
  "main": "dist/index.js",
6
6
  "description": "This is the FireDesktop base package used to support every React Project in this Company.",
@@ -13,25 +13,25 @@
13
13
  "react-redux": "^7.2.1"
14
14
  },
15
15
  "devDependencies": {
16
- "@babel/cli": "^7.10.5",
17
- "@babel/core": "^7.10.5",
18
- "@babel/plugin-proposal-class-properties": "7.10.4",
16
+ "@babel/cli": "^7.12.1",
17
+ "@babel/core": "^7.12.3",
18
+ "@babel/plugin-proposal-class-properties": "7.12.1",
19
19
  "@babel/plugin-transform-arrow-functions": "^7.12.1",
20
20
  "@babel/preset-typescript": "^7.12.1",
21
- "@testing-library/jest-dom": "^5.11.5",
22
- "@testing-library/react": "^11.1.0",
23
- "@testing-library/user-event": "^12.1.10",
21
+ "@testing-library/jest-dom": "^5.11.6",
22
+ "@testing-library/react": "^11.1.2",
23
+ "@testing-library/user-event": "^12.2.2",
24
24
  "@types/jest": "^26.0.15",
25
- "@types/node": "^12.19.1",
26
- "@types/react": "^16.9.53",
27
- "@types/react-dom": "^16.9.8",
28
- "@types/react-redux": "^7.1.9",
25
+ "@types/node": "^14.14.8",
26
+ "@types/react": "^16.9.56",
27
+ "@types/react-dom": "^16.9.9",
28
+ "@types/react-redux": "^7.1.11",
29
29
  "babel-plugin-minify-builtins": "^0.5.0",
30
30
  "babel-preset-minify": "0.5.1",
31
31
  "copyfiles": "^2.4.0",
32
- "react-scripts": "^3.4.3",
33
- "typescript": "^4.0.3",
34
- "web-vitals": "^0.2.4"
32
+ "react-scripts": "^4.0.0",
33
+ "typescript": "^4.0.5",
34
+ "web-vitals": "^1.0.1"
35
35
  },
36
36
  "peerDependencies": {},
37
37
  "scripts": {
package/src/App.tsx CHANGED
@@ -1,15 +1,15 @@
1
1
  import React, { useState } from 'react';
2
- import { Provider } from "react-redux";
2
+ import { Provider } from 'react-redux';
3
3
  import { createStore } from 'redux';
4
4
 
5
5
  import { Components, ConfigurationLoader, Utils, LanguageLoader } from './lib';
6
6
 
7
7
  import TestLabelFunction from './TestLabelFunction';
8
8
 
9
- import "../node_modules/@syncfusion/ej2-base/styles/bootstrap4.css";
10
- import "../node_modules/@syncfusion/ej2-buttons/styles/bootstrap4.css";
11
- import "../node_modules/@syncfusion/ej2-icons/styles/bootstrap4.css";
12
- import "../node_modules/@syncfusion/ej2-popups/styles/bootstrap4.css";
9
+ import '../node_modules/@syncfusion/ej2-base/styles/bootstrap4.css';
10
+ import '../node_modules/@syncfusion/ej2-buttons/styles/bootstrap4.css';
11
+ import '../node_modules/@syncfusion/ej2-icons/styles/bootstrap4.css';
12
+ import '../node_modules/@syncfusion/ej2-popups/styles/bootstrap4.css';
13
13
 
14
14
  import './lib/styles/base.css';
15
15
  import './lib/styles/syncfusion_bootstrap4.css';
@@ -25,14 +25,14 @@ const appReducer = (state = {}, action: any) => {
25
25
  default:
26
26
  return state;
27
27
  }
28
- }
28
+ };
29
29
 
30
30
  function App() {
31
31
  const [options, setOptions] = useState<{ value: string }[]>([]);
32
32
  const [spinning, setSpinning] = useState(false);
33
33
 
34
34
  function status_401_403() {
35
- alert("Log Out");
35
+ alert('Log Out');
36
36
  }
37
37
 
38
38
  const textFetch = () => {
@@ -53,7 +53,7 @@ function App() {
53
53
  console.log(errorMessage);
54
54
  });
55
55
 
56
- }
56
+ };
57
57
 
58
58
  const updateAppState = (name: string, value: object) => {
59
59
  console.log(`updateState name: ${name}, configuration: ${value}`);
@@ -64,7 +64,7 @@ function App() {
64
64
  value,
65
65
  },
66
66
  };
67
- }
67
+ };
68
68
 
69
69
  // @ts-ignore
70
70
  const store = createStore(appReducer);
@@ -73,14 +73,14 @@ function App() {
73
73
 
74
74
  <Provider store={store}>
75
75
  <Components.Spin spinning={spinning} />
76
- <Components.AppIcon name={"Pin"} className='dark-pink-svg' />
76
+ <Components.AppIcon name={'Pin'} className='dark-pink-svg' />
77
77
  <TestLabelFunction />
78
78
  <ConfigurationLoader updateAppState={updateAppState} path={null} />
79
79
  <LanguageLoader updateAppState={updateAppState} language='it-IT' path={null} />
80
80
 
81
81
  <button onClick={textFetch}>Fetch Demo</button>
82
82
  {options ? options.map((x: any) => {
83
- return (<li key={x.value}>ID: {x.value} Post: {x.label}</li>)
83
+ return (<li key={x.value}>ID: {x.value} Post: {x.label}</li>);
84
84
  }) : ''}
85
85
  </Provider >
86
86
  );
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useSelector } from "react-redux";
2
+ import { useSelector } from 'react-redux';
3
3
  import { Utils} from './lib';
4
4
  const { getLabel } = Utils.Labels.LanguageManager();
5
5