Merge branch 'develop' into BUDI-7367/ds_plus_row_unittest
This commit is contained in:
commit
c3808682f8
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"version": "2.10.3-alpha.0",
|
||||
"version": "2.10.3-alpha.2",
|
||||
"npmClient": "yarn",
|
||||
"packages": [
|
||||
"packages/*"
|
||||
|
|
|
@ -66,6 +66,10 @@
|
|||
pointer-events: all;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.spectrum-Toast--neutral {
|
||||
background-color: var(--grey-2);
|
||||
}
|
||||
.spectrum-Button {
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
|
|
@ -27,7 +27,11 @@
|
|||
<div class="spectrum-Toast-body" class:actionBody={!!action}>
|
||||
<div class="wrap spectrum-Toast-content">{message || ""}</div>
|
||||
{#if action}
|
||||
<ActionButton quiet emphasized on:click={action}>
|
||||
<ActionButton
|
||||
quiet
|
||||
emphasized
|
||||
on:click={() => action(() => dispatch("dismiss"))}
|
||||
>
|
||||
<div style="color: white; font-weight: 600;">{actionMessage}</div>
|
||||
</ActionButton>
|
||||
{/if}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<Portal target=".modal-container">
|
||||
<div class="notifications">
|
||||
{#each $notifications as { type, icon, message, id, dismissable, action, wide } (id)}
|
||||
{#each $notifications as { type, icon, message, id, dismissable, action, actionMessage, wide } (id)}
|
||||
<div transition:fly={{ y: 30 }}>
|
||||
<Notification
|
||||
{type}
|
||||
|
@ -16,6 +16,7 @@
|
|||
{message}
|
||||
{dismissable}
|
||||
{action}
|
||||
{actionMessage}
|
||||
{wide}
|
||||
on:dismiss={() => notifications.dismiss(id)}
|
||||
/>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { writable } from "svelte/store"
|
||||
|
||||
export const BANNER_TYPES = {
|
||||
NEUTRAL: "neutral",
|
||||
INFO: "info",
|
||||
NEGATIVE: "negative",
|
||||
WARNING: "warning",
|
||||
|
|
|
@ -27,7 +27,9 @@ export const createNotificationStore = () => {
|
|||
icon = "",
|
||||
autoDismiss = true,
|
||||
action = null,
|
||||
actionMessage = null,
|
||||
wide = false,
|
||||
dismissTimeout = NOTIFICATION_TIMEOUT,
|
||||
}
|
||||
) => {
|
||||
if (block) {
|
||||
|
@ -44,14 +46,16 @@ export const createNotificationStore = () => {
|
|||
icon,
|
||||
dismissable: !autoDismiss,
|
||||
action,
|
||||
actionMessage,
|
||||
wide,
|
||||
dismissTimeout,
|
||||
},
|
||||
]
|
||||
})
|
||||
if (autoDismiss) {
|
||||
const timeoutId = setTimeout(() => {
|
||||
dismissNotification(_id)
|
||||
}, NOTIFICATION_TIMEOUT)
|
||||
}, dismissTimeout)
|
||||
timeoutIds.add(timeoutId)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -523,7 +523,7 @@
|
|||
{:else if editableColumn.type === "number" && !editableColumn.autocolumn}
|
||||
<div class="split-label">
|
||||
<div class="label-length">
|
||||
<Label size="M">Max Value</Label>
|
||||
<Label size="M">Min Value</Label>
|
||||
</div>
|
||||
<div class="input-length">
|
||||
<Input
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
import { admin, auth, licensing } from "stores/portal"
|
||||
import { onMount } from "svelte"
|
||||
import { CookieUtils, Constants } from "@budibase/frontend-core"
|
||||
import { banner, BANNER_TYPES } from "@budibase/bbui"
|
||||
import { API } from "api"
|
||||
import Branding from "./Branding.svelte"
|
||||
|
||||
|
@ -16,6 +17,32 @@
|
|||
$: user = $auth.user
|
||||
|
||||
$: useAccountPortal = cloud && !$admin.disableAccountPortal
|
||||
let showVerificationPrompt = false
|
||||
|
||||
const checkVerification = user => {
|
||||
if (!showVerificationPrompt && user?.account?.verified === false) {
|
||||
showVerificationPrompt = true
|
||||
banner.queue([
|
||||
{
|
||||
message: `Please verify your account. We've sent the verification link to ${user.email}`,
|
||||
type: BANNER_TYPES.NEUTRAL,
|
||||
showCloseButton: false,
|
||||
extraButtonAction: () => {
|
||||
fetch(`${$admin.accountPortalUrl}/api/auth/reset`, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify({ email: user.email }),
|
||||
})
|
||||
},
|
||||
extraButtonText: "Resend email",
|
||||
},
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
$: checkVerification(user)
|
||||
|
||||
const validateTenantId = async () => {
|
||||
const host = window.location.host
|
||||
|
|
|
@ -63,8 +63,7 @@
|
|||
)
|
||||
const githubResponse = await githubCheck.json()
|
||||
|
||||
//Get tag and remove the v infront of the tage name e.g. v1.0.0 is 1.0.0
|
||||
githubVersion = githubResponse.tag_name.slice(1)
|
||||
githubVersion = githubResponse.tag_name
|
||||
|
||||
//Get the release date and output it in the local time format
|
||||
githubPublishedDate = new Date(githubResponse.published_at)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<script>
|
||||
import dayjs from "dayjs"
|
||||
import { dayjs } from "dayjs"
|
||||
import { CoreDatePicker, Icon } from "@budibase/bbui"
|
||||
import { onMount } from "svelte"
|
||||
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
config,
|
||||
ui,
|
||||
columns,
|
||||
definition,
|
||||
datasource,
|
||||
} = getContext("grid")
|
||||
|
||||
const bannedDisplayColumnTypes = [
|
||||
|
@ -118,6 +120,33 @@
|
|||
open = false
|
||||
}
|
||||
|
||||
const duplicateColumn = async () => {
|
||||
open = false
|
||||
|
||||
// Generate new name
|
||||
let newName = `${column.name} copy`
|
||||
let attempts = 2
|
||||
while ($definition.schema[newName]) {
|
||||
newName = `${column.name} copy ${attempts++}`
|
||||
}
|
||||
|
||||
// Save schema with new column
|
||||
const existingColumnDefinition = $definition.schema[column.name]
|
||||
await datasource.actions.saveDefinition({
|
||||
...$definition,
|
||||
schema: {
|
||||
...$definition.schema,
|
||||
[newName]: {
|
||||
...existingColumnDefinition,
|
||||
name: newName,
|
||||
schema: {
|
||||
...existingColumnDefinition.schema,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
onMount(() => subscribe("close-edit-column", cancelEdit))
|
||||
</script>
|
||||
|
||||
|
@ -192,6 +221,13 @@
|
|||
>
|
||||
Edit column
|
||||
</MenuItem>
|
||||
<MenuItem
|
||||
icon="Duplicate"
|
||||
on:click={duplicateColumn}
|
||||
disabled={!$config.canEditColumns}
|
||||
>
|
||||
Duplicate column
|
||||
</MenuItem>
|
||||
<MenuItem
|
||||
icon="Label"
|
||||
on:click={makeDisplayColumn}
|
||||
|
|
Loading…
Reference in New Issue