diff --git a/package-lock.json b/package-lock.json index b925c1ed7a..ccf80f932a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "@appwrite/console", "version": "0.0.1", "dependencies": { - "@aw-labs/appwrite-console": "^1.0.0-0", + "@aw-labs/appwrite-console": "^5.0.5", "@aw-labs/icons": "0.0.0-54", "@aw-labs/ui": "0.0.0-54", "echarts": "^5.3.3", @@ -68,9 +68,9 @@ } }, "node_modules/@aw-labs/appwrite-console": { - "version": "1.0.0-0", - "resolved": "https://registry.npmjs.org/@aw-labs/appwrite-console/-/appwrite-console-1.0.0-0.tgz", - "integrity": "sha512-qvqCRBhG/LwmIv0Om3c0IWuLfvOCjVdbKel3cAcGadwbmz7vGDZkodgObqUPwi33T+8vnbzxBkhUOLncMF+DZQ==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@aw-labs/appwrite-console/-/appwrite-console-5.0.5.tgz", + "integrity": "sha512-xNyLAr/1KP7JagAwe6zbYRBWp7RgHEwptmCTVeJ/ASxVb0Rz6ItND8nG72dCg9D+lRVI5Qkk6Ks7Xmcj7TZpfg==", "dependencies": { "cross-fetch": "3.1.5", "isomorphic-form-data": "2.0.0" @@ -1280,9 +1280,9 @@ "dev": true }, "node_modules/@popperjs/core": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", - "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" @@ -2992,22 +2992,6 @@ "esbuild-windows-arm64": "0.14.49" } }, - "node_modules/esbuild-linux-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz", - "integrity": "sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -3654,20 +3638,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -7689,9 +7659,9 @@ } }, "@aw-labs/appwrite-console": { - "version": "1.0.0-0", - "resolved": "https://registry.npmjs.org/@aw-labs/appwrite-console/-/appwrite-console-1.0.0-0.tgz", - "integrity": "sha512-qvqCRBhG/LwmIv0Om3c0IWuLfvOCjVdbKel3cAcGadwbmz7vGDZkodgObqUPwi33T+8vnbzxBkhUOLncMF+DZQ==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@aw-labs/appwrite-console/-/appwrite-console-5.0.5.tgz", + "integrity": "sha512-xNyLAr/1KP7JagAwe6zbYRBWp7RgHEwptmCTVeJ/ASxVb0Rz6ItND8nG72dCg9D+lRVI5Qkk6Ks7Xmcj7TZpfg==", "requires": { "cross-fetch": "3.1.5", "isomorphic-form-data": "2.0.0" @@ -8653,9 +8623,9 @@ "dev": true }, "@popperjs/core": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", - "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==" + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" }, "@rollup/pluginutils": { "version": "4.2.1", @@ -10002,13 +9972,6 @@ "esbuild-windows-arm64": "0.14.49" } }, - "esbuild-linux-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz", - "integrity": "sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==", - "dev": true, - "optional": true - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -10501,13 +10464,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", diff --git a/package.json b/package.json index dca4c74ed9..94edec28dc 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "e2e": "playwright test tests/e2e" }, "dependencies": { - "@aw-labs/appwrite-console": "^1.0.0-0", + "@aw-labs/appwrite-console": "^5.0.5", "@aw-labs/icons": "0.0.0-54", "@aw-labs/ui": "0.0.0-54", "echarts": "^5.3.3", diff --git a/src/lib/components/cardGrid.svelte b/src/lib/components/cardGrid.svelte index f5712dac1e..665e642b69 100644 --- a/src/lib/components/cardGrid.svelte +++ b/src/lib/components/cardGrid.svelte @@ -7,7 +7,7 @@
-
+
diff --git a/src/lib/components/dropListItem.svelte b/src/lib/components/dropListItem.svelte index e652abe83c..44ae503053 100644 --- a/src/lib/components/dropListItem.svelte +++ b/src/lib/components/dropListItem.svelte @@ -3,7 +3,7 @@
  • - + + + +
    + +
    +
    + +
    + +{/if} + + diff --git a/src/lib/stores/sdk.ts b/src/lib/stores/sdk.ts index 39541a4c75..b387a6d443 100644 --- a/src/lib/stores/sdk.ts +++ b/src/lib/stores/sdk.ts @@ -20,7 +20,6 @@ const clientProject = new Client(); clientProject.setEndpoint(endpoint).setMode('admin'); const setProject = (projectId: string): Client => clientProject.setProject(projectId); -const setDatabase = (databaseId: string): void => sdkForProject.databases.setDatabaseId(databaseId); const sdkForConsole = { client: clientConsole, @@ -38,7 +37,7 @@ const sdkForProject = { client: clientProject, account: new Account(clientProject), avatars: new Avatars(clientProject), - databases: new Databases(clientProject, null), + databases: new Databases(clientProject), functions: new Functions(clientProject), health: new Health(clientProject), locale: new Locale(clientProject), @@ -48,4 +47,4 @@ const sdkForProject = { users: new Users(clientProject) }; -export { sdkForConsole, sdkForProject, setProject, setDatabase }; +export { sdkForConsole, sdkForProject, setProject }; diff --git a/src/routes/console/project-[project]/__layout.svelte b/src/routes/console/project-[project]/__layout.svelte index 7a3f6caa28..bb02e1641d 100644 --- a/src/routes/console/project-[project]/__layout.svelte +++ b/src/routes/console/project-[project]/__layout.svelte @@ -1,7 +1,7 @@ - Appwrite - Databases + Appwrite - Database {#if loaded} diff --git a/src/routes/console/project-[project]/databases/_create.svelte b/src/routes/console/project-[project]/databases/_create.svelte index 221bad77bd..cbbb66367a 100644 --- a/src/routes/console/project-[project]/databases/_create.svelte +++ b/src/routes/console/project-[project]/databases/_create.svelte @@ -1,23 +1,22 @@
    - - Create Function - - + + Create Database + + + + {#if !showDropdown} +
    + (showDropdown = !showDropdown)} + > +
    + {:else} + + Database ID +

    + Enter a custom database ID. Leave blank for a randomly generated database + ID. +

    + +
    + + +
    +
    +
    +
    +
    + {/if} +
    - +
    diff --git a/src/routes/console/project-[project]/databases/database/[database]/__layout.svelte b/src/routes/console/project-[project]/databases/database/[database]/__layout.svelte index 28de125016..0f3b5afa36 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/__layout.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/__layout.svelte @@ -1,26 +1,31 @@ @@ -45,6 +55,6 @@ Appwrite - Database -{#if $database} +{#if loaded} {/if} diff --git a/src/routes/console/project-[project]/databases/database/[database]/_create.svelte b/src/routes/console/project-[project]/databases/database/[database]/_create.svelte index bd5bb1d715..98e3e39da0 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/_create.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/_create.svelte @@ -1,28 +1,33 @@
    - + Create Collection - - + + + + {#if !showDropdown} +
    + (showDropdown = !showDropdown)} + > +
    + {:else} + + Collection ID +

    + Enter a custom collection ID. Leave blank for a randomly generated + collection ID. +

    + +
    + + +
    +
    +
    +
    +
    + {/if} +
    diff --git a/src/routes/console/project-[project]/databases/database/[database]/_delete.svelte b/src/routes/console/project-[project]/databases/database/[database]/_delete.svelte new file mode 100644 index 0000000000..696eda69de --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/_delete.svelte @@ -0,0 +1,40 @@ + + + + + Delete Database + +

    + Are you sure you want to delete {$database.name}? +

    + + + + +
    + diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/__layout.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/__layout.svelte index ebd66e4d17..9a26a885f0 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/__layout.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/__layout.svelte @@ -15,19 +15,23 @@ afterNavigate(handle); async function handle(event = null) { - if ($collection?.$id !== collectionId) { - await collection.load(collectionId); + if ($collection?.$id !== collectionId || !event) { + await collection.load(databaseId, collectionId); } updateLayout({ navigate: event, title: $collection.name, + back: `${base}/console/project-${$page.params.project}/databases/database/${databaseId}`, + copy: { + text: 'Collection ID', + value: collectionId + }, level: 5, breadcrumbs: { href: `collection/${collectionId}`, title: $collection.name }, - back: `${base}/console/project-${$page.params.project}/database`, tabs: [ { href: path, diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_create.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_create.svelte new file mode 100644 index 0000000000..e03a6c643d --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_create.svelte @@ -0,0 +1,238 @@ + + + + + + +
    + {#if currentStep === 0} +
    +

    Create document data

    +

    Provide document data based on attributes you created earlier.

    +
    + {#if attributes.length} +
      + {#each attributes as attribute} + {@const label = attribute.required ? `${attribute.key}*` : attribute.key} + {#if attribute.array} + {#each newDocument[attribute.key] as _v, index} +
    • +
      + +
      +
      + +
      +
    • + {:else} +
    • +
      + +
      +
      + +
      +
    • + {/each} + + + {:else} +
        + +
      + {/if} + {/each} + {#if !showCustomId} +
      + (showCustomId = !showCustomId)} + > +
      + {:else} + + User ID + Enter a custom document ID. Leave blank for a randomly generated one. + +
      + + +
      +
      +
      +
      +
      + {/if} +
    + {/if} + {:else if currentStep === 1} +
    +

    Set Permissions

    +

    + Assign read or write permissions at the Collection Level or + Document Level. If collection Level permissions are assigned, + permissions applied to individual documents are ignored. +

    +
    + + + You have Collection Level permissions enabled + +

    + If you want to assign permissions specific to this document, you will need to + update your Collection Settings to enable Document Level permissions. +

    +
    + +
      + + +
    + {/if} + +
    +
    diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_createAttribute.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_createAttribute.svelte new file mode 100644 index 0000000000..f1279afdd6 --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_createAttribute.svelte @@ -0,0 +1,64 @@ + + +
    (submitted = true)}> + + Create Attribute + + + +
    +
    + + ({ value: n.name, label: n.name }))} + id="type" + label="Attribute type" + bind:value={selectedOption} + required /> + {#if selectedOption} + ($option = null)} /> + {/if} +
    + + + + +
    +
    diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_createIndex.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_createIndex.svelte new file mode 100644 index 0000000000..8d100c1caf --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_createIndex.svelte @@ -0,0 +1,212 @@ + + +
    + + Create Index + + + + + {#if attributeList?.length} + {#each attributeList as index, i} +
  • +
    + +
    + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
  • + {/each} + {/if} + {#if !attributeList?.length || newAttr} +
  • +
    + +
    + +
    +
    +
    + +
    + +
    +
    + +
    + +
    +
  • + {/if} + +
    + + + + +
    +
    diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_delete.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_delete.svelte new file mode 100644 index 0000000000..7499bc3d8e --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_delete.svelte @@ -0,0 +1,43 @@ + + +
    + + Delete Collection + +

    + Are you sure you want to delete {$collection.name}? +

    + + + + +
    +
    diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_deleteAttribute.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_deleteAttribute.svelte new file mode 100644 index 0000000000..3387470572 --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_deleteAttribute.svelte @@ -0,0 +1,50 @@ + + +
    + + Delete Attribute + +

    + Are you sure you want to delete '{selectedAttribute.key}' from {$collection.name}? +

    + + + + +
    +
    diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_deleteIndex.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_deleteIndex.svelte new file mode 100644 index 0000000000..3ff3d77ff8 --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_deleteIndex.svelte @@ -0,0 +1,47 @@ + + +
    + + Delete Index + +

    + Are you sure you want to delete '{selectedIndex.key}' from {$collection.name}? +

    + + + + +
    +
    diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_overview.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_overview.svelte new file mode 100644 index 0000000000..52039b6695 --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_overview.svelte @@ -0,0 +1,33 @@ + + +{#if selectedAttribute} + + Overview + + + + {#if selectedAttribute} + + {/if} + + +{/if} diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_overviewIndex.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_overviewIndex.svelte new file mode 100644 index 0000000000..6159bd6c05 --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/_overviewIndex.svelte @@ -0,0 +1,63 @@ + + + + Overview + + + + + {#if selectedIndex?.attributes?.length} + {#each selectedIndex.attributes as attribute, i} +
  • +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    +
  • + {/each} + {/if} + + diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes.svelte index 7e67786b26..70c4360556 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes.svelte @@ -5,68 +5,137 @@ TableBody, TableRow, TableCellHead, - TableCellText + TableCellText, + TableCell } from '$lib/elements/table'; import { Button } from '$lib/elements/forms'; - import { DropList, DropListItem, Empty } from '$lib/components'; - import { option, options } from './attributes/store'; + import { DropList, DropListItem, Empty, Pagination } from '$lib/components'; import { collection } from './store'; + import type { Attributes } from './store'; import { Container } from '$lib/layout'; import { Pill } from '$lib/elements'; + import Create from './_createAttribute.svelte'; + import CreateIndex from './_createIndex.svelte'; + import Delete from './_deleteAttribute.svelte'; + import Overview from './_overview.svelte'; - let showCreateDropdown = false; + let offset = 0; + const limit = 5; + let showDropdown = []; + let selectedAttribute: Attributes = null; + let showCreate = false; + let showDelete = false; + let showOverview = false; + let showCreateIndex = false; -

    Attributes

    +
    +

    Attributes

    - {#if $collection.attributes.length} + +
    + + {#if $collection?.attributes.length} - Status Key Type + Default Value + - {#each $collection.attributes as attribute} + {#each $collection.attributes as attribute, index} - - - {attribute.status} - - - {attribute.key} - - {'format' in attribute ? attribute.format : attribute.type} - + +
    + {attribute.key} + {#if attribute.status !== 'available'} + + {attribute.status} + + {:else if attribute.required} + Required + {/if} +
    +
    {attribute.type} + + {attribute.default ? attribute.default : '-'} + + + + + + { + selectedAttribute = attribute; + showOverview = true; + }}>Overview + { + selectedAttribute = attribute; + showCreateIndex = true; + }}>Create Index + { + selectedAttribute = attribute; + showDelete = true; + }}>Delete + + +
    {/each}
    +
    +

    Total results: {$collection?.attributes?.length}

    + +
    {:else} - - No Attributes Found - Add your first attribute to get started. + +
    +
    + +
    +
    +

    Crate your first document to get started

    +
    +
    + +
    +
    {/if} - - - - - {#each options as o} - ($option = o)}> - New {o.name} Attribute - - {/each} - -
    -{#if $option} - ($option = null)} /> + +{#if selectedAttribute} + + + {/if} diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_boolean.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_boolean.svelte index deef976ce4..5451ca12c6 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_boolean.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_boolean.svelte @@ -1,29 +1,37 @@ -
    - dispatch('close')} show> - Create Boolean Attribute - - - - - - - - - - - -
    + + + Indicate whether this is a required attribute + + Indicate whether this attribute should act as an array diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_email.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_email.svelte index d897d747d2..4fe15c8144 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_email.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_email.svelte @@ -1,28 +1,36 @@ -
    - dispatch('close')} show> - Create Email Attribute + $: if (submitted) { + submit(); + } - - - - + $: if (overview) { + ({ required, array } = selectedAttribute); + xdefault = selectedAttribute.default; + } + - - - - - -
    + + + Indicate whether this is a required attribute + + Indicate whether this attribute should act as an array diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_enum.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_enum.svelte index ac809c6486..0dd3354400 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_enum.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_enum.svelte @@ -1,36 +1,38 @@ - -
    - dispatch('close')} show> - Create Enum Attribute - - - - - + $: if (submitted) { + submit(); + } + $: if (overview) { + ({ required, array, elements } = selectedAttribute); + xdefault = selectedAttribute.default; + } + - - - - - -
    + + + + Indicate whether this is a required attribute + + Indicate whether this attribute should act as an array diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_float.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_float.svelte index f213daebaf..1cf87b469c 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_float.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_float.svelte @@ -1,32 +1,40 @@ -
    - dispatch('close')} show> - Create Float Attribute - - - - - - - - - - - - - -
    + + + + + + Indicate whether this is a required attribute + + Indicate whether this attribute should act as an array diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_integer.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_integer.svelte index c30bbb5865..de9180c855 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_integer.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_integer.svelte @@ -1,33 +1,40 @@ -
    - dispatch('close')} show> - Create Integer Attribute - - - - - - - - - - - - - -
    + + + + + + Indicate whether this is a required attribute + + Indicate whether this attribute should act as an array diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_ip.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_ip.svelte index 6b28b59486..ec362df50e 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_ip.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_ip.svelte @@ -1,28 +1,36 @@ -
    - dispatch('close')} show> - Create IP Attribute + $: if (submitted) { + submit(); + } - - - - + $: if (overview) { + ({ required, array } = selectedAttribute); + xdefault = selectedAttribute.default; + } + - - - - - -
    + + + Indicate whether this is a required attribute + + Indicate whether this attribute should act as an array diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_string.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_string.svelte index f9060bd8e4..54be822fdb 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_string.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_string.svelte @@ -1,29 +1,38 @@ -
    - dispatch('close')} show> - Create String Attribute + $: if (submitted) { + submit(); + } - - - - - + $: if (overview) { + ({ required, array, size } = selectedAttribute); + xdefault = selectedAttribute.default; + } + - - - - - -
    + + + + Indicate whether this is a required attribute + + Indicate whether this attribute should act as an array diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_url.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_url.svelte index 38a140e73f..97cb3e1676 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_url.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/_url.svelte @@ -1,28 +1,36 @@ -
    - dispatch('close')} show> - Create URL Attribute + $: if (submitted) { + submit(); + } - - - - + $: if (overview) { + ({ required, array } = selectedAttribute); + xdefault = selectedAttribute.default; + } + - - - - - -
    + + + Indicate whether this is a required attribute + + Indicate whether this attribute should act as an array diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/store.ts b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/store.ts index a3d8036a49..ed557c44f3 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/store.ts +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/store.ts @@ -12,50 +12,41 @@ import Url from './_url.svelte'; export type Option = { name: string; component: typeof SvelteComponent; - icon: string; }; export const options: Option[] = [ { name: 'String', - component: String, - icon: 'string' + component: String }, { name: 'Integer', - component: Integer, - icon: 'integer' + component: Integer }, { name: 'Float', - component: Float, - icon: 'integer' + component: Float }, { name: 'Boolean', - component: Boolean, - icon: 'boolean' + component: Boolean }, { name: 'Email', - component: Email, - icon: 'email' + component: Email }, { name: 'IP', - component: Ip, - icon: 'ip' + component: Ip }, { name: 'URL', - component: Url, - icon: 'url' + component: Url }, { name: 'Enum', - component: Enum, - icon: 'enum' + component: Enum } ]; -export const option = writable