diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 334fbf24de..22fa3029e7 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -43,13 +43,21 @@
"dist"
],
"dependencies": {
+ "@spectrum-css/actionbutton": "^1.0.1",
"@spectrum-css/button": "^3.0.1",
"@spectrum-css/buttongroup": "^3.0.1",
+ "@spectrum-css/checkbox": "^3.0.1",
"@spectrum-css/dialog": "^3.0.1",
"@spectrum-css/divider": "^1.0.1",
+ "@spectrum-css/icon": "^3.0.1",
+ "@spectrum-css/label": "^2.0.9",
"@spectrum-css/modal": "^3.0.1",
"@spectrum-css/popover": "^3.0.1",
+ "@spectrum-css/table": "^3.0.1",
+ "@spectrum-css/toast": "^3.0.1",
"@spectrum-css/underlay": "^2.0.9",
+ "@spectrum-css/vars": "^3.0.1",
+ "dayjs": "^1.10.4",
"markdown-it": "^12.0.4",
"quill": "^1.3.7",
"sirv-cli": "^0.4.6",
diff --git a/packages/standard-components/src/table/AttachmentRenderer.svelte b/packages/bbui/src/Table/AttachmentRenderer.svelte
similarity index 79%
rename from packages/standard-components/src/table/AttachmentRenderer.svelte
rename to packages/bbui/src/Table/AttachmentRenderer.svelte
index 45bd97a849..ab9760a980 100644
--- a/packages/standard-components/src/table/AttachmentRenderer.svelte
+++ b/packages/bbui/src/Table/AttachmentRenderer.svelte
@@ -4,10 +4,15 @@
const displayLimit = 5
$: attachments = value?.slice(0, displayLimit) ?? []
$: leftover = (value?.length ?? 0) - attachments.length
+
+ const imageExtensions = ["png", "tiff", "gif", "raw", "jpg", "jpeg"]
+ const isImage = extension => {
+ return imageExtensions.includes(extension?.toLowerCase())
+ }
{#each attachments as attachment}
- {#if attachment.type.startsWith('image')}
+ {#if isImage(attachment.extension)}
{:else}
{attachment.extension}
diff --git a/packages/standard-components/src/table/BooleanRenderer.svelte b/packages/bbui/src/Table/BooleanRenderer.svelte
similarity index 100%
rename from packages/standard-components/src/table/BooleanRenderer.svelte
rename to packages/bbui/src/Table/BooleanRenderer.svelte
diff --git a/packages/bbui/src/Table/CellRenderer.svelte b/packages/bbui/src/Table/CellRenderer.svelte
new file mode 100644
index 0000000000..d0323487e1
--- /dev/null
+++ b/packages/bbui/src/Table/CellRenderer.svelte
@@ -0,0 +1,33 @@
+
+
+{#if renderer && (customRenderer || (value != null && value !== ''))}
+
+
+
+{/if}
diff --git a/packages/standard-components/src/table/DateTimeRenderer.svelte b/packages/bbui/src/Table/DateTimeRenderer.svelte
similarity index 100%
rename from packages/standard-components/src/table/DateTimeRenderer.svelte
rename to packages/bbui/src/Table/DateTimeRenderer.svelte
diff --git a/packages/bbui/src/Table/RelationshipRenderer.svelte b/packages/bbui/src/Table/RelationshipRenderer.svelte
new file mode 100644
index 0000000000..4db0c63d95
--- /dev/null
+++ b/packages/bbui/src/Table/RelationshipRenderer.svelte
@@ -0,0 +1,40 @@
+
+
+{#each relationships as relationship}
+ {#if relationship?.primaryDisplay}
+
+ {relationship.primaryDisplay}
+
+ {/if}
+{/each}
+{#if leftover}
+ +{leftover} more
+{/if}
+
+
diff --git a/packages/bbui/src/Table/SelectEditRenderer.svelte b/packages/bbui/src/Table/SelectEditRenderer.svelte
new file mode 100644
index 0000000000..89a97f3866
--- /dev/null
+++ b/packages/bbui/src/Table/SelectEditRenderer.svelte
@@ -0,0 +1,48 @@
+
+
+{#if allowSelectRows}
+
+{/if}
+{#if allowEditRows}
+
+{/if}
+
+
diff --git a/packages/standard-components/src/table/StringRenderer.svelte b/packages/bbui/src/Table/StringRenderer.svelte
similarity index 100%
rename from packages/standard-components/src/table/StringRenderer.svelte
rename to packages/bbui/src/Table/StringRenderer.svelte
diff --git a/packages/bbui/src/Table/Table.svelte b/packages/bbui/src/Table/Table.svelte
new file mode 100644
index 0000000000..8bb4451e9d
--- /dev/null
+++ b/packages/bbui/src/Table/Table.svelte
@@ -0,0 +1,446 @@
+
+
+
+ {#if !loaded}
+
+ {:else}
+
+
+
+ {#if sortedRows?.length}
+
+
+ {#if showEditColumn}
+
+
+ {editColumnTitle || ''}
+
+ |
+ {/if}
+ {#each fields as field}
+ sortBy(schema[field])}>
+
+ {getDisplayName(schema[field])}
+ {#if schema[field]?.autocolumn}
+
+ {/if}
+ {#if sortColumn === field}
+
+ {/if}
+ {#if allowEditColumns && schema[field]?.editable !== false}
+
+ {/if}
+
+ |
+ {/each}
+
+
+ {/if}
+
+ {#if sortedRows?.length}
+ {#each sortedRows as row, idx}
+ toggleSelectRow(row)}
+ class="spectrum-Table-row"
+ class:hidden={idx < firstVisibleRow || idx > lastVisibleRow}>
+ {#if idx >= firstVisibleRow && idx <= lastVisibleRow}
+ {#if showEditColumn}
+
+
+ toggleSelectRow(row)}
+ onEdit={e => editRow(e, row)}
+ {allowSelectRows}
+ {allowEditRows} />
+
+ |
+ {/if}
+ {#each fields as field}
+
+
+
+
+
+
+ |
+ {/each}
+ {/if}
+
+ {/each}
+ {:else}
+
+ {/if}
+
+
+
+
+ {/if}
+
+
+
diff --git a/packages/bbui/src/Table/index.js b/packages/bbui/src/Table/index.js
new file mode 100644
index 0000000000..16b81c6eb6
--- /dev/null
+++ b/packages/bbui/src/Table/index.js
@@ -0,0 +1 @@
+export { default as Table } from "./Table.svelte"
diff --git a/packages/bbui/src/index.js b/packages/bbui/src/index.js
index 1f22e7e253..c120199273 100644
--- a/packages/bbui/src/index.js
+++ b/packages/bbui/src/index.js
@@ -38,6 +38,7 @@ export { default as DatePicker } from "./DatePicker/DatePicker.svelte"
export { default as Multiselect } from "./Form/Multiselect.svelte"
export { default as Slider } from "./Form/Slider.svelte"
export { default as Context } from "./context"
+export { default as Table } from "./Table/Table.svelte"
// Actions
export { default as autoResizeTextArea } from "./Actions/autoresize_textarea"
diff --git a/packages/bbui/yarn.lock b/packages/bbui/yarn.lock
index 90aa8d3ef3..e7a01ed311 100644
--- a/packages/bbui/yarn.lock
+++ b/packages/bbui/yarn.lock
@@ -44,10 +44,10 @@
"@nodelib/fs.scandir" "2.1.4"
fastq "^1.6.0"
-"@npmcli/arborist@^2.0.0", "@npmcli/arborist@^2.2.9":
- version "2.2.9"
- resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-2.2.9.tgz#4e8b1d48c348994a5d35fa67b4e5a6f3f8c7018b"
- integrity sha512-ddC/CCAEHh28XYtgSAOudchdphNXcgErdYxwsEiykc2YbRA9Z+4XjI0BdBdXvv22DvkpO7zotUSxlVTcJmdURw==
+"@npmcli/arborist@^2.0.0", "@npmcli/arborist@^2.3.0":
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-2.3.0.tgz#0d3273f85691711b10a85f82dffd235d755a3f57"
+ integrity sha512-4z8x8jImp/Clwol4sgmR6qdntLQZDxNFabBSbyr9EB11cyWHyqhRvBKip/1sBTcQAScIwuFT64MOu/HI4a5Nkw==
dependencies:
"@npmcli/installed-package-contents" "^1.0.7"
"@npmcli/map-workspaces" "^1.0.2"
@@ -60,7 +60,7 @@
cacache "^15.0.3"
common-ancestor-path "^1.0.1"
json-parse-even-better-errors "^2.3.1"
- json-stringify-nice "^1.1.1"
+ json-stringify-nice "^1.1.2"
mkdirp-infer-owner "^2.0.0"
npm-install-checks "^4.0.0"
npm-package-arg "^8.1.0"
@@ -82,10 +82,10 @@
resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-1.3.0.tgz#6c1d2c625fb6ef1b9dea85ad0a5afcbef85ef22a"
integrity sha512-oN3y7FAROHhrAt7Rr7PnTSwrHrZVRTS2ZbyxeQwSSYD0ifwM3YNgQqbaRmjcWoPyq77MjchusjJDspbzMmip1Q==
-"@npmcli/config@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-2.0.0.tgz#878f0317373ab0aaefaa9dcb23793ba7df87932b"
- integrity sha512-3OKVmO63FJRIrcsVI/njCC7QGKSfdCrIUUV+sP5ql8QdaPqXuaFCImqCYFDzGkcrP8PTOS3jbrRsU0Yzm04n3g==
+"@npmcli/config@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-2.1.0.tgz#fabfbbbebc3a417db672be4014a7ba71e6bb37f3"
+ integrity sha512-vYTUs6b1ORqWgWFrLkyscdhyhtB1YhbtEM2iaH5rM5Bv1/tWqZEpspGLh+Re6YuPRUmXulzkf3iWhu9ntz8cVw==
dependencies:
ini "^2.0.0"
mkdirp-infer-owner "^2.0.0"
@@ -186,9 +186,9 @@
"@octokit/types" "^6.0.3"
"@octokit/core@^3.2.3":
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.3.2.tgz#128377d0e05d8b548b26fc6622570220b103bc69"
- integrity sha512-Jx83n4tuX/z7QtxnPsAKxXPzH3vANtKmlCB3W3vt18JbkEaBYm+C8dgAlA1FNtqNk3L21pxsKNbWkUQAhiV7ng==
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.4.0.tgz#b48aa27d755b339fe7550548b340dcc2b513b742"
+ integrity sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg==
dependencies:
"@octokit/auth-token" "^2.4.4"
"@octokit/graphql" "^4.5.8"
@@ -251,17 +251,15 @@
once "^1.4.0"
"@octokit/request@^5.3.0", "@octokit/request@^5.4.12":
- version "5.4.14"
- resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.14.tgz#ec5f96f78333bb2af390afa5ff66f114b063bc96"
- integrity sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==
+ version "5.4.15"
+ resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.15.tgz#829da413dc7dd3aa5e2cdbb1c7d0ebe1f146a128"
+ integrity sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==
dependencies:
"@octokit/endpoint" "^6.0.1"
"@octokit/request-error" "^2.0.0"
"@octokit/types" "^6.7.1"
- deprecation "^2.0.0"
is-plain-object "^5.0.0"
node-fetch "^2.6.1"
- once "^1.4.0"
universal-user-agent "^6.0.0"
"@octokit/rest@^18.0.0":
@@ -354,9 +352,9 @@
integrity sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==
"@semantic-release/github@^7.0.0":
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-7.2.0.tgz#925f3efd91adabfc4bbe0de24b79fe1a8a38b4e2"
- integrity sha512-tMRnWiiWb43whRHvbDGXq4DGEbKRi56glDpXDJZit4PIiwDPX7Kx3QzmwRtDOcG+8lcpGjpdPabYZ9NBxoI2mw==
+ version "7.2.1"
+ resolved "https://registry.yarnpkg.com/@semantic-release/github/-/github-7.2.1.tgz#e833245746413e0830b65112331ca0a00b35cf95"
+ integrity sha512-+gOhbaG4T3xJb6aTZu1/7KvCmYKRChkasdIyFWdaGaTWVeGpdl4o0zMviV1z3kRcgPOSXeqjHSQ6SOQAfHQiDw==
dependencies:
"@octokit/rest" "^18.0.0"
"@semantic-release/error" "^2.2.0"
@@ -376,9 +374,9 @@
url-join "^4.0.0"
"@semantic-release/npm@^7.0.0":
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/@semantic-release/npm/-/npm-7.1.0.tgz#27c56ad18bceb97a061f1fc7e54a85dc4c8016d6"
- integrity sha512-zr9kTlF3/84QE9XH765TwvG0ljysSrxEGPNL1prxpWS9fHD7Pa+58L7pgLQwmw4i1QIkhh9cANvY9l7uldvh5w==
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/@semantic-release/npm/-/npm-7.1.1.tgz#90a0970f12b963fa846e5cdf896e6c7d996c1a64"
+ integrity sha512-zTYAno1j49XiH+uAVCY47dKOJAagA/MaJb26FFIfNujNHw3GYXk3ygsFa5CSa55xsO0qEMLcsDX3f3ByCg6nZw==
dependencies:
"@semantic-release/error" "^2.2.0"
aggregate-error "^3.0.0"
@@ -386,7 +384,7 @@
fs-extra "^9.0.0"
lodash "^4.17.15"
nerf-dart "^1.0.0"
- normalize-url "^5.0.0"
+ normalize-url "^6.0.0"
npm "^7.0.0"
rc "^1.2.8"
read-pkg "^5.0.0"
@@ -410,6 +408,11 @@
lodash "^4.17.4"
read-pkg-up "^7.0.0"
+"@spectrum-css/actionbutton@^1.0.1":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@spectrum-css/actionbutton/-/actionbutton-1.0.1.tgz#9c75da37ea6915919fb574c74bd60dacc03b6577"
+ integrity sha512-AUqtyNabHF451Aj9i3xz82TxS5Z6k1dttA68/1hMeU9kbPCSS4P6Viw3vaRGs9CSspuR8xnnhDgrq+F+zMy2Hw==
+
"@spectrum-css/button@^3.0.1":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@spectrum-css/button/-/button-3.0.1.tgz#6db8c3e851baecd0f1c2d88fef37d49d01c6e643"
@@ -420,6 +423,11 @@
resolved "https://registry.yarnpkg.com/@spectrum-css/buttongroup/-/buttongroup-3.0.1.tgz#99e59cf32ed9a73dacb0c04d260c830ecbafb181"
integrity sha512-/cktRh8N63lCMvcGX/E/8yTBcearuETzZCxm6YDisk3W4Pi68621JVNjxLOB65pf855EHpoZufzLJIRVj+dyOw==
+"@spectrum-css/checkbox@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@spectrum-css/checkbox/-/checkbox-3.0.1.tgz#6f36377d8bd556989ddd1dec2506dc295c5fcda8"
+ integrity sha512-fI0q2Cp6yU4ORyE6JWUSMYNgEtGf6AjYViZ2Weg3UPTYBQuWdQd8J0ZTcH38pDMyARFPRdiXgQ3KnyX5Hk5huw==
+
"@spectrum-css/dialog@^3.0.1":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@spectrum-css/dialog/-/dialog-3.0.1.tgz#33aae036282159f6aa998848b8c0828640a9620a"
@@ -432,6 +440,16 @@
dependencies:
"@spectrum-css/vars" "^3.0.1"
+"@spectrum-css/icon@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@spectrum-css/icon/-/icon-3.0.1.tgz#e300a6fc353c85c6b5d6e7a364408a940c31b177"
+ integrity sha512-cGFtIrcQ/7tthdkHK1npuEFiCdYVHLqwmLxghUYQw8Tb8KgJaw3OBO1tpjgsUizexNgu26BjVRIbGxNWuBXIHQ==
+
+"@spectrum-css/label@^2.0.9":
+ version "2.0.9"
+ resolved "https://registry.yarnpkg.com/@spectrum-css/label/-/label-2.0.9.tgz#792f34b906ba81118f4d0edcc81a18da1ecd57cb"
+ integrity sha512-0vXhWIZoQDTg+I6MyMpwmeJ+yQHtxkZ7lLcEqxhJ2y7JXP2ftblz2sO4+9jB11ljepeVlV+B6LF1drU8mMu82A==
+
"@spectrum-css/modal@^3.0.1":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@spectrum-css/modal/-/modal-3.0.1.tgz#613a6b83d0330a4d38db41a98090800751c56d8d"
@@ -442,6 +460,16 @@
resolved "https://registry.yarnpkg.com/@spectrum-css/popover/-/popover-3.0.1.tgz#5863c1efc53f98f9aba2de9186666780041303fc"
integrity sha512-LmOSj/yCwQQ9iGmCYnHiJsJR/HfPiGqI1Jl7pkKxBOCxYBMS/5+ans9vfCN2Qnd0eK7WSbfPg72S6mjye7db2Q==
+"@spectrum-css/table@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@spectrum-css/table/-/table-3.0.1.tgz#753e0e2498082c0c36b9600828516aff3ac338cd"
+ integrity sha512-XQ+srMTv9hK1H0nctWUtqyzitmvyb5TNR+7mjAmKRdkBRSTQQSipDhenxZp72ekzMtMoSYZVZ77kgo0Iw3Fpug==
+
+"@spectrum-css/toast@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@spectrum-css/toast/-/toast-3.0.1.tgz#36f62ea05302761e59b9d53e05f6c04423861796"
+ integrity sha512-jov++S358BrN2tmMfaoYk1N6u9HojgeuQk61keXrK2m3VE5/n94x7Lg3kIPeSWO0odyDfBlMqT9jacbRey3QTg==
+
"@spectrum-css/underlay@^2.0.9":
version "2.0.9"
resolved "https://registry.yarnpkg.com/@spectrum-css/underlay/-/underlay-2.0.9.tgz#fc10f971d1325cc844b727e6260f7217844060e8"
@@ -453,9 +481,9 @@
integrity sha512-l4oRcCOqInChYXZN6OQhpe3isk6l4OE6Ys8cgdlsiKp53suNoQxyyd9p/eGRbCjZgH3xQ8nK0t4DHa7QYC0S6w==
"@sveltejs/vite-plugin-svelte@^1.0.0-next.5":
- version "1.0.0-next.5"
- resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.5.tgz#8cf608f7a3c33dfa5b648397aae1ba90e6a4883f"
- integrity sha512-RVjafsqziWwnQm8VEy2y0qNaugNDvRd8tTaCt9rjgQkqaS/BDiyDCluXxA28PRC+ddZjvwUeq9k+0EfbLVObfg==
+ version "1.0.0-next.6"
+ resolved "https://registry.yarnpkg.com/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.6.tgz#c1667af9b8245d31dcacc8a914221d817d6bc202"
+ integrity sha512-P+skZslGT+zPXRH9SlEu21LXuFpkQITRcvQb/NRpZHrxj04VDRbuKwksOfq+vDHO/K4HWioXIAQoQnJ3oomItw==
dependencies:
"@rollup/pluginutils" "^4.1.0"
chalk "^4.1.0"
@@ -464,7 +492,7 @@
require-relative "^0.8.7"
slash "^3.0.0"
source-map "^0.7.3"
- svelte-hmr "^0.13.3"
+ svelte-hmr "^0.14.0"
"@tootallnate/once@1":
version "1.1.2"
@@ -572,9 +600,9 @@ acorn@^7.3.1:
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
acorn@^8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.0.tgz#52311fd7037ae119cbb134309e901aa46295b3fe"
- integrity sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.1.tgz#fb0026885b9ac9f48bac1e185e4af472971149ff"
+ integrity sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g==
agent-base@6:
version "6.0.2"
@@ -662,9 +690,9 @@ ansistyles@~0.1.3:
integrity sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=
anymatch@~3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
- integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
dependencies:
normalize-path "^3.0.0"
picomatch "^2.0.4"
@@ -794,9 +822,9 @@ aws4@^1.8.0:
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
balanced-match@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
- integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
bcrypt-pbkdf@^1.0.0:
version "1.0.2"
@@ -806,9 +834,9 @@ bcrypt-pbkdf@^1.0.0:
tweetnacl "^0.14.3"
before-after-hook@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.0.tgz#09c40d92e936c64777aa385c4e9b904f8147eaf0"
- integrity sha512-jH6rKQIfroBbhEXVmI7XmXe3ix5S/PgJqpzdDPnR8JGLHWNYLsYZ6tK5iWOF/Ra3oqEX0NobXGlzbiylIzVphQ==
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.1.tgz#73540563558687586b52ed217dad6a802ab1549c"
+ integrity sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==
big.js@^5.2.2:
version "5.2.2"
@@ -959,15 +987,15 @@ browserify-sign@^4.0.0:
safe-buffer "^5.2.0"
browserslist@^4.0.0:
- version "4.16.3"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717"
- integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==
+ version "4.16.4"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.4.tgz#7ebf913487f40caf4637b892b268069951c35d58"
+ integrity sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ==
dependencies:
- caniuse-lite "^1.0.30001181"
- colorette "^1.2.1"
- electron-to-chromium "^1.3.649"
+ caniuse-lite "^1.0.30001208"
+ colorette "^1.2.2"
+ electron-to-chromium "^1.3.712"
escalade "^3.1.1"
- node-releases "^1.1.70"
+ node-releases "^1.1.71"
buffer-es6@^4.9.2:
version "4.9.3"
@@ -1083,10 +1111,10 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001181:
- version "1.0.30001205"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz#d79bf6a6fb13196b4bb46e5143a22ca0242e0ef8"
- integrity sha512-TL1GrS5V6LElbitPazidkBMD9sa448bQDDLrumDqaggmKFcuU2JW1wTOHJPukAcOMtEmLcmDJEzfRrf+GjM0Og==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001208:
+ version "1.0.30001208"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz#a999014a35cebd4f98c405930a057a0d75352eb9"
+ integrity sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA==
cardinal@^2.1.1:
version "2.1.1"
@@ -1282,7 +1310,7 @@ color@^3.0.0:
color-convert "^1.9.1"
color-string "^1.5.4"
-colorette@^1.1.0, colorette@^1.2.1, colorette@^1.2.2:
+colorette@^1.1.0, colorette@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
@@ -1576,9 +1604,9 @@ css-tree@1.0.0-alpha.37:
source-map "^0.6.1"
css-tree@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5"
- integrity sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
dependencies:
mdn-data "2.0.14"
source-map "^0.6.1"
@@ -1593,10 +1621,10 @@ cssesc@^3.0.0:
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-cssnano-preset-default@^4.0.7:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76"
- integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==
+cssnano-preset-default@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff"
+ integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==
dependencies:
css-declaration-sorter "^4.0.1"
cssnano-util-raw-cache "^4.0.1"
@@ -1626,7 +1654,7 @@ cssnano-preset-default@^4.0.7:
postcss-ordered-values "^4.1.2"
postcss-reduce-initial "^4.0.3"
postcss-reduce-transforms "^4.0.2"
- postcss-svgo "^4.0.2"
+ postcss-svgo "^4.0.3"
postcss-unique-selectors "^4.0.1"
cssnano-util-get-arguments@^4.0.0:
@@ -1652,12 +1680,12 @@ cssnano-util-same-parent@^4.0.0:
integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
cssnano@^4.1.10:
- version "4.1.10"
- resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
- integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==
+ version "4.1.11"
+ resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99"
+ integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==
dependencies:
cosmiconfig "^5.0.0"
- cssnano-preset-default "^4.0.7"
+ cssnano-preset-default "^4.0.8"
is-resolvable "^1.0.0"
postcss "^7.0.0"
@@ -1680,6 +1708,11 @@ dateformat@^3.0.0:
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+dayjs@^1.10.4:
+ version "1.10.4"
+ resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.4.tgz#8e544a9b8683f61783f570980a8a80eaf54ab1e2"
+ integrity sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==
+
debug@2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -1882,9 +1915,9 @@ domelementtype@1:
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
domelementtype@^2.0.1:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e"
- integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
+ integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
domino@^2.1.6:
version "2.1.6"
@@ -1926,10 +1959,10 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-electron-to-chromium@^1.3.649:
- version "1.3.703"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.703.tgz#6d9b9a75c42a40775f5930329e642b22b227317f"
- integrity sha512-SVBVhNB+4zPL+rvtWLw7PZQkw/Eqj1HQZs22xtcqW36+xoifzEOEEDEpkxSMfB6RFeSIOcG00w6z5mSqLr1Y6w==
+electron-to-chromium@^1.3.712:
+ version "1.3.713"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.713.tgz#4583efb17f2d1e9ec07a44c8004ea73c013ad146"
+ integrity sha512-HWgkyX4xTHmxcWWlvv7a87RHSINEcpKYZmDMxkUlHcY+CJcfx7xEfBHuXVsO1rzyYs1WQJ7EgDp2CoErakBIow==
elliptic@^6.5.3:
version "6.5.4"
@@ -2652,9 +2685,9 @@ hook-std@^2.0.0:
integrity sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==
hosted-git-info@^2.1.4:
- version "2.8.8"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
- integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
+ version "2.8.9"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
+ integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
hosted-git-info@^4.0.0, hosted-git-info@^4.0.1, hosted-git-info@^4.0.2:
version "4.0.2"
@@ -2673,11 +2706,6 @@ hsla-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg=
-html-comment-regex@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7"
- integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==
-
http-cache-semantics@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
@@ -2992,9 +3020,9 @@ is-directory@^0.3.1:
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
is-docker@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156"
- integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
+ integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
is-extglob@^2.1.1:
version "2.1.1"
@@ -3134,13 +3162,6 @@ is-string@^1.0.5:
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6"
integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==
-is-svg@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75"
- integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==
- dependencies:
- html-comment-regex "^1.1.0"
-
is-symbol@^1.0.2, is-symbol@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937"
@@ -3251,10 +3272,10 @@ json-schema@0.2.3:
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
-json-stringify-nice@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.2.tgz#955040f00eac984ad81b6d2966a07b5a6e19e512"
- integrity sha512-mc0EsmCq4Ru6jTdKtKvzKzGJPa7eUHXe5/WAprXwyYYR1iY2qTcvaw3QBkPKGfJYvRr5vXoaIvMtttM+/f1xOA==
+json-stringify-nice@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.3.tgz#43991531d674ad5c19152d519047849935293add"
+ integrity sha512-w8+cZZFgcPtFkZTmkA1UpRH0GXXfpeuc/cClNkQjLt9JoQd8cBFSyB8J1WWjJrthIYViHobwnh3jA4z5X2LdGA==
json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
version "5.0.1"
@@ -3305,9 +3326,9 @@ just-diff-apply@^3.0.0:
integrity sha512-K2MLc+ZC2DVxX4V61bIKPeMUUfj1YYZ3h0myhchDXOW1cKoPZMnjIoNCqv9bF2n5Oob1PFxuR2gVJxkxz4e58w==
just-diff@^3.0.1:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-3.0.2.tgz#65f4914e4d7500b364d12b7b3f03bcbacdac743b"
- integrity sha512-+EiNvacECnZbszZa5IMjzrJ3dy2HKMXyGaNYWBnXy+iWW+437jIvQUrWaM9M+XI/6gOH8EjqvhGUOSh7ETekyg==
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-3.1.1.tgz#d50c597c6fd4776495308c63bdee1b6839082647"
+ integrity sha512-sdMWKjRq8qWZEjDcVA6llnUT8RDEBIfOiGpYFPYa9u+2c39JCsejktSP7mj5eRid5EIvTzIpQ2kDOCw1Nq9BjQ==
kind-of@^6.0.3:
version "6.0.3"
@@ -3654,9 +3675,9 @@ map-obj@^1.0.0:
integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
map-obj@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.0.tgz#0e8bc823e2aaca8a0942567d12ed14f389eec153"
- integrity sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ==
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7"
+ integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==
markdown-it@^12.0.4:
version "12.0.4"
@@ -3682,9 +3703,9 @@ marked-terminal@^4.1.1:
supports-hyperlinks "^2.1.0"
marked@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/marked/-/marked-2.0.1.tgz#5e7ed7009bfa5c95182e4eb696f85e948cefcee3"
- integrity sha512-5+/fKgMv2hARmMW7DOpykr2iLhl0NgjyELk5yn92iE7z8Se1IS9n3UsFm86hFXIkvMBmVxki8+ckcpjBeyo/hw==
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/marked/-/marked-2.0.3.tgz#3551c4958c4da36897bda2a16812ef1399c8d6b0"
+ integrity sha512-5otztIIcJfPc2qGTN8cVtOJEjNJZ0jwa46INMagrYfk0EvqtRuEHLsEe0LrFS0/q+ZRKT0+kXK7P2T1AN5lWRA==
md5.js@^1.3.4:
version "1.3.5"
@@ -3753,12 +3774,12 @@ methods@~1.1.2:
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
micromatch@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
- integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
+ integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
dependencies:
braces "^3.0.1"
- picomatch "^2.0.5"
+ picomatch "^2.2.3"
miller-rabin@^4.0.0:
version "4.0.1"
@@ -3768,17 +3789,17 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
-mime-db@1.46.0:
- version "1.46.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee"
- integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==
+mime-db@1.47.0:
+ version "1.47.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
+ integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==
mime-types@^2.1.12, mime-types@^2.1.24, mime-types@^2.1.26, mime-types@^2.1.29, mime-types@~2.1.19, mime-types@~2.1.24:
- version "2.1.29"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2"
- integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==
+ version "2.1.30"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d"
+ integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==
dependencies:
- mime-db "1.46.0"
+ mime-db "1.47.0"
mime@1.6.0:
version "1.6.0"
@@ -4009,15 +4030,15 @@ node-gyp@^7.1.0, node-gyp@^7.1.2:
tar "^6.0.2"
which "^2.0.2"
-node-releases@^1.1.70:
+node-releases@^1.1.71:
version "1.1.71"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb"
integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==
nollup@>=0.8.4:
- version "0.16.0"
- resolved "https://registry.yarnpkg.com/nollup/-/nollup-0.16.0.tgz#447b6607dbe86c984dc89398090b28b44fe09e7f"
- integrity sha512-rPtRhyPU9yWTOoMYnaZqkh9A6e7h8U6AdK/3515RnZ37s43pJJT1tADmEhamdsJ3ghAf0j5q98s4zQDgjgPW0g==
+ version "0.16.1"
+ resolved "https://registry.yarnpkg.com/nollup/-/nollup-0.16.1.tgz#fcbf83103e2903c19b9a8a6547816442925a14f2"
+ integrity sha512-G4XtdErjDS9QEw5jK38hLR6W57TwkpiMFvTpkpHunPg3t2wSZwsBTPqENTfNPundAip0GFNefyAvT8LGEtvkkQ==
dependencies:
"@rollup/pluginutils" "^3.0.8"
acorn "^8.1.0"
@@ -4087,10 +4108,10 @@ normalize-url@^3.0.0:
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
-normalize-url@^5.0.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-5.3.0.tgz#8959b3cdaa295b61592c1f245dded34b117618dd"
- integrity sha512-9/nOVLYYe/dO/eJeQUNaGUF4m4Z5E7cb9oNTKabH+bNf19mqj60txTcveQxL0GlcWLXCxkOu2/LwL8oW0idIDA==
+normalize-url@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.0.0.tgz#688ba4251cc46350f5adf4e65e14b7113a752684"
+ integrity sha512-3nv3dKMucKPEXhx/FEtJQR26ksYdyVlLEP9/dYvYwCbLbP6H8ya94IRf+mB93ec+fndv/Ye8SylWfD7jmN6kSA==
npm-audit-report@^2.1.4:
version "2.1.4"
@@ -4181,13 +4202,13 @@ npm-user-validate@^1.0.1:
integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw==
npm@^7.0.0:
- version "7.7.6"
- resolved "https://registry.yarnpkg.com/npm/-/npm-7.7.6.tgz#8cd025b76498809cdea4bf1bfff9b049115cc6a9"
- integrity sha512-4dOo2M/SRzRNWH1e0tmcJMFkDjHJKsJQlxpi3OgJ/N/BsIvbdQFFMioG0vmuFVAev7P2f/rShApb18jk5RpdXA==
+ version "7.9.0"
+ resolved "https://registry.yarnpkg.com/npm/-/npm-7.9.0.tgz#68ae6c36d05448b34cc4b6929d2bacf184a913fb"
+ integrity sha512-GW9RbueF717kJ4ZUVsTlhKBEY7AqX28OwQCsfIAkRZclfeeqQDnsoJz6WWuYTMpGBJnB2xknF8Dp364c93FDYA==
dependencies:
- "@npmcli/arborist" "^2.2.9"
+ "@npmcli/arborist" "^2.3.0"
"@npmcli/ci-detect" "^1.2.0"
- "@npmcli/config" "^2.0.0"
+ "@npmcli/config" "^2.1.0"
"@npmcli/run-script" "^1.8.4"
abbrev "~1.1.1"
ansicolors "~0.3.2"
@@ -4610,9 +4631,9 @@ path-type@^4.0.0:
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
pbkdf2@^3.0.3:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
- integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
+ integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
dependencies:
create-hash "^1.1.2"
create-hmac "^1.1.4"
@@ -4625,10 +4646,10 @@ performance-now@^2.1.0:
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
-picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
- integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d"
+ integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==
pify@^2.0.0:
version "2.3.0"
@@ -4967,12 +4988,11 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
uniq "^1.0.1"
util-deprecate "^1.0.2"
-postcss-svgo@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
- integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==
+postcss-svgo@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e"
+ integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==
dependencies:
- is-svg "^3.0.0"
postcss "^7.0.0"
postcss-value-parser "^3.0.0"
svgo "^1.0.0"
@@ -5006,9 +5026,9 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.27:
supports-color "^6.1.0"
postcss@^8.2.1, postcss@^8.2.9:
- version "8.2.9"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.9.tgz#fd95ff37b5cee55c409b3fdd237296ab4096fba3"
- integrity sha512-b+TmuIL4jGtCHtoLi+G/PisuIl9avxs8IZMSmlABRwNz5RLUUACrC+ws81dcomz1nRezm5YPdXiMEzBEKgYn+Q==
+ version "8.2.10"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.10.tgz#ca7a042aa8aff494b334d0ff3e9e77079f6f702b"
+ integrity sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==
dependencies:
colorette "^1.2.2"
nanoid "^3.1.22"
@@ -5563,9 +5583,9 @@ rollup-pluginutils@^2.8.2:
estree-walker "^0.6.1"
rollup@^2.34.0, rollup@^2.38.5:
- version "2.44.0"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.44.0.tgz#8da324d1c4fd12beef9ae6e12f4068265b6d95eb"
- integrity sha512-rGSF4pLwvuaH/x4nAS+zP6UNn5YUDWf/TeEU5IoXSZKBbKRNTCI3qMnYXKZgrC0D2KzS2baiOZt1OlqhMu5rnQ==
+ version "2.45.2"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.45.2.tgz#8fb85917c9f35605720e92328f3ccbfba6f78b48"
+ integrity sha512-kRRU7wXzFHUzBIv0GfoFFIN3m9oteY4uAsKllIpQDId5cfnkWF2J130l+27dzDju0E6MScKiV0ZM5Bw8m4blYQ==
optionalDependencies:
fsevents "~2.3.1"
@@ -6086,9 +6106,9 @@ supports-color@^7.0.0, supports-color@^7.1.0:
has-flag "^4.0.0"
supports-hyperlinks@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47"
- integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb"
+ integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==
dependencies:
has-flag "^4.0.0"
supports-color "^7.0.0"
@@ -6105,10 +6125,10 @@ svelte-hmr@^0.11.3:
resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.11.6.tgz#67f0498e2cdce9e1039631d820c1951bd01caa3f"
integrity sha512-XUYcp7W26q/fF8tABZfCYGklwL4TDH48gc1KOjuBQNlTiMW63l/+rRqmfVOE/qKG5vns0J2NPo3zFjdahkwoHA==
-svelte-hmr@^0.13.3:
- version "0.13.3"
- resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.13.3.tgz#fba5739b477ea44caf70e542a24a4352bee2b897"
- integrity sha512-gagW62pLQ2lULmvNA3pIZu9pBCYOaGu3rQikUOv6Nokz5VxUgT9/mQLfMxj9phDEKHCg/lgr3i6PkqZDbO9P2Q==
+svelte-hmr@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/svelte-hmr/-/svelte-hmr-0.14.0.tgz#d11c6d2b53d1e7cde51b57cdb7e65c0e4415cb8d"
+ integrity sha512-Rc4w11U+U30m/cHqOJ/xioFSEAY5fd5muiQC7FL6XJuJAuB2OIJoEZl3KEJR2uO1/f4Bw0PdrugtbxcngSsOtQ==
svelte-key@^1.0.0:
version "1.0.0"
@@ -6355,9 +6375,9 @@ uc.micro@^1.0.1, uc.micro@^1.0.5:
integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==
uglify-js@^3.1.4:
- version "3.13.3"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.3.tgz#ce72a1ad154348ea2af61f50933c76cc8802276e"
- integrity sha512-otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==
+ version "3.13.4"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.4.tgz#592588bb9f47ae03b24916e2471218d914955574"
+ integrity sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==
unbox-primitive@^1.0.0:
version "1.0.1"
@@ -6617,9 +6637,9 @@ xtend@~4.0.1:
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
y18n@^5.0.5:
- version "5.0.5"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18"
- integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
yallist@^4.0.0:
version "4.0.0"
diff --git a/packages/builder/src/components/backend/DataTable/DataTable.svelte b/packages/builder/src/components/backend/DataTable/DataTable.svelte
index 8954b00f81..80b28d470b 100644
--- a/packages/builder/src/components/backend/DataTable/DataTable.svelte
+++ b/packages/builder/src/components/backend/DataTable/DataTable.svelte
@@ -29,9 +29,18 @@
$: {
if ($views.selected?.name?.startsWith("all_")) {
loading = true
+ const loadingTableId = $tables.selected?._id
api.fetchDataForView($views.selected).then(rows => {
- data = rows || []
loading = false
+
+ // If we started a slow request then quickly change table, sometimes
+ // the old data overwrites the new data.
+ // This check ensures that we don't do that.
+ if (loadingTableId !== $tables.selected?._id) {
+ return
+ }
+
+ data = rows || []
})
}
}
diff --git a/packages/builder/src/components/backend/DataTable/Table.svelte b/packages/builder/src/components/backend/DataTable/Table.svelte
index 8f460e34eb..c5e7749b90 100644
--- a/packages/builder/src/components/backend/DataTable/Table.svelte
+++ b/packages/builder/src/components/backend/DataTable/Table.svelte
@@ -1,21 +1,18 @@
@@ -163,17 +105,28 @@
{/if}
-
- {#key columnDefs.length}
-
(selectedRows = detail)} />
- {/key}
-
+{#key tableId}
+ editColumn(e.detail)}
+ on:editrow={e => editRow(e.detail)}
+ on:clickrelationship={e => selectRelationship(e.detail)} />
+{/key}
+
+
+
+
+
+
+
diff --git a/packages/builder/src/components/backend/DataTable/ViewDataTable.svelte b/packages/builder/src/components/backend/DataTable/ViewDataTable.svelte
index 092796b3b5..1001e98ed3 100644
--- a/packages/builder/src/components/backend/DataTable/ViewDataTable.svelte
+++ b/packages/builder/src/components/backend/DataTable/ViewDataTable.svelte
@@ -57,6 +57,7 @@
tableId={view.tableId}
{data}
{loading}
+ allowEditing={!view?.calculation}
bind:hideAutocolumns>
diff --git a/packages/builder/src/components/backend/DataTable/cells/AttachmentCell.svelte b/packages/builder/src/components/backend/DataTable/cells/AttachmentCell.svelte
deleted file mode 100644
index b8169f1398..0000000000
--- a/packages/builder/src/components/backend/DataTable/cells/AttachmentCell.svelte
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
- {#each files as file}
-
- {#if FILE_TYPES.IMAGE.includes(file.extension.toLowerCase())}
-
- {:else}
-
.{file.extension}
-
-
{file.name}
- {/if}
-
- {/each}
-
-
-
diff --git a/packages/builder/src/components/backend/DataTable/cells/RelationshipCell.svelte b/packages/builder/src/components/backend/DataTable/cells/RelationshipCell.svelte
deleted file mode 100644
index 0aae16f3db..0000000000
--- a/packages/builder/src/components/backend/DataTable/cells/RelationshipCell.svelte
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
- selectRelationship(row, columnName)}>
- {#each items as item}
-
{item?.primaryDisplay ?? ''}
- {/each}
-
-
-
diff --git a/packages/builder/src/components/backend/DataTable/cells/RoleCell.svelte b/packages/builder/src/components/backend/DataTable/cells/RoleCell.svelte
index 9a04933a19..4b4ce1622b 100644
--- a/packages/builder/src/components/backend/DataTable/cells/RoleCell.svelte
+++ b/packages/builder/src/components/backend/DataTable/cells/RoleCell.svelte
@@ -1,10 +1,10 @@
-{roleName}
+{roleName}
diff --git a/packages/builder/src/components/backend/DataTable/cells/cellRenderers.js b/packages/builder/src/components/backend/DataTable/cells/cellRenderers.js
deleted file mode 100644
index 15a7910186..0000000000
--- a/packages/builder/src/components/backend/DataTable/cells/cellRenderers.js
+++ /dev/null
@@ -1,128 +0,0 @@
-import AttachmentList from "./AttachmentCell.svelte"
-import EditRow from "../modals/EditRow.svelte"
-import CreateEditUser from "../modals/CreateEditUser.svelte"
-import DeleteRow from "../modals/DeleteRow.svelte"
-import RelationshipDisplay from "./RelationshipCell.svelte"
-import RoleCell from "./RoleCell.svelte"
-
-const renderers = {
- attachment: attachmentRenderer,
- link: linkedRowRenderer,
-}
-
-export function getRenderer({ schema, editable, isUsersTable }) {
- const rendererParams = {
- options: schema.options,
- constraints: schema.constraints,
- editable,
- }
- if (renderers[schema.type]) {
- return renderers[schema.type](rendererParams)
- } else if (isUsersTable && schema.name === "roleId") {
- return roleRenderer(rendererParams)
- } else {
- return false
- }
-}
-
-export function deleteRowRenderer(params) {
- const container = document.createElement("div")
-
- new DeleteRow({
- target: container,
- props: {
- row: params.data,
- },
- })
-
- return container
-}
-
-export function editRowRenderer(params) {
- const container = document.createElement("div")
- container.style.height = "100%"
- container.style.display = "flex"
- container.style.alignItems = "center"
-
- new EditRow({
- target: container,
- props: {
- row: params.data,
- },
- })
-
- return container
-}
-
-export function userRowRenderer(params) {
- const container = document.createElement("div")
- container.style.height = "100%"
- container.style.display = "flex"
- container.style.alignItems = "center"
-
- new EditRow({
- target: container,
- props: {
- row: params.data,
- modalContentComponent: CreateEditUser,
- },
- })
-
- return container
-}
-
-function attachmentRenderer() {
- return params => {
- const container = document.createElement("div")
- container.style.height = "100%"
- container.style.display = "flex"
- container.style.alignItems = "center"
-
- new AttachmentList({
- target: container,
- props: {
- files: params.value || [],
- },
- })
-
- return container
- }
-}
-
-function linkedRowRenderer() {
- return params => {
- let container = document.createElement("div")
- container.style.display = "grid"
- container.style.height = "100%"
- container.style.alignItems = "center"
-
- new RelationshipDisplay({
- target: container,
- props: {
- row: params.data,
- columnName: params.column.colId,
- selectRelationship: params.selectRelationship,
- },
- })
-
- return container
- }
-}
-
-function roleRenderer() {
- return params => {
- let container = document.createElement("div")
- container.style.display = "grid"
- container.style.height = "100%"
- container.style.alignItems = "center"
-
- new RoleCell({
- target: container,
- props: {
- roleId: params.value,
- },
- })
-
- return container
- }
-}
diff --git a/packages/builder/src/pages/builder/[application]/data/_layout.svelte b/packages/builder/src/pages/builder/[application]/data/_layout.svelte
index 895dc1fc34..c8f33b829a 100644
--- a/packages/builder/src/pages/builder/[application]/data/_layout.svelte
+++ b/packages/builder/src/pages/builder/[application]/data/_layout.svelte
@@ -72,7 +72,7 @@
.content {
flex: 1 1 auto;
- padding: var(--spacing-l) 40px;
+ padding: var(--spacing-l) 40px 40px 40px;
overflow-y: auto;
display: flex;
flex-direction: column;
@@ -81,6 +81,9 @@
gap: var(--spacing-l);
background: var(--background);
}
+ .content :global(> span) {
+ display: contents;
+ }
.nav {
overflow-y: auto;
diff --git a/packages/server/src/api/controllers/deploy/utils.js b/packages/server/src/api/controllers/deploy/utils.js
index de608acfb1..c5ac0641aa 100644
--- a/packages/server/src/api/controllers/deploy/utils.js
+++ b/packages/server/src/api/controllers/deploy/utils.js
@@ -5,6 +5,7 @@ const fetch = require("node-fetch")
const PouchDB = require("../../../db")
const CouchDB = require("pouchdb")
const { upload } = require("../../../utilities/fileSystem")
+const { attachmentsRelativeURL } = require("../../../utilities")
// TODO: everything in this file is to be removed
@@ -51,11 +52,12 @@ exports.prepareUpload = async function({ s3Key, bucket, metadata, file }) {
type: file.type,
})
+ // don't store a URL, work this out on the way out as the URL could change
return {
size: file.size,
name: file.name,
+ url: attachmentsRelativeURL(response.Key),
extension: [...file.name.split(".")].pop(),
- url: response.Location,
key: response.Key,
}
}
diff --git a/packages/server/src/api/controllers/static/index.js b/packages/server/src/api/controllers/static/index.js
index cda18fbea5..ee1e5054d7 100644
--- a/packages/server/src/api/controllers/static/index.js
+++ b/packages/server/src/api/controllers/static/index.js
@@ -53,10 +53,11 @@ exports.uploadFile = async function(ctx) {
const processedFileName = `${uuid.v4()}.${fileExtension}`
// need to handle image processing
- await fileProcessor.process({
- ...file,
- extension: fileExtension,
- })
+ // TODO either offer this as an option, or don't do it at all
+ // await fileProcessor.process({
+ // ...file,
+ // extension: fileExtension,
+ // })
return prepareUpload({
file,
diff --git a/packages/server/src/utilities/index.js b/packages/server/src/utilities/index.js
index 733afd2870..0c4e60ccc6 100644
--- a/packages/server/src/utilities/index.js
+++ b/packages/server/src/utilities/index.js
@@ -1,7 +1,7 @@
const env = require("../environment")
const { DocumentTypes, SEPARATOR } = require("../db/utils")
const CouchDB = require("../db")
-const { OBJ_STORE_DIRECTORY } = require("../constants")
+const { OBJ_STORE_DIRECTORY, ObjectStoreBuckets } = require("../constants")
const BB_CDN = "https://cdn.app.budi.live/assets"
const APP_PREFIX = DocumentTypes.APP + SEPARATOR
@@ -157,3 +157,9 @@ exports.clientLibraryPath = appId => {
return `/api/assets/client`
}
}
+
+exports.attachmentsRelativeURL = attachmentKey => {
+ return exports.checkSlashesInUrl(
+ `/${ObjectStoreBuckets.APPS}/${attachmentKey}`
+ )
+}
diff --git a/packages/server/src/utilities/rowProcessor.js b/packages/server/src/utilities/rowProcessor.js
index 97e2a2880c..74918d24d1 100644
--- a/packages/server/src/utilities/rowProcessor.js
+++ b/packages/server/src/utilities/rowProcessor.js
@@ -1,8 +1,8 @@
-const env = require("../environment")
-const { OBJ_STORE_DIRECTORY } = require("../constants")
+const { ObjectStoreBuckets } = require("../constants")
const linkRows = require("../db/linkedRows")
const { cloneDeep } = require("lodash/fp")
const { FieldTypes, AutoFieldSubTypes } = require("../constants")
+const { attachmentsRelativeURL } = require("./index")
const BASE_AUTO_ID = 1
@@ -180,18 +180,15 @@ exports.outputProcessing = async (appId, table, rows) => {
rows
)
// update the attachments URL depending on hosting
- if (env.isProd() && env.SELF_HOSTED) {
- for (let [property, column] of Object.entries(table.schema)) {
- if (column.type === FieldTypes.ATTACHMENT) {
- for (let row of outputRows) {
- if (row[property] == null || row[property].length === 0) {
- continue
- }
- row[property].forEach(attachment => {
- attachment.url = `${OBJ_STORE_DIRECTORY}/${appId}/${attachment.url}`
- attachment.url = attachment.url.replace("//", "/")
- })
+ for (let [property, column] of Object.entries(table.schema)) {
+ if (column.type === FieldTypes.ATTACHMENT) {
+ for (let row of outputRows) {
+ if (row[property] == null || row[property].length === 0) {
+ continue
}
+ row[property].forEach(attachment => {
+ attachment.url = attachmentsRelativeURL(attachment.key)
+ })
}
}
}
diff --git a/packages/standard-components/src/table/CellRenderer.svelte b/packages/standard-components/src/table/CellRenderer.svelte
deleted file mode 100644
index 0c14ec2aa5..0000000000
--- a/packages/standard-components/src/table/CellRenderer.svelte
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-{#if value != null && value !== ''}
- {#if plainTypes.includes(type)}
-
- {:else if type === 'boolean'}
-
- {:else if type === 'datetime'}
-
- {:else if type === 'link'}
-
- {:else if type === 'attachment'}
-
- {/if}
-{/if}
diff --git a/packages/standard-components/src/table/RelationshipRenderer.svelte b/packages/standard-components/src/table/RelationshipRenderer.svelte
deleted file mode 100644
index 6c04000fa7..0000000000
--- a/packages/standard-components/src/table/RelationshipRenderer.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-{#each relationships as relationship}
- {#if relationship?.primaryDisplay}
-
- {relationship.primaryDisplay}
-
- {/if}
-{/each}
-{#if leftover}
- +{leftover} more
-{/if}
diff --git a/packages/standard-components/src/table/SlotRenderer.svelte b/packages/standard-components/src/table/SlotRenderer.svelte
new file mode 100644
index 0000000000..dc24f4249c
--- /dev/null
+++ b/packages/standard-components/src/table/SlotRenderer.svelte
@@ -0,0 +1,11 @@
+
+
+
+
+
diff --git a/packages/standard-components/src/table/Table.svelte b/packages/standard-components/src/table/Table.svelte
index 8065b520e9..e7b6ba078e 100644
--- a/packages/standard-components/src/table/Table.svelte
+++ b/packages/standard-components/src/table/Table.svelte
@@ -1,8 +1,8 @@
-{#if !loaded}
-
-{:else}
-
-
-
-
-
-
- {#if $component.children}
-
-
- |
- {/if}
- {#each fields as field}
- sortBy(field)}>
-
- {schema[field]?.name}
-
-
- |
- {/each}
-
-
-
- {#each sortedRows as row, idx}
- lastVisibleRow}>
- {#if idx >= firstVisibleRow && idx <= lastVisibleRow}
- {#if $component.children}
-
-
- |
- {/if}
- {#each fields as field}
-
-
-
-
- |
- {/each}
- {/if}
-
- {/each}
-
-
-
-
-
-{/if}
+