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)"
[isCellEditValid]="onIsCellEditValid"
[overrideCellFn]="overrideCellFn"
enableEditing="true"
[enableEditing]="true"
class="boxCol content vertBox slickgrid">
</slick-grid>
</div>

View File

@@ -187,10 +187,23 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On
let dataWithSchema = {};
// skip the first column since its a number column
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;
});
// 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 gridData: IGridDataRow[] = result.subset.map(row => {
// 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);
});
});
@@ -367,17 +377,11 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On
index => { return {}; }
),
columnDefinitions: [rowNumberColumn.getColumnDefinition()].concat(resultSet.columnInfo.map((c, i) => {
let isLinked = c.isXml || c.isJson;
let linkType = c.isXml ? 'xml' : 'json';
return {
id: i.toString(),
name: c.columnName === 'Microsoft SQL Server 2005 XML Showplan'
? 'XML Showplan'
: escape(c.columnName),
name: escape(c.columnName),
field: i.toString(),
formatter: isLinked ? Services.hyperLinkFormatter : Services.textFormatter,
asyncPostRender: isLinked ? self.linkHandler(linkType) : undefined,
formatter: Services.textFormatter,
isEditable: c.isUpdatable
};
}))
@@ -533,7 +537,7 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On
self.windowSize,
self.dataSet.totalRows,
self.loadDataFunction,
index => { return { values: [] }; }
index => { return {}; }
);
// Refresh grid
@@ -555,7 +559,7 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On
this.windowSize,
this.dataSet.totalRows,
this.loadDataFunction,
index => { return { values: [] }; }
index => { return {}; }
);
// refresh results view