summaryrefslogtreecommitdiffstats
path: root/src/features/workspaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/features/workspaces')
-rw-r--r--src/features/workspaces/actions.ts2
-rw-r--r--src/features/workspaces/api.ts2
-rw-r--r--src/features/workspaces/components/CreateWorkspaceForm.tsx14
-rw-r--r--src/features/workspaces/components/EditWorkspaceForm.tsx28
-rw-r--r--src/features/workspaces/components/WorkspaceDrawer.tsx20
-rw-r--r--src/features/workspaces/components/WorkspaceDrawerItem.tsx16
-rw-r--r--src/features/workspaces/components/WorkspaceItem.tsx8
-rw-r--r--src/features/workspaces/components/WorkspaceServiceListItem.tsx10
-rw-r--r--src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx14
-rw-r--r--src/features/workspaces/components/WorkspacesDashboard.tsx20
-rw-r--r--src/features/workspaces/containers/EditWorkspaceScreen.tsx8
-rw-r--r--src/features/workspaces/containers/WorkspacesScreen.tsx10
-rw-r--r--src/features/workspaces/store.ts12
13 files changed, 94 insertions, 70 deletions
diff --git a/src/features/workspaces/actions.ts b/src/features/workspaces/actions.ts
index cfe4f9e8e..7970c042c 100644
--- a/src/features/workspaces/actions.ts
+++ b/src/features/workspaces/actions.ts
@@ -1,6 +1,6 @@
1import PropTypes from 'prop-types'; 1import PropTypes from 'prop-types';
2import Workspace from './models/Workspace';
3import { createActionsFromDefinitions } from '../../actions/lib/actions'; 2import { createActionsFromDefinitions } from '../../actions/lib/actions';
3import Workspace from './models/Workspace';
4 4
5type WorkspaceArg = { workspace: Workspace }; 5type WorkspaceArg = { workspace: Workspace };
6 6
diff --git a/src/features/workspaces/api.ts b/src/features/workspaces/api.ts
index b8bb703cd..6ae71a930 100644
--- a/src/features/workspaces/api.ts
+++ b/src/features/workspaces/api.ts
@@ -1,8 +1,8 @@
1import { pick } from 'lodash'; 1import { pick } from 'lodash';
2import apiBase from '../../api/apiBase';
2import { sendAuthRequest } from '../../api/utils/auth'; 3import { sendAuthRequest } from '../../api/utils/auth';
3import Request from '../../stores/lib/Request'; 4import Request from '../../stores/lib/Request';
4import Workspace from './models/Workspace'; 5import Workspace from './models/Workspace';
5import apiBase from '../../api/apiBase';
6 6
7const debug = require('../../preload-safe-debug')( 7const debug = require('../../preload-safe-debug')(
8 'Ferdium:feature:workspaces:api', 8 'Ferdium:feature:workspaces:api',
diff --git a/src/features/workspaces/components/CreateWorkspaceForm.tsx b/src/features/workspaces/components/CreateWorkspaceForm.tsx
index b72052fe2..0c365564a 100644
--- a/src/features/workspaces/components/CreateWorkspaceForm.tsx
+++ b/src/features/workspaces/components/CreateWorkspaceForm.tsx
@@ -1,11 +1,15 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react'; 1import { observer } from 'mobx-react';
3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 2import { Component, type ReactElement } from 'react';
4import withStyles, { WithStylesProps } from 'react-jss'; 3import {
5import Input from '../../../components/ui/input/index'; 4 type WrappedComponentProps,
5 defineMessages,
6 injectIntl,
7} from 'react-intl';
8import withStyles, { type WithStylesProps } from 'react-jss';
6import Button from '../../../components/ui/button'; 9import Button from '../../../components/ui/button';
7import Form from '../../../lib/Form'; 10import Input from '../../../components/ui/input/index';
8import { required } from '../../../helpers/validation-helpers'; 11import { required } from '../../../helpers/validation-helpers';
12import Form from '../../../lib/Form';
9import { workspaceStore } from '../index'; 13import { workspaceStore } from '../index';
10 14
11const messages = defineMessages({ 15const messages = defineMessages({
diff --git a/src/features/workspaces/components/EditWorkspaceForm.tsx b/src/features/workspaces/components/EditWorkspaceForm.tsx
index d902d29be..18e7c251e 100644
--- a/src/features/workspaces/components/EditWorkspaceForm.tsx
+++ b/src/features/workspaces/components/EditWorkspaceForm.tsx
@@ -1,21 +1,25 @@
1import { Component, ReactElement } from 'react'; 1import { noop } from 'lodash';
2import { observer } from 'mobx-react'; 2import { observer } from 'mobx-react';
3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 3import { Component, type ReactElement } from 'react';
4import {
5 type WrappedComponentProps,
6 defineMessages,
7 injectIntl,
8} from 'react-intl';
9import withStyles, { type WithStylesProps } from 'react-jss';
4import { Link } from 'react-router-dom'; 10import { Link } from 'react-router-dom';
5import withStyles, { WithStylesProps } from 'react-jss'; 11import Button from '../../../components/ui/button';
6import { noop } from 'lodash'; 12import { H2 } from '../../../components/ui/headline';
7import Infobox from '../../../components/ui/infobox/index'; 13import Infobox from '../../../components/ui/infobox/index';
8import Input from '../../../components/ui/input'; 14import Input from '../../../components/ui/input';
9import Button from '../../../components/ui/button'; 15import Toggle from '../../../components/ui/toggle';
10import Workspace from '../models/Workspace'; 16import { KEEP_WS_LOADED_USID } from '../../../config';
11import Service from '../../../models/Service';
12import Form from '../../../lib/Form';
13import { required } from '../../../helpers/validation-helpers'; 17import { required } from '../../../helpers/validation-helpers';
18import Form from '../../../lib/Form';
19import type Service from '../../../models/Service';
20import type Request from '../../../stores/lib/Request';
21import type Workspace from '../models/Workspace';
14import WorkspaceServiceListItem from './WorkspaceServiceListItem'; 22import WorkspaceServiceListItem from './WorkspaceServiceListItem';
15import Request from '../../../stores/lib/Request';
16import { KEEP_WS_LOADED_USID } from '../../../config';
17import Toggle from '../../../components/ui/toggle';
18import { H2 } from '../../../components/ui/headline';
19 23
20const messages = defineMessages({ 24const messages = defineMessages({
21 buttonDelete: { 25 buttonDelete: {
diff --git a/src/features/workspaces/components/WorkspaceDrawer.tsx b/src/features/workspaces/components/WorkspaceDrawer.tsx
index 3e05cb7de..2826b741a 100644
--- a/src/features/workspaces/components/WorkspaceDrawer.tsx
+++ b/src/features/workspaces/components/WorkspaceDrawer.tsx
@@ -1,17 +1,21 @@
1import { Component, ReactElement } from 'react'; 1import { mdiCog, mdiPlusBox } from '@mdi/js';
2import { noop } from 'lodash';
2import { observer } from 'mobx-react'; 3import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss'; 4import { Component, type ReactElement } from 'react';
4import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 5import {
6 type WrappedComponentProps,
7 defineMessages,
8 injectIntl,
9} from 'react-intl';
10import withStyles, { type WithStylesProps } from 'react-jss';
5import { Tooltip as ReactTooltip } from 'react-tooltip'; 11import { Tooltip as ReactTooltip } from 'react-tooltip';
6import { mdiPlusBox, mdiCog } from '@mdi/js';
7import { noop } from 'lodash';
8import { H1 } from '../../../components/ui/headline'; 12import { H1 } from '../../../components/ui/headline';
9import Icon from '../../../components/ui/icon'; 13import Icon from '../../../components/ui/icon';
10import WorkspaceDrawerItem from './WorkspaceDrawerItem';
11import workspaceActions from '../actions'; 14import workspaceActions from '../actions';
12import { workspaceStore } from '../index';
13import { getUserWorkspacesRequest } from '../api'; 15import { getUserWorkspacesRequest } from '../api';
14import Workspace from '../models/Workspace'; 16import { workspaceStore } from '../index';
17import type Workspace from '../models/Workspace';
18import WorkspaceDrawerItem from './WorkspaceDrawerItem';
15 19
16const messages = defineMessages({ 20const messages = defineMessages({
17 headline: { 21 headline: {
diff --git a/src/features/workspaces/components/WorkspaceDrawerItem.tsx b/src/features/workspaces/components/WorkspaceDrawerItem.tsx
index 85ed4c38c..1e4b57dba 100644
--- a/src/features/workspaces/components/WorkspaceDrawerItem.tsx
+++ b/src/features/workspaces/components/WorkspaceDrawerItem.tsx
@@ -1,11 +1,15 @@
1import { Component, MouseEventHandler, ReactElement } from 'react'; 1import { Menu } from '@electron/remote';
2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss';
4import classnames from 'classnames'; 2import classnames from 'classnames';
5import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 3import type { MenuItemConstructorOptions } from 'electron';
6import { noop } from 'lodash'; 4import { noop } from 'lodash';
7import { Menu } from '@electron/remote'; 5import { observer } from 'mobx-react';
8import { MenuItemConstructorOptions } from 'electron'; 6import { Component, type MouseEventHandler, type ReactElement } from 'react';
7import {
8 type WrappedComponentProps,
9 defineMessages,
10 injectIntl,
11} from 'react-intl';
12import withStyles, { type WithStylesProps } from 'react-jss';
9import { altKey, cmdOrCtrlShortcutKey } from '../../../environment'; 13import { altKey, cmdOrCtrlShortcutKey } from '../../../environment';
10import { acceleratorString } from '../../../jsUtils'; 14import { acceleratorString } from '../../../jsUtils';
11 15
diff --git a/src/features/workspaces/components/WorkspaceItem.tsx b/src/features/workspaces/components/WorkspaceItem.tsx
index 36c6ed2f5..f24e6a85d 100644
--- a/src/features/workspaces/components/WorkspaceItem.tsx
+++ b/src/features/workspaces/components/WorkspaceItem.tsx
@@ -1,8 +1,8 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss';
4import { noop } from 'lodash'; 1import { noop } from 'lodash';
5import Workspace from '../models/Workspace'; 2import { observer } from 'mobx-react';
3import { Component, type ReactElement } from 'react';
4import withStyles, { type WithStylesProps } from 'react-jss';
5import type Workspace from '../models/Workspace';
6 6
7const styles = theme => ({ 7const styles = theme => ({
8 row: { 8 row: {
diff --git a/src/features/workspaces/components/WorkspaceServiceListItem.tsx b/src/features/workspaces/components/WorkspaceServiceListItem.tsx
index 9034be37c..6f61f8a51 100644
--- a/src/features/workspaces/components/WorkspaceServiceListItem.tsx
+++ b/src/features/workspaces/components/WorkspaceServiceListItem.tsx
@@ -1,11 +1,11 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss';
4import classnames from 'classnames'; 1import classnames from 'classnames';
5import { noop } from 'lodash'; 2import { noop } from 'lodash';
6import Toggle from '../../../components/ui/toggle'; 3import { observer } from 'mobx-react';
4import { Component, type ReactElement } from 'react';
5import withStyles, { type WithStylesProps } from 'react-jss';
7import ServiceIcon from '../../../components/ui/ServiceIcon'; 6import ServiceIcon from '../../../components/ui/ServiceIcon';
8import Service from '../../../models/Service'; 7import Toggle from '../../../components/ui/toggle';
8import type Service from '../../../models/Service';
9 9
10const styles = theme => ({ 10const styles = theme => ({
11 listItem: { 11 listItem: {
diff --git a/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx b/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx
index 19dd9037d..7fddd8553 100644
--- a/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx
+++ b/src/features/workspaces/components/WorkspaceSwitchingIndicator.tsx
@@ -1,11 +1,15 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react';
3import withStyles, { WithStylesProps } from 'react-jss';
4import classnames from 'classnames'; 1import classnames from 'classnames';
5import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 2import { observer } from 'mobx-react';
3import { Component, type ReactElement } from 'react';
4import {
5 type WrappedComponentProps,
6 defineMessages,
7 injectIntl,
8} from 'react-intl';
9import withStyles, { type WithStylesProps } from 'react-jss';
6import Loader from '../../../components/ui/loader'; 10import Loader from '../../../components/ui/loader';
7import { workspaceStore } from '../index';
8import { DEFAULT_LOADER_COLOR } from '../../../config'; 11import { DEFAULT_LOADER_COLOR } from '../../../config';
12import { workspaceStore } from '../index';
9 13
10const messages = defineMessages({ 14const messages = defineMessages({
11 switchingTo: { 15 switchingTo: {
diff --git a/src/features/workspaces/components/WorkspacesDashboard.tsx b/src/features/workspaces/components/WorkspacesDashboard.tsx
index 0a417bffd..8fb2cf923 100644
--- a/src/features/workspaces/components/WorkspacesDashboard.tsx
+++ b/src/features/workspaces/components/WorkspacesDashboard.tsx
@@ -1,15 +1,19 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react'; 1import { observer } from 'mobx-react';
3import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl'; 2import { Component, type ReactElement } from 'react';
4import withStyles, { WithStylesProps } from 'react-jss'; 3import {
4 type WrappedComponentProps,
5 defineMessages,
6 injectIntl,
7} from 'react-intl';
8import withStyles, { type WithStylesProps } from 'react-jss';
9import Appear from '../../../components/ui/effects/Appear';
10import { H1 } from '../../../components/ui/headline';
5import Infobox from '../../../components/ui/infobox/index'; 11import Infobox from '../../../components/ui/infobox/index';
6import Loader from '../../../components/ui/loader'; 12import Loader from '../../../components/ui/loader';
7import WorkspaceItem from './WorkspaceItem'; 13import type Request from '../../../stores/lib/Request';
14import type Workspace from '../models/Workspace';
8import CreateWorkspaceForm from './CreateWorkspaceForm'; 15import CreateWorkspaceForm from './CreateWorkspaceForm';
9import Request from '../../../stores/lib/Request'; 16import WorkspaceItem from './WorkspaceItem';
10import Appear from '../../../components/ui/effects/Appear';
11import { H1 } from '../../../components/ui/headline';
12import Workspace from '../models/Workspace';
13 17
14const messages = defineMessages({ 18const messages = defineMessages({
15 headline: { 19 headline: {
diff --git a/src/features/workspaces/containers/EditWorkspaceScreen.tsx b/src/features/workspaces/containers/EditWorkspaceScreen.tsx
index abc747c33..92450d685 100644
--- a/src/features/workspaces/containers/EditWorkspaceScreen.tsx
+++ b/src/features/workspaces/containers/EditWorkspaceScreen.tsx
@@ -1,12 +1,12 @@
1import { Component } from 'react';
2import { inject, observer } from 'mobx-react'; 1import { inject, observer } from 'mobx-react';
2import { Component } from 'react';
3 3
4import { StoresProps } from '../../../@types/ferdium-components.types'; 4import type { StoresProps } from '../../../@types/ferdium-components.types';
5import ErrorBoundary from '../../../components/util/ErrorBoundary'; 5import ErrorBoundary from '../../../components/util/ErrorBoundary';
6import { deleteWorkspaceRequest, updateWorkspaceRequest } from '../api';
6import EditWorkspaceForm from '../components/EditWorkspaceForm'; 7import EditWorkspaceForm from '../components/EditWorkspaceForm';
7import Workspace from '../models/Workspace';
8import { workspaceStore } from '../index'; 8import { workspaceStore } from '../index';
9import { deleteWorkspaceRequest, updateWorkspaceRequest } from '../api'; 9import Workspace from '../models/Workspace';
10 10
11class EditWorkspaceScreen extends Component<StoresProps> { 11class EditWorkspaceScreen extends Component<StoresProps> {
12 onDelete = () => { 12 onDelete = () => {
diff --git a/src/features/workspaces/containers/WorkspacesScreen.tsx b/src/features/workspaces/containers/WorkspacesScreen.tsx
index 39f19935f..92565b45c 100644
--- a/src/features/workspaces/containers/WorkspacesScreen.tsx
+++ b/src/features/workspaces/containers/WorkspacesScreen.tsx
@@ -1,16 +1,16 @@
1import { Component } from 'react';
2import { inject, observer } from 'mobx-react'; 1import { inject, observer } from 'mobx-react';
3import { StoresProps } from '../../../@types/ferdium-components.types'; 2import { Component } from 'react';
4import WorkspacesDashboard from '../components/WorkspacesDashboard'; 3import type { StoresProps } from '../../../@types/ferdium-components.types';
5import ErrorBoundary from '../../../components/util/ErrorBoundary'; 4import ErrorBoundary from '../../../components/util/ErrorBoundary';
6import { workspaceStore } from '../index';
7import { 5import {
8 createWorkspaceRequest, 6 createWorkspaceRequest,
9 deleteWorkspaceRequest, 7 deleteWorkspaceRequest,
10 getUserWorkspacesRequest, 8 getUserWorkspacesRequest,
11 updateWorkspaceRequest, 9 updateWorkspaceRequest,
12} from '../api'; 10} from '../api';
13import Workspace from '../models/Workspace'; 11import WorkspacesDashboard from '../components/WorkspacesDashboard';
12import { workspaceStore } from '../index';
13import type Workspace from '../models/Workspace';
14 14
15interface IProps extends StoresProps {} 15interface IProps extends StoresProps {}
16 16
diff --git a/src/features/workspaces/store.ts b/src/features/workspaces/store.ts
index f97009186..41bf5d6f4 100644
--- a/src/features/workspaces/store.ts
+++ b/src/features/workspaces/store.ts
@@ -1,8 +1,10 @@
1import { computed, observable, action, makeObservable } from 'mobx'; 1import { action, computed, makeObservable, observable } from 'mobx';
2import localStorage from 'mobx-localstorage'; 2import localStorage from 'mobx-localstorage';
3import matchRoute from '../../helpers/routing-helpers'; 3import matchRoute from '../../helpers/routing-helpers';
4import workspaceActions from './actions'; 4import { createReactions } from '../../stores/lib/Reaction';
5import { createActionBindings } from '../utils/ActionBinding';
5import FeatureStore from '../utils/FeatureStore'; 6import FeatureStore from '../utils/FeatureStore';
7import workspaceActions from './actions';
6import { 8import {
7 createWorkspaceRequest, 9 createWorkspaceRequest,
8 deleteWorkspaceRequest, 10 deleteWorkspaceRequest,
@@ -10,12 +12,10 @@ import {
10 updateWorkspaceRequest, 12 updateWorkspaceRequest,
11} from './api'; 13} from './api';
12import { WORKSPACES_ROUTES } from './constants'; 14import { WORKSPACES_ROUTES } from './constants';
13import { createReactions } from '../../stores/lib/Reaction';
14import { createActionBindings } from '../utils/ActionBinding';
15 15
16import type { Actions } from '../../actions/lib/actions';
16import { KEEP_WS_LOADED_USID } from '../../config'; 17import { KEEP_WS_LOADED_USID } from '../../config';
17import Workspace from './models/Workspace'; 18import type Workspace from './models/Workspace';
18import { Actions } from '../../actions/lib/actions';
19 19
20const debug = require('../../preload-safe-debug')( 20const debug = require('../../preload-safe-debug')(
21 'Ferdium:feature:workspaces:store', 21 'Ferdium:feature:workspaces:store',