@onehat/ui 0.2.3 → 0.2.5
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/package.json +1 -1
- package/src/Components/Form/Form.js +17 -17
- package/src/Components/Panel/Header.js +1 -1
- package/src/Components/index.js +96 -0
- package/src/Functions/getComponentFromType.js +5 -100
- package/src/Functions/registerComponents.js +5 -0
- package/src/OneHatUi.js +3 -0
- package/src/UiGlobals.js +3 -0
package/package.json
CHANGED
|
@@ -493,26 +493,26 @@ function disableRequiredYupFields(validator) {
|
|
|
493
493
|
return null;
|
|
494
494
|
}
|
|
495
495
|
|
|
496
|
-
const nextSchema = validator.clone();
|
|
497
|
-
return nextSchema.withMutation((next) => {
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
496
|
+
// const nextSchema = validator.clone();
|
|
497
|
+
// return nextSchema.withMutation((next) => {
|
|
498
|
+
// if (typeof next.fields === 'object' && next.fields != null) {
|
|
499
|
+
// for (const key in next.fields) {
|
|
500
|
+
// const nestedField = next.fields[key];
|
|
501
501
|
|
|
502
|
-
|
|
502
|
+
// let nestedFieldNext = nestedField.notRequired();
|
|
503
503
|
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
504
|
+
// if (Array.isArray(nestedField.conditions) && nestedField.conditions.length > 0) {
|
|
505
|
+
// // Next is done to disable required() inside a condition
|
|
506
|
+
// // https://github.com/jquense/yup/issues/1002
|
|
507
|
+
// nestedFieldNext = nestedFieldNext.when('whatever', (_: unknown, schema: yup.AnySchema) =>
|
|
508
|
+
// schema.notRequired(),
|
|
509
|
+
// );
|
|
510
|
+
// }
|
|
511
511
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
});
|
|
512
|
+
// next.fields[key] = nestedFieldNext;
|
|
513
|
+
// }
|
|
514
|
+
// }
|
|
515
|
+
// });
|
|
516
516
|
}
|
|
517
517
|
function getNullFieldValues(initialValues, Repository) {
|
|
518
518
|
const ret = {};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Column,
|
|
3
|
+
} from 'native-base';
|
|
4
|
+
// import AccordionGridPanel from '../Components/Panel/AccordionGridPanel.js';
|
|
5
|
+
import ArrayCheckboxGroup from './Form/Field/CheckboxGroup/ArrayCheckboxGroup.js';
|
|
6
|
+
import ArrayCombo from './Form/Field/Combo/ArrayCombo.js';
|
|
7
|
+
import ArrayRadioGroup from './Form/Field/RadioGroup/ArrayRadioGroup.js';
|
|
8
|
+
// import BackButton from '../Components/Buttons/BackButton.js';
|
|
9
|
+
import Blank from './Blank.js';
|
|
10
|
+
import BooleanCombo from './Form/Field/Combo/BooleanCombo.js';
|
|
11
|
+
// import CartButtonWithBadge from '../Components/Buttons/CartButtonWithBadge.js';
|
|
12
|
+
import CheckboxGroup from './Form/Field/CheckboxGroup/CheckboxGroup.js';
|
|
13
|
+
import CKEditor from './Form/Field/CKEditor/CKEditor.js';
|
|
14
|
+
import Color from './Form/Field/Color.js';
|
|
15
|
+
import Combo from './Form/Field/Combo/Combo.js';
|
|
16
|
+
// import ComboEditor from '../Components/Form/Field/Combo/ComboEditor.js';
|
|
17
|
+
import Container from './Container/Container.js';
|
|
18
|
+
import DataMgt from './Screens/DataMgt.js';
|
|
19
|
+
import Date from './Form/Field/Date.js';
|
|
20
|
+
import DateRange from './Filter/DateRange.js';
|
|
21
|
+
import DisplayField from './Form/Field/DisplayField.js';
|
|
22
|
+
import FieldSet from './Form/FieldSet.js';
|
|
23
|
+
import File from './Form/Field/File.js';
|
|
24
|
+
import FiltersForm from './Form/FiltersForm.js';
|
|
25
|
+
// import FiltersToolbar from '../Components/Toolbar/FiltersToolbar.js';
|
|
26
|
+
import Form from './Form/Form.js';
|
|
27
|
+
import Grid from './Grid/Grid.js';
|
|
28
|
+
import GridPanel from './Panel/GridPanel.js';
|
|
29
|
+
import IconButton from './Buttons/IconButton.js';
|
|
30
|
+
import Input from './Form/Field/Input.js';
|
|
31
|
+
import IntervalsCombo from './Form/Field/Combo/IntervalsCombo.js';
|
|
32
|
+
import Label from './Form/Label.js';
|
|
33
|
+
import MonthsCombo from './Form/Field/Combo/MonthsCombo.js';
|
|
34
|
+
import Number from './Form/Field/Number.js';
|
|
35
|
+
import NumberRange from './Filter/NumberRange.js';
|
|
36
|
+
import Panel from './Panel/Panel.js';
|
|
37
|
+
// import Picker from '../Components/Panel/Picker.js';
|
|
38
|
+
import RadioGroup from './Form/Field/RadioGroup/RadioGroup.js';
|
|
39
|
+
import TabPanel from './Panel/TabPanel.js';
|
|
40
|
+
import Tag from './Form/Field/Combo/Tag.js';
|
|
41
|
+
import TextArea from './Form/Field/TextArea.js';
|
|
42
|
+
import Text from './Form/Field/Text.js';
|
|
43
|
+
import TimezonesCombo from './Form/Field/Combo/TimezonesCombo.js';
|
|
44
|
+
import Toggle from './Form/Field/Toggle.js';
|
|
45
|
+
import Toolbar from './Toolbar/Toolbar.js';
|
|
46
|
+
import YearsCombo from './Form/Field/Combo/YearsCombo.js';
|
|
47
|
+
import _ from 'lodash';
|
|
48
|
+
|
|
49
|
+
const components = {
|
|
50
|
+
// AccordionGridPanel,
|
|
51
|
+
ArrayCheckboxGroup,
|
|
52
|
+
ArrayCombo,
|
|
53
|
+
ArrayRadioGroup,
|
|
54
|
+
// BackButton,
|
|
55
|
+
Blank,
|
|
56
|
+
BooleanCombo,
|
|
57
|
+
// CartButtonWithBadge,
|
|
58
|
+
CheckboxGroup,
|
|
59
|
+
CKEditor,
|
|
60
|
+
Color,
|
|
61
|
+
Column,
|
|
62
|
+
Combo,
|
|
63
|
+
// ComboEditor,
|
|
64
|
+
Container,
|
|
65
|
+
DataMgt,
|
|
66
|
+
Date,
|
|
67
|
+
DateRange,
|
|
68
|
+
DisplayField,
|
|
69
|
+
FieldSet,
|
|
70
|
+
File,
|
|
71
|
+
FiltersForm,
|
|
72
|
+
// FiltersToolbar,
|
|
73
|
+
Form,
|
|
74
|
+
Grid,
|
|
75
|
+
GridPanel,
|
|
76
|
+
IconButton,
|
|
77
|
+
Input,
|
|
78
|
+
IntervalsCombo,
|
|
79
|
+
Label,
|
|
80
|
+
MonthsCombo,
|
|
81
|
+
Number,
|
|
82
|
+
NumberRange,
|
|
83
|
+
Panel,
|
|
84
|
+
// Picker,
|
|
85
|
+
RadioGroup,
|
|
86
|
+
TabPanel,
|
|
87
|
+
Tag,
|
|
88
|
+
Text,
|
|
89
|
+
TextArea,
|
|
90
|
+
TimezonesCombo,
|
|
91
|
+
Toggle,
|
|
92
|
+
Toolbar,
|
|
93
|
+
YearsCombo,
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export default components;
|
|
@@ -1,106 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
Column,
|
|
3
|
-
} from 'native-base';
|
|
4
|
-
// import AccordionGridPanel from '../Components/Panel/AccordionGridPanel.js';
|
|
5
|
-
import ArrayCheckboxGroup from '../Components/Form/Field/CheckboxGroup/ArrayCheckboxGroup.js';
|
|
6
|
-
import ArrayCombo from '../Components/Form/Field/Combo/ArrayCombo.js';
|
|
7
|
-
import ArrayRadioGroup from '../Components/Form/Field/RadioGroup/ArrayRadioGroup.js';
|
|
8
|
-
// import BackButton from '../Components/Buttons/BackButton.js';
|
|
9
|
-
import Blank from '../Components/Blank.js';
|
|
10
|
-
import BooleanCombo from '../Components/Form/Field/Combo/BooleanCombo.js';
|
|
11
|
-
// import CartButtonWithBadge from '../Components/Buttons/CartButtonWithBadge.js';
|
|
12
|
-
import CheckboxGroup from '../Components/Form/Field/CheckboxGroup/CheckboxGroup.js';
|
|
13
|
-
import CKEditor from '../Components/Form/Field/CKEditor/CKEditor.js';
|
|
14
|
-
import Color from '../Components/Form/Field/Color.js';
|
|
15
|
-
import Combo from '../Components/Form/Field/Combo/Combo.js';
|
|
16
|
-
// import ComboEditor from '../Components/Form/Field/Combo/ComboEditor.js';
|
|
17
|
-
import Container from '../Components/Container/Container.js';
|
|
18
|
-
import DataMgt from '../Components/Screens/DataMgt.js';
|
|
19
|
-
import Date from '../Components/Form/Field/Date.js';
|
|
20
|
-
import DateRange from '../Components/Filter/DateRange.js';
|
|
21
|
-
import DisplayField from '../Components/Form/Field/DisplayField.js';
|
|
22
|
-
import FieldSet from '../Components/Form/FieldSet.js';
|
|
23
|
-
import File from '../Components/Form/Field/File.js';
|
|
24
|
-
import FiltersForm from '../Components/Form/FiltersForm.js';
|
|
25
|
-
// import FiltersToolbar from '../Components/Toolbar/FiltersToolbar.js';
|
|
26
|
-
import Form from '../Components/Form/Form.js';
|
|
27
|
-
import Grid from '../Components/Grid/Grid.js';
|
|
28
|
-
import GridPanel from '../Components/Panel/GridPanel.js';
|
|
29
|
-
import IconButton from '../Components/Buttons/IconButton.js';
|
|
30
|
-
import Input from '../Components/Form/Field/Input.js';
|
|
31
|
-
import IntervalsCombo from '../Components/Form/Field/Combo/IntervalsCombo.js';
|
|
32
|
-
import Label from '../Components/Form/Label.js';
|
|
33
|
-
import MonthsCombo from '../Components/Form/Field/Combo/MonthsCombo.js';
|
|
34
|
-
import Number from '../Components/Form/Field/Number.js';
|
|
35
|
-
import NumberRange from '../Components/Filter/NumberRange.js';
|
|
36
|
-
import Panel from '../Components/Panel/Panel.js';
|
|
37
|
-
// import Picker from '../Components/Panel/Picker.js';
|
|
38
|
-
import RadioGroup from '../Components/Form/Field/RadioGroup/RadioGroup.js';
|
|
39
|
-
import TabPanel from '../Components/Panel/TabPanel.js';
|
|
40
|
-
import Tag from '../Components/Form/Field/Combo/Tag.js';
|
|
41
|
-
import TextArea from '../Components/Form/Field/TextArea.js';
|
|
42
|
-
import Text from '../Components/Form/Field/Text.js';
|
|
43
|
-
import TimezonesCombo from '../Components/Form/Field/Combo/TimezonesCombo.js';
|
|
44
|
-
import Toggle from '../Components/Form/Field/Toggle.js';
|
|
45
|
-
import Toolbar from '../Components/Toolbar/Toolbar.js';
|
|
46
|
-
import YearsCombo from '../Components/Form/Field/Combo/YearsCombo.js';
|
|
47
|
-
import _ from 'lodash';
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
mapping = {
|
|
51
|
-
// AccordionGridPanel,
|
|
52
|
-
ArrayCheckboxGroup,
|
|
53
|
-
ArrayCombo,
|
|
54
|
-
ArrayRadioGroup,
|
|
55
|
-
// BackButton,
|
|
56
|
-
Blank,
|
|
57
|
-
BooleanCombo,
|
|
58
|
-
// CartButtonWithBadge,
|
|
59
|
-
CheckboxGroup,
|
|
60
|
-
CKEditor,
|
|
61
|
-
Color,
|
|
62
|
-
Column,
|
|
63
|
-
Combo,
|
|
64
|
-
// ComboEditor,
|
|
65
|
-
Container,
|
|
66
|
-
DataMgt,
|
|
67
|
-
Date,
|
|
68
|
-
DateRange,
|
|
69
|
-
DisplayField,
|
|
70
|
-
FieldSet,
|
|
71
|
-
File,
|
|
72
|
-
FiltersForm,
|
|
73
|
-
// FiltersToolbar,
|
|
74
|
-
Form,
|
|
75
|
-
Grid,
|
|
76
|
-
GridPanel,
|
|
77
|
-
IconButton,
|
|
78
|
-
Input,
|
|
79
|
-
IntervalsCombo,
|
|
80
|
-
Label,
|
|
81
|
-
MonthsCombo,
|
|
82
|
-
Number,
|
|
83
|
-
NumberRange,
|
|
84
|
-
Panel,
|
|
85
|
-
// Picker,
|
|
86
|
-
RadioGroup,
|
|
87
|
-
TabPanel,
|
|
88
|
-
Tag,
|
|
89
|
-
Text,
|
|
90
|
-
TextArea,
|
|
91
|
-
TimezonesCombo,
|
|
92
|
-
Toggle,
|
|
93
|
-
Toolbar,
|
|
94
|
-
YearsCombo,
|
|
95
|
-
};
|
|
1
|
+
import UiGlobals from '../UiGlobals.js';
|
|
96
2
|
|
|
97
3
|
export default function getComponentFromType(type) {
|
|
98
4
|
if (_.isString(type)) {
|
|
99
|
-
|
|
5
|
+
if (UiGlobals.components[type]) {
|
|
6
|
+
return UiGlobals.components[type];
|
|
7
|
+
}
|
|
8
|
+
throw new Error('No mapping for ' + type + ' exists!');
|
|
100
9
|
}
|
|
101
10
|
return type;
|
|
102
11
|
}
|
|
103
|
-
|
|
104
|
-
export function registerComponents(newMapping) {
|
|
105
|
-
_.merge(mapping, newMapping);
|
|
106
|
-
}
|
package/src/OneHatUi.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/** @module OneHatUi */
|
|
2
2
|
|
|
3
3
|
import EventEmitter from '@onehat/events';
|
|
4
|
+
import Components from './Components/index.js';
|
|
5
|
+
import UiGlobals from './UiGlobals.js';
|
|
4
6
|
import _ from 'lodash';
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -11,6 +13,7 @@ export class OneHatUi extends EventEmitter {
|
|
|
11
13
|
constructor() {
|
|
12
14
|
super(...arguments);
|
|
13
15
|
|
|
16
|
+
UiGlobals.components = Components;
|
|
14
17
|
|
|
15
18
|
this.registerEvents([
|
|
16
19
|
'error',
|
package/src/UiGlobals.js
ADDED