From b0abf9348770070b69a465b0412f26a41b2d11ac Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Wed, 22 Mar 2023 09:48:57 +0700 Subject: [PATCH] TSK-885: Fix invalid deps (#2777) Signed-off-by: Andrey Sobolev --- dev/prod/src/platform.ts | 98 +++++++++---------- packages/presentation/lang/en.json | 21 +--- packages/presentation/lang/ru.json | 21 +--- packages/presentation/package.json | 6 -- .../components/IndexedDocumentContent.svelte | 2 +- .../src/components/NavLink.svelte | 2 + .../src/components/ObjectSearchPopup.svelte | 14 ++- .../src/components/PDFViewer.svelte | 7 +- packages/presentation/src/index.ts | 15 --- packages/presentation/src/plugin.ts | 19 +--- packages/presentation/src/utils.ts | 98 ++----------------- packages/text-editor/package.json | 1 - .../src/components/CollaboratorEditor.svelte | 17 ++-- packages/ui/src/index.ts | 1 + .../src/components/FileBrowserFilters.svelte | 14 ++- plugins/attachment-resources/src/index.ts | 4 +- plugins/attachment-resources/src/utils.ts | 10 +- .../src/components/BitrixFieldLookup.svelte | 2 +- .../src/components/CreateMapping.svelte | 2 +- .../src/components/EntityMapping.svelte | 3 +- .../FieldMappingSynchronizer.svelte | 11 +-- .../components/mappings/CopyMapping.svelte | 4 +- .../mappings/CreateChannelMapping.svelte | 7 +- .../mappings/CreateTagMapping.svelte | 4 +- .../mappings/DownloadAttachmentMapping.svelte | 2 +- .../mappings/FindReferenceMapping.svelte | 3 +- .../src/components/Archive.svelte | 3 +- .../src/components/BoardMenu.svelte | 2 +- .../src/components/CreateCard.svelte | 3 +- .../src/components/KanbanCard.svelte | 9 +- .../src/components/UserBoxList.svelte | 9 +- .../components/editor/CardChecklist.svelte | 9 +- .../components/selectors/RankSelect.svelte | 7 +- .../components/selectors/SpaceSelect.svelte | 7 +- .../components/selectors/StateSelect.svelte | 7 +- .../src/components/CalendarView.svelte | 2 +- .../src/components/CreateEvent.svelte | 3 +- .../src/components/CreateReminder.svelte | 3 +- .../src/components/EditEvent.svelte | 3 +- .../src/components/Hour.svelte | 3 +- .../src/components/PersonsPresenter.svelte | 2 +- .../src/components/Comment.svelte | 2 +- .../src/components/CommentPresenter.svelte | 3 +- .../src/components/CreateDirectMessage.svelte | 3 +- .../src/components/DmHeader.svelte | 3 +- .../src/components/EditChannel.svelte | 5 +- .../src/components/Message.svelte | 3 +- .../src/components/PinnedMessagesPopup.svelte | 3 +- .../src/components/Replies.svelte | 2 +- .../src/components/SavedMessages.svelte | 2 +- plugins/contact-assets/lang/en.json | 13 ++- plugins/contact-assets/lang/ru.json | 15 ++- plugins/contact-resources/package.json | 3 +- plugins/contact-resources/src/assignee.ts | 45 +++++++++ .../src/components/AccountArrayEditor.svelte | 3 +- .../src/components/AccountBox.svelte | 3 +- .../src/components/AddMembersPopup.svelte | 8 +- .../src/components/AssigneeBox.svelte | 4 +- .../src/components/AssigneePopup.svelte | 13 +-- .../src/components/Avatar.svelte | 3 +- .../src/components/CombineAvatars.svelte | 2 +- .../src/components/ContactList.svelte | 7 +- .../src/components/CreateEmployee.svelte | 3 +- .../src/components/CreateMember.svelte | 3 +- .../src/components/CreatePerson.svelte | 3 +- .../src/components/EditAvatarPopup.svelte | 8 +- .../src/components/EditEmployee.svelte | 4 +- .../src/components/EditPerson.svelte | 3 +- .../src/components/EditableAvatar.svelte | 1 + .../EmployeeAccountPresenter.svelte | 2 +- .../src/components/EmployeeArrayEditor.svelte | 2 +- .../src/components/EmployeeBox.svelte | 2 +- .../src/components/EmployeeEditor.svelte | 2 +- .../components/EmployeePreviewPopup.svelte | 3 +- .../components/EmployeeRefPresenter.svelte | 2 +- .../src/components/Members.svelte | 4 +- .../src/components/MembersBox.svelte | 6 +- .../src/components/MembersPresenter.svelte | 3 +- .../src/components/MergeEmployee.svelte | 4 +- .../src/components/OrganizationCard.svelte | 3 +- .../src/components/OrganizationEditor.svelte | 2 +- .../src/components/PersonCard.svelte | 3 +- .../src/components/PersonContent.svelte | 2 +- .../src/components/PersonEditor.svelte | 2 +- .../src/components/PersonPresenter.svelte | 10 +- .../src/components/SelectAvatarPopup.svelte | 13 +-- .../src/components/SpaceMembers.svelte | 18 +--- .../src/components/UserBox.svelte | 5 +- .../src/components/UserBoxList.svelte | 11 ++- .../src/components/UserInfo.svelte | 0 .../src/components/UsersPopup.svelte | 5 +- .../src/components/icons/Avatar.svelte | 0 .../src/components/icons/Members.svelte | 0 .../components/icons/MembersOutline.svelte | 0 .../src/components/icons/Person.svelte | 0 plugins/contact-resources/src/index.ts | 31 +++++- plugins/contact-resources/src/plugin.ts | 14 ++- plugins/contact-resources/src/utils.ts | 45 ++++++++- plugins/contact/src/index.ts | 4 +- plugins/document-resources/package.json | 3 +- .../src/components/CreateDocument.svelte | 3 +- .../src/components/DocumentEditor.svelte | 4 +- .../src/components/EditDoc.svelte | 3 +- .../src/components/Connect.svelte | 6 +- plugins/gmail-resources/src/index.ts | 15 +-- plugins/gmail/src/index.ts | 13 ++- .../src/components/CreateDepartment.svelte | 3 +- .../src/components/CreateRequest.svelte | 3 +- .../src/components/DepartmentCard.svelte | 3 +- .../src/components/EditDepartment.svelte | 4 +- .../src/components/CreateProduct.svelte | 7 +- .../src/components/CreateCustomer.svelte | 5 +- .../src/components/CreateLead.svelte | 3 +- .../src/components/EditLead.svelte | 3 +- .../src/components/CreateWorkspaceForm.svelte | 3 +- .../src/components/Join.svelte | 6 +- .../src/components/LoginApp.svelte | 4 +- .../src/components/LoginForm.svelte | 3 +- .../src/components/PasswordRestore.svelte | 3 +- .../src/components/SelectWorkspace.svelte | 3 +- .../src/components/SignupForm.svelte | 3 +- plugins/login-resources/src/utils.ts | 19 ++-- plugins/login/src/index.ts | 5 - .../src/components/NotificationsPopup.svelte | 2 +- .../src/components/CandidateCard.svelte | 3 +- .../src/components/CreateApplication.svelte | 5 +- .../src/components/CreateCandidate.svelte | 9 +- .../src/components/CreateVacancy.svelte | 3 +- .../src/components/KanbanCard.svelte | 2 +- .../components/VacancyTemplateEditor.svelte | 6 +- .../src/components/review/CreateReview.svelte | 3 +- .../src/components/review/EditReview.svelte | 3 +- .../components/review/PersonsPresenter.svelte | 2 +- .../src/components/Profile.svelte | 6 +- .../src/components/Settings.svelte | 4 +- .../typeEditors/DateTypeEditor.svelte | 5 +- .../src/components/CreateTagElement.svelte | 2 +- plugins/task-resources/package.json | 3 +- .../src/components/AssigneePresenter.svelte | 3 +- .../src/components/KanbanCard.svelte | 2 +- .../src/components/TaskHeader.svelte | 3 +- .../kanban/KanbanTemplateSelector.svelte | 2 +- .../src/components/kanban/KanbanView.svelte | 2 +- .../src/components/Connect.svelte | 6 +- .../src/components/Reconnect.svelte | 13 ++- plugins/telegram-resources/src/index.ts | 7 +- plugins/telegram/src/index.ts | 5 +- plugins/templates-resources/package.json | 3 +- .../src/components/EditGroup.svelte | 8 +- .../src/components/AccountPopup.svelte | 5 +- .../components/ComponentTimeline.svelte | 14 --- .../components/components/LeadPopup.svelte | 2 +- .../components/LeadPresenter.svelte | 3 +- .../components/components/NewComponent.svelte | 3 +- .../components/issues/AssigneeEditor.svelte | 3 +- .../issues/AssigneePresenter.svelte | 3 +- .../src/components/issues/IssuesView.svelte | 6 +- .../src/components/issues/KanbanView.svelte | 6 +- .../issues/edit/ControlPanel.svelte | 3 +- .../issues/timereport/EstimationEditor.svelte | 2 +- .../issues/timereport/EstimationPopup.svelte | 2 +- .../timereport/EstimationSubIssueList.svelte | 2 +- .../timereport/SubIssuesEstimations.svelte | 3 +- .../timereport/TimeSpendReportPopup.svelte | 3 +- .../timereport/TimeSpendReportsList.svelte | 4 +- .../components/projects/CreateProject.svelte | 3 +- .../src/components/scrums/NewScrum.svelte | 3 +- .../scrums/ScrumRecordObjects.svelte | 5 +- .../src/components/sprints/NewSprint.svelte | 3 +- .../sprints/SprintLeadPresenter.svelte | 3 +- .../templates/EstimationEditor.svelte | 2 +- .../templates/IssueTemplatesView.svelte | 2 +- .../templates/TemplateControlPanel.svelte | 4 +- .../src/components/workflow/Statuses.svelte | 18 +++- plugins/view-resources/src/index.ts | 7 +- .../src/components/AccountPopup.svelte | 8 +- .../src/components/Workbench.svelte | 10 +- .../src/components/WorkbenchApp.svelte | 9 +- .../workbench-resources}/src/connect.ts | 8 +- plugins/workbench-resources/src/index.ts | 4 +- plugins/workbench-resources/src/plugin.ts | 3 +- pods/server/src/__start.ts | 4 +- products/tracker/src/platform.ts | 8 +- server-plugins/chunter-resources/src/index.ts | 13 ++- server-plugins/contact-resources/src/index.ts | 7 +- .../inventory-resources/src/index.ts | 5 +- server-plugins/lead-resources/src/index.ts | 9 +- server-plugins/recruit-resources/src/index.ts | 7 +- server-plugins/task-resources/src/index.ts | 7 +- server-plugins/tracker-resources/src/index.ts | 7 +- server/core/src/plugin.ts | 5 +- 191 files changed, 673 insertions(+), 622 deletions(-) create mode 100644 plugins/contact-resources/src/assignee.ts rename {packages/presentation => plugins/contact-resources}/src/components/AddMembersPopup.svelte (91%) rename {packages/presentation => plugins/contact-resources}/src/components/AssigneeBox.svelte (97%) rename {packages/presentation => plugins/contact-resources}/src/components/AssigneePopup.svelte (97%) rename {packages/presentation => plugins/contact-resources}/src/components/Avatar.svelte (97%) rename {packages/presentation => plugins/contact-resources}/src/components/CombineAvatars.svelte (97%) rename {packages/presentation => plugins/contact-resources}/src/components/EditAvatarPopup.svelte (90%) rename {packages/presentation => plugins/contact-resources}/src/components/EditableAvatar.svelte (98%) rename {packages/presentation => plugins/contact-resources}/src/components/EmployeeBox.svelte (97%) rename {packages/presentation => plugins/contact-resources}/src/components/MembersBox.svelte (86%) rename {packages/presentation => plugins/contact-resources}/src/components/SelectAvatarPopup.svelte (93%) rename packages/presentation/src/components/Members.svelte => plugins/contact-resources/src/components/SpaceMembers.svelte (91%) rename {packages/presentation => plugins/contact-resources}/src/components/UserBox.svelte (97%) rename {packages/presentation => plugins/contact-resources}/src/components/UserBoxList.svelte (88%) rename {packages/presentation => plugins/contact-resources}/src/components/UserInfo.svelte (100%) rename {packages/presentation => plugins/contact-resources}/src/components/UsersPopup.svelte (94%) rename {packages/presentation => plugins/contact-resources}/src/components/icons/Avatar.svelte (100%) rename {packages/presentation => plugins/contact-resources}/src/components/icons/Members.svelte (100%) rename {packages/presentation => plugins/contact-resources}/src/components/icons/MembersOutline.svelte (100%) rename {packages/presentation => plugins/contact-resources}/src/components/icons/Person.svelte (100%) rename {packages/presentation => plugins/workbench-resources}/src/connect.ts (94%) diff --git a/dev/prod/src/platform.ts b/dev/prod/src/platform.ts index afd0a17742..120132fbee 100644 --- a/dev/prod/src/platform.ts +++ b/dev/prod/src/platform.ts @@ -15,67 +15,66 @@ import { addLocation } from '@hcengineering/platform' -import login, { loginId } from '@hcengineering/login' -import workbench, { workbenchId } from '@hcengineering/workbench' -import uiPlugin from '@hcengineering/ui' -import { viewId } from '@hcengineering/view' -import { taskId } from '@hcengineering/task' -import { contactId } from '@hcengineering/contact' -import { chunterId } from '@hcengineering/chunter' -import { recruitId } from '@hcengineering/recruit' import { activityId } from '@hcengineering/activity' -import { automationId } from '@hcengineering/automation' -import { settingId } from '@hcengineering/setting' -import { telegramId } from '@hcengineering/telegram' import { attachmentId } from '@hcengineering/attachment' -import { leadId } from '@hcengineering/lead' +import { automationId } from '@hcengineering/automation' +import { boardId } from '@hcengineering/board' +import { calendarId } from '@hcengineering/calendar' +import { chunterId } from '@hcengineering/chunter' import { clientId } from '@hcengineering/client' -import { gmailId } from '@hcengineering/gmail' +import { contactId } from '@hcengineering/contact' +import document, { documentId } from '@hcengineering/document' +import gmail, { gmailId } from '@hcengineering/gmail' +import { hrId } from '@hcengineering/hr' import { imageCropperId } from '@hcengineering/image-cropper' import { inventoryId } from '@hcengineering/inventory' -import { templatesId } from '@hcengineering/templates' +import { leadId } from '@hcengineering/lead' +import login, { loginId } from '@hcengineering/login' import { notificationId } from '@hcengineering/notification' -import { preferenceId } from '@hcengineering/preference' -import { tagsId } from '@hcengineering/tags' -import { calendarId } from '@hcengineering/calendar' -import { trackerId } from '@hcengineering/tracker' -import { boardId } from '@hcengineering/board' -import { hrId } from '@hcengineering/hr' -import { requestId } from '@hcengineering/request' +import { recruitId } from '@hcengineering/recruit' import rekoni from '@hcengineering/rekoni' -import document, { documentId } from '@hcengineering/document' +import { requestId } from '@hcengineering/request' +import { settingId } from '@hcengineering/setting' +import { tagsId } from '@hcengineering/tags' +import { taskId } from '@hcengineering/task' +import telegram, { telegramId } from '@hcengineering/telegram' +import { templatesId } from '@hcengineering/templates' +import { trackerId } from '@hcengineering/tracker' +import uiPlugin from '@hcengineering/ui' +import { viewId } from '@hcengineering/view' +import workbench, { workbenchId } from '@hcengineering/workbench' -import bitrix, { bitrixId } from '@hcengineering/bitrix' +import { bitrixId } from '@hcengineering/bitrix' -import '@hcengineering/login-assets' -import '@hcengineering/task-assets' -import '@hcengineering/view-assets' -import '@hcengineering/chunter-assets' -import '@hcengineering/attachment-assets' -import '@hcengineering/contact-assets' -import '@hcengineering/recruit-assets' import '@hcengineering/activity-assets' +import '@hcengineering/attachment-assets' import '@hcengineering/automation-assets' -import '@hcengineering/setting-assets' -import '@hcengineering/telegram-assets' -import '@hcengineering/lead-assets' -import '@hcengineering/gmail-assets' -import '@hcengineering/workbench-assets' -import '@hcengineering/inventory-assets' -import '@hcengineering/templates-assets' -import '@hcengineering/notification-assets' -import '@hcengineering/tags-assets' -import '@hcengineering/calendar-assets' -import '@hcengineering/tracker-assets' -import '@hcengineering/board-assets' -import '@hcengineering/preference-assets' -import '@hcengineering/hr-assets' -import '@hcengineering/document-assets' import '@hcengineering/bitrix-assets' +import '@hcengineering/board-assets' +import '@hcengineering/calendar-assets' +import '@hcengineering/chunter-assets' +import '@hcengineering/contact-assets' +import '@hcengineering/document-assets' +import '@hcengineering/gmail-assets' +import '@hcengineering/hr-assets' +import '@hcengineering/inventory-assets' +import '@hcengineering/lead-assets' +import '@hcengineering/login-assets' +import '@hcengineering/notification-assets' +import '@hcengineering/preference-assets' +import '@hcengineering/recruit-assets' import '@hcengineering/request-assets' +import '@hcengineering/setting-assets' +import '@hcengineering/tags-assets' +import '@hcengineering/task-assets' +import '@hcengineering/telegram-assets' +import '@hcengineering/templates-assets' +import '@hcengineering/tracker-assets' +import '@hcengineering/view-assets' +import '@hcengineering/workbench-assets' -import presentation, { presentationId } from '@hcengineering/presentation' import { coreId } from '@hcengineering/core' +import presentation, { presentationId } from '@hcengineering/presentation' import { textEditorId } from '@hcengineering/text-editor' import { setMetadata } from '@hcengineering/platform' @@ -94,7 +93,7 @@ export async function configurePlatform() { const config: Config = await (await fetch('/config.json')).json() console.log('loading configuration', config) setMetadata(login.metadata.AccountsUrl, config.ACCOUNTS_URL) - setMetadata(login.metadata.UploadUrl, config.UPLOAD_URL) + setMetadata(presentation.metadata.UploadURL, config.UPLOAD_URL) setMetadata(document.metadata.CollaboratorUrl, config.COLLABORATOR_URL) @@ -102,8 +101,9 @@ export async function configurePlatform() { console.log('Minimal Model version requirement', config.MODEL_VERSION) setMetadata(presentation.metadata.RequiredVersion, config.MODEL_VERSION) } - setMetadata(login.metadata.TelegramUrl, config.TELEGRAM_URL ?? 'http://localhost:8086') - setMetadata(login.metadata.GmailUrl, config.GMAIL_URL ?? 'http://localhost:8087') + setMetadata(telegram.metadata.TelegramURL, config.TELEGRAM_URL ?? 'http://localhost:8086') + setMetadata(gmail.metadata.GmailURL, config.GMAIL_URL ?? 'http://localhost:8087') + setMetadata(login.metadata.OverrideEndpoint, process.env.LOGIN_ENDPOINT) setMetadata(rekoni.metadata.RekoniUrl, config.REKONI_URL) diff --git a/packages/presentation/lang/en.json b/packages/presentation/lang/en.json index 4cc368e70d..2d93d41664 100644 --- a/packages/presentation/lang/en.json +++ b/packages/presentation/lang/en.json @@ -12,33 +12,20 @@ "AddSocialLinks": "Add social links", "EditSocialLinks": "Edit social links", "Change": "Change", - "Remove": "Remove", - "Members": "Members", + "Remove": "Remove", "Search": "Search...", - "Spaces": "Spaces", - "Unassigned": "Unassigned", - "CreateMore": "Create more", - "NumberMembers": "{count, plural, =0 {no members} =1 {1 member} other {# members}}", + "Spaces": "Spaces", + "CreateMore": "Create more", "NumberSpaces": "{count, plural, =0 {In} =1 {In 1 place} other {In # places}}", "InThis": "In this {space}", "NoMatchesInThis": "No matches in this {space}", "NoMatchesFound": "No matches found", "NotInThis": "Not in this {space}", "Add": "Add", - "Edit": "Edit", - "SelectAvatar": "Select avatar", - "GravatarsManaged": "Gravatars are managed through", - "CategoryCurrentUser": "Current user", - "Assigned": "Assigned", - "CategoryPreviousAssigned": "Previously assigned", - "CategoryProjectLead": "Project lead", - "CategoryProjectMembers": "Project members", - "CategoryOther": "Other", - "InltPropsValue": "{value}", + "Edit": "Edit", "DocumentPreview": "Preview", "MakePrivate": "Make private", "MakePrivateDescription": "Only members can see it", - "AddMembersHeader": "Add members to {value}:", "OpenInANewTab": "Open in a new tab" } } diff --git a/packages/presentation/lang/ru.json b/packages/presentation/lang/ru.json index e96d4ba518..08078b84fb 100644 --- a/packages/presentation/lang/ru.json +++ b/packages/presentation/lang/ru.json @@ -12,33 +12,20 @@ "AddSocialLinks": "Добавить контактную информацию", "EditSocialLinks": "Редактировать контактную информацию", "Change": "Изменить", - "Remove": "Удалить", - "Members": "Участники", + "Remove": "Удалить", "Search": "Поиск...", - "Spaces": "Пространства", - "Unassigned": "Не назначен", - "CreateMore": "Создать еще", - "NumberMembers": "{count, plural, =0 {нет участников} =1 {1 участник} =2 {2 участника} =3 {3 участника} =4 {4 участника} other {# участников}}", + "Spaces": "Пространства", + "CreateMore": "Создать еще", "NumberSpaces": "{count, plural, =0 {В} =1 {В 1 месте} other {В # местах}}", "InThis": "В этом {space}", "NoMatchesInThis": "В этом {space} совпадения не обнаружены", "NoMatchesFound": "Не найдено соответствий", "NotInThis": "Не в этом {space}", "Add": "Добавить", - "Edit": "Редактировать", - "SelectAvatar": "Выбрать аватар", - "GravatarsManaged": "Граватары управляются через", - "CategoryCurrentUser": "Текущий пользователь", - "Assigned": "Назначен", - "CategoryPreviousAssigned": "Ранее назначенные", - "CategoryProjectLead": "Руководитель проекта", - "CategoryProjectMembers": "Участники проекта", - "CategoryOther": "Прочие", - "InltPropsValue": "{value}", + "Edit": "Редактировать", "DocumentPreview": "Предпросмотр", "MakePrivate": "Сделать личным", "MakePrivateDescription": "Только пользователи могут видеть это", - "AddMembersHeader": "Добавить пользователей в {value}:", "OpenInANewTab": "Открыть в новой вкладке" } } diff --git a/packages/presentation/package.json b/packages/presentation/package.json index 50ff9e1975..f9cda034f4 100644 --- a/packages/presentation/package.json +++ b/packages/presentation/package.json @@ -32,19 +32,13 @@ "typescript": "^4.3.5" }, "dependencies": { - "@hcengineering/attachment": "^0.6.1", "@hcengineering/platform": "^0.6.8", "@hcengineering/core": "^0.6.21", "@hcengineering/query": "^0.6.1", "@hcengineering/ui": "^0.6.3", "@hcengineering/view": "^0.6.2", "svelte": "^3.47", - "@hcengineering/contact": "^0.6.11", - "@hcengineering/login": "^0.6.1", - "@hcengineering/image-cropper": "^0.6.0", "@hcengineering/client": "^0.6.6", - "@hcengineering/setting": "^0.6.2", - "@hcengineering/workbench": "^0.6.2", "fast-equals": "^2.0.3" } } diff --git a/packages/presentation/src/components/IndexedDocumentContent.svelte b/packages/presentation/src/components/IndexedDocumentContent.svelte index aca8ff1086..a7990cb6f3 100644 --- a/packages/presentation/src/components/IndexedDocumentContent.svelte +++ b/packages/presentation/src/components/IndexedDocumentContent.svelte @@ -2,7 +2,7 @@ import { AnyAttribute, DocIndexState, extractDocKey, isFullTextAttribute } from '@hcengineering/core' import { Label } from '@hcengineering/ui' - import Icon from '@hcengineering/ui/src/components/Icon.svelte' + import { Icon } from '@hcengineering/ui' import { getClient } from '../utils' export let indexDoc: DocIndexState diff --git a/packages/presentation/src/components/NavLink.svelte b/packages/presentation/src/components/NavLink.svelte index 31958c7b06..b4ea58ea23 100644 --- a/packages/presentation/src/components/NavLink.svelte +++ b/packages/presentation/src/components/NavLink.svelte @@ -25,6 +25,8 @@ function clickHandler (e: MouseEvent) { if (disableClick) return if (onClick) { + e.preventDefault() + e.stopPropagation() onClick(e) } else if (href !== undefined) { try { diff --git a/packages/presentation/src/components/ObjectSearchPopup.svelte b/packages/presentation/src/components/ObjectSearchPopup.svelte index 5469be78c5..0cca0742ba 100644 --- a/packages/presentation/src/components/ObjectSearchPopup.svelte +++ b/packages/presentation/src/components/ObjectSearchPopup.svelte @@ -37,6 +37,7 @@ export let label: IntlString | undefined = undefined export let relatedDocuments: RelatedDocument[] | undefined = undefined export let ignore: RelatedDocument[] | undefined = undefined + export let allowCategory: Ref[] | undefined let items: ObjectSearchResult[] = [] @@ -45,10 +46,15 @@ const client = getClient() let category: ObjectSearchCategory | undefined - client.findAll(presentation.class.ObjectSearchCategory, {}).then((r) => { - categories = r - category = categories[0] - }) + client + .findAll( + presentation.class.ObjectSearchCategory, + allowCategory !== undefined ? { _id: { $in: allowCategory } } : {} + ) + .then((r) => { + categories = r + category = categories[0] + }) const dispatch = createEventDispatcher() diff --git a/packages/presentation/src/components/PDFViewer.svelte b/packages/presentation/src/components/PDFViewer.svelte index b7bee6f964..d8404b5729 100644 --- a/packages/presentation/src/components/PDFViewer.svelte +++ b/packages/presentation/src/components/PDFViewer.svelte @@ -13,9 +13,8 @@ // limitations under the License. --> - + diff --git a/plugins/board-resources/src/components/editor/CardChecklist.svelte b/plugins/board-resources/src/components/editor/CardChecklist.svelte index 743dd2ebfa..ecad394e0d 100644 --- a/plugins/board-resources/src/components/editor/CardChecklist.svelte +++ b/plugins/board-resources/src/components/editor/CardChecklist.svelte @@ -13,24 +13,25 @@ // limitations under the License. --> +
[] diff --git a/packages/presentation/src/components/EmployeeBox.svelte b/plugins/contact-resources/src/components/EmployeeBox.svelte similarity index 97% rename from packages/presentation/src/components/EmployeeBox.svelte rename to plugins/contact-resources/src/components/EmployeeBox.svelte index 627585213b..f353505b26 100644 --- a/packages/presentation/src/components/EmployeeBox.svelte +++ b/plugins/contact-resources/src/components/EmployeeBox.svelte @@ -18,7 +18,7 @@ import type { Class, DocumentQuery, FindOptions, Ref } from '@hcengineering/core' import type { IntlString } from '@hcengineering/platform' import { ButtonKind, ButtonSize, LabelAndProps } from '@hcengineering/ui' - import presentation from '..' + import presentation from '@hcengineering/presentation' import IconPerson from './icons/Person.svelte' import UserBox from './UserBox.svelte' diff --git a/plugins/contact-resources/src/components/EmployeeEditor.svelte b/plugins/contact-resources/src/components/EmployeeEditor.svelte index 1828316232..f75d479b97 100644 --- a/plugins/contact-resources/src/components/EmployeeEditor.svelte +++ b/plugins/contact-resources/src/components/EmployeeEditor.svelte @@ -16,9 +16,9 @@ import { Employee } from '@hcengineering/contact' import { DocumentQuery, Ref, RefTo } from '@hcengineering/core' import { IntlString } from '@hcengineering/platform' - import { EmployeeBox } from '@hcengineering/presentation' import contact from '../plugin' import { ButtonKind, ButtonSize } from '@hcengineering/ui' + import EmployeeBox from './EmployeeBox.svelte' export let value: Ref | undefined export let label: IntlString = contact.string.Employee diff --git a/plugins/contact-resources/src/components/EmployeePreviewPopup.svelte b/plugins/contact-resources/src/components/EmployeePreviewPopup.svelte index 3223ffefce..caf11f9991 100644 --- a/plugins/contact-resources/src/components/EmployeePreviewPopup.svelte +++ b/plugins/contact-resources/src/components/EmployeePreviewPopup.svelte @@ -1,7 +1,8 @@ {#if selectedAvatarType === AvatarType.IMAGE} +
@@ -175,7 +176,7 @@ {/if} {#if selectedAvatarType === AvatarType.GRAVATAR} - {/if} diff --git a/packages/presentation/src/components/Members.svelte b/plugins/contact-resources/src/components/SpaceMembers.svelte similarity index 91% rename from packages/presentation/src/components/Members.svelte rename to plugins/contact-resources/src/components/SpaceMembers.svelte index d21dd85820..f381035ec7 100644 --- a/packages/presentation/src/components/Members.svelte +++ b/plugins/contact-resources/src/components/SpaceMembers.svelte @@ -15,18 +15,15 @@ {#if $location.path[0] === workbenchId || $location.path[0] === workbench.component.WorkbenchApp} @@ -34,7 +33,7 @@
{:else if client} - + {/if} {:catch error} diff --git a/packages/presentation/src/connect.ts b/plugins/workbench-resources/src/connect.ts similarity index 94% rename from packages/presentation/src/connect.ts rename to plugins/workbench-resources/src/connect.ts index 529f6de038..e87ca980fe 100644 --- a/packages/presentation/src/connect.ts +++ b/plugins/workbench-resources/src/connect.ts @@ -3,8 +3,8 @@ import contact from '@hcengineering/contact' import core, { Client, setCurrentAccount, Version } from '@hcengineering/core' import login, { loginId } from '@hcengineering/login' import { getMetadata, getResource, setMetadata } from '@hcengineering/platform' +import presentation, { setClient } from '@hcengineering/presentation' import { fetchMetadataLocalStorage, getCurrentLocation, navigate, setMetadataLocalStorage } from '@hcengineering/ui' -import presentation from './plugin' export let versionError: string | undefined = '' @@ -14,7 +14,8 @@ export async function connect (title: string): Promise { if (ws === undefined) return const tokens: Record = fetchMetadataLocalStorage(login.metadata.LoginTokens) ?? {} const token = tokens[ws] - setMetadata(login.metadata.LoginToken, token) + setMetadata(presentation.metadata.Token, token) + const endpoint = fetchMetadataLocalStorage(login.metadata.LoginEndpoint) const email = fetchMetadataLocalStorage(login.metadata.LoginEmail) @@ -84,6 +85,7 @@ export async function connect (title: string): Promise { // Update window title document.title = [ws, title].filter((it) => it).join(' - ') + setClient(instance) return instance } function clearMetadata (ws: string): void { @@ -94,7 +96,7 @@ function clearMetadata (ws: string): void { delete tokens[loc.path[1]] setMetadataLocalStorage(login.metadata.LoginTokens, tokens) } - setMetadata(login.metadata.LoginToken, null) + setMetadata(presentation.metadata.Token, null) setMetadataLocalStorage(login.metadata.LoginEndpoint, null) setMetadataLocalStorage(login.metadata.LoginEmail, null) } diff --git a/plugins/workbench-resources/src/index.ts b/plugins/workbench-resources/src/index.ts index b96ac53ab3..21a994e998 100644 --- a/plugins/workbench-resources/src/index.ts +++ b/plugins/workbench-resources/src/index.ts @@ -22,6 +22,7 @@ import SpaceBrowser from './components/SpaceBrowser.svelte' import SpecialView from './components/SpecialView.svelte' import WorkbenchApp from './components/WorkbenchApp.svelte' import { doNavigate } from './utils' +import Workbench from './components/Workbench.svelte' async function hasArchiveSpaces (spaces: Space[]): Promise { return spaces.find((sp) => sp.archived) !== undefined @@ -36,7 +37,8 @@ export default async (): Promise => ({ Archive, SpacePanel, SpecialView, - SpaceBrowser + SpaceBrowser, + Workbench }, function: { HasArchiveSpaces: hasArchiveSpaces diff --git a/plugins/workbench-resources/src/plugin.ts b/plugins/workbench-resources/src/plugin.ts index 7947c346b5..dfa6aca9e8 100644 --- a/plugins/workbench-resources/src/plugin.ts +++ b/plugins/workbench-resources/src/plugin.ts @@ -48,6 +48,7 @@ export default mergeIds(workbenchId, workbench, { OpenInNewTab: '' as IntlString }, component: { - SpacePanel: '' as AnyComponent + SpacePanel: '' as AnyComponent, + Workbench: '' as AnyComponent } }) diff --git a/pods/server/src/__start.ts b/pods/server/src/__start.ts index 0d3f8adf9f..a517b354ea 100644 --- a/pods/server/src/__start.ts +++ b/pods/server/src/__start.ts @@ -15,9 +15,9 @@ // // Add this to the VERY top of the first file loaded in your app -import login from '@hcengineering/login' import { setMetadata } from '@hcengineering/platform' import serverToken from '@hcengineering/server-token' +import serverCore from '@hcengineering/server-core' import { start } from '.' const serverPort = parseInt(process.env.SERVER_PORT ?? '3333') @@ -76,7 +76,7 @@ if (frontUrl === undefined) { process.exit(1) } -setMetadata(login.metadata.FrontUrl, frontUrl) +setMetadata(serverCore.metadata.FrontUrl, frontUrl) setMetadata(serverToken.metadata.Secret, serverSecret) // eslint-disable-next-line @typescript-eslint/no-floating-promises diff --git a/products/tracker/src/platform.ts b/products/tracker/src/platform.ts index 8932232d38..1840edc1f4 100644 --- a/products/tracker/src/platform.ts +++ b/products/tracker/src/platform.ts @@ -24,10 +24,10 @@ import contact, { contactId } from '@hcengineering/contact' import { chunterId } from '@hcengineering/chunter' import { activityId } from '@hcengineering/activity' import { settingId } from '@hcengineering/setting' -import { telegramId } from '@hcengineering/telegram' +import telegram, { telegramId } from '@hcengineering/telegram' import { attachmentId } from '@hcengineering/attachment' import client, { clientId } from '@hcengineering/client' -import { gmailId } from '@hcengineering/gmail' +import gmail, { gmailId } from '@hcengineering/gmail' import { imageCropperId } from '@hcengineering/image-cropper' import { templatesId } from '@hcengineering/templates' import { notificationId } from '@hcengineering/notification' @@ -65,8 +65,8 @@ export async function configurePlatform() { console.log('Minimal Model version requirement', config.MODEL_VERSION) setMetadata(presentation.metadata.RequiredVersion, config.MODEL_VERSION) } - setMetadata(login.metadata.TelegramUrl, process.env.TELEGRAM_URL ?? 'http://localhost:8086') - setMetadata(login.metadata.GmailUrl, process.env.GMAIL_URL ?? 'http://localhost:8087') + setMetadata(telegram.metadata.TelegramURL, process.env.TELEGRAM_URL ?? 'http://localhost:8086') + setMetadata(gmail.metadata.GmailURL, process.env.GMAIL_URL ?? 'http://localhost:8087') setMetadata(login.metadata.OverrideEndpoint, process.env.LOGIN_ENDPOINT) setMetadata(uiPlugin.metadata.DefaultApplication, workbench.component.WorkbenchApp) diff --git a/server-plugins/chunter-resources/src/index.ts b/server-plugins/chunter-resources/src/index.ts index fa4e7f3a7e..19fa9909e9 100644 --- a/server-plugins/chunter-resources/src/index.ts +++ b/server-plugins/chunter-resources/src/index.ts @@ -24,6 +24,7 @@ import chunter, { import { EmployeeAccount } from '@hcengineering/contact' import core, { Class, + concatLink, Doc, DocumentQuery, FindOptions, @@ -31,27 +32,25 @@ import core, { Hierarchy, Ref, Tx, + TxCollectionCUD, TxCreateDoc, TxProcessor, - TxUpdateDoc, TxRemoveDoc, - TxCollectionCUD, - concatLink + TxUpdateDoc } from '@hcengineering/core' -import login from '@hcengineering/login' +import notification from '@hcengineering/notification' import { getMetadata } from '@hcengineering/platform' -import { TriggerControl } from '@hcengineering/server-core' +import serverCore, { TriggerControl } from '@hcengineering/server-core' import { workbenchId } from '@hcengineering/workbench' import { getEmployeeAccountById } from '../../notification' import { createNotificationTxes } from '../../notification-resources' -import notification from '@hcengineering/notification' /** * @public */ export async function channelHTMLPresenter (doc: Doc, control: TriggerControl): Promise { const channel = doc as ChunterSpace - const front = getMetadata(login.metadata.FrontUrl) ?? '' + const front = getMetadata(serverCore.metadata.FrontUrl) ?? '' const path = `${workbenchId}/${control.workspace.name}/${chunterId}/${channel._id}` const link = concatLink(front, path) return `${channel.name}` diff --git a/server-plugins/contact-resources/src/index.ts b/server-plugins/contact-resources/src/index.ts index 7b117852ea..a913b387b1 100644 --- a/server-plugins/contact-resources/src/index.ts +++ b/server-plugins/contact-resources/src/index.ts @@ -30,9 +30,8 @@ import core, { TxRemoveDoc, TxUpdateDoc } from '@hcengineering/core' -import login from '@hcengineering/login' import { getMetadata } from '@hcengineering/platform' -import type { TriggerControl } from '@hcengineering/server-core' +import serverCore, { TriggerControl } from '@hcengineering/server-core' import { workbenchId } from '@hcengineering/workbench' /** @@ -275,7 +274,7 @@ export async function OnEmployeeUpdate (tx: Tx, control: TriggerControl): Promis */ export async function personHTMLPresenter (doc: Doc, control: TriggerControl): Promise { const person = doc as Person - const front = getMetadata(login.metadata.FrontUrl) ?? '' + const front = getMetadata(serverCore.metadata.FrontUrl) ?? '' const path = `${workbenchId}/${control.workspace.name}/${contactId}/${doc._id}` const link = concatLink(front, path) return `${getName(person)}` @@ -294,7 +293,7 @@ export function personTextPresenter (doc: Doc): string { */ export async function organizationHTMLPresenter (doc: Doc, control: TriggerControl): Promise { const organization = doc as Organization - const front = getMetadata(login.metadata.FrontUrl) ?? '' + const front = getMetadata(serverCore.metadata.FrontUrl) ?? '' const path = `${workbenchId}/${control.workspace.name}/${contactId}/${doc._id}` const link = concatLink(front, path) return `${organization.name}` diff --git a/server-plugins/inventory-resources/src/index.ts b/server-plugins/inventory-resources/src/index.ts index bd803a8930..4f42a3f2d9 100644 --- a/server-plugins/inventory-resources/src/index.ts +++ b/server-plugins/inventory-resources/src/index.ts @@ -15,9 +15,8 @@ import { concatLink, Doc } from '@hcengineering/core' import { inventoryId, Product } from '@hcengineering/inventory' -import login from '@hcengineering/login' import { getMetadata } from '@hcengineering/platform' -import { TriggerControl } from '@hcengineering/server-core' +import serverCore, { TriggerControl } from '@hcengineering/server-core' import view from '@hcengineering/view' import { workbenchId } from '@hcengineering/workbench' @@ -26,7 +25,7 @@ import { workbenchId } from '@hcengineering/workbench' */ export async function productHTMLPresenter (doc: Doc, control: TriggerControl): Promise { const product = doc as Product - const front = getMetadata(login.metadata.FrontUrl) ?? '' + const front = getMetadata(serverCore.metadata.FrontUrl) ?? '' const path = `${workbenchId}/${control.workspace.name}/${inventoryId}/Products/#${view.component.EditDoc}|${product._id}|${product._class}|content` const link = concatLink(front, path) return `${product.name}` diff --git a/server-plugins/lead-resources/src/index.ts b/server-plugins/lead-resources/src/index.ts index 4c1cf9663c..af558fe15a 100644 --- a/server-plugins/lead-resources/src/index.ts +++ b/server-plugins/lead-resources/src/index.ts @@ -24,20 +24,19 @@ import core, { TxProcessor, TxUpdateDoc } from '@hcengineering/core' -import lead, { leadId, Lead } from '@hcengineering/lead' -import login from '@hcengineering/login' +import lead, { Lead, leadId } from '@hcengineering/lead' import { getMetadata } from '@hcengineering/platform' -import { TriggerControl } from '@hcengineering/server-core' +import serverCore, { TriggerControl } from '@hcengineering/server-core' +import { addAssigneeNotification } from '@hcengineering/server-task-resources' import view from '@hcengineering/view' import { workbenchId } from '@hcengineering/workbench' -import { addAssigneeNotification } from '@hcengineering/server-task-resources' /** * @public */ export async function leadHTMLPresenter (doc: Doc, control: TriggerControl): Promise { const lead = doc as Lead - const front = getMetadata(login.metadata.FrontUrl) ?? '' + const front = getMetadata(serverCore.metadata.FrontUrl) ?? '' const path = `${workbenchId}/${control.workspace.name}/${leadId}/${lead.space}/#${view.component.EditDoc}|${lead._id}|${lead._class}|content` const link = concatLink(front, path) return `${lead.title}` diff --git a/server-plugins/recruit-resources/src/index.ts b/server-plugins/recruit-resources/src/index.ts index 6a3d34978e..d6b9005311 100644 --- a/server-plugins/recruit-resources/src/index.ts +++ b/server-plugins/recruit-resources/src/index.ts @@ -26,10 +26,9 @@ import core, { TxRemoveDoc, TxUpdateDoc } from '@hcengineering/core' -import login from '@hcengineering/login' import { getMetadata } from '@hcengineering/platform' import recruit, { Applicant, recruitId, Vacancy } from '@hcengineering/recruit' -import { TriggerControl } from '@hcengineering/server-core' +import serverCore, { TriggerControl } from '@hcengineering/server-core' import { addAssigneeNotification } from '@hcengineering/server-task-resources' import { workbenchId } from '@hcengineering/workbench' @@ -50,7 +49,7 @@ function getSequenceId (doc: Vacancy | Applicant, control: TriggerControl): stri */ export async function vacancyHTMLPresenter (doc: Doc, control: TriggerControl): Promise { const vacancy = doc as Vacancy - const front = getMetadata(login.metadata.FrontUrl) ?? '' + const front = getMetadata(serverCore.metadata.FrontUrl) ?? '' const path = `${workbenchId}/${control.workspace.name}/${recruitId}/${getSequenceId(vacancy, control)}` const link = concatLink(front, path) return `${vacancy.name}` @@ -69,7 +68,7 @@ export async function vacancyTextPresenter (doc: Doc): Promise { */ export async function applicationHTMLPresenter (doc: Doc, control: TriggerControl): Promise { const applicant = doc as Applicant - const front = getMetadata(login.metadata.FrontUrl) ?? '' + const front = getMetadata(serverCore.metadata.FrontUrl) ?? '' const id = getSequenceId(applicant, control) const path = `${workbenchId}/${control.workspace.name}/${recruitId}/${id}` const link = concatLink(front, path) diff --git a/server-plugins/task-resources/src/index.ts b/server-plugins/task-resources/src/index.ts index 9e4d3cf9c3..9889564151 100644 --- a/server-plugins/task-resources/src/index.ts +++ b/server-plugins/task-resources/src/index.ts @@ -24,10 +24,9 @@ import core, { TxProcessor, TxUpdateDoc } from '@hcengineering/core' -import login from '@hcengineering/login' import { NotificationAction } from '@hcengineering/notification' import { getMetadata, Resource } from '@hcengineering/platform' -import { TriggerControl } from '@hcengineering/server-core' +import serverCore, { TriggerControl } from '@hcengineering/server-core' import { getEmployeeAccount, getEmployeeAccountById, getUpdateLastViewTx } from '@hcengineering/server-notification' import { createNotificationTxes } from '@hcengineering/server-notification-resources' import task, { Issue, Task, taskId } from '@hcengineering/task' @@ -39,7 +38,7 @@ import { workbenchId } from '@hcengineering/workbench' */ export async function issueHTMLPresenter (doc: Doc, control: TriggerControl): Promise { const issue = doc as Issue - const front = getMetadata(login.metadata.FrontUrl) ?? '' + const front = getMetadata(serverCore.metadata.FrontUrl) ?? '' const path = `${workbenchId}/${control.workspace.name}/${taskId}/${issue.space}/#${view.component.EditDoc}|${issue._id}|${issue._class}|content` const link = concatLink(front, path) return `Task-${issue.number}` @@ -123,7 +122,7 @@ export async function OnTaskUpdate (tx: Tx, control: TriggerControl): Promise { const issueName = await issueTextPresenter(doc, control) - const front = getMetadata(login.metadata.FrontUrl) ?? '' + const front = getMetadata(serverCore.metadata.FrontUrl) ?? '' const path = `${workbenchId}/${control.workspace.name}/${trackerId}/${issueName}` const link = concatLink(front, path) return `${issueName}` diff --git a/server/core/src/plugin.ts b/server/core/src/plugin.ts index 57446fbfe6..a0db3b361d 100644 --- a/server/core/src/plugin.ts +++ b/server/core/src/plugin.ts @@ -14,7 +14,7 @@ // limitations under the License. // -import type { Plugin } from '@hcengineering/platform' +import type { Metadata, Plugin } from '@hcengineering/platform' import { plugin } from '@hcengineering/platform' import type { Class, Ref, Space } from '@hcengineering/core' @@ -40,6 +40,9 @@ const serverCore = plugin(serverCoreId, { space: { DocIndexState: '' as Ref, TriggerState: '' as Ref + }, + metadata: { + FrontUrl: '' as Metadata } })