Date: Fri, 27 Jan 2023 14:38:31 +0000
Subject: [PATCH 105/107] Fix certain types of popover not working inside
modals or side panels (#9424)
---
packages/bbui/src/Actions/click_outside.js | 24 +++++++++++++++-------
packages/bbui/src/Popover/Popover.svelte | 5 ++++-
2 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/packages/bbui/src/Actions/click_outside.js b/packages/bbui/src/Actions/click_outside.js
index 6842b94a32..bdcbaa5d88 100644
--- a/packages/bbui/src/Actions/click_outside.js
+++ b/packages/bbui/src/Actions/click_outside.js
@@ -1,4 +1,4 @@
-const ignoredClasses = [".flatpickr-calendar"]
+const ignoredClasses = [".flatpickr-calendar", ".spectrum-Popover"]
let clickHandlers = []
/**
@@ -19,7 +19,7 @@ const handleClick = event => {
}
// Ignore clicks for modals, unless the handler is registered from a modal
- const sourceInModal = handler.element.closest(".spectrum-Modal") != null
+ const sourceInModal = handler.anchor.closest(".spectrum-Modal") != null
const clickInModal = event.target.closest(".spectrum-Modal") != null
if (clickInModal && !sourceInModal) {
return
@@ -33,10 +33,10 @@ document.documentElement.addEventListener("click", handleClick, true)
/**
* Adds or updates a click handler
*/
-const updateHandler = (id, element, callback) => {
+const updateHandler = (id, element, anchor, callback) => {
let existingHandler = clickHandlers.find(x => x.id === id)
if (!existingHandler) {
- clickHandlers.push({ id, element, callback })
+ clickHandlers.push({ id, element, anchor, callback })
} else {
existingHandler.callback = callback
}
@@ -51,12 +51,22 @@ const removeHandler = id => {
/**
* Svelte action to apply a click outside handler for a certain element
+ * opts.anchor is an optional param specifying the real root source of the
+ * component being observed. This is required for things like popovers, where
+ * the element using the clickoutside action is the popover, but the popover is
+ * rendered at the root of the DOM somewhere, whereas the popover anchor is the
+ * element we actually want to consider when determining the source component.
*/
-export default (element, callback) => {
+export default (element, opts) => {
const id = Math.random()
- updateHandler(id, element, callback)
+ const update = newOpts => {
+ const callback = newOpts?.callback || newOpts
+ const anchor = newOpts?.anchor || element
+ updateHandler(id, element, anchor, callback)
+ }
+ update(opts)
return {
- update: newCallback => updateHandler(id, element, newCallback),
+ update,
destroy: () => removeHandler(id),
}
}
diff --git a/packages/bbui/src/Popover/Popover.svelte b/packages/bbui/src/Popover/Popover.svelte
index 7eb77d90fa..5505b2546d 100644
--- a/packages/bbui/src/Popover/Popover.svelte
+++ b/packages/bbui/src/Popover/Popover.svelte
@@ -68,7 +68,10 @@
Date: Fri, 27 Jan 2023 14:49:10 +0000
Subject: [PATCH 106/107] v2.2.12-alpha.42
---
lerna.json | 2 +-
packages/backend-core/package.json | 4 ++--
packages/bbui/package.json | 4 ++--
packages/builder/package.json | 10 +++++-----
packages/cli/package.json | 8 ++++----
packages/client/package.json | 8 ++++----
packages/frontend-core/package.json | 4 ++--
packages/sdk/package.json | 2 +-
packages/server/package.json | 10 +++++-----
packages/string-templates/package.json | 2 +-
packages/types/package.json | 2 +-
packages/worker/package.json | 8 ++++----
12 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/lerna.json b/lerna.json
index 9332b26f66..81625b3b04 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"npmClient": "yarn",
"packages": [
"packages/*"
diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json
index df2e19ea34..fa643c995f 100644
--- a/packages/backend-core/package.json
+++ b/packages/backend-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/backend-core",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"description": "Budibase backend core libraries used in server and worker",
"main": "dist/src/index.js",
"types": "dist/src/index.d.ts",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@budibase/nano": "10.1.1",
- "@budibase/types": "2.2.12-alpha.41",
+ "@budibase/types": "2.2.12-alpha.42",
"@shopify/jest-koa-mocks": "5.0.1",
"@techpass/passport-openidconnect": "0.3.2",
"aws-cloudfront-sign": "2.2.0",
diff --git a/packages/bbui/package.json b/packages/bbui/package.json
index 6437628002..f07b5bf0a8 100644
--- a/packages/bbui/package.json
+++ b/packages/bbui/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/bbui",
"description": "A UI solution used in the different Budibase projects.",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"license": "MPL-2.0",
"svelte": "src/index.js",
"module": "dist/bbui.es.js",
@@ -38,7 +38,7 @@
],
"dependencies": {
"@adobe/spectrum-css-workflow-icons": "1.2.1",
- "@budibase/string-templates": "2.2.12-alpha.41",
+ "@budibase/string-templates": "2.2.12-alpha.42",
"@spectrum-css/accordion": "3.0.24",
"@spectrum-css/actionbutton": "1.0.1",
"@spectrum-css/actiongroup": "1.0.1",
diff --git a/packages/builder/package.json b/packages/builder/package.json
index 68ac91264c..5025bec4f3 100644
--- a/packages/builder/package.json
+++ b/packages/builder/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/builder",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"license": "GPL-3.0",
"private": true,
"scripts": {
@@ -71,10 +71,10 @@
}
},
"dependencies": {
- "@budibase/bbui": "2.2.12-alpha.41",
- "@budibase/client": "2.2.12-alpha.41",
- "@budibase/frontend-core": "2.2.12-alpha.41",
- "@budibase/string-templates": "2.2.12-alpha.41",
+ "@budibase/bbui": "2.2.12-alpha.42",
+ "@budibase/client": "2.2.12-alpha.42",
+ "@budibase/frontend-core": "2.2.12-alpha.42",
+ "@budibase/string-templates": "2.2.12-alpha.42",
"@sentry/browser": "5.19.1",
"@spectrum-css/accordion": "^3.0.24",
"@spectrum-css/page": "^3.0.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 64c9ffc883..5bc2a7f5f8 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/cli",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"description": "Budibase CLI, for developers, self hosting and migrations.",
"main": "src/index.js",
"bin": {
@@ -26,9 +26,9 @@
"outputPath": "build"
},
"dependencies": {
- "@budibase/backend-core": "2.2.12-alpha.41",
- "@budibase/string-templates": "2.2.12-alpha.41",
- "@budibase/types": "2.2.12-alpha.41",
+ "@budibase/backend-core": "2.2.12-alpha.42",
+ "@budibase/string-templates": "2.2.12-alpha.42",
+ "@budibase/types": "2.2.12-alpha.42",
"axios": "0.21.2",
"chalk": "4.1.0",
"cli-progress": "3.11.2",
diff --git a/packages/client/package.json b/packages/client/package.json
index c7c084239e..6703ac4176 100644
--- a/packages/client/package.json
+++ b/packages/client/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/client",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"license": "MPL-2.0",
"module": "dist/budibase-client.js",
"main": "dist/budibase-client.js",
@@ -19,9 +19,9 @@
"dev:builder": "rollup -cw"
},
"dependencies": {
- "@budibase/bbui": "2.2.12-alpha.41",
- "@budibase/frontend-core": "2.2.12-alpha.41",
- "@budibase/string-templates": "2.2.12-alpha.41",
+ "@budibase/bbui": "2.2.12-alpha.42",
+ "@budibase/frontend-core": "2.2.12-alpha.42",
+ "@budibase/string-templates": "2.2.12-alpha.42",
"@spectrum-css/button": "^3.0.3",
"@spectrum-css/card": "^3.0.3",
"@spectrum-css/divider": "^1.0.3",
diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json
index 82a75176d0..1ee748df63 100644
--- a/packages/frontend-core/package.json
+++ b/packages/frontend-core/package.json
@@ -1,12 +1,12 @@
{
"name": "@budibase/frontend-core",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"description": "Budibase frontend core libraries used in builder and client",
"author": "Budibase",
"license": "MPL-2.0",
"svelte": "src/index.js",
"dependencies": {
- "@budibase/bbui": "2.2.12-alpha.41",
+ "@budibase/bbui": "2.2.12-alpha.42",
"lodash": "^4.17.21",
"svelte": "^3.46.2"
}
diff --git a/packages/sdk/package.json b/packages/sdk/package.json
index 2e51566f8c..d9eb444803 100644
--- a/packages/sdk/package.json
+++ b/packages/sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/sdk",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"description": "Budibase Public API SDK",
"author": "Budibase",
"license": "MPL-2.0",
diff --git a/packages/server/package.json b/packages/server/package.json
index eb6ac3def1..345409fba2 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/server",
"email": "hi@budibase.com",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"description": "Budibase Web Server",
"main": "src/index.ts",
"repository": {
@@ -43,11 +43,11 @@
"license": "GPL-3.0",
"dependencies": {
"@apidevtools/swagger-parser": "10.0.3",
- "@budibase/backend-core": "2.2.12-alpha.41",
- "@budibase/client": "2.2.12-alpha.41",
+ "@budibase/backend-core": "2.2.12-alpha.42",
+ "@budibase/client": "2.2.12-alpha.42",
"@budibase/pro": "2.2.12-alpha.41",
- "@budibase/string-templates": "2.2.12-alpha.41",
- "@budibase/types": "2.2.12-alpha.41",
+ "@budibase/string-templates": "2.2.12-alpha.42",
+ "@budibase/types": "2.2.12-alpha.42",
"@bull-board/api": "3.7.0",
"@bull-board/koa": "3.9.4",
"@elastic/elasticsearch": "7.10.0",
diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json
index d70ebc28b2..63727be556 100644
--- a/packages/string-templates/package.json
+++ b/packages/string-templates/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/string-templates",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"description": "Handlebars wrapper for Budibase templating.",
"main": "src/index.cjs",
"module": "dist/bundle.mjs",
diff --git a/packages/types/package.json b/packages/types/package.json
index 6d7c09d9a9..e83ad793cd 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@budibase/types",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"description": "Budibase types",
"main": "dist/index.js",
"types": "dist/index.d.ts",
diff --git a/packages/worker/package.json b/packages/worker/package.json
index 83761f0a31..bb04b5daa5 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -1,7 +1,7 @@
{
"name": "@budibase/worker",
"email": "hi@budibase.com",
- "version": "2.2.12-alpha.41",
+ "version": "2.2.12-alpha.42",
"description": "Budibase background service",
"main": "src/index.ts",
"repository": {
@@ -36,10 +36,10 @@
"author": "Budibase",
"license": "GPL-3.0",
"dependencies": {
- "@budibase/backend-core": "2.2.12-alpha.41",
+ "@budibase/backend-core": "2.2.12-alpha.42",
"@budibase/pro": "2.2.12-alpha.41",
- "@budibase/string-templates": "2.2.12-alpha.41",
- "@budibase/types": "2.2.12-alpha.41",
+ "@budibase/string-templates": "2.2.12-alpha.42",
+ "@budibase/types": "2.2.12-alpha.42",
"@koa/router": "8.0.8",
"@sentry/node": "6.17.7",
"@techpass/passport-openidconnect": "0.3.2",
From 2c9b49832b35fc882e205cc8981a60b18042efe6 Mon Sep 17 00:00:00 2001
From: Budibase Staging Release Bot <>
Date: Fri, 27 Jan 2023 14:52:40 +0000
Subject: [PATCH 107/107] Update pro version to 2.2.12-alpha.42
---
packages/server/package.json | 2 +-
packages/server/yarn.lock | 30 +++++++++++++++---------------
packages/worker/package.json | 2 +-
packages/worker/yarn.lock | 30 +++++++++++++++---------------
4 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/packages/server/package.json b/packages/server/package.json
index 345409fba2..5b97fb3df8 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -45,7 +45,7 @@
"@apidevtools/swagger-parser": "10.0.3",
"@budibase/backend-core": "2.2.12-alpha.42",
"@budibase/client": "2.2.12-alpha.42",
- "@budibase/pro": "2.2.12-alpha.41",
+ "@budibase/pro": "2.2.12-alpha.42",
"@budibase/string-templates": "2.2.12-alpha.42",
"@budibase/types": "2.2.12-alpha.42",
"@bull-board/api": "3.7.0",
diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock
index c1647399d5..c4db3a64d7 100644
--- a/packages/server/yarn.lock
+++ b/packages/server/yarn.lock
@@ -1273,13 +1273,13 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-"@budibase/backend-core@2.2.12-alpha.41":
- version "2.2.12-alpha.41"
- resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.2.12-alpha.41.tgz#9fa210c3c94481c38af5aad71ac246451dda6e43"
- integrity sha512-vYb8x6JgncYdT8VqVi/WfScg4Ng0O1wtt9SspNPKnOX2CR7rA8VH6PW1QMRa5uUYvBFupg6UbY9jFqu2XXtujg==
+"@budibase/backend-core@2.2.12-alpha.42":
+ version "2.2.12-alpha.42"
+ resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.2.12-alpha.42.tgz#75f441fe31636dc2bfc06143d1bd6724c8a7ebbf"
+ integrity sha512-oUKBq5BlCLhzC+6yX8L7t0/FucbMzJK+PtURiGfeeAnXK9eBbANxT7YsgUJHzUwax2PBjKCGoUlTjePj5i+p/w==
dependencies:
"@budibase/nano" "10.1.1"
- "@budibase/types" "2.2.12-alpha.41"
+ "@budibase/types" "2.2.12-alpha.42"
"@shopify/jest-koa-mocks" "5.0.1"
"@techpass/passport-openidconnect" "0.3.2"
aws-cloudfront-sign "2.2.0"
@@ -1374,13 +1374,13 @@
qs "^6.11.0"
tough-cookie "^4.1.2"
-"@budibase/pro@2.2.12-alpha.41":
- version "2.2.12-alpha.41"
- resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.2.12-alpha.41.tgz#c1923d52d7cd2ace665e44b196c91578b1b50bbe"
- integrity sha512-J1yN74Gixa8UzkD44Ydzj2iR+5WRbJtjZzn7NFI3VB1A2sTLxmilSBRyCALzhF3UMpueaBRjwWBovbF/De106A==
+"@budibase/pro@2.2.12-alpha.42":
+ version "2.2.12-alpha.42"
+ resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.2.12-alpha.42.tgz#3f35bd9a5fe3b169a85ade96f116555133b83133"
+ integrity sha512-9nrMVa38WOVNBfUSVLwz8MveAQYcey3g2uKjb+3p66OVFdB+NLXlsaBxTmzyDI8AyF3iOcKgJe0A0v3MjNv4+g==
dependencies:
- "@budibase/backend-core" "2.2.12-alpha.41"
- "@budibase/types" "2.2.12-alpha.41"
+ "@budibase/backend-core" "2.2.12-alpha.42"
+ "@budibase/types" "2.2.12-alpha.42"
"@koa/router" "8.0.8"
bull "4.10.1"
joi "17.6.0"
@@ -1405,10 +1405,10 @@
svelte-apexcharts "^1.0.2"
svelte-flatpickr "^3.1.0"
-"@budibase/types@2.2.12-alpha.41":
- version "2.2.12-alpha.41"
- resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.2.12-alpha.41.tgz#662115c5ba09f3c2057a96321e233c819cfae84b"
- integrity sha512-+uzr668cuvDTMqy7roWiG/qQzOzQO7uWYtysaHPsQQG5PxA0ZuwixJOvvX1qOr1rgv9Is54p9J7dvzvtKW/wAw==
+"@budibase/types@2.2.12-alpha.42":
+ version "2.2.12-alpha.42"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.2.12-alpha.42.tgz#1f130c8e4af14504ab47d5186b697c90ff6567db"
+ integrity sha512-0/uSvuvQ3mO0GxishZFhFAZd4VvZPqJ7smiDcB1dZpLU9pDeb2m+ccSK+yTEsgLTXlctPFg2d6i8bRE6PmODYQ==
"@bull-board/api@3.7.0":
version "3.7.0"
diff --git a/packages/worker/package.json b/packages/worker/package.json
index bb04b5daa5..a5ed86aebc 100644
--- a/packages/worker/package.json
+++ b/packages/worker/package.json
@@ -37,7 +37,7 @@
"license": "GPL-3.0",
"dependencies": {
"@budibase/backend-core": "2.2.12-alpha.42",
- "@budibase/pro": "2.2.12-alpha.41",
+ "@budibase/pro": "2.2.12-alpha.42",
"@budibase/string-templates": "2.2.12-alpha.42",
"@budibase/types": "2.2.12-alpha.42",
"@koa/router": "8.0.8",
diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock
index f172c7f774..c4da37cadf 100644
--- a/packages/worker/yarn.lock
+++ b/packages/worker/yarn.lock
@@ -470,13 +470,13 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-"@budibase/backend-core@2.2.12-alpha.41":
- version "2.2.12-alpha.41"
- resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.2.12-alpha.41.tgz#9fa210c3c94481c38af5aad71ac246451dda6e43"
- integrity sha512-vYb8x6JgncYdT8VqVi/WfScg4Ng0O1wtt9SspNPKnOX2CR7rA8VH6PW1QMRa5uUYvBFupg6UbY9jFqu2XXtujg==
+"@budibase/backend-core@2.2.12-alpha.42":
+ version "2.2.12-alpha.42"
+ resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-2.2.12-alpha.42.tgz#75f441fe31636dc2bfc06143d1bd6724c8a7ebbf"
+ integrity sha512-oUKBq5BlCLhzC+6yX8L7t0/FucbMzJK+PtURiGfeeAnXK9eBbANxT7YsgUJHzUwax2PBjKCGoUlTjePj5i+p/w==
dependencies:
"@budibase/nano" "10.1.1"
- "@budibase/types" "2.2.12-alpha.41"
+ "@budibase/types" "2.2.12-alpha.42"
"@shopify/jest-koa-mocks" "5.0.1"
"@techpass/passport-openidconnect" "0.3.2"
aws-cloudfront-sign "2.2.0"
@@ -521,23 +521,23 @@
qs "^6.11.0"
tough-cookie "^4.1.2"
-"@budibase/pro@2.2.12-alpha.41":
- version "2.2.12-alpha.41"
- resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.2.12-alpha.41.tgz#c1923d52d7cd2ace665e44b196c91578b1b50bbe"
- integrity sha512-J1yN74Gixa8UzkD44Ydzj2iR+5WRbJtjZzn7NFI3VB1A2sTLxmilSBRyCALzhF3UMpueaBRjwWBovbF/De106A==
+"@budibase/pro@2.2.12-alpha.42":
+ version "2.2.12-alpha.42"
+ resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-2.2.12-alpha.42.tgz#3f35bd9a5fe3b169a85ade96f116555133b83133"
+ integrity sha512-9nrMVa38WOVNBfUSVLwz8MveAQYcey3g2uKjb+3p66OVFdB+NLXlsaBxTmzyDI8AyF3iOcKgJe0A0v3MjNv4+g==
dependencies:
- "@budibase/backend-core" "2.2.12-alpha.41"
- "@budibase/types" "2.2.12-alpha.41"
+ "@budibase/backend-core" "2.2.12-alpha.42"
+ "@budibase/types" "2.2.12-alpha.42"
"@koa/router" "8.0.8"
bull "4.10.1"
joi "17.6.0"
jsonwebtoken "8.5.1"
node-fetch "^2.6.1"
-"@budibase/types@2.2.12-alpha.41":
- version "2.2.12-alpha.41"
- resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.2.12-alpha.41.tgz#662115c5ba09f3c2057a96321e233c819cfae84b"
- integrity sha512-+uzr668cuvDTMqy7roWiG/qQzOzQO7uWYtysaHPsQQG5PxA0ZuwixJOvvX1qOr1rgv9Is54p9J7dvzvtKW/wAw==
+"@budibase/types@2.2.12-alpha.42":
+ version "2.2.12-alpha.42"
+ resolved "https://registry.yarnpkg.com/@budibase/types/-/types-2.2.12-alpha.42.tgz#1f130c8e4af14504ab47d5186b697c90ff6567db"
+ integrity sha512-0/uSvuvQ3mO0GxishZFhFAZd4VvZPqJ7smiDcB1dZpLU9pDeb2m+ccSK+yTEsgLTXlctPFg2d6i8bRE6PmODYQ==
"@cspotcode/source-map-support@^0.8.0":
version "0.8.1"