neo.mjs 5.1.12 → 5.1.13
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/apps/ServiceWorker.mjs +2 -2
- package/apps/form/Overwrites.mjs +13 -0
- package/apps/form/app.mjs +7 -0
- package/apps/form/index.html +11 -0
- package/apps/form/model/SideNav.mjs +35 -0
- package/apps/form/neo-config.json +6 -0
- package/apps/form/store/SideNav.mjs +24 -0
- package/apps/form/view/FormContainer.mjs +98 -0
- package/apps/form/view/FormContainerController.mjs +47 -0
- package/apps/form/view/FormPageContainer.mjs +34 -0
- package/apps/form/view/SideNavList.mjs +54 -0
- package/apps/form/view/Viewport.mjs +52 -0
- package/apps/form/view/ViewportModel.mjs +50 -0
- package/apps/form/view/pages/Page1.mjs +34 -0
- package/apps/form/view/pages/Page10.mjs +33 -0
- package/apps/form/view/pages/Page2.mjs +28 -0
- package/apps/form/view/pages/Page3.mjs +33 -0
- package/apps/form/view/pages/Page4.mjs +33 -0
- package/apps/form/view/pages/Page5.mjs +33 -0
- package/apps/form/view/pages/Page6.mjs +33 -0
- package/apps/form/view/pages/Page7.mjs +33 -0
- package/apps/form/view/pages/Page8.mjs +33 -0
- package/apps/form/view/pages/Page9.mjs +33 -0
- package/buildScripts/createClass.mjs +0 -7
- package/buildScripts/webpack/json/myApps.template.json +1 -0
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +2 -2
- package/resources/examples/data/formSideNav.json +19 -0
- package/resources/scss/src/apps/form/FormContainer.scss +22 -0
- package/src/DefaultConfig.mjs +2 -2
package/apps/ServiceWorker.mjs
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
import Model from '../../../src/data/Model.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Form.model.SideNav
|
5
|
+
* @extends Neo.data.Model
|
6
|
+
*/
|
7
|
+
class SideNav extends Model {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Form.model.SideNav'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Form.model.SideNav',
|
14
|
+
/**
|
15
|
+
* @member {Object[]} fields
|
16
|
+
*/
|
17
|
+
fields: [{
|
18
|
+
name: 'cardIndex',
|
19
|
+
type: 'Integer'
|
20
|
+
}, {
|
21
|
+
name: 'id',
|
22
|
+
type: 'String'
|
23
|
+
}, {
|
24
|
+
name: 'isHeader',
|
25
|
+
type: 'Boolean'
|
26
|
+
}, {
|
27
|
+
name: 'name',
|
28
|
+
type: 'String'
|
29
|
+
}]
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
Neo.applyClassConfig(SideNav);
|
34
|
+
|
35
|
+
export default SideNav;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import SideNavModel from '../model/SideNav.mjs'
|
2
|
+
import Store from '../../../src/data/Store.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.store.SideNav
|
6
|
+
* @extends Neo.data.Store
|
7
|
+
*/
|
8
|
+
class SideNav extends Store {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.store.SideNav'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.store.SideNav',
|
15
|
+
/**
|
16
|
+
* @member {Neo.data.Model} model=SideNavModel
|
17
|
+
*/
|
18
|
+
model: SideNavModel
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
Neo.applyClassConfig(SideNav);
|
23
|
+
|
24
|
+
export default SideNav;
|
@@ -0,0 +1,98 @@
|
|
1
|
+
import BaseFormContainer from '../../../src/form/Container.mjs';
|
2
|
+
import Container from '../../../src/container/Base.mjs';
|
3
|
+
import FormContainerController from './FormContainerController.mjs';
|
4
|
+
import Label from '../../../src/component/Label.mjs';
|
5
|
+
import Toolbar from '../../../src/toolbar/Base.mjs';
|
6
|
+
|
7
|
+
/**
|
8
|
+
* @class Form.view.FormContainer
|
9
|
+
* @extends Neo.form.Container
|
10
|
+
*/
|
11
|
+
class FormContainer extends BaseFormContainer {
|
12
|
+
static config = {
|
13
|
+
/**
|
14
|
+
* @member {String} className='Form.view.FormContainer'
|
15
|
+
* @protected
|
16
|
+
*/
|
17
|
+
className: 'Form.view.FormContainer',
|
18
|
+
/**
|
19
|
+
* @member {String[]} baseCls=['form-form-container','neo-container'],
|
20
|
+
* @protected
|
21
|
+
*/
|
22
|
+
baseCls: ['form-form-container', 'neo-container'],
|
23
|
+
/**
|
24
|
+
* @member {Neo.controller.Component} controller=FormContainerController
|
25
|
+
*/
|
26
|
+
controller: FormContainerController,
|
27
|
+
/**
|
28
|
+
* @member {Object[]} items
|
29
|
+
*/
|
30
|
+
items: [{
|
31
|
+
module: Toolbar,
|
32
|
+
cls : ['form-header'],
|
33
|
+
flex : 'none',
|
34
|
+
|
35
|
+
items: [{
|
36
|
+
module: Label,
|
37
|
+
bind : {text: data => data.activeTitle},
|
38
|
+
cls : ['form-header-label'],
|
39
|
+
flex : 'none'
|
40
|
+
}, '->', {
|
41
|
+
handler: 'onValidatePageButtonClick',
|
42
|
+
text : 'Validate Page'
|
43
|
+
}]
|
44
|
+
}, {
|
45
|
+
module : Container,
|
46
|
+
reference: 'pages-container',
|
47
|
+
|
48
|
+
layout: {
|
49
|
+
ntype: 'card',
|
50
|
+
bind : {activeIndex: data => data.activeIndex}
|
51
|
+
},
|
52
|
+
|
53
|
+
items: [{
|
54
|
+
module: () => import('./pages/Page1.mjs')
|
55
|
+
}, {
|
56
|
+
module: () => import('./pages/Page2.mjs')
|
57
|
+
}, {
|
58
|
+
module: () => import('./pages/Page3.mjs')
|
59
|
+
}, {
|
60
|
+
module: () => import('./pages/Page4.mjs')
|
61
|
+
}, {
|
62
|
+
module: () => import('./pages/Page5.mjs')
|
63
|
+
}, {
|
64
|
+
module: () => import('./pages/Page6.mjs')
|
65
|
+
}, {
|
66
|
+
module: () => import('./pages/Page7.mjs')
|
67
|
+
}, {
|
68
|
+
module: () => import('./pages/Page8.mjs')
|
69
|
+
}, {
|
70
|
+
module: () => import('./pages/Page9.mjs')
|
71
|
+
}, {
|
72
|
+
module: () => import('./pages/Page10.mjs')
|
73
|
+
}]
|
74
|
+
}, {
|
75
|
+
module: Toolbar,
|
76
|
+
cls : ['form-footer'],
|
77
|
+
flex : 'none',
|
78
|
+
|
79
|
+
items: ['->', {
|
80
|
+
bind : {disabled: data => data.activeIndex === 0},
|
81
|
+
handler: 'onPrevPageButtonClick',
|
82
|
+
iconCls: 'fas fa-chevron-left',
|
83
|
+
text : 'Back'
|
84
|
+
}, {
|
85
|
+
bind : {disabled: data => data.activeIndex === data.maxIndex},
|
86
|
+
handler : 'onNextPageButtonClick',
|
87
|
+
iconCls : 'fas fa-chevron-right',
|
88
|
+
iconPosition: 'right',
|
89
|
+
style : {marginLeft: '1em'},
|
90
|
+
text : 'Next page'
|
91
|
+
}]
|
92
|
+
}]
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
Neo.applyClassConfig(FormContainer);
|
97
|
+
|
98
|
+
export default FormContainer;
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import Component from '../../../src/controller/Component.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Form.view.FormContainerController
|
5
|
+
* @extends Neo.controller.Component
|
6
|
+
*/
|
7
|
+
class FormContainerController extends Component {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Form.view.FormContainerController'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Form.view.FormContainerController'
|
14
|
+
}
|
15
|
+
|
16
|
+
/**
|
17
|
+
* @param {Object} data
|
18
|
+
*/
|
19
|
+
onNextPageButtonClick(data) {
|
20
|
+
this.getModel().data.activeIndex++;
|
21
|
+
}
|
22
|
+
|
23
|
+
/**
|
24
|
+
* @param {Object} data
|
25
|
+
*/
|
26
|
+
onPrevPageButtonClick(data) {
|
27
|
+
this.getModel().data.activeIndex--;
|
28
|
+
}
|
29
|
+
|
30
|
+
/**
|
31
|
+
* @param {Object} data
|
32
|
+
*/
|
33
|
+
onValidatePageButtonClick(data) {
|
34
|
+
let me = this,
|
35
|
+
activeIndex = me.getModel().data.activeIndex,
|
36
|
+
pagesContainer = me.getReference('pages-container'),
|
37
|
+
activeCard = pagesContainer.items[activeIndex];
|
38
|
+
|
39
|
+
console.log(`Current page: ${activeIndex + 1}`, activeCard.getValues());
|
40
|
+
|
41
|
+
activeCard.validate();
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
Neo.applyClassConfig(FormContainerController);
|
46
|
+
|
47
|
+
export default FormContainerController;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import FormContainer from '../../../src/form/Container.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Form.view.FormPageContainer
|
5
|
+
* @extends Neo.form.Container
|
6
|
+
*/
|
7
|
+
class FormPageContainer extends FormContainer {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Form.view.FormPageContainer'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Form.view.FormPageContainer',
|
14
|
+
/**
|
15
|
+
* @member {Object} itemDefaults
|
16
|
+
*/
|
17
|
+
itemDefaults: {
|
18
|
+
style: {maxWidth: '300px'}
|
19
|
+
},
|
20
|
+
/**
|
21
|
+
* @member {Object} layout={ntype:'vbox'}
|
22
|
+
*/
|
23
|
+
layout: {ntype: 'vbox'},
|
24
|
+
/**
|
25
|
+
* @member {Object} _vdom
|
26
|
+
*/
|
27
|
+
vdom:
|
28
|
+
{cn: []} // using a div instead of a form tag
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
Neo.applyClassConfig(FormPageContainer);
|
33
|
+
|
34
|
+
export default FormPageContainer;
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import List from '../../../src/list/Base.mjs';
|
2
|
+
|
3
|
+
/**
|
4
|
+
* @class Form.view.SideNavList
|
5
|
+
* @extends Neo.list.Base
|
6
|
+
*/
|
7
|
+
class SideNavList extends List {
|
8
|
+
static config = {
|
9
|
+
/**
|
10
|
+
* @member {String} className='Form.view.SideNavList'
|
11
|
+
* @protected
|
12
|
+
*/
|
13
|
+
className: 'Form.view.SideNavList',
|
14
|
+
/**
|
15
|
+
* @member {Boolean} useHeaders=true
|
16
|
+
*/
|
17
|
+
useHeaders: true
|
18
|
+
}
|
19
|
+
|
20
|
+
/**
|
21
|
+
* Saves activeIndex & activeTitle into the closest view model
|
22
|
+
* @param {String[]} items
|
23
|
+
*/
|
24
|
+
onSelect(items) {
|
25
|
+
let me = this,
|
26
|
+
record = me.store.get(me.getItemRecordId(items[0]));
|
27
|
+
|
28
|
+
me.getModel().setData({
|
29
|
+
activeIndex: record.cardIndex,
|
30
|
+
activeTitle: record.name
|
31
|
+
})
|
32
|
+
}
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Saves the amount of non-header items into the closest view model
|
36
|
+
*/
|
37
|
+
onStoreLoad() {
|
38
|
+
let maxIndex = -1;
|
39
|
+
|
40
|
+
this.store.items.forEach(record => {
|
41
|
+
if (!record.isHeader) {
|
42
|
+
maxIndex++;
|
43
|
+
}
|
44
|
+
});
|
45
|
+
|
46
|
+
this.getModel().data.maxIndex = maxIndex;
|
47
|
+
|
48
|
+
super.onStoreLoad()
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
Neo.applyClassConfig(SideNavList);
|
53
|
+
|
54
|
+
export default SideNavList;
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import BaseViewport from '../../../src/container/Viewport.mjs';
|
2
|
+
import FormContainer from './FormContainer.mjs';
|
3
|
+
import SideNavList from './SideNavList.mjs';
|
4
|
+
import ViewportModel from './ViewportModel.mjs';
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @class Form.view.Viewport
|
8
|
+
* @extends Neo.container.Viewport
|
9
|
+
*/
|
10
|
+
class Viewport extends BaseViewport {
|
11
|
+
static config = {
|
12
|
+
/**
|
13
|
+
* @member {String} className='Form.view.Viewport'
|
14
|
+
* @protected
|
15
|
+
*/
|
16
|
+
className: 'Form.view.Viewport',
|
17
|
+
/**
|
18
|
+
* @member {Object[]} items
|
19
|
+
*/
|
20
|
+
items: [{
|
21
|
+
ntype: 'container',
|
22
|
+
width: '300',
|
23
|
+
|
24
|
+
items: [{
|
25
|
+
flex: 'none',
|
26
|
+
vdom: {tag: 'h1', innerHTML: 'My Form Header'}
|
27
|
+
}, {
|
28
|
+
module: SideNavList,
|
29
|
+
|
30
|
+
bind: {
|
31
|
+
headerlessActiveIndex: data => data.activeIndex,
|
32
|
+
store : 'stores.sideNav'
|
33
|
+
}
|
34
|
+
}]
|
35
|
+
}, {
|
36
|
+
module: FormContainer,
|
37
|
+
style : {margin: '20px'}
|
38
|
+
}],
|
39
|
+
/**
|
40
|
+
* @member {Object} layout={ntype:'hbox',align:'stretch'}
|
41
|
+
*/
|
42
|
+
layout: {ntype: 'hbox', align: 'stretch'},
|
43
|
+
/**
|
44
|
+
* @member {Neo.model.Component} model=ViewportModel
|
45
|
+
*/
|
46
|
+
model: ViewportModel
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
Neo.applyClassConfig(Viewport);
|
51
|
+
|
52
|
+
export default Viewport;
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import Component from '../../../src/model/Component.mjs';
|
2
|
+
import SideNavStore from '../store/SideNav.mjs'
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.ViewportModel
|
6
|
+
* @extends Neo.model.Component
|
7
|
+
*/
|
8
|
+
class ViewportModel extends Component {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.ViewportModel'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.ViewportModel',
|
15
|
+
/**
|
16
|
+
* @member {Object} data
|
17
|
+
*/
|
18
|
+
data: {
|
19
|
+
/**
|
20
|
+
* The currently selected list item inside the SideNavList
|
21
|
+
* @member {Number} data.activeIndex
|
22
|
+
*/
|
23
|
+
activeIndex: 0,
|
24
|
+
/**
|
25
|
+
* The name of the currently selected list item record
|
26
|
+
* @member {String} data.activeTitle
|
27
|
+
*/
|
28
|
+
activeTitle: '',
|
29
|
+
/**
|
30
|
+
* The amount of non-header SideNavList items
|
31
|
+
* @member {Number} data.maxIndex
|
32
|
+
*/
|
33
|
+
maxIndex: 0
|
34
|
+
},
|
35
|
+
/**
|
36
|
+
* @member {Object} stores
|
37
|
+
*/
|
38
|
+
stores: {
|
39
|
+
sideNav: {
|
40
|
+
module : SideNavStore,
|
41
|
+
autoLoad: true,
|
42
|
+
url : '../../resources/examples/data/formSideNav.json'
|
43
|
+
}
|
44
|
+
}
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
Neo.applyClassConfig(ViewportModel);
|
49
|
+
|
50
|
+
export default ViewportModel;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
+
import TextField from '../../../../src/form/field/Text.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page1
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page1 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page1'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page1',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : TextField,
|
20
|
+
labelText: 'Firstname',
|
21
|
+
minLength: 3,
|
22
|
+
name : 'firstname',
|
23
|
+
required : true
|
24
|
+
}, {
|
25
|
+
module : TextField,
|
26
|
+
labelText: 'Lastname',
|
27
|
+
name : 'lastname'
|
28
|
+
}]
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
Neo.applyClassConfig(Page1);
|
33
|
+
|
34
|
+
export default Page1;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
+
import TextField from '../../../../src/form/field/Text.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page10
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page10 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page10'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page10',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : TextField,
|
20
|
+
labelText: 'Page 10 Field 1',
|
21
|
+
name : 'page10field1',
|
22
|
+
required : true
|
23
|
+
}, {
|
24
|
+
module : TextField,
|
25
|
+
labelText: 'Page 10 Field 2',
|
26
|
+
name : 'page10field2'
|
27
|
+
}]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
Neo.applyClassConfig(Page10);
|
32
|
+
|
33
|
+
export default Page10;
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import DateField from '../../../../src/form/field/Date.mjs';
|
2
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page2
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page2 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page2'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page2',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : DateField,
|
20
|
+
labelText: 'Birthday',
|
21
|
+
name : 'birthday'
|
22
|
+
}]
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
Neo.applyClassConfig(Page2);
|
27
|
+
|
28
|
+
export default Page2;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
+
import TextField from '../../../../src/form/field/Text.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page3
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page3 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page3'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page3',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : TextField,
|
20
|
+
labelText: 'Page 3 Field 1',
|
21
|
+
name : 'page3field1',
|
22
|
+
required : true
|
23
|
+
}, {
|
24
|
+
module : TextField,
|
25
|
+
labelText: 'Page 3 Field 2',
|
26
|
+
name : 'page3field2'
|
27
|
+
}]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
Neo.applyClassConfig(Page3);
|
32
|
+
|
33
|
+
export default Page3;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
+
import TextField from '../../../../src/form/field/Text.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page4
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page4 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page4'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page4',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : TextField,
|
20
|
+
labelText: 'Page 4 Field 1',
|
21
|
+
name : 'page4field1',
|
22
|
+
required : true
|
23
|
+
}, {
|
24
|
+
module : TextField,
|
25
|
+
labelText: 'Page 4 Field 2',
|
26
|
+
name : 'page4field2'
|
27
|
+
}]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
Neo.applyClassConfig(Page4);
|
32
|
+
|
33
|
+
export default Page4;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
+
import TextField from '../../../../src/form/field/Text.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page5
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page5 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page5'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page5',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : TextField,
|
20
|
+
labelText: 'Page 5 Field 1',
|
21
|
+
name : 'page5field1',
|
22
|
+
required : true
|
23
|
+
}, {
|
24
|
+
module : TextField,
|
25
|
+
labelText: 'Page 5 Field 2',
|
26
|
+
name : 'page5field2'
|
27
|
+
}]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
Neo.applyClassConfig(Page5);
|
32
|
+
|
33
|
+
export default Page5;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
+
import TextField from '../../../../src/form/field/Text.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page6
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page6 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page6'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page6',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : TextField,
|
20
|
+
labelText: 'Page 6 Field 1',
|
21
|
+
name : 'page6field1',
|
22
|
+
required : true
|
23
|
+
}, {
|
24
|
+
module : TextField,
|
25
|
+
labelText: 'Page 6 Field 2',
|
26
|
+
name : 'page6field2'
|
27
|
+
}]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
Neo.applyClassConfig(Page6);
|
32
|
+
|
33
|
+
export default Page6;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
+
import TextField from '../../../../src/form/field/Text.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page7
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page7 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page7'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page7',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : TextField,
|
20
|
+
labelText: 'Page 7 Field 1',
|
21
|
+
name : 'page7field1',
|
22
|
+
required : true
|
23
|
+
}, {
|
24
|
+
module : TextField,
|
25
|
+
labelText: 'Page 7 Field 2',
|
26
|
+
name : 'page7field2'
|
27
|
+
}]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
Neo.applyClassConfig(Page7);
|
32
|
+
|
33
|
+
export default Page7;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
+
import TextField from '../../../../src/form/field/Text.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page8
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page8 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page8'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page8',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : TextField,
|
20
|
+
labelText: 'Page 8 Field 1',
|
21
|
+
name : 'page8field1',
|
22
|
+
required : true
|
23
|
+
}, {
|
24
|
+
module : TextField,
|
25
|
+
labelText: 'Page 8 Field 2',
|
26
|
+
name : 'page8field2'
|
27
|
+
}]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
Neo.applyClassConfig(Page8);
|
32
|
+
|
33
|
+
export default Page8;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import FormPageContainer from '../FormPageContainer.mjs';
|
2
|
+
import TextField from '../../../../src/form/field/Text.mjs';
|
3
|
+
|
4
|
+
/**
|
5
|
+
* @class Form.view.pages.Page9
|
6
|
+
* @extends Form.view.FormPageContainer
|
7
|
+
*/
|
8
|
+
class Page9 extends FormPageContainer {
|
9
|
+
static config = {
|
10
|
+
/**
|
11
|
+
* @member {String} className='Form.view.pages.Page9'
|
12
|
+
* @protected
|
13
|
+
*/
|
14
|
+
className: 'Form.view.pages.Page9',
|
15
|
+
/**
|
16
|
+
* @member {Object[]} items
|
17
|
+
*/
|
18
|
+
items: [{
|
19
|
+
module : TextField,
|
20
|
+
labelText: 'Page 9 Field 1',
|
21
|
+
name : 'page9field1',
|
22
|
+
required : true
|
23
|
+
}, {
|
24
|
+
module : TextField,
|
25
|
+
labelText: 'Page 9 Field 2',
|
26
|
+
name : 'page9field2'
|
27
|
+
}]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
Neo.applyClassConfig(Page9);
|
32
|
+
|
33
|
+
export default Page9;
|
@@ -584,13 +584,6 @@ if (programOpts.info) {
|
|
584
584
|
` className: '${className}'`
|
585
585
|
);
|
586
586
|
|
587
|
-
baseClass === 'container.Viewport' && addComma(classContent).push(
|
588
|
-
" /**",
|
589
|
-
" * @member {Boolean} autoMount=true",
|
590
|
-
" */",
|
591
|
-
" autoMount: true"
|
592
|
-
);
|
593
|
-
|
594
587
|
baseClass === 'table.Container' && addComma(classContent).push(
|
595
588
|
" /**",
|
596
589
|
" * @member {Object[]} columns",
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "neo.mjs",
|
3
|
-
"version": "5.1.
|
3
|
+
"version": "5.1.13",
|
4
4
|
"description": "The webworkers driven UI framework",
|
5
5
|
"type": "module",
|
6
6
|
"repository": {
|
@@ -56,7 +56,7 @@
|
|
56
56
|
"neo-jsdoc": "^1.0.1",
|
57
57
|
"neo-jsdoc-x": "^1.0.5",
|
58
58
|
"postcss": "^8.4.21",
|
59
|
-
"sass": "^1.58.
|
59
|
+
"sass": "^1.58.3",
|
60
60
|
"webpack": "^5.75.0",
|
61
61
|
"webpack-cli": "^5.0.1",
|
62
62
|
"webpack-dev-server": "4.11.1",
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"success": true,
|
3
|
+
|
4
|
+
"data": [
|
5
|
+
{"id": 1, "cardIndex": null, "isHeader": true, "name": "1. Basic data"},
|
6
|
+
{"id": 2, "cardIndex": 0, "isHeader": false, "name": "Page 1"},
|
7
|
+
{"id": 3, "cardIndex": 1, "isHeader": false, "name": "Page 2"},
|
8
|
+
{"id": 4, "cardIndex": 2, "isHeader": false, "name": "Page 3"},
|
9
|
+
{"id": 5, "cardIndex": null, "isHeader": true, "name": "2. Personal data"},
|
10
|
+
{"id": 6, "cardIndex": 3, "isHeader": false, "name": "Page 4"},
|
11
|
+
{"id": 7, "cardIndex": 4, "isHeader": false, "name": "Page 5"},
|
12
|
+
{"id": 8, "cardIndex": 5, "isHeader": false, "name": "Page 6"},
|
13
|
+
{"id": 9, "cardIndex": 6, "isHeader": false, "name": "Page 7"},
|
14
|
+
{"id": 10, "cardIndex": null, "isHeader": true, "name": "3. More data"},
|
15
|
+
{"id": 11, "cardIndex": 7, "isHeader": false, "name": "Page 8"},
|
16
|
+
{"id": 12, "cardIndex": 8, "isHeader": false, "name": "Page 9"},
|
17
|
+
{"id": 13, "cardIndex": 9, "isHeader": false, "name": "Page 10"}
|
18
|
+
]
|
19
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
.form-form-container.neo-container {
|
2
|
+
border : 1px solid #ddd;
|
3
|
+
border-radius: 5px;
|
4
|
+
|
5
|
+
.form-footer {
|
6
|
+
border-top: 1px solid #ddd;
|
7
|
+
min-height: 50px;
|
8
|
+
padding : .5em 1em;
|
9
|
+
}
|
10
|
+
|
11
|
+
.form-header {
|
12
|
+
align-items : center;
|
13
|
+
border-bottom: 1px solid #ddd;
|
14
|
+
display : flex;
|
15
|
+
min-height : 50px;
|
16
|
+
padding : .5em 1em;
|
17
|
+
}
|
18
|
+
|
19
|
+
.form-header-label {
|
20
|
+
font-size: 24px;
|
21
|
+
}
|
22
|
+
}
|
package/src/DefaultConfig.mjs
CHANGED
@@ -237,12 +237,12 @@ const DefaultConfig = {
|
|
237
237
|
useVdomWorker: true,
|
238
238
|
/**
|
239
239
|
* buildScripts/injectPackageVersion.mjs will update this value
|
240
|
-
* @default '5.1.
|
240
|
+
* @default '5.1.13'
|
241
241
|
* @memberOf! module:Neo
|
242
242
|
* @name config.version
|
243
243
|
* @type String
|
244
244
|
*/
|
245
|
-
version: '5.1.
|
245
|
+
version: '5.1.13'
|
246
246
|
};
|
247
247
|
|
248
248
|
Object.assign(DefaultConfig, {
|