@@ -48,9 +48,9 @@
|
||||
|
||||
const SUCCESS_COLOR = '#4ade80'
|
||||
// const SUCCESS_COLOR_TRANSPARENT = '#c9b638'
|
||||
const SUCCESS_COLOR_TRANSPARENT = $derived(mergeColors(SUCCESS_COLOR, getBackgorundColor(), 0.8))
|
||||
const SUCCESS_COLOR_TRANSPARENT = $derived(mergeColors(SUCCESS_COLOR, getBackgroundColor(), 0.8))
|
||||
const FAIL_COLOR = '#f87171'
|
||||
const FAIL_COLOR_TRANSPARENT = $derived(mergeColors(FAIL_COLOR, getBackgorundColor(), 0.8))
|
||||
const FAIL_COLOR_TRANSPARENT = $derived(mergeColors(FAIL_COLOR, getBackgroundColor(), 0.8))
|
||||
|
||||
ChartJS.register(
|
||||
Title,
|
||||
@@ -96,7 +96,7 @@
|
||||
ChartJS.defaults.borderColor = darkMode ? 'rgba(255, 255, 255, 0.1)' : 'rgba(0, 0, 0, 0.1)'
|
||||
})
|
||||
|
||||
function getBackgorundColor(): string {
|
||||
function getBackgroundColor(): string {
|
||||
return darkMode ? '#2e3440' : '#ffffff'
|
||||
}
|
||||
function hexToRgb(hexColor: string): number[] {
|
||||
|
||||
@@ -44,7 +44,6 @@
|
||||
|
||||
function clearTimers() {
|
||||
clearDebounceClose()
|
||||
clearDebounceOpen()
|
||||
}
|
||||
|
||||
// Cleanup timers on component destruction
|
||||
@@ -124,10 +123,6 @@
|
||||
() => openOnHover && close(),
|
||||
debounceDelay
|
||||
)
|
||||
let { debounced: debounceOpen, clearDebounce: clearDebounceOpen } = debounce(
|
||||
() => openOnHover && open(),
|
||||
debounceDelay
|
||||
)
|
||||
</script>
|
||||
|
||||
<button
|
||||
@@ -135,7 +130,12 @@
|
||||
use:melt={$trigger}
|
||||
aria-label="Popup button"
|
||||
disabled={disablePopup || disabled}
|
||||
on:mouseenter={debounceOpen}
|
||||
on:mouseenter={() => {
|
||||
if (openOnHover) {
|
||||
open()
|
||||
clearDebounceClose()
|
||||
}
|
||||
}}
|
||||
on:mouseleave={debounceClose}
|
||||
use:pointerDownOutside={{
|
||||
capture: true,
|
||||
@@ -160,7 +160,12 @@
|
||||
|
||||
{#if isOpen && !disablePopup}
|
||||
<div
|
||||
on:mouseenter={debounceOpen}
|
||||
on:mouseenter={() => {
|
||||
if (openOnHover) {
|
||||
open()
|
||||
clearDebounceClose()
|
||||
}
|
||||
}}
|
||||
on:mouseleave={debounceClose}
|
||||
use:melt={$content}
|
||||
transition:fade={{ duration: 0 }}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
let jobLoader: JobLoader | undefined = $state(undefined)
|
||||
|
||||
// Set all tabs content to the same height to prevent layout jumps
|
||||
let tabsHeigh = $state({
|
||||
let tabsHeight = $state({
|
||||
codeHeight: 0,
|
||||
logsHeight: 0,
|
||||
assetsHeight: 0,
|
||||
@@ -89,10 +89,10 @@
|
||||
|
||||
let minTabHeight = $derived(
|
||||
Math.max(
|
||||
tabsHeigh.codeHeight,
|
||||
tabsHeigh.logsHeight,
|
||||
tabsHeigh.assetsHeight,
|
||||
tabsHeigh.resultHeight
|
||||
tabsHeight.codeHeight,
|
||||
tabsHeight.logsHeight,
|
||||
tabsHeight.assetsHeight,
|
||||
tabsHeight.resultHeight
|
||||
)
|
||||
)
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
{#if viewTab == 'logs'}
|
||||
<div
|
||||
class="w-full"
|
||||
bind:clientHeight={tabsHeigh.logsHeight}
|
||||
bind:clientHeight={tabsHeight.logsHeight}
|
||||
style="min-height: {minTabHeight}px"
|
||||
>
|
||||
<LogViewer
|
||||
@@ -250,7 +250,7 @@
|
||||
{:else if viewTab == 'assets'}
|
||||
<div
|
||||
class="w-full h-full"
|
||||
bind:clientHeight={tabsHeigh.assetsHeight}
|
||||
bind:clientHeight={tabsHeight.assetsHeight}
|
||||
style="min-height: {minTabHeight}px"
|
||||
>
|
||||
<JobAssetsViewer {job} />
|
||||
@@ -258,7 +258,7 @@
|
||||
{:else if viewTab == 'code'}
|
||||
<div
|
||||
class="text-xs"
|
||||
bind:clientHeight={tabsHeigh.codeHeight}
|
||||
bind:clientHeight={tabsHeight.codeHeight}
|
||||
style="min-height: {minTabHeight}px"
|
||||
>
|
||||
{#if job && 'raw_code' in job && job.raw_code}
|
||||
@@ -274,7 +274,7 @@
|
||||
{:else if job !== undefined && (job.result_stream || (job.type == 'CompletedJob' && job.result !== undefined))}
|
||||
<div
|
||||
class="w-full"
|
||||
bind:clientHeight={tabsHeigh.resultHeight}
|
||||
bind:clientHeight={tabsHeight.resultHeight}
|
||||
style="min-height: {minTabHeight}px"
|
||||
>
|
||||
<DisplayResult
|
||||
|
||||
@@ -337,7 +337,7 @@
|
||||
>
|
||||
<Calendar size={14} />
|
||||
</Button>
|
||||
<div class="text-xs truncate text-ellipsis text-lef" dir="rtl" title={job.schedule_path}>
|
||||
<div class="text-xs truncate text-ellipsis text-left" dir="rtl" title={job.schedule_path}>
|
||||
{job.schedule_path}
|
||||
</div>
|
||||
<DropdownV2
|
||||
|
||||
@@ -153,8 +153,8 @@
|
||||
{#snippet dependenciesTooltip()}
|
||||
<TooltipV2 placement="right">
|
||||
{#snippet text()}
|
||||
'Deploying a script, flow or an app launch a dependency job that create and then attach the
|
||||
lockfile to the deployed item. This mechanism ensure that logic is always executed with the
|
||||
'Deploying a script, flow or an app launch a dependency job that creates and then attaches the
|
||||
lockfile to the deployed item. This mechanism ensures that logic is always executed with the
|
||||
exact same direct and indirect dependencies.'
|
||||
{/snippet}
|
||||
</TooltipV2>
|
||||
@@ -163,7 +163,7 @@
|
||||
<TooltipV2 placement="right">
|
||||
{#snippet text()}
|
||||
'Sync jobs that are triggered on every script deployment to sync the workspace with the Git
|
||||
repository configured in the the workspace settings'
|
||||
repository configured in the workspace settings'
|
||||
{/snippet}
|
||||
</TooltipV2>
|
||||
{/snippet}
|
||||
|
||||
Reference in New Issue
Block a user