From 65f5f358d0e8f3288430bd01da16f466ad7d9358 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Sep 2020 15:09:56 +0100 Subject: [PATCH] attachments --- packages/builder/package.json | 4 + .../src/components/common/Dropzone.svelte | 39 +++ .../src/components/common/Spinner.svelte | 4 +- .../database/DataTable/ModelDataTable.svelte | 4 + .../modals/RecordFieldControl.svelte | 22 +- .../builder/src/constants/backend/index.js | 27 +- .../pages/[application]/deploy/index.svelte | 4 +- packages/builder/yarn.lock | 291 +++++++++++++++++- packages/server/src/electron.js | 2 +- 9 files changed, 365 insertions(+), 32 deletions(-) create mode 100644 packages/builder/src/components/common/Dropzone.svelte diff --git a/packages/builder/package.json b/packages/builder/package.json index ea555007a9..04dab3bf5e 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -73,10 +73,14 @@ "deepmerge": "^4.2.2", "fast-sort": "^2.2.0", "feather-icons": "^4.21.0", + "filepond": "^4.20.1", + "filepond-plugin-image-exif-orientation": "^1.0.9", + "filepond-plugin-image-preview": "^4.6.4", "lodash": "^4.17.13", "mustache": "^4.0.1", "posthog-js": "1.3.1", "shortid": "^2.2.15", + "svelte-filepond": "^0.0.1", "svelte-loading-spinners": "^0.1.1", "svelte-portal": "^0.1.0", "svelte-simple-modal": "^0.4.2", diff --git a/packages/builder/src/components/common/Dropzone.svelte b/packages/builder/src/components/common/Dropzone.svelte new file mode 100644 index 0000000000..46bb81c7a7 --- /dev/null +++ b/packages/builder/src/components/common/Dropzone.svelte @@ -0,0 +1,39 @@ + + + diff --git a/packages/builder/src/components/common/Spinner.svelte b/packages/builder/src/components/common/Spinner.svelte index a9c947915c..01199e72ec 100644 --- a/packages/builder/src/components/common/Spinner.svelte +++ b/packages/builder/src/components/common/Spinner.svelte @@ -1,5 +1,7 @@ - + diff --git a/packages/builder/src/components/database/DataTable/ModelDataTable.svelte b/packages/builder/src/components/database/DataTable/ModelDataTable.svelte index af99b2bada..36280498c8 100644 --- a/packages/builder/src/components/database/DataTable/ModelDataTable.svelte +++ b/packages/builder/src/components/database/DataTable/ModelDataTable.svelte @@ -90,6 +90,10 @@ {#if schema[header].type === 'link'} + {:else if schema[header].type === 'attachment'} + {#each row[header] || [] as img} + + {/each} {:else}{getOr('', header, row)}{/if} {/each} diff --git a/packages/builder/src/components/database/DataTable/modals/RecordFieldControl.svelte b/packages/builder/src/components/database/DataTable/modals/RecordFieldControl.svelte index ed56618e3e..627d77450c 100644 --- a/packages/builder/src/components/database/DataTable/modals/RecordFieldControl.svelte +++ b/packages/builder/src/components/database/DataTable/modals/RecordFieldControl.svelte @@ -1,6 +1,6 @@ @@ -45,7 +53,12 @@ {/each} {:else if type === 'date'} - + + +{:else if type === 'file'} + + + {:else} {#if type === 'checkbox'} @@ -64,7 +77,6 @@ label { font-weight: 500; font-size: var(--font-size-s); - float: left; - margin-right: 8px; + margin-bottom: 12px; } diff --git a/packages/builder/src/constants/backend/index.js b/packages/builder/src/constants/backend/index.js index 43a01786f4..502cdbd245 100644 --- a/packages/builder/src/constants/backend/index.js +++ b/packages/builder/src/constants/backend/index.js @@ -51,24 +51,15 @@ export const FIELDS = { }, }, }, - // IMAGE: { - // name: "File", - // icon: "ri-image-line", - // type: "file", - // constraints: { - // type: "string", - // presence: { allowEmpty: true }, - // }, - // }, - // FILE: { - // name: "Image", - // icon: "ri-file-line", - // type: "file", - // constraints: { - // type: "string", - // presence: { allowEmpty: true }, - // }, - // }, + ATTACHMENT: { + name: "Attachment", + icon: "ri-file-line", + type: "attachment", + constraints: { + type: "array", + presence: { allowEmpty: true }, + }, + }, // LINKED_FIELDS: { // name: "Linked Fields", // icon: "ri-link", diff --git a/packages/builder/src/pages/[application]/deploy/index.svelte b/packages/builder/src/pages/[application]/deploy/index.svelte index bc13e797f9..ad4f05da20 100644 --- a/packages/builder/src/pages/[application]/deploy/index.svelte +++ b/packages/builder/src/pages/[application]/deploy/index.svelte @@ -48,12 +48,12 @@ {/if} - + Rocket flying through sky