Files
KArtSell.Aegis/frontend/src/shared/ui/adapter/native/NativePaginatorAdapter.vue.js
T
kjh2064 3b76070394 PR 6: Database migration validation - fresh/upgrade test complete
 Database Setup:
- Created PostgreSQL kartselldb with kartsell user
- SSH port forward established (localhost:5432 → 178.104.200.7:5432)

 DbMigrator Fixes:
- Fixed migration path discovery (AppContext.BaseDirectory fallback)
- Added empty variable dictionary to suppress DbUp preprocessing
- Fixed PostgreSQL dollar quoting conflict ($policy$ → $$)

 Migration Results:
- All 21 migrations executed successfully
- Schema versions journal created and tracked
- 21 scripts processed in order, no rollback needed

Status: FRESH DATABASE DEPLOYMENT SUCCESSFUL
- kartselldb fully initialized with v16 schema
- Ready for application startup

Next: Deploy application and run integration tests

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-02 06:45:20 +09:00

67 lines
2.4 KiB
JavaScript

const props = withDefaults(defineProps(), { pageSizes: () => [20, 50, 100], disabled: false });
const emit = defineEmits();
const pageCount = () => Math.max(1, Math.ceil(props.total / props.pageSize));
function move(page) { emit('pageChange', { page: Math.min(Math.max(1, page), pageCount()), pageSize: props.pageSize }); }
function size(event) { emit('pageChange', { page: 1, pageSize: Number(event.target.value) }); }
const __VLS_defaults = { pageSizes: () => [20, 50, 100], disabled: false };
const __VLS_ctx = {
...{},
...{},
...{},
...{},
...{},
};
let __VLS_components;
let __VLS_intrinsics;
let __VLS_directives;
__VLS_asFunctionalElement1(__VLS_intrinsics.nav, __VLS_intrinsics.nav)({
...{ class: "ks-paginator" },
'aria-label': "목록 페이지",
});
/** @type {__VLS_StyleScopedClasses['ks-paginator']} */ ;
__VLS_asFunctionalElement1(__VLS_intrinsics.button, __VLS_intrinsics.button)({
...{ onClick: (...[$event]) => {
return (__VLS_ctx.move(__VLS_ctx.page - 1));
// @ts-ignore
[move, page,];
} },
type: "button",
disabled: (__VLS_ctx.disabled || __VLS_ctx.page <= 1),
});
__VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({});
(__VLS_ctx.page);
(__VLS_ctx.pageCount());
(__VLS_ctx.total);
__VLS_asFunctionalElement1(__VLS_intrinsics.button, __VLS_intrinsics.button)({
...{ onClick: (...[$event]) => {
return (__VLS_ctx.move(__VLS_ctx.page + 1));
// @ts-ignore
[move, page, page, page, disabled, pageCount, total,];
} },
type: "button",
disabled: (__VLS_ctx.disabled || __VLS_ctx.page >= __VLS_ctx.pageCount()),
});
__VLS_asFunctionalElement1(__VLS_intrinsics.label, __VLS_intrinsics.label)({});
__VLS_asFunctionalElement1(__VLS_intrinsics.select, __VLS_intrinsics.select)({
...{ onChange: (__VLS_ctx.size) },
value: (__VLS_ctx.pageSize),
disabled: (__VLS_ctx.disabled),
});
for (const [item] of __VLS_vFor((__VLS_ctx.pageSizes))) {
__VLS_asFunctionalElement1(__VLS_intrinsics.option, __VLS_intrinsics.option)({
key: (item),
value: (item),
});
(item);
// @ts-ignore
[page, disabled, disabled, pageCount, size, pageSize, pageSizes,];
}
// @ts-ignore
[];
const __VLS_export = (await import('vue')).defineComponent({
__typeEmits: {},
__typeProps: {},
props: {},
});
export default {};