mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
fix: indexing key.
This commit is contained in:
+15
-4
@@ -2,7 +2,7 @@
|
||||
import { goto, invalidate } from '$app/navigation';
|
||||
import { base } from '$app/paths';
|
||||
import { page } from '$app/stores';
|
||||
import { Submit, trackEvent, trackError } from '$lib/actions/analytics';
|
||||
import { Submit, trackError, trackEvent } from '$lib/actions/analytics';
|
||||
import { Modal } from '$lib/components';
|
||||
import { Dependencies } from '$lib/constants';
|
||||
import { Button, FormList, InputSelect, InputText } from '$lib/elements/forms';
|
||||
@@ -11,8 +11,7 @@
|
||||
import { sdk } from '$lib/stores/sdk';
|
||||
import { IndexType } from '@appwrite.io/console';
|
||||
import { isRelationship } from '../document-[document]/attributes/store';
|
||||
import { indexes, type Attributes } from '../store';
|
||||
import { collection } from '../store';
|
||||
import { type Attributes, collection, indexes } from '../store';
|
||||
import Select from './select.svelte';
|
||||
|
||||
export let showCreateIndex = false;
|
||||
@@ -20,8 +19,8 @@
|
||||
|
||||
const databaseId = $page.params.database;
|
||||
|
||||
let key = '';
|
||||
let error: string;
|
||||
let key = `index_${$indexes.length + 1}`;
|
||||
let types = [
|
||||
{ value: IndexType.Key, label: 'Key' },
|
||||
{ value: IndexType.Unique, label: 'Unique' },
|
||||
@@ -38,6 +37,17 @@
|
||||
|
||||
let attributeList = [{ value: '', order: '' }];
|
||||
|
||||
function generateIndexKey() {
|
||||
let indexKeys = $indexes.map((index) => index.key);
|
||||
|
||||
let highestIndex = indexKeys.reduce((max, key) => {
|
||||
const match = key.match(/^index_(\d+)$/);
|
||||
return match ? Math.max(max, parseInt(match[1], 10)) : max;
|
||||
}, indexKeys.length);
|
||||
|
||||
return `index_${highestIndex + 1}`;
|
||||
}
|
||||
|
||||
function initialize() {
|
||||
attributeList = externalAttribute
|
||||
? [{ value: externalAttribute.key, order: 'ASC' }]
|
||||
@@ -49,6 +59,7 @@
|
||||
$: if (showCreateIndex) {
|
||||
error = null;
|
||||
initialize();
|
||||
key = generateIndexKey();
|
||||
}
|
||||
|
||||
$: addAttributeDisabled = !attributeList.at(-1)?.value || !attributeList.at(-1)?.order;
|
||||
|
||||
Reference in New Issue
Block a user