neo.mjs 8.34.0 → 8.35.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.
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='8.34.0'
23
+ * @member {String} version='8.35.0'
24
24
  */
25
- version: '8.34.0'
25
+ version: '8.35.0'
26
26
  }
27
27
 
28
28
  /**
@@ -1,5 +1,6 @@
1
1
  import BaseViewport from '../../../src/container/Viewport.mjs';
2
2
  import GridContainer from './GridContainer.mjs';
3
+ import Toolbar from '../../../src/toolbar/Base.mjs';
3
4
  import ViewportController from './ViewportController.mjs';
4
5
  import ViewportStateProvider from './ViewportStateProvider.mjs';
5
6
 
@@ -18,17 +19,10 @@ class Viewport extends BaseViewport {
18
19
  * @member {Neo.controller.Component} controller=ViewportController
19
20
  */
20
21
  controller: ViewportController,
21
- /**
22
- * @member {Object[]} items
23
- */
24
- items: [{
25
- module : GridContainer,
26
- reference: 'grid'
27
- }],
28
22
  /*
29
- * @member {Object} layout={ntype:'fit'}
23
+ * @member {Object} layout={ntype:'vbox',align:'stretch'}
30
24
  */
31
- layout: {ntype: 'fit'},
25
+ layout: {ntype: 'vbox', align: 'stretch'},
32
26
  /**
33
27
  * @member {Neo.state.Provider} stateProvider=ViewportStateProvider
34
28
  */
@@ -36,7 +30,30 @@ class Viewport extends BaseViewport {
36
30
  /**
37
31
  * @member {Object} style
38
32
  */
39
- style: {padding: '2em'}
33
+ style: {padding: '1.5em'},
34
+ /**
35
+ * @member {Object[]} items
36
+ */
37
+ items: [{
38
+ module: Toolbar,
39
+ flex : 'none',
40
+ style : {marginBottom: '1.5em'},
41
+
42
+ items : [{
43
+ disabled : true,
44
+ handler : 'onStartButtonClick',
45
+ reference: 'start-button',
46
+ text : 'Start'
47
+ }, {
48
+ handler : 'onStopButtonClick',
49
+ reference: 'stop-button',
50
+ style : {marginLeft: '.3em'},
51
+ text : 'Stop'
52
+ }]
53
+ }, {
54
+ module : GridContainer,
55
+ reference: 'grid'
56
+ }]
40
57
  }
41
58
  }
42
59
 
@@ -13,18 +13,18 @@ class ViewportController extends Controller {
13
13
  className: 'Finance.view.ViewportController'
14
14
  }
15
15
 
16
- generateData() {
17
- let me = this,
18
- store = me.getStore('companies'),
19
- change, index, record;
16
+ /**
17
+ * @member {Number|null} intervalId=null
18
+ */
19
+ intervalId = null
20
20
 
21
- setInterval(() => {
22
- index = Math.round(Math.random() * 100); // 0 - 100
23
- change = Math.random() * 10 - 5;
24
- record = store.getAt(index);
21
+ /**
22
+ *
23
+ */
24
+ generateData() {
25
+ let me = this;
25
26
 
26
- record.set({change, value: record.value + change})
27
- }, 1)
27
+ me.intervalId = setInterval(me.updateRecord.bind(me), 4)
28
28
  }
29
29
 
30
30
  /**
@@ -45,6 +45,45 @@ class ViewportController extends Controller {
45
45
  me.getReference('grid').bulkUpdateRecords(items);
46
46
  me.generateData()
47
47
  }
48
+
49
+ /**
50
+ * @param {Object} data
51
+ */
52
+ onStartButtonClick(data) {
53
+ let me = this,
54
+ stopButton = me.getReference('stop-button');
55
+
56
+ me.generateData();
57
+
58
+ data.component.disabled = true;
59
+ stopButton .disabled = false
60
+ }
61
+
62
+ /**
63
+ * @param {Object} data
64
+ */
65
+ onStopButtonClick(data) {
66
+ let me = this,
67
+ startButton = me.getReference('start-button');
68
+
69
+ clearInterval(me.intervalId);
70
+
71
+ data.component.disabled = true;
72
+ startButton .disabled = false
73
+ }
74
+
75
+ /**
76
+ *
77
+ */
78
+ updateRecord() {
79
+ let me = this,
80
+ store = me.getStore('companies'),
81
+ change = Math.random() * 10 - 5,
82
+ index = Math.round(Math.random() * 100), // 0 - 100
83
+ record = store.getAt(index);
84
+
85
+ record.set({change, value: record.value + change})
86
+ }
48
87
  }
49
88
 
50
89
  export default Neo.setupClass(ViewportController);
@@ -107,7 +107,7 @@ class FooterContainer extends Container {
107
107
  }, {
108
108
  module: Component,
109
109
  cls : ['neo-version'],
110
- html : 'v8.34.0'
110
+ html : 'v8.35.0'
111
111
  }]
112
112
  }],
113
113
  /**
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='8.34.0'
23
+ * @member {String} version='8.35.0'
24
24
  */
25
- version: '8.34.0'
25
+ version: '8.35.0'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "8.34.0",
3
+ "version": "8.35.0",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -263,12 +263,12 @@ const DefaultConfig = {
263
263
  useVdomWorker: true,
264
264
  /**
265
265
  * buildScripts/injectPackageVersion.mjs will update this value
266
- * @default '8.34.0'
266
+ * @default '8.35.0'
267
267
  * @memberOf! module:Neo
268
268
  * @name config.version
269
269
  * @type String
270
270
  */
271
- version: '8.34.0'
271
+ version: '8.35.0'
272
272
  };
273
273
 
274
274
  Object.assign(DefaultConfig, {