diff --git a/models/contact/src/index.ts b/models/contact/src/index.ts index 66b7cd1d13..74a26a4d71 100644 --- a/models/contact/src/index.ts +++ b/models/contact/src/index.ts @@ -152,7 +152,7 @@ export function createModel (builder: Builder): void { builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: contact.class.Person, descriptor: view.viewlet.Table, - open: contact.component.EditPerson, + open: contact.component.EditContact, // eslint-disable-next-line @typescript-eslint/consistent-type-assertions options: {}, config: [ @@ -167,7 +167,7 @@ export function createModel (builder: Builder): void { builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: contact.class.Organization, descriptor: view.viewlet.Table, - open: contact.component.EditOrganization, + open: contact.component.EditContact, // eslint-disable-next-line @typescript-eslint/consistent-type-assertions options: {}, config: ['', { presenter: attachment.component.AttachmentsPresenter, label: 'Files' }, 'modifiedOn', 'channels'] diff --git a/models/contact/src/plugin.ts b/models/contact/src/plugin.ts index 248572b5d2..8be8387a54 100644 --- a/models/contact/src/plugin.ts +++ b/models/contact/src/plugin.ts @@ -27,6 +27,7 @@ export const ids = mergeIds(contactId, contact, { ChannelsPresenter: '' as AnyComponent, CreatePerson: '' as AnyComponent, EditPerson: '' as AnyComponent, + EditContact: '' as AnyComponent, EditOrganization: '' as AnyComponent, CreateOrganization: '' as AnyComponent, CreatePersons: '' as AnyComponent, diff --git a/models/lead/src/index.ts b/models/lead/src/index.ts index 140625ea2b..05f34ff7f9 100644 --- a/models/lead/src/index.ts +++ b/models/lead/src/index.ts @@ -28,7 +28,7 @@ import task, { TSpaceWithStates, TTask } from '@anticrm/model-task' import view from '@anticrm/model-view' import workbench from '@anticrm/model-workbench' import type { IntlString } from '@anticrm/platform' -import type { } from '@anticrm/view' +import type {} from '@anticrm/view' import lead from './plugin' @Model(lead.class.Funnel, task.class.SpaceWithStates) @@ -36,7 +36,7 @@ import lead from './plugin' export class TFunnel extends TSpaceWithStates implements Funnel {} @Model(lead.class.Lead, task.class.Task) -@UX('Lead' as IntlString) +@UX('Lead' as IntlString, lead.icon.Lead) export class TLead extends TTask implements Lead { @Prop(TypeString(), 'Title' as IntlString) title!: string @@ -61,32 +61,42 @@ export function createModel (builder: Builder): void { } }) - builder.createDoc(workbench.class.Application, core.space.Model, { - label: lead.string.LeadApplication, - icon: lead.icon.LeadApplication, - hidden: false, - navigatorModel: { - spaces: [ - { - label: lead.string.Funnels, - spaceClass: lead.class.Funnel, - addSpaceLabel: lead.string.CreateFunnel, - createComponent: lead.component.CreateFunnel - } - ] - } - }, lead.app.Lead) - builder.createDoc(lead.class.Funnel, core.space.Model, { - name: 'Funnel', - description: 'Default funnel', - private: false, - members: [] - }, lead.space.DefaultFunnel) + builder.createDoc( + workbench.class.Application, + core.space.Model, + { + label: lead.string.LeadApplication, + icon: lead.icon.LeadApplication, + hidden: false, + navigatorModel: { + spaces: [ + { + label: lead.string.Funnels, + spaceClass: lead.class.Funnel, + addSpaceLabel: lead.string.CreateFunnel, + createComponent: lead.component.CreateFunnel + } + ] + } + }, + lead.app.Lead + ) + builder.createDoc( + lead.class.Funnel, + core.space.Model, + { + name: 'Funnel', + description: 'Default funnel', + private: false, + members: [] + }, + lead.space.DefaultFunnel + ) builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: lead.class.Lead, descriptor: view.viewlet.Table, - open: lead.component.EditLead, + open: contact.component.EditContact, // eslint-disable-next-line @typescript-eslint/consistent-type-assertions options: { lookup: { @@ -101,13 +111,14 @@ export function createModel (builder: Builder): void { { presenter: attachment.component.AttachmentsPresenter, label: 'Files' }, { presenter: chunter.component.CommentsPresenter, label: 'Comments' }, 'modifiedOn', - '$lookup.customer.channels'] + '$lookup.customer.channels' + ] }) builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: lead.class.Lead, descriptor: task.viewlet.Kanban, - open: lead.component.EditLead, + open: contact.component.EditContact, // eslint-disable-next-line @typescript-eslint/consistent-type-assertions options: { lookup: { @@ -135,13 +146,18 @@ export function createModel (builder: Builder): void { sequence: 0 }) - builder.createDoc(task.class.KanbanTemplateSpace, core.space.Model, { - name: 'Funnels', - description: 'Manage funnel statuses', - members: [], - private: false, - icon: lead.component.TemplatesIcon - }, lead.space.FunnelTemplates) + builder.createDoc( + task.class.KanbanTemplateSpace, + core.space.Model, + { + name: 'Funnels', + description: 'Manage funnel statuses', + members: [], + private: false, + icon: lead.component.TemplatesIcon + }, + lead.space.FunnelTemplates + ) createKanban(lead.space.DefaultFunnel, async (_class, space, data, id) => { builder.createDoc(_class, space, data, id) diff --git a/models/recruit/src/index.ts b/models/recruit/src/index.ts index 8dc507243a..90620c9a18 100644 --- a/models/recruit/src/index.ts +++ b/models/recruit/src/index.ts @@ -70,7 +70,7 @@ export class TCandidate extends TPerson implements Candidate { } @Model(recruit.class.Applicant, task.class.Task) -@UX('Application' as IntlString, recruit.icon.RecruitApplication, 'APP' as IntlString) +@UX('Application' as IntlString, recruit.icon.Application, 'APP' as IntlString) export class TApplicant extends TTask implements Applicant { // We need to declare, to provide property with label @Prop(TypeRef(recruit.class.Candidate), 'Candidate' as IntlString) @@ -107,28 +107,33 @@ export function createModel (builder: Builder): void { editor: recruit.component.Applications }) - builder.createDoc(workbench.class.Application, core.space.Model, { - label: recruit.string.RecruitApplication, - icon: recruit.icon.RecruitApplication, - hidden: false, - navigatorModel: { - spaces: [ - { - label: recruit.string.Vacancies, - spaceClass: recruit.class.Vacancy, - addSpaceLabel: recruit.string.CreateVacancy, - createComponent: recruit.component.CreateVacancy, - component: recruit.component.EditVacancy - }, - { - label: recruit.string.Candidates, - spaceClass: recruit.class.Candidates, - addSpaceLabel: recruit.string.CreateCandidates, - createComponent: recruit.component.CreateCandidates - } - ] - } - }, recruit.app.Recruit) + builder.createDoc( + workbench.class.Application, + core.space.Model, + { + label: recruit.string.RecruitApplication, + icon: recruit.icon.RecruitApplication, + hidden: false, + navigatorModel: { + spaces: [ + { + label: recruit.string.Vacancies, + spaceClass: recruit.class.Vacancy, + addSpaceLabel: recruit.string.CreateVacancy, + createComponent: recruit.component.CreateVacancy, + component: recruit.component.EditVacancy + }, + { + label: recruit.string.Candidates, + spaceClass: recruit.class.Candidates, + addSpaceLabel: recruit.string.CreateCandidates, + createComponent: recruit.component.CreateCandidates + } + ] + } + }, + recruit.app.Recruit + ) builder.createDoc( recruit.class.Candidates, core.space.Model, @@ -144,7 +149,7 @@ export function createModel (builder: Builder): void { builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: recruit.class.Candidate, descriptor: view.viewlet.Table, - open: recruit.component.EditCandidate, + open: contact.component.EditContact, // eslint-disable-next-line @typescript-eslint/consistent-type-assertions options: { // lookup: { @@ -166,7 +171,7 @@ export function createModel (builder: Builder): void { builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: recruit.class.Applicant, descriptor: view.viewlet.Table, - open: recruit.component.EditCandidate, + open: contact.component.EditContact, // eslint-disable-next-line @typescript-eslint/consistent-type-assertions options: { lookup: { @@ -189,7 +194,7 @@ export function createModel (builder: Builder): void { builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: recruit.class.Applicant, descriptor: task.viewlet.Kanban, - open: recruit.component.EditCandidate, + open: contact.component.EditContact, // eslint-disable-next-line @typescript-eslint/consistent-type-assertions options: { lookup: { @@ -208,6 +213,10 @@ export function createModel (builder: Builder): void { editor: recruit.component.EditCandidate }) + builder.mixin(recruit.class.Applicant, core.class.Class, view.mixin.ObjectEditor, { + editor: recruit.component.EditApplication + }) + builder.mixin(recruit.class.Applicant, core.class.Class, view.mixin.AttributePresenter, { presenter: recruit.component.ApplicationPresenter }) @@ -238,13 +247,18 @@ export function createModel (builder: Builder): void { sequence: 0 }) - builder.createDoc(task.class.KanbanTemplateSpace, core.space.Model, { - name: 'Vacancies', - description: 'Manage vacancy statuses', - members: [], - private: false, - icon: recruit.component.TemplatesIcon - }, recruit.space.VacancyTemplates) + builder.createDoc( + task.class.KanbanTemplateSpace, + core.space.Model, + { + name: 'Vacancies', + description: 'Manage vacancy statuses', + members: [], + private: false, + icon: recruit.component.TemplatesIcon + }, + recruit.space.VacancyTemplates + ) } export { recruitOperation } from './migration' diff --git a/models/recruit/src/plugin.ts b/models/recruit/src/plugin.ts index afb57b073d..7394e25fb9 100644 --- a/models/recruit/src/plugin.ts +++ b/models/recruit/src/plugin.ts @@ -50,6 +50,7 @@ export default mergeIds(recruitId, recruit, { ApplicationPresenter: '' as AnyComponent, ApplicationsPresenter: '' as AnyComponent, EditVacancy: '' as AnyComponent, + EditApplication: '' as AnyComponent, TemplatesIcon: '' as AnyComponent, Applications: '' as AnyComponent }, diff --git a/models/task/src/index.ts b/models/task/src/index.ts index 543b68b1fc..e7a06f5791 100644 --- a/models/task/src/index.ts +++ b/models/task/src/index.ts @@ -26,7 +26,24 @@ import core, { TAttachedDoc, TClass, TDoc, TSpace } from '@anticrm/model-core' import view from '@anticrm/model-view' import workbench from '@anticrm/model-workbench' import type { IntlString } from '@anticrm/platform' -import type { Kanban, KanbanCard, Project, State, Issue, Sequence, DoneState, WonState, LostState, KanbanTemplateSpace, StateTemplate, DoneStateTemplate, WonStateTemplate, LostStateTemplate, KanbanTemplate, Task } from '@anticrm/task' +import type { + Kanban, + KanbanCard, + Project, + State, + Issue, + Sequence, + DoneState, + WonState, + LostState, + KanbanTemplateSpace, + StateTemplate, + DoneStateTemplate, + WonStateTemplate, + LostStateTemplate, + KanbanTemplate, + Task +} from '@anticrm/task' import { createProjectKanban } from '@anticrm/task' import task from './plugin' import { AnyComponent } from '@anticrm/ui' @@ -77,8 +94,7 @@ export class TTask extends TAttachedDoc implements Task { } @Model(task.class.SpaceWithStates, core.class.Space) -export class TSpaceWithStates extends TSpace { -} +export class TSpaceWithStates extends TSpace {} @Model(task.class.Project, task.class.SpaceWithStates) @UX('Project' as IntlString, task.icon.Task) @@ -188,7 +204,8 @@ export function createModel (builder: Builder): void { TTask, TSpaceWithStates, TProject, - TIssue) + TIssue + ) builder.mixin(task.class.Project, core.class.Class, workbench.mixin.SpaceView, { view: { class: task.class.Issue, @@ -196,21 +213,26 @@ export function createModel (builder: Builder): void { } }) - builder.createDoc(workbench.class.Application, core.space.Model, { - label: task.string.ApplicationLabelTask, - icon: task.icon.Task, - hidden: false, - navigatorModel: { - spaces: [ - { - label: task.string.Projects, - spaceClass: task.class.Project, - addSpaceLabel: task.string.CreateProject, - createComponent: task.component.CreateProject - } - ] - } - }, task.app.Tasks) + builder.createDoc( + workbench.class.Application, + core.space.Model, + { + label: task.string.ApplicationLabelTask, + icon: task.icon.Task, + hidden: false, + navigatorModel: { + spaces: [ + { + label: task.string.Projects, + spaceClass: task.class.Project, + addSpaceLabel: task.string.CreateProject, + createComponent: task.component.CreateProject + } + ] + } + }, + task.app.Tasks + ) builder.createDoc(view.class.Viewlet, core.space.Model, { attachTo: task.class.Issue, @@ -237,7 +259,7 @@ export function createModel (builder: Builder): void { }) builder.mixin(task.class.Issue, core.class.Class, view.mixin.ObjectEditor, { - editor: task.component.EditTask + editor: task.component.EditIssue }) builder.createDoc(task.class.Sequence, task.space.Sequence, { @@ -260,44 +282,65 @@ export function createModel (builder: Builder): void { config: [ // '$lookup.attachedTo', '$lookup.state', - '$lookup.assignee'] + '$lookup.assignee' + ] }) builder.mixin(task.class.Issue, core.class.Class, task.mixin.KanbanCard, { card: task.component.KanbanCard }) - builder.createDoc(task.class.Project, core.space.Model, { - name: 'public', - description: 'Public tasks', - private: false, - members: [] - }, task.space.TasksPublic) + builder.createDoc( + task.class.Project, + core.space.Model, + { + name: 'public', + description: 'Public tasks', + private: false, + members: [] + }, + task.space.TasksPublic + ) - builder.createDoc(task.class.KanbanTemplateSpace, core.space.Model, { - name: 'Projects', - description: 'Manage project statuses', - members: [], - private: false, - icon: task.component.TemplatesIcon - }, task.space.ProjectTemplates) + builder.createDoc( + task.class.KanbanTemplateSpace, + core.space.Model, + { + name: 'Projects', + description: 'Manage project statuses', + members: [], + private: false, + icon: task.component.TemplatesIcon + }, + task.space.ProjectTemplates + ) createProjectKanban(task.space.TasksPublic, async (_class, space, data, id) => { builder.createDoc(_class, space, data, id) return await Promise.resolve() }).catch((err) => console.error(err)) - builder.createDoc(view.class.Action, core.space.Model, { - label: 'Create task' as IntlString, - icon: task.icon.Task, - action: task.actionImpl.CreateTask - }, task.action.CreateTask) + builder.createDoc( + view.class.Action, + core.space.Model, + { + label: 'Create task' as IntlString, + icon: task.icon.Task, + action: task.actionImpl.CreateTask + }, + task.action.CreateTask + ) - builder.createDoc(view.class.Action, core.space.Model, { - label: 'Edit Statuses' as IntlString, - icon: view.icon.MoreH, - action: task.actionImpl.EditStatuses - }, task.action.EditStatuses) + builder.createDoc( + view.class.Action, + core.space.Model, + { + label: 'Edit Statuses' as IntlString, + icon: view.icon.MoreH, + action: task.actionImpl.EditStatuses + }, + task.action.EditStatuses + ) builder.createDoc(view.class.ActionTarget, core.space.Model, { target: task.class.SpaceWithStates, @@ -312,18 +355,28 @@ export function createModel (builder: Builder): void { presenter: task.component.StatePresenter }) - builder.createDoc(view.class.ViewletDescriptor, core.space.Model, { - label: 'Kanban' as IntlString, - icon: task.icon.Kanban, - component: task.component.KanbanView - }, task.viewlet.Kanban) + builder.createDoc( + view.class.ViewletDescriptor, + core.space.Model, + { + label: 'Kanban' as IntlString, + icon: task.icon.Kanban, + component: task.component.KanbanView + }, + task.viewlet.Kanban + ) - builder.createDoc(core.class.Space, core.space.Model, { - name: 'Sequences', - description: 'Internal space to store sequence numbers', - members: [], - private: false - }, task.space.Sequence) + builder.createDoc( + core.class.Space, + core.space.Model, + { + name: 'Sequences', + description: 'Internal space to store sequence numbers', + members: [], + private: false + }, + task.space.Sequence + ) } export { taskOperation } from './migration' diff --git a/models/task/src/plugin.ts b/models/task/src/plugin.ts index b141478d70..4dec21e58c 100644 --- a/models/task/src/plugin.ts +++ b/models/task/src/plugin.ts @@ -39,6 +39,7 @@ export default mergeIds(taskId, task, { CreateProject: '' as AnyComponent, CreateTask: '' as AnyComponent, EditTask: '' as AnyComponent, + EditIssue: '' as AnyComponent, TaskPresenter: '' as AnyComponent, KanbanCard: '' as AnyComponent, TemplatesIcon: '' as AnyComponent, diff --git a/plugins/attachment-assets/lang/en.json b/plugins/attachment-assets/lang/en.json index dee36a1566..9d98a20cfe 100644 --- a/plugins/attachment-assets/lang/en.json +++ b/plugins/attachment-assets/lang/en.json @@ -1,7 +1,7 @@ { "string": { "UploadDropFilesHere": "Upload or drop files here", - "NoAttachments": "There are no attachments", + "NoAttachments": "There are no attachments for this", "AddAttachment": "uploaded an attachment" } } \ No newline at end of file diff --git a/plugins/attachment-resources/src/components/Attachments.svelte b/plugins/attachment-resources/src/components/Attachments.svelte index 0edd9c1f0b..f40ebaaa42 100644 --- a/plugins/attachment-resources/src/components/Attachments.svelte +++ b/plugins/attachment-resources/src/components/Attachments.svelte @@ -1,14 +1,15 @@ @@ -16,7 +17,7 @@ import attachment from '../plugin' import type { Attachment } from '@anticrm/attachment' import type { Class, Doc, Ref, Space } from '@anticrm/core' - import { IntlString, setPlatformStatus, unknownError } from '@anticrm/platform' + import { setPlatformStatus, unknownError } from '@anticrm/platform' import { createQuery, getClient } from '@anticrm/presentation' import { CircleButton, IconAdd, Label, Spinner } from '@anticrm/ui' import { Table } from '@anticrm/view-resources' @@ -26,7 +27,6 @@ export let objectId: Ref export let space: Ref export let _class: Ref> - export let noLabel: IntlString = attachment.string.NoAttachments let attachments: Attachment[] = [] @@ -39,6 +39,7 @@ let loading = 0 const client = getClient() + const hierarchy = client.getHierarchy() async function createAttachment (file: File) { loading++ @@ -78,6 +79,7 @@ } let dragover = false + $: classLabel = hierarchy.getClass(_class).label
@@ -120,7 +122,10 @@ >
-
inputFile.click()}> @@ -156,4 +161,8 @@ border: 1px dashed var(--theme-zone-border-lite); border-radius: 0.75rem; } + + .lower { + text-transform: lowercase; + } diff --git a/plugins/lead-resources/src/components/EditLead.svelte b/plugins/lead-resources/src/components/EditLead.svelte index c62d433237..6b90e564c4 100644 --- a/plugins/lead-resources/src/components/EditLead.svelte +++ b/plugins/lead-resources/src/components/EditLead.svelte @@ -14,23 +14,14 @@ // limitations under the License. --> {#if object !== undefined} - { - dispatch('close') - }} - > - - change('title', object.title)} - /> - { + + change('title', object.title)} + /> + { change('customer', object.customer) - }} /> - - -
- -
-
+ }} + /> + {/if} diff --git a/plugins/lead-resources/src/components/KanbanCard.svelte b/plugins/lead-resources/src/components/KanbanCard.svelte index 839e85cc22..dde7c51960 100644 --- a/plugins/lead-resources/src/components/KanbanCard.svelte +++ b/plugins/lead-resources/src/components/KanbanCard.svelte @@ -22,7 +22,7 @@ import { ActionIcon, IconMoreH, showPopup } from '@anticrm/ui' import { ContextMenu } from '@anticrm/view-resources' import lead from '../plugin' - import EditLead from './EditLead.svelte' + import { EditTask } from '@anticrm/task-resources' export let object: WithLookup export let draggable: boolean @@ -32,7 +32,7 @@ } function showLead () { - showPopup(EditLead, { _id: object._id }, 'full') + showPopup(EditTask, { _id: object._id }, 'full') } @@ -63,7 +63,7 @@ }} icon={IconMoreH} size={'small'} - /> + />
diff --git a/plugins/lead-resources/src/components/LeadPresenter.svelte b/plugins/lead-resources/src/components/LeadPresenter.svelte index bacba4aa16..4a534ebeee 100644 --- a/plugins/lead-resources/src/components/LeadPresenter.svelte +++ b/plugins/lead-resources/src/components/LeadPresenter.svelte @@ -16,14 +16,14 @@ diff --git a/plugins/recruit-assets/assets/icons.svg b/plugins/recruit-assets/assets/icons.svg index 5f5925612b..dd8377436c 100644 --- a/plugins/recruit-assets/assets/icons.svg +++ b/plugins/recruit-assets/assets/icons.svg @@ -1,8 +1,4 @@ - - - - @@ -35,4 +31,7 @@ + + + diff --git a/plugins/recruit-assets/lang/en.json b/plugins/recruit-assets/lang/en.json index 933ce554eb..035fdd55f0 100644 --- a/plugins/recruit-assets/lang/en.json +++ b/plugins/recruit-assets/lang/en.json @@ -14,8 +14,7 @@ "CandidatesName": "Pool name *", "MakePrivateDescription": "Only members can see it", "CreateAnApplication": "Create an application", - "NoApplicationsForCandidate": "There are no applications for this candidate.", - "NoAttachmentsForCandidate": "There are no attachments for this candidate." + "NoApplicationsForCandidate": "There are no applications for this candidate." }, "status": { "CandidateRequired": "Please select candidate" diff --git a/plugins/recruit-assets/src/index.ts b/plugins/recruit-assets/src/index.ts index 6f86b94cdd..70149e02e8 100644 --- a/plugins/recruit-assets/src/index.ts +++ b/plugins/recruit-assets/src/index.ts @@ -22,7 +22,8 @@ loadMetadata(recruit.icon, { Vacancy: `${icons}#vacancy`, Location: `${icons}#location`, Calendar: `${icons}#calendar`, - Create: `${icons}#create` + Create: `${icons}#create`, + Application: `${icons}#application` }) addStringsLoader(recruitId, async (lang: string) => await import(`../lang/${lang}.json`)) diff --git a/plugins/recruit-resources/src/components/ApplicantHeader.svelte b/plugins/recruit-resources/src/components/ApplicantHeader.svelte deleted file mode 100644 index 286386abb8..0000000000 --- a/plugins/recruit-resources/src/components/ApplicantHeader.svelte +++ /dev/null @@ -1,55 +0,0 @@ - - - -
- - -
- - diff --git a/plugins/recruit-resources/src/components/ApplicationPresenter.svelte b/plugins/recruit-resources/src/components/ApplicationPresenter.svelte index b2140ca3fc..89c07c606e 100644 --- a/plugins/recruit-resources/src/components/ApplicationPresenter.svelte +++ b/plugins/recruit-resources/src/components/ApplicationPresenter.svelte @@ -13,26 +13,23 @@ // See the License for the specific language governing permissions and // limitations under the License. --> -
-  {shortLabel}-{value.number} +  {shortLabel}-{value.number}
diff --git a/plugins/recruit-resources/src/components/EditApplication.svelte b/plugins/recruit-resources/src/components/EditApplication.svelte index c2bcf40a07..49df29cc0f 100644 --- a/plugins/recruit-resources/src/components/EditApplication.svelte +++ b/plugins/recruit-resources/src/components/EditApplication.svelte @@ -1,70 +1,58 @@ - {#if object !== undefined && candidate !== undefined} - { dispatch('close') }}> - -
- - + +
- -
- -
-
{/if} diff --git a/plugins/task-resources/src/index.ts b/plugins/task-resources/src/index.ts index 7656830e67..1be5b43191 100644 --- a/plugins/task-resources/src/index.ts +++ b/plugins/task-resources/src/index.ts @@ -21,6 +21,7 @@ import CreateProject from './components/CreateProject.svelte' import TaskPresenter from './components/TaskPresenter.svelte' import KanbanCard from './components/KanbanCard.svelte' import TemplatesIcon from './components/TemplatesIcon.svelte' +import EditIssue from './components/EditIssue.svelte' import { Doc } from '@anticrm/core' import { showPopup } from '@anticrm/ui' @@ -34,6 +35,7 @@ export { default as KanbanTemplateEditor } from './components/kanban/KanbanTempl export { default as KanbanTemplateSelector } from './components/kanban/KanbanTemplateSelector.svelte' export { default as Tasks } from './components/Tasks.svelte' +export { default as EditTask } from './components/EditTask.svelte' async function createTask (object: Doc): Promise { showPopup(CreateTask, { parent: object._id, space: object.space }) @@ -48,6 +50,7 @@ export default async (): Promise => ({ CreateTask, CreateProject, TaskPresenter, + EditIssue, KanbanCard, TemplatesIcon, KanbanView, diff --git a/plugins/task-resources/src/plugin.ts b/plugins/task-resources/src/plugin.ts index 6ac900aef9..66339d3257 100644 --- a/plugins/task-resources/src/plugin.ts +++ b/plugins/task-resources/src/plugin.ts @@ -32,7 +32,6 @@ export default mergeIds(taskId, task, { TaskAssignee: '' as IntlString, TaskUnAssign: '' as IntlString, TaskDescription: '' as IntlString, - NoAttachmentsForTask: '' as IntlString, More: '' as IntlString, UploadDropFilesHere: '' as IntlString, NoTaskForObject: '' as IntlString,