From e4e39469c6e158e0f4b0c2d426eddbb340a7d319 Mon Sep 17 00:00:00 2001 From: Artyom Grigorovich Date: Wed, 20 Apr 2022 13:06:05 +0700 Subject: [PATCH] Tracker: View options - Grouping (#1442) Signed-off-by: Artyom Grigorovich --- .../ui/src/components/icons/Options.svelte | 9 ++ packages/ui/src/index.ts | 1 + plugins/tracker-assets/lang/en.json | 12 +- .../src/components/CreateIssue.svelte | 28 ++-- .../src/components/DropdownNative.svelte | 39 ++++++ .../src/components/PrioritySelector.svelte | 22 +++- .../src/components/StatusSelector.svelte | 14 +- .../src/components/issues/Active.svelte | 6 +- .../issues/AssigneePresenter.svelte | 87 +++++++++++-- .../src/components/issues/Backlog.svelte | 2 +- .../issues/CategoryPresenter.svelte | 52 +++++--- .../src/components/issues/Issues.svelte | 121 ++++++++++++++---- .../src/components/issues/IssuesList.svelte | 7 +- .../issues/PriorityPresenter.svelte | 22 +++- .../components/issues/StatusPresenter.svelte | 26 +++- .../components/issues/ViewOptionsPopup.svelte | 86 +++++++++++++ plugins/tracker-resources/src/index.ts | 4 +- plugins/tracker-resources/src/plugin.ts | 8 +- plugins/tracker-resources/src/utils.ts | 48 ++++++- plugins/tracker/src/index.ts | 20 +++ 20 files changed, 523 insertions(+), 91 deletions(-) create mode 100644 packages/ui/src/components/icons/Options.svelte create mode 100644 plugins/tracker-resources/src/components/DropdownNative.svelte create mode 100644 plugins/tracker-resources/src/components/issues/ViewOptionsPopup.svelte diff --git a/packages/ui/src/components/icons/Options.svelte b/packages/ui/src/components/icons/Options.svelte new file mode 100644 index 0000000000..b0d1346135 --- /dev/null +++ b/packages/ui/src/components/icons/Options.svelte @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index 692e3cebb8..0054ebee97 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -104,6 +104,7 @@ export { default as IconNavPrev } from './components/icons/NavPrev.svelte' export { default as IconNavNext } from './components/icons/NavNext.svelte' export { default as IconDPCalendar } from './components/calendar/icons/DPCalendar.svelte' export { default as IconDPCalendarOver } from './components/calendar/icons/DPCalendarOver.svelte' +export { default as IconOptions } from './components/icons/Options.svelte' export { default as PanelInstance } from './components/PanelInstance.svelte' export { default as Panel } from './components/Panel.svelte' diff --git a/plugins/tracker-assets/lang/en.json b/plugins/tracker-assets/lang/en.json index 2d9d96431d..f9d9752bff 100644 --- a/plugins/tracker-assets/lang/en.json +++ b/plugins/tracker-assets/lang/en.json @@ -38,7 +38,7 @@ "Title": "Title", "Description": "", - "Status": "", + "Status": "Status", "Number": "Number", "Assignee": "Assignee", "AssignTo": "Assign to...", @@ -51,7 +51,7 @@ "Labels": "Labels", "Project": "Project", "Space": "", - "DueDate": "Set due date\u2026", + "SetDueDate": "Set due date\u2026", "ModificationDate": "Updated {value}", "Team": "", "Issue": "", @@ -65,7 +65,13 @@ "DueDatePopupTitle": "Due on {value}", "DueDatePopupOverdueTitle": "Was due on {value}", "DueDatePopupDescription": "{value, plural, =0 {Today} =1 {Tomorrow} other {# days remaining}}", - "DueDatePopupOverdueDescription": "{value, plural, =1 {1 day overdue} other {# days overdue}}" + "DueDatePopupOverdueDescription": "{value, plural, =1 {1 day overdue} other {# days overdue}}", + "Grouping": "Grouping", + "Ordering": "Ordering", + "NoGrouping": "No grouping", + "NoAssignee": "No assignee", + "LastUpdated": "Last updated", + "DueDate": "Due date" }, "status": {} } \ No newline at end of file diff --git a/plugins/tracker-resources/src/components/CreateIssue.svelte b/plugins/tracker-resources/src/components/CreateIssue.svelte index 00eea83f7a..3c8586e81f 100644 --- a/plugins/tracker-resources/src/components/CreateIssue.svelte +++ b/plugins/tracker-resources/src/components/CreateIssue.svelte @@ -28,11 +28,14 @@ export let space: Ref export let parent: Ref | undefined - export let issueStatus = IssueStatus.Backlog + export let status: IssueStatus = IssueStatus.Backlog + export let priority: IssuePriority = IssuePriority.NoPriority + export let assignee: Ref | null = null + $: _space = space $: _parent = parent - let assignee: Ref | null = null + let currentAssignee: Ref | null = assignee const object: Data = { title: '', @@ -40,8 +43,8 @@ assignee: null, number: 0, rank: '', - status: issueStatus, - priority: IssuePriority.NoPriority, + status: status, + priority: priority, dueDate: null, comments: 0 } @@ -87,7 +90,7 @@ const value: Data = { title: object.title, description: object.description, - assignee, + assignee: currentAssignee, number: (incResult as any).object.sequence, status: object.status, priority: object.priority, @@ -101,7 +104,7 @@ } const moreActions: Array<{ icon: Asset; label: IntlString }> = [ - { icon: tracker.icon.DueDate, label: tracker.string.DueDate }, + { icon: tracker.icon.DueDate, label: tracker.string.SetDueDate }, { icon: tracker.icon.Parent, label: tracker.string.Parent } ] @@ -138,7 +141,14 @@ }} > -