Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1ab3f678b7 | |||
| a54200c5e5 | |||
| 069ae72705 |
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"main.js": {
|
"main.js": {
|
||||||
"file": "assets/main.7c3e8b7b.js",
|
"file": "assets/main.88a796e4.js",
|
||||||
"src": "main.js",
|
"src": "main.js",
|
||||||
"isEntry": true,
|
"isEntry": true,
|
||||||
"css": [
|
"css": [
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
export function sortByField(from, to, edges, fieldName) {
|
|
||||||
|
|
||||||
|
|
||||||
|
export function sortByField(from, to, edges, fieldName, references) {
|
||||||
if (from === to) {
|
if (from === to) {
|
||||||
return edges;
|
return edges;
|
||||||
}
|
}
|
||||||
let edgesTosort = edges?.filter((ed) => ed.field === fieldName && ed.depth === 1 ) ?? [];
|
let referenceIds = references.map(r => r.id);
|
||||||
|
let edgesTosort = edges?.filter((ed) => ed.field === fieldName && ed.depth === 1 && referenceIds.includes(ed.target)) ?? [];
|
||||||
let remainingEdge = edges?.filter((ed) => !(ed.field === fieldName && ed.depth === 1)) ?? [];
|
let remainingEdge = edges?.filter((ed) => !(ed.field === fieldName && ed.depth === 1)) ?? [];
|
||||||
|
|
||||||
edgesTosort = array_move(edgesTosort,from, to);
|
edgesTosort = array_move(edgesTosort,from, to);
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
easing: "cubic-bezier(1, 0, 0, 1)",
|
easing: "cubic-bezier(1, 0, 0, 1)",
|
||||||
onUpdate: function (/**Event*/ evt) {
|
onUpdate: function (/**Event*/ evt) {
|
||||||
// reorder(evt.oldIndex,evt.newIndex);
|
// reorder(evt.oldIndex,evt.newIndex);
|
||||||
console.log(evt)
|
// console.log(evt)
|
||||||
dispatch("update", {
|
dispatch("update", {
|
||||||
source: evt.oldIndex,
|
source: evt.oldIndex,
|
||||||
target: evt.newIndex,
|
target: evt.newIndex,
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ function noTemplate(schema, record) {
|
|||||||
record?.data[schema.fields.filter((f) => f.info.name === "text")[0]?.name]
|
record?.data[schema.fields.filter((f) => f.info.name === "text")[0]?.name]
|
||||||
).slice(0, 300);
|
).slice(0, 300);
|
||||||
|
|
||||||
if(title == ""){
|
if(title.trim() == ""){
|
||||||
return "Untitled";
|
return "~Untitled~";
|
||||||
}
|
}
|
||||||
|
|
||||||
return title;
|
return title;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function reorder(e) {
|
function reorder(e) {
|
||||||
graph.edges = sortByField(e.detail.source, e.detail.target, graph.edges, blockFieldName);
|
graph.edges = sortByField(e.detail.source, e.detail.target, graph.edges, blockFieldName, references);
|
||||||
}
|
}
|
||||||
|
|
||||||
function insert(e) {
|
function insert(e) {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function reorder(e) {
|
function reorder(e) {
|
||||||
graph.edges = sortByField(e.detail.source, e.detail.target, graph.edges, blockFieldName);
|
graph.edges = sortByField(e.detail.source, e.detail.target, graph.edges, blockFieldName, references);
|
||||||
}
|
}
|
||||||
|
|
||||||
function insert(e) {
|
function insert(e) {
|
||||||
|
|||||||
@@ -12,11 +12,10 @@
|
|||||||
export let graph
|
export let graph
|
||||||
|
|
||||||
let browseModal;
|
let browseModal;
|
||||||
|
|
||||||
$: references = graph?.edges
|
$: references = graph?.edges
|
||||||
.filter((edge) => edge.field === field.name)
|
.filter((edge) => edge.field === field.name)
|
||||||
.map((edge) => {
|
.map((edge) => {
|
||||||
return graph.records.find((increc) => increc.id == edge.target && record.id == edge.source);
|
return graph.records.find((increc) => increc.id === edge.target && record.id === edge.source);
|
||||||
}).filter((rec) => (rec?.id ? true : false)) ?? [];
|
}).filter((rec) => (rec?.id ? true : false)) ?? [];
|
||||||
|
|
||||||
let collections = channel.schemas.filter((aschema) =>
|
let collections = channel.schemas.filter((aschema) =>
|
||||||
@@ -36,7 +35,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function reorder(e) {
|
async function reorder(e) {
|
||||||
graph.edges = await sortByField(e.detail.source, e.detail.target, graph.edges, field.name);
|
|
||||||
|
graph.edges = await sortByField(e.detail.source, e.detail.target, graph.edges, field.name, references);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function insert(e) {
|
function insert(e) {
|
||||||
@@ -68,18 +69,18 @@
|
|||||||
<div class="mb-0">
|
<div class="mb-0">
|
||||||
{#if field.collections.length === 1}
|
{#if field.collections.length === 1}
|
||||||
<button
|
<button
|
||||||
class="btn btn-outline-primary"
|
class="btn btn-outline-primary"
|
||||||
on:click={(e) => openBrowseModal(e, collections[0].name)}
|
on:click={(e) => openBrowseModal(e, collections[0].name)}
|
||||||
>
|
>
|
||||||
Browse
|
Browse
|
||||||
</button>
|
</button>
|
||||||
{:else}
|
{:else}
|
||||||
<div class="dropdown d-inline-block">
|
<div class="dropdown d-inline-block">
|
||||||
<button
|
<button
|
||||||
class="btn btn-outline-primary btn-sm"
|
class="btn btn-outline-primary btn-sm"
|
||||||
type="button"
|
type="button"
|
||||||
data-bs-toggle="dropdown"
|
data-bs-toggle="dropdown"
|
||||||
aria-expanded="false"
|
aria-expanded="false"
|
||||||
>
|
>
|
||||||
Browse
|
Browse
|
||||||
</button>
|
</button>
|
||||||
@@ -88,10 +89,10 @@
|
|||||||
<li>
|
<li>
|
||||||
<!-- {`${channelurl}/content/${collection.name}?parent=${record.id}&parentfield=${field.name}`} -->
|
<!-- {`${channelurl}/content/${collection.name}?parent=${record.id}&parentfield=${field.name}`} -->
|
||||||
<a
|
<a
|
||||||
class="dropdown-item"
|
class="dropdown-item"
|
||||||
on:click={(e) =>
|
on:click={(e) =>
|
||||||
openBrowseModal(e, collection.name)}
|
openBrowseModal(e, collection.name)}
|
||||||
href="/">{collection.label}</a
|
href="/">{collection.label}</a
|
||||||
>
|
>
|
||||||
</li>
|
</li>
|
||||||
{/each}
|
{/each}
|
||||||
@@ -104,10 +105,10 @@
|
|||||||
{#each references as reference (reference.id)}
|
{#each references as reference (reference.id)}
|
||||||
<div class="col mb-3">
|
<div class="col mb-3">
|
||||||
<PreviewCard
|
<PreviewCard
|
||||||
classes="h-100"
|
classes="h-100"
|
||||||
record={reference}
|
record={reference}
|
||||||
hasDelete={true}
|
hasDelete={true}
|
||||||
on:remove={removeReference}
|
on:remove={removeReference}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
{/each}
|
{/each}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
export let validationErrors;
|
export let validationErrors;
|
||||||
$: errorMessage = getErrorMessage(validationErrors, field.name);
|
$: errorMessage = getErrorMessage(validationErrors, field.name);
|
||||||
|
|
||||||
|
|
||||||
$: references = graph.edges
|
$: references = graph.edges
|
||||||
.filter((edge) => edge.field === field.name)
|
.filter((edge) => edge.field === field.name)
|
||||||
.map((edge) => {
|
.map((edge) => {
|
||||||
@@ -32,7 +33,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function reorder(e) {
|
function reorder(e) {
|
||||||
graph.edges = sortByField(e.detail.source, e.detail.target, graph.edges, field.name);
|
|
||||||
|
graph.edges = sortByField(e.detail.source, e.detail.target, graph.edges, field.name, references);
|
||||||
}
|
}
|
||||||
|
|
||||||
function insert(e) {
|
function insert(e) {
|
||||||
|
|||||||
@@ -119,7 +119,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function move(e, from, to) {
|
function move(e, from, to) {
|
||||||
graph.edges = sortByField(from, to, graph.edges, field.name);
|
graph.edges = sortByField(from, to, graph.edges, field.name, references);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
|
|
||||||
|
|
||||||
function reorder(e) {
|
function reorder(e) {
|
||||||
graph.edges = sortByField(e.detail.source, e.detail.target, graph.edges, field.name);
|
graph.edges = sortByField(e.detail.source, e.detail.target, graph.edges, field.name, references);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,8 @@
|
|||||||
<script>
|
<script>
|
||||||
import {getContext} from "svelte";
|
import {getContext} from "svelte";
|
||||||
import {uniqBy, debounce} from "lodash";
|
import {debounce} from "lodash";
|
||||||
import {previewTitle} from "../Preview";
|
import {previewTitle} from "../Preview";
|
||||||
import {getErrorMessage} from "./errorMessage";
|
import {getErrorMessage} from "./errorMessage";
|
||||||
import {sortByField} from "../../edges/sortEdges";
|
|
||||||
import ReferenceInlineButtons from "./ReferenceInlineButtons.svelte";
|
|
||||||
import Sortable from "../../libs/Sortable.svelte";
|
|
||||||
import RenderField from "../../content/RenderField.svelte";
|
|
||||||
import Icon from "../../common/Icon.svelte";
|
|
||||||
import Datalist from "./Datalist.svelte";
|
|
||||||
import {insertEdges} from "./reference.js";
|
import {insertEdges} from "./reference.js";
|
||||||
|
|
||||||
const channel = getContext("channel");
|
const channel = getContext("channel");
|
||||||
@@ -52,7 +46,7 @@
|
|||||||
})
|
})
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
searchOptions = [];
|
searchOptions = [];
|
||||||
insert(e,response.data.records[0]);
|
insert(e, response.data.records[0]);
|
||||||
console.log(response)
|
console.log(response)
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
@@ -63,7 +57,7 @@
|
|||||||
|
|
||||||
function insert(e, insertRecord) {
|
function insert(e, insertRecord) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
graph = insertEdges(graph,record,[insertRecord],field.name,e.detail.action);
|
graph = insertEdges(graph, record, [insertRecord], field.name, e.detail.action);
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateResults = debounce((e) => {
|
const updateResults = debounce((e) => {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ function uploadFile(Schema $schema, UploadedFile $file): FileUploadResult
|
|||||||
$mimetype = $file->getMimeType();
|
$mimetype = $file->getMimeType();
|
||||||
|
|
||||||
$optimizerChain = OptimizerChainFactory::create();
|
$optimizerChain = OptimizerChainFactory::create();
|
||||||
$optimizerChain->setTimeout(10)->optimize($file->getPathName());
|
$optimizerChain->setTimeout(30)->optimize($file->getPathName());
|
||||||
|
|
||||||
$checksum = sha1_file($file);
|
$checksum = sha1_file($file);
|
||||||
$recordId = checkDuplicate($schema->name, $checksum, $file->getSize());
|
$recordId = checkDuplicate($schema->name, $checksum, $file->getSize());
|
||||||
|
|||||||
Reference in New Issue
Block a user