-
Notifications
You must be signed in to change notification settings - Fork 416
Open
Labels
Description
Version : 4.21.19
1. appendRows ์ฌ์ฉ ์ Summary ๊ฐ์ด ๊ฐฑ์ ๋์ง ์๋ ๋ฌธ์
๋ฌธ์ ์ค๋ช
appendRowsํจ์ ์ฌ์ฉ์ summary๊ฐ ์ ๋ฐ์ดํธ ๋์ง ์์.
๊ธฐ๋ ๋์
appendRows ํธ์ถ ์ดํ summary๊ฐ ์ฆ์ ์ ์์ ์ผ๋ก ๊ฐฑ์ ๋์ด์ผ ํจ.
์์ ์ ์ ์ฝ๋
// appendRows: summary๊ฐ ์๋ ๊ฐฑ์ ๋์ง ์์ โ updateAllSummaryValues ํธ์ถ ํ์
function appendRows(store, inputData) {
var data = store.data, column = store.column, id = store.id;
var startIndex = data.rawData.length;
var _a = data_1.createData(id, inputData, column, { lazyObservable: true }), rawData = _a.rawData, viewData = _a.viewData;
if (!column.keyColumnName) {
var rowKey_1 = data_2.getMaxRowKey(data);
rawData.forEach(function (row, index) {
row.rowKey = rowKey_1 + index;
});
viewData.forEach(function (row, index) {
row.rowKey = rowKey_1 + index;
});
}
data.rawData = data.rawData.concat(rawData);
data.viewData = data.viewData.concat(viewData);
sort_1.resetSortKey(data, startIndex);
sort_1.sortByCurrentState(store);
updateHeights(store);
// โ
updateAllSummaryValuesํจ์ ๋ฑ ํ์ค๋ง ์ถ๊ฐ ํ์
summary_1.updateAllSummaryValues(store);
rawData.forEach(rawRow => instance_1.getDataManager(id).push('CREATE', [rawRow]));
postUpdateAfterManipulation(store, startIndex, 'DONE', rawData);
rowSpan_2.updateRowSpan(store);
}
2. getSummaryValue ํจ์์์ ํํฐ๋ง๋ summary ๊ฐ์ด ์ผ๊ด๋์ง ์๊ฒ ๋ฐํ๋๋ ๋ฌธ์
๋ฌธ์ ์ค๋ช
ํํฐ์ฌ์ฉ์, summary๋ getDate()์ summary๋ก ๋ฐ์๋จ.
๋ฌธ์ ์ฝ๋(๊ธฐ์กด)
return tslib_1.__assign(tslib_1.__assign({}, summaryValue), // <-- summaryValue ๋ฅผ ์ฐ๊ณ ์์. filteredColumnValues ๊ฐ ๋์ด์ผ ์ ํฉํด๋ณด์.
assignFilteredSummaryValue(calculate(filteredColumnValues)));
๊ธฐ๋ ๋์
ํํฐ๋ง์ด ์ ์ฉ๋ ๊ฒฝ์ฐ, summary์ ๊ฐ๋ ํํฐ๋ง๋ ํ์ ๊ณ์ฐ๊ฐ์ด ๋์์ผํจ.
์์ ์ ์ ์ฝ๋
function getSummaryValue(columnName, rawData, filteredRawData) {
var columnValues = rawData.map(function (row) {
return row[columnName];
});
var summaryValue = calculate(columnValues);
if (rawData.length === filteredRawData.length) {
return tslib_1.__assign(tslib_1.__assign({}, summaryValue), assignFilteredSummaryValue(summaryValue));
}
var filteredColumnValues = filteredRawData.map(function (row) {
return row[columnName];
});
var filteredSummaryValue = calculate(filteredColumnValues);
// โ
ํํฐ ์ํฉ์์๋ ํํฐ filteredSummaryValue ๊ธฐ์ค์ผ๋ก ์ ์ฒด ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑ
return tslib_1.__assign(tslib_1.__assign({}, filteredSummaryValue),
assignFilteredSummaryValue(filteredSummaryValue));
}
Reactions are currently unavailable