Merge remote-tracking branch 'powerbi/master'
This commit is contained in:
Коммит
a8001c15cb
|
@ -1800,8 +1800,8 @@ function _Visual_ExportData_Summarized() {
|
|||
|
||||
// Exports visual data
|
||||
visual.exportData(models.ExportDataType.Summarized)
|
||||
.then(function (data) {
|
||||
Log.log(data);
|
||||
.then(function (result) {
|
||||
Log.logCsv(result.data);
|
||||
})
|
||||
.catch(function (errors) {
|
||||
Log.log(errors);
|
||||
|
@ -1845,8 +1845,8 @@ function _Visual_ExportData_Underlying() {
|
|||
|
||||
// Exports visual data
|
||||
visual.exportData(models.ExportDataType.Underlying)
|
||||
.then(function (data) {
|
||||
Log.log(data);
|
||||
.then(function (result) {
|
||||
Log.logCsv(result.data);
|
||||
})
|
||||
.catch(function (errors) {
|
||||
Log.log(errors);
|
||||
|
|
|
@ -2,11 +2,14 @@ function InitLogger(divId) {
|
|||
|
||||
var Logger = {};
|
||||
|
||||
Logger.log = function name(event) {
|
||||
// Normal character takes ~1.5 width more than a space ' '.
|
||||
Logger.spaceWidthCorrection = 1.3;
|
||||
|
||||
Logger.log = function (event) {
|
||||
this.logText("Json Object\n" + JSON.stringify(event, null, " "));
|
||||
};
|
||||
|
||||
Logger.logText = function name(text) {
|
||||
Logger.logText = function (text) {
|
||||
let textbox = document.getElementById(divId);
|
||||
|
||||
if (!textbox.value)
|
||||
|
@ -19,5 +22,78 @@ function InitLogger(divId) {
|
|||
textbox.scrollTop = textbox.scrollHeight;
|
||||
};
|
||||
|
||||
Logger.logCsv = function (text) {
|
||||
let textbox = document.getElementById(divId);
|
||||
|
||||
if (!textbox.value)
|
||||
{
|
||||
textbox.value = "";
|
||||
}
|
||||
|
||||
let maxLength = 0;
|
||||
let lines = text.split("\r\n");
|
||||
let valuesPerLine = [];
|
||||
|
||||
let log = "> CSV result in table view: \n\n";
|
||||
if (!lines || lines.length === 0) {
|
||||
log += "No data";
|
||||
}
|
||||
else {
|
||||
// Calcualte values per line, and calculate max length for pretty print.
|
||||
for (let i = 0; i < lines.length; ++i) {
|
||||
valuesPerLine[i] = lines[i].split(",");
|
||||
valuesPerLine[i].forEach(function (val) {
|
||||
if (val.length > maxLength) {
|
||||
maxLength = val.length;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Add 2 spaces before and after.
|
||||
maxLength += 4;
|
||||
|
||||
// Print title line
|
||||
var title = this.getLineText(valuesPerLine[0], maxLength);
|
||||
log += title + "\n";
|
||||
log += this.repeatChar("-", title.length) + "\n";
|
||||
|
||||
// Print all lines
|
||||
for (let i = 1; i < lines.length; ++i) {
|
||||
log += this.getLineText(valuesPerLine[i], maxLength) + "\n"
|
||||
}
|
||||
}
|
||||
|
||||
textbox.value += log;
|
||||
textbox.scrollTop = textbox.scrollHeight;
|
||||
};
|
||||
|
||||
Logger.getLineText = function (values, spacesPerWord) {
|
||||
var text = "";
|
||||
_this = this;
|
||||
values.forEach(function (val) {
|
||||
text += _this.getCenteredText(val, spacesPerWord);
|
||||
});
|
||||
return text;
|
||||
};
|
||||
|
||||
Logger.getCenteredText = function (value, spaces) {
|
||||
var text = "";
|
||||
|
||||
let spacesBefore = (spaces - value.length) / 2;
|
||||
let spacesAfter = spaces - value.length - spacesBefore;
|
||||
text += this.repeatChar(" ", spacesBefore * this.spaceWidthCorrection);
|
||||
text += value;
|
||||
text += this.repeatChar(" ", spacesAfter * this.spaceWidthCorrection);
|
||||
return text;
|
||||
};
|
||||
|
||||
Logger.repeatChar = function (char, times) {
|
||||
let text = "";
|
||||
for (let i = 0; i < times; ++i) {
|
||||
text += char;
|
||||
}
|
||||
return text;
|
||||
};
|
||||
|
||||
return Logger;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче