From 26becc9950ffdc4ed0965147654280bdd47c6fe0 Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Wed, 8 Feb 2023 15:18:44 +0000 Subject: [PATCH 1/3] add generic page for paywall features --- .../portal/_components/LockedFeature.svelte | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 packages/builder/src/pages/builder/portal/_components/LockedFeature.svelte diff --git a/packages/builder/src/pages/builder/portal/_components/LockedFeature.svelte b/packages/builder/src/pages/builder/portal/_components/LockedFeature.svelte new file mode 100644 index 0000000000..e6f4075e2e --- /dev/null +++ b/packages/builder/src/pages/builder/portal/_components/LockedFeature.svelte @@ -0,0 +1,76 @@ + + + + +
+ {title} + {#if !enabled} + + {planType} + + {/if} +
+ {description} +
+ + + {#if enabled} + + {:else} +
+ + + +
+ {/if} +
+ + From 2bd6ff627a83db7cd0984e20b3aec654c8022b94 Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Fri, 10 Feb 2023 14:57:42 +0000 Subject: [PATCH 2/3] update env vars with geneic splash screen --- .../portal/settings/environment/index.svelte | 120 +++++------------- 1 file changed, 34 insertions(+), 86 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/settings/environment/index.svelte b/packages/builder/src/pages/builder/portal/settings/environment/index.svelte index 3c170235e9..cff578febd 100644 --- a/packages/builder/src/pages/builder/portal/settings/environment/index.svelte +++ b/packages/builder/src/pages/builder/portal/settings/environment/index.svelte @@ -1,21 +1,17 @@ - - -
- Environment Variables - {#if !$licensing.environmentVariablesEnabled} - - Business plan - - {/if} -
- Add and manage environment variables for development and production -
- - - {#if $licensing.environmentVariablesEnabled} - {#if noEncryptionKey} - - {/if} -
- -
- - - - - {:else} -
- - - -
+ { + await environment.upgradePanelOpened() + $licensing.goToUpgradePage() + }} +> + {#if noEncryptionKey} + {/if} - +
+ +
+ +
+ + From 70ac7b81c3921b77cddce72d95816d2ada6fde94 Mon Sep 17 00:00:00 2001 From: Peter Clement Date: Mon, 13 Feb 2023 09:47:08 +0000 Subject: [PATCH 3/3] add base audit logs ui --- .../bbui/src/Form/Core/Multiselect.svelte | 2 + packages/bbui/src/Form/Core/Picker.svelte | 11 +- packages/bbui/src/Form/Multiselect.svelte | 5 + packages/bbui/src/Form/Select.svelte | 2 + .../builder/portal/account/_layout.svelte | 3 +- .../auditLogs/_components/UserRenderer.svelte | 6 + .../_components/ViewDetailsRenderer.svelte | 13 ++ .../portal/account/auditLogs/index.svelte | 200 ++++++++++++++++++ .../overview/[appId]/backups/index.svelte | 2 +- .../portal/settings/environment/index.svelte | 1 + .../builder/src/stores/portal/licensing.js | 5 + packages/builder/src/stores/portal/menu.js | 5 + packages/frontend-core/src/constants.js | 1 + 13 files changed, 249 insertions(+), 7 deletions(-) create mode 100644 packages/builder/src/pages/builder/portal/account/auditLogs/_components/UserRenderer.svelte create mode 100644 packages/builder/src/pages/builder/portal/account/auditLogs/_components/ViewDetailsRenderer.svelte create mode 100644 packages/builder/src/pages/builder/portal/account/auditLogs/index.svelte diff --git a/packages/bbui/src/Form/Core/Multiselect.svelte b/packages/bbui/src/Form/Core/Multiselect.svelte index d6c4dc23ac..a315f44a65 100644 --- a/packages/bbui/src/Form/Core/Multiselect.svelte +++ b/packages/bbui/src/Form/Core/Multiselect.svelte @@ -14,6 +14,7 @@ export let autocomplete = false export let sort = false export let autoWidth = false + export let fetchTerm = null const dispatch = createEventDispatcher() @@ -83,6 +84,7 @@ {options} isPlaceholder={!value?.length} {autocomplete} + bind:fetchTerm {isOptionSelected} {getOptionLabel} {getOptionValue} diff --git a/packages/bbui/src/Form/Core/Picker.svelte b/packages/bbui/src/Form/Core/Picker.svelte index 32cfcf3310..acd3c5da61 100644 --- a/packages/bbui/src/Form/Core/Picker.svelte +++ b/packages/bbui/src/Form/Core/Picker.svelte @@ -31,7 +31,8 @@ export let autoWidth = false export let autocomplete = false export let sort = false - + export let fetchTerm = null + $: console.log(fieldText) const dispatch = createEventDispatcher() let searchTerm = null @@ -71,7 +72,7 @@ } const getFilteredOptions = (options, term, getLabel) => { - if (autocomplete && term) { + if (autocomplete && term && !fetchTerm) { const lowerCaseTerm = term.toLowerCase() return options.filter(option => { return `${getLabel(option)}`.toLowerCase().includes(lowerCaseTerm) @@ -144,8 +145,8 @@ > {#if autocomplete} (searchTerm = event.detail)} + value={fetchTerm ? fetchTerm : searchTerm} + on:change={event => (fetchTerm = event.detail)} {disabled} placeholder="Search" /> @@ -247,7 +248,7 @@ } .popover-content.auto-width .spectrum-Menu-itemLabel { white-space: nowrap; - overflow: hidden; + overflow: none; text-overflow: ellipsis; } .popover-content:not(.auto-width) .spectrum-Menu-itemLabel { diff --git a/packages/bbui/src/Form/Multiselect.svelte b/packages/bbui/src/Form/Multiselect.svelte index 7bcf22aa06..d28401b608 100644 --- a/packages/bbui/src/Form/Multiselect.svelte +++ b/packages/bbui/src/Form/Multiselect.svelte @@ -15,6 +15,9 @@ export let getOptionValue = option => option export let sort = false export let autoWidth = false + export let autocomplete = false + export let fetchTerm = null + const dispatch = createEventDispatcher() const onChange = e => { value = e.detail @@ -34,6 +37,8 @@ {getOptionLabel} {getOptionValue} {autoWidth} + {autocomplete} + bind:fetchTerm on:change={onChange} on:click /> diff --git a/packages/bbui/src/Form/Select.svelte b/packages/bbui/src/Form/Select.svelte index 69126e648d..4f30318282 100644 --- a/packages/bbui/src/Form/Select.svelte +++ b/packages/bbui/src/Form/Select.svelte @@ -20,6 +20,7 @@ export let autoWidth = false export let sort = false export let tooltip = "" + export let autocomplete = false const dispatch = createEventDispatcher() const onChange = e => { @@ -51,6 +52,7 @@ {getOptionIcon} {getOptionColour} {isOptionEnabled} + {autocomplete} on:change={onChange} on:click /> diff --git a/packages/builder/src/pages/builder/portal/account/_layout.svelte b/packages/builder/src/pages/builder/portal/account/_layout.svelte index 3083b574a8..892e853aad 100644 --- a/packages/builder/src/pages/builder/portal/account/_layout.svelte +++ b/packages/builder/src/pages/builder/portal/account/_layout.svelte @@ -4,12 +4,13 @@ import { Content, SideNav, SideNavItem } from "components/portal/page" import { menu } from "stores/portal" + $: wide = $isActive("./auditLogs") $: pages = $menu.find(x => x.title === "Account")?.subPages || [] $: !pages.length && $goto("../") - +
{#each pages as { title, href }} diff --git a/packages/builder/src/pages/builder/portal/account/auditLogs/_components/UserRenderer.svelte b/packages/builder/src/pages/builder/portal/account/auditLogs/_components/UserRenderer.svelte new file mode 100644 index 0000000000..4baa24403e --- /dev/null +++ b/packages/builder/src/pages/builder/portal/account/auditLogs/_components/UserRenderer.svelte @@ -0,0 +1,6 @@ + + + diff --git a/packages/builder/src/pages/builder/portal/account/auditLogs/_components/ViewDetailsRenderer.svelte b/packages/builder/src/pages/builder/portal/account/auditLogs/_components/ViewDetailsRenderer.svelte new file mode 100644 index 0000000000..a222871966 --- /dev/null +++ b/packages/builder/src/pages/builder/portal/account/auditLogs/_components/ViewDetailsRenderer.svelte @@ -0,0 +1,13 @@ + + +Edit diff --git a/packages/builder/src/pages/builder/portal/account/auditLogs/index.svelte b/packages/builder/src/pages/builder/portal/account/auditLogs/index.svelte new file mode 100644 index 0000000000..a5d403491a --- /dev/null +++ b/packages/builder/src/pages/builder/portal/account/auditLogs/index.svelte @@ -0,0 +1,200 @@ + + + { + $licensing.goToUpgradePage() + }} +> +
+
+ + + +{#if selectedLog} + +
hello
+
+{/if} + + diff --git a/packages/builder/src/pages/builder/portal/overview/[appId]/backups/index.svelte b/packages/builder/src/pages/builder/portal/overview/[appId]/backups/index.svelte index c15f944601..49b4a5babc 100644 --- a/packages/builder/src/pages/builder/portal/overview/[appId]/backups/index.svelte +++ b/packages/builder/src/pages/builder/portal/overview/[appId]/backups/index.svelte @@ -184,7 +184,7 @@ {#if !$licensing.backupsEnabled} - {#if !$auth.accountPortalAccess && !$licensing.groupsEnabled && $admin.cloud} + {#if !$auth.accountPortalAccess && $admin.cloud} Contact your account holder to upgrade your plan. {/if}
diff --git a/packages/builder/src/pages/builder/portal/settings/environment/index.svelte b/packages/builder/src/pages/builder/portal/settings/environment/index.svelte index cff578febd..013d6b8ff4 100644 --- a/packages/builder/src/pages/builder/portal/settings/environment/index.svelte +++ b/packages/builder/src/pages/builder/portal/settings/environment/index.svelte @@ -55,6 +55,7 @@ notifications.error(`Error saving variable: ${err.message}`) } } + $: console.log($environment.variables) { Constants.Features.ENVIRONMENT_VARIABLES ) + let auditLogsEnabled = license.features.includes( + Constants.Features.AUDIT_LOGS + ) + auditLogsEnabled = true store.update(state => { return { ...state, @@ -72,6 +76,7 @@ export const createLicensingStore = () => { groupsEnabled, backupsEnabled, environmentVariablesEnabled, + auditLogsEnabled, } }) }, diff --git a/packages/builder/src/stores/portal/menu.js b/packages/builder/src/stores/portal/menu.js index 8eea36c08c..56956fc330 100644 --- a/packages/builder/src/stores/portal/menu.js +++ b/packages/builder/src/stores/portal/menu.js @@ -75,6 +75,10 @@ export const menu = derived([admin, auth], ([$admin, $auth]) => { title: "Usage", href: "/builder/portal/account/usage", }, + { + title: "Audit Logs", + href: "/builder/portal/account/auditLogs", + }, ] if ($admin.cloud && $auth?.user?.accountPortalAccess) { accountSubPages.push({ @@ -87,6 +91,7 @@ export const menu = derived([admin, auth], ([$admin, $auth]) => { href: "/builder/portal/account/upgrade", }) } + // add license check here if ( $auth?.user?.accountPortalAccess && $auth.user.account.stripeCustomerId diff --git a/packages/frontend-core/src/constants.js b/packages/frontend-core/src/constants.js index 3a16013df2..8c7103a88f 100644 --- a/packages/frontend-core/src/constants.js +++ b/packages/frontend-core/src/constants.js @@ -115,6 +115,7 @@ export const Features = { USER_GROUPS: "userGroups", BACKUPS: "appBackups", ENVIRONMENT_VARIABLES: "environmentVariables", + AUDIT_LOGS: "auditLogs", } // Role IDs