Fix Edit data bugs (#2428)

* fix data loading function to fix html entities in edit data

* fix edit data formatting and null row display

* formatting
This commit is contained in:
Anthony Dresser
2018-09-06 09:57:07 -07:00
committed by Karl Burtram
parent f12f1cb392
commit 2e05c0a7d9
2 changed files with 19 additions and 15 deletions

View File

@@ -23,7 +23,7 @@
(onContextMenu)="openContextMenu($event, dataSet.batchId, dataSet.resultId, i)" (onContextMenu)="openContextMenu($event, dataSet.batchId, dataSet.resultId, i)"
[isCellEditValid]="onIsCellEditValid" [isCellEditValid]="onIsCellEditValid"
[overrideCellFn]="overrideCellFn" [overrideCellFn]="overrideCellFn"
enableEditing="true" [enableEditing]="true"
class="boxCol content vertBox slickgrid"> class="boxCol content vertBox slickgrid">
</slick-grid> </slick-grid>
</div> </div>

View File

@@ -187,10 +187,23 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On
let dataWithSchema = {}; let dataWithSchema = {};
// skip the first column since its a number column // skip the first column since its a number column
for (let i = 1; i < this.dataSet.columnDefinitions.length; i++) { for (let i = 1; i < this.dataSet.columnDefinitions.length; i++) {
dataWithSchema[this.dataSet.columnDefinitions[i].field] = r.cells[i - 1].displayValue; dataWithSchema[this.dataSet.columnDefinitions[i].field] = {
displayValue: r.cells[i - 1].displayValue,
ariaLabel: escape(r.cells[i - 1].displayValue),
isNull: r.cells[i - 1].isNull
};
} }
return dataWithSchema; return dataWithSchema;
}); });
// should add null row?
if (offset + count > this.dataSet.totalRows - 1) {
gridData.push(this.dataSet.columnDefinitions.reduce((p, c) => {
p[c.field] = 'NULL';
return p;
}, {}));
}
// let rowIndex = offset; // let rowIndex = offset;
// let gridData: IGridDataRow[] = result.subset.map(row => { // let gridData: IGridDataRow[] = result.subset.map(row => {
// self.idMapping[rowIndex] = row.id; // self.idMapping[rowIndex] = row.id;
@@ -202,9 +215,6 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On
// }; // };
// }); // });
// Append a NULL row to the end of gridData
// let newLastRow = gridData.length === 0 ? 0 : (gridData[gridData.length - 1].row + 1);
// gridData.push({ values: self.dataSet.columnDefinitions.map(cell => { return { displayValue: 'NULL', isNull: false }; }), row: newLastRow });
resolve(gridData); resolve(gridData);
}); });
}); });
@@ -367,17 +377,11 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On
index => { return {}; } index => { return {}; }
), ),
columnDefinitions: [rowNumberColumn.getColumnDefinition()].concat(resultSet.columnInfo.map((c, i) => { columnDefinitions: [rowNumberColumn.getColumnDefinition()].concat(resultSet.columnInfo.map((c, i) => {
let isLinked = c.isXml || c.isJson;
let linkType = c.isXml ? 'xml' : 'json';
return { return {
id: i.toString(), id: i.toString(),
name: c.columnName === 'Microsoft SQL Server 2005 XML Showplan' name: escape(c.columnName),
? 'XML Showplan'
: escape(c.columnName),
field: i.toString(), field: i.toString(),
formatter: isLinked ? Services.hyperLinkFormatter : Services.textFormatter, formatter: Services.textFormatter,
asyncPostRender: isLinked ? self.linkHandler(linkType) : undefined,
isEditable: c.isUpdatable isEditable: c.isUpdatable
}; };
})) }))
@@ -533,7 +537,7 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On
self.windowSize, self.windowSize,
self.dataSet.totalRows, self.dataSet.totalRows,
self.loadDataFunction, self.loadDataFunction,
index => { return { values: [] }; } index => { return {}; }
); );
// Refresh grid // Refresh grid
@@ -555,7 +559,7 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On
this.windowSize, this.windowSize,
this.dataSet.totalRows, this.dataSet.totalRows,
this.loadDataFunction, this.loadDataFunction,
index => { return { values: [] }; } index => { return {}; }
); );
// refresh results view // refresh results view