Updated ToDoElement layout (#5330)

Signed-off-by: Alexander Platov <alexander.platov@hardcoreeng.com>
This commit is contained in:
Alexander Platov 2024-04-12 08:55:27 +03:00 committed by GitHub
parent b7ab71c9a5
commit fb40b9b703
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 35 additions and 44 deletions

View File

@ -591,10 +591,7 @@
} }
} }
.hulyToDoLine-statusPriority { .hulyToDoLine-statusPriority,
display: flex;
gap: var(--spacing-0_25);
}
.hulyToDoLine-dragbox, .hulyToDoLine-dragbox,
.hulyToDoLine-checkbox { .hulyToDoLine-checkbox {
display: flex; display: flex;
@ -602,8 +599,7 @@
flex-shrink: 0; flex-shrink: 0;
} }
.hulyToDoLine-dragbox { .hulyToDoLine-dragbox {
position: relative; display: none;
margin-right: var(--spacing-0_25);
padding: 0; padding: 0;
width: var(--global-min-Size); width: var(--global-min-Size);
height: var(--global-min-Size); height: var(--global-min-Size);
@ -611,28 +607,28 @@
border: none; border: none;
outline: none; outline: none;
cursor: grab; cursor: grab;
}
.hulyToDoLine-statusPriority {
position: relative;
margin-right: var(--spacing-0_25);
padding-top: var(--spacing-0_5);
min-width: var(--global-min-Size);
&.isNew::after { &.isNew::after {
position: absolute; position: absolute;
content: ''; content: '';
top: var(--spacing-0_75); top: var(--spacing-1_25);
right: var(--spacing-0_5); right: calc(-1 * var(--spacing-0_75));
width: var(--spacing-0_5); width: var(--spacing-0_5);
height: var(--spacing-0_5); height: var(--spacing-0_5);
background-color: var(--global-primary-LinkColor); background-color: var(--global-primary-LinkColor);
border-radius: 50%; border-radius: 50%;
} }
svg {
visibility: hidden;
}
} }
.hulyToDoLine-checkbox { .hulyToDoLine-checkbox {
display: none;
width: var(--global-extra-small-Size); width: var(--global-extra-small-Size);
height: var(--global-extra-small-Size); height: var(--global-extra-small-Size);
&.updating {
padding-top: var(--spacing-0_5);
}
} }
.hulyToDoLine-top-align { .hulyToDoLine-top-align {
color: var(--global-primary-TextColor); color: var(--global-primary-TextColor);
@ -677,24 +673,21 @@
&:hover { &:hover {
background-color: var(--global-surface-01-hover-BackgroundColor); background-color: var(--global-surface-01-hover-BackgroundColor);
.hulyToDoLine-dragbox { .priority-container {
&.isNew::after { display: none;
content: none; }
} .hulyToDoLine-dragbox,
svg { .hulyToDoLine-checkbox {
visibility: visible; display: flex;
}
} }
} }
&.isDrag { &.isDrag {
.priority-container {
display: flex;
}
.hulyToDoLine-dragbox { .hulyToDoLine-dragbox {
&.isNew::after { display: none;
content: '';
}
svg {
visibility: hidden;
}
} }
} }
} }

View File

@ -77,20 +77,15 @@
}} }}
> >
<div class="flex-row-top flex-grow flex-gap-2"> <div class="flex-row-top flex-grow flex-gap-2">
<div class="flex-row-center flex-no-shrink"> <div class="hulyToDoLine-statusPriority" class:isNew>
<button class="hulyToDoLine-dragbox" class:isNew on:contextmenu={onMenuClick}> {#if updating !== undefined}
<Icon icon={IconMoreV2} size={'small'} /> <Spinner size={'small'} />
</button> {:else}
<div class="hulyToDoLine-statusPriority"> <button class="hulyToDoLine-dragbox" on:contextmenu={onMenuClick}>
<div class="hulyToDoLine-checkbox" class:updating> <Icon icon={IconMoreV2} size={'small'} />
{#if updating !== undefined} </button>
<Spinner size={'small'} />
{:else}
<ToDoCheckbox checked={isDone} priority={todo.priority} on:value={markDone} />
{/if}
</div>
<ToDoPriorityPresenter value={todo.priority} muted={isDone} /> <ToDoPriorityPresenter value={todo.priority} muted={isDone} />
</div> {/if}
</div> </div>
<WorkItemPresenter {todo} kind={'todo-line'} withoutSpace /> <WorkItemPresenter {todo} kind={'todo-line'} withoutSpace />
<div class="hulyToDoLine-title hulyToDoLine-top-align top-12 text-left font-regular-14 overflow-label"> <div class="hulyToDoLine-title hulyToDoLine-top-align top-12 text-left font-regular-14 overflow-label">
@ -117,4 +112,7 @@
</span> </span>
{/if} {/if}
</div> </div>
<div class="hulyToDoLine-checkbox" class:updating>
<ToDoCheckbox checked={isDone} priority={todo.priority} on:value={markDone} />
</div>
</button> </button>

View File

@ -26,7 +26,7 @@
</script> </script>
{#if value !== ToDoPriority.NoPriority} {#if value !== ToDoPriority.NoPriority}
<div class="flex-center flex-gap-1-5"> <div class="priority-container flex-center flex-gap-1-5">
<Priority {value} {muted} /> <Priority {value} {muted} />
{#if showLabel} {#if showLabel}
<span class="priority-label font-medium-12" style:color> <span class="priority-label font-medium-12" style:color>

View File

@ -236,7 +236,7 @@ export class PlanningPage extends CalendarPage {
await this.page await this.page
.locator('button.hulyToDoLine-container div[class$="overflow-label"]', { hasText: toDoName }) .locator('button.hulyToDoLine-container div[class$="overflow-label"]', { hasText: toDoName })
.locator('xpath=..') .locator('xpath=..')
.locator('div.flex-row-center button.hulyToDoLine-dragbox') .locator('div.hulyToDoLine-statusPriority button.hulyToDoLine-dragbox')
.click({ button: 'right' }) .click({ button: 'right' })
await this.buttonMenuDelete.click() await this.buttonMenuDelete.click()
await this.pressYesDeletePopup(this.page) await this.pressYesDeletePopup(this.page)
@ -246,7 +246,7 @@ export class PlanningPage extends CalendarPage {
await this.page await this.page
.locator('button.hulyToDoLine-container div[class$="overflow-label"]', { hasText: toDoName }) .locator('button.hulyToDoLine-container div[class$="overflow-label"]', { hasText: toDoName })
.locator('xpath=..') .locator('xpath=..')
.locator('div.flex-row-center div.hulyToDoLine-checkbox > label') .locator('div.hulyToDoLine-checkbox > label')
.click() .click()
} }