educoreapp2 1.0.77 → 1.0.78
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/dist/App.css +111 -0
- package/dist/EduApp.js +309 -0
- package/dist/Tools.js +235 -0
- package/dist/Translate.js +33 -0
- package/dist/img/404.png +0 -0
- package/dist/img/lang_en.svg +10 -0
- package/dist/img/lang_pl.svg +4 -0
- package/dist/img/logo.png +0 -0
- package/dist/img/nointernet.png +0 -0
- package/dist/img/update.png +0 -0
- package/dist/index.js +236 -0
- package/dist/lib/API.js +65 -0
- package/dist/lib/APIFaker.js +57 -0
- package/dist/lib/APILocal.js +76 -0
- package/dist/lib/APIServer.js +76 -0
- package/dist/lib/ApiCode.js +11 -0
- package/dist/spxbasecode/EduLog.js +16 -0
- package/dist/spxbasecode/Request.js +43 -0
- package/dist/spxbasecode/Validators.js +66 -0
- package/dist/spxbasecode/WS.js +71 -0
- package/dist/spxbasecode/cmps/8.jpg +0 -0
- package/dist/spxbasecode/cmps/BaseAnimation.js +76 -0
- package/dist/spxbasecode/cmps/BaseAutocomplete.js +81 -0
- package/dist/spxbasecode/cmps/BaseButton.js +41 -0
- package/dist/spxbasecode/cmps/BaseButtonCountry.js +48 -0
- package/dist/spxbasecode/cmps/BaseButtonIcon.js +78 -0
- package/dist/spxbasecode/cmps/BaseButtonImage.js +66 -0
- package/dist/spxbasecode/cmps/BaseCard.js +95 -0
- package/dist/spxbasecode/cmps/BaseCenter.js +33 -0
- package/dist/spxbasecode/cmps/BaseError.js +48 -0
- package/dist/spxbasecode/cmps/BaseForm.js +141 -0
- package/dist/spxbasecode/cmps/BaseForm2.js +78 -0
- package/dist/spxbasecode/cmps/BaseImage.js +45 -0
- package/dist/spxbasecode/cmps/BaseImg.js +62 -0
- package/dist/spxbasecode/cmps/BaseInputString.js +267 -0
- package/dist/spxbasecode/cmps/BaseLabel.js +48 -0
- package/dist/spxbasecode/cmps/BaseLang.js +51 -0
- package/dist/spxbasecode/cmps/BaseList.js +79 -0
- package/dist/spxbasecode/cmps/BaseListFile.js +79 -0
- package/dist/spxbasecode/cmps/BasePage.js +26 -0
- package/dist/spxbasecode/cmps/BaseReadTextButton.js +40 -0
- package/dist/spxbasecode/cmps/BaseSSOLogin.js +31 -0
- package/dist/spxbasecode/cmps/BaseSlimPage.js +82 -0
- package/dist/spxbasecode/cmps/EduPage.js +20 -0
- package/dist/spxbasecode/cmps/LogoEdupanel.js +41 -0
- package/dist/spxbasecode/cmps/Menu.js +169 -0
- package/dist/spxbasecode/cmps/PageWithMenu.js +55 -0
- package/dist/spxbasecode/cmps/ProfileMenu.js +25 -0
- package/dist/spxbasecode/cmps/SpeechToText.js +48 -0
- package/dist/spxbasecode/cmps/TextToCommand.js +98 -0
- package/dist/spxbasecode/img/soundOff.svg +1 -0
- package/dist/spxbasecode/img/soundOn.png +0 -0
- package/package.json +1 -1
package/dist/App.css
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
html {
|
2
|
+
height: 100%;
|
3
|
+
position: relative;
|
4
|
+
width: 100%;
|
5
|
+
max-width: 100%;
|
6
|
+
overflow: hidden;
|
7
|
+
display: block;
|
8
|
+
color:black;
|
9
|
+
/* flex-direction: row ;
|
10
|
+
flex-wrap: wrap;
|
11
|
+
flex-flow: column;
|
12
|
+
*/
|
13
|
+
padding-left: 0px;
|
14
|
+
padding-right: 0px;
|
15
|
+
padding: 0;
|
16
|
+
}
|
17
|
+
body {
|
18
|
+
margin: 0px;
|
19
|
+
font-family: "Open Sans", sans-serif;
|
20
|
+
height: 100%;
|
21
|
+
/* max-height: 100%;*/
|
22
|
+
width: 100%;
|
23
|
+
max-width: 100%;
|
24
|
+
display: flex;
|
25
|
+
padding-left: 0px;
|
26
|
+
padding-right: 0px;
|
27
|
+
padding: 0;
|
28
|
+
background-color:white;
|
29
|
+
/* background-color: snow;*/
|
30
|
+
}
|
31
|
+
#root{
|
32
|
+
height: 100%;
|
33
|
+
overflow-y: auto;
|
34
|
+
background-color:white;
|
35
|
+
width: 100%;
|
36
|
+
max-width: 100%;
|
37
|
+
display: block;
|
38
|
+
|
39
|
+
}
|
40
|
+
.registerForm{
|
41
|
+
background-color: green!important;
|
42
|
+
}
|
43
|
+
.App {
|
44
|
+
text-align: center;
|
45
|
+
height: 100%;
|
46
|
+
max-height: 100%;
|
47
|
+
width: 100%;
|
48
|
+
max-width: 100%;
|
49
|
+
display: block;
|
50
|
+
}
|
51
|
+
.inputStringNeutral{
|
52
|
+
border-color: black!important;
|
53
|
+
color: black!important;
|
54
|
+
}
|
55
|
+
.inputStringOK{
|
56
|
+
border-color: green!important;
|
57
|
+
color: green!important;
|
58
|
+
}
|
59
|
+
.inputStringError{
|
60
|
+
border-color:red!important;
|
61
|
+
color: red!important;
|
62
|
+
}
|
63
|
+
|
64
|
+
.no-scroll{
|
65
|
+
overflow: hidden;
|
66
|
+
}
|
67
|
+
.baseAnimatonPage{
|
68
|
+
position: absolute;
|
69
|
+
top:25%;
|
70
|
+
width: auto;
|
71
|
+
height: 50%;
|
72
|
+
left: 50%;
|
73
|
+
}
|
74
|
+
.App-logo {
|
75
|
+
height: 40vmin;
|
76
|
+
pointer-events: none;
|
77
|
+
}
|
78
|
+
|
79
|
+
@media (prefers-reduced-motion: no-preference) {
|
80
|
+
.App-logo {
|
81
|
+
animation: App-logo-spin infinite 20s linear;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
85
|
+
.App-header {
|
86
|
+
/* background-color: #282c34;*/
|
87
|
+
min-height: 100vh;
|
88
|
+
display: flex;
|
89
|
+
flex-direction: column;
|
90
|
+
align-items: center;
|
91
|
+
justify-content: center;
|
92
|
+
font-size: calc(10px + 2vmin);
|
93
|
+
color: white;
|
94
|
+
}
|
95
|
+
|
96
|
+
.App-link {
|
97
|
+
color: #61dafb;
|
98
|
+
}
|
99
|
+
.hiddenComponent{
|
100
|
+
display: none;
|
101
|
+
}
|
102
|
+
|
103
|
+
|
104
|
+
@keyframes App-logo-spin {
|
105
|
+
from {
|
106
|
+
transform: rotate(0deg);
|
107
|
+
}
|
108
|
+
to {
|
109
|
+
transform: rotate(360deg);
|
110
|
+
}
|
111
|
+
}
|
package/dist/EduApp.js
ADDED
@@ -0,0 +1,309 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
8
|
+
var _history = require("history");
|
9
|
+
var _Tools = _interopRequireDefault(require("./Tools"));
|
10
|
+
require("./App.css");
|
11
|
+
var _API = _interopRequireDefault(require("./lib/API"));
|
12
|
+
var _APIServer = _interopRequireDefault(require("./lib/APIServer"));
|
13
|
+
var _APIFaker = _interopRequireDefault(require("./lib/APIFaker"));
|
14
|
+
var _Translate = _interopRequireDefault(require("./Translate"));
|
15
|
+
var _ApiCode = _interopRequireDefault(require("./lib/ApiCode"));
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
17
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
18
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
19
|
+
function DynamicTag(props) {
|
20
|
+
let xx = props.grandpar.dynamicTag(props.tag);
|
21
|
+
return xx;
|
22
|
+
}
|
23
|
+
class EduApp extends _react.Component {
|
24
|
+
logout() {
|
25
|
+
let MAP = ["sessid", "firstName", "lastName"];
|
26
|
+
for (let k in MAP) {
|
27
|
+
let kk = MAP[k];
|
28
|
+
_Tools.default.LSDel(kk);
|
29
|
+
}
|
30
|
+
this.goHome();
|
31
|
+
}
|
32
|
+
goHome() {
|
33
|
+
window.App.changePage(window.App.Config.HOME_MODULE, window.App.Config.HOME_PAGE_NAME, {});
|
34
|
+
}
|
35
|
+
getMenu() {
|
36
|
+
let res = [];
|
37
|
+
let TT = _Translate.default.Trans[window.App.lang].menu.wide.www.items;
|
38
|
+
var i = 0;
|
39
|
+
for (var k in TT) {
|
40
|
+
let zz = TT[k];
|
41
|
+
res[i] = {
|
42
|
+
title: zz.title,
|
43
|
+
action: event => window.App.changePage(null, zz.name)
|
44
|
+
};
|
45
|
+
i++;
|
46
|
+
}
|
47
|
+
return res;
|
48
|
+
}
|
49
|
+
constructor(props) {
|
50
|
+
super(props);
|
51
|
+
_Tools.default.GetDeviceId().then(id => {
|
52
|
+
this.DeviceID = id;
|
53
|
+
});
|
54
|
+
this.parent = props.par;
|
55
|
+
this.langs = ["pl_PL", "en_GB"];
|
56
|
+
window.App = this;
|
57
|
+
this.PAGES_MAP = props.par.PAGES_MAP;
|
58
|
+
this.pageParams = {};
|
59
|
+
// Tools.LSClean();
|
60
|
+
this.textToCommand = null;
|
61
|
+
this.lang = _Tools.default.GetLang();
|
62
|
+
this.lang = "pl_PL";
|
63
|
+
this.history = (0, _history.createBrowserHistory)();
|
64
|
+
this.historyBrows = [];
|
65
|
+
this.Config = this.parent.Config;
|
66
|
+
this.Config.menu = this.getMenu();
|
67
|
+
window.App.Config.isMenuLeave = false;
|
68
|
+
window.App.Config.isPlayAudio = false;
|
69
|
+
window.App.isLoad = false;
|
70
|
+
this.loadder();
|
71
|
+
this.tag = this.Config.BASE_PAGE;
|
72
|
+
if (!this.getNextPage()) {
|
73
|
+
this.tag = this.getTagFromUrl();
|
74
|
+
}
|
75
|
+
this.isBlind = true;
|
76
|
+
this.handleBackButton();
|
77
|
+
this.APIServer = new _APIServer.default();
|
78
|
+
this.APIFaker = new _APIFaker.default();
|
79
|
+
this.API = new _API.default();
|
80
|
+
}
|
81
|
+
async loadder() {
|
82
|
+
setTimeout(async function () {
|
83
|
+
await window.App.Config.loaderBaseData();
|
84
|
+
}, 500);
|
85
|
+
}
|
86
|
+
loginToSystem(ss, succ, err) {
|
87
|
+
console.log('sssss', ss);
|
88
|
+
if (ss.code == _ApiCode.default.ERROR) {
|
89
|
+
err();
|
90
|
+
return;
|
91
|
+
}
|
92
|
+
let dd = ss.data;
|
93
|
+
_Tools.default.LSSet('firstName', dd.first_name);
|
94
|
+
_Tools.default.LSSet('lastName', dd.last_name);
|
95
|
+
_Tools.default.LSSet('sessid', dd.session_id);
|
96
|
+
setTimeout(function () {
|
97
|
+
succ();
|
98
|
+
}, 500);
|
99
|
+
return;
|
100
|
+
}
|
101
|
+
getNextPage() {
|
102
|
+
let pp = _Tools.default.LSGet("nextPage");
|
103
|
+
if (_Tools.default.empty(pp)) {
|
104
|
+
return false;
|
105
|
+
}
|
106
|
+
if (_Tools.default.timestamp() - pp.dt >= 5) {
|
107
|
+
_Tools.default.LSDel("nextPage");
|
108
|
+
return false;
|
109
|
+
}
|
110
|
+
this.tag = pp.pageName;
|
111
|
+
this.pageParams = pp;
|
112
|
+
_Tools.default.LSDel("nextPage");
|
113
|
+
return true;
|
114
|
+
}
|
115
|
+
getTagFromUrl() {
|
116
|
+
let path = window.location.pathname;
|
117
|
+
if (window.location.href.indexOf("#") >= 1) {
|
118
|
+
return this.Config.BASE_PAGE;
|
119
|
+
}
|
120
|
+
if (path.length <= 2) {
|
121
|
+
return this.Config.BASE_PAGE;
|
122
|
+
}
|
123
|
+
let xx = path.split("/");
|
124
|
+
if (xx.length <= 2) {
|
125
|
+
return this.Config.BASE_PAGE;
|
126
|
+
}
|
127
|
+
let kk = xx[2];
|
128
|
+
let zz = this.PAGES_MAP[kk];
|
129
|
+
return zz;
|
130
|
+
}
|
131
|
+
getBaseInfo(onSuccess) {
|
132
|
+
//window.App.changePage(null,"load");
|
133
|
+
let lists = ["workerType"];
|
134
|
+
let hasLoad = true;
|
135
|
+
for (let k in lists) {
|
136
|
+
let el = this.lang + "_" + lists[k];
|
137
|
+
if (!_Tools.default.LSHas(el)) {
|
138
|
+
hasLoad = false;
|
139
|
+
break;
|
140
|
+
}
|
141
|
+
}
|
142
|
+
if (hasLoad) {
|
143
|
+
onSuccess();
|
144
|
+
} else {
|
145
|
+
let this2 = this;
|
146
|
+
this.API.exec("core", "baseInfo", null, ss => {
|
147
|
+
let dd = ss.data;
|
148
|
+
_Tools.default.LSSet(this2.lang + "_" + "workerType", dd.workerType);
|
149
|
+
_Tools.default.LSSet(this2.lang + "_" + "products", dd.products);
|
150
|
+
onSuccess();
|
151
|
+
}, ee => {
|
152
|
+
window.App.changePage(null, "no_internet");
|
153
|
+
onSuccess();
|
154
|
+
});
|
155
|
+
}
|
156
|
+
}
|
157
|
+
getList(listName, onSuccess) {
|
158
|
+
let kl = this.lang + "_" + listName;
|
159
|
+
let ls = _Tools.default.LSGet(kl);
|
160
|
+
if (ls !== null) {
|
161
|
+
setTimeout(function () {
|
162
|
+
onSuccess(ls);
|
163
|
+
}, 500);
|
164
|
+
return;
|
165
|
+
}
|
166
|
+
setTimeout(function () {
|
167
|
+
onSuccess(ls);
|
168
|
+
}, 500);
|
169
|
+
// this.API.
|
170
|
+
}
|
171
|
+
handleBackButton() {
|
172
|
+
if (window.history && window.history.pushState) {
|
173
|
+
let this2 = this;
|
174
|
+
window.addEventListener('popstate', function () {
|
175
|
+
let pageName = window.location.pathname.substring(1);
|
176
|
+
this2.changePage(null, pageName);
|
177
|
+
});
|
178
|
+
}
|
179
|
+
}
|
180
|
+
TTCInit() {
|
181
|
+
this.textToCommand.MAP = {};
|
182
|
+
}
|
183
|
+
tryPlay() {
|
184
|
+
this.play();
|
185
|
+
}
|
186
|
+
play() {
|
187
|
+
// this.textToRead.isInteract = true;
|
188
|
+
// this.textToRead.play();
|
189
|
+
}
|
190
|
+
readText(modle, pageName, tag) {
|
191
|
+
let this2 = this;
|
192
|
+
setTimeout(() => {
|
193
|
+
//this2.textToRead.read(modle, pageName, tag);
|
194
|
+
//this2.tryPlay();
|
195
|
+
}, 150);
|
196
|
+
}
|
197
|
+
render() {
|
198
|
+
const customTag = this.tag;
|
199
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
200
|
+
style: {
|
201
|
+
height: "100%",
|
202
|
+
width: "100%"
|
203
|
+
}
|
204
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
205
|
+
className: "row g-0",
|
206
|
+
style: {
|
207
|
+
height: "100%"
|
208
|
+
}
|
209
|
+
}, /*#__PURE__*/_react.default.createElement(DynamicTag, {
|
210
|
+
grandpar: this.parent,
|
211
|
+
tag: customTag
|
212
|
+
})));
|
213
|
+
}
|
214
|
+
getTag(pageName) {
|
215
|
+
return this.PAGES_MAP[pageName];
|
216
|
+
}
|
217
|
+
goBack() {
|
218
|
+
let n = this.historyBrows.length;
|
219
|
+
let k = n - 2;
|
220
|
+
if (k < 0) {
|
221
|
+
k = 0;
|
222
|
+
}
|
223
|
+
let p = this.historyBrows[k];
|
224
|
+
this.changePage(p.module, p.pageName);
|
225
|
+
}
|
226
|
+
goAds(module, pageName, params) {
|
227
|
+
if (["ads"].indexOf(pageName) >= 0) {
|
228
|
+
return false;
|
229
|
+
}
|
230
|
+
let zz = ["AdvPage"].indexOf(this.tag);
|
231
|
+
if (zz >= 0) {
|
232
|
+
return false;
|
233
|
+
}
|
234
|
+
let k = ["edumag_new_game"].indexOf(pageName);
|
235
|
+
if (!(k >= 0)) {
|
236
|
+
return false;
|
237
|
+
}
|
238
|
+
window.App.goNextPageInfo = {
|
239
|
+
module: module,
|
240
|
+
pageName: pageName,
|
241
|
+
params: params
|
242
|
+
};
|
243
|
+
this.changePage(null, "ads", params);
|
244
|
+
return true;
|
245
|
+
}
|
246
|
+
goFund(module, pageName, params) {
|
247
|
+
if (["fund"].indexOf(pageName) >= 0) {
|
248
|
+
return false;
|
249
|
+
}
|
250
|
+
let zz = ["FundPage"].indexOf(this.tag);
|
251
|
+
if (zz >= 0) {
|
252
|
+
return false;
|
253
|
+
}
|
254
|
+
let k = ["edumag_new_game"].indexOf(pageName);
|
255
|
+
if (!(k >= 0)) {
|
256
|
+
return false;
|
257
|
+
}
|
258
|
+
window.App.goNextPageInfo = {
|
259
|
+
module: module,
|
260
|
+
pageName: pageName,
|
261
|
+
params: params
|
262
|
+
};
|
263
|
+
this.changePage(null, "fund", params);
|
264
|
+
return true;
|
265
|
+
}
|
266
|
+
changePage(module, pageName, params) {
|
267
|
+
/*let xx=this.goAds(module,pageName, params);
|
268
|
+
if (xx){
|
269
|
+
return;
|
270
|
+
}*/
|
271
|
+
let this2 = this;
|
272
|
+
if (!window.App.isLoad) {
|
273
|
+
setTimeout(function () {
|
274
|
+
this2.changePage(module, pageName, params);
|
275
|
+
}, 500);
|
276
|
+
return;
|
277
|
+
}
|
278
|
+
let xx = this.goFund(module, pageName, params);
|
279
|
+
if (xx) {
|
280
|
+
return;
|
281
|
+
}
|
282
|
+
//console.log("changePage1",pageName);
|
283
|
+
let tag = this.getTag(pageName);
|
284
|
+
//console.log("changePage2",tag);
|
285
|
+
this.tag = tag;
|
286
|
+
let path = "/" + pageName;
|
287
|
+
this.pageParams = params;
|
288
|
+
// console.log("zzzz",pageName,tag);
|
289
|
+
this.historyBrows.push({
|
290
|
+
module: module,
|
291
|
+
pageName: pageName
|
292
|
+
});
|
293
|
+
//this.history.push(path);
|
294
|
+
this.forceUpdate();
|
295
|
+
}
|
296
|
+
changeLangToNext() {
|
297
|
+
let i = this.langs.indexOf(this.lang);
|
298
|
+
let n = this.langs.length;
|
299
|
+
let k = (i + 1) % n;
|
300
|
+
this.lang = this.langs[k];
|
301
|
+
this.changeLang(this.lang);
|
302
|
+
}
|
303
|
+
changeLang(lang) {
|
304
|
+
this.lang = lang;
|
305
|
+
this.Config.menu = this.getMenu();
|
306
|
+
this.forceUpdate();
|
307
|
+
}
|
308
|
+
}
|
309
|
+
var _default = exports.default = EduApp;
|
package/dist/Tools.js
ADDED
@@ -0,0 +1,235 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _cryptoJs = require("crypto-js");
|
8
|
+
var _ApiCode = _interopRequireDefault(require("./lib/ApiCode"));
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
10
|
+
Date.isLeapYear = function (year) {
|
11
|
+
return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
|
12
|
+
};
|
13
|
+
Date.getDaysInMonth = function (year, month) {
|
14
|
+
return [31, Date.isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
|
15
|
+
};
|
16
|
+
Date.prototype.isLeapYear = function () {
|
17
|
+
return Date.isLeapYear(this.getFullYear());
|
18
|
+
};
|
19
|
+
Date.prototype.getDaysInMonth = function () {
|
20
|
+
return Date.getDaysInMonth(this.getFullYear(), this.getMonth());
|
21
|
+
};
|
22
|
+
Date.prototype.addMonths = function (value) {
|
23
|
+
var n = this.getDate();
|
24
|
+
this.setDate(1);
|
25
|
+
this.setMonth(this.getMonth() + value);
|
26
|
+
this.setDate(Math.min(n, this.getDaysInMonth()));
|
27
|
+
return this;
|
28
|
+
};
|
29
|
+
class Tools {
|
30
|
+
static isTrue(val) {
|
31
|
+
if (Tools.empty(val)) {
|
32
|
+
return false;
|
33
|
+
}
|
34
|
+
return val === 1 || val === "1" || val === true || val === "true";
|
35
|
+
}
|
36
|
+
static timestamp() {
|
37
|
+
return Date.now();
|
38
|
+
}
|
39
|
+
static downloadBase64File(contentType, base64Data, fileName) {
|
40
|
+
const linkSource = `data:${contentType};base64,${base64Data}`;
|
41
|
+
const downloadLink = document.createElement("a");
|
42
|
+
downloadLink.href = linkSource;
|
43
|
+
downloadLink.download = fileName;
|
44
|
+
downloadLink.click();
|
45
|
+
}
|
46
|
+
static fileToBase64 = file => new Promise((resolve, reject) => {
|
47
|
+
const reader = new FileReader();
|
48
|
+
reader.readAsDataURL(file);
|
49
|
+
reader.onload = () => resolve(reader.result);
|
50
|
+
reader.onerror = reject;
|
51
|
+
});
|
52
|
+
static addMountsToDate(date, mm) {
|
53
|
+
return date.addMonths(mm);
|
54
|
+
}
|
55
|
+
static GetCurrentTimeStamp() {
|
56
|
+
return Date.now();
|
57
|
+
}
|
58
|
+
static DivSize(str, n) {
|
59
|
+
if (str.indexOf("px") >= 1) {
|
60
|
+
str = Number.parseInt(Number.parseInt(str.replace("px", "")) * n / 100) + "px";
|
61
|
+
return str;
|
62
|
+
}
|
63
|
+
if (str.indexOf("%") >= 1) {
|
64
|
+
str = Number.parseInt(Number.parseInt(str.replace("%", "")) * n / 100) + "%";
|
65
|
+
return str;
|
66
|
+
}
|
67
|
+
return str;
|
68
|
+
}
|
69
|
+
static copy(obj) {
|
70
|
+
let isStatic = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
71
|
+
return Tools.empty(obj) ? null : JSON.parse(JSON.stringify(obj));
|
72
|
+
}
|
73
|
+
static LSGet(key) {
|
74
|
+
let val = localStorage.getItem(key);
|
75
|
+
// console.log("AAA",val);
|
76
|
+
if (!Tools.isset(val)) {
|
77
|
+
return null;
|
78
|
+
}
|
79
|
+
let js = "";
|
80
|
+
try {
|
81
|
+
js = JSON.parse(val);
|
82
|
+
} catch (e) {
|
83
|
+
js = val;
|
84
|
+
}
|
85
|
+
return js;
|
86
|
+
}
|
87
|
+
static LSClean() {
|
88
|
+
localStorage.clear();
|
89
|
+
}
|
90
|
+
static LSHas(key) {
|
91
|
+
let val = localStorage.getItem(key);
|
92
|
+
return Tools.isset(val);
|
93
|
+
}
|
94
|
+
static LSDel(key) {
|
95
|
+
localStorage.removeItem(key);
|
96
|
+
}
|
97
|
+
static alert(mess, type) {
|
98
|
+
alert(mess);
|
99
|
+
}
|
100
|
+
static LSSet(key, val) {
|
101
|
+
let v = JSON.stringify(val);
|
102
|
+
localStorage.setItem(key, v);
|
103
|
+
}
|
104
|
+
static GetLang() {
|
105
|
+
var lang = navigator.language || navigator.userLanguage;
|
106
|
+
let MAP = {
|
107
|
+
"en-US": "en_GB",
|
108
|
+
"pl-PL": "pl_PL"
|
109
|
+
};
|
110
|
+
if (!Tools.empty(lang) && !Tools.empty(MAP[lang])) {
|
111
|
+
return MAP[lang];
|
112
|
+
}
|
113
|
+
return 'en_GB';
|
114
|
+
}
|
115
|
+
static isset(obj) {
|
116
|
+
return !(typeof obj === "undefined" || obj === null);
|
117
|
+
}
|
118
|
+
static log(mm, mm2) {
|
119
|
+
console.log("log", mm, mm2);
|
120
|
+
let xx = JSON.stringify(mm);
|
121
|
+
alert(xx);
|
122
|
+
}
|
123
|
+
static DeviceIdGen() {
|
124
|
+
let obj = {};
|
125
|
+
obj.app = window.navigator.userAgent;
|
126
|
+
obj.rand = crypto.randomUUID();
|
127
|
+
let hash = Tools.SHA1(JSON.stringify(obj));
|
128
|
+
Tools.LSSet("DEVICE_ID", hash);
|
129
|
+
return hash;
|
130
|
+
}
|
131
|
+
static async GetDeviceId() {
|
132
|
+
let v = Tools.LSGet("DEVICE_ID");
|
133
|
+
if (Tools.empty(v)) {
|
134
|
+
let h = Tools.DeviceIdGen();
|
135
|
+
return h;
|
136
|
+
}
|
137
|
+
return v;
|
138
|
+
}
|
139
|
+
static SHA1(str) {
|
140
|
+
return (0, _cryptoJs.SHA256)(str).toString();
|
141
|
+
}
|
142
|
+
static IsFunction(obj) {
|
143
|
+
return typeof obj === 'function';
|
144
|
+
}
|
145
|
+
static IsObject(obj) {
|
146
|
+
return typeof obj === 'object';
|
147
|
+
}
|
148
|
+
static IsArray(obj) {
|
149
|
+
if (!Tools.IsObject(obj)) {
|
150
|
+
return false;
|
151
|
+
}
|
152
|
+
return obj instanceof Array;
|
153
|
+
}
|
154
|
+
static arrayToStringSQL(arr) {
|
155
|
+
let str = "'" + arr.join("', '") + "'";
|
156
|
+
return str;
|
157
|
+
}
|
158
|
+
static firtLeterUpper(str) {
|
159
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
160
|
+
}
|
161
|
+
static firstIndexOfText(ff, text) {
|
162
|
+
return text.indexOf(ff);
|
163
|
+
}
|
164
|
+
static empty(obj) {
|
165
|
+
if (!Tools.isset(obj)) {
|
166
|
+
return true;
|
167
|
+
}
|
168
|
+
if (obj === undefined || typeof obj === 'undefined' || obj === null || obj === "null" || obj === "" || obj === "[]") {
|
169
|
+
return true;
|
170
|
+
}
|
171
|
+
if (obj.length === 0) {
|
172
|
+
return true;
|
173
|
+
}
|
174
|
+
return false;
|
175
|
+
}
|
176
|
+
static SendToApi(url, data, success, error) {
|
177
|
+
//console.log("url",url,data);
|
178
|
+
let formData = new FormData();
|
179
|
+
for (let k in data) {
|
180
|
+
formData.append(k, data[k]);
|
181
|
+
}
|
182
|
+
fetch(url, {
|
183
|
+
method: 'POST',
|
184
|
+
headers: {
|
185
|
+
// 'Content-Type': 'application/json'
|
186
|
+
},
|
187
|
+
body: formData,
|
188
|
+
// body: JSON.stringify(data),
|
189
|
+
mode: 'cors'
|
190
|
+
}).then(response => response.json()).then(data2 => {
|
191
|
+
//Tools.log(data2);
|
192
|
+
// console.log("succ",data2);
|
193
|
+
let code = data2.code;
|
194
|
+
//Tools.log(code);
|
195
|
+
if (code === _ApiCode.default.OK) {
|
196
|
+
success(data2);
|
197
|
+
} else if (code === _ApiCode.default.ERROR) {
|
198
|
+
error(data2);
|
199
|
+
}
|
200
|
+
}).catch(error2 => {
|
201
|
+
error(error2);
|
202
|
+
// Tools.log(error2);
|
203
|
+
console.error("EEr", error2);
|
204
|
+
});
|
205
|
+
}
|
206
|
+
static SendToApi2(url, data, success, error) {
|
207
|
+
const xhr = new XMLHttpRequest();
|
208
|
+
xhr.open('POST', url, false);
|
209
|
+
xhr.setRequestHeader('Content-Type', 'application/json');
|
210
|
+
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
211
|
+
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
|
212
|
+
xhr.setRequestHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
|
213
|
+
xhr.setRequestHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Origin,Option, Content-Type, Authorization, X-Content-Type-Options, Accept, X-Requested-With, Origin, Access-Control-Request-Method, Access-Control-Request-Headers");
|
214
|
+
xhr.setRequestHeader("Access-Control-Allow-Credentials", true);
|
215
|
+
xhr.setRequestHeader("Access-Control-Allow-Private-Network", true);
|
216
|
+
xhr.onreadystatechange = function () {
|
217
|
+
if (xhr.readyState === 4 && xhr.status === 200) {
|
218
|
+
let text = xhr.responseText;
|
219
|
+
//console.log(text);
|
220
|
+
let resp = null;
|
221
|
+
try {
|
222
|
+
resp = JSON.parse(text);
|
223
|
+
success(resp);
|
224
|
+
} catch (e) {
|
225
|
+
// EduLog.AddLog("Tools::SendToApi",{"url":url,"data":data,"resp":resp});
|
226
|
+
}
|
227
|
+
} else if (xhr.readyState === 4 && xhr.status !== 200) {
|
228
|
+
// Handle error
|
229
|
+
error(xhr.responseText);
|
230
|
+
}
|
231
|
+
};
|
232
|
+
xhr.send(JSON.stringify(data));
|
233
|
+
}
|
234
|
+
}
|
235
|
+
var _default = exports.default = Tools;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _react = require("react");
|
8
|
+
var _Translate_pl_PL = _interopRequireDefault(require("./../../../src/lang/Translate_pl_PL"));
|
9
|
+
var _Translate_en_GB = _interopRequireDefault(require("./../../../src/lang/Translate_en_GB"));
|
10
|
+
var _Translate_ua_UA = _interopRequireDefault(require("./../../../src/lang/Translate_ua_UA"));
|
11
|
+
var _Tools = _interopRequireDefault(require("./Tools"));
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
13
|
+
class Translate extends _react.Component {
|
14
|
+
static Trans = (() => ({
|
15
|
+
pl_PL: _Translate_pl_PL.default.Trans,
|
16
|
+
en_GB: _Translate_en_GB.default.Trans,
|
17
|
+
ua_UA: _Translate_ua_UA.default.Trans
|
18
|
+
}))();
|
19
|
+
static getT(lang, module, page) {
|
20
|
+
let res = null;
|
21
|
+
let TT = Translate.Trans[lang];
|
22
|
+
if (_Tools.default.empty(TT)) {
|
23
|
+
return res;
|
24
|
+
}
|
25
|
+
TT = TT[module];
|
26
|
+
if (_Tools.default.empty(TT)) {
|
27
|
+
return res;
|
28
|
+
}
|
29
|
+
TT = TT[page];
|
30
|
+
return TT;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
var _default = exports.default = Translate;
|
package/dist/img/404.png
ADDED
Binary file
|
@@ -0,0 +1,10 @@
|
|
1
|
+
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 30" width="1000" height="600">
|
3
|
+
<clipPath id="t">
|
4
|
+
<path d="M25,15h25v15zv15h-25zh-25v-15zv-15h25z"/>
|
5
|
+
</clipPath>
|
6
|
+
<path d="M0,0v30h50v-30z" fill="#012169"/>
|
7
|
+
<path d="M0,0 50,30M50,0 0,30" stroke="#fff" stroke-width="6"/>
|
8
|
+
<path d="M0,0 50,30M50,0 0,30" clip-path="url(#t)" stroke="#C8102E" stroke-width="4"/>
|
9
|
+
<path d="M-1 11h22v-12h8v12h22v8h-22v12h-8v-12h-22z" fill="#C8102E" stroke="#FFF" stroke-width="2"/>
|
10
|
+
</svg>
|
Binary file
|
Binary file
|