@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.
- package/.eslintrc +19 -0
- package/debug.log +2 -0
- package/dist/components/AppIcon.d.ts +14 -0
- package/dist/components/AppIcon.js +163 -0
- package/dist/components/AppIcon.js.map +1 -0
- package/dist/components/Spin.d.ts +7 -0
- package/dist/components/Spin.js +17 -0
- package/dist/components/Spin.js.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +4 -0
- package/dist/components/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/configuration/ConfigurationLoader.d.ts +7 -0
- package/dist/utils/configuration/ConfigurationLoader.js +75 -0
- package/dist/utils/configuration/ConfigurationLoader.js.map +1 -0
- package/dist/utils/configuration/ConfigurationManager.d.ts +5 -0
- package/dist/utils/configuration/ConfigurationManager.js +81 -0
- package/dist/utils/configuration/ConfigurationManager.js.map +1 -0
- package/dist/utils/configuration/index.d.ts +3 -0
- package/dist/utils/configuration/index.js +4 -0
- package/dist/utils/configuration/index.js.map +1 -0
- package/dist/utils/fetch/Types.d.ts +9 -0
- package/dist/utils/fetch/Types.js +2 -0
- package/dist/utils/fetch/Types.js.map +1 -0
- package/dist/utils/fetch/fetchWrapper.d.ts +13 -0
- package/dist/utils/fetch/fetchWrapper.js +117 -0
- package/dist/utils/fetch/fetchWrapper.js.map +1 -0
- package/dist/utils/fetch/index.d.ts +3 -0
- package/dist/utils/fetch/index.js +4 -0
- package/dist/utils/fetch/index.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/labels/LanguageLoader.d.ts +8 -0
- package/dist/utils/labels/LanguageLoader.js +72 -0
- package/dist/utils/labels/LanguageLoader.js.map +1 -0
- package/dist/utils/labels/LanguageManager.d.ts +6 -0
- package/dist/utils/labels/LanguageManager.js +99 -0
- package/dist/utils/labels/LanguageManager.js.map +1 -0
- package/dist/utils/labels/index.d.ts +3 -0
- package/dist/utils/labels/index.js +4 -0
- package/dist/utils/labels/index.js.map +1 -0
- package/package.json +14 -14
- package/src/App.tsx +11 -11
- package/src/TestLabelFunction.tsx +1 -1
- package/src/lib/components/AppIcon.tsx +88 -88
- package/src/lib/components/Spin.tsx +1 -1
- package/src/lib/utils/configuration/ConfigurationLoader.tsx +3 -3
- package/src/lib/utils/configuration/ConfigurationManager.ts +3 -3
- package/src/lib/utils/fetch/fetchWrapper.ts +1 -1
- package/src/lib/utils/fetch/index.ts +1 -1
- package/src/lib/utils/labels/LanguageLoader.tsx +3 -3
- package/src/lib/utils/labels/LanguageManager.ts +4 -4
- package/src/reportWebVitals.ts +1 -1
- package/tsconfig.json +1 -1
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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.
|
|
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.
|
|
17
|
-
"@babel/core": "^7.
|
|
18
|
-
"@babel/plugin-proposal-class-properties": "7.
|
|
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.
|
|
22
|
-
"@testing-library/react": "^11.1.
|
|
23
|
-
"@testing-library/user-event": "^12.
|
|
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": "^
|
|
26
|
-
"@types/react": "^16.9.
|
|
27
|
-
"@types/react-dom": "^16.9.
|
|
28
|
-
"@types/react-redux": "^7.1.
|
|
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": "^
|
|
33
|
-
"typescript": "^4.0.
|
|
34
|
-
"web-vitals": "^0.
|
|
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
|
|
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
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
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(
|
|
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={
|
|
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
|
);
|