Skip to content

Commit de16567

Browse files
committed
Form.view.ViewportModel #4082
1 parent 04ef3a6 commit de16567

4 files changed

Lines changed: 61 additions & 18 deletions

File tree

apps/form/store/SideNav.mjs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,10 @@ class SideNav extends Store {
1212
* @protected
1313
*/
1414
className: 'Form.store.SideNav',
15-
/**
16-
* @member {Boolean} autoLoad=true
17-
*/
18-
autoLoad: true,
1915
/**
2016
* @member {Neo.data.Model} model=SideNavModel
2117
*/
22-
model: SideNavModel,
23-
/**
24-
* @member {String} url='../../resources/examples/data/formSideNav.json'
25-
*/
26-
url: '../../resources/examples/data/formSideNav.json'
18+
model: SideNavModel
2719
}
2820
}
2921

apps/form/view/SideNavList.mjs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import List from '../../../src/list/Base.mjs';
2-
import SideNavStore from '../store/SideNav.mjs'
1+
import List from '../../../src/list/Base.mjs';
32

43
/**
54
* @class Form.view.SideNavList
@@ -12,10 +11,6 @@ class SideNavList extends List {
1211
* @protected
1312
*/
1413
className: 'Form.view.SideNavList',
15-
/**
16-
* @member {Neo.data.Store} store=SideNavStore
17-
*/
18-
store: SideNavStore,
1914
/**
2015
* @member {Boolean} useHeaders=true
2116
*/

apps/form/view/Viewport.mjs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import BaseViewport from '../../../src/container/Viewport.mjs';
2-
import SideNavList from './SideNavList.mjs';
1+
import BaseViewport from '../../../src/container/Viewport.mjs';
2+
import SideNavList from './SideNavList.mjs';
3+
import ViewportModel from './ViewportModel.mjs';
34

45
/**
56
* @class Form.view.Viewport
@@ -23,7 +24,8 @@ class Viewport extends BaseViewport {
2324
flex: 'none',
2425
vdom: {tag: 'h1', innerHTML: 'My Form Header'}
2526
}, {
26-
module: SideNavList
27+
module: SideNavList,
28+
bind : {store: 'stores.sideNav'}
2729
}]
2830
}, {
2931
ntype: 'container',
@@ -33,6 +35,10 @@ class Viewport extends BaseViewport {
3335
* @member {Object} layout={ntype:'hbox',align:'stretch'}
3436
*/
3537
layout: {ntype: 'hbox', align: 'stretch'},
38+
/**
39+
* @member {Neo.model.Component} model=ViewportModel
40+
*/
41+
model: ViewportModel,
3642
/**
3743
* @member {Object} style={padding:'20px'}
3844
*/

apps/form/view/ViewportModel.mjs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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 commit comments

Comments
 (0)