diff --git a/models/tracker/src/index.ts b/models/tracker/src/index.ts index ed1be2582c..774c7d6764 100644 --- a/models/tracker/src/index.ts +++ b/models/tracker/src/index.ts @@ -439,4 +439,34 @@ export function createModel (builder: Builder): void { mode: ['workbench', 'browser', 'editor', 'panel', 'popup'] } }) + + builder.createDoc( + view.class.ActionCategory, + core.space.Model, + { label: tracker.string.TrackerApplication, visible: true }, + tracker.category.Tracker + ) + + createAction( + builder, + { + action: view.actionImpl.ShowPopup, + actionProps: { + component: tracker.component.SetDueDateActionPopup, + props: { mondayStart: true, withTime: false }, + element: 'top' + }, + label: tracker.string.SetDueDate, + icon: tracker.icon.DueDate, + keyBinding: [], + input: 'none', + category: tracker.category.Tracker, + target: tracker.class.Issue, + context: { + mode: ['context', 'browser'], + application: tracker.app.Tracker + } + }, + tracker.action.SetDueDate + ) } diff --git a/plugins/tracker-assets/lang/en.json b/plugins/tracker-assets/lang/en.json index d3843e428c..1cced47380 100644 --- a/plugins/tracker-assets/lang/en.json +++ b/plugins/tracker-assets/lang/en.json @@ -73,6 +73,7 @@ "Project": "Project", "Space": "", "SetDueDate": "Set due date\u2026", + "ChangeDueDate": "Change due date\u2026", "ModificationDate": "Updated {value}", "Team": "", "Issue": "", diff --git a/plugins/tracker-assets/src/index.ts b/plugins/tracker-assets/src/index.ts index 90f8f97de6..f15f096a90 100644 --- a/plugins/tracker-assets/src/index.ts +++ b/plugins/tracker-assets/src/index.ts @@ -32,7 +32,6 @@ loadMetadata(tracker.icon, { Magnifier: `${icons}#magnifier`, Home: `${icons}#home`, Labels: `${icons}#priority-nopriority`, // TODO: add icon - MoreActions: `${icons}#priority-nopriority`, // TODO: add icon DueDate: `${icons}#inbox`, // TODO: add icon Parent: `${icons}#myissues`, // TODO: add icon diff --git a/plugins/tracker-resources/src/components/CreateIssue.svelte b/plugins/tracker-resources/src/components/CreateIssue.svelte index b6c9fd0930..988ef37a77 100644 --- a/plugins/tracker-resources/src/components/CreateIssue.svelte +++ b/plugins/tracker-resources/src/components/CreateIssue.svelte @@ -15,7 +15,6 @@ + + diff --git a/plugins/tracker-resources/src/index.ts b/plugins/tracker-resources/src/index.ts index d7eb3371ae..a2b7432ad3 100644 --- a/plugins/tracker-resources/src/index.ts +++ b/plugins/tracker-resources/src/index.ts @@ -34,6 +34,7 @@ import PriorityEditor from './components/issues/PriorityEditor.svelte' import ProjectEditor from './components/projects/ProjectEditor.svelte' import StatusPresenter from './components/issues/StatusPresenter.svelte' import StatusEditor from './components/issues/StatusEditor.svelte' +import SetDueDateActionPopup from './components/SetDueDateActionPopup.svelte' import DueDatePresenter from './components/issues/DueDatePresenter.svelte' import AssigneePresenter from './components/issues/AssigneePresenter.svelte' import ViewOptionsPopup from './components/issues/ViewOptionsPopup.svelte' @@ -77,6 +78,7 @@ export default async (): Promise => ({ LeadPresenter, TargetDatePresenter, ProjectMembersPresenter, - ProjectStatusPresenter + ProjectStatusPresenter, + SetDueDateActionPopup } }) diff --git a/plugins/tracker-resources/src/plugin.ts b/plugins/tracker-resources/src/plugin.ts index adda2e92f6..c122e30042 100644 --- a/plugins/tracker-resources/src/plugin.ts +++ b/plugins/tracker-resources/src/plugin.ts @@ -12,7 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. // - import type { IntlString } from '@anticrm/platform' import { mergeIds } from '@anticrm/platform' import tracker, { trackerId } from '../../tracker/lib' @@ -95,6 +94,7 @@ export default mergeIds(trackerId, tracker, { Labels: '' as IntlString, Space: '' as IntlString, SetDueDate: '' as IntlString, + ChangeDueDate: '' as IntlString, ModificationDate: '' as IntlString, Issue: '' as IntlString, Document: '' as IntlString, @@ -173,6 +173,7 @@ export default mergeIds(trackerId, tracker, { LeadPresenter: '' as AnyComponent, TargetDatePresenter: '' as AnyComponent, ProjectMembersPresenter: '' as AnyComponent, - ProjectStatusPresenter: '' as AnyComponent + ProjectStatusPresenter: '' as AnyComponent, + SetDueDateActionPopup: '' as AnyComponent } }) diff --git a/plugins/tracker/package.json b/plugins/tracker/package.json index b438063a0b..afc18889c8 100644 --- a/plugins/tracker/package.json +++ b/plugins/tracker/package.json @@ -29,6 +29,7 @@ "@anticrm/core": "~0.6.16", "@anticrm/platform": "~0.6.6", "@anticrm/ui": "~0.6.0", + "@anticrm/view": "~0.6.0", "@anticrm/contact": "~0.6.5", "@anticrm/chunter": "~0.6.1", "@anticrm/attachment": "~0.6.1", diff --git a/plugins/tracker/src/index.ts b/plugins/tracker/src/index.ts index 6d693f8758..97e78b8afc 100644 --- a/plugins/tracker/src/index.ts +++ b/plugins/tracker/src/index.ts @@ -15,6 +15,7 @@ import { Employee } from '@anticrm/contact' import type { AttachedDoc, Class, Doc, Markup, Ref, Space, Timestamp, Type } from '@anticrm/core' +import { Action, ActionCategory } from '@anticrm/view' import type { Asset, IntlString, Plugin } from '@anticrm/platform' import { plugin } from '@anticrm/platform' import { AnyComponent } from '@anticrm/ui' @@ -213,7 +214,6 @@ export default plugin(trackerId, { Magnifier: '' as Asset, Home: '' as Asset, Labels: '' as Asset, - MoreActions: '' as Asset, DueDate: '' as Asset, Parent: '' as Asset, @@ -239,5 +239,11 @@ export default plugin(trackerId, { ProjectStatusPaused: '' as Asset, ProjectStatusCompleted: '' as Asset, ProjectStatusCanceled: '' as Asset + }, + category: { + Tracker: '' as Ref + }, + action: { + SetDueDate: '' as Ref } })