@formio/js 5.1.0-dev.5969.9a6e3f5 → 5.1.0-dev.5972.317ce89
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/formio.form.js +74 -52
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.full.js +77 -55
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.js +3 -3
- package/dist/formio.min.js +1 -1
- package/dist/formio.utils.js +3 -3
- package/dist/formio.utils.min.js +1 -1
- package/lib/cjs/Form.js +4 -4
- package/lib/cjs/PDFBuilder.js +4 -4
- package/lib/cjs/Webform.d.ts +12 -12
- package/lib/cjs/Webform.js +132 -131
- package/lib/cjs/WebformBuilder.js +10 -10
- package/lib/cjs/Wizard.js +1 -1
- package/lib/cjs/WizardBuilder.js +1 -1
- package/lib/cjs/components/_classes/component/Component.js +12 -11
- package/lib/cjs/components/_classes/list/ListComponent.js +4 -4
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +2 -2
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +3 -3
- package/lib/cjs/components/address/Address.js +1 -1
- package/lib/cjs/components/button/Button.js +6 -6
- package/lib/cjs/components/checkbox/Checkbox.js +1 -1
- package/lib/cjs/components/datagrid/DataGrid.js +1 -1
- package/lib/cjs/components/datetime/DateTime.js +4 -0
- package/lib/cjs/components/day/Day.js +4 -20
- package/lib/cjs/components/editgrid/EditGrid.js +4 -4
- package/lib/cjs/components/file/File.js +15 -15
- package/lib/cjs/components/form/Form.js +4 -4
- package/lib/cjs/components/number/Number.js +1 -1
- package/lib/cjs/components/recaptcha/ReCaptcha.js +2 -2
- package/lib/cjs/components/select/Select.js +5 -5
- package/lib/cjs/components/selectboxes/SelectBoxes.js +2 -2
- package/lib/cjs/components/signature/Signature.d.ts +1 -1
- package/lib/cjs/components/signature/Signature.js +2 -2
- package/lib/cjs/components/survey/Survey.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +6 -6
- package/lib/cjs/components/textfield/TextField.js +3 -0
- package/lib/cjs/formio.form.js +4 -0
- package/lib/cjs/translations/en.d.ts +234 -81
- package/lib/cjs/translations/en.js +8 -81
- package/lib/cjs/utils/i18n.d.ts +5 -2
- package/lib/cjs/utils/i18n.js +32 -5
- package/lib/mjs/Form.js +4 -4
- package/lib/mjs/PDFBuilder.js +4 -4
- package/lib/mjs/Webform.d.ts +12 -12
- package/lib/mjs/Webform.js +142 -141
- package/lib/mjs/WebformBuilder.js +10 -10
- package/lib/mjs/Wizard.js +1 -1
- package/lib/mjs/WizardBuilder.js +1 -1
- package/lib/mjs/components/_classes/component/Component.js +12 -11
- package/lib/mjs/components/_classes/list/ListComponent.js +4 -4
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +2 -2
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +3 -3
- package/lib/mjs/components/address/Address.js +1 -1
- package/lib/mjs/components/button/Button.js +6 -6
- package/lib/mjs/components/checkbox/Checkbox.js +1 -1
- package/lib/mjs/components/datagrid/DataGrid.js +1 -1
- package/lib/mjs/components/datetime/DateTime.js +5 -1
- package/lib/mjs/components/day/Day.js +4 -20
- package/lib/mjs/components/editgrid/EditGrid.js +4 -4
- package/lib/mjs/components/file/File.js +15 -15
- package/lib/mjs/components/form/Form.js +4 -4
- package/lib/mjs/components/number/Number.js +1 -1
- package/lib/mjs/components/recaptcha/ReCaptcha.js +2 -2
- package/lib/mjs/components/select/Select.js +7 -7
- package/lib/mjs/components/selectboxes/SelectBoxes.js +2 -2
- package/lib/mjs/components/signature/Signature.d.ts +1 -1
- package/lib/mjs/components/signature/Signature.js +2 -2
- package/lib/mjs/components/survey/Survey.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +6 -6
- package/lib/mjs/components/textfield/TextField.js +3 -0
- package/lib/mjs/formio.form.js +4 -0
- package/lib/mjs/translations/en.d.ts +234 -81
- package/lib/mjs/translations/en.js +89 -3
- package/lib/mjs/utils/i18n.d.ts +5 -2
- package/lib/mjs/utils/i18n.js +32 -5
- package/package.json +3 -3
package/lib/mjs/utils/i18n.js
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
import { Evaluator } from '@formio/core/utils';
|
2
2
|
import i18n from '../i18n';
|
3
|
+
import { isEmpty } from 'lodash';
|
4
|
+
import { fastCloneDeep } from '@formio/core';
|
3
5
|
const i18Defaults = {};
|
4
6
|
for (const lang in i18n.resources) {
|
5
7
|
if (i18n.resources.hasOwnProperty(lang)) {
|
@@ -10,14 +12,29 @@ for (const lang in i18n.resources) {
|
|
10
12
|
* This file is used to mimic the i18n library interface.
|
11
13
|
*/
|
12
14
|
export class I18n {
|
13
|
-
languages = i18Defaults;
|
15
|
+
static languages = i18Defaults;
|
16
|
+
languages = fastCloneDeep(I18n.languages || {});
|
17
|
+
defaultKeys = I18n.languages?.en || {};
|
14
18
|
language = 'en';
|
15
19
|
currentLanguage = i18Defaults.en;
|
16
20
|
constructor(languages = {}) {
|
17
21
|
this.setLanguages(languages);
|
18
22
|
this.changeLanguage(this.language);
|
19
23
|
}
|
20
|
-
|
24
|
+
static setDefaultTranslations(languages) {
|
25
|
+
if (isEmpty(languages)) {
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
for (const lang in languages) {
|
29
|
+
if (lang !== 'language' && languages.hasOwnProperty(lang)) {
|
30
|
+
if (!this.languages[lang]) {
|
31
|
+
this.languages[lang] = {};
|
32
|
+
}
|
33
|
+
this.languages[lang] = { ...languages[lang], ...this.languages[lang], };
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
setLanguages(languages, noDefaultOverride) {
|
21
38
|
if (languages.resources) {
|
22
39
|
for (const lang in languages.resources) {
|
23
40
|
if (languages.resources.hasOwnProperty(lang)) {
|
@@ -44,7 +61,9 @@ export class I18n {
|
|
44
61
|
if (!this.languages[lang]) {
|
45
62
|
this.languages[lang] = {};
|
46
63
|
}
|
47
|
-
this.languages[lang] =
|
64
|
+
this.languages[lang] = noDefaultOverride
|
65
|
+
? { ...languages[lang], ...this.languages[lang] }
|
66
|
+
: { ...this.languages[lang], ...languages[lang] };
|
48
67
|
}
|
49
68
|
}
|
50
69
|
}
|
@@ -73,12 +92,20 @@ export class I18n {
|
|
73
92
|
this.languages[language] = strings;
|
74
93
|
}
|
75
94
|
t(text, ...args) {
|
76
|
-
|
95
|
+
let currentTranslation = this.currentLanguage[text];
|
96
|
+
// provide compatibility with cases where the entire phrase is used as a key
|
97
|
+
// get the phrase that is possibly being used as a key
|
98
|
+
const defaultKey = this.defaultKeys[text];
|
99
|
+
if (defaultKey && this.currentLanguage[defaultKey]) {
|
100
|
+
// get translation using the phrase as a key
|
101
|
+
currentTranslation = this.currentLanguage[defaultKey];
|
102
|
+
}
|
103
|
+
if (currentTranslation) {
|
77
104
|
const customTranslationFieldName = args[0]?.field;
|
78
105
|
if (customTranslationFieldName && this.currentLanguage[customTranslationFieldName]) {
|
79
106
|
args[0].field = this.currentLanguage[customTranslationFieldName];
|
80
107
|
}
|
81
|
-
return Evaluator.interpolateString(
|
108
|
+
return Evaluator.interpolateString(currentTranslation, ...args);
|
82
109
|
}
|
83
110
|
return Evaluator.interpolateString(text, ...args);
|
84
111
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@formio/js",
|
3
|
-
"version": "5.1.0-dev.
|
3
|
+
"version": "5.1.0-dev.5972.317ce89",
|
4
4
|
"description": "JavaScript powered Forms with JSON Form Builder",
|
5
5
|
"main": "lib/cjs/index.js",
|
6
6
|
"exports": {
|
@@ -80,9 +80,9 @@
|
|
80
80
|
},
|
81
81
|
"homepage": "https://github.com/formio/formio.js#readme",
|
82
82
|
"dependencies": {
|
83
|
-
"@formio/bootstrap": "
|
83
|
+
"@formio/bootstrap": "v3.0.0-dev.121.085d187",
|
84
84
|
"@formio/choices.js": "^10.2.1",
|
85
|
-
"@formio/core": "
|
85
|
+
"@formio/core": "v2.4.0-dev.210.e634ab4",
|
86
86
|
"@formio/text-mask-addons": "3.8.0-formio.4",
|
87
87
|
"@formio/vanilla-text-mask": "^5.1.1-formio.1",
|
88
88
|
"abortcontroller-polyfill": "^1.7.5",
|