@hcengineering/workbench 0.7.0 → 0.7.382
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/plugin.js +2 -1
- package/lib/plugin.js.map +2 -2
- package/lib/types.js.map +2 -2
- package/package.json +12 -12
- package/types/plugin.d.ts +2 -1
- package/types/plugin.d.ts.map +1 -1
- package/types/types.d.ts +14 -0
- package/types/types.d.ts.map +1 -1
package/lib/plugin.js
CHANGED
package/lib/plugin.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/plugin.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright \u00A9 2020, 2021 Anticrm Platform Contributors.\n// Copyright \u00A9 2025 Hardcore Engineering Inc.\n//\n// Licensed under the Eclipse Public License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License. You may\n// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n\nimport type { Class, Doc, Mixin, Ref, Space } from '@hcengineering/core'\nimport type { Asset, IntlString, Metadata, Plugin, Resource } from '@hcengineering/platform'\nimport { plugin } from '@hcengineering/platform'\nimport { AnyComponent, ComponentExtensionId } from '@hcengineering/ui'\nimport { Action, ViewAction } from '@hcengineering/view'\n\nimport type {\n Application,\n ApplicationNavModel,\n HiddenApplication,\n SpaceView,\n Widget,\n WidgetPreference,\n WidgetTab,\n WorkbenchTab\n} from './types'\n\n/** @public */\nexport const workbenchId = 'workbench' as Plugin\n\n/** @public */\nexport const workbenchPlugin = plugin(workbenchId, {\n class: {\n Application: '' as Ref<Class<Application>>,\n ApplicationNavModel: '' as Ref<Class<ApplicationNavModel>>,\n HiddenApplication: '' as Ref<Class<HiddenApplication>>,\n Widget: '' as Ref<Class<Widget>>,\n WidgetPreference: '' as Ref<Class<WidgetPreference>>,\n WorkbenchTab: '' as Ref<Class<WorkbenchTab>>\n },\n mixin: {\n SpaceView: '' as Ref<Mixin<SpaceView>>\n },\n action: {\n CloseCurrentTab: '' as Ref<Action>\n },\n component: {\n WorkbenchApp: '' as AnyComponent,\n InviteLink: '' as AnyComponent,\n Archive: '' as AnyComponent,\n SpecialView: '' as AnyComponent\n },\n string: {\n Archive: '' as IntlString,\n View: '' as IntlString,\n ServerUnderMaintenance: '' as IntlString,\n UpgradeDownloadProgress: '' as IntlString,\n OpenInSidebar: '' as IntlString,\n OpenInSidebarNewTab: '' as IntlString,\n ConfigureWidgets: '' as IntlString,\n WorkspaceIsArchived: '' as IntlString,\n WorkspaceIsMigrating: '' as IntlString\n },\n icon: {\n Search: '' as Asset\n },\n event: {\n NotifyConnection: '' as Metadata<string>,\n NotifyTitle: '' as Metadata<string>\n },\n metadata: {\n PlatformTitle: '' as Metadata<string>,\n ExcludedApplications: '' as Metadata<Ref<Application>[]>,\n ExcludedApplicationsForAnonymous: '' as Metadata<string[]>,\n DefaultApplication: '' as Metadata<string>,\n DefaultSpace: '' as Metadata<Ref<Space>>,\n DefaultSpecial: '' as Metadata<string>,\n // Default for navigation expanded state\n NavigationExpandedDefault: '' as Metadata<boolean>\n },\n extensions: {\n WorkbenchExtensions: '' as ComponentExtensionId,\n WorkbenchTabExtensions: '' as ComponentExtensionId,\n SpecialViewAction: '' as ComponentExtensionId\n },\n function: {\n CreateWidgetTab: '' as Resource<(widget: Widget, tab: WidgetTab, newTab: boolean) => Promise<void>>,\n CloseWidgetTab: '' as Resource<(widget: Widget, tab: string) => Promise<void>>,\n CloseWidget: '' as Resource<(widget: Ref<Widget>) => Promise<void>>,\n GetSidebarObject: '' as Resource<() => Partial<Pick<Doc, '_id' | '_class'>>>,\n LogIn: '' as Resource<(loginInfo: { account: string, token?: string }) => Promise<void>>,\n LogOut: '' as Resource<() => Promise<void>>\n },\n actionImpl: {\n Navigate: '' as ViewAction<{\n mode: 'app' | 'special' | 'space'\n application?: string\n special?: string\n space?: Ref<Space>\n // If no space is selected, select first space from list\n spaceClass?: Ref<Class<Space>>\n spaceSpecial?: string\n }>\n }\n})\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA,sBAAuB;AAgBhB,MAAM,cAAc;AAGpB,MAAM,sBAAkB,wBAAO,aAAa;AAAA,EACjD,OAAO;AAAA,IACL,aAAa;AAAA,IACb,qBAAqB;AAAA,IACrB,mBAAmB;AAAA,IACnB,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,cAAc;AAAA,EAChB;AAAA,EACA,OAAO;AAAA,IACL,WAAW;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACN,iBAAiB;AAAA,EACnB;AAAA,EACA,WAAW;AAAA,IACT,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,aAAa;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,wBAAwB;AAAA,IACxB,yBAAyB;AAAA,IACzB,eAAe;AAAA,IACf,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,sBAAsB;AAAA,EACxB;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,kBAAkB;AAAA,IAClB,aAAa;AAAA,EACf;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,IACf,sBAAsB;AAAA,IACtB,kCAAkC;AAAA,IAClC,oBAAoB;AAAA,IACpB,cAAc;AAAA,IACd,gBAAgB;AAAA;AAAA,IAEhB,2BAA2B;AAAA,EAC7B;AAAA,EACA,YAAY;AAAA,IACV,qBAAqB;AAAA,IACrB,wBAAwB;AAAA,IACxB,mBAAmB;AAAA,EACrB;AAAA,EACA,UAAU;AAAA,IACR,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,OAAO;AAAA,IACP,QAAQ;AAAA,
|
|
4
|
+
"sourcesContent": ["//\n// Copyright \u00A9 2020, 2021 Anticrm Platform Contributors.\n// Copyright \u00A9 2025 Hardcore Engineering Inc.\n//\n// Licensed under the Eclipse Public License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License. You may\n// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n\nimport type { Class, Doc, Mixin, Ref, Space } from '@hcengineering/core'\nimport type { Asset, IntlString, Metadata, Plugin, Resource } from '@hcengineering/platform'\nimport { plugin } from '@hcengineering/platform'\nimport { AnyComponent, ComponentExtensionId, Location } from '@hcengineering/ui'\nimport { Action, ViewAction } from '@hcengineering/view'\n\nimport type {\n Application,\n ApplicationNavModel,\n HiddenApplication,\n SpaceView,\n Widget,\n WidgetPreference,\n WidgetTab,\n WorkbenchTab\n} from './types'\n\n/** @public */\nexport const workbenchId = 'workbench' as Plugin\n\n/** @public */\nexport const workbenchPlugin = plugin(workbenchId, {\n class: {\n Application: '' as Ref<Class<Application>>,\n ApplicationNavModel: '' as Ref<Class<ApplicationNavModel>>,\n HiddenApplication: '' as Ref<Class<HiddenApplication>>,\n Widget: '' as Ref<Class<Widget>>,\n WidgetPreference: '' as Ref<Class<WidgetPreference>>,\n WorkbenchTab: '' as Ref<Class<WorkbenchTab>>\n },\n mixin: {\n SpaceView: '' as Ref<Mixin<SpaceView>>\n },\n action: {\n CloseCurrentTab: '' as Ref<Action>\n },\n component: {\n WorkbenchApp: '' as AnyComponent,\n InviteLink: '' as AnyComponent,\n Archive: '' as AnyComponent,\n SpecialView: '' as AnyComponent\n },\n string: {\n Archive: '' as IntlString,\n View: '' as IntlString,\n ServerUnderMaintenance: '' as IntlString,\n UpgradeDownloadProgress: '' as IntlString,\n OpenInSidebar: '' as IntlString,\n OpenInSidebarNewTab: '' as IntlString,\n ConfigureWidgets: '' as IntlString,\n WorkspaceIsArchived: '' as IntlString,\n WorkspaceIsMigrating: '' as IntlString\n },\n icon: {\n Search: '' as Asset\n },\n event: {\n NotifyConnection: '' as Metadata<string>,\n NotifyTitle: '' as Metadata<string>\n },\n metadata: {\n PlatformTitle: '' as Metadata<string>,\n ExcludedApplications: '' as Metadata<Ref<Application>[]>,\n ExcludedApplicationsForAnonymous: '' as Metadata<string[]>,\n DefaultApplication: '' as Metadata<string>,\n DefaultSpace: '' as Metadata<Ref<Space>>,\n DefaultSpecial: '' as Metadata<string>,\n // Default for navigation expanded state\n NavigationExpandedDefault: '' as Metadata<boolean>\n },\n extensions: {\n WorkbenchExtensions: '' as ComponentExtensionId,\n WorkbenchTabExtensions: '' as ComponentExtensionId,\n SpecialViewAction: '' as ComponentExtensionId\n },\n function: {\n CreateWidgetTab: '' as Resource<(widget: Widget, tab: WidgetTab, newTab: boolean) => Promise<void>>,\n CloseWidgetTab: '' as Resource<(widget: Widget, tab: string) => Promise<void>>,\n CloseWidget: '' as Resource<(widget: Ref<Widget>) => Promise<void>>,\n GetSidebarObject: '' as Resource<() => Partial<Pick<Doc, '_id' | '_class'>>>,\n LogIn: '' as Resource<(loginInfo: { account: string, token?: string }) => Promise<void>>,\n LogOut: '' as Resource<() => Promise<void>>,\n OpenInNewTab: '' as Resource<(loc: Location) => Promise<void>>\n },\n actionImpl: {\n Navigate: '' as ViewAction<{\n mode: 'app' | 'special' | 'space'\n application?: string\n special?: string\n space?: Ref<Space>\n // If no space is selected, select first space from list\n spaceClass?: Ref<Class<Space>>\n spaceSpecial?: string\n }>\n }\n})\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA,sBAAuB;AAgBhB,MAAM,cAAc;AAGpB,MAAM,sBAAkB,wBAAO,aAAa;AAAA,EACjD,OAAO;AAAA,IACL,aAAa;AAAA,IACb,qBAAqB;AAAA,IACrB,mBAAmB;AAAA,IACnB,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,cAAc;AAAA,EAChB;AAAA,EACA,OAAO;AAAA,IACL,WAAW;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,IACN,iBAAiB;AAAA,EACnB;AAAA,EACA,WAAW;AAAA,IACT,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,aAAa;AAAA,EACf;AAAA,EACA,QAAQ;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,wBAAwB;AAAA,IACxB,yBAAyB;AAAA,IACzB,eAAe;AAAA,IACf,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,sBAAsB;AAAA,EACxB;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,IACL,kBAAkB;AAAA,IAClB,aAAa;AAAA,EACf;AAAA,EACA,UAAU;AAAA,IACR,eAAe;AAAA,IACf,sBAAsB;AAAA,IACtB,kCAAkC;AAAA,IAClC,oBAAoB;AAAA,IACpB,cAAc;AAAA,IACd,gBAAgB;AAAA;AAAA,IAEhB,2BAA2B;AAAA,EAC7B;AAAA,EACA,YAAY;AAAA,IACV,qBAAqB;AAAA,IACrB,wBAAwB;AAAA,IACxB,mBAAmB;AAAA,EACrB;AAAA,EACA,UAAU;AAAA,IACR,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,YAAY;AAAA,IACV,UAAU;AAAA,EASZ;AACF,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/lib/types.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/types.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright \u00A9 2020, 2021 Anticrm Platform Contributors.\n// Copyright \u00A9 2025 Hardcore Engineering Inc.\n//\n// Licensed under the Eclipse Public License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License. You may\n// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n\nimport type { AccountRole, AccountUuid, Class, Doc, DocumentQuery, Obj, Ref, Space } from '@hcengineering/core'\nimport { DocNotifyContext, InboxNotification } from '@hcengineering/notification'\nimport type { Asset, IntlString, Resource } from '@hcengineering/platform'\nimport type { Preference } from '@hcengineering/preference'\nimport { AnyComponent, type AnySvelteComponent, Location, ResolvedLocation } from '@hcengineering/ui'\n\n/** @public */\nexport interface LocationData {\n objectId?: Ref<Doc>\n objectClass?: Ref<Class<Doc>>\n name?: string\n nameIntl?: IntlString\n icon?: Asset\n iconComponent?: AnyComponent\n iconProps?: Record<string, any>\n}\n\n/** @public */\nexport interface Application extends Doc {\n label: IntlString\n alias: string\n icon: Asset\n hidden: boolean\n position?: 'top' | 'mid' | 'bottom'\n order?: number\n type?: string // temporary workaround for navigation in card-based application\n\n // Also attached ApplicationNavModel will be joined after this one main.\n navigatorModel?: NavigatorModel\n\n locationResolver?: Resource<(loc: Location) => Promise<ResolvedLocation | undefined>>\n locationDataResolver?: Resource<(loc: Location) => Promise<LocationData>>\n\n // Component will be displayed in case navigator model is not defined, or nothing is selected in navigator model\n component?: AnyComponent\n\n navHeaderComponent?: AnyComponent\n accessLevel?: AccountRole\n navFooterComponent?: AnyComponent\n}\n\n/** @public */\nexport enum WidgetType {\n Fixed = 'fixed', // Fixed sidebar are always visible\n Flexible = 'flexible', // Flexible sidebar are visible only in special cases (during the meeting, etc.)\n Configurable = 'configurable ' // Configurable might be fixed in sidebar by user in preferences\n}\n\n/** @public */\nexport interface Widget extends Doc {\n label: IntlString\n icon: Asset\n type: WidgetType\n\n component: AnyComponent\n tabComponent?: AnyComponent\n switcherComponent?: AnyComponent\n headerLabel?: IntlString\n\n closeIfNoTabs?: boolean\n onTabClose?: Resource<(tab: WidgetTab) => Promise<void>>\n\n accessLevel?: AccountRole\n}\n\n/** @public */\nexport interface WidgetPreference extends Preference {\n enabled: boolean\n}\n\n/** @public */\nexport interface WidgetTab {\n id: string\n name?: string\n label?: IntlString\n icon?: Asset | AnySvelteComponent\n iconComponent?: AnyComponent\n iconProps?: Record<string, any>\n isPinned?: boolean\n allowedPath?: string\n objectId?: Ref<Doc>\n objectClass?: Ref<Class<Doc>>\n data?: Record<string, any>\n readonly?: boolean\n}\n\n/** @public */\nexport interface WorkbenchTab extends Preference {\n attachedTo: AccountUuid\n location: string\n isPinned: boolean\n name?: string\n}\n\n/** @public */\nexport interface ApplicationNavModel extends Doc {\n extends: Ref<Application>\n\n spaces?: SpacesNavModel[]\n specials?: SpecialNavModel[]\n}\n\n/** @public */\nexport interface HiddenApplication extends Preference {\n attachedTo: Ref<Application>\n}\n\n/** @public */\nexport interface SpacesNavModel {\n id: string // Id could be used for extending of navigation model\n label?: IntlString\n spaceClass: Ref<Class<Space>>\n addSpaceLabel?: IntlString\n createComponent?: AnyComponent\n icon?: Asset\n\n // Child special items.\n specials?: SpecialNavModel[]\n\n visibleIf?: Resource<(space: Space) => Promise<boolean>>\n}\n\n/** @public */\nexport interface NavigatorModel {\n spaces: SpacesNavModel[]\n specials?: SpecialNavModel[]\n}\n\n/** @public */\nexport interface SpecialNavModel {\n id: string // Uniq id\n label: IntlString\n icon?: Asset\n accessLevel?: AccountRole\n component: AnyComponent\n componentProps?: Record<string, any>\n // If not top and bottom, position will be sorted alphabetically.\n position?: 'top' | 'bottom' | string // undefined == 'top\n visibleIf?: Resource<(spaces: Space[]) => Promise<boolean>>\n // If defined, will be used to find spaces for visibleIf\n spaceClass?: Ref<Class<Space>>\n checkIsDisabled?: Resource<() => Promise<boolean>>\n notificationsCountProvider?: Resource<\n (inboxNotificationsByContext: Map<Ref<DocNotifyContext>, InboxNotification[]>) => number\n >\n navigationModel?: ParentsNavigationModel\n queryBuilder?: Resource<() => Promise<DocumentQuery<Doc>>>\n}\n\n/** @public */\nexport interface ParentsNavigationModel {\n navigationComponent: AnyComponent\n navigationComponentLabel: IntlString\n navigationComponentIcon?: Asset\n mainComponentLabel: IntlString\n mainComponentIcon?: Asset\n navigationComponentProps?: Record<string, any>\n syncWithLocationQuery?: boolean\n createComponent?: AnyComponent\n createComponentProps?: Record<string, any>\n createButton?: AnyComponent\n}\n\n/** @public */\nexport interface ViewConfiguration {\n class: Ref<Class<Doc>> // show object of this class\n createItemDialog?: AnyComponent\n createItemLabel?: IntlString\n\n // If defined component will be used to render content for selected space.\n component?: AnyComponent\n componentProps?: Record<string, any>\n}\n\n/** @public */\nexport interface SpaceView extends Class<Obj> {\n view: ViewConfiguration\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["//\n// Copyright \u00A9 2020, 2021 Anticrm Platform Contributors.\n// Copyright \u00A9 2025 Hardcore Engineering Inc.\n//\n// Licensed under the Eclipse Public License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License. You may\n// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n\nimport type { AccountRole, AccountUuid, Class, Doc, DocumentQuery, Obj, Ref, Space } from '@hcengineering/core'\nimport { DocNotifyContext, InboxNotification } from '@hcengineering/notification'\nimport type { Asset, IntlString, Resource } from '@hcengineering/platform'\nimport type { Preference } from '@hcengineering/preference'\nimport { AnyComponent, type AnySvelteComponent, Location, ResolvedLocation } from '@hcengineering/ui'\n\n/** @public */\nexport interface LocationData {\n objectId?: Ref<Doc>\n objectClass?: Ref<Class<Doc>>\n name?: string\n nameIntl?: IntlString\n icon?: Asset\n iconComponent?: AnyComponent\n iconProps?: Record<string, any>\n}\n\n/** @public */\nexport interface Application extends Doc {\n label: IntlString\n alias: string\n icon: Asset\n hidden: boolean\n position?: 'top' | 'mid' | 'bottom'\n order?: number\n type?: string // temporary workaround for navigation in card-based application\n\n // Also attached ApplicationNavModel will be joined after this one main.\n navigatorModel?: NavigatorModel\n\n locationResolver?: Resource<(loc: Location) => Promise<ResolvedLocation | undefined>>\n locationDataResolver?: Resource<(loc: Location) => Promise<LocationData>>\n\n // Component will be displayed in case navigator model is not defined, or nothing is selected in navigator model\n component?: AnyComponent\n\n // Component to display below the navigator header\n navHeaderComponent?: AnyComponent\n // Component to display in the actions area of the navigator header\n navHeaderActions?: AnyComponent\n accessLevel?: AccountRole\n navFooterComponent?: AnyComponent\n}\n\n/** @public */\nexport enum WidgetType {\n Fixed = 'fixed', // Fixed sidebar are always visible\n Flexible = 'flexible', // Flexible sidebar are visible only in special cases (during the meeting, etc.)\n Configurable = 'configurable ' // Configurable might be fixed in sidebar by user in preferences\n}\n\n/** @public */\nexport interface Widget extends Doc {\n label: IntlString\n icon: Asset\n type: WidgetType\n\n component: AnyComponent\n tabComponent?: AnyComponent\n switcherComponent?: AnyComponent\n headerLabel?: IntlString\n\n closeIfNoTabs?: boolean\n onTabClose?: Resource<(tab: WidgetTab) => Promise<void>>\n\n accessLevel?: AccountRole\n}\n\n/** @public */\nexport interface WidgetPreference extends Preference {\n enabled: boolean\n}\n\n/** @public */\nexport interface WidgetTab {\n id: string\n name?: string\n label?: IntlString\n icon?: Asset | AnySvelteComponent\n iconComponent?: AnyComponent\n iconProps?: Record<string, any>\n isPinned?: boolean\n allowedPath?: string\n objectId?: Ref<Doc>\n objectClass?: Ref<Class<Doc>>\n data?: Record<string, any>\n readonly?: boolean\n}\n\n/** @public */\nexport interface WorkbenchTab extends Preference {\n attachedTo: AccountUuid\n location: string\n isPinned: boolean\n name?: string\n}\n\n/** @public */\nexport interface ApplicationNavModel extends Doc {\n extends: Ref<Application>\n\n spaces?: SpacesNavModel[]\n specials?: SpecialNavModel[]\n groups?: GroupsNavModel[]\n}\n\n/** @public */\nexport interface HiddenApplication extends Preference {\n attachedTo: Ref<Application>\n}\n\n/** @public */\nexport interface SpacesNavModel {\n id: string // Id could be used for extending of navigation model\n label?: IntlString\n spaceClass: Ref<Class<Space>>\n addSpaceLabel?: IntlString\n createComponent?: AnyComponent\n icon?: Asset\n\n // Child special items.\n specials?: SpecialNavModel[]\n\n visibleIf?: Resource<(space: Space) => Promise<boolean>>\n}\n\n/** @public */\nexport interface GroupsNavModel {\n id: string // Id could be used for extending of navigation model\n label?: IntlString\n groupByClass: Ref<Class<Doc>> // Any class to group by (MasterTag, Project, etc.)\n icon?: Asset\n component?: AnyComponent // Component to render the group navigation (e.g., TypesNavigator)\n\n // Child special items.\n specials?: SpecialNavModel[]\n\n visibleIf?: Resource<(docs: Doc[]) => Promise<boolean>>\n}\n\n/** @public */\nexport interface NavigatorModel {\n spaces: SpacesNavModel[]\n specials?: SpecialNavModel[]\n groups?: GroupsNavModel[]\n hideStarred?: boolean\n}\n\n/** @public */\nexport interface SpecialNavModel {\n id: string // Uniq id\n label: IntlString\n icon?: Asset\n accessLevel?: AccountRole\n component: AnyComponent\n componentProps?: Record<string, any>\n // If not top and bottom, position will be sorted alphabetically.\n position?: 'top' | 'bottom' | string // undefined == 'top\n visibleIf?: Resource<(spaces: Space[]) => Promise<boolean>>\n // If defined, will be used to find spaces for visibleIf\n spaceClass?: Ref<Class<Space>>\n checkIsDisabled?: Resource<() => Promise<boolean>>\n notificationsCountProvider?: Resource<\n (inboxNotificationsByContext: Map<Ref<DocNotifyContext>, InboxNotification[]>) => number\n >\n navigationModel?: ParentsNavigationModel\n queryBuilder?: Resource<() => Promise<DocumentQuery<Doc>>>\n}\n\n/** @public */\nexport interface ParentsNavigationModel {\n navigationComponent: AnyComponent\n navigationComponentLabel: IntlString\n navigationComponentIcon?: Asset\n mainComponentLabel: IntlString\n mainComponentIcon?: Asset\n navigationComponentProps?: Record<string, any>\n syncWithLocationQuery?: boolean\n createComponent?: AnyComponent\n createComponentProps?: Record<string, any>\n createButton?: AnyComponent\n}\n\n/** @public */\nexport interface ViewConfiguration {\n class: Ref<Class<Doc>> // show object of this class\n createItemDialog?: AnyComponent\n createItemLabel?: IntlString\n\n // If defined component will be used to render content for selected space.\n component?: AnyComponent\n componentProps?: Record<string, any>\n}\n\n/** @public */\nexport interface SpaceView extends Class<Obj> {\n view: ViewConfiguration\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA6DO,IAAK,aAAL,kBAAKA,gBAAL;AACL,EAAAA,YAAA,WAAQ;AACR,EAAAA,YAAA,cAAW;AACX,EAAAA,YAAA,kBAAe;AAHL,SAAAA;AAAA,GAAA;",
|
|
6
6
|
"names": ["WidgetType"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hcengineering/workbench",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.382",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"svelte": "src/index.ts",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
@@ -22,27 +22,27 @@
|
|
|
22
22
|
"_phase:validate": "compile validate"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@hcengineering/platform-rig": "
|
|
26
|
-
"@typescript-eslint/eslint-plugin": "^6.
|
|
25
|
+
"@hcengineering/platform-rig": "workspace:^0.7.382",
|
|
26
|
+
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
27
27
|
"eslint-plugin-import": "^2.26.0",
|
|
28
28
|
"eslint-plugin-promise": "^6.1.1",
|
|
29
29
|
"eslint-plugin-n": "^15.4.0",
|
|
30
30
|
"eslint": "^8.54.0",
|
|
31
|
-
"@typescript-eslint/parser": "^6.
|
|
31
|
+
"@typescript-eslint/parser": "^6.21.0",
|
|
32
32
|
"eslint-config-standard-with-typescript": "^40.0.0",
|
|
33
|
-
"prettier": "^3.
|
|
34
|
-
"typescript": "^5.
|
|
33
|
+
"prettier": "^3.6.2",
|
|
34
|
+
"typescript": "^5.9.3",
|
|
35
35
|
"jest": "^29.7.0",
|
|
36
36
|
"ts-jest": "^29.1.1",
|
|
37
37
|
"@types/jest": "^29.5.5"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@hcengineering/core": "
|
|
41
|
-
"@hcengineering/notification": "
|
|
42
|
-
"@hcengineering/platform": "
|
|
43
|
-
"@hcengineering/preference": "
|
|
44
|
-
"@hcengineering/ui": "
|
|
45
|
-
"@hcengineering/view": "
|
|
40
|
+
"@hcengineering/core": "workspace:^0.7.382",
|
|
41
|
+
"@hcengineering/notification": "workspace:^0.7.382",
|
|
42
|
+
"@hcengineering/platform": "workspace:^0.7.382",
|
|
43
|
+
"@hcengineering/preference": "workspace:^0.7.382",
|
|
44
|
+
"@hcengineering/ui": "workspace:^0.7.382",
|
|
45
|
+
"@hcengineering/view": "workspace:^0.7.382"
|
|
46
46
|
},
|
|
47
47
|
"repository": "https://github.com/hcengineering/platform",
|
|
48
48
|
"publishConfig": {
|
package/types/plugin.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Class, Doc, Mixin, Ref, Space } from '@hcengineering/core';
|
|
2
2
|
import type { Asset, IntlString, Metadata, Plugin, Resource } from '@hcengineering/platform';
|
|
3
|
-
import { AnyComponent, ComponentExtensionId } from '@hcengineering/ui';
|
|
3
|
+
import { AnyComponent, ComponentExtensionId, Location } from '@hcengineering/ui';
|
|
4
4
|
import { Action, ViewAction } from '@hcengineering/view';
|
|
5
5
|
import type { Application, ApplicationNavModel, HiddenApplication, SpaceView, Widget, WidgetPreference, WidgetTab, WorkbenchTab } from './types';
|
|
6
6
|
/** @public */
|
|
@@ -69,6 +69,7 @@ export declare const workbenchPlugin: {
|
|
|
69
69
|
token?: string;
|
|
70
70
|
}) => Promise<void>>;
|
|
71
71
|
LogOut: Resource<() => Promise<void>>;
|
|
72
|
+
OpenInNewTab: Resource<(loc: Location) => Promise<void>>;
|
|
72
73
|
};
|
|
73
74
|
actionImpl: {
|
|
74
75
|
Navigate: ViewAction<{
|
package/types/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAE5F,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/types/types.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export interface Application extends Doc {
|
|
|
27
27
|
locationDataResolver?: Resource<(loc: Location) => Promise<LocationData>>;
|
|
28
28
|
component?: AnyComponent;
|
|
29
29
|
navHeaderComponent?: AnyComponent;
|
|
30
|
+
navHeaderActions?: AnyComponent;
|
|
30
31
|
accessLevel?: AccountRole;
|
|
31
32
|
navFooterComponent?: AnyComponent;
|
|
32
33
|
}
|
|
@@ -80,6 +81,7 @@ export interface ApplicationNavModel extends Doc {
|
|
|
80
81
|
extends: Ref<Application>;
|
|
81
82
|
spaces?: SpacesNavModel[];
|
|
82
83
|
specials?: SpecialNavModel[];
|
|
84
|
+
groups?: GroupsNavModel[];
|
|
83
85
|
}
|
|
84
86
|
/** @public */
|
|
85
87
|
export interface HiddenApplication extends Preference {
|
|
@@ -97,9 +99,21 @@ export interface SpacesNavModel {
|
|
|
97
99
|
visibleIf?: Resource<(space: Space) => Promise<boolean>>;
|
|
98
100
|
}
|
|
99
101
|
/** @public */
|
|
102
|
+
export interface GroupsNavModel {
|
|
103
|
+
id: string;
|
|
104
|
+
label?: IntlString;
|
|
105
|
+
groupByClass: Ref<Class<Doc>>;
|
|
106
|
+
icon?: Asset;
|
|
107
|
+
component?: AnyComponent;
|
|
108
|
+
specials?: SpecialNavModel[];
|
|
109
|
+
visibleIf?: Resource<(docs: Doc[]) => Promise<boolean>>;
|
|
110
|
+
}
|
|
111
|
+
/** @public */
|
|
100
112
|
export interface NavigatorModel {
|
|
101
113
|
spaces: SpacesNavModel[];
|
|
102
114
|
specials?: SpecialNavModel[];
|
|
115
|
+
groups?: GroupsNavModel[];
|
|
116
|
+
hideStarred?: boolean;
|
|
103
117
|
}
|
|
104
118
|
/** @public */
|
|
105
119
|
export interface SpecialNavModel {
|
package/types/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC/G,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAErG,cAAc;AACd,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,UAAU,CAAA;IACrB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAChC;AAED,cAAc;AACd,MAAM,WAAW,WAAY,SAAQ,GAAG;IACtC,KAAK,EAAE,UAAU,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,KAAK,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAA;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IAGb,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAA;IACrF,oBAAoB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;IAGzE,SAAS,CAAC,EAAE,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|