${specialDomestic}
${specialWar}
`;
+ },
+ width: 90,
+ columnGroupShow: "closed",
+ },
+ {
+ headerName: "성격",
+ field: "personal",
+ valueFormatter: naiveCheClassNameFilterFromRow("personal"),
+ width: 70,
+ sortable: true,
+ filter: true,
+ columnGroupShow: "open",
+ },
+ {
+ headerName: "내특",
+ field: "specialDomestic",
+ valueFormatter: naiveCheClassNameFilterFromRow("specialDomestic"),
+ width: 70,
+ sortable: true,
+ filter: true,
+ columnGroupShow: "open",
+ },
+ {
+ headerName: "전특",
+ field: "specialWar",
+ valueFormatter: naiveCheClassNameFilterFromRow("specialWar"),
+ width: 70,
+ sortable: true,
+ filter: true,
+ columnGroupShow: "open",
+ },
+ ],
+ },
+ years: {
+ headerName: "연도",
+ children: [
+ {
+ headerName: "요약",
+ cellRenderer: ({ data }: GenValueParams) => {
+ return `${data.age}세
${data.belong}년`;
+ },
+ cellClass: centerCellClass,
+ columnGroupShow: "closed",
+ },
+ {
+ headerName: "연령",
+ field: "age",
+ ...sortableNumber,
+ valueFormatter: (v: GenValueParams) => `${v.value}세`,
+ width: 70,
+ cellClass: centerCellClass,
+ columnGroupShow: "open",
+ },
+ {
+ headerName: "사관",
+ field: "belong",
+ ...sortableNumber,
+ valueFormatter: (v: GenValueParams) => `${v.value}년`,
+ width: 70,
+ cellClass: centerCellClass,
+ columnGroupShow: "open",
+ },
+ ],
+ },
+ killturnAndConnect: {
+ headerName: "기타",
+ children: [
+ {
+ headerName: "삭/벌",
+ cellRenderer: ({ data }: GenValueParams) => {
+ return `${data.killturn.toLocaleString()}턴
${data.connect.toLocaleString()}점`;
+ },
+ cellClass: rightAlignClass,
+ columnGroupShow: "closed",
+ },
+ {
+ headerName: "삭턴",
+ field: "killturn",
+ cellRenderer: ({ data }: GenValueParams) => {
+ return `${data.killturn.toLocaleString()}턴`;
+ },
+ ...sortableNumber,
+ columnGroupShow: "open",
+ },
+ {
+ headerName: "벌점",
+ field: "connect",
+ cellRenderer: ({ data }: GenValueParams) => {
+ return `${data.connect.toLocaleString()}점`;
+ },
+ ...sortableNumber,
+ columnGroupShow: "open",
+ },
+ ],
+ },
});
const columnDefs = ref([...Object.values(columnRawDefs.value)]);
-const headerMap: Record
= {
- icon: {
- title: "아이콘",
- type: "display",
- style: {
- maxWidth: "64px",
- },
- converter: (gen) => {
- return `
`;
- },
- },
- name: { title: "장수명", searchable: true },
- nation: { title: "국가명", isEnum: true },
- npc: { title: "NPC", isEnum: true, type: "filter" },
- injury: { title: "부상", sortable: "asc" },
- leadership: { title: "통솔" },
- strength: { title: "무력" },
- intel: { title: "지력" },
- stat: {
- title: "통/무/지",
- type: "custom",
- subType: {
- leadership: { title: "통" },
- strength: { title: "무" },
- intel: { title: "지" },
- },
- },
- explevel: { title: "명성Lv" },
- dedlevel: { title: "계급Lv" },
- expDedLv: {
- title: "명성/계급Lv",
- subType: {
- explevel: { title: "명성Lv" },
- dedlevel: { title: "계급Lv" },
- },
- },
- gold: { title: "금", sortable: "desc" },
- rice: { title: "쌀", sortable: "desc" },
- goldRice: {
- title: "금/쌀",
- type: "custom",
- subType: {
- gold: { title: "금", sortable: "desc" },
- rice: { title: "쌀", sortable: "desc" },
- },
- },
- age: { title: "연령" },
- specialDomestic: { title: "내특" },
- specialWar: { title: "전특" },
- specials: {
- title: "성격/내특/전특",
- subType: {
- personal: { title: "성격", converter: (g) => g.personal.split("_").pop() as string },
- specialDomestic: { title: "내특", converter: (g) => g.specialDomestic.split("_").pop() as string },
- specialWar: { title: "전특", converter: (g) => g.specialWar.split("_").pop() as string },
- },
- },
- personal: { title: "성격" },
- belong: { title: "임관" },
-
- killturnAndConnect: {
- title: "삭턴/벌점",
- subType: {
- killturn: { title: "삭턴" },
- connect: { title: "벌점" },
- },
- },
- killturn: { title: "삭턴" },
- connect: { title: "벌점" },
-
- officerLevel: { title: "관직" }, //권한에따라 태수,군사,시종 노출 여부가 다름
- ownerName: { title: "소유주" }, //NPC 출력용에 따라 결과가 다름
- honorText: { title: "명성" },
-
- city: { title: "도시" },
- experience: { title: "명성" },
- dedication: { title: "계급" },
-
- officer_level: { title: "관직" },
- officer_city: { title: "부임지" },
-} as const;
-
watch(columnRawDefs, (val) => {
setRowHeight();
columnDefs.value = [...Object.values(val)];
});
-
+/*
let currentWidth = -1;
window.addEventListener("resize", (e) => {
setTimeout(() => {
const newWidth = document.querySelector(".container")?.clientWidth ?? -1;
if (currentWidth != newWidth) {
currentWidth = newWidth;
- gridApi.value?.sizeColumnsToFit();
+ columnApi.value?.autoSizeAllColumns();
}
}, 1);
});
-
+*/
diff --git a/hwe/ts/defs/API/Nation.ts b/hwe/ts/defs/API/Nation.ts
index 6b4023c1..73dec09b 100644
--- a/hwe/ts/defs/API/Nation.ts
+++ b/hwe/ts/defs/API/Nation.ts
@@ -1,5 +1,79 @@
-import type { ValidResponse } from "@/defs";
+import type { ValuesOf, TurnObj } from "@/defs";
+import type { GameObjClassKey } from "@/defs/GameObj";
+import type { ValidResponse } from "@/SammoAPI";
export type SetBlockWarResponse = ValidResponse & {
- availableCnt: number;
- };
\ No newline at end of file
+ availableCnt: number;
+};
+
+export type GeneralListItemP0 = {
+ no: number,
+ name: string,
+ nation: number,
+ npc: number,
+ injury: number,
+ leadership: number,
+ strength: number,
+ intel: number,
+ explevel: number,
+ dedlevel: number,
+ gold: number,
+ rice: number,
+ killturn: number,
+ picture: string,
+ imgsvr: 0 | 1,
+ age: number,
+ specialDomestic: GameObjClassKey,
+ specialWar: GameObjClassKey,
+ personal: GameObjClassKey,
+ belong: number,
+ connect: number,
+
+ officerLevel: number, //권한에따라 태수,군사,시종 노출 여부가 다름
+ officerLevelText: string,
+ lbonus: number,
+ ownerName: string | null, //NPC 출력용에 따라 결과가 다름
+ honorText: string,
+ dedLevelText: string,
+ bill: number,
+}
+
+export type GeneralListItemP1 = {
+ city: number,
+ experience: number,
+ dedication: number,
+} & GeneralListItemP0;
+
+export type GeneralListItemP2 = GeneralListItemP1 & {
+ officer_level: number,
+ officer_city: number,
+
+}
+
+export type RawGeneralListItem = GeneralListItemP0 | GeneralListItemP1 | GeneralListItemP2;
+
+export type GeneralListItem =
+ ({ permission: 0 } & GeneralListItemP0) |
+ ({ permission: 1 } & GeneralListItemP1) |
+ ({ permission: 2 | 3 | 4 } & GeneralListItemP2);
+
+
+export type RawGeneralListP0 = ValidResponse & {
+ permission: 0,
+ column: (keyof GeneralListItemP0)[],
+ list: ValuesOf[][],
+}
+
+export type RawGeneralListP1 = ValidResponse & {
+ permission: 1,
+ column: (keyof GeneralListItemP1)[],
+ list: ValuesOf[][],
+}
+
+export type RawGeneralListP2 = ValidResponse & {
+ permission: 2 | 3 | 4,
+ column: (keyof GeneralListItemP2)[],
+ list: ValuesOf[][],
+}
+
+export type GeneralListResponse = RawGeneralListP0 | RawGeneralListP1 | RawGeneralListP2;
diff --git a/hwe/ts/defs/API/Nation/index.ts b/hwe/ts/defs/API/Nation/index.ts
deleted file mode 100644
index a89dab15..00000000
--- a/hwe/ts/defs/API/Nation/index.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-
-import type { GameObjType, ValuesOf } from "@/defs";
-import type { ValidResponse } from "@/SammoAPI";
-
-export type GeneralListItemP0 = {
- no: number,
- name: string,
- nation: number,
- npc: number,
- injury: number,
- leadership: number,
- strength: number,
- intel: number,
- explevel: number,
- dedlevel: number,
- gold: number,
- rice: number,
- killturn: number,
- picture: string,
- imgsvr: 0 | 1,
- age: number,
- specialDomestic: GameObjType,
- specialWar: GameObjType,
- personal: GameObjType,
- belong: number,
- connect: number,
-
- officerLevel: number, //권한에따라 태수,군사,시종 노출 여부가 다름
- officerLevelText: string,
- lbonus: number,
- ownerName: string | null, //NPC 출력용에 따라 결과가 다름
- honorText: string,
-}
-
-export type GeneralListItemP1 = {
- city: number,
- experience: number,
- dedication: number,
-} & GeneralListItemP0;
-
-export type GeneralListItemP2 = GeneralListItemP1 & {
- officer_level: number,
- officer_city: number,
-
-}
-
-export type RawGeneralListItem = GeneralListItemP0 | GeneralListItemP1 | GeneralListItemP2;
-
-export type GeneralListItem =
- ({ permission: 0 } & GeneralListItemP0) |
- ({ permission: 1 } & GeneralListItemP1) |
- ({ permission: 2 | 3 | 4 } & GeneralListItemP2);
-
-
-export type RawGeneralListP0 = ValidResponse & {
- permission: 0,
- column: (keyof GeneralListItemP0)[],
- list: ValuesOf[][],
-}
-
-export type RawGeneralListP1 = ValidResponse & {
- permission: 1,
- column: (keyof GeneralListItemP1)[],
- list: ValuesOf[][],
-}
-
-export type RawGeneralListP2 = ValidResponse & {
- permission: 2 | 3 | 4,
- column: (keyof GeneralListItemP2)[],
- list: ValuesOf[][],
-}
-
-export type GeneralListResponse = RawGeneralListP0 | RawGeneralListP1 | RawGeneralListP2;