diff --git a/src/lib/helpers/faker.ts b/src/lib/helpers/faker.ts index 88f484301..235a32fa9 100644 --- a/src/lib/helpers/faker.ts +++ b/src/lib/helpers/faker.ts @@ -43,7 +43,24 @@ export async function generateColumns( size: 1000, required: false }), - client.tablesDB.createBooleanColumn({ databaseId, tableId, key: 'active', required: false }) + client.tablesDB.createBooleanColumn({ + databaseId, + tableId, + key: 'active', + required: false + }), + client.tablesDB.createPointColumn({ + databaseId, + tableId, + key: 'location', + required: false + }), + client.tablesDB.createLineColumn({ + databaseId, + tableId, + key: 'route', + required: false + }) ]); } @@ -82,7 +99,12 @@ export function generateFakeRecords( age: faker.number.int({ min: 18, max: 80 }), city: faker.location.city(), description: faker.lorem.sentence(), - active: faker.datatype.boolean() + active: faker.datatype.boolean(), + location: [faker.location.longitude(), faker.location.latitude()], + route: Array.from({ length: 5 }, () => [ + faker.location.longitude(), + faker.location.latitude() + ]) }; } else { for (const column of filteredColumns) { diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index ca7955100..a373e4934 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -59,11 +59,17 @@ } function pushCoordinate() { - data.default.push(getDefaultSpatialData('point') as number[]); + if (data.default) { + data.default.push(getDefaultSpatialData('point') as number[]); + data.default = [...data.default]; + } } function deleteCoordinate(_: number) { - if (data.default.length > 2) data.default.pop(); + if (data.default && data.default.length > 2) { + data.default.pop(); + data.default = [...data.default]; + } } const { @@ -102,7 +108,10 @@ on:change={(e) => { if (e.detail) { $required = false; - } else data.default = null; + handleDefaultState(false); + } else { + data.default = null; + } }} description="Enable to set a predefined value for this column" /> @@ -117,9 +126,9 @@ values={defaultChecked ? data.default : null} onAddPoint={() => pushCoordinate()} onDeletePoint={deleteCoordinate} - onChangePoint={(index, newValue: number, coordIndex: number) => { + onChangePoint={(pointIndex: number, coordIndex: number, newValue: number) => { if (data.default) { - data.default[index][coordIndex] = newValue; + data.default[pointIndex][coordIndex] = newValue; data.default = [...data.default]; } }} />