@teambit/workspace 0.0.867 → 0.0.869
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/component-tree.widget.tsx +5 -11
- package/dist/component-tree.widget.d.ts +1 -1
- package/dist/component-tree.widget.js +4 -17
- package/dist/component-tree.widget.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/workspace-component/workspace-component-loader.js.map +1 -1
- package/dist/workspace.js +3 -1
- package/dist/workspace.js.map +1 -1
- package/dist/workspace.ui.drawer.js +40 -9
- package/dist/workspace.ui.drawer.js.map +1 -1
- package/dist/workspace.ui.runtime.js +12 -2
- package/dist/workspace.ui.runtime.js.map +1 -1
- package/package-tar/teambit-workspace-0.0.869.tgz +0 -0
- package/package.json +34 -32
- package/{preview-1664721514780.js → preview-1664813308287.js} +2 -2
- package/workspace-component/workspace-component-loader.ts +1 -1
- package/workspace.ui.drawer.tsx +28 -5
- package/workspace.ui.runtime.tsx +12 -8
- package/package-tar/teambit-workspace-0.0.867.tgz +0 -0
|
@@ -18,7 +18,7 @@ function _extends2() {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
function _react() {
|
|
21
|
-
const data =
|
|
21
|
+
const data = _interopRequireDefault(require("react"));
|
|
22
22
|
|
|
23
23
|
_react = function () {
|
|
24
24
|
return data;
|
|
@@ -47,19 +47,25 @@ function _uiFoundationUi() {
|
|
|
47
47
|
return data;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
function
|
|
51
|
-
const data = require("
|
|
50
|
+
function _lanesHooks() {
|
|
51
|
+
const data = require("@teambit/lanes.hooks.use-lanes");
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
_lanesHooks = function () {
|
|
54
54
|
return data;
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
return data;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
function
|
|
60
|
+
function _lanesHooks2() {
|
|
61
|
+
const data = require("@teambit/lanes.hooks.use-lane-components");
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
_lanesHooks2 = function () {
|
|
64
|
+
return data;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
return data;
|
|
68
|
+
}
|
|
63
69
|
|
|
64
70
|
const workspaceDrawer = ({
|
|
65
71
|
treeWidgets,
|
|
@@ -87,14 +93,39 @@ const workspaceDrawer = ({
|
|
|
87
93
|
},
|
|
88
94
|
emptyMessage: 'Workspace is empty',
|
|
89
95
|
useComponents: () => {
|
|
90
|
-
|
|
96
|
+
var _lanesModel$viewedLan;
|
|
97
|
+
|
|
98
|
+
const {
|
|
99
|
+
lanesModel,
|
|
100
|
+
loading: lanesLoading
|
|
101
|
+
} = (0, _lanesHooks().useLanes)();
|
|
102
|
+
const viewedLaneId = lanesModel === null || lanesModel === void 0 ? void 0 : (_lanesModel$viewedLan = lanesModel.viewedLane) === null || _lanesModel$viewedLan === void 0 ? void 0 : _lanesModel$viewedLan.id;
|
|
103
|
+
const defaultLane = lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.getDefaultLane();
|
|
104
|
+
const isViewingDefaultLane = viewedLaneId && (defaultLane === null || defaultLane === void 0 ? void 0 : defaultLane.id.isEqual(viewedLaneId));
|
|
105
|
+
const {
|
|
106
|
+
components: laneComponents = [],
|
|
107
|
+
loading: laneCompsLoading
|
|
108
|
+
} = (0, _lanesHooks2().useLaneComponents)(viewedLaneId);
|
|
109
|
+
const {
|
|
110
|
+
components: mainComponents = [],
|
|
111
|
+
loading: mainCompsLoading
|
|
112
|
+
} = (0, _lanesHooks2().useLaneComponents)(!isViewingDefaultLane ? defaultLane === null || defaultLane === void 0 ? void 0 : defaultLane.id : undefined); // lane components + main components
|
|
113
|
+
|
|
114
|
+
const components = isViewingDefaultLane ? laneComponents : mergeComponents(mainComponents, laneComponents);
|
|
91
115
|
return {
|
|
92
|
-
loading:
|
|
93
|
-
components
|
|
116
|
+
loading: lanesLoading || laneCompsLoading || mainCompsLoading,
|
|
117
|
+
components
|
|
94
118
|
};
|
|
95
119
|
}
|
|
96
120
|
});
|
|
97
121
|
|
|
98
122
|
exports.workspaceDrawer = workspaceDrawer;
|
|
99
123
|
|
|
124
|
+
function mergeComponents(mainComponents, laneComponents) {
|
|
125
|
+
const mainComponentsThatAreNotOnLane = mainComponents.filter(mainComponent => {
|
|
126
|
+
return !laneComponents.find(laneComponent => laneComponent.id.toStringWithoutVersion() === mainComponent.id.toStringWithoutVersion());
|
|
127
|
+
});
|
|
128
|
+
return laneComponents.concat(mainComponentsThatAreNotOnLane);
|
|
129
|
+
}
|
|
130
|
+
|
|
100
131
|
//# sourceMappingURL=workspace.ui.drawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["workspaceDrawer","treeWidgets","filtersSlot","drawerWidgetSlot","ComponentsDrawer","order","id","name","plugins","tree","widgets","customRenderer","treeNodeSlot","TreeNode","props","children","node","payload","ScopePayload","filters","drawerWidgets","emptyMessage","useComponents","
|
|
1
|
+
{"version":3,"names":["workspaceDrawer","treeWidgets","filtersSlot","drawerWidgetSlot","ComponentsDrawer","order","id","name","plugins","tree","widgets","customRenderer","treeNodeSlot","TreeNode","props","children","node","payload","ScopePayload","filters","drawerWidgets","emptyMessage","useComponents","lanesModel","loading","lanesLoading","useLanes","viewedLaneId","viewedLane","defaultLane","getDefaultLane","isViewingDefaultLane","isEqual","components","laneComponents","laneCompsLoading","useLaneComponents","mainComponents","mainCompsLoading","undefined","mergeComponents","mainComponentsThatAreNotOnLane","filter","mainComponent","find","laneComponent","toStringWithoutVersion","concat"],"sources":["workspace.ui.drawer.tsx"],"sourcesContent":["import React from 'react';\nimport { ComponentsDrawer, ComponentFiltersSlot, DrawerWidgetSlot } from '@teambit/component.ui.component-drawer';\nimport {\n ComponentView,\n NamespaceTreeNode,\n PayloadType,\n ScopePayload,\n ScopeTreeNode,\n} from '@teambit/ui-foundation.ui.side-bar';\nimport { useLanes } from '@teambit/lanes.hooks.use-lanes';\nimport { useLaneComponents } from '@teambit/lanes.hooks.use-lane-components';\nimport { TreeNodeProps } from '@teambit/design.ui.tree';\nimport { ComponentModel } from '@teambit/component';\nimport { SidebarWidgetSlot } from './workspace.ui.runtime';\n\nexport type WorkspaceDrawerProps = {\n treeWidgets: SidebarWidgetSlot;\n filtersSlot: ComponentFiltersSlot;\n drawerWidgetSlot: DrawerWidgetSlot;\n};\n\nexport const workspaceDrawer = ({ treeWidgets, filtersSlot, drawerWidgetSlot }: WorkspaceDrawerProps) =>\n new ComponentsDrawer({\n order: 0,\n id: 'workspace-components-drawer',\n name: 'COMPONENTS',\n plugins: {\n tree: {\n widgets: treeWidgets,\n customRenderer: (treeNodeSlot) =>\n function TreeNode(props: TreeNodeProps<PayloadType>) {\n const children = props.node.children;\n\n if (!children) return <ComponentView {...props} treeNodeSlot={treeNodeSlot} />; // non collapse\n\n if (props.node.payload instanceof ScopePayload) return <ScopeTreeNode {...props} />;\n\n return <NamespaceTreeNode {...props} />;\n },\n },\n filters: filtersSlot,\n drawerWidgets: drawerWidgetSlot,\n },\n emptyMessage: 'Workspace is empty',\n useComponents: () => {\n const { lanesModel, loading: lanesLoading } = useLanes();\n const viewedLaneId = lanesModel?.viewedLane?.id;\n const defaultLane = lanesModel?.getDefaultLane();\n const isViewingDefaultLane = viewedLaneId && defaultLane?.id.isEqual(viewedLaneId);\n\n const { components: laneComponents = [], loading: laneCompsLoading } = useLaneComponents(viewedLaneId);\n const { components: mainComponents = [], loading: mainCompsLoading } = useLaneComponents(\n !isViewingDefaultLane ? defaultLane?.id : undefined\n );\n\n // lane components + main components\n const components = isViewingDefaultLane ? laneComponents : mergeComponents(mainComponents, laneComponents);\n\n return {\n loading: lanesLoading || laneCompsLoading || mainCompsLoading,\n components,\n };\n },\n });\n\nfunction mergeComponents(mainComponents: ComponentModel[], laneComponents: ComponentModel[]): ComponentModel[] {\n const mainComponentsThatAreNotOnLane = mainComponents.filter((mainComponent) => {\n return !laneComponents.find(\n (laneComponent) => laneComponent.id.toStringWithoutVersion() === mainComponent.id.toStringWithoutVersion()\n );\n });\n return laneComponents.concat(mainComponentsThatAreNotOnLane);\n}\n"],"mappings":"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"}
|
|
@@ -151,6 +151,16 @@ function _componentUiComponentFilters2() {
|
|
|
151
151
|
return data;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
+
function _componentUiComponentFilters3() {
|
|
155
|
+
const data = require("@teambit/component.ui.component-filters.show-main-filter");
|
|
156
|
+
|
|
157
|
+
_componentUiComponentFilters3 = function () {
|
|
158
|
+
return data;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
return data;
|
|
162
|
+
}
|
|
163
|
+
|
|
154
164
|
function _componentUi() {
|
|
155
165
|
const data = require("@teambit/component.ui.component-drawer");
|
|
156
166
|
|
|
@@ -330,7 +340,7 @@ class WorkspaceUI {
|
|
|
330
340
|
sidebarSlot.register(new (_componentTree2().ComponentTreeWidget)());
|
|
331
341
|
graphUI.registerComponentWidget(new (_componentTree2().ComponentTreeWidget)().widget);
|
|
332
342
|
const workspaceUI = new WorkspaceUI(routeSlot, componentUi, menuSlot, menuItemSlot, sidebar, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot, commandBarUI);
|
|
333
|
-
workspaceUI.registerDrawerComponentFilters([_componentUiComponentFilters().DeprecateFilter, _componentUiComponentFilters2().EnvsFilter]);
|
|
343
|
+
workspaceUI.registerDrawerComponentFilters([_componentUiComponentFilters().DeprecateFilter, _componentUiComponentFilters2().EnvsFilter, (0, _componentUiComponentFilters3().ShowMainFilter)(true)]);
|
|
334
344
|
workspaceUI.registerDrawerWidgets([/*#__PURE__*/_react().default.createElement(_componentUi().FilterWidget, {
|
|
335
345
|
key: 'workspace-filter-widget'
|
|
336
346
|
}), /*#__PURE__*/_react().default.createElement(_componentUi().TreeToggleWidget, {
|
|
@@ -344,7 +354,7 @@ class WorkspaceUI {
|
|
|
344
354
|
exact: true,
|
|
345
355
|
href: "/",
|
|
346
356
|
icon: "comps"
|
|
347
|
-
}, "
|
|
357
|
+
}, "Workspace Overview");
|
|
348
358
|
}
|
|
349
359
|
});
|
|
350
360
|
workspaceUI.registerMenuRoutes([{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WorkspaceUI","constructor","routeSlot","componentUi","menuSlot","menuItemSlot","sidebar","sidebarSlot","sidebarItemSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","commandBarUI","menuItems","register","routes","components","updateComponents","links","filters","widgets","category","title","keyChar","handler","run","registerRoutes","registerDrawers","drawers","registerDrawer","registerSidebarWidget","componentTreeNode","uiRoot","workspaceDrawer","treeWidgets","filtersSlot","setKeyBindHandler","addCommand","id","action","displayName","keybinding","path","element","listSidebarItems","items","flatten","values","compact","map","item","component","provider","ui","componentTree","graphUI","config","registerTreeNode","ComponentTreeWidget","registerComponentWidget","widget","workspaceUI","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","registerDrawerWidgets","registerRoot","bind","registerMenuItem","registerSidebarLink","Gallery","registerMenuRoutes","routePath","getMenu","WorkspaceAspect","getComponentUI","UIAspect","ComponentAspect","SidebarAspect","ComponentTreeAspect","CommandBarAspect","GraphAspect","UIRuntime","Slot","withType","addRuntime"],"sources":["workspace.ui.runtime.tsx"],"sourcesContent":["import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { compact, flatten } from 'lodash';\nimport { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Menu } from '@teambit/ui-foundation.ui.menu';\nimport SidebarAspect, { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport { GraphAspect, GraphUI } from '@teambit/graph';\nimport React, { ReactNode } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport CommandBarAspect, { CommandBarUI, CommandHandler } from '@teambit/command-bar';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';\nimport { DeprecateFilter } from '@teambit/component.ui.component-filters.deprecate-filter';\nimport { EnvsFilter } from '@teambit/component.ui.component-filters.env-filter';\n\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentTreeWidget } from './component-tree.widget';\nimport { Workspace } from './ui';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport { workspaceDrawer } from './workspace.ui.drawer';\n\nexport type SidebarWidgetSlot = SlotRegistry<ComponentTreeNode>;\n\nexport class WorkspaceUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n private drawerWidgetSlot: DrawerWidgetSlot,\n\n private drawerComponentsFiltersSlot: ComponentFiltersSlot,\n\n private commandBarUI: CommandBarUI\n ) {}\n\n private setKeyBindHandler: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a route to the workspace.\n */\n registerRoutes(routes: RouteProps[]) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerDrawers(...drawers: DrawerType[]) {\n this.sidebar.registerDrawer(...drawers);\n return this;\n }\n\n registerSidebarWidget(componentTreeNode: ComponentTreeNode) {\n this.sidebarSlot.register(componentTreeNode);\n return this;\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerMenuRoutes = (routes: RouteProps[]) => {\n this.menuSlot.register(routes);\n return this;\n };\n\n setComponents = (components: ComponentModel[]) => {\n this.componentUi.updateComponents(components);\n };\n\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n /**\n * register component filters\n */\n registerDrawerComponentFilters = (filters: ComponentFilters) => {\n this.drawerComponentsFiltersSlot.register(filters);\n };\n\n registerDrawerWidgets = (widgets: ReactNode[]) => {\n this.drawerWidgetSlot.register(widgets);\n };\n\n uiRoot(): UIRoot {\n this.registerDrawers(\n workspaceDrawer({\n treeWidgets: this.sidebarSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n })\n );\n\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n action: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setKeyBindHandler = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\n <Workspace\n menuSlot={this.menuSlot}\n routeSlot={this.routeSlot}\n sidebar={<this.sidebar.render items={this.listSidebarItems()} />}\n workspaceUI={this}\n onSidebarTogglerChange={this.setKeyBindHandler}\n />\n ),\n },\n ],\n };\n }\n\n listSidebarItems() {\n const items = flatten(this.sidebarItemSlot.values());\n return compact(items.map((item) => {\n return item.component;\n }));\n }\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n ];\n\n static dependencies = [UIAspect, ComponentAspect, SidebarAspect, ComponentTreeAspect, CommandBarAspect, GraphAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<SidebarItemSlot>(),\n Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static async provider(\n [ui, componentUi, sidebar, componentTree, commandBarUI, graphUI]: [\n UiUI,\n ComponentUI,\n SidebarUI,\n ComponentTreeUI,\n CommandBarUI,\n GraphUI\n ],\n config,\n [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot]: [\n RouteSlot,\n RouteSlot,\n MenuItemSlot,\n SidebarWidgetSlot,\n SidebarItemSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot\n ]\n ) {\n componentTree.registerTreeNode(new ComponentTreeWidget());\n sidebarSlot.register(new ComponentTreeWidget());\n graphUI.registerComponentWidget(new ComponentTreeWidget().widget);\n\n const workspaceUI = new WorkspaceUI(\n routeSlot,\n componentUi,\n menuSlot,\n menuItemSlot,\n sidebar,\n sidebarSlot,\n sidebarItemSlot,\n drawerWidgetSlot,\n drawerComponentsFiltersSlot,\n commandBarUI\n );\n\n workspaceUI.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter]);\n workspaceUI.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));\n workspaceUI.registerMenuItem(workspaceUI.menuItems);\n\n workspaceUI.registerSidebarLink({\n component: function Gallery() {\n return <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Gallery\n </MenuLinkItem>;\n },\n });\n\n workspaceUI.registerMenuRoutes([\n {\n path: '/',\n element: <Menu menuItemSlot={workspaceUI.menuItemSlot} />,\n },\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getMenu(WorkspaceAspect.id),\n },\n ]);\n\n workspaceUI.registerRoutes([\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getComponentUI(WorkspaceAspect.id),\n },\n ]);\n\n return workspaceUI;\n }\n}\n\nexport default WorkspaceUI;\n\nWorkspaceAspect.addRuntime(WorkspaceUI);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["WorkspaceUI","constructor","routeSlot","componentUi","menuSlot","menuItemSlot","sidebar","sidebarSlot","sidebarItemSlot","drawerWidgetSlot","drawerComponentsFiltersSlot","commandBarUI","menuItems","register","routes","components","updateComponents","links","filters","widgets","category","title","keyChar","handler","run","registerRoutes","registerDrawers","drawers","registerDrawer","registerSidebarWidget","componentTreeNode","uiRoot","workspaceDrawer","treeWidgets","filtersSlot","setKeyBindHandler","addCommand","id","action","displayName","keybinding","path","element","listSidebarItems","items","flatten","values","compact","map","item","component","provider","ui","componentTree","graphUI","config","registerTreeNode","ComponentTreeWidget","registerComponentWidget","widget","workspaceUI","registerDrawerComponentFilters","DeprecateFilter","EnvsFilter","ShowMainFilter","registerDrawerWidgets","registerRoot","bind","registerMenuItem","registerSidebarLink","Gallery","registerMenuRoutes","routePath","getMenu","WorkspaceAspect","getComponentUI","UIAspect","ComponentAspect","SidebarAspect","ComponentTreeAspect","CommandBarAspect","GraphAspect","UIRuntime","Slot","withType","addRuntime"],"sources":["workspace.ui.runtime.tsx"],"sourcesContent":["import { ComponentAspect, ComponentUI, ComponentModel } from '@teambit/component';\nimport { compact, flatten } from 'lodash';\nimport { ComponentTreeAspect, ComponentTreeUI, ComponentTreeNode } from '@teambit/component-tree';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Menu } from '@teambit/ui-foundation.ui.menu';\nimport SidebarAspect, { SidebarUI, SidebarItem, SidebarItemSlot } from '@teambit/sidebar';\nimport { MenuItemSlot, MenuItem } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { UIAspect, UIRootUI as UIRoot, UIRuntime, UiUI } from '@teambit/ui';\nimport { GraphAspect, GraphUI } from '@teambit/graph';\nimport React, { ReactNode } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport CommandBarAspect, { CommandBarUI, CommandHandler } from '@teambit/command-bar';\nimport { MenuLinkItem } from '@teambit/design.ui.surfaces.menu.link-item';\nimport type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';\nimport { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';\nimport { DeprecateFilter } from '@teambit/component.ui.component-filters.deprecate-filter';\nimport { EnvsFilter } from '@teambit/component.ui.component-filters.env-filter';\nimport { ShowMainFilter } from '@teambit/component.ui.component-filters.show-main-filter';\nimport {\n DrawerWidgetSlot,\n FilterWidget,\n TreeToggleWidget,\n ComponentFiltersSlot,\n} from '@teambit/component.ui.component-drawer';\nimport { ComponentTreeWidget } from './component-tree.widget';\nimport { Workspace } from './ui';\nimport { WorkspaceAspect } from './workspace.aspect';\nimport { workspaceDrawer } from './workspace.ui.drawer';\n\nexport type SidebarWidgetSlot = SlotRegistry<ComponentTreeNode>;\n\nexport class WorkspaceUI {\n constructor(\n /**\n * route slot.\n */\n private routeSlot: RouteSlot,\n\n /**\n * component ui extension.\n */\n private componentUi: ComponentUI,\n\n /**\n * menu slot\n */\n private menuSlot: RouteSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private sidebar: SidebarUI,\n\n private sidebarSlot: SidebarWidgetSlot,\n\n /**\n * sidebar link slot\n */\n private sidebarItemSlot: SidebarItemSlot,\n\n private drawerWidgetSlot: DrawerWidgetSlot,\n\n private drawerComponentsFiltersSlot: ComponentFiltersSlot,\n\n private commandBarUI: CommandBarUI\n ) {}\n\n private setKeyBindHandler: (updated: CommandHandler) => void = () => {};\n\n /**\n * register a route to the workspace.\n */\n registerRoutes(routes: RouteProps[]) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerDrawers(...drawers: DrawerType[]) {\n this.sidebar.registerDrawer(...drawers);\n return this;\n }\n\n registerSidebarWidget(componentTreeNode: ComponentTreeNode) {\n this.sidebarSlot.register(componentTreeNode);\n return this;\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerMenuRoutes = (routes: RouteProps[]) => {\n this.menuSlot.register(routes);\n return this;\n };\n\n setComponents = (components: ComponentModel[]) => {\n this.componentUi.updateComponents(components);\n };\n\n registerSidebarLink = (...links: SidebarItem[]) => {\n this.sidebarItemSlot.register(links);\n };\n\n /**\n * register component filters\n */\n registerDrawerComponentFilters = (filters: ComponentFilters) => {\n this.drawerComponentsFiltersSlot.register(filters);\n };\n\n registerDrawerWidgets = (widgets: ReactNode[]) => {\n this.drawerWidgetSlot.register(widgets);\n };\n\n uiRoot(): UIRoot {\n this.registerDrawers(\n workspaceDrawer({\n treeWidgets: this.sidebarSlot,\n drawerWidgetSlot: this.drawerWidgetSlot,\n filtersSlot: this.drawerComponentsFiltersSlot,\n })\n );\n\n const [setKeyBindHandler] = this.commandBarUI.addCommand({\n id: 'sidebar.toggle', // TODO - extract to a component!\n action: () => {},\n displayName: 'Toggle component list',\n keybinding: 'alt+s',\n });\n this.setKeyBindHandler = setKeyBindHandler;\n\n return {\n routes: [\n {\n path: '/*',\n element: (\n <Workspace\n menuSlot={this.menuSlot}\n routeSlot={this.routeSlot}\n sidebar={<this.sidebar.render items={this.listSidebarItems()} />}\n workspaceUI={this}\n onSidebarTogglerChange={this.setKeyBindHandler}\n />\n ),\n },\n ],\n };\n }\n\n listSidebarItems() {\n const items = flatten(this.sidebarItemSlot.values());\n return compact(\n items.map((item) => {\n return item.component;\n })\n );\n }\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n ];\n\n static dependencies = [UIAspect, ComponentAspect, SidebarAspect, ComponentTreeAspect, CommandBarAspect, GraphAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<RouteProps>(),\n Slot.withType<ComponentTreeNode>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<SidebarItemSlot>(),\n Slot.withType<DrawerWidgetSlot>(),\n Slot.withType<ComponentFiltersSlot>(),\n ];\n\n static async provider(\n [ui, componentUi, sidebar, componentTree, commandBarUI, graphUI]: [\n UiUI,\n ComponentUI,\n SidebarUI,\n ComponentTreeUI,\n CommandBarUI,\n GraphUI\n ],\n config,\n [routeSlot, menuSlot, menuItemSlot, sidebarSlot, sidebarItemSlot, drawerWidgetSlot, drawerComponentsFiltersSlot]: [\n RouteSlot,\n RouteSlot,\n MenuItemSlot,\n SidebarWidgetSlot,\n SidebarItemSlot,\n DrawerWidgetSlot,\n ComponentFiltersSlot\n ]\n ) {\n componentTree.registerTreeNode(new ComponentTreeWidget());\n sidebarSlot.register(new ComponentTreeWidget());\n graphUI.registerComponentWidget(new ComponentTreeWidget().widget);\n\n const workspaceUI = new WorkspaceUI(\n routeSlot,\n componentUi,\n menuSlot,\n menuItemSlot,\n sidebar,\n sidebarSlot,\n sidebarItemSlot,\n drawerWidgetSlot,\n drawerComponentsFiltersSlot,\n commandBarUI\n );\n\n workspaceUI.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter, ShowMainFilter(true)]);\n workspaceUI.registerDrawerWidgets([\n <FilterWidget key={'workspace-filter-widget'} />,\n <TreeToggleWidget key={'workspace-tree-toggle-widget'} />,\n ]);\n ui.registerRoot(workspaceUI.uiRoot.bind(workspaceUI));\n workspaceUI.registerMenuItem(workspaceUI.menuItems);\n\n workspaceUI.registerSidebarLink({\n component: function Gallery() {\n return (\n <MenuLinkItem exact href=\"/\" icon=\"comps\">\n Workspace Overview\n </MenuLinkItem>\n );\n },\n });\n\n workspaceUI.registerMenuRoutes([\n {\n path: '/',\n element: <Menu menuItemSlot={workspaceUI.menuItemSlot} />,\n },\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getMenu(WorkspaceAspect.id),\n },\n ]);\n\n workspaceUI.registerRoutes([\n {\n path: workspaceUI.componentUi.routePath,\n element: workspaceUI.componentUi.getComponentUI(WorkspaceAspect.id),\n },\n ]);\n\n return workspaceUI;\n }\n}\n\nexport default WorkspaceUI;\n\nWorkspaceAspect.addRuntime(WorkspaceUI);\n"],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/workspace",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.869",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/workspace/workspace",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.workspace",
|
|
8
8
|
"name": "workspace",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.869"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -34,46 +34,48 @@
|
|
|
34
34
|
"@teambit/base-ui.surfaces.split-pane.split-pane": "1.0.0",
|
|
35
35
|
"@teambit/bit-error": "0.0.400",
|
|
36
36
|
"@teambit/component-id": "0.0.417",
|
|
37
|
-
"@teambit/lane-id": "0.0.
|
|
37
|
+
"@teambit/lane-id": "0.0.98",
|
|
38
38
|
"@teambit/legacy-bit-id": "0.0.414",
|
|
39
|
-
"@teambit/logger": "0.0.
|
|
40
|
-
"@teambit/scope": "0.0.
|
|
41
|
-
"@teambit/cli": "0.0.
|
|
42
|
-
"@teambit/isolator": "0.0.
|
|
43
|
-
"@teambit/component-tree": "0.0.
|
|
44
|
-
"@teambit/component.ui.component-status-resolver": "0.0.
|
|
45
|
-
"@teambit/lanes.hooks.use-lanes": "0.0.
|
|
39
|
+
"@teambit/logger": "0.0.673",
|
|
40
|
+
"@teambit/scope": "0.0.869",
|
|
41
|
+
"@teambit/cli": "0.0.580",
|
|
42
|
+
"@teambit/isolator": "0.0.869",
|
|
43
|
+
"@teambit/component-tree": "0.0.657",
|
|
44
|
+
"@teambit/component.ui.component-status-resolver": "0.0.500",
|
|
45
|
+
"@teambit/lanes.hooks.use-lanes": "0.0.40",
|
|
46
46
|
"@teambit/harmony.modules.resolved-component": "0.0.490",
|
|
47
|
-
"@teambit/compiler": "0.0.
|
|
48
|
-
"@teambit/component": "0.0.
|
|
49
|
-
"@teambit/graphql": "0.0.
|
|
50
|
-
"@teambit/aspect-loader": "0.0.
|
|
51
|
-
"@teambit/bundler": "0.0.
|
|
52
|
-
"@teambit/dependency-resolver": "0.0.
|
|
53
|
-
"@teambit/envs": "0.0.
|
|
54
|
-
"@teambit/pubsub": "0.0.
|
|
55
|
-
"@teambit/ui": "0.0.
|
|
56
|
-
"@teambit/variants": "0.0.
|
|
47
|
+
"@teambit/compiler": "0.0.869",
|
|
48
|
+
"@teambit/component": "0.0.869",
|
|
49
|
+
"@teambit/graphql": "0.0.869",
|
|
50
|
+
"@teambit/aspect-loader": "0.0.869",
|
|
51
|
+
"@teambit/bundler": "0.0.869",
|
|
52
|
+
"@teambit/dependency-resolver": "0.0.869",
|
|
53
|
+
"@teambit/envs": "0.0.869",
|
|
54
|
+
"@teambit/pubsub": "0.0.869",
|
|
55
|
+
"@teambit/ui": "0.0.869",
|
|
56
|
+
"@teambit/variants": "0.0.683",
|
|
57
57
|
"@teambit/component-issues": "0.0.72",
|
|
58
|
-
"@teambit/config": "0.0.
|
|
58
|
+
"@teambit/config": "0.0.593",
|
|
59
59
|
"@teambit/harmony.modules.requireable-component": "0.0.490",
|
|
60
60
|
"@teambit/workspace.modules.match-pattern": "0.0.495",
|
|
61
|
-
"@teambit/component.ui.component-drawer": "0.0.
|
|
61
|
+
"@teambit/component.ui.component-drawer": "0.0.134",
|
|
62
62
|
"@teambit/design.ui.tree": "0.0.12",
|
|
63
|
-
"@teambit/
|
|
64
|
-
"@teambit/
|
|
65
|
-
"@teambit/
|
|
66
|
-
"@teambit/component.ui.component-filters.
|
|
67
|
-
"@teambit/component.ui.component-filters.
|
|
68
|
-
"@teambit/
|
|
69
|
-
"@teambit/
|
|
63
|
+
"@teambit/lanes.hooks.use-lane-components": "0.0.39",
|
|
64
|
+
"@teambit/ui-foundation.ui.side-bar": "0.0.651",
|
|
65
|
+
"@teambit/command-bar": "0.0.869",
|
|
66
|
+
"@teambit/component.ui.component-filters.component-filter-context": "0.0.9",
|
|
67
|
+
"@teambit/component.ui.component-filters.deprecate-filter": "0.0.9",
|
|
68
|
+
"@teambit/component.ui.component-filters.env-filter": "0.0.15",
|
|
69
|
+
"@teambit/component.ui.component-filters.show-main-filter": "0.0.2",
|
|
70
|
+
"@teambit/graph": "0.0.869",
|
|
71
|
+
"@teambit/sidebar": "0.0.869",
|
|
70
72
|
"@teambit/ui-foundation.ui.main-dropdown": "0.0.493",
|
|
71
73
|
"@teambit/ui-foundation.ui.menu": "0.0.493",
|
|
72
74
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.496",
|
|
73
75
|
"@teambit/ui-foundation.ui.tree.drawer": "0.0.505",
|
|
74
76
|
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.496",
|
|
75
|
-
"@teambit/component-descriptor": "0.0.
|
|
76
|
-
"@teambit/deprecation": "0.0.
|
|
77
|
+
"@teambit/component-descriptor": "0.0.148",
|
|
78
|
+
"@teambit/deprecation": "0.0.869",
|
|
77
79
|
"@teambit/ui-foundation.ui.constants.z-indexes": "0.0.494",
|
|
78
80
|
"@teambit/ui-foundation.ui.buttons.collapser": "0.0.201",
|
|
79
81
|
"@teambit/ui-foundation.ui.corner": "0.0.504",
|
|
@@ -100,7 +102,7 @@
|
|
|
100
102
|
"peerDependencies": {
|
|
101
103
|
"react-router-dom": "^6.0.0",
|
|
102
104
|
"@apollo/client": "^3.6.0",
|
|
103
|
-
"@teambit/legacy": "1.0.
|
|
105
|
+
"@teambit/legacy": "1.0.361",
|
|
104
106
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
105
107
|
"react": "^16.8.0 || ^17.0.0"
|
|
106
108
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.869/dist/workspace.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.workspace_workspace@0.0.869/dist/workspace.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -249,7 +249,7 @@ export class WorkspaceComponentLoader {
|
|
|
249
249
|
// Make sure we are adding the envs / deps data first because other on load events might depend on it
|
|
250
250
|
await Promise.all([
|
|
251
251
|
this.upsertExtensionData(component, EnvsAspect.id, envsData),
|
|
252
|
-
this.upsertExtensionData(component, DependencyResolverAspect.id, depResolverData)
|
|
252
|
+
this.upsertExtensionData(component, DependencyResolverAspect.id, depResolverData),
|
|
253
253
|
]);
|
|
254
254
|
|
|
255
255
|
// We are updating the component state with the envs and deps data here, so in case we have other slots that depend on this data
|
package/workspace.ui.drawer.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { ComponentsDrawer, ComponentFiltersSlot, DrawerWidgetSlot } from '@teambit/component.ui.component-drawer';
|
|
3
3
|
import {
|
|
4
4
|
ComponentView,
|
|
@@ -7,8 +7,10 @@ import {
|
|
|
7
7
|
ScopePayload,
|
|
8
8
|
ScopeTreeNode,
|
|
9
9
|
} from '@teambit/ui-foundation.ui.side-bar';
|
|
10
|
+
import { useLanes } from '@teambit/lanes.hooks.use-lanes';
|
|
11
|
+
import { useLaneComponents } from '@teambit/lanes.hooks.use-lane-components';
|
|
10
12
|
import { TreeNodeProps } from '@teambit/design.ui.tree';
|
|
11
|
-
import {
|
|
13
|
+
import { ComponentModel } from '@teambit/component';
|
|
12
14
|
import { SidebarWidgetSlot } from './workspace.ui.runtime';
|
|
13
15
|
|
|
14
16
|
export type WorkspaceDrawerProps = {
|
|
@@ -41,10 +43,31 @@ export const workspaceDrawer = ({ treeWidgets, filtersSlot, drawerWidgetSlot }:
|
|
|
41
43
|
},
|
|
42
44
|
emptyMessage: 'Workspace is empty',
|
|
43
45
|
useComponents: () => {
|
|
44
|
-
const
|
|
46
|
+
const { lanesModel, loading: lanesLoading } = useLanes();
|
|
47
|
+
const viewedLaneId = lanesModel?.viewedLane?.id;
|
|
48
|
+
const defaultLane = lanesModel?.getDefaultLane();
|
|
49
|
+
const isViewingDefaultLane = viewedLaneId && defaultLane?.id.isEqual(viewedLaneId);
|
|
50
|
+
|
|
51
|
+
const { components: laneComponents = [], loading: laneCompsLoading } = useLaneComponents(viewedLaneId);
|
|
52
|
+
const { components: mainComponents = [], loading: mainCompsLoading } = useLaneComponents(
|
|
53
|
+
!isViewingDefaultLane ? defaultLane?.id : undefined
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
// lane components + main components
|
|
57
|
+
const components = isViewingDefaultLane ? laneComponents : mergeComponents(mainComponents, laneComponents);
|
|
58
|
+
|
|
45
59
|
return {
|
|
46
|
-
loading:
|
|
47
|
-
components
|
|
60
|
+
loading: lanesLoading || laneCompsLoading || mainCompsLoading,
|
|
61
|
+
components,
|
|
48
62
|
};
|
|
49
63
|
},
|
|
50
64
|
});
|
|
65
|
+
|
|
66
|
+
function mergeComponents(mainComponents: ComponentModel[], laneComponents: ComponentModel[]): ComponentModel[] {
|
|
67
|
+
const mainComponentsThatAreNotOnLane = mainComponents.filter((mainComponent) => {
|
|
68
|
+
return !laneComponents.find(
|
|
69
|
+
(laneComponent) => laneComponent.id.toStringWithoutVersion() === mainComponent.id.toStringWithoutVersion()
|
|
70
|
+
);
|
|
71
|
+
});
|
|
72
|
+
return laneComponents.concat(mainComponentsThatAreNotOnLane);
|
|
73
|
+
}
|
package/workspace.ui.runtime.tsx
CHANGED
|
@@ -16,7 +16,7 @@ import type { DrawerType } from '@teambit/ui-foundation.ui.tree.drawer';
|
|
|
16
16
|
import { ComponentFilters } from '@teambit/component.ui.component-filters.component-filter-context';
|
|
17
17
|
import { DeprecateFilter } from '@teambit/component.ui.component-filters.deprecate-filter';
|
|
18
18
|
import { EnvsFilter } from '@teambit/component.ui.component-filters.env-filter';
|
|
19
|
-
|
|
19
|
+
import { ShowMainFilter } from '@teambit/component.ui.component-filters.show-main-filter';
|
|
20
20
|
import {
|
|
21
21
|
DrawerWidgetSlot,
|
|
22
22
|
FilterWidget,
|
|
@@ -150,9 +150,11 @@ export class WorkspaceUI {
|
|
|
150
150
|
|
|
151
151
|
listSidebarItems() {
|
|
152
152
|
const items = flatten(this.sidebarItemSlot.values());
|
|
153
|
-
return compact(
|
|
154
|
-
|
|
155
|
-
|
|
153
|
+
return compact(
|
|
154
|
+
items.map((item) => {
|
|
155
|
+
return item.component;
|
|
156
|
+
})
|
|
157
|
+
);
|
|
156
158
|
}
|
|
157
159
|
|
|
158
160
|
private menuItems: MenuItem[] = [
|
|
@@ -221,7 +223,7 @@ export class WorkspaceUI {
|
|
|
221
223
|
commandBarUI
|
|
222
224
|
);
|
|
223
225
|
|
|
224
|
-
workspaceUI.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter]);
|
|
226
|
+
workspaceUI.registerDrawerComponentFilters([DeprecateFilter, EnvsFilter, ShowMainFilter(true)]);
|
|
225
227
|
workspaceUI.registerDrawerWidgets([
|
|
226
228
|
<FilterWidget key={'workspace-filter-widget'} />,
|
|
227
229
|
<TreeToggleWidget key={'workspace-tree-toggle-widget'} />,
|
|
@@ -231,9 +233,11 @@ export class WorkspaceUI {
|
|
|
231
233
|
|
|
232
234
|
workspaceUI.registerSidebarLink({
|
|
233
235
|
component: function Gallery() {
|
|
234
|
-
return
|
|
235
|
-
|
|
236
|
-
|
|
236
|
+
return (
|
|
237
|
+
<MenuLinkItem exact href="/" icon="comps">
|
|
238
|
+
Workspace Overview
|
|
239
|
+
</MenuLinkItem>
|
|
240
|
+
);
|
|
237
241
|
},
|
|
238
242
|
});
|
|
239
243
|
|
|
Binary file
|