@refinitiv-ui/efx-grid 6.0.116 → 6.0.118

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/lib/core/dist/core.js +214 -42
  2. package/lib/core/dist/core.min.js +1 -1
  3. package/lib/core/es6/grid/Core.js +9 -2
  4. package/lib/grid/index.js +1 -1
  5. package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
  6. package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
  7. package/lib/grid/themes/halo/light/efx-grid.js +1 -1
  8. package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
  9. package/lib/grid/themes/solar/charcoal/efx-grid.js +1 -1
  10. package/lib/grid/themes/solar/charcoal/es5/all-elements.js +1 -1
  11. package/lib/grid/themes/solar/pearl/efx-grid.js +1 -1
  12. package/lib/grid/themes/solar/pearl/es5/all-elements.js +1 -1
  13. package/lib/row-segmenting/es6/RowSegmenting.js +74 -29
  14. package/lib/rt-grid/dist/rt-grid.js +324 -141
  15. package/lib/rt-grid/dist/rt-grid.min.js +1 -1
  16. package/lib/rt-grid/es6/ColumnDefinition.js +5 -2
  17. package/lib/rt-grid/es6/DataConnector.d.ts +2 -0
  18. package/lib/rt-grid/es6/DataConnector.js +8 -0
  19. package/lib/rt-grid/es6/Grid.d.ts +4 -0
  20. package/lib/rt-grid/es6/Grid.js +39 -1
  21. package/lib/rt-grid/es6/ReferenceCounter.d.ts +2 -0
  22. package/lib/rt-grid/es6/ReferenceCounter.js +10 -0
  23. package/lib/rt-grid/es6/RowDefinition.js +28 -34
  24. package/lib/tr-grid-auto-tooltip/es6/AutoTooltip.d.ts +1 -0
  25. package/lib/tr-grid-auto-tooltip/es6/AutoTooltip.js +200 -26
  26. package/lib/tr-grid-contextmenu/es6/ContextMenu.js +11 -0
  27. package/lib/tr-grid-contextmenu/es6/MenuEventAPI.d.ts +1 -1
  28. package/lib/tr-grid-contextmenu/es6/MenuEventAPI.js +13 -8
  29. package/lib/tr-grid-contextmenu/es6/MenuItem.d.ts +3 -1
  30. package/lib/tr-grid-contextmenu/es6/MenuItem.js +75 -35
  31. package/lib/tr-grid-contextmenu/es6/PopupMenu.d.ts +5 -1
  32. package/lib/tr-grid-contextmenu/es6/PopupMenu.js +70 -59
  33. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +3 -0
  34. package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +115 -28
  35. package/lib/tr-grid-util/es6/GroupDefinitions.js +1 -1
  36. package/lib/types/es6/InCellEditing.d.ts +3 -0
  37. package/lib/types/es6/MenuEventAPI.d.ts +1 -1
  38. package/lib/types/es6/MenuItem.d.ts +3 -1
  39. package/lib/types/es6/PopupMenu.d.ts +5 -1
  40. package/lib/types/es6/RealtimeGrid/DataConnector.d.ts +2 -0
  41. package/lib/types/es6/RealtimeGrid/Grid.d.ts +4 -0
  42. package/lib/types/es6/RealtimeGrid/ReferenceCounter.d.ts +2 -0
  43. package/lib/versions.json +5 -5
  44. package/package.json +2 -2
@@ -308,6 +308,17 @@ ContextMenuPlugin.prototype.getMenuModel = function () {
308
308
  return this._contextMenu;
309
309
  };
310
310
 
311
+ /** @public
312
+ * @ignore
313
+ * @returns {Object}
314
+ */
315
+ ContextMenuPlugin.prototype._getEventHandlers = function() {
316
+ return {
317
+ contextmenu: this._rightClickedHandler
318
+ };
319
+ };
320
+
321
+
311
322
  /** @private
312
323
  * @param {Object} e
313
324
  * @return {!Object} Mouse related information
@@ -14,7 +14,7 @@ declare class MenuEventAPI {
14
14
 
15
15
  public getMenuItems(): any[]|null;
16
16
 
17
- public findItem(id: number): (string)[] | any|null;
17
+ public findItem(id: number): any[]|null;
18
18
 
19
19
  }
20
20
 
@@ -7,7 +7,7 @@
7
7
  * @param {Array} legacyColumnGroups
8
8
  */
9
9
  let MenuEventAPI = function (menuModel) {
10
- this._model = menuModel;
10
+ this._model = menuModel || null; // for mapping string value
11
11
  this._items = [];
12
12
  this._runningId = 0;
13
13
  };
@@ -48,8 +48,10 @@ MenuEventAPI.prototype._addItem = function (item, level) {
48
48
  if (typeof item === "string") { // The item is referencing another item
49
49
  if (item === "SEPARATOR" || item.match(/-{3,}/)) { // Special keyword
50
50
  this.addSeparator();
51
- } else {
52
- this._addItem(this._model.items[item], level + 1);
51
+ } else if(this._model) {
52
+ if(this._model.items) {
53
+ this._addItem(this._model.items[item], level + 1);
54
+ }
53
55
  }
54
56
  } else if (Array.isArray(item)) { // The item is an item list
55
57
  let len = item.length;
@@ -67,7 +69,8 @@ MenuEventAPI.prototype.addSeparator = function () {
67
69
  this._items.push({ type: "separator" });
68
70
  };
69
71
 
70
- /** @public
72
+ /** Get immidiate child menu items
73
+ * @public
71
74
  * @returns {Array}
72
75
  */
73
76
  MenuEventAPI.prototype.getMenuItems = function () {
@@ -76,7 +79,7 @@ MenuEventAPI.prototype.getMenuItems = function () {
76
79
 
77
80
  /** @public
78
81
  * @param {number} id
79
- * @returns {Array.<string> | Object}
82
+ * @returns {Array} Array of items (ordered by leaf node to root node)
80
83
  */
81
84
  MenuEventAPI.prototype.findItem = function (id) { // For internal use
82
85
  return this._findItem(id, this._items);
@@ -85,13 +88,15 @@ MenuEventAPI.prototype.findItem = function (id) { // For internal use
85
88
  /** @private
86
89
  * @param {number} id
87
90
  * @param {Array.<string> | Object} item
88
- * @returns {string}
91
+ * @returns {Array}
89
92
  */
90
93
  MenuEventAPI.prototype._findItem = function (id, item) {
91
- let foundItemPath;
92
94
  if (!item) {
93
95
  return null;
94
- } else if (Array.isArray(item)) {
96
+ }
97
+
98
+ let foundItemPath;
99
+ if (Array.isArray(item)) {
95
100
  let len = item.length;
96
101
  for (let i = 0; i < len; ++i) {
97
102
  foundItemPath = this._findItem(id, item[i]);
@@ -3,7 +3,7 @@ import Ext from "../../tr-grid-util/es6/Ext.js";
3
3
 
4
4
  declare class MenuItem extends EventDispatcher {
5
5
 
6
- constructor(options: any);
6
+ constructor(options?: any);
7
7
 
8
8
  public dispose(): void;
9
9
 
@@ -33,6 +33,8 @@ declare class MenuItem extends EventDispatcher {
33
33
 
34
34
  public getElement(): Element|null;
35
35
 
36
+ public getOptions(): any;
37
+
36
38
  }
37
39
 
38
40
  export default MenuItem;
@@ -3,7 +3,7 @@ import Ext from "../../tr-grid-util/es6/Ext.js";
3
3
 
4
4
  /** @constructor
5
5
  * @extends {EventDispatcher}
6
- * @param {Object} options
6
+ * @param {Object=} options
7
7
  */
8
8
  let MenuItem = function (options) {
9
9
  let t = this;
@@ -11,7 +11,12 @@ let MenuItem = function (options) {
11
11
  t._onItemHovered = t._onItemHovered.bind(t);
12
12
  t._onItemClicked = t._onItemClicked.bind(t);
13
13
 
14
- t._init(options);
14
+ let li = document.createElement("li");
15
+ li.className = "tr-contextmenu-item";
16
+ li.addEventListener("mouseover", t._onItemHovered);
17
+ li.addEventListener("click", t._onItemClicked);
18
+ t._elem = li;
19
+
15
20
  t._config(options);
16
21
  };
17
22
  Ext.inherits(MenuItem, EventDispatcher);
@@ -23,25 +28,31 @@ MenuItem.prototype._elem;
23
28
  /** @type {Object}
24
29
  * @private
25
30
  */
26
- MenuItem.prototype._options;
31
+ MenuItem.prototype._options = null;
27
32
  /** @type {boolean}
28
33
  * @private
29
34
  */
30
35
  MenuItem.prototype._isSelectable = true;
31
-
32
- /** @private
33
- * @param {Object} options
36
+ /** @type {string}
37
+ * @private
34
38
  */
35
- MenuItem.prototype._init = function(options) {
36
- let t = this;
37
-
38
- let li = document.createElement("li");
39
- li.className = "tr-contextmenu-item";
40
- li.addEventListener("mouseover", t._onItemHovered);
41
- li.addEventListener("click", t._onItemClicked);
42
- t._elem = li;
43
- t._options = options;
44
- };
39
+ MenuItem.prototype._id = "";
40
+ /** @type {string}
41
+ * @private
42
+ */
43
+ MenuItem.prototype._type = "";
44
+ /** @type {string}
45
+ * @private
46
+ */
47
+ MenuItem.prototype._text = "";
48
+ /** @type {*}
49
+ * @private
50
+ */
51
+ MenuItem.prototype._value = null;
52
+ /** @type {Array}
53
+ * @private
54
+ */
55
+ MenuItem.prototype._items = null;
45
56
 
46
57
  /** @public */
47
58
  MenuItem.prototype.dispose = function() {
@@ -49,40 +60,46 @@ MenuItem.prototype.dispose = function() {
49
60
  t.removeAllEventListeners();
50
61
  t._elem.removeEventListener("mouseover", t._onItemHovered);
51
62
  t._elem.removeEventListener("click", t._onItemClicked);
52
- t._elem.parentNode.removeChild(t._elem);
63
+
64
+ let pn = t._elem.parentNode;
65
+ if(pn) {
66
+ pn.removeChild(t._elem);
67
+ }
68
+ t._elem = t._options = t._value = t._items = null;
53
69
  };
54
70
 
55
71
  /** @private
56
- * @param {*} opt_model
72
+ * @param {*=} options
57
73
  */
58
- MenuItem.prototype._config = function(opt_model) {
59
- if (!opt_model) opt_model = {};
60
-
61
- let pref;
74
+ MenuItem.prototype._config = function(options) {
75
+ if (!options) {
76
+ options = {};
77
+ }
62
78
 
63
79
  let t = this;
80
+ t._options = options;
64
81
 
65
- pref = opt_model["id"];
82
+ let pref = options["id"];
66
83
  if (pref) {
67
84
  t.setId(pref);
68
85
  }
69
86
 
70
- pref = opt_model["type"];
87
+ pref = options["type"];
71
88
  if (pref) {
72
89
  t.setType(pref);
73
90
  }
74
91
 
75
- pref = opt_model["text"];
92
+ pref = options["text"];
76
93
  if (pref) {
77
94
  t.setText(pref);
78
95
  }
79
96
 
80
- pref = opt_model["value"];
81
- if (pref) {
97
+ pref = options["value"];
98
+ if (pref != null) {
82
99
  t.setValue(pref);
83
100
  }
84
101
 
85
- pref = opt_model["isDisabled"];
102
+ pref = options["isDisabled"];
86
103
  if (pref != null) {
87
104
  if (pref === true) {
88
105
  t.setSelectable(false);
@@ -91,7 +108,7 @@ MenuItem.prototype._config = function(opt_model) {
91
108
  }
92
109
  }
93
110
 
94
- pref = opt_model["isSelectable"];
111
+ pref = options["isSelectable"];
95
112
  if (pref != null) {
96
113
  if (pref === false) {
97
114
  t.setSelectable(false);
@@ -100,7 +117,7 @@ MenuItem.prototype._config = function(opt_model) {
100
117
  }
101
118
  }
102
119
 
103
- pref = opt_model["items"];
120
+ pref = options["items"];
104
121
  if (Array.isArray(pref)) {
105
122
  t.setItems(pref);
106
123
  }
@@ -133,6 +150,17 @@ MenuItem.prototype._onItemClicked = function(e) {
133
150
  t._dispatch("itemClicked", e);
134
151
  };
135
152
 
153
+ /** @public
154
+ * @ignore
155
+ * @returns {Object}
156
+ */
157
+ MenuItem.prototype._getEventHandlers = function() {
158
+ return {
159
+ mouseover: this._onItemHovered,
160
+ click: this._onItemClicked
161
+ };
162
+ };
163
+
136
164
  /** @public
137
165
  * @param {*} id
138
166
  */
@@ -146,7 +174,7 @@ MenuItem.prototype.setId = function(id) {
146
174
  * @returns {*}
147
175
  */
148
176
  MenuItem.prototype.getId = function() {
149
- return this._id;
177
+ return this._id || "";
150
178
  };
151
179
 
152
180
  /** @public
@@ -162,7 +190,7 @@ MenuItem.prototype.setText = function(text) {
162
190
  * @returns {string}
163
191
  */
164
192
  MenuItem.prototype.getText = function() {
165
- return this._text;
193
+ return this._text || "";
166
194
  };
167
195
 
168
196
  /** @public
@@ -206,8 +234,13 @@ MenuItem.prototype.isSelectable = function() {
206
234
  */
207
235
  MenuItem.prototype.setItems = function(items) {
208
236
  let t = this;
209
- t._items = items;
210
- t._elem.classList.add("has-child");
237
+ if(Array.isArray(items)) {
238
+ t._items = items;
239
+ t._elem.classList.add("has-child");
240
+ } else {
241
+ t._items = null;
242
+ t._elem.classList.remove("has-child");
243
+ }
211
244
  };
212
245
 
213
246
  /** @public
@@ -229,7 +262,7 @@ MenuItem.prototype.setType = function(type) {
229
262
  * @returns {string}
230
263
  */
231
264
  MenuItem.prototype.getType = function() {
232
- return this._type;
265
+ return this._type || "";
233
266
  };
234
267
 
235
268
  /** @public
@@ -239,6 +272,13 @@ MenuItem.prototype.getElement = function() {
239
272
  return this._elem;
240
273
  };
241
274
 
275
+ /** @public
276
+ * @returns {Object}
277
+ */
278
+ MenuItem.prototype.getOptions = function() {
279
+ return this._options;
280
+ };
281
+
242
282
 
243
283
 
244
284
  export default MenuItem;
@@ -21,7 +21,11 @@ declare class PopupMenu extends EventDispatcher {
21
21
 
22
22
  public addPopupChild(element: Element|null, popupMenu: PopupMenu|null): void;
23
23
 
24
- public setMenu(menuItems: (any)[]|null): void;
24
+ public setMenu(menuOptions: (any)[]|null): void;
25
+
26
+ public getMenuItems(): (MenuItem)[]|null;
27
+
28
+ public getChildPopups(): (PopupMenu)[]|null;
25
29
 
26
30
  }
27
31
 
@@ -30,11 +30,11 @@ PopupMenu.prototype._evtArg;
30
30
  /** @type {Array.<PopupMenu>}
31
31
  * @private
32
32
  */
33
- PopupMenu.prototype._children;
33
+ PopupMenu.prototype._nestedPopups;
34
34
  /** @type {Array.<MenuItem>}
35
35
  * @private
36
36
  */
37
- PopupMenu.prototype._childrenItem;
37
+ PopupMenu.prototype._menuItems;
38
38
  /** @type {Element}
39
39
  * @private
40
40
  */
@@ -59,6 +59,10 @@ PopupMenu.prototype._ulElem;
59
59
  * @private
60
60
  */
61
61
  PopupMenu.prototype._isMounted;
62
+ /** @type {string}
63
+ * @private
64
+ */
65
+ PopupMenu.prototype._id = "";
62
66
 
63
67
  /** @private
64
68
  * @param {Element} parentElement
@@ -76,8 +80,8 @@ PopupMenu.prototype._init = function(parentElement) {
76
80
  t._popup.setPositioning("custom");
77
81
  t._ulElem = ul;
78
82
 
79
- t._children = [];
80
- t._childrenItem = [];
83
+ t._nestedPopups = [];
84
+ t._menuItems = [];
81
85
  t._x = 0;
82
86
  t._y = 0;
83
87
  t._isMounted = true;
@@ -107,21 +111,24 @@ PopupMenu.prototype.dispose = function () {
107
111
  }
108
112
  };
109
113
 
110
- /** @private */
114
+ /** @private
115
+ * @function
116
+ * @param {*} obj
117
+ */
118
+ let _disposeObject = function(obj) {
119
+ if(obj) {
120
+ obj.dispose();
121
+ }
122
+ };
123
+
124
+ /** @private
125
+ */
111
126
  PopupMenu.prototype._disposeChildren = function () {
112
127
  let t = this;
113
- t._children.forEach(function (child) {
114
- if (child) {
115
- child.dispose();
116
- }
117
- });
118
- t._childrenItem.forEach(function (child) {
119
- if (child) {
120
- child.dispose();
121
- }
122
- });
123
- t._children.length = 0;
124
- t._childrenItem.length = 0;
128
+ t._nestedPopups.forEach(_disposeObject);
129
+ t._menuItems.forEach(_disposeObject);
130
+ t._nestedPopups.length = 0;
131
+ t._menuItems.length = 0;
125
132
  };
126
133
 
127
134
  /** @public */
@@ -162,9 +169,11 @@ PopupMenu.prototype.setPosition = function(positioning, x, y) {
162
169
  let sx = (window.scrollX != null) ? window.scrollX : window.pageXOffset;
163
170
  let sy = (window.scrollY != null) ? window.scrollY : window.pageYOffset;
164
171
  let rb = ww + sx; // view port right bound
165
- let bb = wh + sy; // view port bottom boundnd
166
- let aw = t._popup._elem.offsetWidth;
167
- let ah = t._popup._elem.offsetHeight;
172
+ let bb = wh + sy; // view port bottom bound
173
+
174
+ let popupElem = t._popup.getElement();
175
+ let aw = popupElem.offsetWidth;
176
+ let ah = popupElem.offsetHeight;
168
177
 
169
178
  if (x + aw > rb) { // Do not overflow right bound
170
179
  x = rb - aw;
@@ -173,8 +182,8 @@ PopupMenu.prototype.setPosition = function(positioning, x, y) {
173
182
  y = bb - ah;
174
183
  }
175
184
 
176
- t._popup._elem.style.left = (x - sx) + "px"; // Due to fixed position we have to subtract window scrolling
177
- t._popup._elem.style.top = (y - sy) + "px";
185
+ popupElem.style.left = (x - sx) + "px"; // Due to fixed position we have to subtract window scrolling
186
+ popupElem.style.top = (y - sy) + "px";
178
187
  }
179
188
  };
180
189
 
@@ -186,32 +195,30 @@ PopupMenu.prototype.addPopupChild = function(element, popupMenu) {
186
195
  if (popupMenu instanceof PopupMenu) {
187
196
  popupMenu.attachTo(element, "right");
188
197
  this._popup.addFocusElement(popupMenu._popup);
189
- this._children.push(popupMenu);
198
+ this._nestedPopups.push(popupMenu);
190
199
  }
191
200
  };
192
201
 
193
202
  /** @public
194
- * @param {Array.<Object>} menuItems
203
+ * @param {Array.<Object>} menuOptions Array of MenuItem options
195
204
  */
196
- PopupMenu.prototype.setMenu = function (menuItems) {
197
- if (!menuItems || !Array.isArray(menuItems)) { return; }
198
-
205
+ PopupMenu.prototype.setMenu = function (menuOptions) {
199
206
  let t = this;
200
207
 
201
- // Clear existing before set a new items.
202
- if (Array.isArray(t._menuItems)) {
208
+ // Clear existing before set a new items
209
+ if (t._menuItems.length) {
203
210
  t._disposeChildren();
204
211
  }
205
212
 
206
- t._menuItems = menuItems;
207
-
208
- for (let i = 0; i < menuItems.length; i++) {
209
- let item = menuItems[i];
213
+ if (!menuOptions || !Array.isArray(menuOptions)) {
214
+ return;
215
+ }
210
216
 
211
- let menuItem = new MenuItem(item);
217
+ for (let i = 0; i < menuOptions.length; i++) {
218
+ let menuItem = new MenuItem(menuOptions[i]);
212
219
  menuItem.addEventListener("itemHovered", t._hoveredItem);
213
220
  menuItem.addEventListener("itemClicked", t._clickedItem);
214
- t._childrenItem.push(menuItem);
221
+ t._menuItems.push(menuItem);
215
222
 
216
223
  if (Array.isArray(menuItem.getItems())) {
217
224
  let pm = new PopupMenu(t._parentElement);
@@ -225,22 +232,32 @@ PopupMenu.prototype.setMenu = function (menuItems) {
225
232
  t._ulElem.appendChild(menuItem.getElement());
226
233
  }
227
234
  };
235
+ /** @public
236
+ * @returns {Array.<MenuItem>}
237
+ */
238
+ PopupMenu.prototype.getMenuItems = function () {
239
+ return this._menuItems;
240
+ };
241
+ /** @public
242
+ * @returns {Array.<PopupMenu>}
243
+ */
244
+ PopupMenu.prototype.getChildPopups = function () {
245
+ return this._nestedPopups;
246
+ };
228
247
 
229
248
  /** @private
230
249
  * @param {Event} e
231
250
  */
232
251
  PopupMenu.prototype._hoveredChildItem = function (e) {
233
- let t = this;
234
- t._dispatch("itemHovered", e);
252
+ this._dispatch("itemHovered", e);
235
253
  };
236
254
 
237
255
  /** @private
238
256
  * @param {Event} e
239
257
  */
240
258
  PopupMenu.prototype._clickedChildItem = function (e) {
241
- let t = this;
242
- t._dispatch("itemClicked", e);
243
- t.hide();
259
+ this._dispatch("itemClicked", e);
260
+ this.hide();
244
261
  };
245
262
 
246
263
  /** @private
@@ -249,18 +266,20 @@ PopupMenu.prototype._clickedChildItem = function (e) {
249
266
  PopupMenu.prototype._hoveredItem = function (e) {
250
267
  let t = this;
251
268
  let evt = t._evtArg;
252
- let element = e.srcElement;
253
- let children = t._children;
254
-
255
- if (element && !!children.length) {
256
- for (let i = 0; i < children.length; i++) {
257
- let child = children[i];
258
- if (child._id === element.getAttribute("id")) {
259
- child.show();
269
+ let elem = e.srcElement;
270
+
271
+ if (elem) {
272
+ let pms = t._nestedPopups;
273
+ let pmCount = pms.length;
274
+ let elemId = elem.getAttribute("id");
275
+ for (let i = 0; i < pmCount; i++) {
276
+ let pm = pms[i];
277
+ if (pm._id === elemId) {
278
+ pm.show();
260
279
  } else {
261
- child.hide();
280
+ pm.hide();
262
281
  }
263
- }
282
+ } // WARNING: evt or _evtArg is not customized to reflect the item that is hovered
264
283
  } else {
265
284
  evt = e;
266
285
  }
@@ -273,15 +292,7 @@ PopupMenu.prototype._hoveredItem = function (e) {
273
292
  */
274
293
  PopupMenu.prototype._clickedItem = function(e) {
275
294
  let t = this;
276
- if (e.item && e.item.id) {
277
- for (let i = 0; i < t._menuItems.length; i++) {
278
- let menuItem = t._menuItems[i];
279
- if (menuItem.id === e.item.id) {
280
- t._evtArg["item"] = menuItem;
281
- break;
282
- }
283
- }
284
- }
295
+ t._evtArg["item"] = e["item"];
285
296
  t._dispatch("itemClicked", t._evtArg);
286
297
  t.hide();
287
298
  };
@@ -6,6 +6,7 @@ import { ElfUtil } from "../../tr-grid-util/es6/ElfUtil.js";
6
6
  import { isTouchDevice, injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
7
7
  import { ElfDate } from "../../tr-grid-util/es6/ElfDate.js";
8
8
  import { CoralItems } from "../../tr-grid-util/es6/CoralItems.js";
9
+ import { Conflator } from "../../tr-grid-util/es6/Conflator.js";
9
10
 
10
11
  declare namespace InCellEditingPlugin {
11
12
 
@@ -85,6 +86,8 @@ declare class InCellEditingPlugin extends GridPlugin {
85
86
 
86
87
  public showStarterText(bool?: boolean|null): void;
87
88
 
89
+ public _requestUpdateStarterText(): void;
90
+
88
91
  public isEditing(): boolean;
89
92
 
90
93
  public getTextBox(columnIndex?: number|null, grid?: any): Element|null;