@formio/js 5.0.0-rc.21 → 5.0.0-rc.23
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.builder.css +2 -0
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.css +2 -0
- package/dist/formio.form.js +12 -12
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.css +2 -0
- package/dist/formio.full.js +12 -12
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +1 -1
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/Element.js +5 -0
- package/lib/cjs/components/_classes/component/Component.js +3 -3
- package/lib/cjs/components/_classes/field/Field.d.ts +1 -0
- package/lib/cjs/components/_classes/field/Field.js +14 -0
- package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +0 -1
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +0 -14
- package/lib/cjs/components/day/Day.d.ts +0 -1
- package/lib/cjs/components/day/Day.js +35 -11
- package/lib/cjs/components/day/fixtures/comp5.d.ts +29 -0
- package/lib/cjs/components/day/fixtures/comp5.js +32 -0
- package/lib/cjs/components/day/fixtures/comp6.d.ts +81 -0
- package/lib/cjs/components/day/fixtures/comp6.js +76 -0
- package/lib/cjs/components/day/fixtures/index.d.ts +3 -1
- package/lib/cjs/components/day/fixtures/index.js +5 -1
- package/lib/cjs/components/form/Form.js +2 -1
- package/lib/cjs/components/select/Select.js +2 -1
- package/lib/cjs/components/select/fixtures/comp19.d.ts +23 -0
- package/lib/cjs/components/select/fixtures/comp19.js +36 -0
- package/lib/cjs/components/select/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/select/fixtures/index.js +3 -1
- package/lib/cjs/components/tags/Tags.js +2 -0
- package/lib/cjs/components/tags/fixtures/comp6.d.ts +17 -0
- package/lib/cjs/components/tags/fixtures/comp6.js +20 -0
- package/lib/cjs/components/tags/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/tags/fixtures/index.js +3 -1
- package/lib/cjs/utils/utils.js +3 -3
- package/lib/mjs/Element.js +5 -0
- package/lib/mjs/components/_classes/component/Component.js +3 -3
- package/lib/mjs/components/_classes/field/Field.d.ts +1 -0
- package/lib/mjs/components/_classes/field/Field.js +13 -0
- package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +0 -1
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +0 -13
- package/lib/mjs/components/day/Day.d.ts +0 -1
- package/lib/mjs/components/day/Day.js +34 -11
- package/lib/mjs/components/day/fixtures/comp5.d.ts +29 -0
- package/lib/mjs/components/day/fixtures/comp5.js +30 -0
- package/lib/mjs/components/day/fixtures/comp6.d.ts +81 -0
- package/lib/mjs/components/day/fixtures/comp6.js +74 -0
- package/lib/mjs/components/day/fixtures/index.d.ts +3 -1
- package/lib/mjs/components/day/fixtures/index.js +3 -1
- package/lib/mjs/components/form/Form.js +2 -1
- package/lib/mjs/components/select/Select.js +2 -1
- package/lib/mjs/components/select/fixtures/comp19.d.ts +23 -0
- package/lib/mjs/components/select/fixtures/comp19.js +34 -0
- package/lib/mjs/components/select/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/select/fixtures/index.js +2 -1
- package/lib/mjs/components/tags/Tags.js +2 -0
- package/lib/mjs/components/tags/fixtures/comp6.d.ts +17 -0
- package/lib/mjs/components/tags/fixtures/comp6.js +18 -0
- package/lib/mjs/components/tags/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/tags/fixtures/index.js +2 -1
- package/lib/mjs/utils/utils.js +3 -3
- package/package.json +2 -2
@@ -0,0 +1,74 @@
|
|
1
|
+
export default {
|
2
|
+
type: 'form',
|
3
|
+
display: 'form',
|
4
|
+
components: [
|
5
|
+
{
|
6
|
+
label: 'Text Field',
|
7
|
+
applyMaskOn: 'change',
|
8
|
+
tableView: true,
|
9
|
+
key: 'textField',
|
10
|
+
type: 'textfield',
|
11
|
+
input: true,
|
12
|
+
},
|
13
|
+
{
|
14
|
+
label: 'Day',
|
15
|
+
hideInputLabels: false,
|
16
|
+
inputsLabelPosition: 'top',
|
17
|
+
useLocaleSettings: false,
|
18
|
+
tableView: false,
|
19
|
+
fields: {
|
20
|
+
day: {
|
21
|
+
hide: true,
|
22
|
+
},
|
23
|
+
month: {
|
24
|
+
hide: false,
|
25
|
+
},
|
26
|
+
year: {
|
27
|
+
hide: false,
|
28
|
+
},
|
29
|
+
},
|
30
|
+
defaultValue: '00/00/0000',
|
31
|
+
key: 'day',
|
32
|
+
logic: [
|
33
|
+
{
|
34
|
+
name: 'Disable when Test is empty',
|
35
|
+
trigger: {
|
36
|
+
type: 'simple',
|
37
|
+
simple: {
|
38
|
+
show: true,
|
39
|
+
conjunction: 'all',
|
40
|
+
conditions: [
|
41
|
+
{
|
42
|
+
component: 'textField',
|
43
|
+
operator: 'isEmpty',
|
44
|
+
},
|
45
|
+
],
|
46
|
+
},
|
47
|
+
},
|
48
|
+
actions: [
|
49
|
+
{
|
50
|
+
name: 'Disable',
|
51
|
+
type: 'property',
|
52
|
+
property: {
|
53
|
+
label: 'Disabled',
|
54
|
+
value: 'disabled',
|
55
|
+
type: 'boolean',
|
56
|
+
},
|
57
|
+
state: true,
|
58
|
+
},
|
59
|
+
],
|
60
|
+
},
|
61
|
+
],
|
62
|
+
type: 'day',
|
63
|
+
input: true,
|
64
|
+
},
|
65
|
+
{
|
66
|
+
type: 'button',
|
67
|
+
label: 'Submit',
|
68
|
+
key: 'submit',
|
69
|
+
disableOnInvalid: true,
|
70
|
+
input: true,
|
71
|
+
tableView: false,
|
72
|
+
},
|
73
|
+
],
|
74
|
+
};
|
@@ -2,4 +2,6 @@ import comp1 from './comp1';
|
|
2
2
|
import comp2 from './comp2';
|
3
3
|
import comp3 from './comp3';
|
4
4
|
import comp4 from './comp4';
|
5
|
-
|
5
|
+
import comp5 from './comp5';
|
6
|
+
import comp6 from './comp6';
|
7
|
+
export { comp1, comp2, comp3, comp4, comp5, comp6 };
|
@@ -2,4 +2,6 @@ import comp1 from './comp1';
|
|
2
2
|
import comp2 from './comp2';
|
3
3
|
import comp3 from './comp3';
|
4
4
|
import comp4 from './comp4';
|
5
|
-
|
5
|
+
import comp5 from './comp5';
|
6
|
+
import comp6 from './comp6';
|
7
|
+
export { comp1, comp2, comp3, comp4, comp5, comp6 };
|
@@ -385,7 +385,8 @@ export default class FormComponent extends Component {
|
|
385
385
|
if (this.builderMode || this.isHidden() || (this.isSubFormLazyLoad() && !fromAttach)) {
|
386
386
|
return Promise.resolve();
|
387
387
|
}
|
388
|
-
if (this.hasLoadedForm && !this.isRevisionChanged
|
388
|
+
if (this.hasLoadedForm && !this.isRevisionChanged &&
|
389
|
+
!(this.options.pdf && this.useOriginalRevision && _.isNull(this.subForm) && !this.subFormLoading)) {
|
389
390
|
// Pass config down to sub forms.
|
390
391
|
if (this.root && this.root.form && this.root.form.config && !this.formObj.config) {
|
391
392
|
this.formObj.config = this.root.form.config;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import _ from 'lodash';
|
2
2
|
import { Formio } from '../../Formio';
|
3
3
|
import ListComponent from '../_classes/list/ListComponent';
|
4
|
+
import Input from '../_classes/input/Input';
|
4
5
|
import Form from '../../Form';
|
5
6
|
import { getRandomComponentId, boolValue, isPromise, componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
|
6
7
|
import Choices from '../../utils/ChoicesWrapper';
|
@@ -837,7 +838,7 @@ export default class SelectComponent extends ListComponent {
|
|
837
838
|
this.choices.containerOuter.element.setAttribute('tabIndex', '-1');
|
838
839
|
this.addEventListener(this.choices.containerOuter.element, 'focus', () => this.focusableElement.focus());
|
839
840
|
}
|
840
|
-
|
841
|
+
Input.prototype.addFocusBlurEvents.call(this, this.focusableElement);
|
841
842
|
if (this.itemsFromUrl && !this.component.noRefreshOnScroll) {
|
842
843
|
this.scrollList = this.choices.choiceList.element;
|
843
844
|
this.addEventListener(this.scrollList, 'scroll', () => this.onScroll());
|
@@ -0,0 +1,23 @@
|
|
1
|
+
declare namespace _default {
|
2
|
+
const type: string;
|
3
|
+
const display: string;
|
4
|
+
const components: {
|
5
|
+
label: string;
|
6
|
+
widget: string;
|
7
|
+
tableView: boolean;
|
8
|
+
data: {
|
9
|
+
values: {
|
10
|
+
label: string;
|
11
|
+
value: string;
|
12
|
+
}[];
|
13
|
+
};
|
14
|
+
validateOn: string;
|
15
|
+
validate: {
|
16
|
+
custom: string;
|
17
|
+
};
|
18
|
+
key: string;
|
19
|
+
type: string;
|
20
|
+
input: boolean;
|
21
|
+
}[];
|
22
|
+
}
|
23
|
+
export default _default;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
export default {
|
2
|
+
type: 'form',
|
3
|
+
display: 'form',
|
4
|
+
components: [
|
5
|
+
{
|
6
|
+
label: 'Select',
|
7
|
+
widget: 'choicesjs',
|
8
|
+
tableView: true,
|
9
|
+
data: {
|
10
|
+
values: [
|
11
|
+
{
|
12
|
+
label: 'Banana',
|
13
|
+
value: 'banana'
|
14
|
+
},
|
15
|
+
{
|
16
|
+
label: 'Apple',
|
17
|
+
value: 'apple'
|
18
|
+
},
|
19
|
+
{
|
20
|
+
label: 'Pineapple',
|
21
|
+
value: 'pineapple'
|
22
|
+
}
|
23
|
+
]
|
24
|
+
},
|
25
|
+
validateOn: 'blur',
|
26
|
+
validate: {
|
27
|
+
custom: "valid = data.select == 'apple' ? true : 'You must select an apple';"
|
28
|
+
},
|
29
|
+
key: 'select',
|
30
|
+
type: 'select',
|
31
|
+
input: true
|
32
|
+
},
|
33
|
+
]
|
34
|
+
};
|
@@ -15,5 +15,6 @@ import comp15 from './comp15';
|
|
15
15
|
import comp16 from './comp16';
|
16
16
|
import comp17 from './comp17';
|
17
17
|
import comp18 from './comp18';
|
18
|
-
|
18
|
+
import comp19 from './comp19';
|
19
|
+
export { comp1, comp2, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18, comp19 };
|
19
20
|
export { multiSelect, multiSelectOptions } from "./comp3";
|
@@ -16,4 +16,5 @@ import comp15 from './comp15';
|
|
16
16
|
import comp16 from './comp16';
|
17
17
|
import comp17 from './comp17';
|
18
18
|
import comp18 from './comp18';
|
19
|
-
|
19
|
+
import comp19 from './comp19';
|
20
|
+
export { comp1, comp2, comp4, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, comp14, comp15, comp16, comp17, comp18, comp19 };
|
@@ -82,6 +82,8 @@ export default class TagsComponent extends Input {
|
|
82
82
|
});
|
83
83
|
this.choices.itemList.element.tabIndex = element.tabIndex;
|
84
84
|
this.addEventListener(this.choices.input.element, 'blur', () => {
|
85
|
+
// Emit event to the native Formio input, so the listener attached in the Input.js will be invoked
|
86
|
+
element.dispatchEvent(new Event('blur'));
|
85
87
|
const value = this.choices.input.value;
|
86
88
|
const maxTagsNumber = this.component.maxTags;
|
87
89
|
const valuesCount = this.choices.getValue(true).length;
|
@@ -0,0 +1,17 @@
|
|
1
|
+
declare namespace _default {
|
2
|
+
const type: string;
|
3
|
+
const display: string;
|
4
|
+
const components: {
|
5
|
+
label: string;
|
6
|
+
tableView: boolean;
|
7
|
+
storeas: string;
|
8
|
+
validate: {
|
9
|
+
custom: string;
|
10
|
+
};
|
11
|
+
validateOn: string;
|
12
|
+
key: string;
|
13
|
+
type: string;
|
14
|
+
input: boolean;
|
15
|
+
}[];
|
16
|
+
}
|
17
|
+
export default _default;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
export default {
|
2
|
+
type: 'form',
|
3
|
+
display: 'form',
|
4
|
+
components: [
|
5
|
+
{
|
6
|
+
label: 'Tags',
|
7
|
+
tableView: false,
|
8
|
+
storeas: 'array',
|
9
|
+
validate: {
|
10
|
+
custom: "valid = data && data.tags.length <= 2 ? true : 'You cannot add more than 2 items'"
|
11
|
+
},
|
12
|
+
validateOn: 'blur',
|
13
|
+
key: 'tags',
|
14
|
+
type: 'tags',
|
15
|
+
input: true
|
16
|
+
},
|
17
|
+
]
|
18
|
+
};
|
package/lib/mjs/utils/utils.js
CHANGED
@@ -214,9 +214,9 @@ export function checkSimpleConditional(component, condition, row, data, instance
|
|
214
214
|
return true;
|
215
215
|
}
|
216
216
|
const value = getComponentActualValue(conditionComponentPath, data, row);
|
217
|
-
const
|
218
|
-
return
|
219
|
-
? new
|
217
|
+
const ConditionOperator = ConditionOperators[operator];
|
218
|
+
return ConditionOperator
|
219
|
+
? new ConditionOperator().getResult({ value, comparedValue, instance, component, conditionComponentPath })
|
220
220
|
: true;
|
221
221
|
});
|
222
222
|
let result = false;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@formio/js",
|
3
|
-
"version": "5.0.0-rc.
|
3
|
+
"version": "5.0.0-rc.23",
|
4
4
|
"description": "JavaScript powered Forms with JSON Form Builder",
|
5
5
|
"main": "lib/cjs/index.js",
|
6
6
|
"module": "lib/mjs/index.js",
|
@@ -51,7 +51,7 @@
|
|
51
51
|
"invalidate": "VERSION=$(yarn version);aws cloudfront create-invalidation --distribution-id E1MXNA5A4ZKRMZ --paths \"/$VERSION/*\"",
|
52
52
|
"release": "yarn build-app && yarn deploy-s3",
|
53
53
|
"tag": "VERSION=$(yarn version);git add -A; git commit -m \"Build $Version\";git push origin master;git tag v$VERSION;git push origin --tags;",
|
54
|
-
"dopublish": "npm
|
54
|
+
"dopublish": "npm run build && npm run tag && npm publish",
|
55
55
|
"lint": "gulp eslint",
|
56
56
|
"serve": "jekyll serve --config _config.yml,_config.dev.yml",
|
57
57
|
"test": "mocha 'src/**/*.unit.js'",
|