colors and filters

This commit is contained in:
2024-08-17 19:23:19 +03:00
parent db37653748
commit 322962403d
38 changed files with 648 additions and 556 deletions
+1 -1
View File
@@ -154,7 +154,7 @@
<div class="record-edit">
<div class="tools-header">
<!-- <Manager managerRecords={recordHistory} {graph}/>-->
<EditHeader {schema} bind:record {isCreateMode} {graph} bind:activeContentTab/>
<EditHeader {schema} bind:record {isCreateMode} bind:activeContentTab/>
{#if isCreateMode}
<button
class="button primary btn-spinner"
+4 -6
View File
@@ -21,19 +21,16 @@
}
})
</script>
<div class="editor-field">
{#each backlinks as backlink}
<div style="margin: 0 0 15px;position: relative;">
<span style="
font-size: 14px;
margin-bottom: 5px;
display: block;
position: absolute;
top: -9px;
left: 9px;
z-index: 9;
"
>In <i>{backlink.field}</i></span>
>In <i>{backlink.field}</i> of</span>
<PreviewReference
record={backlink.record}
hasDelete={false}
@@ -41,3 +38,4 @@
/>
</div>
{/each}
</div>
+37 -52
View File
@@ -1,12 +1,14 @@
<script>
import {afterUpdate, createEventDispatcher, onMount,getContext} from "svelte";
import {afterUpdate, createEventDispatcher, getContext, onMount} from "svelte";
import {isEqual} from "lodash";
import FormField from "./FormField.svelte";
import FilePreview from "./FilePreview.svelte";
import ContentTabs from "./header/ContentTabs.svelte";
import StatusSelect from "./header/StatusSelect.svelte";
import ErrorAlert from "../common/ErrorAlert.svelte";
import EditHeader from "./header/EditHeader.svelte";
import axios from "axios";
import Title from "./header/Title.svelte";
const channel = getContext("channel");
const dispatch = createEventDispatcher();
@@ -135,7 +137,6 @@
resolve(null);
})
.catch(function (error) {
// setOriginalContent();
if (error.response) {
if (typeof error.response.data.error === "string") {
errorMessage = error.response.data.error;
@@ -144,9 +145,6 @@
}
}
resolve(null);
// msgSuccess = null;
// msgError = error.response.data.error;
// submitted = false;
});
});
}
@@ -154,15 +152,45 @@
<svelte:window on:beforeunload={beforeUnload}/>
<div class="inline-edit my-4">
<div class="inline-edit record-edit">
<div class="tools-header">
<EditHeader {schema} bind:record {isCreateMode} bind:activeContentTab/>
{#if isCreateMode}
<button
class="button primary btn-spinner"
on:click={save}
>
<span
class="spinner-border spinner-border-sm"
role="status"
aria-hidden="true"
/>
Create
</button>
{:else if hasUnsavedData}
<button
type="button"
class="button primary ms-2 btn btn-primary btn-spinner"
on:click={save}
>
<span
class="spinner-border spinner-border-sm"
role="status"
aria-hidden="true"
/>
Save
</button>
{/if}
</div>
<Title {schema} {record} {isCreateMode}/>
<ErrorAlert message={errorMessage}/>
<div class=" mt-1">
<div class=" mt-4" style="margin-bottom:150px;position:relative;">
<ContentTabs
{schema}
{isCreateMode}
bind:active={activeContentTab}
{record}
/>
<FilePreview {record} {schema}/>
<!-- <fieldset disabled="disabled"> -->
@@ -181,48 +209,5 @@
{/each}
<!-- </fieldset> -->
</div>
<div>
<div class="d-flex mt-3 align-items-center justify-content-center">
{#if schema.hasDrafts}
<StatusSelect bind:status={record.status} {schema}/>
{/if}
{#if isCreateMode}
<button
class="ms-2 btn btn-primary btn-spinner"
on:click={save}
>
<span
class="spinner-border spinner-border-sm"
role="status"
aria-hidden="true"
/>
Add
</button>
{:else}
<button
disabled={!hasUnsavedData}
class="ms-2 btn btn-primary btn-spinner"
on:click={save}
>
<span
class="spinner-border spinner-border-sm"
role="status"
aria-hidden="true"
/>
Save
</button>
{/if}
<button class="ms-2 btn btn-link" on:click={cancel}>
cancel
</button>
</div>
</div>
</div>
<style>
.inline-edit {
padding: 44px;
background-color: #eee;
border-radius: 32px;
}
</style>
@@ -10,7 +10,7 @@
>{field.label}</label
>
{#if field.help}
<small class="help-text">{field.help}</small>
<small class="help-text light-text">{field.help}</small>
{/if}
</div>
<span
@@ -51,7 +51,6 @@
{/if}
<div class="inline-card-wrapper">
<ReferenceInlineButtons
buttonClass="mt-2"
recordId={null}
schemas={collections}
on:insert={insert}
@@ -3,17 +3,15 @@
import Icon from "../../common/Icon.svelte";
import InlineEdit from "../InlineEdit.svelte";
import Dialog from "../../dialog/Dialog.svelte";
import DialogRecord from "../../dialog/DialogRecord.svelte";
import axios from "axios";
const dispatch = createEventDispatcher();
// export let field;
// export let buttonLabel = "";
// export let buttonClass = "";
const channel = getContext("channel");
export let schemas;
export let recordId;
$: showOptions = false;
let browseModal;
let dialogRecord;
let inLineCreateRecord;
function openBrowseModal(e, schema) {
@@ -25,6 +23,7 @@
e.preventDefault();
console.log("Save inline");
inLineCreateRecord = null;
dialogRecord.close()
dispatch("save", {
records: e.detail.records,
after: recordId,
@@ -47,6 +46,7 @@
.get(channel.lucentUrl + "/records/newInline?schema=" + schemaUId)
.then((response) => {
inLineCreateRecord = response.data;
dialogRecord.open()
showOptions = false;
})
.catch((error) => {
@@ -95,53 +95,31 @@
{/if}
{:else}
<div style="display:flex;align-items: center;gap: 4px">
<button
class="button"
on:click={(e) => createInlineReference(e, schemas[0].name)}
>New
</button>
<button
class="button"
on:click={(e) => openBrowseModal(e, schemas[0].name)}
>
<Icon icon="magnifying-glass"/>
</button
>
<button
class="button"
on:click={(e) => createInlineReference(e, schemas[0].name)}
>New
</button>
<button
class="button"
on:click={(e) => openBrowseModal(e, schemas[0].name)}
>
<Icon icon="magnifying-glass"/>
</button
>
</div>
{/if}
{#if inLineCreateRecord}
<InlineEdit
{...inLineCreateRecord}
on:cancel={(e) => (inLineCreateRecord = null)}
on:inlinesaved={save}
/>
{/if}
<DialogRecord bind:this={dialogRecord}>
{#if inLineCreateRecord}
<InlineEdit
{...inLineCreateRecord}
on:cancel={(e) => (inLineCreateRecord = null)}
on:inlinesaved={save}
/>
{/if}
</DialogRecord>
<Dialog bind:this={browseModal} on:insert={insert}/>
<style>
:global(.inline-card-wrapper) {
display: flex;
flex-direction: column;
}
:global(.inline-card-wrapper .inline-card-button) {
visibility: hidden;
}
:global(.inline-card-wrapper .inline-card-button.is-first) {
visibility: visible;
}
:global(.inline-card-wrapper:hover .inline-card-button) {
visibility: visible;
}
.inline-card-button {
/* padding: 0 5px; */
display: inline-block;
z-index: 1;
margin: 10px auto 0;
}
</style>
@@ -114,14 +114,14 @@
on:click={(e) => insert(e, option)}
on:keypress={(e) => insert(e, option)}
>
<span class="dropdown-item">
{previewTitle(channel.schemas, option)}
</span>
{previewTitle(channel.schemas, option)}
</div>
{:else}
Start typing...
<div
class="start-typing">
Start typing...
</div>
{/each}
{/if}
{#if search }
@@ -132,9 +132,7 @@
on:click={(e) => saveNew(e,search)}
on:keypress={(e) => saveNew(e,search)}
>
<span class="dropdown-item">
Add "{search}"
</span>
Add "{search}"
</div>
{/if}
</div>
@@ -143,7 +141,7 @@
{#if references.length > 0}
<div style="display: flex;align-items: center;gap: 4px">
{#each references as record (record.id)}
<span class="autocomplete-selected-value">
<span class="reference-tags-selected-value">
<a
class="record-title"
href="{channel.lucentUrl}/records/{record.id}"
+1 -1
View File
@@ -20,7 +20,7 @@
autocomplete="off"
readonly={field.readonly && !isCreateMode}
/>
<div class="system-help-text">
<div class="system-help-text light-text">
Leave this empty to autogenerate from <i>{field.source}</i>
</div>
{#if errorMessage}
@@ -24,7 +24,7 @@
<div style="display: flex;align-items: center; gap:10px;">
{#if !isCreateMode}
<Dropdown orientation="right">
<Dropdown >
<div slot="button">
<Icon icon="ellipsis"/>
</div>