neo.mjs 10.0.0-alpha.4 → 10.0.0-beta.1
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/ServiceWorker.mjs +2 -2
- package/apps/portal/index.html +1 -1
- package/apps/portal/resources/data/examples_devmode.json +26 -27
- package/apps/portal/resources/data/examples_dist_dev.json +26 -27
- package/apps/portal/resources/data/examples_dist_esm.json +26 -27
- package/apps/portal/resources/data/examples_dist_prod.json +27 -28
- package/apps/portal/view/blog/List.mjs +1 -1
- package/apps/portal/view/home/FooterContainer.mjs +1 -1
- package/apps/portal/view/learn/ContentComponent.mjs +102 -111
- package/buildScripts/buildThemes.mjs +1 -1
- package/examples/grid/animatedRowSorting/Viewport.mjs +4 -4
- package/examples/grid/bigData/ControlsContainer.mjs +3 -3
- package/examples/grid/bigData/GridContainer.mjs +8 -8
- package/examples/grid/cellEditing/MainContainer.mjs +5 -5
- package/examples/grid/container/MainContainer.mjs +4 -4
- package/examples/grid/nestedRecordFields/Viewport.mjs +5 -5
- package/examples/table/cellEditing/MainContainer.mjs +1 -1
- package/examples/table/container/MainContainer.mjs +3 -3
- package/examples/table/nestedRecordFields/Viewport.mjs +6 -6
- package/examples/tableFiltering/MainContainer.mjs +1 -1
- package/examples/tablePerformance/MainContainer.mjs +1 -1
- package/examples/tablePerformance/MainContainer2.mjs +1 -1
- package/examples/tablePerformance/MainContainer3.mjs +2 -2
- package/examples/tableStore/MainContainer.mjs +2 -2
- package/learn/UsingTheseTopics.md +2 -2
- package/learn/benefits/ConfigSystem.md +2 -2
- package/learn/benefits/FormsEngine.md +14 -14
- package/learn/benefits/MultiWindow.md +2 -2
- package/learn/benefits/OffTheMainThread.md +2 -2
- package/learn/benefits/Speed.md +2 -2
- package/learn/gettingstarted/ComponentModels.md +4 -4
- package/learn/gettingstarted/Config.md +6 -6
- package/learn/gettingstarted/DescribingTheUI.md +4 -4
- package/learn/gettingstarted/Events.md +6 -6
- package/learn/gettingstarted/Extending.md +4 -4
- package/learn/gettingstarted/References.md +6 -6
- package/learn/gettingstarted/Workspaces.md +6 -6
- package/learn/guides/ApplicationBootstrap.md +40 -42
- package/learn/guides/ComponentsAndContainers.md +12 -12
- package/learn/guides/CustomComponents.md +2 -2
- package/learn/guides/MainThreadAddonIntro.md +2 -2
- package/learn/guides/PortalApp.md +2 -2
- package/learn/guides/StateProviders.md +12 -12
- package/learn/guides/events/CustomEvents.md +16 -16
- package/learn/guides/events/DomEvents.md +12 -12
- package/learn/javascript/ClassFeatures.md +3 -2
- package/learn/javascript/Classes.md +8 -8
- package/learn/javascript/NewNode.md +4 -4
- package/learn/javascript/Overrides.md +8 -8
- package/learn/javascript/Super.md +10 -8
- package/learn/tutorials/Earthquakes.md +54 -57
- package/learn/tutorials/TodoList.md +4 -4
- package/package.json +1 -1
- package/resources/scss/src/apps/portal/learn/ContentComponent.scss +12 -0
- package/resources/scss/src/grid/{View.scss → Body.scss} +2 -2
- package/resources/scss/src/grid/VerticalScrollbar.scss +1 -1
- package/resources/scss/src/grid/plugin/AnimateRows.scss +1 -1
- package/resources/scss/src/grid/plugin/CellEditing.scss +1 -1
- package/resources/scss/src/table/{View.scss → Body.scss} +1 -1
- package/resources/scss/src/table/plugin/CellEditing.scss +1 -1
- package/resources/scss/theme-dark/grid/{View.scss → Body.scss} +1 -1
- package/resources/scss/theme-dark/table/{View.scss → Body.scss} +1 -1
- package/resources/scss/theme-light/grid/{View.scss → Body.scss} +1 -1
- package/resources/scss/theme-light/table/{View.scss → Body.scss} +1 -1
- package/resources/scss/theme-neo-light/Global.scss +1 -2
- package/resources/scss/theme-neo-light/grid/{View.scss → Body.scss} +1 -1
- package/resources/scss/theme-neo-light/table/{View.scss → Body.scss} +1 -1
- package/src/DefaultConfig.mjs +2 -2
- package/src/core/Base.mjs +59 -12
- package/src/core/Util.mjs +14 -2
- package/src/draggable/grid/header/toolbar/SortZone.mjs +21 -21
- package/src/draggable/table/header/toolbar/SortZone.mjs +1 -1
- package/src/grid/{View.mjs → Body.mjs} +19 -20
- package/src/grid/Container.mjs +58 -58
- package/src/grid/ScrollManager.mjs +56 -56
- package/src/grid/VerticalScrollbar.mjs +2 -2
- package/src/grid/_export.mjs +2 -2
- package/src/grid/column/AnimatedChange.mjs +5 -5
- package/src/grid/column/Base.mjs +1 -1
- package/src/grid/column/Component.mjs +6 -6
- package/src/grid/header/Toolbar.mjs +9 -9
- package/src/grid/plugin/AnimateRows.mjs +1 -2
- package/src/main/addon/AmCharts.mjs +8 -11
- package/src/main/addon/Base.mjs +150 -42
- package/src/main/addon/GoogleMaps.mjs +9 -16
- package/src/main/addon/HighlightJS.mjs +2 -13
- package/src/main/addon/IntersectionObserver.mjs +21 -21
- package/src/main/addon/MonacoEditor.mjs +1 -6
- package/src/table/{View.mjs → Body.mjs} +19 -20
- package/src/table/Container.mjs +43 -43
- package/src/table/_export.mjs +2 -2
- package/src/table/plugin/CellEditing.mjs +19 -19
- package/src/util/Style.mjs +2 -6
- package/src/vdom/Helper.mjs +10 -13
- package/src/worker/App.mjs +6 -18
- package/src/worker/Base.mjs +1 -1
- package/src/worker/Manager.mjs +4 -8
- package/src/worker/mixin/RemoteMethodAccess.mjs +1 -1
@@ -1,6 +1,6 @@
|
|
1
1
|
@use "sass:color";
|
2
2
|
|
3
|
-
:root .neo-theme-light { // .neo-grid-
|
3
|
+
:root .neo-theme-light { // .neo-grid-body
|
4
4
|
--grid-cell-background-color-hover : #{color.adjust(#33343d, $lightness: 70%)};
|
5
5
|
--grid-cell-ismodified-color : orange;
|
6
6
|
--grid-cell-ismodified-size : 10px;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
@use "sass:color";
|
2
2
|
|
3
|
-
:root .neo-theme-light { // .neo-table-
|
3
|
+
:root .neo-theme-light { // .neo-table-body
|
4
4
|
--table-cell-background-color-hover : #{color.adjust(#33343d, $lightness: 70%)};
|
5
5
|
--table-cell-ismodified-color : orange;
|
6
6
|
--table-cell-ismodified-size : 10px;
|
@@ -53,11 +53,10 @@
|
|
53
53
|
border-radius : 4px;
|
54
54
|
color : var(--sem-color-fg-neutral-contrast);
|
55
55
|
font-family : var(--core-fontfamily-mono);
|
56
|
-
font-size :
|
56
|
+
font-size : 14px;
|
57
57
|
font-weight : var(--core-fontweight-regular);
|
58
58
|
line-height : var(--core-lineheight-headline);
|
59
59
|
padding : 2px 0.3em;
|
60
|
-
font-size : 16px;
|
61
60
|
}
|
62
61
|
}
|
63
62
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
@use "sass:color";
|
2
2
|
|
3
|
-
:root .neo-theme-neo-light { // .neo-grid-
|
3
|
+
:root .neo-theme-neo-light { // .neo-grid-body
|
4
4
|
--grid-cell-background-color-hover : #{color.adjust(#33343d, $lightness: 70%)};
|
5
5
|
--grid-cell-ismodified-color : orange;
|
6
6
|
--grid-cell-ismodified-size : 10px;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
@use "sass:color";
|
2
2
|
|
3
|
-
:root .neo-theme-neo-light { // .neo-table-
|
3
|
+
:root .neo-theme-neo-light { // .neo-table-body
|
4
4
|
--table-cell-background-color-hover : #{color.adjust(#33343d, $lightness: 70%)};
|
5
5
|
--table-cell-ismodified-color : orange;
|
6
6
|
--table-cell-ismodified-size : 10px;
|
package/src/DefaultConfig.mjs
CHANGED
@@ -289,12 +289,12 @@ const DefaultConfig = {
|
|
289
289
|
useVdomWorker: true,
|
290
290
|
/**
|
291
291
|
* buildScripts/injectPackageVersion.mjs will update this value
|
292
|
-
* @default '10.0.0-
|
292
|
+
* @default '10.0.0-beta.1'
|
293
293
|
* @memberOf! module:Neo
|
294
294
|
* @name config.version
|
295
295
|
* @type String
|
296
296
|
*/
|
297
|
-
version: '10.0.0-
|
297
|
+
version: '10.0.0-beta.1'
|
298
298
|
};
|
299
299
|
|
300
300
|
Object.assign(DefaultConfig, {
|
package/src/core/Base.mjs
CHANGED
@@ -86,6 +86,14 @@ class Base {
|
|
86
86
|
* @protected
|
87
87
|
*/
|
88
88
|
isConstructed: false,
|
89
|
+
/**
|
90
|
+
* The config will get set to `true` once the Promise of `async initAsync()` is resolved.
|
91
|
+
* You can use `afterSetIsReady()` to get notified once the ready state is reached.
|
92
|
+
* Since not all classes use the Observable mixin, Neo will not fire an event.
|
93
|
+
* method body.
|
94
|
+
* @member {Boolean} isReady=false
|
95
|
+
*/
|
96
|
+
isReady_: false,
|
89
97
|
/**
|
90
98
|
* Add mixins as an array of classNames, imported modules or a mixed version
|
91
99
|
* @member {String[]|Neo.core.Base[]|null} mixins=null
|
@@ -96,7 +104,17 @@ class Base {
|
|
96
104
|
* @member {Class} module=null
|
97
105
|
* @protected
|
98
106
|
*/
|
99
|
-
module: null
|
107
|
+
module: null,
|
108
|
+
/**
|
109
|
+
* Remote method access for other threads. Example use case:
|
110
|
+
* remote: {app: ['myRemoteMethod']}
|
111
|
+
*
|
112
|
+
* ONLY supported for singletons.
|
113
|
+
*
|
114
|
+
* @member {Object|null} remote_=null
|
115
|
+
* @protected
|
116
|
+
*/
|
117
|
+
remote_: null
|
100
118
|
}
|
101
119
|
|
102
120
|
/**
|
@@ -154,7 +172,11 @@ class Base {
|
|
154
172
|
*/
|
155
173
|
intercept(me, 'destroy', me.isDestroyedCheck, me);
|
156
174
|
|
157
|
-
|
175
|
+
// Triggers async logic after the construction chain is done.
|
176
|
+
Promise.resolve().then(async () => {
|
177
|
+
await me.initAsync();
|
178
|
+
me.isReady = true
|
179
|
+
})
|
158
180
|
}
|
159
181
|
|
160
182
|
/**
|
@@ -255,6 +277,24 @@ class Base {
|
|
255
277
|
return value
|
256
278
|
}
|
257
279
|
|
280
|
+
/**
|
281
|
+
* Triggered before the remote config gets changed
|
282
|
+
* @param {Object|null} value
|
283
|
+
* @param {Object|null} oldValue
|
284
|
+
* @returns {Object|null}
|
285
|
+
* @protected
|
286
|
+
*/
|
287
|
+
beforeSetRemote(value, oldValue) {
|
288
|
+
let me = this;
|
289
|
+
|
290
|
+
// Only allow remote access for singletons or main thread addons
|
291
|
+
if (value && !me.singleton && !me.isMainThreadAddon) {
|
292
|
+
throw new Error('Remote method access is only functional for Singleton classes ' + me.className)
|
293
|
+
}
|
294
|
+
|
295
|
+
return value
|
296
|
+
}
|
297
|
+
|
258
298
|
/**
|
259
299
|
* @param {String} fn The name of a function to find in the passed scope object.
|
260
300
|
* @param {Object} originName The name of the method inside the originScope.
|
@@ -367,11 +407,23 @@ class Base {
|
|
367
407
|
|
368
408
|
/**
|
369
409
|
* Gets triggered after onConstructed() is done
|
370
|
-
* @see {@link Neo.core.Base#onConstructed onConstructed}
|
371
|
-
* @tutorial 02_ClassSystem
|
372
410
|
*/
|
373
411
|
init() {}
|
374
412
|
|
413
|
+
/**
|
414
|
+
* You can use this method in subclasses to perform asynchronous initialization logic.
|
415
|
+
* Make sure to use the parent call `await super.initAsync()` at the beginning of their implementations,
|
416
|
+
* or the registration of remote methods will get delayed.
|
417
|
+
*
|
418
|
+
* A common use case is requiring conditional or optional dynamic imports or fetching initial data.
|
419
|
+
*
|
420
|
+
* Once the promise returned by this method is fulfilled, the `isReady` config will be set to `true`.
|
421
|
+
* @returns {Promise<void>} A promise that resolves when the asynchronous initialization is complete.
|
422
|
+
*/
|
423
|
+
async initAsync() {
|
424
|
+
this.remote && this.initRemote()
|
425
|
+
}
|
426
|
+
|
375
427
|
/**
|
376
428
|
* Applies all class configs to this instance
|
377
429
|
* @param {Object} config
|
@@ -393,19 +445,14 @@ class Base {
|
|
393
445
|
* @protected
|
394
446
|
*/
|
395
447
|
initRemote() {
|
396
|
-
let
|
397
|
-
{className, remote} = me,
|
448
|
+
let {className, remote} = this,
|
398
449
|
{currentWorker} = Neo;
|
399
450
|
|
400
|
-
if (!
|
401
|
-
throw new Error('Remote method access is only functional for Singleton classes ' + className)
|
402
|
-
}
|
403
|
-
|
404
|
-
if (!Neo.config.unitTestMode && Neo.isObject(remote)) {
|
451
|
+
if (!Neo.config.unitTestMode) {
|
405
452
|
if (Neo.workerId !== 'main' && currentWorker.isSharedWorker && !currentWorker.isConnected) {
|
406
453
|
currentWorker.on('connected', () => {
|
407
454
|
Base.sendRemotes(className, remote)
|
408
|
-
},
|
455
|
+
}, this, {once: true})
|
409
456
|
} else {
|
410
457
|
Base.sendRemotes(className, remote)
|
411
458
|
}
|
package/src/core/Util.mjs
CHANGED
@@ -175,7 +175,18 @@ class Util extends Base {
|
|
175
175
|
* @returns {Boolean}
|
176
176
|
*/
|
177
177
|
static isObject(value) {
|
178
|
-
return value?.constructor?.name === 'Object'
|
178
|
+
return value?.constructor?.name === 'Object'
|
179
|
+
}
|
180
|
+
|
181
|
+
/**
|
182
|
+
* Returns true if the passed value is a promise.
|
183
|
+
* We are intentionally not checking for `value instanceof Promise`,
|
184
|
+
* to support any "thenable" objects for flexibility.
|
185
|
+
* @param {Object} value The value to test
|
186
|
+
* @returns {Boolean}
|
187
|
+
*/
|
188
|
+
static isPromise(value) {
|
189
|
+
return typeof value?.then === 'function'
|
179
190
|
}
|
180
191
|
|
181
192
|
/**
|
@@ -184,7 +195,7 @@ class Util extends Base {
|
|
184
195
|
* @returns {Boolean}
|
185
196
|
*/
|
186
197
|
static isRecord(value) {
|
187
|
-
return value?.constructor?.name === 'Record'
|
198
|
+
return value?.constructor?.name === 'Record'
|
188
199
|
}
|
189
200
|
|
190
201
|
/**
|
@@ -233,6 +244,7 @@ Neo.applyFromNs(Neo, Util, {
|
|
233
244
|
isFunction : 'isFunction',
|
234
245
|
isNumber : 'isNumber',
|
235
246
|
isObject : 'isObject',
|
247
|
+
isPromise : 'isPromise',
|
236
248
|
isRecord : 'isRecord',
|
237
249
|
isString : 'isString',
|
238
250
|
toArray : 'toArray'
|
@@ -54,15 +54,15 @@ class SortZone extends BaseSortZone {
|
|
54
54
|
|
55
55
|
let me = this,
|
56
56
|
grid = me.owner.parent,
|
57
|
-
{
|
58
|
-
|
57
|
+
{body} = grid,
|
58
|
+
bodyWrapperId = Neo.getId('grid-body-wrapper'),
|
59
|
+
gridRows = body.getVdomRoot().cn,
|
59
60
|
columnIndex = me.dragElement['aria-colindex'] - 1,
|
60
|
-
{dataField} =
|
61
|
-
cells =
|
61
|
+
{dataField} = body.columnPositions.getAt(columnIndex),
|
62
|
+
cells = body.getColumnCells(dataField),
|
62
63
|
rows = [],
|
63
64
|
config = await super.createDragProxy(data, false),
|
64
65
|
rect = await grid.getDomRect(),
|
65
|
-
viewWrapperId = Neo.getId('grid-view-wrapper'),
|
66
66
|
row;
|
67
67
|
|
68
68
|
config.cls = ['neo-grid-wrapper', me.owner.getTheme()];
|
@@ -85,9 +85,9 @@ class SortZone extends BaseSortZone {
|
|
85
85
|
{cn: [
|
86
86
|
{cls: ['neo-grid-container'], cn: [
|
87
87
|
{...config.vdom, cls: ['neo-grid-header-toolbar', 'neo-toolbar']},
|
88
|
-
{cls: ['neo-grid-
|
89
|
-
{cls: ['neo-grid-
|
90
|
-
{cls: ['neo-grid-scrollbar'], style: {height:
|
88
|
+
{cls: ['neo-grid-body-wrapper'], id: bodyWrapperId, cn: [
|
89
|
+
{cls: ['neo-grid-body'], cn: rows},
|
90
|
+
{cls: ['neo-grid-scrollbar'], style: {height: body.vdom.cn[0].height}}
|
91
91
|
]}
|
92
92
|
]}
|
93
93
|
]};
|
@@ -95,8 +95,8 @@ class SortZone extends BaseSortZone {
|
|
95
95
|
config.listeners = {
|
96
96
|
mounted() {
|
97
97
|
Neo.main.DomAccess.scrollTo({
|
98
|
-
id :
|
99
|
-
value :
|
98
|
+
id : bodyWrapperId,
|
99
|
+
value : body.scrollTop,
|
100
100
|
windowId: this.windowId
|
101
101
|
})
|
102
102
|
}
|
@@ -133,11 +133,11 @@ class SortZone extends BaseSortZone {
|
|
133
133
|
owner.updateDepth = 2;
|
134
134
|
owner.update();
|
135
135
|
|
136
|
-
await owner.
|
136
|
+
await owner.passSizeToBody();
|
137
137
|
|
138
138
|
await this.timeout(20);
|
139
139
|
|
140
|
-
owner.parent.
|
140
|
+
owner.parent.body.createViewData()
|
141
141
|
}
|
142
142
|
|
143
143
|
/**
|
@@ -148,11 +148,11 @@ class SortZone extends BaseSortZone {
|
|
148
148
|
|
149
149
|
if (this.moveColumnContent) {
|
150
150
|
let me = this,
|
151
|
-
{
|
151
|
+
{body} = me.owner.parent,
|
152
152
|
columnIndex = me.dragElement['aria-colindex'] - 1,
|
153
|
-
columnPosition =
|
153
|
+
columnPosition = body.columnPositions.getAt(columnIndex),
|
154
154
|
{dataField} = columnPosition,
|
155
|
-
cells =
|
155
|
+
cells = body.getColumnCells(dataField);
|
156
156
|
|
157
157
|
columnPosition.hidden = true;
|
158
158
|
|
@@ -160,7 +160,7 @@ class SortZone extends BaseSortZone {
|
|
160
160
|
cell.style.visibility = 'hidden'
|
161
161
|
});
|
162
162
|
|
163
|
-
|
163
|
+
body.update()
|
164
164
|
}
|
165
165
|
}
|
166
166
|
|
@@ -174,12 +174,12 @@ class SortZone extends BaseSortZone {
|
|
174
174
|
if (this.moveColumnContent) {
|
175
175
|
let me = this,
|
176
176
|
{itemRects} = me,
|
177
|
-
{
|
178
|
-
{columnPositions} =
|
177
|
+
{body} = me.owner.parent,
|
178
|
+
{columnPositions} = body,
|
179
179
|
column1Position = columnPositions.getAt(index1),
|
180
180
|
column2Position = columnPositions.getAt(index2),
|
181
|
-
column1Cells =
|
182
|
-
column2Cells =
|
181
|
+
column1Cells = body.getColumnCells(column1Position.dataField),
|
182
|
+
column2Cells = body.getColumnCells(column2Position.dataField);
|
183
183
|
|
184
184
|
Object.assign(column1Position, {
|
185
185
|
width: itemRects[index2].width,
|
@@ -203,7 +203,7 @@ class SortZone extends BaseSortZone {
|
|
203
203
|
node.style.width = column2Position.width + 'px'
|
204
204
|
});
|
205
205
|
|
206
|
-
|
206
|
+
body.update()
|
207
207
|
}
|
208
208
|
}
|
209
209
|
}
|
@@ -6,21 +6,21 @@ import RowModel from '../selection/grid/RowModel.mjs';
|
|
6
6
|
import VDomUtil from '../util/VDom.mjs';
|
7
7
|
|
8
8
|
/**
|
9
|
-
* @class Neo.grid.
|
9
|
+
* @class Neo.grid.Body
|
10
10
|
* @extends Neo.component.Base
|
11
11
|
*/
|
12
|
-
class
|
12
|
+
class GridBody extends Component {
|
13
13
|
static config = {
|
14
14
|
/**
|
15
|
-
* @member {String} className='Neo.grid.
|
15
|
+
* @member {String} className='Neo.grid.Body'
|
16
16
|
* @protected
|
17
17
|
*/
|
18
|
-
className: 'Neo.grid.
|
18
|
+
className: 'Neo.grid.Body',
|
19
19
|
/**
|
20
|
-
* @member {String} ntype='grid-
|
20
|
+
* @member {String} ntype='grid-body'
|
21
21
|
* @protected
|
22
22
|
*/
|
23
|
-
ntype: 'grid-
|
23
|
+
ntype: 'grid-body',
|
24
24
|
/**
|
25
25
|
* @member {Boolean} animatedRowSorting_=false
|
26
26
|
*/
|
@@ -36,23 +36,23 @@ class GridView extends Component {
|
|
36
36
|
*/
|
37
37
|
availableRows_: 0,
|
38
38
|
/**
|
39
|
-
* Internal flag. Gets calculated after mounting grid.
|
39
|
+
* Internal flag. Gets calculated after mounting grid.Body rows
|
40
40
|
* @member {Number} availableWidth_=0
|
41
41
|
*/
|
42
42
|
availableWidth_: 0,
|
43
43
|
/**
|
44
|
-
* @member {String[]} baseCls=['neo-grid-
|
44
|
+
* @member {String[]} baseCls=['neo-grid-body']
|
45
45
|
* @protected
|
46
46
|
*/
|
47
|
-
baseCls: ['neo-grid-
|
47
|
+
baseCls: ['neo-grid-body'],
|
48
48
|
/**
|
49
|
-
* The
|
49
|
+
* The number of columns (cells) to paint before the first and after the last visible column,
|
50
50
|
* to enhance the scrolling performance
|
51
51
|
* @member {Number} bufferColumnRange_=0
|
52
52
|
*/
|
53
53
|
bufferColumnRange_: 0,
|
54
54
|
/**
|
55
|
-
* The
|
55
|
+
* The number of rows to paint before the first and after the last visible row,
|
56
56
|
* to enhance the scrolling performance
|
57
57
|
* @member {Number} bufferRowRange_=3
|
58
58
|
*/
|
@@ -63,7 +63,7 @@ class GridView extends Component {
|
|
63
63
|
*/
|
64
64
|
colspanField: 'colspan',
|
65
65
|
/**
|
66
|
-
* Internal flag. Gets calculated after mounting grid.
|
66
|
+
* Internal flag. Gets calculated after mounting grid.Body rows
|
67
67
|
* @member {Number} containerWidth_=0
|
68
68
|
*/
|
69
69
|
containerWidth_: 0,
|
@@ -150,9 +150,9 @@ class GridView extends Component {
|
|
150
150
|
*/
|
151
151
|
visibleRows: [0, 0],
|
152
152
|
/**
|
153
|
-
* @member {String[]} wrapperCls=[]
|
153
|
+
* @member {String[]} wrapperCls=['neo-grid-body-wrapper']
|
154
154
|
*/
|
155
|
-
wrapperCls: ['neo-grid-
|
155
|
+
wrapperCls: ['neo-grid-body-wrapper'],
|
156
156
|
/**
|
157
157
|
* @member {Object} _vdom
|
158
158
|
*/
|
@@ -419,9 +419,8 @@ class GridView extends Component {
|
|
419
419
|
* @param {Number} data.rowIndex
|
420
420
|
* @returns {Object}
|
421
421
|
*/
|
422
|
-
applyRendererOutput(
|
423
|
-
let
|
424
|
-
me = this,
|
422
|
+
applyRendererOutput({cellId, column, columnIndex, record, rowIndex}) {
|
423
|
+
let me = this,
|
425
424
|
gridContainer = me.parent,
|
426
425
|
{selectedCells, store} = me,
|
427
426
|
cellCls = ['neo-grid-cell'],
|
@@ -686,7 +685,7 @@ class GridView extends Component {
|
|
686
685
|
dataField = me.getCellDataField(id),
|
687
686
|
record = me.getRecord(id);
|
688
687
|
|
689
|
-
me.parent.fire(eventName, {data, dataField, record
|
688
|
+
me.parent.fire(eventName, {body: me, data, dataField, record})
|
690
689
|
}
|
691
690
|
|
692
691
|
/**
|
@@ -698,7 +697,7 @@ class GridView extends Component {
|
|
698
697
|
id = data.currentTarget,
|
699
698
|
record = me.getRecord(id);
|
700
699
|
|
701
|
-
me.parent.fire(eventName, {data, record
|
700
|
+
me.parent.fire(eventName, {body: me, data, record})
|
702
701
|
}
|
703
702
|
|
704
703
|
/**
|
@@ -1133,4 +1132,4 @@ class GridView extends Component {
|
|
1133
1132
|
}
|
1134
1133
|
}
|
1135
1134
|
|
1136
|
-
export default Neo.setupClass(
|
1135
|
+
export default Neo.setupClass(GridBody);
|