From 9e5479cffd0049cb936f3d35b12b426391447e5f Mon Sep 17 00:00:00 2001 From: Arman Date: Thu, 27 Jun 2024 15:26:57 +0200 Subject: [PATCH 1/9] feat: deployment filtering --- .../function-[function]/+page.svelte | 229 ++++++++---------- .../functions/function-[function]/+page.ts | 10 +- .../function-[function]/table.svelte | 157 ++++++++++++ 3 files changed, 260 insertions(+), 136 deletions(-) create mode 100644 src/routes/console/project-[project]/functions/function-[function]/table.svelte diff --git a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte index 62005ecfd..7c06b653f 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte @@ -1,61 +1,92 @@ @@ -201,111 +232,47 @@ {/if}
All +
+
+ + + +
+ + {#if $tags?.length} +
+
+ + {/if} +
+
+
+
+ +
+
{#if $deploymentList.total}
- - - Deployment ID - Status - Source - Updated - Build Time - Size - - - - {#each $deploymentList.deployments as deployment, index (deployment.$id)} - {@const status = deployment.status} - - - {deployment.$id} - - - {#if activeDeployment?.$id === deployment?.$id} - active - {:else} - - {status} - - {/if} - - - - - - - - - {#if ['processing', 'building'].includes(deployment.status)} - - {:else} - {calculateTime(deployment.buildTime)} - {/if} - - - - {calculateSize(deployment.size)} - - - - - - - { - selectedDeployment = deployment; - showRedeploy = true; - showDropdown = []; - }}> - Redeploy - - {#if deployment.status === 'ready' && deployment.$id !== $func.deployment} - { - selectedDeployment = deployment; - showActivate = true; - showDropdown = []; - }}> - Activate - - {/if} - - Logs - - { - selectedDeployment = deployment; - showDropdown = []; - showDelete = true; - }}> - Delete - - - - - - {/each} - - + {:else} @@ -354,9 +321,3 @@ offset={data.offset} total={$deploymentList?.total} /> - -{#if selectedDeployment} - - - -{/if} diff --git a/src/routes/console/project-[project]/functions/function-[function]/+page.ts b/src/routes/console/project-[project]/functions/function-[function]/+page.ts index 1d85970ce..02b02627d 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/+page.ts +++ b/src/routes/console/project-[project]/functions/function-[function]/+page.ts @@ -1,8 +1,9 @@ import { Query } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; -import { getLimit, getPage, pageToOffset } from '$lib/helpers/load'; +import { getLimit, getPage, getQuery, pageToOffset } from '$lib/helpers/load'; import { Dependencies, PAGE_LIMIT } from '$lib/constants'; import type { PageLoad } from './$types'; +import { queries, queryParamToMap } from '$lib/components/filters'; export const load: PageLoad = async ({ params, depends, url, route, parent }) => { const data = await parent(); @@ -10,10 +11,14 @@ export const load: PageLoad = async ({ params, depends, url, route, parent }) => const page = getPage(url); const limit = getLimit(url, route, PAGE_LIMIT); const offset = pageToOffset(page, limit); + const query = getQuery(url); + const parsedQueries = queryParamToMap(query || '[]'); + queries.set(parsedQueries); return { offset, limit, + query, activeDeployment: data.function.deployment ? await sdk.forProject.functions.getDeployment( params.function, @@ -23,7 +28,8 @@ export const load: PageLoad = async ({ params, depends, url, route, parent }) => deploymentList: await sdk.forProject.functions.listDeployments(params.function, [ Query.limit(limit), Query.offset(offset), - Query.orderDesc('') + Query.orderDesc(''), + ...parsedQueries.values() ]) }; }; diff --git a/src/routes/console/project-[project]/functions/function-[function]/table.svelte b/src/routes/console/project-[project]/functions/function-[function]/table.svelte new file mode 100644 index 000000000..8359aa579 --- /dev/null +++ b/src/routes/console/project-[project]/functions/function-[function]/table.svelte @@ -0,0 +1,157 @@ + + + + + {#each columns as column} + {#if column.show} + {column.title} + {/if} + {/each} + + + + {#each data.deploymentList.deployments as deployment, index (deployment.$id)} + + {#each columns as column} + {#if column.show} + {#if column.id === '$id'} + {#key column.id} + + {deployment.$id} + + {/key} + {:else if column.id === 'status'} + + {@const status = deployment.status} + {#if data?.activeDeployment?.$id === deployment?.$id} + active + {:else} + + {status} + + {/if} + + {:else if column.id === 'source'} + + + {:else if column.id === '$updatedAt'} + + + + {:else if column.id === 'buildTime'} + + {#if ['processing', 'building'].includes(deployment.status)} + + {:else} + {calculateTime(deployment.buildTime)} + {/if} + + {:else if column.id === 'size'} + + {calculateSize(deployment.size)} + + {/if} + {/if} + {/each} + + + + + { + selectedDeployment = deployment; + showRedeploy = true; + showDropdown = []; + }}> + Redeploy + + {#if deployment.status === 'ready' && deployment.$id !== $func.deployment} + { + selectedDeployment = deployment; + showActivate = true; + showDropdown = []; + }}> + Activate + + {/if} + + Logs + + { + selectedDeployment = deployment; + showDropdown = []; + showDelete = true; + }}> + Delete + + + + + + {/each} + + + +{#if selectedDeployment} + + + +{/if} From ee9f64f5f531f517b252f9279df1c8a78cef9422 Mon Sep 17 00:00:00 2001 From: Arman Date: Thu, 27 Jun 2024 15:35:26 +0200 Subject: [PATCH 2/9] fix: small stuff --- .../functions/function-[function]/+page.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte index 7c06b653f..095f245e5 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte @@ -49,10 +49,10 @@ width: 110, array: true, format: 'enum', - elements: ['completed', 'scheduled', 'waiting', 'processing', 'cancelled', 'failed'] + elements: ['active', 'ready', 'processing', 'building', 'cancelled', 'failed'] }, { - id: 'source', + id: 'Source', title: 'source', type: 'string', show: true, From 7c43a1c9afbbb3d8a1daa73c17d759e8e8b1cad5 Mon Sep 17 00:00:00 2001 From: Arman Date: Thu, 27 Jun 2024 17:23:42 +0200 Subject: [PATCH 3/9] fix: column --- .../functions/function-[function]/+page.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte index 095f245e5..dd97ae175 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte @@ -52,8 +52,8 @@ elements: ['active', 'ready', 'processing', 'building', 'cancelled', 'failed'] }, { - id: 'Source', - title: 'source', + id: 'source', + title: 'Source', type: 'string', show: true, width: 90, From 9c4e414e1947b2e9f02166ae1cecdbb5524ffe3d Mon Sep 17 00:00:00 2001 From: Arman Date: Thu, 27 Jun 2024 17:37:11 +0200 Subject: [PATCH 4/9] feat: mobile view --- .../functions/function-[function]/+page.svelte | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte index dd97ae175..36cf95b06 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte @@ -93,7 +93,7 @@ - {#if $deploymentList?.total} + {#if data?.activeDeployment} {@const activeDeployment = data.activeDeployment}
Active @@ -269,6 +269,20 @@ showColsTextMobile />
+
+ + + + + + +
{#if $deploymentList.total}
From 5c6b1e9f3da3a888a651f9703e2d8ab13b25be27 Mon Sep 17 00:00:00 2001 From: Arman Date: Fri, 28 Jun 2024 17:23:14 +0200 Subject: [PATCH 5/9] fix: string --- .../functions/function-[function]/+page.svelte | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte index 36cf95b06..74c577ee4 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte @@ -49,10 +49,11 @@ width: 110, array: true, format: 'enum', - elements: ['active', 'ready', 'processing', 'building', 'cancelled', 'failed'] + elements: ['ready', 'processing', 'building', 'cancelled', 'failed'] + // processing", "building", "waiting", "ready","failed }, { - id: 'source', + id: 'type', title: 'Source', type: 'string', show: true, From 4c60186957c7e6cd833423b955a1edfa05149f28 Mon Sep 17 00:00:00 2001 From: Arman Date: Mon, 1 Jul 2024 12:05:08 +0200 Subject: [PATCH 6/9] fix: function version check --- .../functions/function-[function]/createManual.svelte | 2 +- .../functions/function-[function]/execute.svelte | 2 +- .../executions/execute-function/+page.svelte | 2 +- .../functions/function-[function]/settings/+page.svelte | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/console/project-[project]/functions/function-[function]/createManual.svelte b/src/routes/console/project-[project]/functions/function-[function]/createManual.svelte index 91507d198..a2c7c63e7 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/createManual.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/createManual.svelte @@ -77,7 +77,7 @@ placeholder="Entrypoint" bind:value={entrypoint} required /> - {#if $func.version !== 'v3'} + {#if $func.version === 'v2'} Build commands now available for functions v3.0 diff --git a/src/routes/console/project-[project]/functions/function-[function]/execute.svelte b/src/routes/console/project-[project]/functions/function-[function]/execute.svelte index 6b408f9ec..4a3a4c94e 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/execute.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/execute.svelte @@ -99,7 +99,7 @@

- {#if $execute?.version !== 'v3'} + {#if $execute?.version === 'v2'} Customizable execution data now available for functions v3.0 diff --git a/src/routes/console/project-[project]/functions/function-[function]/executions/execute-function/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/executions/execute-function/+page.svelte index ad4322dc1..44d410d1d 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/executions/execute-function/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/executions/execute-function/+page.svelte @@ -142,7 +142,7 @@
- {#if func?.version !== 'v3'} + {#if func?.version === 'v2'} Customizable execution data now available for functions v3.0 diff --git a/src/routes/console/project-[project]/functions/function-[function]/settings/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/settings/+page.svelte index db5149a6a..c3d9e416d 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/settings/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/settings/+page.svelte @@ -40,7 +40,7 @@ Settings - {#if $func.version !== 'v3' && showAlert} + {#if $func.version === 'v2' && showAlert} Date: Mon, 1 Jul 2024 18:21:40 +0200 Subject: [PATCH 7/9] fix: filters --- src/lib/components/filters/content.svelte | 20 ++++++++----------- src/lib/components/filters/store.ts | 8 +++++++- src/lib/helpers/types.ts | 2 +- .../function-[function]/+page.svelte | 17 ++++++++-------- .../executions/+page.svelte | 5 ++--- 5 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/lib/components/filters/content.svelte b/src/lib/components/filters/content.svelte index b43bddd85..a887482a1 100644 --- a/src/lib/components/filters/content.svelte +++ b/src/lib/components/filters/content.svelte @@ -64,13 +64,6 @@ apply: { applied: number }; }>(); dispatch('apply', { applied: $tags.length }); - - // $: if (column?.type === 'datetime' && !value) { - // const today = new Date(); - // console.log(today.toISOString()); - // value = today.toISOString(); - // console.log('value', value); - // }
@@ -101,10 +94,10 @@ name="value" bind:tags={arrayValues} placeholder="Select value" - options={column?.elements?.map((value) => ({ - label: value, - value, - checked: arrayValues.includes(value) + options={column?.elements?.map((e) => ({ + label: e?.label ?? e, + value: e?.value ?? e, + checked: arrayValues.includes(e?.value ?? e) }))}> {:else} @@ -123,7 +116,10 @@ id="value" bind:value placeholder="Select value" - options={column?.elements?.map((value) => ({ label: value, value }))} + options={column?.elements?.map((e) => ({ + label: e?.label ?? e, + value: e?.value ?? e + }))} label="Value" showLabel={false} /> {:else if column.type === 'integer' || column.type === 'double'} diff --git a/src/lib/components/filters/store.ts b/src/lib/components/filters/store.ts index 65e18b369..d1714f05d 100644 --- a/src/lib/components/filters/store.ts +++ b/src/lib/components/filters/store.ts @@ -191,7 +191,13 @@ const operatorsDefault = new Map< ValidOperators.NotEqual, { query: Query.notEqual, - types: [ValidTypes.String, ValidTypes.Integer, ValidTypes.Double, ValidTypes.Boolean] + types: [ + ValidTypes.String, + ValidTypes.Integer, + ValidTypes.Double, + ValidTypes.Boolean, + ValidTypes.Enum + ] } ], [ diff --git a/src/lib/helpers/types.ts b/src/lib/helpers/types.ts index 45dcb0b92..c725ee4b3 100644 --- a/src/lib/helpers/types.ts +++ b/src/lib/helpers/types.ts @@ -38,7 +38,7 @@ export type Column = { filter?: boolean; array?: boolean; format?: string; - elements?: string[]; + elements?: string[] | { value: string; label: string }[]; }; export function isValueOfStringEnum>( diff --git a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte index 74c577ee4..2b792040e 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/+page.svelte @@ -49,8 +49,7 @@ width: 110, array: true, format: 'enum', - elements: ['ready', 'processing', 'building', 'cancelled', 'failed'] - // processing", "building", "waiting", "ready","failed + elements: ['ready', 'processing', 'building', 'waiting', 'cancelled', 'failed'] }, { id: 'type', @@ -60,7 +59,11 @@ width: 90, array: true, format: 'enum', - elements: ['manual', 'cli', 'vcs'] + elements: [ + { value: 'manual', label: 'Manual' }, + { value: 'cli', label: 'CLI' }, + { value: 'vcs', label: 'Git' } + ] }, { id: '$updatedAt', @@ -74,18 +77,16 @@ { id: 'buildTime', title: 'Build time', - type: 'string', + type: 'integer', show: true, - width: 80, - format: 'string' + width: 80 }, { id: 'size', title: 'Size', type: 'integer', show: true, - width: 80, - format: 'integer' + width: 80 } ]); diff --git a/src/routes/console/project-[project]/functions/function-[function]/executions/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/executions/+page.svelte index e9e81e168..8261d378c 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/executions/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/executions/+page.svelte @@ -68,10 +68,9 @@ { id: 'responseStatusCode', title: 'Status code', - type: 'string', + type: 'integer', show: true, width: 100, - array: true, format: 'integer' }, { @@ -85,7 +84,7 @@ { id: 'duration', title: 'Duration', - type: 'string', + type: 'integer', show: true, width: 80, format: 'integer' From 56649b0e334021937a96d3e432cf645476dade1e Mon Sep 17 00:00:00 2001 From: Arman Date: Tue, 2 Jul 2024 15:08:55 +0200 Subject: [PATCH 8/9] fix: pull from 1.6 --- package-lock.json | 9 ++++---- .../function-[function]/cancel.svelte | 2 +- .../function-[function]/table.svelte | 22 +++++++++++++++++-- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 944d0f2e8..3de85d2d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "": { "name": "@appwrite/console", "dependencies": { - "@appwrite.io/console": "^0.6.2", + "@appwrite.io/console": "npm:khushboo-console@0.0.3", "@appwrite.io/pink": "0.23.0", "@appwrite.io/pink-icons": "0.23.0", "@popperjs/core": "^2.11.8", @@ -149,9 +149,10 @@ "integrity": "sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==" }, "node_modules/@appwrite.io/console": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@appwrite.io/console/-/console-0.6.2.tgz", - "integrity": "sha512-3qYknuFwhvTN2GnPB8G1w5DgxfVorGtfj4uuEaXbTmMUmjA8fHaW5VkJriuUxCi6/TpxDxqV/hhEkdoXL+5H4w==" + "name": "khushboo-console", + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/khushboo-console/-/khushboo-console-0.0.3.tgz", + "integrity": "sha512-9NzonFdptH/UF65ZNg/zmX1fWvONLUvXNIDKWpvjcwNlhlHoAlT2+uQIBxDuAzECTuXlwpszPeHOgUnhgp9fFQ==" }, "node_modules/@appwrite.io/pink": { "version": "0.23.0", diff --git a/src/routes/console/project-[project]/functions/function-[function]/cancel.svelte b/src/routes/console/project-[project]/functions/function-[function]/cancel.svelte index 1361df6f4..5c4c4ecd8 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/cancel.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/cancel.svelte @@ -9,7 +9,7 @@ import type { Models } from '@appwrite.io/console'; export let showCancel = false; - export let selectedDeployment: Models.Deployment = null; + export let selectedDeployment: Models.Deployment; async function handleSubmit() { try { diff --git a/src/routes/console/project-[project]/functions/function-[function]/table.svelte b/src/routes/console/project-[project]/functions/function-[function]/table.svelte index 8359aa579..dd8441abf 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/table.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/table.svelte @@ -25,6 +25,7 @@ import RedeployModal from './redeployModal.svelte'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; + import Cancel from './cancel.svelte'; export let columns: Column[]; export let data: PageData; @@ -33,6 +34,7 @@ let showDelete = false; let showActivate = false; let showRedeploy = false; + let showCancel = false; let selectedDeployment: Models.Deployment = null; @@ -57,7 +59,7 @@ {#if column.show} {#if column.id === '$id'} {#key column.id} - + {deployment.$id} {/key} @@ -65,7 +67,10 @@ {@const status = deployment.status} {#if data?.activeDeployment?.$id === deployment?.$id} - active + + {:else} Logs + {#if deployment.status === 'processing'} + { + selectedDeployment = deployment; + showDropdown = []; + showCancel = true; + }}> + Cancel + + {/if} { @@ -153,5 +169,7 @@ {#if selectedDeployment} + + {/if} From 5048081ef3001a49aa6b0341d201e0528606ceaf Mon Sep 17 00:00:00 2001 From: Arman Date: Tue, 2 Jul 2024 15:12:21 +0200 Subject: [PATCH 9/9] fix: table --- .../functions/function-[function]/table.svelte | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/console/project-[project]/functions/function-[function]/table.svelte b/src/routes/console/project-[project]/functions/function-[function]/table.svelte index dd8441abf..ba7067b68 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/table.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/table.svelte @@ -80,9 +80,10 @@ {/if} - {:else if column.id === 'source'} - - + {:else if column.id === 'type'} + + + {:else if column.id === '$updatedAt'} @@ -170,6 +171,5 @@ - {/if}