mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
feat: new CSS, display rels
This commit is contained in:
Generated
+4
-4
@@ -8,7 +8,7 @@
|
||||
"dependencies": {
|
||||
"@analytics/google-analytics": "^1.0.5",
|
||||
"@appwrite.io/console": "0.1.0-preview-0.1",
|
||||
"@appwrite.io/pink": "^0.0.6-rc.5",
|
||||
"@appwrite.io/pink": "^0.0.6-rc.6",
|
||||
"@popperjs/core": "^2.11.6",
|
||||
"@sentry/svelte": "^7.44.2",
|
||||
"@sentry/tracing": "^7.44.2",
|
||||
@@ -155,9 +155,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@appwrite.io/pink": {
|
||||
"version": "0.0.6-rc.5",
|
||||
"resolved": "https://registry.npmjs.org/@appwrite.io/pink/-/pink-0.0.6-rc.5.tgz",
|
||||
"integrity": "sha512-3taoSvB1LtrFcESp/SwdlEGGZwIQcztdBBhbgc1LiK94YuGGLp8Ec2cSGG0w+LXHuZux1gOxXDA5uEkbMvrVJA==",
|
||||
"version": "0.0.6-rc.6",
|
||||
"resolved": "https://registry.npmjs.org/@appwrite.io/pink/-/pink-0.0.6-rc.6.tgz",
|
||||
"integrity": "sha512-mSOUI2UxRqO3MS4ZXz9bdyAt0VFGRhOwWYGXw+oFfYPjmu6GSKnLEQwjF37DeuArEGRNriTiOFrKqXO0HW0odA==",
|
||||
"dependencies": {
|
||||
"@appwrite.io/pink-icons": "*",
|
||||
"normalize.css": "^8.0.1",
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@
|
||||
"dependencies": {
|
||||
"@analytics/google-analytics": "^1.0.5",
|
||||
"@appwrite.io/console": "0.1.0-preview-0.1",
|
||||
"@appwrite.io/pink": "^0.0.6-rc.5",
|
||||
"@appwrite.io/pink": "^0.0.6-rc.6",
|
||||
"@popperjs/core": "^2.11.6",
|
||||
"@sentry/svelte": "^7.44.2",
|
||||
"@sentry/tracing": "^7.44.2",
|
||||
|
||||
+1
-1
@@ -62,7 +62,7 @@
|
||||
|
||||
{#if hasRelationship}
|
||||
<TableList>
|
||||
{#each $attributes?.find((attribute) => attribute.type === 'relationship') as attr}
|
||||
{#each Array.from($attributes?.find((attribute) => attribute.type === 'relationship')) as attr}
|
||||
<li class="table-row">
|
||||
<TableCellText title="relation">
|
||||
{attr?.key}
|
||||
|
||||
+18
-11
@@ -4,12 +4,12 @@
|
||||
import { CardGrid, Heading } from '$lib/components';
|
||||
import { Dependencies } from '$lib/constants';
|
||||
import { Button, Form, FormList, InputSelectSearch, InputText } from '$lib/elements/forms';
|
||||
import { difference, last, symmetricDifference } from '$lib/helpers/array';
|
||||
import { symmetricDifference } from '$lib/helpers/array';
|
||||
import { addNotification } from '$lib/stores/notifications';
|
||||
import { organization } from '$lib/stores/organization';
|
||||
import { teamPrefs } from '$lib/stores/team';
|
||||
import { onMount } from 'svelte';
|
||||
import { attributes } from '../store';
|
||||
import { attributes, collection } from '../store';
|
||||
|
||||
let displayNames = [];
|
||||
let search: string;
|
||||
@@ -17,15 +17,21 @@
|
||||
onMount(async () => {
|
||||
await teamPrefs.load($organization.$id);
|
||||
|
||||
$teamPrefs.displayNames ??= [];
|
||||
displayNames = [...$teamPrefs.displayNames];
|
||||
$teamPrefs.displayNames ??= {};
|
||||
$teamPrefs.displayNames[$collection.$id] ??= [];
|
||||
displayNames = [...$teamPrefs.displayNames[$collection.$id]];
|
||||
});
|
||||
|
||||
async function updateDisplayName() {
|
||||
try {
|
||||
teamPrefs.updatePrefs($organization.$id, {
|
||||
displayNames
|
||||
});
|
||||
const pref = {
|
||||
...$teamPrefs,
|
||||
displayNames: {
|
||||
...$teamPrefs.displayNames,
|
||||
[$collection.$id]: displayNames
|
||||
}
|
||||
};
|
||||
teamPrefs.updatePrefs($organization.$id, pref);
|
||||
invalidate(Dependencies.TEAM);
|
||||
addNotification({
|
||||
message: 'Name has been updated',
|
||||
@@ -60,11 +66,12 @@
|
||||
displayNames?.length >= 5 ||
|
||||
(displayNames?.length && !displayNames[displayNames?.length - 1]);
|
||||
|
||||
$: updateBtnDisabled = !symmetricDifference(displayNames, $teamPrefs?.displayNames)?.length;
|
||||
$: updateBtnDisabled = !symmetricDifference(
|
||||
displayNames,
|
||||
$teamPrefs?.displayNames?.[$collection.$id] ?? []
|
||||
)?.length;
|
||||
|
||||
$: console.log(displayNames, $teamPrefs?.displayNames);
|
||||
|
||||
$: console.log(symmetricDifference(displayNames, $teamPrefs?.displayNames).length);
|
||||
$: console.log(displayNames, $teamPrefs?.displayNames[$collection.$id]);
|
||||
</script>
|
||||
|
||||
<Form onSubmit={updateDisplayName}>
|
||||
|
||||
+14
-2
@@ -13,19 +13,23 @@
|
||||
TableRowLink,
|
||||
TableScroll
|
||||
} from '$lib/elements/table';
|
||||
import { organization } from '$lib/stores/organization';
|
||||
import { teamPrefs } from '$lib/stores/team';
|
||||
import { onMount } from 'svelte';
|
||||
import type { PageData } from './$types';
|
||||
import RelationshipsModal from './relationshipsModal.svelte';
|
||||
import { collection, columns } from './store';
|
||||
import { attributes, collection, columns } from './store';
|
||||
|
||||
export let data: PageData;
|
||||
|
||||
const projectId = $page.params.project;
|
||||
const databaseId = $page.params.database;
|
||||
const collectionId = $page.params.collection;
|
||||
let showRelationships = false;
|
||||
let selectedRelationship: string = null;
|
||||
|
||||
onMount(() => {
|
||||
teamPrefs.load($organization.$id);
|
||||
columns.set([
|
||||
...$collection.attributes.map((attribute) => ({
|
||||
id: attribute.key,
|
||||
@@ -100,9 +104,17 @@
|
||||
{#each $columns as column}
|
||||
{#if column.show}
|
||||
{#if column.type === 'relationship'}
|
||||
<!-- {JSON.stringify(document[column.id])} -->
|
||||
{@const attr = $attributes.find((n) => n.key === column.id)}
|
||||
{@const args = $teamPrefs?.displayNames?.[attr.relatedCollection] ?? [
|
||||
'$id'
|
||||
]}
|
||||
|
||||
{#if !column.twoWay}
|
||||
<TableCell title={column.title}>
|
||||
{document[column.id]}
|
||||
{#each args as arg}
|
||||
{document[column.id]?.[arg]}
|
||||
{/each}
|
||||
</TableCell>
|
||||
{:else}
|
||||
<TableCell>
|
||||
|
||||
Reference in New Issue
Block a user