feat, style: attribute sections in inspect are headed by upobjects
ci/woodpecker/push/woodpecker Pipeline failed Details

feat/type-attributes
Tomáš Mládek 2023-07-30 17:02:52 +02:00
parent c70376e484
commit 5429806c73
2 changed files with 20 additions and 21 deletions

View File

@ -18,13 +18,14 @@
import IconButton from "./utils/IconButton.svelte"; import IconButton from "./utils/IconButton.svelte";
import { createEventDispatcher, type ComponentType } from "svelte"; import { createEventDispatcher, type ComponentType } from "svelte";
import UpLink from "./display/UpLink.svelte"; import UpLink from "./display/UpLink.svelte";
import UpObject from "./display/UpObject.svelte";
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
export let entries: UpEntry[]; export let entries: UpEntry[];
export let widgets: Widget[] | undefined = undefined; export let widgets: Widget[] | undefined = undefined;
export let initialWidget: string | undefined = undefined; export let initialWidget: string | undefined = undefined;
export let title: string | undefined = undefined; export let title: string | undefined = undefined;
export let link: string | undefined = undefined; export let group: string | undefined = undefined;
export let icon: string | undefined = undefined; export let icon: string | undefined = undefined;
export let highlighted = false; export let highlighted = false;
export let editable = false; export let editable = false;
@ -73,15 +74,13 @@
<section class="entry-view labelborder" class:highlighted> <section class="entry-view labelborder" class:highlighted>
<header> <header>
<h3> <h3>
{#if link} {#if group}
<UpLink to={{ entity: link }}> {#if icon}
{#if icon} <div class="icon">
<div class="icon"> <Icon name={icon} />
<Icon name={icon} /> </div>
</div> {/if}
{/if} <UpObject link address={group} labels={title ? [title] : undefined} />
{title || ""}
</UpLink>
{:else} {:else}
{#if icon} {#if icon}
<div class="icon"> <div class="icon">

View File

@ -79,17 +79,17 @@
); );
typeAddresses.forEach((address) => { typeAddresses.forEach((address) => {
let labels = labelsQuery.getObject(address).identify(); let labels = labelsQuery.getObject(address).identify();
let typeLabel: string | undefined; let typeLabel: string | undefined;
if (typeLabel) { if (typeLabel) {
labels.unshift(typeLabel); labels.unshift(typeLabel);
} }
allTypes[address] = { allTypes[address] = {
labels, labels,
attributes: [], attributes: [],
}; };
}); });
const attributes = await api.query( const attributes = await api.query(
@ -375,13 +375,13 @@
on:change={onChange} on:change={onChange}
highlighted={highlightedType == typeAddr} highlighted={highlightedType == typeAddr}
title={$allTypes[typeAddr].labels.join(" | ")} title={$allTypes[typeAddr].labels.join(" | ")}
link={typeAddr} group={typeAddr}
/> />
{/each} {/each}
{#if currentUntypedAttributes.length > 0 || editable} {#if currentUntypedAttributes.length > 0 || editable}
<EntryView <EntryView
title={$i18n.t("Attributes")} title={$i18n.t("Other Attributes")}
{editable} {editable}
widgets={attributeWidgets} widgets={attributeWidgets}
entries={currentUntypedAttributes} entries={currentUntypedAttributes}