Ng-table: ํŽ˜์ด์ง€์˜ ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ์ผ ๋•Œ ngTable์—์„œ ํ–‰ ์‚ญ์ œ

์— ๋งŒ๋“  2015๋…„ 10์›” 08์ผ  ยท  6์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: esvit/ng-table

2ํŽ˜์ด์ง€ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์—์„œ ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ์ด ์ œ๊ฑฐ๋˜๋ฉด ํŽ˜์ด์ง€ ๋งค๊น€ ํƒ์ƒ‰์ด ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

    $scope.tableParams = new ngTableParams({
        page: 1,            // show first page
        count: 10,           // count per page
        sorting: {
            firstName: 'asc'     // initial sorting
        }
    }, {
        total: 0,
        getData: function ($defer, params) {
            $scope.myData = angular.copy($scope.clients, []);
            var filteredData = params.filter() ?  $filter('filter')($scope.myData, params.filter()) : $scope.myData;
            var orderedData = params.sorting() ? $filter('orderBy')(filteredData, params.orderBy()) : filteredData;

            params.total(orderedData.length);
            var data = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());

            //EXTRA CHECK
            if (data.length === 0 && params.page() !== 1){
                params.page(params.page()-1);
                filteredData = params.filter() ?  $filter('filter')($scope.myData, params.filter()) : $scope.myData;
                orderedData = params.sorting() ? $filter('orderBy')(filteredData, params.orderBy()) : filteredData;
                params.total(orderedData.length);
                data = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
            }

            $defer.resolve(data);

        }
    });

ํ•„ํ„ฐ๋ง๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค์‹œ ๋น„์–ด ์žˆ๋Š”์ง€์™€ ์ฒซ ๋ฒˆ์งธ ํŽ˜์ด์ง€์— ์žˆ์ง€ ์•Š์€์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์œ„์˜ ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ฐ„๊ณผํ•˜๋Š” ์ด๊ฒƒ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” ๋˜ํ•œ ๊ณผ๊ฑฐ์— @msallati ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ

๋ชจ๋“  6 ๋Œ“๊ธ€

+1. ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ํ˜„์žฌ ํ–‰์ด ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ๋งˆ์ง€๋ง‰ ํ–‰์ด๊ณ  ์ฒซ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

if ($scope.tableParams.data.length == 1 && vm.tableParams.page() != 1) {
$scope..tableParams.page(vm.tableParams.page() - 1);
}
$scope.tableParams.reload();

๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ ๊ณผ๊ฑฐ์— ํ–ˆ๋˜ ์ผ์ด๋‹ค.

ngTable์ด ๊ณง ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
(์ด๋Š” ์ž ์žฌ์ ์ธ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Œ). ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์ œ์•ˆ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค
์ด๊ฒƒ์„ ์†”๋ฃจ์…˜์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

2017๋…„ 2์›” 7์ผ ํ™”์š”์ผ ์˜ค์ „ 9์‹œ 46๋ถ„์— M.Msallati [email protected]์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ํ˜„์žฌ ํ–‰์ด ํ•ด๋‹น ํ–‰์˜ ๋งˆ์ง€๋ง‰ ํ–‰์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŽ˜์ด์ง€์ด๊ณ  ์ฒซ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

if ($scope.tableParams.data.length == 1 && vm.tableParams.page() != 1) {
$scope..tableParams.page(vm.tableParams.page() - 1); }
$scope..tableParams.reload();

โ€”
์ด ์Šค๋ ˆ๋“œ์— ๊ฐ€์ž…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/esvit/ng-table/issues/720#issuecomment-277949435 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/AA2HPnt6g1_cHsg4NhwX9VKNbwHuzASsks5raD2HgaJpZM4GLPEq
.

๋‚˜๋Š” ๋˜ํ•œ ๊ณผ๊ฑฐ์— @msallati ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ

๋ฌธ์ œ๋Š” ngTable์ด ์‚ญ์ œ ์ž‘์—…์— ๋Œ€ํ•ด "๋ชจ๋ฅธ๋‹ค"๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ngTable์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๊ด€์ฐฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์„ฑ๋Šฅ ๋ฌธ์ œ

2017๋…„ 2์›” 7์ผ ํ™”์š”์ผ ์˜ค์ „ 10์‹œ 4๋ถ„, Jakub Powierza [email protected]
์ผ๋‹ค:

๋‚˜๋Š” ๋˜ํ•œ @msallati https://github.com/msallati ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ณผ๊ฑฐ. ๊ฝค ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ์ด ์ˆ˜์ • ์‚ฌํ•ญ์„ ngTable์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
์กฐ๊ธˆ ๊ท€์ฐฎ์•„์„œ.. ์‚ญ์ œ์‹œ ํ•œ๋ฒˆ๋งŒ ์ฒดํฌ
์ž‘์—…์ด๋ฏ€๋กœ ์ „์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ์—†์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/esvit/ng-table/issues/720#issuecomment-277953666 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/AA2HPo3igPmhmaPxxusbi-rJ1YreOLGqks5raEGigaJpZM4GLPEq
.

์„ค๋ช… ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ด์ œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์™„์ „ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰