@refinitiv-ui/efx-grid 6.0.43 → 6.0.45
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/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +3 -1
- package/lib/column-selection-dialog/lib/column-selection-dialog.js +24 -3
- package/lib/column-selection-dialog/themes/base.less +23 -12
- package/lib/column-selection-dialog/themes/elemental/dark/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/elemental/light/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/elemental/light/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/halo/dark/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/halo/dark/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/halo/light/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/halo/light/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/solar/charcoal/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
- package/lib/column-selection-dialog/themes/solar/pearl/column-selection-dialog.js +1 -1
- package/lib/column-selection-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
- package/lib/core/dist/core.js +204 -186
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/data/DataView.d.ts +2 -0
- package/lib/core/es6/data/DataView.js +170 -81
- package/lib/core/es6/data/Segment.d.ts +2 -0
- package/lib/core/es6/data/Segment.js +6 -0
- package/lib/core/es6/grid/Core.d.ts +0 -4
- package/lib/core/es6/grid/Core.js +28 -105
- package/lib/grid/index.js +1 -1
- package/lib/index.d.ts +0 -4
- package/lib/index.js +0 -4
- package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +5 -0
- package/lib/tr-grid-row-filtering/es6/RowFiltering.js +30 -1
- package/lib/tr-grid-util/es6/CoralItems.js +2 -2
- package/lib/tr-grid-util/es6/ElfDate.js +1 -1
- package/lib/tr-grid-util/es6/ElfUtil.js +2 -2
- package/lib/tr-grid-util/es6/ExpanderIcon.js +1 -1
- package/lib/tr-grid-util/es6/GridPlugin.js +1 -1
- package/lib/tr-grid-util/es6/Icon.js +3 -3
- package/lib/tr-grid-util/es6/MultiTableManager.js +3 -3
- package/lib/tr-grid-util/es6/RowPainter.js +6 -2
- package/lib/tr-grid-util/es6/jet/Adc.d.ts +9 -0
- package/lib/tr-grid-util/es6/jet/Adc.js +268 -0
- package/lib/tr-grid-util/es6/jet/MockQuotes2.js +96 -7
- package/lib/tr-grid-util/es6/jet/MockUtil.d.ts +7 -0
- package/lib/tr-grid-util/es6/jet/MockUtil.js +25 -0
- package/lib/tr-grid-util/es6/jet/mockDataAPI.d.ts +2 -3
- package/lib/tr-grid-util/es6/jet/mockDataAPI.js +3 -288
- package/lib/types/es6/Core/data/DataView.d.ts +2 -0
- package/lib/types/es6/Core/data/Segment.d.ts +2 -0
- package/lib/types/es6/Core/grid/Core.d.ts +0 -4
- package/lib/types/es6/RealtimeGrid/Grid.d.ts +2 -1
- package/lib/utils/index.d.ts +5 -3
- package/lib/utils/index.js +5 -3
- package/lib/versions.json +3 -5
- package/lib/window-exporter.js +5 -0
- package/package.json +1 -1
- package/lib/tr-grid-printer/es6/CellWriter.d.ts +0 -49
- package/lib/tr-grid-printer/es6/CellWriter.js +0 -226
- package/lib/tr-grid-printer/es6/ColumnWriter.d.ts +0 -12
- package/lib/tr-grid-printer/es6/ColumnWriter.js +0 -21
- package/lib/tr-grid-printer/es6/GridPrinter.d.ts +0 -32
- package/lib/tr-grid-printer/es6/GridPrinter.js +0 -774
- package/lib/tr-grid-printer/es6/PrintTrait.d.ts +0 -38
- package/lib/tr-grid-printer/es6/PrintTrait.js +0 -481
- package/lib/tr-grid-printer/es6/SectionWriter.d.ts +0 -54
- package/lib/tr-grid-printer/es6/SectionWriter.js +0 -213
- package/lib/tr-grid-printer/es6/index.d.ts +0 -1
- package/lib/tr-grid-printer/es6/index.js +0 -1
@@ -1,30 +1,6 @@
|
|
1
|
+
import { Adc } from "./Adc.js";
|
1
2
|
import { DataGenerator } from "./DataGenerator.js";
|
2
|
-
import {
|
3
|
-
|
4
|
-
/**
|
5
|
-
* @private
|
6
|
-
* @type {object}
|
7
|
-
*/
|
8
|
-
var _invalidFieldDict = {
|
9
|
-
'TR.NonExistField': true,
|
10
|
-
'TR.NotExistField': true,
|
11
|
-
'CF_IGNORE_FIELD': true
|
12
|
-
};
|
13
|
-
|
14
|
-
/** to mock invalid fields.
|
15
|
-
* @public
|
16
|
-
* @param {Array<string>|string} fields ex. TR.NonExistField, CF_IGNORE_FIELD
|
17
|
-
*/
|
18
|
-
function setInvalidFields(fields) {
|
19
|
-
if (fields && typeof fields === 'string') {
|
20
|
-
_invalidFieldDict[fields] = true;
|
21
|
-
} else if (Array.isArray(fields)) {
|
22
|
-
for (var i = 0; i < fields.length; i++) {
|
23
|
-
_invalidFieldDict[fields[i]] = true;
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
27
|
-
|
3
|
+
import { invalidFieldDict, setInvalidFields } from "./MockUtil.js";
|
28
4
|
|
29
5
|
var dataGen = new DataGenerator();
|
30
6
|
|
@@ -33,11 +9,6 @@ var dataGen = new DataGenerator();
|
|
33
9
|
*/
|
34
10
|
var DataGrid = {};
|
35
11
|
|
36
|
-
/** @private
|
37
|
-
* @namespace
|
38
|
-
*/
|
39
|
-
var Adc = {};
|
40
|
-
|
41
12
|
/** @private
|
42
13
|
* @function
|
43
14
|
* @param {Object} payload
|
@@ -55,7 +26,7 @@ DataGrid.request = function (payload, mockResponse) {
|
|
55
26
|
|
56
27
|
// _invalidFieldDict is a dictionary of non exist field
|
57
28
|
// so we must remove invalid field to make "mocking api" return result more like a "real api".
|
58
|
-
var invalidDict =
|
29
|
+
var invalidDict = invalidFieldDict;
|
59
30
|
fields = [];
|
60
31
|
for (i = 0; i < payload.fields.length; i++) {
|
61
32
|
f = payload.fields[i];
|
@@ -116,262 +87,6 @@ DataGrid.request = function (payload, mockResponse) {
|
|
116
87
|
}));
|
117
88
|
};
|
118
89
|
|
119
|
-
/** @private
|
120
|
-
* @function
|
121
|
-
* @param {Object} payload
|
122
|
-
* @param {Object=} mockResponse
|
123
|
-
* @return {Promise}
|
124
|
-
*/
|
125
|
-
Adc.request = function (payload, mockResponse) {
|
126
|
-
if (mockResponse) {
|
127
|
-
return Promise.resolve(JSON.stringify(mockResponse));
|
128
|
-
}
|
129
|
-
|
130
|
-
// build row header
|
131
|
-
var rows = [];
|
132
|
-
var i, f, len, row, j;
|
133
|
-
var identifiers, formula, fields, invalidDict;
|
134
|
-
if(payload.output === "Col,date|,Row,In|,va,T,NoEmptyTickers") {
|
135
|
-
|
136
|
-
identifiers = payload.identifiers;
|
137
|
-
formula = payload.formula.trim().split(/(?=,TR.)/);// TODO: check each field with another way, this doesn't work when user use some comma (,) formula
|
138
|
-
fields = [];
|
139
|
-
|
140
|
-
// _invalidFieldDict is a dictionary of non exist field
|
141
|
-
// so we must remove invalid field to make "mocking api" return result more like a "real api".
|
142
|
-
invalidDict = _invalidFieldDict;
|
143
|
-
for (i = 0; i < formula.length; i++) {
|
144
|
-
f = formula[i];
|
145
|
-
if (!invalidDict[f]) {
|
146
|
-
fields.push(f);
|
147
|
-
}
|
148
|
-
}
|
149
|
-
|
150
|
-
var fieldCount = fields.length;
|
151
|
-
// formula = payload.formula.trim().split(",TR"); // TODO: split wit
|
152
|
-
|
153
|
-
rows.push([
|
154
|
-
{
|
155
|
-
"h": true,
|
156
|
-
"i": "instrument",
|
157
|
-
"v": "Instrument"
|
158
|
-
},
|
159
|
-
{
|
160
|
-
"h": true,
|
161
|
-
"i": "date",
|
162
|
-
"v": "Date"
|
163
|
-
}
|
164
|
-
]);
|
165
|
-
|
166
|
-
for (var index = 0; index < fieldCount; index++) {
|
167
|
-
var timeSeriesField = fields[index];
|
168
|
-
|
169
|
-
var regex = /TR.(.*)(?=\()/;
|
170
|
-
var result = timeSeriesField.match(regex);
|
171
|
-
var field = result[0].replace("TR.", "");
|
172
|
-
var phrase = timeSeriesField.toLowerCase();
|
173
|
-
var startDateRegex = /sdate=(.*)[,]/;
|
174
|
-
var endDateRegex = /edate=(.*)[)]/;
|
175
|
-
var startDateMatch = phrase.match(startDateRegex);
|
176
|
-
var endDateMatch = phrase.match(endDateRegex);
|
177
|
-
|
178
|
-
var startDate = startDateMatch ? startDateMatch[1] : DateTime.format(new Date(), "YYYY-MM-DD");
|
179
|
-
var endDate = endDateMatch[1];
|
180
|
-
|
181
|
-
var swapDateTmp;
|
182
|
-
if(startDate > endDate) {
|
183
|
-
swapDateTmp = startDate;
|
184
|
-
startDate = endDate;
|
185
|
-
endDate = swapDateTmp;
|
186
|
-
}
|
187
|
-
|
188
|
-
var msBetweenDate = (+new Date(endDate)) - (+new Date(startDate));
|
189
|
-
|
190
|
-
var msInDay = 1000 * 60 * 60 * 24;
|
191
|
-
var betweenDay = msBetweenDate / msInDay;
|
192
|
-
// var betweenDay = Math.floor(Math.random() * 10); // For random length
|
193
|
-
|
194
|
-
|
195
|
-
for (i = 0; i <= betweenDay; i++) {
|
196
|
-
var date = new Date(new Date(startDate).setDate(new Date(startDate).getDate() + i));
|
197
|
-
var fieldValue = {
|
198
|
-
"h": true,
|
199
|
-
"v": DateTime.format(date, "YYYY-MM-DDT00:00:00")
|
200
|
-
};
|
201
|
-
if(index === 0) { // add header 1 time
|
202
|
-
rows[0].push(fieldValue);
|
203
|
-
}
|
204
|
-
}
|
205
|
-
|
206
|
-
var rics = identifiers;
|
207
|
-
for (i = 0; i < rics.length; i++) {
|
208
|
-
|
209
|
-
var ric = rics[i];
|
210
|
-
var rowValue = [
|
211
|
-
ric,
|
212
|
-
field
|
213
|
-
];
|
214
|
-
for (j = 1; j <= betweenDay + 1; j++) {
|
215
|
-
var generatedValue = DataGenerator.generateRecord(field);
|
216
|
-
rowValue.push(generatedValue[field]);
|
217
|
-
|
218
|
-
}
|
219
|
-
rows.push(rowValue);
|
220
|
-
}
|
221
|
-
// The example rows should be look like
|
222
|
-
/*
|
223
|
-
[
|
224
|
-
[
|
225
|
-
{
|
226
|
-
"h": true,
|
227
|
-
"i": "instrument",
|
228
|
-
"v": "Instrument"
|
229
|
-
},
|
230
|
-
{
|
231
|
-
"h": true,
|
232
|
-
"i": "date",
|
233
|
-
"v": "Date"
|
234
|
-
},
|
235
|
-
{
|
236
|
-
"h": true,
|
237
|
-
"v": "2011-08-11T00:00:00"
|
238
|
-
},
|
239
|
-
{
|
240
|
-
"h": true,
|
241
|
-
"v": "2011-08-12T00:00:00"
|
242
|
-
},
|
243
|
-
{
|
244
|
-
"h": true,
|
245
|
-
"v": "2011-08-15T00:00:00"
|
246
|
-
}
|
247
|
-
],
|
248
|
-
[
|
249
|
-
"IBM",
|
250
|
-
"Price Close", // NOTE: this cannot be detech we join it with space Ex. PriceClose
|
251
|
-
159.25449372,
|
252
|
-
160.6585848,
|
253
|
-
165.23382036
|
254
|
-
],
|
255
|
-
[
|
256
|
-
"GOOGL.O",
|
257
|
-
"Price Close",
|
258
|
-
14.066881653,
|
259
|
-
14.107921423,
|
260
|
-
13.944262828
|
261
|
-
]
|
262
|
-
]
|
263
|
-
*/
|
264
|
-
}
|
265
|
-
|
266
|
-
} else {
|
267
|
-
|
268
|
-
identifiers = payload.identifiers;
|
269
|
-
formula = Adc.splitFields(payload.formula);
|
270
|
-
fields = [];
|
271
|
-
|
272
|
-
// _invalidFieldDict is a dictionary of non exist field
|
273
|
-
// so we must remove invalid field to make "mocking api" return result more like a "real api".
|
274
|
-
invalidDict = _invalidFieldDict;
|
275
|
-
for (i = 0; i < formula.length; i++) {
|
276
|
-
f = formula[i];
|
277
|
-
if (!invalidDict[f]) {
|
278
|
-
fields.push(f);
|
279
|
-
}
|
280
|
-
}
|
281
|
-
|
282
|
-
rows[0] = [{
|
283
|
-
"h": true,
|
284
|
-
"i": "instrument",
|
285
|
-
"v": "Instrument"
|
286
|
-
}];
|
287
|
-
for (i = 0; i < fields.length; i++) {
|
288
|
-
f = fields[i];
|
289
|
-
rows[0].push({
|
290
|
-
"h": true,
|
291
|
-
"r": f.toUpperCase().trim()
|
292
|
-
// "v": "Price Close", // Doesn't use
|
293
|
-
// "p": "I_TRP_PH_PriceClose" // Doesn't use this property
|
294
|
-
});
|
295
|
-
}
|
296
|
-
|
297
|
-
// build data
|
298
|
-
var rowMap = {};
|
299
|
-
|
300
|
-
len = identifiers.length;
|
301
|
-
var rowData = dataGen.generate(fields, len);
|
302
|
-
for (i = 0; i < len; ++i) {
|
303
|
-
var inst = identifiers[i];
|
304
|
-
row = rowMap[inst];
|
305
|
-
if (!row) {
|
306
|
-
row = rowMap[inst] = rowData[i];
|
307
|
-
row.unshift(inst); // prepend instrument on each row
|
308
|
-
}
|
309
|
-
rows.push(row);
|
310
|
-
}
|
311
|
-
|
312
|
-
// There is a chance that rtk will return multiple row data per instrument
|
313
|
-
// so we must create mock up for this case
|
314
|
-
if (rows.length > 0) {
|
315
|
-
var chance = dataGen.randInt(1, 10);
|
316
|
-
if (chance <= 3) { // chance 30%
|
317
|
-
var pos = dataGen.randInt(0, rows.length - 1); // random row pos
|
318
|
-
row = rows[pos];
|
319
|
-
len = row.length;
|
320
|
-
var mockupRow = new Array(len);
|
321
|
-
mockupRow[0] = row[0]; // 1st index is for instrument
|
322
|
-
for (i = 1; i < len; i++) {
|
323
|
-
mockupRow[i] = ''; // real case will return null or empty string
|
324
|
-
}
|
325
|
-
rows.splice(pos + 1, 0, mockupRow);
|
326
|
-
}
|
327
|
-
}
|
328
|
-
}
|
329
|
-
|
330
|
-
|
331
|
-
/*
|
332
|
-
response type is :
|
333
|
-
{
|
334
|
-
cols: number,
|
335
|
-
faults: Array<obj>,
|
336
|
-
rows: Array<obj>,
|
337
|
-
status: string
|
338
|
-
}
|
339
|
-
Currently, we use only the rows property for cache ADC data
|
340
|
-
*/
|
341
|
-
return Promise.resolve(JSON.stringify({
|
342
|
-
rows: rows
|
343
|
-
// TODO : supports faults property
|
344
|
-
}));
|
345
|
-
};
|
346
|
-
|
347
|
-
/**
|
348
|
-
* Splits a string of comma-separated fields into an array of individual field names with optional parentheses and contents.
|
349
|
-
*
|
350
|
-
* @param {string} strFields - The string of comma-separated fields to split.
|
351
|
-
* @returns {Array<string>} - An array of individual field names with optional parentheses and contents.
|
352
|
-
*/
|
353
|
-
Adc.splitFields = function(strFields) {
|
354
|
-
if(!strFields) {
|
355
|
-
return [];
|
356
|
-
}
|
357
|
-
|
358
|
-
// Split the input string using the regular expression
|
359
|
-
// regex is match commas that are not inside parentheses
|
360
|
-
/*
|
361
|
-
, - matches a comma
|
362
|
-
(?![^()]*\) - negative lookahead assertion that matches if the comma is not followed by:
|
363
|
-
[^()]* - any characters that are not opening or closing parentheses
|
364
|
-
\) - a closing parenthesis
|
365
|
-
) - ending delimiter of the regular expression
|
366
|
-
*/
|
367
|
-
var fields = strFields.split(/,(?![^()]*\))/);
|
368
|
-
fields = fields.map(function(field) {
|
369
|
-
return field.trim();
|
370
|
-
});
|
371
|
-
|
372
|
-
return fields;
|
373
|
-
};
|
374
|
-
|
375
90
|
/** @public
|
376
91
|
* @function
|
377
92
|
* @param {string} dataType
|
@@ -274,6 +274,8 @@ declare class DataView extends EventDispatcher {
|
|
274
274
|
|
275
275
|
public sortSegments(compare: ((...params: any[]) => any)|null): void;
|
276
276
|
|
277
|
+
public enableEmptySegmentFiltering(enabled?: boolean|null): void;
|
278
|
+
|
277
279
|
public setSegmentClassification(segmentRef: string|number|null, fields: string|(string)[]|null): boolean;
|
278
280
|
|
279
281
|
public getWrapSize(): number;
|
@@ -405,10 +405,6 @@ declare class Core extends ElementWrapper {
|
|
405
405
|
|
406
406
|
public getColumnGroupChildIds(groupId: string): (string)[]|null;
|
407
407
|
|
408
|
-
public getValidColumnList(colIds: (string)[]|null, columnMap?: any): (string)[];
|
409
|
-
|
410
|
-
public createColumnMap(colIds?: (string)[]|null): any;
|
411
|
-
|
412
408
|
public startBatch(batchType: string): boolean;
|
413
409
|
|
414
410
|
public stopBatch(batchType: string): boolean;
|
@@ -85,7 +85,8 @@ declare namespace Grid {
|
|
85
85
|
fieldCaching?: boolean|null,
|
86
86
|
timeSeriesExpansion?: boolean|null,
|
87
87
|
childDataField?: string|null,
|
88
|
-
topSection?: boolean|null
|
88
|
+
topSection?: boolean|null,
|
89
|
+
sorting?: SortableTitlePlugin.Options|null
|
89
90
|
};
|
90
91
|
|
91
92
|
type RowReference = number|string|RowDefinition|null;
|
package/lib/utils/index.d.ts
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
|
1
|
+
import { GridPrinter } from "../tr-grid-printer/es6/GridPrinter.js";
|
2
|
+
import { MultiTableManager } from "../tr-grid-util/es6/MultiTableManager.js";
|
3
|
+
import { DataGenerator } from "../tr-grid-util/es6/jet/DataGenerator.js";
|
4
|
+
import { MockRTK } from "../tr-grid-util/es6/jet/MockRTK.js";
|
5
|
+
export { GridPrinter, MultiTableManager, DataGenerator, MockRTK };
|
package/lib/utils/index.js
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
|
1
|
+
import { GridPrinter } from "../tr-grid-printer/es6/GridPrinter.js";
|
2
|
+
import { MultiTableManager } from "../tr-grid-util/es6/MultiTableManager.js";
|
3
|
+
import { DataGenerator } from "../tr-grid-util/es6/jet/DataGenerator.js";
|
4
|
+
import { MockRTK } from "../tr-grid-util/es6/jet/MockRTK.js";
|
5
|
+
export { GridPrinter, MultiTableManager, DataGenerator, MockRTK };
|
package/lib/versions.json
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
{
|
2
|
-
"tr-grid-util": "1.3.111",
|
3
2
|
"@grid/column-dragging": "1.0.14",
|
4
3
|
"@grid/row-segmenting": "1.0.24",
|
5
4
|
"@grid/statistics-row": "1.0.14",
|
@@ -21,17 +20,16 @@
|
|
21
20
|
"tr-grid-in-cell-editing": "1.0.78",
|
22
21
|
"tr-grid-pagination": "1.0.24",
|
23
22
|
"tr-grid-percent-bar": "1.0.22",
|
24
|
-
"tr-grid-printer": "1.0.16",
|
25
23
|
"tr-grid-range-bar": "2.0.4",
|
26
24
|
"tr-grid-row-dragging": "1.0.29",
|
27
|
-
"tr-grid-row-filtering": "1.0.
|
28
|
-
"tr-grid-row-grouping": "1.0.
|
25
|
+
"tr-grid-row-filtering": "1.0.57",
|
26
|
+
"tr-grid-row-grouping": "1.0.81",
|
29
27
|
"tr-grid-row-selection": "1.0.23",
|
30
28
|
"tr-grid-rowcoloring": "1.0.23",
|
31
29
|
"tr-grid-textformatting": "1.0.45",
|
32
30
|
"tr-grid-titlewrap": "1.0.19",
|
33
31
|
"@grid/formatters": "1.0.50",
|
34
|
-
"@grid/column-selection-dialog": "4.0.
|
32
|
+
"@grid/column-selection-dialog": "4.0.49",
|
35
33
|
"@grid/filter-dialog": "4.0.57",
|
36
34
|
"@grid/column-format-dialog": "4.0.44"
|
37
35
|
}
|
package/lib/window-exporter.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import * as allComponents from './index.js';
|
2
|
+
import * as utils from './utils/index.js';
|
2
3
|
import { MockJET } from './tr-grid-util/es6/jet/MockJET.js';
|
3
4
|
import { MockRTK } from './tr-grid-util/es6/jet/MockRTK.js';
|
4
5
|
import { MockQuotes2 } from './tr-grid-util/es6/jet/MockQuotes2.js';
|
@@ -11,3 +12,7 @@ window.MockQuotes2 = MockQuotes2;
|
|
11
12
|
for (const component in allComponents) {
|
12
13
|
window[component] = allComponents[component];
|
13
14
|
}
|
15
|
+
|
16
|
+
for (const util in utils) {
|
17
|
+
window[util] = utils[util];
|
18
|
+
}
|
package/package.json
CHANGED
@@ -1,49 +0,0 @@
|
|
1
|
-
import { Ext } from "../../tr-grid-util/es6/Ext.js";
|
2
|
-
import { ElementWrapper } from "../../tr-grid-util/es6/ElementWrapper.js"; // ElementWrapper doesnot have setStyle and etc.
|
3
|
-
import { Dom } from "../../tr-grid-util/es6/Dom.js";
|
4
|
-
|
5
|
-
declare class CellWriter extends ElementWrapper {
|
6
|
-
|
7
|
-
constructor();
|
8
|
-
|
9
|
-
public getContent(): Node|null|null;
|
10
|
-
|
11
|
-
public setContent(content: any, opt_tooltip?: boolean): Element|null;
|
12
|
-
|
13
|
-
public setTooltip(str: string): void;
|
14
|
-
|
15
|
-
public setTextContent(str: string): void;
|
16
|
-
|
17
|
-
public addContent(n: any): Element|null;
|
18
|
-
|
19
|
-
public setStyle(str: string, val: any): void;
|
20
|
-
|
21
|
-
public removeIcon(n: any): void;
|
22
|
-
|
23
|
-
public updateIcon(elem: Element): void;
|
24
|
-
|
25
|
-
public unlisten(): void;
|
26
|
-
|
27
|
-
public listen(): void;
|
28
|
-
|
29
|
-
public setTooltip(): void;
|
30
|
-
|
31
|
-
public addClass(str: string): void;
|
32
|
-
|
33
|
-
public hasClass(str: string): void;
|
34
|
-
|
35
|
-
public removeClass(str: string): void;
|
36
|
-
|
37
|
-
public enableClass(str: string, bool: boolean): void;
|
38
|
-
|
39
|
-
public insertFloatingIcon(elem: Element, order: number): void;
|
40
|
-
|
41
|
-
public removeFloatingIcon(elemRef: string|Element, order: number): void;
|
42
|
-
|
43
|
-
public getSection(): null;
|
44
|
-
|
45
|
-
public cloak(elem: Element): void;
|
46
|
-
|
47
|
-
}
|
48
|
-
|
49
|
-
export { CellWriter };
|
@@ -1,226 +0,0 @@
|
|
1
|
-
import { Ext } from "../../tr-grid-util/es6/Ext.js";
|
2
|
-
import { ElementWrapper } from "../../tr-grid-util/es6/ElementWrapper.js"; // ElementWrapper doesnot have setStyle and etc.
|
3
|
-
import { Dom } from "../../tr-grid-util/es6/Dom.js";
|
4
|
-
|
5
|
-
/**
|
6
|
-
* @constructor
|
7
|
-
* @extends {ElementWrapper}
|
8
|
-
*/
|
9
|
-
var CellWriter = function () {
|
10
|
-
};
|
11
|
-
Ext.inherits(CellWriter, ElementWrapper);
|
12
|
-
|
13
|
-
/** @type
|
14
|
-
* @private
|
15
|
-
*/
|
16
|
-
CellWriter.prototype._flexRow = null;
|
17
|
-
/** @type
|
18
|
-
* @private
|
19
|
-
*/
|
20
|
-
CellWriter.prototype._floatingPanel = null;
|
21
|
-
/** @type
|
22
|
-
* @private
|
23
|
-
*/
|
24
|
-
CellWriter.prototype._frontPanel = null;
|
25
|
-
|
26
|
-
|
27
|
-
/** @public
|
28
|
-
* @return {Node|null} content
|
29
|
-
*/
|
30
|
-
CellWriter.prototype.getContent = function () {
|
31
|
-
return this._elem.children[0] || null;
|
32
|
-
};
|
33
|
-
/** @public
|
34
|
-
* @param {*} content
|
35
|
-
* @param {boolean=} opt_tooltip
|
36
|
-
* @return {Element}
|
37
|
-
*/
|
38
|
-
CellWriter.prototype.setContent = function (content, opt_tooltip) {
|
39
|
-
if(content == null) {
|
40
|
-
return null;
|
41
|
-
}
|
42
|
-
if(content["getElement"]) {
|
43
|
-
content = /** @type{Element} */(content["getElement"]());
|
44
|
-
} else if(content.nodeType !== 1) {
|
45
|
-
content = this._createTextContent(content);
|
46
|
-
}
|
47
|
-
Dom.removeChildren(this._elem);
|
48
|
-
this._elem.appendChild(/** @type{Node} */(content));
|
49
|
-
return /** @type{Element} */(content);
|
50
|
-
};
|
51
|
-
|
52
|
-
/**
|
53
|
-
* Set value to title. If value is absent then a title will be removed
|
54
|
-
* @public
|
55
|
-
* @param {string} str
|
56
|
-
*/
|
57
|
-
CellWriter.prototype.setTooltip = function (str) {
|
58
|
-
if(str) {
|
59
|
-
this._elem.setAttribute("title", str);
|
60
|
-
} else {
|
61
|
-
this._elem.removeAttribute("title");
|
62
|
-
}
|
63
|
-
};
|
64
|
-
|
65
|
-
/** @public
|
66
|
-
* @param {string} str
|
67
|
-
*/
|
68
|
-
CellWriter.prototype.setTextContent = function (str) {
|
69
|
-
Dom.removeChildren(this._elem);
|
70
|
-
this._elem.appendChild(this._createTextContent(str));
|
71
|
-
};
|
72
|
-
/** @public
|
73
|
-
* @param {*} n
|
74
|
-
* @return {Element}
|
75
|
-
*/
|
76
|
-
CellWriter.prototype.addContent = function (n) {
|
77
|
-
this._elem.appendChild(/** @type{Node} */(n));
|
78
|
-
return /** @type{Element} */(n);
|
79
|
-
};
|
80
|
-
/** @private
|
81
|
-
* @param {string} str
|
82
|
-
* @return {Element}
|
83
|
-
*/
|
84
|
-
CellWriter.prototype._createTextContent = function (str) {
|
85
|
-
var div = Dom.div("text");
|
86
|
-
if(str != null) {
|
87
|
-
div.textContent = str;
|
88
|
-
this["percentText"] = str; // HACK
|
89
|
-
}
|
90
|
-
return div;
|
91
|
-
};
|
92
|
-
|
93
|
-
/** @public
|
94
|
-
* @param {string} str
|
95
|
-
* @param {*} val
|
96
|
-
*/
|
97
|
-
CellWriter.prototype.setStyle = function (str, val) {
|
98
|
-
this._elem.style[str] = val;
|
99
|
-
};
|
100
|
-
/** @public
|
101
|
-
* @param {*} n
|
102
|
-
*/
|
103
|
-
CellWriter.prototype.removeIcon = function (n) {};
|
104
|
-
/** @public
|
105
|
-
* @param {Element} elem
|
106
|
-
*/
|
107
|
-
CellWriter.prototype.updateIcon = function (elem) {
|
108
|
-
if(elem && elem.nodeType === 1) {
|
109
|
-
var fp = this._frontPanel;
|
110
|
-
if(!fp) {
|
111
|
-
this._flexRow = document.createElement("div");
|
112
|
-
this._flexRow.className = "tr-printing-flex-row";
|
113
|
-
|
114
|
-
fp = this._floatingPanel = document.createElement("div");
|
115
|
-
fp.className = "tr-printing-float-right";
|
116
|
-
this._flexRow.appendChild(fp);
|
117
|
-
var chdr = this._elem.children;
|
118
|
-
var childCount = chdr.length;
|
119
|
-
if(childCount) {
|
120
|
-
var ary = new Array(childCount);
|
121
|
-
for(var i = 0; i < childCount; ++i) {
|
122
|
-
ary[i] = chdr[i];
|
123
|
-
}
|
124
|
-
Dom.appendChild(this._flexRow, ary);
|
125
|
-
}
|
126
|
-
this._elem.appendChild(this._flexRow);
|
127
|
-
}
|
128
|
-
fp.appendChild(elem.cloneNode(true));
|
129
|
-
}
|
130
|
-
};
|
131
|
-
/** @public
|
132
|
-
*/
|
133
|
-
CellWriter.prototype.unlisten = function () {};
|
134
|
-
/** @public
|
135
|
-
*/
|
136
|
-
CellWriter.prototype.listen = function () {};
|
137
|
-
|
138
|
-
/** @public
|
139
|
-
*/
|
140
|
-
CellWriter.prototype.setTooltip = function () {};
|
141
|
-
|
142
|
-
/** @public
|
143
|
-
* @param {string} str
|
144
|
-
*/
|
145
|
-
CellWriter.prototype.addClass = function (str) {
|
146
|
-
this._elem.classList.add(str);
|
147
|
-
};
|
148
|
-
/** @public
|
149
|
-
* @param {string} str
|
150
|
-
*/
|
151
|
-
CellWriter.prototype.hasClass = function (str) {
|
152
|
-
this._elem.classList.contains(str);
|
153
|
-
};
|
154
|
-
/** @public
|
155
|
-
* @param {string} str
|
156
|
-
*/
|
157
|
-
CellWriter.prototype.removeClass = function (str) {
|
158
|
-
this._elem.classList.remove(str);
|
159
|
-
};
|
160
|
-
/** @public
|
161
|
-
* @param {string} str
|
162
|
-
* @param {boolean} bool
|
163
|
-
*/
|
164
|
-
CellWriter.prototype.enableClass = function (str, bool) {
|
165
|
-
if(bool || bool == null) {
|
166
|
-
this.addClass(str);
|
167
|
-
} else {
|
168
|
-
this.removeClass(str);
|
169
|
-
}
|
170
|
-
};
|
171
|
-
|
172
|
-
/** @public
|
173
|
-
* @param {Element} elem
|
174
|
-
* @param {number} order
|
175
|
-
*/
|
176
|
-
CellWriter.prototype.insertFloatingIcon = function (elem, order) {
|
177
|
-
if(elem && elem.nodeType === 1) {
|
178
|
-
var fp = this._floatingPanel;
|
179
|
-
if(!fp) {
|
180
|
-
this._flexRow = document.createElement("div");
|
181
|
-
this._flexRow.className = "tr-printing-flex-row";
|
182
|
-
|
183
|
-
var chdr = this._elem.children;
|
184
|
-
var childCount = chdr.length;
|
185
|
-
if(childCount) {
|
186
|
-
var ary = new Array(childCount);
|
187
|
-
for(var i = 0; i < childCount; ++i) {
|
188
|
-
ary[i] = chdr[i];
|
189
|
-
}
|
190
|
-
Dom.appendChild(this._flexRow, ary);
|
191
|
-
}
|
192
|
-
fp = this._floatingPanel = document.createElement("div");
|
193
|
-
fp.className = "tr-printing-float-right";
|
194
|
-
this._flexRow.appendChild(fp);
|
195
|
-
this._elem.appendChild(this._flexRow);
|
196
|
-
}
|
197
|
-
fp.appendChild(elem.cloneNode(true));
|
198
|
-
}
|
199
|
-
};
|
200
|
-
/** @public
|
201
|
-
* @param {string|Element} elemRef
|
202
|
-
* @param {number} order
|
203
|
-
*/
|
204
|
-
CellWriter.prototype.removeFloatingIcon = function (elemRef, order) {};
|
205
|
-
/** @public
|
206
|
-
* @return {null}
|
207
|
-
*/
|
208
|
-
CellWriter.prototype.getSection = function () {
|
209
|
-
return null;
|
210
|
-
};
|
211
|
-
|
212
|
-
/**
|
213
|
-
* @public
|
214
|
-
* @param {Element} elem
|
215
|
-
*/
|
216
|
-
CellWriter.prototype.cloak = function (elem) {
|
217
|
-
delete this.percentText;
|
218
|
-
delete this._flexRow;
|
219
|
-
delete this._floatingPanel;
|
220
|
-
delete this._frontPanel;
|
221
|
-
elem.className = "cell";
|
222
|
-
this._elem = elem;
|
223
|
-
};
|
224
|
-
|
225
|
-
|
226
|
-
export { CellWriter };
|