From 439f4bbd6c2a403fc7bb61e6c3271b085e5678b4 Mon Sep 17 00:00:00 2001 From: Alexander Platov Date: Tue, 2 May 2023 06:46:47 +0300 Subject: [PATCH] TSK-1324: update kanban layout (#3118) Signed-off-by: Alexander Platov --- packages/kanban/src/components/Kanban.svelte | 29 +-- .../kanban/src/components/KanbanRow.svelte | 18 +- packages/theme/styles/_colors.scss | 12 +- packages/theme/styles/_layouts.scss | 12 +- packages/theme/styles/components.scss | 7 + packages/ui/src/components/Button.svelte | 8 +- .../ui/src/components/ProgressCircle.svelte | 2 +- .../components/calendar/DatePresenter.svelte | 5 +- .../calendar/DueDatePresenter.svelte | 5 +- packages/ui/src/types.ts | 17 +- .../components/AttachmentsPresenter.svelte | 4 +- .../src/components/CommentsPresenter.svelte | 2 +- .../src/components/Avatar.svelte | 8 +- .../src/components/LabelsPresenter.svelte | 6 +- .../src/components/TagItem.svelte | 4 +- .../components/TagReferencePresenter.svelte | 18 +- .../src/components/TagsAttributeEditor.svelte | 4 +- .../components/kanban/KanbanDragDone.svelte | 10 +- .../src/components/kanban/KanbanView.svelte | 114 ++++++--- .../components/state/StatePresenter.svelte | 23 +- .../components/state/StateRefPresenter.svelte | 4 +- .../src/components/icons/StatusIcon.svelte | 2 +- .../issues/AssigneePresenter.svelte | 5 +- .../components/issues/DueDatePresenter.svelte | 4 +- .../src/components/issues/KanbanView.svelte | 230 ++++++++++++------ 25 files changed, 365 insertions(+), 188 deletions(-) diff --git a/packages/kanban/src/components/Kanban.svelte b/packages/kanban/src/components/Kanban.svelte index 3876af7b30..5e9ce22316 100644 --- a/packages/kanban/src/components/Kanban.svelte +++ b/packages/kanban/src/components/Kanban.svelte @@ -309,7 +309,7 @@ {@const stateObjects = getGroupByValues(groupByDocs, state)}
panelDragOver(event, state)} on:drop={() => { @@ -318,9 +318,9 @@ }} > {#if $$slots.header !== undefined} - + {/if} - + diff --git a/packages/kanban/src/components/KanbanRow.svelte b/packages/kanban/src/components/KanbanRow.svelte index 42511bb791..821389a612 100644 --- a/packages/kanban/src/components/KanbanRow.svelte +++ b/packages/kanban/src/components/KanbanRow.svelte @@ -80,7 +80,7 @@
cardDragOver(evt, object)} on:drop|preventDefault={(evt) => cardDrop(evt, object)} > @@ -107,14 +107,12 @@
{/each} {#if stateObjects.length > limitedObjects.length} -
+
{#if loading} {:else} -
- - {limitedObjects.length}/{stateObjects.length} - +
+ {limitedObjects.length} / {stateObjects.length}
{/if} diff --git a/packages/ui/src/types.ts b/packages/ui/src/types.ts index b6165ad03e..205cd416e4 100644 --- a/packages/ui/src/types.ts +++ b/packages/ui/src/types.ts @@ -170,7 +170,17 @@ export type TooltipAlignment = 'top' | 'bottom' | 'left' | 'right' export type VerticalAlignment = 'top' | 'bottom' export type HorizontalAlignment = 'left' | 'right' -export type IconSize = 'inline' | 'tiny' | 'x-small' | 'smaller' | 'small' | 'medium' | 'large' | 'x-large' | 'full' +export type IconSize = + | 'inline' + | 'tiny' + | 'card' + | 'x-small' + | 'smaller' + | 'small' + | 'medium' + | 'large' + | 'x-large' + | 'full' export interface DateOrShift { date?: number @@ -311,3 +321,8 @@ export interface DialogStep { readonly component: AnyComponent | AnySvelteComponent props?: Record } + +export interface AccentColor { + textColor: string + backgroundColor: string +} diff --git a/plugins/attachment-resources/src/components/AttachmentsPresenter.svelte b/plugins/attachment-resources/src/components/AttachmentsPresenter.svelte index 6c3ebacf7d..0adce7bbfa 100644 --- a/plugins/attachment-resources/src/components/AttachmentsPresenter.svelte +++ b/plugins/attachment-resources/src/components/AttachmentsPresenter.svelte @@ -33,11 +33,11 @@ component: AttachmentPopup, props: { objectId: object._id, attachments: value, object } }} - class="sm-tool-icon ml-1 mr-1" + class="sm-tool-icon" > {#if showCounter} -  {value} + {value} {/if}
diff --git a/plugins/chunter-resources/src/components/CommentsPresenter.svelte b/plugins/chunter-resources/src/components/CommentsPresenter.svelte index 264bf89b1b..b22468e6cb 100644 --- a/plugins/chunter-resources/src/components/CommentsPresenter.svelte +++ b/plugins/chunter-resources/src/components/CommentsPresenter.svelte @@ -33,7 +33,7 @@ component: CommentPopup, props: { objectId: object._id, object } }} - class="sm-tool-icon ml-1 mr-1" + class="sm-tool-icon" > {#if showCounter} diff --git a/plugins/contact-resources/src/components/Avatar.svelte b/plugins/contact-resources/src/components/Avatar.svelte index d84e61ffa6..e669749f06 100644 --- a/plugins/contact-resources/src/components/Avatar.svelte +++ b/plugins/contact-resources/src/components/Avatar.svelte @@ -128,7 +128,7 @@ }} /> {:else} - + {/if}
@@ -160,6 +160,10 @@ height: 1.13rem; } + .ava-card { + width: 1.25rem; // 20 + height: 1.25rem; + } .ava-x-small { width: 1.5rem; // 24 height: 1.5rem; @@ -197,6 +201,8 @@ .ava-inline .ava-mask, .ava-inline.no-img, + .ava-card .ava-mask, + .ava-card.no-img, .ava-x-small .ava-mask, .ava-x-small.no-img, .ava-smaller .ava-mask, diff --git a/plugins/tags-resources/src/components/LabelsPresenter.svelte b/plugins/tags-resources/src/components/LabelsPresenter.svelte index b75a003e68..590c42348a 100644 --- a/plugins/tags-resources/src/components/LabelsPresenter.svelte +++ b/plugins/tags-resources/src/components/LabelsPresenter.svelte @@ -11,7 +11,7 @@ export let object: WithLookup export let full: boolean export let ckeckFilled: boolean = false - export let kind: 'short' | 'full' | 'list' = 'short' + export let kind: 'short' | 'full' | 'list' | 'kanban' = 'short' export let isEditable: boolean = false export let action: (evt: MouseEvent) => Promise | void = async () => {} export let compression: boolean = false @@ -46,10 +46,10 @@ }) -{#if kind === 'list'} +{#if kind === 'list' || kind === 'kanban'} {#each items as value}
- +
{/each} {:else} diff --git a/plugins/tags-resources/src/components/TagItem.svelte b/plugins/tags-resources/src/components/TagItem.svelte index e0e4e6c3ea..f58dae046b 100644 --- a/plugins/tags-resources/src/components/TagItem.svelte +++ b/plugins/tags-resources/src/components/TagItem.svelte @@ -38,7 +38,7 @@ - {name} + {name} {#if tag && tagIcon && schema !== '0'} diff --git a/plugins/tags-resources/src/components/TagReferencePresenter.svelte b/plugins/tags-resources/src/components/TagReferencePresenter.svelte index f0bb3df016..8b95ea22b1 100644 --- a/plugins/tags-resources/src/components/TagReferencePresenter.svelte +++ b/plugins/tags-resources/src/components/TagReferencePresenter.svelte @@ -102,30 +102,30 @@ align-items: center; flex-shrink: 0; padding: 0 0.375rem; - height: 1.375rem; - min-width: 1.375rem; + height: 1.5rem; + min-width: 1.5rem; font-weight: 500; font-size: 0.75rem; line-height: 0.75rem; white-space: nowrap; - color: var(--accent-color); - background-color: var(--board-card-bg-color); - border: 1px solid var(--divider-color); + color: var(--theme-content-color); + background-color: var(--theme-kanban-button-color); + border: 1px solid var(--theme-button-border); border-radius: 0.25rem; transition-property: border, background-color, color, box-shadow; transition-duration: 0.15s; &:hover { - color: var(--accent-color); - background-color: var(--button-bg-hover); - border-color: var(--button-border-hover); + color: var(--theme-caption-color); + background-color: var(--theme-kanban-button-hover); + border-color: var(--theme-list-divider-color); transition-duration: 0; } &:focus { border-color: var(--primary-edit-border-color) !important; } &:disabled { - color: rgb(var(--caption-color) / 40%); + color: rgb(var(--theme-caption-color) / 40%); cursor: not-allowed; } } diff --git a/plugins/tags-resources/src/components/TagsAttributeEditor.svelte b/plugins/tags-resources/src/components/TagsAttributeEditor.svelte index a0b7550653..5c982dce86 100644 --- a/plugins/tags-resources/src/components/TagsAttributeEditor.svelte +++ b/plugins/tags-resources/src/components/TagsAttributeEditor.svelte @@ -32,7 +32,7 @@ {#if items.length}
{#each items as value} -
+
{/each} {#if !readonly} -
+
-
+ {/key} {@const issue = toIssue(object)} @@ -313,61 +356,75 @@ showPanel(tracker.component.EditIssue, object._id, object._class, 'content') }} > -
-
+
+
+ +
+ +
+
-
- {#if groupByKey !== 'status'} - - {/if} - - {object.title} - -
-
-
- -
+
+
-
+
+ {object.title} +
+
{#if issue && issue.subIssues > 0} - + {/if} - + - - -
+
+
+ { + if (res.detail.full) fullFilled[issueId] = true }} - > - { - if (res.detail.full) fullFilled[issueId] = true - }} - /> + /> +
+
@@ -377,33 +434,66 @@ {/if}