From b1265c81549c1af636e3926a8de006a565957965 Mon Sep 17 00:00:00 2001
From: Torsten Dittmann
Date: Tue, 11 Oct 2022 17:50:15 +0200
Subject: [PATCH 01/13] feat: persistent pagination
---
src/lib/components/pagination.svelte | 2 +-
src/lib/stores/pagination.ts | 36 +++++++++++++++++++
.../authentication/+page.svelte | 9 ++---
3 files changed, 42 insertions(+), 5 deletions(-)
create mode 100644 src/lib/stores/pagination.ts
diff --git a/src/lib/components/pagination.svelte b/src/lib/components/pagination.svelte
index f3b8218d6..12d48afb3 100644
--- a/src/lib/components/pagination.svelte
+++ b/src/lib/components/pagination.svelte
@@ -69,7 +69,7 @@
{/if}
Total results: {$accountSession?.total}
-
+
diff --git a/src/routes/console/organization-[organization]/+page.svelte b/src/routes/console/organization-[organization]/+page.svelte
index 4373a820c..d9ac8df77 100644
--- a/src/routes/console/organization-[organization]/+page.svelte
+++ b/src/routes/console/organization-[organization]/+page.svelte
@@ -14,8 +14,8 @@
import CreateProject from './_createProject.svelte';
import { cardLimit } from '$lib/stores/layout';
import CardContainer from '$lib/components/cardContainer.svelte';
+ import { createPersistenPagination } from '$lib/stores/pagination';
- let projects: Models.Project[] = [];
$: organizationId = $page.params.organization;
onMount(handle);
@@ -23,7 +23,7 @@
async function handle() {
await projectList.load([
- Query.offset(offset),
+ Query.offset($offset),
Query.limit($cardLimit),
Query.equal('teamId', organizationId)
]);
@@ -31,7 +31,7 @@
let showCreate = false;
let addOrganization = false;
- let offset = 0;
+ const offset = createPersistenPagination($cardLimit);
const projectCreated = async (event: CustomEvent) => {
await project.load(event.detail.$id);
@@ -79,9 +79,12 @@
{#if $projectList?.total}
- (showCreate = true)}>
+ (showCreate = true)}>
{#each $projectList.projects as project, index}
- {#if index >= offset && index < $cardLimit + offset}
+ {#if index >= $offset && index < $cardLimit + $offset}
{project?.platforms?.length ? project?.platforms?.length : 'No'} apps
@@ -113,20 +116,15 @@
Create a new project
-
-
-
Total results: {$projectList.total}
-
-
{:else}
(showCreate = true)}>
Create a new project
-
-
Total results: {projects?.length}
-
-
{/if}
+
+
Total results: {$projectList?.total}
+
+
diff --git a/src/routes/console/organization-[organization]/members/+page.svelte b/src/routes/console/organization-[organization]/members/+page.svelte
index 0a7c14ee8..aa9536dd9 100644
--- a/src/routes/console/organization-[organization]/members/+page.svelte
+++ b/src/routes/console/organization-[organization]/members/+page.svelte
@@ -19,18 +19,22 @@
import { pageLimit } from '$lib/stores/layout';
import { page } from '$app/stores';
import { addNotification } from '$lib/stores/notifications';
+ import { createPersistenPagination } from '$lib/stores/pagination';
let search = '';
- let offset = 0;
-
let selectedMember: Models.Membership;
let showDelete = false;
const url = `${$page.url.origin}/console/`;
+ const offset = createPersistenPagination($pageLimit);
const getAvatar = (name: string) =>
sdkForConsole.avatars.getInitials(name, 120, 120).toString();
const deleted = () =>
- memberList.load($organization.$id, [Query.limit($pageLimit), Query.offset(offset)], search);
+ memberList.load(
+ $organization.$id,
+ [Query.limit($pageLimit), Query.offset($offset)],
+ search
+ );
const resend = async (member: Models.Membership) => {
try {
await sdkForConsole.teams.createMembership(
@@ -52,8 +56,8 @@
}
};
- $: if (search) offset = 0;
- $: memberList.load($organization.$id, [Query.limit($pageLimit), Query.offset(offset)], search);
+ $: if (search) $offset = 0;
+ $: memberList.load($organization.$id, [Query.limit($pageLimit), Query.offset($offset)], search);
@@ -61,10 +65,7 @@
Members
-
{
- newMemberModal.set(true);
- }}>
+ newMemberModal.set(true)}>
Invite
@@ -86,8 +87,9 @@
size={40}
src={getAvatar(member.userName)}
name={member.userName} />
- {member.userName ? member.userName : 'n/a'}
+
+ {member.userName ? member.userName : 'n/a'}
+
{#if member.invited && !member.joined}
Pending
{/if}
@@ -120,7 +122,7 @@
Total results: {$memberList.total}
-
+
{/if}
diff --git a/src/routes/console/project-[project]/authentication/+page.svelte b/src/routes/console/project-[project]/authentication/+page.svelte
index b9768357a..5a71b7af5 100644
--- a/src/routes/console/project-[project]/authentication/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/+page.svelte
@@ -26,7 +26,7 @@
let showCreate = false;
let search = '';
- let offset = createPersistenPagination($pageLimit);
+ const offset = createPersistenPagination($pageLimit);
const project = $page.params.project;
const getAvatar = (name: string) => sdkForProject.avatars.getInitials(name, 32, 32).toString();
diff --git a/src/routes/console/project-[project]/authentication/teams/+page.svelte b/src/routes/console/project-[project]/authentication/teams/+page.svelte
index 49cf872a4..f27cdb16a 100644
--- a/src/routes/console/project-[project]/authentication/teams/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/teams/+page.svelte
@@ -21,10 +21,11 @@
import { teamsList } from '../store';
import { Query, type Models } from '@aw-labs/appwrite-console';
import { pageLimit } from '$lib/stores/layout';
+ import { createPersistenPagination } from '$lib/stores/pagination';
let search = '';
let showCreate = false;
- let offset = 0;
+ const offset = createPersistenPagination($pageLimit);
const project = $page.params.project;
const getAvatar = (name: string) => sdkForProject.avatars.getInitials(name, 32, 32).toString();
@@ -32,9 +33,9 @@
await goto(`${base}/console/project-${project}/authentication/teams/${event.detail.$id}`);
};
- $: if (search) offset = 0;
+ $: if (search) $offset = 0;
$: teamsList.load(
- [Query.limit($pageLimit), Query.offset(offset), Query.orderDesc('$createdAt')],
+ [Query.limit($pageLimit), Query.offset($offset), Query.orderDesc('$createdAt')],
search
);
@@ -81,7 +82,7 @@
Total results: {$teamsList.total}
-
+
{:else if search}
diff --git a/src/routes/console/project-[project]/authentication/teams/[team]/activity/+page.svelte b/src/routes/console/project-[project]/authentication/teams/[team]/activity/+page.svelte
index 9b1e3abe6..223721afa 100644
--- a/src/routes/console/project-[project]/authentication/teams/[team]/activity/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/teams/[team]/activity/+page.svelte
@@ -16,12 +16,13 @@
import { sdkForProject } from '$lib/stores/sdk';
import { pageLimit } from '$lib/stores/layout';
import { Query } from '@aw-labs/appwrite-console';
+ import { createPersistenPagination } from '$lib/stores/pagination';
- let offset = 0;
+ const offset = createPersistenPagination($pageLimit);
$: request = sdkForProject.teams.listLogs($page.params.team, [
Query.limit($pageLimit),
- Query.offset(offset)
+ Query.offset($offset)
]);
const getBrowser = (clientCode: string) => {
@@ -66,14 +67,12 @@
{/if}
{log.event}
-
{#if log.countryCode !== '--'}
{log.countryName}
@@ -94,15 +93,16 @@
No logs available
- Documentation
+
+ Documentation
+
{/if}
Total results: {response.total}
-
+
{/await}
diff --git a/src/routes/console/project-[project]/authentication/teams/[team]/members/+page.svelte b/src/routes/console/project-[project]/authentication/teams/[team]/members/+page.svelte
index 01e68c7cb..46e274248 100644
--- a/src/routes/console/project-[project]/authentication/teams/[team]/members/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/teams/[team]/members/+page.svelte
@@ -20,36 +20,42 @@
import CreateMember from '../_createMembership.svelte';
import DeleteMembership from '../_deleteMembership.svelte';
import { pageLimit } from '$lib/stores/layout';
-
- const getAvatar = (name: string) => sdkForProject.avatars.getInitials(name, 32, 32).toString();
- const deleted = () =>
- memberships.load(
- $page.params.team,
- [Query.limit($pageLimit), Query.offset(offset)],
- search
- );
-
- const project = $page.params.project;
+ import { createPersistenPagination } from '$lib/stores/pagination';
let showCreate = false;
let showDelete = false;
let search = '';
- let offset = 0;
let selectedMembership: Models.Membership;
- $: if (search) offset = 0;
- $: memberships.load($page.params.team, [Query.limit($pageLimit), Query.offset(offset)], search);
+ const project = $page.params.project;
+ const offset = createPersistenPagination($pageLimit);
+ const getAvatar = (name: string) => sdkForProject.avatars.getInitials(name, 32, 32).toString();
- const memberCreated = async (event: CustomEvent) => {
+ $: if (search) $offset = 0;
+ $: memberships.load(
+ $page.params.team,
+ [Query.limit($pageLimit), Query.offset($offset)],
+ search
+ );
+
+ async function memberCreated(event: CustomEvent) {
memberships.load(
$page.params.team,
- [Query.limit($pageLimit), Query.offset(offset)],
+ [Query.limit($pageLimit), Query.offset($offset)],
search
);
await goto(
`${base}/console/project-${project}/authentication/teams/${event.detail.teamId}/members`
);
- };
+ }
+
+ function deleted() {
+ memberships.load(
+ $page.params.team,
+ [Query.limit($pageLimit), Query.offset($offset)],
+ search
+ );
+ }
@@ -77,7 +83,6 @@
size={32}
src={getAvatar(membership.userName)}
name={membership.userName} />
-
{membership.userName ? membership.userName : 'n/a'}
@@ -99,11 +104,9 @@
{/each}
-
+
Total results: {$memberships.total}
-
+
{:else if search}
diff --git a/src/routes/console/project-[project]/authentication/user/[user]/activity/+page.svelte b/src/routes/console/project-[project]/authentication/user/[user]/activity/+page.svelte
index 94056cca1..ba5f3a0ca 100644
--- a/src/routes/console/project-[project]/authentication/user/[user]/activity/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/user/[user]/activity/+page.svelte
@@ -16,17 +16,16 @@
import { sdkForProject } from '$lib/stores/sdk';
import { pageLimit } from '$lib/stores/layout';
import { Query } from '@aw-labs/appwrite-console';
+ import { createPersistenPagination } from '$lib/stores/pagination';
- let offset = 0;
+ const offset = createPersistenPagination($pageLimit);
$: request = sdkForProject.users.listLogs($page.params.user, [
Query.limit($pageLimit),
- Query.offset(offset)
+ Query.offset($offset)
]);
- const getBrowser = (clientCode: string) => {
- return sdkForProject.avatars.getBrowser(clientCode, 80, 80);
- };
+ const getBrowser = (clientCode: string) => sdkForProject.avatars.getBrowser(clientCode, 80, 80);
@@ -99,7 +98,7 @@
{/if}
Total results: {response.total}
-
+
{/await}
diff --git a/src/routes/console/project-[project]/authentication/user/[user]/memberships/+page.svelte b/src/routes/console/project-[project]/authentication/user/[user]/memberships/+page.svelte
index 8335b106c..bfa88a3e3 100644
--- a/src/routes/console/project-[project]/authentication/user/[user]/memberships/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/user/[user]/memberships/+page.svelte
@@ -1,5 +1,6 @@
@@ -86,11 +90,9 @@
>Documentation
{/if}
-
+
Total results: {response.total}
-
+
{/await}
diff --git a/src/routes/console/project-[project]/authentication/user/[user]/sessions/+page.svelte b/src/routes/console/project-[project]/authentication/user/[user]/sessions/+page.svelte
index ce9d0dd02..223d8e90c 100644
--- a/src/routes/console/project-[project]/authentication/user/[user]/sessions/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/user/[user]/sessions/+page.svelte
@@ -19,19 +19,20 @@
import { pageLimit } from '$lib/stores/layout';
import { onMount } from 'svelte';
import type { Models } from '@aw-labs/appwrite-console';
+ import { createPersistenPagination } from '$lib/stores/pagination';
- let offset = 0;
let showDelete = false;
let showDeleteAll = false;
let selectedSessionId: string = null;
let sessionList: Models.SessionList = null;
+
+ const offset = createPersistenPagination($pageLimit);
+
onMount(async () => {
sessionList = await sdkForProject.users.listSessions($page.params.user);
});
- const getBrowser = (clientCode: string) => {
- return sdkForProject.avatars.getBrowser(clientCode, 40, 40);
- };
+ const getBrowser = (clientCode: string) => sdkForProject.avatars.getBrowser(clientCode, 40, 40);
@@ -102,7 +103,7 @@
{/if}
Total results: {sessionList?.total}
-
+
diff --git a/src/routes/console/project-[project]/databases/+page.svelte b/src/routes/console/project-[project]/databases/+page.svelte
index ef5447ec8..44da83c78 100644
--- a/src/routes/console/project-[project]/databases/+page.svelte
+++ b/src/routes/console/project-[project]/databases/+page.svelte
@@ -10,19 +10,21 @@
import { base } from '$app/paths';
import { databaseList } from './store';
import { cardLimit } from '$lib/stores/layout';
+ import { createPersistenPagination } from '$lib/stores/pagination';
let showCreate = false;
let search = '';
- let offset = 0;
const project = $page.params.project;
- const handleCreate = async (event: CustomEvent
) => {
+ const offset = createPersistenPagination($cardLimit);
+
+ async function handleCreate(event: CustomEvent) {
showCreate = false;
await goto(`${base}/console/project-${project}/databases/database/${event.detail.$id}`);
- };
+ }
$: databaseList.load(
- [Query.limit($cardLimit), Query.offset(offset), Query.orderDesc('$createdAt')],
+ [Query.limit($cardLimit), Query.offset($offset), Query.orderDesc('$createdAt')],
search
);
@@ -37,7 +39,10 @@
{#if $databaseList?.total}
- (showCreate = true)}>
+ (showCreate = true)}>
{#each $databaseList.databases as database}
@@ -56,7 +61,7 @@
Total results: {$databaseList.total}
-
+
{:else}
(showCreate = true)}>
diff --git a/src/routes/console/project-[project]/databases/database/[database]/+page.svelte b/src/routes/console/project-[project]/databases/database/[database]/+page.svelte
index dc86ae5a8..7ceffd78a 100644
--- a/src/routes/console/project-[project]/databases/database/[database]/+page.svelte
+++ b/src/routes/console/project-[project]/databases/database/[database]/+page.svelte
@@ -10,22 +10,24 @@
import { base } from '$app/paths';
import { collections } from './store';
import { cardLimit } from '$lib/stores/layout';
+ import { createPersistenPagination } from '$lib/stores/pagination';
let showCreate = false;
- let offset = 0;
const project = $page.params.project;
const databaseId = $page.params.database;
- const handleCreate = async (event: CustomEvent) => {
+ const offset = createPersistenPagination($cardLimit);
+
+ async function handleCreate(event: CustomEvent) {
showCreate = false;
await goto(
`${base}/console/project-${project}/databases/database/${databaseId}/collection/${event.detail.$id}`
);
- };
+ }
$: collections.load(databaseId, [
Query.limit($cardLimit),
- Query.offset(offset),
+ Query.offset($offset),
Query.orderDesc('$createdAt')
]);
@@ -41,7 +43,10 @@
{#if $collections?.total}
- (showCreate = true)}>
+ (showCreate = true)}>
{#each $collections.collections as collection}
@@ -69,7 +74,7 @@
Total results: {$collections.total}
-
+
{:else}
(showCreate = true)}>
diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+page.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+page.svelte
index 53bcdb9ab..c7206f627 100644
--- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+page.svelte
+++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+page.svelte
@@ -18,27 +18,28 @@
import Create from './createDocument.svelte';
import { Query } from '@aw-labs/appwrite-console';
import { pageLimit } from '$lib/stores/layout';
-
- let offset = 0;
+ import { createPersistenPagination } from '$lib/stores/pagination';
const projectId = $page.params.project;
const databaseId = $page.params.database;
+ const offset = createPersistenPagination($pageLimit);
+
+ function openWizard() {
+ wizard.start(Create);
+ }
$: documentList.load(databaseId, $collection.$id, [
Query.limit($pageLimit),
- Query.offset(offset),
+ Query.offset($offset),
Query.orderDesc('$createdAt')
]);
+
$: columns = [
...$collection.attributes.map((attribute) => ({
key: attribute.key,
title: attribute.key
}))
];
-
- function openWizard() {
- wizard.start(Create);
- }
@@ -84,7 +85,7 @@
Total results: {$documentList.total}
-
+
{:else}
diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/+page.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/+page.svelte
index 24210e796..8aacecc2c 100644
--- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/+page.svelte
+++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/+page.svelte
@@ -19,14 +19,16 @@
import Delete from './deleteAttribute.svelte';
import Overview from './overview.svelte';
import { pageLimit } from '$lib/stores/layout';
+ import { createPersistenPagination } from '$lib/stores/pagination';
- let offset = 0;
let showDropdown = [];
let selectedAttribute: Attributes = null;
let showCreate = false;
let showDelete = false;
let showOverview = false;
let showCreateIndex = false;
+
+ const offset = createPersistenPagination($pageLimit);
@@ -112,7 +114,10 @@
Total results: {$collection?.attributes?.length}
-
+
{:else}
(showCreate = true)}>
diff --git a/src/routes/console/project-[project]/storage/+page.svelte b/src/routes/console/project-[project]/storage/+page.svelte
index 515002ec9..8da388e31 100644
--- a/src/routes/console/project-[project]/storage/+page.svelte
+++ b/src/routes/console/project-[project]/storage/+page.svelte
@@ -11,19 +11,21 @@
import { bucketList } from './store';
import { tooltip } from '$lib/actions/tooltip';
import { cardLimit } from '$lib/stores/layout';
+ import { createPersistenPagination } from '$lib/stores/pagination';
let showCreate = false;
- let offset = 0;
const project = $page.params.project;
- const bucketCreated = async (event: CustomEvent) => {
+ const offset = createPersistenPagination($cardLimit);
+
+ async function bucketCreated(event: CustomEvent) {
showCreate = false;
await goto(`${base}/console/project-${project}/storage/bucket/${event.detail.$id}`);
- };
+ }
$: bucketList.load([
Query.limit($cardLimit),
- Query.offset(offset),
+ Query.offset($offset),
Query.orderDesc('$createdAt')
]);
@@ -38,7 +40,10 @@
{#if $bucketList?.total}
- (showCreate = true)}>
+ (showCreate = true)}>
{#each $bucketList.buckets as bucket}
XX Files
@@ -86,7 +91,7 @@
Total results: {$bucketList.total}
-
+
{:else}
(showCreate = true)}>
diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte
index c7db7e610..e1ae9702a 100644
--- a/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte
+++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte
@@ -34,50 +34,54 @@
import { uploader } from '$lib/stores/uploader';
import { addNotification } from '$lib/stores/notifications';
import { pageLimit } from '$lib/stores/layout';
+ import { createPersistenPagination } from '$lib/stores/pagination';
let search = '';
let showCreate = false;
- let showDropdown = [];
let showDelete = false;
+ let showDropdown = [];
let selectedFile: Models.File = null;
- let offset = 0;
const project = $page.params.project;
const bucket = $page.params.bucket;
-
+ const offset = createPersistenPagination($pageLimit);
const getPreview = (fileId: string) =>
sdkForProject.storage.getFilePreview(bucket, fileId, 32, 32).toString() + '&mode=admin';
- const fileCreated = () => {
- showCreate = false;
- files.load(bucket, [Query.limit($pageLimit), Query.offset(offset)], search);
- };
+ async function loadFiles() {
+ files.load(bucket, [Query.limit($pageLimit), Query.offset($offset)], search);
+ }
- const fileDeleted = (event: CustomEvent) => {
+ function fileCreated() {
+ showCreate = false;
+ loadFiles();
+ }
+
+ function fileDeleted(event: CustomEvent) {
showDelete = false;
uploader.removeFile(event.detail);
- files.load(bucket, [Query.limit($pageLimit), Query.offset(offset)], search);
- };
+ loadFiles();
+ }
- const deleteFile = async (file: Models.File) => {
+ async function deleteFile(file: Models.File) {
try {
await sdkForProject.storage.deleteFile(file.bucketId, file.$id);
uploader.removeFile(file);
- files.load(bucket, [Query.limit($pageLimit), Query.offset(offset)], search);
+ loadFiles();
} catch (error) {
addNotification({
type: 'error',
message: error.message
});
}
- };
+ }
$: files.load(
bucket,
- [Query.limit($pageLimit), Query.offset(offset), Query.orderDesc('$createdAt')],
+ [Query.limit($pageLimit), Query.offset($offset), Query.orderDesc('$createdAt')],
search
);
- $: if (search) offset = 0;
+ $: if (search) $offset = 0;
@@ -181,7 +185,7 @@
Total results: {$files.total}
-
+
{:else if search}
From 24f123189e52abd5565ca1e8bf24f02cbba174c3 Mon Sep 17 00:00:00 2001
From: Torsten Dittmann
Date: Wed, 12 Oct 2022 14:40:06 +0200
Subject: [PATCH 07/13] fix: typo in createPersistentPagination
---
src/lib/stores/pagination.ts | 2 +-
src/routes/console/account/activity/+page.svelte | 4 ++--
src/routes/console/account/organizations/+page.svelte | 4 ++--
src/routes/console/account/sessions/+page.svelte | 4 ++--
src/routes/console/organization-[organization]/+page.svelte | 4 ++--
.../console/organization-[organization]/members/+page.svelte | 4 ++--
.../console/project-[project]/authentication/+page.svelte | 4 ++--
.../project-[project]/authentication/teams/+page.svelte | 4 ++--
.../authentication/teams/[team]/activity/+page.svelte | 4 ++--
.../authentication/teams/[team]/members/+page.svelte | 4 ++--
.../authentication/user/[user]/activity/+page.svelte | 4 ++--
.../authentication/user/[user]/memberships/+page.svelte | 4 ++--
.../authentication/user/[user]/sessions/+page.svelte | 4 ++--
src/routes/console/project-[project]/databases/+page.svelte | 4 ++--
.../databases/database/[database]/+page.svelte | 4 ++--
.../database/[database]/collection/[collection]/+page.svelte | 4 ++--
.../collection/[collection]/attributes/+page.svelte | 4 ++--
src/routes/console/project-[project]/storage/+page.svelte | 4 ++--
.../project-[project]/storage/bucket/[bucket]/+page.svelte | 4 ++--
19 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/src/lib/stores/pagination.ts b/src/lib/stores/pagination.ts
index 33130fba9..f7ce19328 100644
--- a/src/lib/stores/pagination.ts
+++ b/src/lib/stores/pagination.ts
@@ -2,7 +2,7 @@ import { afterNavigate, goto } from '$app/navigation';
import { page } from '$app/stores';
import { get, writable } from 'svelte/store';
-export function createPersistenPagination(limit: number) {
+export function createPersistentPagination(limit: number) {
const url = get(page).url;
const current = +(url.searchParams.get('page') ?? 1);
const offset = current * limit - limit;
diff --git a/src/routes/console/account/activity/+page.svelte b/src/routes/console/account/activity/+page.svelte
index 1892cd228..c3ae5f00d 100644
--- a/src/routes/console/account/activity/+page.svelte
+++ b/src/routes/console/account/activity/+page.svelte
@@ -17,9 +17,9 @@
import { onMount } from 'svelte';
import { accountActivity } from '../store';
import { Query } from '@aw-labs/appwrite-console';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
onMount(async () => {
await accountActivity.load([Query.offset($offset), Query.limit($pageLimit)]);
diff --git a/src/routes/console/account/organizations/+page.svelte b/src/routes/console/account/organizations/+page.svelte
index eece6d378..577a22b94 100644
--- a/src/routes/console/account/organizations/+page.svelte
+++ b/src/routes/console/account/organizations/+page.svelte
@@ -8,7 +8,7 @@
import { onMount } from 'svelte';
import { sdkForConsole } from '$lib/stores/sdk';
import { cardLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
onMount(async () => {
await organizationList.load();
@@ -29,7 +29,7 @@
};
let addOrganization = false;
- const offset = createPersistenPagination($cardLimit);
+ const offset = createPersistentPagination($cardLimit);
diff --git a/src/routes/console/account/sessions/+page.svelte b/src/routes/console/account/sessions/+page.svelte
index cf8782712..b0c9c190c 100644
--- a/src/routes/console/account/sessions/+page.svelte
+++ b/src/routes/console/account/sessions/+page.svelte
@@ -17,9 +17,9 @@
import type { Models } from '@aw-labs/appwrite-console';
import { accountSession } from '../store';
import { onMount } from 'svelte';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
onMount(async () => {
await accountSession.load();
diff --git a/src/routes/console/organization-[organization]/+page.svelte b/src/routes/console/organization-[organization]/+page.svelte
index d9ac8df77..7788eba71 100644
--- a/src/routes/console/organization-[organization]/+page.svelte
+++ b/src/routes/console/organization-[organization]/+page.svelte
@@ -14,7 +14,7 @@
import CreateProject from './_createProject.svelte';
import { cardLimit } from '$lib/stores/layout';
import CardContainer from '$lib/components/cardContainer.svelte';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
$: organizationId = $page.params.organization;
@@ -31,7 +31,7 @@
let showCreate = false;
let addOrganization = false;
- const offset = createPersistenPagination($cardLimit);
+ const offset = createPersistentPagination($cardLimit);
const projectCreated = async (event: CustomEvent) => {
await project.load(event.detail.$id);
diff --git a/src/routes/console/organization-[organization]/members/+page.svelte b/src/routes/console/organization-[organization]/members/+page.svelte
index aa9536dd9..623fd70c5 100644
--- a/src/routes/console/organization-[organization]/members/+page.svelte
+++ b/src/routes/console/organization-[organization]/members/+page.svelte
@@ -19,13 +19,13 @@
import { pageLimit } from '$lib/stores/layout';
import { page } from '$app/stores';
import { addNotification } from '$lib/stores/notifications';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let search = '';
let selectedMember: Models.Membership;
let showDelete = false;
const url = `${$page.url.origin}/console/`;
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
const getAvatar = (name: string) =>
sdkForConsole.avatars.getInitials(name, 120, 120).toString();
diff --git a/src/routes/console/project-[project]/authentication/+page.svelte b/src/routes/console/project-[project]/authentication/+page.svelte
index 5a71b7af5..c3350a8d8 100644
--- a/src/routes/console/project-[project]/authentication/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/+page.svelte
@@ -22,11 +22,11 @@
import { usersList } from './store';
import { Query, type Models } from '@aw-labs/appwrite-console';
import { pageLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let showCreate = false;
let search = '';
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
const project = $page.params.project;
const getAvatar = (name: string) => sdkForProject.avatars.getInitials(name, 32, 32).toString();
diff --git a/src/routes/console/project-[project]/authentication/teams/+page.svelte b/src/routes/console/project-[project]/authentication/teams/+page.svelte
index f27cdb16a..be55c393e 100644
--- a/src/routes/console/project-[project]/authentication/teams/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/teams/+page.svelte
@@ -21,11 +21,11 @@
import { teamsList } from '../store';
import { Query, type Models } from '@aw-labs/appwrite-console';
import { pageLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let search = '';
let showCreate = false;
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
const project = $page.params.project;
const getAvatar = (name: string) => sdkForProject.avatars.getInitials(name, 32, 32).toString();
diff --git a/src/routes/console/project-[project]/authentication/teams/[team]/activity/+page.svelte b/src/routes/console/project-[project]/authentication/teams/[team]/activity/+page.svelte
index 223721afa..0eb463d93 100644
--- a/src/routes/console/project-[project]/authentication/teams/[team]/activity/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/teams/[team]/activity/+page.svelte
@@ -16,9 +16,9 @@
import { sdkForProject } from '$lib/stores/sdk';
import { pageLimit } from '$lib/stores/layout';
import { Query } from '@aw-labs/appwrite-console';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
$: request = sdkForProject.teams.listLogs($page.params.team, [
Query.limit($pageLimit),
diff --git a/src/routes/console/project-[project]/authentication/teams/[team]/members/+page.svelte b/src/routes/console/project-[project]/authentication/teams/[team]/members/+page.svelte
index 46e274248..41e5991c5 100644
--- a/src/routes/console/project-[project]/authentication/teams/[team]/members/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/teams/[team]/members/+page.svelte
@@ -20,7 +20,7 @@
import CreateMember from '../_createMembership.svelte';
import DeleteMembership from '../_deleteMembership.svelte';
import { pageLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let showCreate = false;
let showDelete = false;
@@ -28,7 +28,7 @@
let selectedMembership: Models.Membership;
const project = $page.params.project;
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
const getAvatar = (name: string) => sdkForProject.avatars.getInitials(name, 32, 32).toString();
$: if (search) $offset = 0;
diff --git a/src/routes/console/project-[project]/authentication/user/[user]/activity/+page.svelte b/src/routes/console/project-[project]/authentication/user/[user]/activity/+page.svelte
index ba5f3a0ca..9244eb8ac 100644
--- a/src/routes/console/project-[project]/authentication/user/[user]/activity/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/user/[user]/activity/+page.svelte
@@ -16,9 +16,9 @@
import { sdkForProject } from '$lib/stores/sdk';
import { pageLimit } from '$lib/stores/layout';
import { Query } from '@aw-labs/appwrite-console';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
$: request = sdkForProject.users.listLogs($page.params.user, [
Query.limit($pageLimit),
diff --git a/src/routes/console/project-[project]/authentication/user/[user]/memberships/+page.svelte b/src/routes/console/project-[project]/authentication/user/[user]/memberships/+page.svelte
index bfa88a3e3..35c9bd2b1 100644
--- a/src/routes/console/project-[project]/authentication/user/[user]/memberships/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/user/[user]/memberships/+page.svelte
@@ -15,7 +15,7 @@
import { Container } from '$lib/layout';
import { sdkForProject } from '$lib/stores/sdk';
import { pageLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
import DeleteMembership from '../_deleteMembership.svelte';
import DeleteAllMemberships from '../_deleteAllMemberships.svelte';
import type { Models } from '@aw-labs/appwrite-console';
@@ -25,7 +25,7 @@
let showDeleteAll = false;
const project = $page.params.project;
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
const getAvatar = (name: string) => sdkForProject.avatars.getInitials(name, 32, 32).toString();
$: request = sdkForProject.users.listMemberships($page.params.user);
diff --git a/src/routes/console/project-[project]/authentication/user/[user]/sessions/+page.svelte b/src/routes/console/project-[project]/authentication/user/[user]/sessions/+page.svelte
index 223d8e90c..a960f8fc0 100644
--- a/src/routes/console/project-[project]/authentication/user/[user]/sessions/+page.svelte
+++ b/src/routes/console/project-[project]/authentication/user/[user]/sessions/+page.svelte
@@ -19,14 +19,14 @@
import { pageLimit } from '$lib/stores/layout';
import { onMount } from 'svelte';
import type { Models } from '@aw-labs/appwrite-console';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let showDelete = false;
let showDeleteAll = false;
let selectedSessionId: string = null;
let sessionList: Models.SessionList = null;
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
onMount(async () => {
sessionList = await sdkForProject.users.listSessions($page.params.user);
diff --git a/src/routes/console/project-[project]/databases/+page.svelte b/src/routes/console/project-[project]/databases/+page.svelte
index 44da83c78..3673ee03d 100644
--- a/src/routes/console/project-[project]/databases/+page.svelte
+++ b/src/routes/console/project-[project]/databases/+page.svelte
@@ -10,13 +10,13 @@
import { base } from '$app/paths';
import { databaseList } from './store';
import { cardLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let showCreate = false;
let search = '';
const project = $page.params.project;
- const offset = createPersistenPagination($cardLimit);
+ const offset = createPersistentPagination($cardLimit);
async function handleCreate(event: CustomEvent) {
showCreate = false;
diff --git a/src/routes/console/project-[project]/databases/database/[database]/+page.svelte b/src/routes/console/project-[project]/databases/database/[database]/+page.svelte
index 7ceffd78a..a02da7912 100644
--- a/src/routes/console/project-[project]/databases/database/[database]/+page.svelte
+++ b/src/routes/console/project-[project]/databases/database/[database]/+page.svelte
@@ -10,13 +10,13 @@
import { base } from '$app/paths';
import { collections } from './store';
import { cardLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let showCreate = false;
const project = $page.params.project;
const databaseId = $page.params.database;
- const offset = createPersistenPagination($cardLimit);
+ const offset = createPersistentPagination($cardLimit);
async function handleCreate(event: CustomEvent) {
showCreate = false;
diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+page.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+page.svelte
index c7206f627..cc053fa2c 100644
--- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+page.svelte
+++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+page.svelte
@@ -18,11 +18,11 @@
import Create from './createDocument.svelte';
import { Query } from '@aw-labs/appwrite-console';
import { pageLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
const projectId = $page.params.project;
const databaseId = $page.params.database;
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
function openWizard() {
wizard.start(Create);
diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/+page.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/+page.svelte
index 8aacecc2c..014da3a29 100644
--- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/+page.svelte
+++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/attributes/+page.svelte
@@ -19,7 +19,7 @@
import Delete from './deleteAttribute.svelte';
import Overview from './overview.svelte';
import { pageLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let showDropdown = [];
let selectedAttribute: Attributes = null;
@@ -28,7 +28,7 @@
let showOverview = false;
let showCreateIndex = false;
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
diff --git a/src/routes/console/project-[project]/storage/+page.svelte b/src/routes/console/project-[project]/storage/+page.svelte
index 8da388e31..fec56c60b 100644
--- a/src/routes/console/project-[project]/storage/+page.svelte
+++ b/src/routes/console/project-[project]/storage/+page.svelte
@@ -11,12 +11,12 @@
import { bucketList } from './store';
import { tooltip } from '$lib/actions/tooltip';
import { cardLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let showCreate = false;
const project = $page.params.project;
- const offset = createPersistenPagination($cardLimit);
+ const offset = createPersistentPagination($cardLimit);
async function bucketCreated(event: CustomEvent) {
showCreate = false;
diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte
index e1ae9702a..f381bafa7 100644
--- a/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte
+++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/+page.svelte
@@ -34,7 +34,7 @@
import { uploader } from '$lib/stores/uploader';
import { addNotification } from '$lib/stores/notifications';
import { pageLimit } from '$lib/stores/layout';
- import { createPersistenPagination } from '$lib/stores/pagination';
+ import { createPersistentPagination } from '$lib/stores/pagination';
let search = '';
let showCreate = false;
@@ -44,7 +44,7 @@
const project = $page.params.project;
const bucket = $page.params.bucket;
- const offset = createPersistenPagination($pageLimit);
+ const offset = createPersistentPagination($pageLimit);
const getPreview = (fileId: string) =>
sdkForProject.storage.getFilePreview(bucket, fileId, 32, 32).toString() + '&mode=admin';
From 43926871012bf8a35cb0b880a23b1ae6fa4d6b1b Mon Sep 17 00:00:00 2001
From: Arman
Date: Wed, 12 Oct 2022 15:51:34 +0200
Subject: [PATCH 08/13] feat: add createdAt & updatedAt
---
.../database/[database]/settings/+page.svelte | 5 +++--
.../storage/bucket/[bucket]/settings/+page.svelte | 10 +++++-----
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/routes/console/project-[project]/databases/database/[database]/settings/+page.svelte b/src/routes/console/project-[project]/databases/database/[database]/settings/+page.svelte
index 25742f18c..44b42c23b 100644
--- a/src/routes/console/project-[project]/databases/database/[database]/settings/+page.svelte
+++ b/src/routes/console/project-[project]/databases/database/[database]/settings/+page.svelte
@@ -8,6 +8,7 @@
import { database } from '../store';
import Delete from '../_delete.svelte';
import { onMount } from 'svelte';
+ import { toLocaleDateTime } from '$lib/helpers/date';
const databaseId = $page.params.database;
const getAvatar = (name: string) => sdkForProject.avatars.getInitials(name, 48, 48).toString();
@@ -54,8 +55,8 @@
-
Created: TO IMPLEMENT
-
Last Updated: TO IMPLEMENT
+
Created: {toLocaleDateTime($database.$createdAt)}
+
Last Updated: {toLocaleDateTime($database.$updatedAt)}
diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/settings/+page.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/settings/+page.svelte
index 1b5488f96..14767ef91 100644
--- a/src/routes/console/project-[project]/storage/bucket/[bucket]/settings/+page.svelte
+++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/settings/+page.svelte
@@ -257,8 +257,8 @@
will be ignored.
-