Some checks failed
CodeQL / Analyze (javascript) (push) Failing after 16s
CodeQL / Analyze (python) (push) Failing after 3s
i18n sync check / check:sync (push) Failing after 3s
React Doctor / react-doctor (push) Failing after 16s
Branch Build CE / Build-Push Admin Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Admin Manifest (push) Has been cancelled
Branch Build CE / Build-Push Web Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Web Manifest (push) Has been cancelled
Branch Build CE / Build-Push Space Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Proxy Manifest (push) Has been cancelled
Branch Build CE / Merge Space Manifest (push) Has been cancelled
Branch Build CE / Prepare AIO Assets (push) Has been cancelled
Branch Build CE / Build Setup (push) Has been cancelled
Branch Build CE / Build-Push Live Collaboration Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge Live Collaboration Manifest (push) Has been cancelled
Branch Build CE / Build-Push API Server Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge API Server Manifest (push) Has been cancelled
Branch Build CE / Build-Push Proxy Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Build-Push AIO Docker Image (${{ matrix.arch }}) (push) Has been cancelled
Branch Build CE / Merge AIO Manifest (push) Has been cancelled
Branch Build CE / Upload Build Assets (push) Has been cancelled
Branch Build CE / Build Release (push) Has been cancelled
63 lines
1.6 KiB
TypeScript
63 lines
1.6 KiB
TypeScript
/**
|
|
* Copyright (c) 2023-present Plane Software, Inc. and contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
* See the LICENSE file for details.
|
|
*/
|
|
|
|
import { EIssueLayoutTypes } from "@plane/types";
|
|
import { WorkspaceSpreadsheetRoot } from "@/components/issues/issue-layouts/spreadsheet/roots/workspace-root";
|
|
|
|
export type TWorkspaceLayoutProps = {
|
|
activeLayout: EIssueLayoutTypes | undefined;
|
|
isDefaultView: boolean;
|
|
isLoading?: boolean;
|
|
toggleLoading: (value: boolean) => void;
|
|
workspaceSlug: string;
|
|
globalViewId: string;
|
|
routeFilters: {
|
|
[key: string]: string;
|
|
};
|
|
fetchNextPages: () => void;
|
|
globalViewsLoading: boolean;
|
|
issuesLoading: boolean;
|
|
};
|
|
|
|
export function WorkspaceActiveLayout(props: TWorkspaceLayoutProps) {
|
|
const {
|
|
activeLayout = EIssueLayoutTypes.SPREADSHEET,
|
|
isDefaultView,
|
|
isLoading,
|
|
toggleLoading,
|
|
workspaceSlug,
|
|
globalViewId,
|
|
routeFilters,
|
|
fetchNextPages,
|
|
globalViewsLoading,
|
|
issuesLoading,
|
|
} = props;
|
|
switch (activeLayout) {
|
|
case EIssueLayoutTypes.SPREADSHEET:
|
|
return (
|
|
<WorkspaceSpreadsheetRoot
|
|
isDefaultView={isDefaultView}
|
|
isLoading={isLoading}
|
|
toggleLoading={toggleLoading}
|
|
workspaceSlug={workspaceSlug}
|
|
globalViewId={globalViewId}
|
|
routeFilters={routeFilters}
|
|
fetchNextPages={fetchNextPages}
|
|
globalViewsLoading={globalViewsLoading}
|
|
issuesLoading={issuesLoading}
|
|
/>
|
|
);
|
|
default:
|
|
return <></>;
|
|
}
|
|
}
|
|
|
|
export type TLayoutSelectionProps = {
|
|
onChange: (layout: EIssueLayoutTypes) => void;
|
|
selectedLayout: EIssueLayoutTypes;
|
|
workspaceSlug: string;
|
|
};
|