Skip to content

Summary ๊ด€๋ จ ๋ฌธ์ œ 2๊ฑด ๋ณด๊ณ  ๋ฐ ์ˆ˜์ • ์ œ์•ˆย #2106

@HIMZ5221

Description

@HIMZ5221

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));
        }

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions