neo.mjs 6.13.0 → 6.15.0

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.
Files changed (78) hide show
  1. package/apps/ServiceWorker.mjs +2 -2
  2. package/apps/covid/neo-config.json +1 -1
  3. package/apps/covid/view/HeaderContainer.mjs +2 -2
  4. package/apps/form/view/pages/Page10.mjs +2 -2
  5. package/apps/portal/view/ViewportController.mjs +5 -4
  6. package/apps/portal/view/home/ContentBox.mjs +80 -0
  7. package/apps/portal/view/home/MainContainer.mjs +51 -15
  8. package/apps/portal/view/learn/ContentTreeList.mjs +10 -3
  9. package/apps/portal/view/learn/MainContainerController.mjs +37 -5
  10. package/apps/portal/view/learn/MainContainerModel.mjs +51 -7
  11. package/apps/portal/view/learn/PageContainer.mjs +21 -9
  12. package/apps/sharedcovid/neo-config.json +1 -1
  13. package/apps/sharedcovid/view/HeaderContainer.mjs +2 -2
  14. package/examples/ServiceWorker.mjs +2 -2
  15. package/examples/button/base/MainContainer.mjs +2 -2
  16. package/examples/button/split/MainContainer.mjs +2 -2
  17. package/examples/component/process/MainContainer.mjs +3 -3
  18. package/examples/component/process/realWorldExample/MainContainer.mjs +15 -15
  19. package/examples/component/toast/MainContainer.mjs +4 -4
  20. package/examples/dialog/DemoDialog.mjs +4 -4
  21. package/examples/fieldWithPrefix/MainContainer.mjs +4 -5
  22. package/examples/form/field/{select → combobox}/MainContainer.mjs +7 -10
  23. package/examples/form/field/{select → combobox}/MainModel.mjs +4 -4
  24. package/examples/form/field/{select → combobox}/MainStore.mjs +2 -2
  25. package/examples/form/field/{select → combobox}/app.mjs +1 -1
  26. package/examples/form/field/{select → combobox}/index.html +1 -1
  27. package/examples/form/field/{select → combobox}/neo-config.json +1 -1
  28. package/examples/tableFiltering/MainContainer.mjs +2 -2
  29. package/package.json +4 -4
  30. package/resources/data/deck/learnneo/pages/2023-10-14T19-25-08-153Z.md +16 -1
  31. package/resources/data/deck/learnneo/pages/ComponentsAndContainers.md +180 -0
  32. package/resources/data/deck/learnneo/pages/Config.md +11 -4
  33. package/resources/data/deck/learnneo/pages/DescribingTheUI.md +6 -0
  34. package/resources/data/deck/learnneo/pages/Earthquakes.md +36 -9
  35. package/resources/data/deck/learnneo/pages/Events.md +55 -43
  36. package/resources/data/deck/learnneo/pages/GuideEvents.md +9 -8
  37. package/resources/data/deck/learnneo/pages/References.md +14 -7
  38. package/resources/data/deck/learnneo/pages/TodoList.md +241 -0
  39. package/resources/data/deck/learnneo/pages/WhyNeo-Quick.md +6 -11
  40. package/resources/data/deck/learnneo/tree.json +2 -0
  41. package/resources/scss/src/apps/portal/home/ContentBox.scss +26 -0
  42. package/resources/scss/src/apps/portal/home/MainContainer.scss +4 -12
  43. package/resources/scss/src/apps/portal/learn/MainContainer.scss +0 -7
  44. package/resources/scss/src/apps/portal/learn/PageContainer.scss +35 -0
  45. package/resources/scss/src/apps/portal/learn/PageSectionsPanel.scss +8 -0
  46. package/resources/scss/src/form/field/{Select.scss → ComboBox.scss} +8 -8
  47. package/resources/scss/theme-dark/form/field/ComboBox.scss +9 -0
  48. package/resources/scss/theme-light/form/field/ComboBox.scss +9 -0
  49. package/resources/scss/theme-neo-light/form/field/ComboBox.scss +9 -0
  50. package/src/DefaultConfig.mjs +2 -2
  51. package/src/component/Base.mjs +16 -1
  52. package/src/container/Viewport.mjs +5 -2
  53. package/src/controller/Application.mjs +12 -1
  54. package/src/controller/Base.mjs +15 -4
  55. package/src/controller/Component.mjs +5 -1
  56. package/src/core/Observable.mjs +62 -22
  57. package/src/form/field/Base.mjs +21 -9
  58. package/src/form/field/Chip.mjs +3 -3
  59. package/src/form/field/Color.mjs +3 -3
  60. package/src/form/field/{Select.mjs → ComboBox.mjs} +179 -130
  61. package/src/form/field/Country.mjs +3 -3
  62. package/src/form/field/Text.mjs +7 -10
  63. package/src/form/field/_export.mjs +2 -2
  64. package/src/main/DomEvents.mjs +2 -1
  65. package/src/main/addon/MonacoEditor.mjs +2 -2
  66. package/src/main/addon/Navigator.mjs +27 -24
  67. package/src/selection/ListModel.mjs +13 -14
  68. package/src/selection/Model.mjs +10 -10
  69. package/src/toolbar/Paging.mjs +2 -2
  70. package/src/util/HashHistory.mjs +1 -0
  71. package/src/worker/App.mjs +5 -1
  72. package/src/worker/Manager.mjs +14 -7
  73. package/test/components/app.mjs +1 -1
  74. package/test/components/files/form/field/{Select.mjs → ComboBox.mjs} +9 -7
  75. package/test/components/siesta.js +1 -1
  76. package/resources/scss/theme-dark/form/field/Select.scss +0 -9
  77. package/resources/scss/theme-light/form/field/Select.scss +0 -9
  78. package/resources/scss/theme-neo-light/form/field/Select.scss +0 -9
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='6.12.1'
23
+ * @member {String} version='6.15.0'
24
24
  */
25
- version: '6.12.1'
25
+ version: '6.15.0'
26
26
  }
27
27
 
28
28
  /**
@@ -3,6 +3,6 @@
3
3
  "basePath" : "../../",
4
4
  "environment" : "development",
5
5
  "mainPath" : "./Main.mjs",
6
- "mainThreadAddons": ["AmCharts", "DragDrop", "MapboxGL", "Stylesheet"],
6
+ "mainThreadAddons": ["AmCharts", "DragDrop", "MapboxGL", "Navigator", "Stylesheet"],
7
7
  "themes" : ["neo-theme-dark", "neo-theme-light"]
8
8
  }
@@ -1,6 +1,6 @@
1
+ import ComboBox from '../../../src/form/field/ComboBox.mjs';
1
2
  import Container from '../../../src/container/Base.mjs';
2
3
  import CountryStore from '../store/Countries.mjs';
3
- import SelectField from '../../../src/form/field/Select.mjs';
4
4
 
5
5
  /**
6
6
  * @class Covid.view.HeaderContainer
@@ -116,7 +116,7 @@ class HeaderContainer extends Container {
116
116
  },
117
117
 
118
118
  items : [{
119
- module : SelectField,
119
+ module : ComboBox,
120
120
  displayField : 'country',
121
121
  flex : 'none',
122
122
  height : 25,
@@ -1,5 +1,5 @@
1
+ import ComboBox from '../../../../src/form/field/ComboBox.mjs';
1
2
  import FormPageContainer from '../FormPageContainer.mjs';
2
- import SelectField from '../../../../src/form/field/Select.mjs';
3
3
 
4
4
  /**
5
5
  * @class Form.view.pages.Page10
@@ -16,7 +16,7 @@ class Page10 extends FormPageContainer {
16
16
  * @member {Object[]} items
17
17
  */
18
18
  items: [{
19
- module : SelectField,
19
+ module : ComboBox,
20
20
  editable : false,
21
21
  labelText: 'Page 10 Field 1',
22
22
  name : 'page10field1',
@@ -19,10 +19,11 @@ class ViewportController extends Controller {
19
19
  * @member {Object} routes
20
20
  */
21
21
  routes: {
22
- '/blog' : 'onBlogRoute',
23
- '/docs' : 'onDocsRoute',
24
- '/home' : 'onHomeRoute',
25
- '/learn': 'onLearnRoute'
22
+ '/blog' : 'onBlogRoute',
23
+ '/docs' : 'onDocsRoute',
24
+ '/home' : 'onHomeRoute',
25
+ '/learn' : 'onLearnRoute',
26
+ '/learn/{itemId}': 'onLearnRoute'
26
27
  }
27
28
  }
28
29
 
@@ -0,0 +1,80 @@
1
+ import Base from '../../../../src/component/Base.mjs';
2
+
3
+ /**
4
+ * @class Portal.view.home.ContentBox
5
+ * @extends Neo.component.Base
6
+ */
7
+ class ContentBox extends Base {
8
+ static config = {
9
+ /**
10
+ * @member {String} className='Portal.view.home.ContentBox'
11
+ * @protected
12
+ */
13
+ className: 'Portal.view.home.ContentBox',
14
+ /**
15
+ * @member {String[]} baseCls=['portal-content-box']
16
+ * @protected
17
+ */
18
+ baseCls: ['portal-content-box'],
19
+ /**
20
+ * @member {String[]|null} content_=null
21
+ */
22
+ content_: null,
23
+ /**
24
+ * @member {String|null} header_=null
25
+ */
26
+ header_: null,
27
+ /**
28
+ * @member {String|null} route_=null
29
+ */
30
+ route_: null,
31
+ /**
32
+ * @member {Object} _vdom
33
+ */
34
+ _vdom:
35
+ {tag: 'a', cn: [
36
+ {tag: 'h3', cls: ['portal-content-box-headline']},
37
+ {tag: 'ul', cls: ['portal-content-box-content'], cn: []}
38
+ ]}
39
+ }
40
+
41
+ /**
42
+ * Triggered after the content config got changed
43
+ * @param {String[]|null} value
44
+ * @param {String[]|null} oldValue
45
+ * @protected
46
+ */
47
+ afterSetContent(value, oldValue) {
48
+ value?.forEach(item => {
49
+ this.vdom.cn[1].cn.push({tag: 'li', html: item})
50
+ })
51
+
52
+ this.update()
53
+ }
54
+
55
+ /**
56
+ * Triggered after the header config got changed
57
+ * @param {String|null} value
58
+ * @param {String|null} oldValue
59
+ * @protected
60
+ */
61
+ afterSetHeader(value, oldValue) {
62
+ this.vdom.cn[0].html = value;
63
+ this.update()
64
+ }
65
+
66
+ /**
67
+ * Triggered after the route config got changed
68
+ * @param {String|null} value
69
+ * @param {String|null} oldValue
70
+ * @protected
71
+ */
72
+ afterSetRoute(value, oldValue) {
73
+ this.vdom.href = value;
74
+ this.update()
75
+ }
76
+ }
77
+
78
+ Neo.setupClass(ContentBox);
79
+
80
+ export default ContentBox;
@@ -1,5 +1,6 @@
1
- import Button from '../../../../src/button/Base.mjs';
2
- import Container from '../../../../src/container/Base.mjs';
1
+ import Button from '../../../../src/button/Base.mjs';
2
+ import Container from '../../../../src/container/Base.mjs';
3
+ import ContentBox from './ContentBox.mjs';
3
4
 
4
5
  /**
5
6
  * @class Portal.view.home.MainContainer
@@ -16,13 +17,16 @@ class Viewport extends Container {
16
17
  * @member {String[]} cls=['newwebsite-viewport']
17
18
  */
18
19
  cls: ['newwebsite-viewport'],
20
+ /**
21
+ * @member {Object} layout={ntype:'vbox',align:'center',pack:'center'}
22
+ */
23
+ layout: {ntype: 'vbox', align: 'center', pack: 'center'},
19
24
  /**
20
25
  * @member {Object[]} items
21
26
  */
22
27
  items: [{
23
- module: Container,
24
- cls : ['vector'],
25
- flex : 'none'
28
+ cls : ['vector'],
29
+ flex : 'none'
26
30
  }, {
27
31
  cls : 'neo-h1',
28
32
  flex: 'none',
@@ -31,23 +35,55 @@ class Viewport extends Container {
31
35
  module: Container,
32
36
  cls : ['button-group'],
33
37
  flex : 'none',
38
+ layout: {ntype: 'hbox'},
34
39
 
35
40
  items: [{
36
- module : Button,
37
- cls : 'get-started-button',
38
- text : 'Get started',
39
- flex : 'none',
40
- tooltip: {
41
- text : 'Coming soon',
42
- showDelay: 0,
43
- hideDelay: 0
44
- }
45
- }, {
46
41
  module: Button,
47
42
  flex : 'none',
48
43
  text : 'View on GitHub',
49
44
  ui : 'secondary',
50
45
  url : 'https://github.com/neomjs/neo'
46
+ }, {
47
+ module: Button,
48
+ flex : 'none',
49
+ text : 'Get started',
50
+ route : '/learn'
51
+ }]
52
+ }, {
53
+ module: Container,
54
+ flex : '1 0 auto',
55
+ layout: {ntype: 'hbox', align: 'stretch'},
56
+
57
+ items: [{
58
+ module: ContentBox,
59
+ header: 'Quick Application Development',
60
+ route : '#/learn/WhyNeo-Quick',
61
+
62
+ content: [
63
+ 'Property lifecycle hooks',
64
+ 'Elegant state management',
65
+ 'Simple and powerful debugging'
66
+ ]
67
+ }, {
68
+ module: ContentBox,
69
+ header: 'Extreme Speed',
70
+ route : '#/learn/WhyNeo-Speed',
71
+
72
+ content: [
73
+ 'Item 1',
74
+ 'Item 2',
75
+ 'Item 3'
76
+ ]
77
+ }, {
78
+ module: ContentBox,
79
+ header: 'Multi Window Apps',
80
+ route : '#/learn/WhyNeo-Multi-Window',
81
+
82
+ content: [
83
+ 'Item 1',
84
+ 'Item 2',
85
+ 'Item 3'
86
+ ]
51
87
  }]
52
88
  }]
53
89
  }
@@ -51,8 +51,11 @@ class ContentTreeList extends TreeList {
51
51
  * @param {Object} value
52
52
  * @param {Object} oldValue
53
53
  */
54
- afterSetCurrentPageRecord(value, oldValue) {
55
- value && this.selectionModel.select(value)
54
+ async afterSetCurrentPageRecord(value, oldValue) {
55
+ if (value) {
56
+ await this.timeout(20);
57
+ this.selectionModel.select(value)
58
+ }
56
59
  }
57
60
 
58
61
  /**
@@ -77,7 +80,11 @@ class ContentTreeList extends TreeList {
77
80
  */
78
81
  onLeafItemClick(record) {
79
82
  super.onLeafItemClick(record);
80
- this.getModel().data.currentPageRecord = record
83
+
84
+ Neo.Main.setRoute({
85
+ value : `/learn/${record.id}`,
86
+ windowId: this.windowId
87
+ })
81
88
  }
82
89
  }
83
90
 
@@ -10,7 +10,13 @@ class MainContainerController extends Controller {
10
10
  * @member {String} className='Portal.view.learn.MainContainerController'
11
11
  * @protected
12
12
  */
13
- className: 'Portal.view.learn.MainContainerController'
13
+ className: 'Portal.view.learn.MainContainerController',
14
+ /**
15
+ * @member {Object} routes
16
+ */
17
+ routes: {
18
+ '/learn/{itemId}': 'onRouteLearnItem'
19
+ }
14
20
  }
15
21
 
16
22
  /**
@@ -48,6 +54,16 @@ class MainContainerController extends Controller {
48
54
  return searchString ? JSON.parse(`{"${decodeURI(searchString.replace(/&/g, "\",\"").replace(/=/g, "\":\""))}"}`) : {}
49
55
  }
50
56
 
57
+ /**
58
+ * @param {String} learnItem
59
+ */
60
+ navigateTo(learnItem) {
61
+ Neo.Main.setRoute({
62
+ value : `/learn/${learnItem}`,
63
+ windowId: this.component.windowId
64
+ })
65
+ }
66
+
51
67
  /**
52
68
  * @param {Object} data
53
69
  * @param {String} data.appName
@@ -177,16 +193,32 @@ class MainContainerController extends Controller {
177
193
  * @param {Object} data
178
194
  */
179
195
  onNextPageButtonClick(data) {
180
- let model = this.getModel();
181
- model.setData('currentPageRecord', model.getData('nextPageRecord'))
196
+ this.navigateTo(this.getModel().getData('nextPageRecord').id)
182
197
  }
183
198
 
184
199
  /**
185
200
  * @param {Object} data
186
201
  */
187
202
  onPreviousPageButtonClick(data) {
188
- let model = this.getModel();
189
- model.setData('currentPageRecord', model.getData('previousPageRecord'))
203
+ this.navigateTo(this.getModel().getData('previousPageRecord').id)
204
+ }
205
+
206
+ /**
207
+ * @param {Object} data
208
+ */
209
+ onRouteLearnItem(data) {
210
+ let model = this.getModel(),
211
+ store = model.getStore('contentTree');
212
+
213
+ if (store.getCount() > 0) {
214
+ model.data.currentPageRecord = store.get(data.itemId)
215
+ } else {
216
+ store.on({
217
+ load : () => {model.data.currentPageRecord = store.get(data.itemId)},
218
+ delay: 10,
219
+ once : true
220
+ })
221
+ }
190
222
  }
191
223
  }
192
224
 
@@ -40,14 +40,19 @@ class MainContainerModel extends Component {
40
40
  deck: null,
41
41
  /**
42
42
  * The record which gets shown as the content page
43
- * @member {Object} data.currentRecord=null
43
+ * @member {Object} data.nextPageRecord=null
44
44
  */
45
45
  nextPageRecord: null,
46
46
  /**
47
47
  * The record which gets shown as the content page
48
- * @member {Object} data.currentRecord=null
48
+ * @member {Object} data.previousPageRecord=null
49
49
  */
50
- previousPageRecord: null
50
+ previousPageRecord: null,
51
+ /**
52
+ * Merging the direct parent text
53
+ * @member {String|null} data.previousPageText=null
54
+ */
55
+ previousPageText: null
51
56
  },
52
57
  /**
53
58
  * @member {Object} stores
@@ -62,6 +67,22 @@ class MainContainerModel extends Component {
62
67
  }
63
68
  }
64
69
 
70
+ /**
71
+ * Combines the record parent node name (if available) with the record name
72
+ * @param {Object} record
73
+ * @param {Neo.data.Store} store
74
+ * @returns {String|null}
75
+ */
76
+ getRecordTreeName(record, store) {
77
+ let parentText = record.name;
78
+
79
+ if (record.parentId !== null) {
80
+ parentText = store.get(record.parentId).name + ': ' + parentText
81
+ }
82
+
83
+ return parentText
84
+ }
85
+
65
86
  /**
66
87
  * @param {String} key
67
88
  * @param {*} value
@@ -79,32 +100,36 @@ class MainContainerModel extends Component {
79
100
  store = me.getStore('contentTree'),
80
101
  index = store.indexOf(value),
81
102
  nextPageRecord = null,
103
+ nextPageText = null,
82
104
  previousPageRecord = null,
105
+ previousPageText = null,
83
106
  i, record;
84
107
 
85
108
  // the logic assumes that the tree store is sorted
86
109
  for (i=index-1; i >= 0; i--) {
87
110
  record = store.getAt(i);
88
111
 
89
- if (record.isLeaf) {
112
+ if (record.isLeaf && !me.recordIsHidden(record, store)) {
90
113
  previousPageRecord = record;
114
+ previousPageText = me.getRecordTreeName(record, store);
91
115
  break
92
116
  }
93
117
  }
94
118
 
95
- me.setData({previousPageRecord});
119
+ me.setData({previousPageText, previousPageRecord});
96
120
 
97
121
  // the logic assumes that the tree store is sorted
98
122
  for (i=index+1; i < countPages; i++) {
99
123
  record = store.getAt(i);
100
124
 
101
- if (record.isLeaf) {
125
+ if (record.isLeaf && !me.recordIsHidden(record, store)) {
102
126
  nextPageRecord = record;
127
+ nextPageText = me.getRecordTreeName(record, store);
103
128
  break
104
129
  }
105
130
  }
106
131
 
107
- me.setData({nextPageRecord});
132
+ me.setData({nextPageText, nextPageRecord});
108
133
 
109
134
  break
110
135
  }
@@ -118,6 +143,25 @@ class MainContainerModel extends Component {
118
143
  }
119
144
  }
120
145
  }
146
+
147
+ /**
148
+ * We need to check the parent-node chain inside the tree.
149
+ * => Any hidden parent-node results in a hidden record.
150
+ * @param {Object} record
151
+ * @param {Neo.data.Store} store
152
+ * @returns {Boolean}
153
+ */
154
+ recordIsHidden(record, store) {
155
+ if (record.hidden) {
156
+ return true
157
+ }
158
+
159
+ if (record.parentId !== null) {
160
+ return this.recordIsHidden(store.get(record.parentId), store)
161
+ }
162
+
163
+ return false
164
+ }
121
165
  }
122
166
 
123
167
  Neo.setupClass(MainContainerModel);
@@ -38,14 +38,22 @@ class PageContainer extends Container {
38
38
  }, {
39
39
  module: Toolbar,
40
40
  flex : 'none',
41
+ cls : 'content-bottom-toolbar',
41
42
  items : [{
43
+ cls : ['content-bottom-toolbar-previous'],
42
44
  handler : 'onPreviousPageButtonClick',
43
45
  hidden : true,
44
- reference: 'prev-page-button'
45
- }, '->', {
46
- handler : 'onNextPageButtonClick',
47
- hidden : true,
48
- reference: 'next-page-button'
46
+ iconCls : 'fa fa-chevron-left',
47
+ reference: 'prev-page-button',
48
+ ui : 'secondary'
49
+ }, {
50
+ cls : ['content-bottom-toolbar-next'],
51
+ handler : 'onNextPageButtonClick',
52
+ hidden : true,
53
+ iconCls : 'fa fa-chevron-right',
54
+ iconPosition: 'right',
55
+ reference : 'next-page-button',
56
+ ui : 'secondary'
49
57
  }]
50
58
  }],
51
59
  /**
@@ -81,10 +89,12 @@ class PageContainer extends Container {
81
89
  */
82
90
  afterSetNextPageRecord(value, oldValue) {
83
91
  if (oldValue !== undefined) {
92
+ let me = this;
93
+
84
94
  if (value) {
85
- this.nextPageButton.set({hidden: false, text: value.name})
95
+ me.nextPageButton.set({hidden: false, text: me.getModel().getData('nextPageText')})
86
96
  } else {
87
- this.nextPageButton.hidden = true
97
+ me.nextPageButton.hidden = true
88
98
  }
89
99
  }
90
100
  }
@@ -96,10 +106,12 @@ class PageContainer extends Container {
96
106
  */
97
107
  afterSetPreviousPageRecord(value, oldValue) {
98
108
  if (oldValue !== undefined) {
109
+ let me = this;
110
+
99
111
  if (value) {
100
- this.prevPageButton.set({hidden: false, text: value.name})
112
+ me.prevPageButton.set({hidden: false, text: me.getModel().getData('previousPageText')})
101
113
  } else {
102
- this.prevPageButton.hidden = true
114
+ me.prevPageButton.hidden = true
103
115
  }
104
116
  }
105
117
  }
@@ -3,7 +3,7 @@
3
3
  "basePath" : "../../",
4
4
  "environment" : "development",
5
5
  "mainPath" : "./Main.mjs",
6
- "mainThreadAddons": ["AmCharts", "DragDrop", "MapboxGL", "Stylesheet"],
6
+ "mainThreadAddons": ["AmCharts", "DragDrop", "MapboxGL", "Navigator", "Stylesheet"],
7
7
  "themes" : ["neo-theme-dark", "neo-theme-light"],
8
8
  "useSharedWorkers": true
9
9
  }
@@ -1,6 +1,6 @@
1
+ import ComboBox from '../../../src/form/field/ComboBox.mjs';
1
2
  import Container from '../../../src/container/Base.mjs';
2
3
  import CountryStore from '../store/Countries.mjs';
3
- import SelectField from '../../../src/form/field/Select.mjs';
4
4
 
5
5
  /**
6
6
  * @class SharedCovid.view.HeaderContainer
@@ -124,7 +124,7 @@ class HeaderContainer extends Container {
124
124
  },
125
125
 
126
126
  items : [{
127
- module : SelectField,
127
+ module : ComboBox,
128
128
  displayField : 'country',
129
129
  flex : 'none',
130
130
  height : 25,
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='6.12.1'
23
+ * @member {String} version='6.15.0'
24
24
  */
25
- version: '6.12.1'
25
+ version: '6.15.0'
26
26
  }
27
27
 
28
28
  /**
@@ -1,9 +1,9 @@
1
1
  import Button from '../../../src/button/Base.mjs';
2
2
  import CheckBox from '../../../src/form/field/CheckBox.mjs';
3
+ import ComboBox from '../../../src/form/field/ComboBox.mjs';
3
4
  import ConfigurationViewport from '../../ConfigurationViewport.mjs';
4
5
  import NumberField from '../../../src/form/field/Number.mjs';
5
6
  import Radio from '../../../src/form/field/Radio.mjs';
6
- import SelectField from '../../../src/form/field/Select.mjs';
7
7
  import TextField from '../../../src/form/field/Text.mjs';
8
8
 
9
9
  /**
@@ -137,7 +137,7 @@ class MainContainer extends ConfigurationViewport {
137
137
  style : {marginTop: '10px'},
138
138
  value : me.exampleComponent.text
139
139
  }, {
140
- module : SelectField,
140
+ module : ComboBox,
141
141
  forceSelection: true,
142
142
  labelText : 'ui',
143
143
  listeners : {change: me.onConfigChange.bind(me, 'ui')},
@@ -1,8 +1,8 @@
1
1
  import CheckBox from '../../../src/form/field/CheckBox.mjs';
2
+ import ComboBox from '../../../src/form/field/ComboBox.mjs';
2
3
  import ConfigurationViewport from '../../ConfigurationViewport.mjs';
3
4
  import Radio from '../../../src/form/field/Radio.mjs';
4
5
  import NumberField from '../../../src/form/field/Number.mjs';
5
- import SelectField from '../../../src/form/field/Select.mjs';
6
6
  import SplitButton from '../../../src/button/Split.mjs';
7
7
  import TextField from '../../../src/form/field/Text.mjs';
8
8
 
@@ -89,7 +89,7 @@ class MainContainer extends ConfigurationViewport {
89
89
  style : {marginTop: '10px'},
90
90
  value : me.exampleComponent.text
91
91
  }, {
92
- module : SelectField,
92
+ module : ComboBox,
93
93
  forceSelection: true,
94
94
  labelText : 'ui',
95
95
  listeners : {change: me.onConfigChange.bind(me, 'ui')},
@@ -1,8 +1,8 @@
1
+ import CheckBox from '../../../src/form/field/CheckBox.mjs';
2
+ import ColorField from '../../../src/form/field/Color.mjs';
1
3
  import ConfigurationViewport from '../../ConfigurationViewport.mjs';
2
- import Process from '../../../src/component/Process.mjs';
3
4
  import Container from '../../../src/container/Base.mjs';
4
- import CheckBox from "../../../src/form/field/CheckBox.mjs";
5
- import ColorField from "../../../src/form/field/Color.mjs"
5
+ import Process from '../../../src/component/Process.mjs';
6
6
 
7
7
  /**
8
8
  * @class Neo.examples.component.process.MainContainer
@@ -1,15 +1,15 @@
1
- import Button from "../../../../src/button/Base.mjs";
2
- import CheckBox from "../../../../src/form/field/CheckBox.mjs";
1
+ import Button from '../../../../src/button/Base.mjs';
2
+ import CheckBox from '../../../../src/form/field/CheckBox.mjs';
3
3
  import ConfigurationViewport from '../../../ConfigurationViewport.mjs';
4
+ import ComboBox from '../../../../src/form/field/ComboBox.mjs';
4
5
  import Component from '../../../../src/component/Base.mjs';
5
6
  import Container from '../../../../src/container/Base.mjs';
6
- import DisplayField from "../../../../src/form/field/Display.mjs"
7
- import Form from "../../../../src/form/Container.mjs"
8
- import NumberField from "../../../../src/form/field/Number.mjs"
7
+ import DisplayField from '../../../../src/form/field/Display.mjs';
8
+ import Form from '../../../../src/form/Container.mjs';
9
+ import NumberField from '../../../../src/form/field/Number.mjs';
9
10
  import Process from '../../../../src/component/Process.mjs';
10
- import RangeField from "../../../../src/form/field/Range.mjs"
11
- import SelectField from "../../../../src/form/field/Select.mjs";
12
- import TextField from "../../../../src/form/field/Text.mjs"
11
+ import RangeField from '../../../../src/form/field/Range.mjs';
12
+ import TextField from '../../../../src/form/field/Text.mjs';
13
13
  import Toast from '../../../../src/component/Toast.mjs';
14
14
 
15
15
  /**
@@ -188,22 +188,22 @@ class MainContainer extends ConfigurationViewport {
188
188
  value : 20
189
189
  },
190
190
  items : [{
191
- module : SelectField,
191
+ module : ComboBox,
192
192
  displayField: 'name',
193
193
  labelText : 'Fahrstil',
194
194
  value : 'normal',
195
195
 
196
196
  store: {
197
197
  data : [
198
- {style: 'sportStyle', name: 'sport', code: 'sportCode'},
199
- {style: 'nomalStyle', name: 'normal', code: 'normalCode'},
200
- {style: 'ecoStyle', name: 'eco', code: 'ecoCode'},
198
+ {style: 'sportStyle', name: 'sport', code: 'sportCode'},
199
+ {style: 'normalStyle', name: 'normal', code: 'normalCode'},
200
+ {style: 'ecoStyle', name: 'eco', code: 'ecoCode'},
201
201
  ],
202
202
  model: {
203
203
  fields: [
204
- {name: 'style', type: 'string'},
205
- {name: 'name', type: 'string'},
206
- {name: 'code', type: 'string'}
204
+ {name: 'style', type: 'String'},
205
+ {name: 'name', type: 'String'},
206
+ {name: 'code', type: 'String'}
207
207
  ]
208
208
  }
209
209
  }