@everymatrix/general-input 1.10.2 → 1.15.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/dist/cjs/checkbox-group-input_10.cjs.entry.js +35539 -0
- package/dist/cjs/general-input.cjs.entry.js +34 -13
- package/dist/cjs/general-input.cjs.js +2 -2
- package/dist/cjs/{index-64a5cb7f.js → index-132a0774.js} +119 -6
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/locale.utils-7665b010.js +71 -0
- package/dist/cjs/toggle-checkbox-input.cjs.entry.js +85 -0
- package/dist/cjs/tooltipIcon-092a795f.js +5 -0
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/checkbox-group-input/checkbox-group-input.css +62 -0
- package/dist/collection/components/checkbox-group-input/checkbox-group-input.js +366 -0
- package/dist/collection/components/checkbox-input/checkbox-input.css +47 -1
- package/dist/collection/components/checkbox-input/checkbox-input.js +143 -16
- package/dist/collection/components/date-input/date-input.css +64 -30
- package/dist/collection/components/date-input/date-input.js +194 -13
- package/dist/collection/components/email-input/email-input.css +63 -28
- package/dist/collection/components/email-input/email-input.js +197 -21
- package/dist/collection/components/general-input/general-input.js +163 -21
- package/dist/collection/components/number-input/number-input.css +65 -30
- package/dist/collection/components/number-input/number-input.js +174 -19
- package/dist/collection/components/password-input/password-input.css +120 -29
- package/dist/collection/components/password-input/password-input.js +341 -25
- package/dist/collection/components/radio-input/radio-input.css +22 -1
- package/dist/collection/components/radio-input/radio-input.js +89 -10
- package/dist/collection/components/select-input/select-input.css +75 -22
- package/dist/collection/components/select-input/select-input.js +180 -37
- package/dist/collection/components/tel-input/tel-input.css +91 -33
- package/dist/collection/components/tel-input/tel-input.js +202 -24
- package/dist/collection/components/text-input/text-input.css +63 -28
- package/dist/collection/components/text-input/text-input.js +208 -39
- package/dist/collection/components/toggle-checkbox-input/toggle-checkbox-input.css +76 -0
- package/dist/collection/components/toggle-checkbox-input/toggle-checkbox-input.js +324 -0
- package/dist/collection/utils/locale.utils.js +52 -13
- package/dist/collection/utils/tooltipIcon.svg +5 -0
- package/dist/components/active-mixin.js +975 -0
- package/dist/components/checkbox-group-input.d.ts +11 -0
- package/dist/components/checkbox-group-input.js +6 -0
- package/dist/components/checkbox-group-input2.js +1125 -0
- package/dist/components/checkbox-input2.js +62 -12
- package/dist/components/date-input2.js +10247 -15
- package/dist/components/email-input2.js +98 -21
- package/dist/components/field-mixin.js +12712 -0
- package/dist/components/general-input.js +1 -118
- package/dist/components/general-input2.js +331 -0
- package/dist/components/input-field-shared-styles.js +1114 -0
- package/dist/components/number-input2.js +92 -16
- package/dist/components/password-input2.js +924 -24
- package/dist/components/pattern-mixin.js +85 -0
- package/dist/components/radio-input2.js +45 -11
- package/dist/components/select-input2.js +87 -27
- package/dist/components/tel-input2.js +122 -22
- package/dist/components/text-input2.js +120 -34
- package/dist/components/toggle-checkbox-input.d.ts +11 -0
- package/dist/components/toggle-checkbox-input.js +6 -0
- package/dist/components/tooltipIcon.js +70 -0
- package/dist/components/vaadin-button.js +461 -0
- package/dist/components/vaadin-combo-box.js +4329 -0
- package/dist/components/virtual-keyboard-controller.js +2658 -0
- package/dist/esm/checkbox-group-input_10.entry.js +35526 -0
- package/dist/esm/general-input.entry.js +34 -13
- package/dist/esm/general-input.js +2 -2
- package/dist/esm/{index-df80f936.js → index-db76d5b5.js} +118 -7
- package/dist/esm/loader.js +2 -2
- package/dist/esm/locale.utils-95ea2605.js +68 -0
- package/dist/esm/toggle-checkbox-input.entry.js +81 -0
- package/dist/esm/tooltipIcon-99c1c7b7.js +3 -0
- package/dist/general-input/general-input.esm.js +1 -1
- package/dist/general-input/p-0966f523.entry.js +3581 -0
- package/dist/general-input/p-916a1319.entry.js +1 -0
- package/dist/general-input/p-b408093e.js +1 -0
- package/dist/general-input/p-c2d4d6ac.entry.js +1 -0
- package/dist/general-input/p-f4f4ccda.js +1 -0
- package/dist/general-input/p-f6132f1d.js +1 -0
- package/dist/types/components/checkbox-group-input/checkbox-group-input.d.ts +74 -0
- package/dist/types/components/checkbox-input/checkbox-input.d.ts +28 -2
- package/dist/types/components/date-input/date-input.d.ts +43 -1
- package/dist/types/components/email-input/email-input.d.ts +37 -3
- package/dist/types/components/general-input/general-input.d.ts +30 -0
- package/dist/types/components/number-input/number-input.d.ts +34 -3
- package/dist/types/components/password-input/password-input.d.ts +56 -7
- package/dist/types/components/radio-input/radio-input.d.ts +17 -1
- package/dist/types/components/select-input/select-input.d.ts +36 -3
- package/dist/types/components/tel-input/tel-input.d.ts +40 -5
- package/dist/types/components/text-input/text-input.d.ts +84 -0
- package/dist/types/components/toggle-checkbox-input/toggle-checkbox-input.d.ts +67 -0
- package/dist/types/components.d.ts +568 -9
- package/dist/types/utils/locale.utils.d.ts +9 -0
- package/dist/types/utils/types.d.ts +41 -9
- package/package.json +8 -1
- package/dist/cjs/checkbox-input_9.cjs.entry.js +0 -623
- package/dist/components/locale.utils.js +0 -29
- package/dist/esm/checkbox-input_9.entry.js +0 -611
- package/dist/general-input/p-1703fce3.entry.js +0 -1
- package/dist/general-input/p-d9f7fa2e.js +0 -1
- package/dist/general-input/p-dea0a4ac.entry.js +0 -1
- /package/dist/types/Users/{user/workspace/everymatrix → adrian.pripon/Documents/Work}/widgets-stencil/packages/general-input/.stencil/packages/general-input/stencil.config.d.ts +0 -0
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import { Component, h, Prop, State, Event, Listen } from '@stencil/core';
|
|
2
|
+
import { translate } from '../../utils/locale.utils';
|
|
3
|
+
import tooltipIcon from '../../utils/tooltipIcon.svg';
|
|
4
|
+
export class ToggleCheckboxInput {
|
|
5
|
+
constructor() {
|
|
6
|
+
/**
|
|
7
|
+
* Default value for the input.
|
|
8
|
+
*/
|
|
9
|
+
this.defaultValue = '';
|
|
10
|
+
/**
|
|
11
|
+
* Client custom styling via inline style
|
|
12
|
+
*/
|
|
13
|
+
this.clientStyling = '';
|
|
14
|
+
this.limitStylingAppends = false;
|
|
15
|
+
this.showTooltip = false;
|
|
16
|
+
this.value = '';
|
|
17
|
+
this.setClientStyling = () => {
|
|
18
|
+
let sheet = document.createElement('style');
|
|
19
|
+
sheet.innerHTML = this.clientStyling;
|
|
20
|
+
this.stylingContainer.prepend(sheet);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
validityStateHandler(inputStateEvent) {
|
|
24
|
+
this.sendValidityState.emit(inputStateEvent);
|
|
25
|
+
}
|
|
26
|
+
valueHandler(inputValueEvent) {
|
|
27
|
+
this.sendInputValue.emit(inputValueEvent);
|
|
28
|
+
}
|
|
29
|
+
handleClickOutside(event) {
|
|
30
|
+
if (event.composedPath()[0] === this.tooltipIconReference)
|
|
31
|
+
return;
|
|
32
|
+
if (event.composedPath()[0] !== this.tooltipReference)
|
|
33
|
+
this.showTooltip = false;
|
|
34
|
+
}
|
|
35
|
+
componentDidRender() {
|
|
36
|
+
// start custom styling area
|
|
37
|
+
if (!this.limitStylingAppends && this.stylingContainer) {
|
|
38
|
+
if (this.clientStyling)
|
|
39
|
+
this.setClientStyling();
|
|
40
|
+
this.limitStylingAppends = true;
|
|
41
|
+
}
|
|
42
|
+
// end custom styling area
|
|
43
|
+
}
|
|
44
|
+
handleClick() {
|
|
45
|
+
this.showFields = this.checkboxReference.checked;
|
|
46
|
+
this.errorMessage = this.setErrorMessage();
|
|
47
|
+
this.isValid = this.setValidity();
|
|
48
|
+
}
|
|
49
|
+
setValidity() {
|
|
50
|
+
return this.checkboxReference.validity.valid;
|
|
51
|
+
}
|
|
52
|
+
setErrorMessage() {
|
|
53
|
+
if (this.checkboxReference.validity.valueMissing) {
|
|
54
|
+
return translate('requiredError', this.language);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
renderLabel() {
|
|
58
|
+
return (h("label", { class: 'togglecheckbox__label', htmlFor: `${this.name}__input` },
|
|
59
|
+
h("div", { class: 'togglecheckbox__label-text', innerHTML: `${this.displayName} ${this.validation.mandatory ? '*' : ''}` })));
|
|
60
|
+
}
|
|
61
|
+
renderTooltip() {
|
|
62
|
+
if (this.showTooltip) {
|
|
63
|
+
return (h("div", { class: `togglecheckbox__tooltip ${this.showTooltip ? 'visible' : ''}`, ref: (el) => this.tooltipReference = el, innerHTML: this.tooltip }));
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
render() {
|
|
68
|
+
return h("div", { class: `togglecheckbox__wrapper ${this.name}__input`, ref: el => this.stylingContainer = el },
|
|
69
|
+
h("div", { class: 'togglecheckbox__wrapper--flex' },
|
|
70
|
+
h("input", { class: 'togglecheckbox__input', type: "checkbox", id: `${this.name}__input`, ref: (el) => this.checkboxReference = el, name: this.name, checked: this.defaultValue === "true", readOnly: this.autofilled, required: this.validation.mandatory, value: this.value, onClick: () => this.handleClick() }),
|
|
71
|
+
this.renderLabel()),
|
|
72
|
+
h("small", { class: 'togglecheckbox__error-message' }, this.errorMessage),
|
|
73
|
+
h("div", { class: 'togglecheckbox__wrapper--relative' },
|
|
74
|
+
this.tooltip &&
|
|
75
|
+
h("img", { class: 'togglecheckbox__tooltip-icon', src: tooltipIcon, alt: "", ref: (el) => this.tooltipIconReference = el, onClick: () => this.showTooltip = !this.showTooltip }),
|
|
76
|
+
this.renderTooltip()),
|
|
77
|
+
h("div", { class: `togglecheckbox__fields-wrapper ${this.showFields ? '' : 'hidden'}` }, this.options.map(subfield => {
|
|
78
|
+
return h("general-input", { type: subfield.inputType, name: subfield.name, displayName: subfield.displayName, validation: subfield.validate, action: subfield.action || null, defaultValue: subfield.defaultValue, autofilled: subfield.autofill, emitValue: this.emitValue, language: this.language, "client-styling": this.clientStyling, tooltip: subfield.tooltip, placeholder: subfield.placeholder == null ? '' : subfield.placeholder });
|
|
79
|
+
})));
|
|
80
|
+
}
|
|
81
|
+
static get is() { return "toggle-checkbox-input"; }
|
|
82
|
+
static get encapsulation() { return "shadow"; }
|
|
83
|
+
static get originalStyleUrls() { return {
|
|
84
|
+
"$": ["toggle-checkbox-input.scss"]
|
|
85
|
+
}; }
|
|
86
|
+
static get styleUrls() { return {
|
|
87
|
+
"$": ["toggle-checkbox-input.css"]
|
|
88
|
+
}; }
|
|
89
|
+
static get properties() { return {
|
|
90
|
+
"name": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"mutable": false,
|
|
93
|
+
"complexType": {
|
|
94
|
+
"original": "string",
|
|
95
|
+
"resolved": "string",
|
|
96
|
+
"references": {}
|
|
97
|
+
},
|
|
98
|
+
"required": false,
|
|
99
|
+
"optional": false,
|
|
100
|
+
"docs": {
|
|
101
|
+
"tags": [],
|
|
102
|
+
"text": "Name of the input."
|
|
103
|
+
},
|
|
104
|
+
"attribute": "name",
|
|
105
|
+
"reflect": true
|
|
106
|
+
},
|
|
107
|
+
"displayName": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"mutable": false,
|
|
110
|
+
"complexType": {
|
|
111
|
+
"original": "string",
|
|
112
|
+
"resolved": "string",
|
|
113
|
+
"references": {}
|
|
114
|
+
},
|
|
115
|
+
"required": false,
|
|
116
|
+
"optional": false,
|
|
117
|
+
"docs": {
|
|
118
|
+
"tags": [],
|
|
119
|
+
"text": "Name of input to be shown to the user."
|
|
120
|
+
},
|
|
121
|
+
"attribute": "display-name",
|
|
122
|
+
"reflect": true
|
|
123
|
+
},
|
|
124
|
+
"defaultValue": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"mutable": false,
|
|
127
|
+
"complexType": {
|
|
128
|
+
"original": "string",
|
|
129
|
+
"resolved": "string",
|
|
130
|
+
"references": {}
|
|
131
|
+
},
|
|
132
|
+
"required": false,
|
|
133
|
+
"optional": false,
|
|
134
|
+
"docs": {
|
|
135
|
+
"tags": [],
|
|
136
|
+
"text": "Default value for the input."
|
|
137
|
+
},
|
|
138
|
+
"attribute": "default-value",
|
|
139
|
+
"reflect": true,
|
|
140
|
+
"defaultValue": "''"
|
|
141
|
+
},
|
|
142
|
+
"options": {
|
|
143
|
+
"type": "unknown",
|
|
144
|
+
"mutable": false,
|
|
145
|
+
"complexType": {
|
|
146
|
+
"original": "RegCfgContentField[]",
|
|
147
|
+
"resolved": "RegCfgContentField[]",
|
|
148
|
+
"references": {
|
|
149
|
+
"RegCfgContentField": {
|
|
150
|
+
"location": "import",
|
|
151
|
+
"path": "../../utils/types"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
"required": false,
|
|
156
|
+
"optional": false,
|
|
157
|
+
"docs": {
|
|
158
|
+
"tags": [],
|
|
159
|
+
"text": "Options of the input."
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"autofilled": {
|
|
163
|
+
"type": "boolean",
|
|
164
|
+
"mutable": false,
|
|
165
|
+
"complexType": {
|
|
166
|
+
"original": "boolean",
|
|
167
|
+
"resolved": "boolean",
|
|
168
|
+
"references": {}
|
|
169
|
+
},
|
|
170
|
+
"required": false,
|
|
171
|
+
"optional": false,
|
|
172
|
+
"docs": {
|
|
173
|
+
"tags": [],
|
|
174
|
+
"text": "Boolean. Determines if input should be readonly."
|
|
175
|
+
},
|
|
176
|
+
"attribute": "autofilled",
|
|
177
|
+
"reflect": true
|
|
178
|
+
},
|
|
179
|
+
"tooltip": {
|
|
180
|
+
"type": "string",
|
|
181
|
+
"mutable": false,
|
|
182
|
+
"complexType": {
|
|
183
|
+
"original": "string",
|
|
184
|
+
"resolved": "string",
|
|
185
|
+
"references": {}
|
|
186
|
+
},
|
|
187
|
+
"required": false,
|
|
188
|
+
"optional": false,
|
|
189
|
+
"docs": {
|
|
190
|
+
"tags": [],
|
|
191
|
+
"text": "Tooltip text."
|
|
192
|
+
},
|
|
193
|
+
"attribute": "tooltip",
|
|
194
|
+
"reflect": true
|
|
195
|
+
},
|
|
196
|
+
"validation": {
|
|
197
|
+
"type": "unknown",
|
|
198
|
+
"mutable": false,
|
|
199
|
+
"complexType": {
|
|
200
|
+
"original": "ValidationSchema",
|
|
201
|
+
"resolved": "ValidationSchema",
|
|
202
|
+
"references": {
|
|
203
|
+
"ValidationSchema": {
|
|
204
|
+
"location": "import",
|
|
205
|
+
"path": "../../utils/types"
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
"required": false,
|
|
210
|
+
"optional": false,
|
|
211
|
+
"docs": {
|
|
212
|
+
"tags": [],
|
|
213
|
+
"text": "Object of validation rules for the input."
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
"language": {
|
|
217
|
+
"type": "string",
|
|
218
|
+
"mutable": false,
|
|
219
|
+
"complexType": {
|
|
220
|
+
"original": "string",
|
|
221
|
+
"resolved": "string",
|
|
222
|
+
"references": {}
|
|
223
|
+
},
|
|
224
|
+
"required": false,
|
|
225
|
+
"optional": false,
|
|
226
|
+
"docs": {
|
|
227
|
+
"tags": [],
|
|
228
|
+
"text": "Currently selected language."
|
|
229
|
+
},
|
|
230
|
+
"attribute": "language",
|
|
231
|
+
"reflect": true
|
|
232
|
+
},
|
|
233
|
+
"emitValue": {
|
|
234
|
+
"type": "boolean",
|
|
235
|
+
"mutable": false,
|
|
236
|
+
"complexType": {
|
|
237
|
+
"original": "boolean",
|
|
238
|
+
"resolved": "boolean",
|
|
239
|
+
"references": {}
|
|
240
|
+
},
|
|
241
|
+
"required": false,
|
|
242
|
+
"optional": false,
|
|
243
|
+
"docs": {
|
|
244
|
+
"tags": [],
|
|
245
|
+
"text": "State passed down from the parent element. Will trigger the input to send it's value through an event."
|
|
246
|
+
},
|
|
247
|
+
"attribute": "emit-value",
|
|
248
|
+
"reflect": true
|
|
249
|
+
},
|
|
250
|
+
"clientStyling": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"mutable": false,
|
|
253
|
+
"complexType": {
|
|
254
|
+
"original": "string",
|
|
255
|
+
"resolved": "string",
|
|
256
|
+
"references": {}
|
|
257
|
+
},
|
|
258
|
+
"required": false,
|
|
259
|
+
"optional": false,
|
|
260
|
+
"docs": {
|
|
261
|
+
"tags": [],
|
|
262
|
+
"text": "Client custom styling via inline style"
|
|
263
|
+
},
|
|
264
|
+
"attribute": "client-styling",
|
|
265
|
+
"reflect": true,
|
|
266
|
+
"defaultValue": "''"
|
|
267
|
+
}
|
|
268
|
+
}; }
|
|
269
|
+
static get states() { return {
|
|
270
|
+
"errorMessage": {},
|
|
271
|
+
"isValid": {},
|
|
272
|
+
"limitStylingAppends": {},
|
|
273
|
+
"showTooltip": {},
|
|
274
|
+
"showFields": {}
|
|
275
|
+
}; }
|
|
276
|
+
static get events() { return [{
|
|
277
|
+
"method": "sendValidityState",
|
|
278
|
+
"name": "sendValidityState",
|
|
279
|
+
"bubbles": true,
|
|
280
|
+
"cancelable": true,
|
|
281
|
+
"composed": true,
|
|
282
|
+
"docs": {
|
|
283
|
+
"tags": [],
|
|
284
|
+
"text": ""
|
|
285
|
+
},
|
|
286
|
+
"complexType": {
|
|
287
|
+
"original": "InputStateEvent",
|
|
288
|
+
"resolved": "InputStateEvent",
|
|
289
|
+
"references": {
|
|
290
|
+
"InputStateEvent": {
|
|
291
|
+
"location": "import",
|
|
292
|
+
"path": "../../utils/types"
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}, {
|
|
297
|
+
"method": "sendInputValue",
|
|
298
|
+
"name": "sendInputValue",
|
|
299
|
+
"bubbles": true,
|
|
300
|
+
"cancelable": true,
|
|
301
|
+
"composed": true,
|
|
302
|
+
"docs": {
|
|
303
|
+
"tags": [],
|
|
304
|
+
"text": ""
|
|
305
|
+
},
|
|
306
|
+
"complexType": {
|
|
307
|
+
"original": "InputValueEvent",
|
|
308
|
+
"resolved": "InputValueEvent",
|
|
309
|
+
"references": {
|
|
310
|
+
"InputValueEvent": {
|
|
311
|
+
"location": "import",
|
|
312
|
+
"path": "../../utils/types"
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}]; }
|
|
317
|
+
static get listeners() { return [{
|
|
318
|
+
"name": "click",
|
|
319
|
+
"method": "handleClickOutside",
|
|
320
|
+
"target": "document",
|
|
321
|
+
"capture": false,
|
|
322
|
+
"passive": false
|
|
323
|
+
}]; }
|
|
324
|
+
}
|
|
@@ -1,22 +1,46 @@
|
|
|
1
1
|
const DEFAULT_LANGUAGE = 'en';
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
numberLengthError: 'The number should be between
|
|
7
|
-
lengthError: `The length should be between {minLength} and {maxLength}`,
|
|
8
|
-
requiredError: 'This input is required.',
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
export const TRANSLATIONS = {
|
|
3
|
+
"en": {
|
|
4
|
+
"dateError": 'The selected date should be between {min} and {max}',
|
|
5
|
+
"dateError2": 'The selected date is not within the accepted range',
|
|
6
|
+
"numberLengthError": 'The number should be between {min} and {max}',
|
|
7
|
+
"lengthError": `The length should be between {minLength} and {maxLength}`,
|
|
8
|
+
"requiredError": 'This input is required.',
|
|
9
|
+
"invalidOriginalPasswordError": "Initial password field does not validate all criteria.",
|
|
10
|
+
"passwordStrength": "Password strength",
|
|
11
|
+
"passwordStrengthWeak": "is not adequate",
|
|
12
|
+
"passwordStrengthStrong": "is adequate",
|
|
13
|
+
"SpecialCharactersNotAllowed": 'Should not contain special characters',
|
|
14
|
+
"InvalidEmailFormat": "Invalid email format.",
|
|
15
|
+
"EmailNotMatching": "Emails not matching!",
|
|
16
|
+
"PasswordNotMatching": "Passwords not matching",
|
|
17
|
+
"MustIncludeNumber": "include a number",
|
|
18
|
+
"MustContainCapital": "contain capital letters",
|
|
19
|
+
"MustIncludePunctation": "punctuation",
|
|
20
|
+
"OnlyNumbers": "Should contains only numbers."
|
|
11
21
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
22
|
+
"hu": {
|
|
23
|
+
"dateError": 'A választott dátumnak {min} és {max} között kell lennie',
|
|
24
|
+
"numberLengthError": 'A számnak {min} és {max} között kell lennie',
|
|
25
|
+
"lengthError": `A hossznak {minLength} és {maxLength} között kell lennie`,
|
|
26
|
+
"requiredError": 'Ez a beviteli mező kötelező.',
|
|
27
|
+
"invalidOriginalPasswordError": "Initial password field does not validate all criteria.",
|
|
28
|
+
"passwordStrength": "Jelszó erőssége",
|
|
29
|
+
"passwordStrengthWeak": "nem megfelelő",
|
|
30
|
+
"passwordStrengthStrong": "megfelelő",
|
|
31
|
+
"SpecialCharactersNotAllowed": 'Nem tartalmazhat speciális karaktereket',
|
|
32
|
+
"InvalidEmailFormat": "Érvénytelen e-mail formátum.",
|
|
33
|
+
"EmailNotMatching": "Az e-mailek nem egyeznek!",
|
|
34
|
+
"PasswordNotMatching": "A jelszavak nem egyeznek",
|
|
35
|
+
"MustIncludeNumber": "tartalmaznia kell egy számot",
|
|
36
|
+
"MustContainCapital": "nagybetűket kell tartalmaznia",
|
|
37
|
+
"MustIncludePunctation": "írásjelet",
|
|
38
|
+
"OnlyNumbers": "Csak számokat kell tartalmaznia."
|
|
15
39
|
}
|
|
16
40
|
};
|
|
17
41
|
export const translate = (key, customLang, values) => {
|
|
18
42
|
const lang = customLang;
|
|
19
|
-
let translation = TRANSLATIONS[lang !== undefined
|
|
43
|
+
let translation = TRANSLATIONS[lang !== undefined ? lang : DEFAULT_LANGUAGE][key];
|
|
20
44
|
if (values !== undefined) {
|
|
21
45
|
for (const [key, value] of Object.entries(values.values)) {
|
|
22
46
|
const regex = new RegExp(`{${key}}`, 'g');
|
|
@@ -25,3 +49,18 @@ export const translate = (key, customLang, values) => {
|
|
|
25
49
|
}
|
|
26
50
|
return translation;
|
|
27
51
|
};
|
|
52
|
+
export const getTranslations = (url) => {
|
|
53
|
+
// fetch url, get the data, replace the TRANSLATIONS content
|
|
54
|
+
return new Promise((resolve) => {
|
|
55
|
+
fetch(url)
|
|
56
|
+
.then((res) => res.json())
|
|
57
|
+
.then((data) => {
|
|
58
|
+
Object.keys(data).forEach((item) => {
|
|
59
|
+
for (let key in data[item]) {
|
|
60
|
+
TRANSLATIONS[item][key] = data[item][key];
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
resolve(true);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
};
|