@onehat/ui 0.2.4 → 0.2.6

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onehat/ui",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "Base UI for OneHat apps",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -504,9 +504,9 @@ function disableRequiredYupFields(validator) {
504
504
  if (Array.isArray(nestedField.conditions) && nestedField.conditions.length > 0) {
505
505
  // Next is done to disable required() inside a condition
506
506
  // https://github.com/jquense/yup/issues/1002
507
- nestedFieldNext = nestedFieldNext.when('whatever', (_: unknown, schema: yup.AnySchema) =>
508
- schema.notRequired(),
509
- );
507
+ nestedFieldNext = nestedFieldNext.when('whatever', (unused, schema) => {
508
+ return schema.notRequired();
509
+ });
510
510
  }
511
511
 
512
512
  next.fields[key] = nestedFieldNext;
@@ -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
- return mapping[type];
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
- }
@@ -0,0 +1,5 @@
1
+ import UiGlobals from '../UiGlobals.js';
2
+
3
+ export default function registerComponents(newComponents) {
4
+ _.merge(UiGlobals.components, newComponents);
5
+ }
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',
@@ -0,0 +1,3 @@
1
+ const Globals = {};
2
+
3
+ export default Globals;