1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2025-11-28 08:47:55 +02:00
Files
pocketbase/ui/src/components/records/RecordInfo.svelte

55 lines
1.5 KiB
Svelte
Raw Normal View History

<script>
import tooltip from "@/actions/tooltip";
2024-09-29 19:23:19 +03:00
import RecordInfoContent from "@/components/records/RecordInfoContent.svelte";
import CommonHelper from "@/utils/CommonHelper";
export let record;
2024-09-29 19:23:19 +03:00
function excludeProps(item, ...props) {
const result = Object.assign({}, item);
for (let prop of props) {
delete result[prop];
2024-02-11 22:30:54 +02:00
}
2024-09-29 19:23:19 +03:00
return result;
2024-02-11 22:30:54 +02:00
}
</script>
<div class="record-info">
2024-09-29 19:23:19 +03:00
<RecordInfoContent {record} />
<a
href="#/collections?collection={record.collectionId}&recordId={record.id}"
2024-09-29 19:23:19 +03:00
target="_blank"
class="inline-flex link-hint"
rel="noopener noreferrer"
use:tooltip={{
2024-09-29 19:23:19 +03:00
text:
"Open relation record in new tab:\n" +
CommonHelper.truncate(
JSON.stringify(CommonHelper.truncateObject(excludeProps(record, "expand")), null, 2),
800,
true,
),
class: "code",
position: "left",
}}
2024-09-29 19:23:19 +03:00
on:click|stopPropagation
on:keydown|stopPropagation
>
<i class="ri-external-link-line txt-sm"></i>
</a>
</div>
<style lang="scss">
.record-info {
display: inline-flex;
vertical-align: top;
align-items: center;
2024-09-29 19:23:19 +03:00
justify-content: center;
max-width: 100%;
min-width: 0;
gap: 5px;
2024-09-29 19:23:19 +03:00
padding-left: 1px; // for visual alignment with the new tab icon
}
</style>