Skip to content

Commit 59dbf36

Browse files
committed
Feature: Introduce Enum
1 parent 7bf70a6 commit 59dbf36

File tree

4 files changed

+18
-9
lines changed

4 files changed

+18
-9
lines changed

Classes/Domain/Model/Feedback/Operations/UpdateWorkspaceInfo.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,8 @@ public function serializePayload(ControllerContext $controllerContext)
125125
$this->workspaceName,
126126
$this->contentRepositoryId
127127
),
128-
'baseWorkspace' => $workspace->baseWorkspaceName->value
128+
'baseWorkspace' => $workspace->baseWorkspaceName->value,
129+
'status' => $workspace->status
129130
] : [];
130131
}
131132
}

packages/neos-ts-interfaces/src/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@ export enum SelectionModeTypes {
101101
RANGE_SELECT = 'RANGE_SELECT'
102102
}
103103

104+
export enum WorkspaceStatus {
105+
UP_TO_DATE = 'UP_TO_DATE',
106+
OUTDATED = 'OUTDATED',
107+
OUTDATED_CONFLICT = 'OUTDATED_CONFLICT'
108+
}
109+
104110
export interface ValidatorConfiguration {
105111
[propName: string]: any;
106112
}

packages/neos-ui/src/Containers/Modals/SyncWorkspaceDialog/index.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {selectors, actions} from '@neos-project/neos-ui-redux-store';
1212
import {neos} from '@neos-project/neos-ui-decorators';
1313

1414
import style from './style.module.css';
15+
import {WorkspaceStatus} from '@neos-project/neos-ts-interfaces';
1516

1617
@connect(state => ({
1718
isOpen: state?.ui?.SyncWorkspaceModal?.isOpen,
@@ -83,7 +84,7 @@ export default class SyncWorkspaceDialog extends PureComponent {
8384
const confirmationLabel = i18nRegistry.translate(
8485
'syncPersonalWorkSpaceConfirm',
8586
'Synchronize now', {}, 'Neos.Neos.Ui', 'Main')
86-
if (personalWorkspaceStatus !== 'OUTDATED') {
87+
if (personalWorkspaceStatus !== WorkspaceStatus.OUTDATED) {
8788
return (null);
8889
}
8990
return (
@@ -113,7 +114,7 @@ export default class SyncWorkspaceDialog extends PureComponent {
113114
actions={[this.renderAbort(), this.renderConfirm()]}
114115
title={this.renderTitle()}
115116
onRequestClose={this.handleAbort}
116-
type={personalWorkspaceStatus === 'OUTDATED' ? 'warn' : 'error'}
117+
type={personalWorkspaceStatus === WorkspaceStatus.OUTDATED ? 'warn' : 'error'}
117118
isOpen
118119
id="neos-DeleteNodeDialog"
119120
>
@@ -126,13 +127,13 @@ export default class SyncWorkspaceDialog extends PureComponent {
126127

127128
getTranslatedContent() {
128129
const {personalWorkspaceStatus, i18nRegistry} = this.props;
129-
if (personalWorkspaceStatus === 'OUTDATED') {
130+
if (personalWorkspaceStatus === WorkspaceStatus.OUTDATED) {
130131
return i18nRegistry.translate(
131132
'syncPersonalWorkSpaceMessageOutdated',
132133
'It seems like there are changes in the workspace that are not reflected in your personal workspace.\n' +
133134
'You should synchronize your personal workspace to avoid conflicts.', {}, 'Neos.Neos.Ui', 'Main')
134135
}
135-
if (personalWorkspaceStatus === 'OUTDATED_CONFLICT') {
136+
if (personalWorkspaceStatus === WorkspaceStatus.OUTDATED_CONFLICT) {
136137
return i18nRegistry.translate(
137138
'syncPersonalWorkSpaceMessageOutdatedConflict',
138139
'It seems like there are changes in the workspace that are not reflected in your personal workspace.\n' +

packages/neos-ui/src/Containers/PrimaryToolbar/WorkspaceSync/index.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {neos} from '@neos-project/neos-ui-decorators';
1212
const {personalWorkspaceRebaseStatusSelector} = selectors.CR.Workspaces;
1313

1414
import style from './style.module.css';
15+
import {WorkspaceStatus} from '@neos-project/neos-ts-interfaces';
1516

1617
@connect(state => ({
1718
isOpen: state?.ui?.SyncWorkspaceModal?.isOpen,
@@ -42,10 +43,10 @@ export default class WorkspaceSync extends PureComponent {
4243
} = this.props;
4344
let icon = 'resource://Neos.Neos.Ui/Icons/syncronize_check.svg';
4445
switch (personalWorkspaceStatus) {
45-
case 'OUTDATED':
46+
case WorkspaceStatus.OUTDATED:
4647
icon = 'resource://Neos.Neos.Ui/Icons/syncronize.svg';
4748
break;
48-
case 'OUTDATED_CONFLICT':
49+
case WorkspaceStatus.OUTDATED_CONFLICT:
4950
icon = 'resource://Neos.Neos.Ui/Icons/syncronize_alert.svg';
5051
break;
5152
}
@@ -57,8 +58,8 @@ export default class WorkspaceSync extends PureComponent {
5758
className={style.rebaseButton}
5859
onClick={openModal}
5960
disabled={isSaving || isOpen}
60-
style={personalWorkspaceStatus === 'OUTDATED' ? 'warn' : 'error'}
61-
hoverStyle={personalWorkspaceStatus === 'OUTDATED' ? 'warn' : 'error'}
61+
style={personalWorkspaceStatus === WorkspaceStatus.OUTDATED ? 'warn' : 'error'}
62+
hoverStyle={personalWorkspaceStatus === WorkspaceStatus.OUTDATED ? 'warn' : 'error'}
6263
label="sync with parent workspace"
6364
>
6465
<Icon icon={icon} className={style.iconRebase} size="1x"/>

0 commit comments

Comments
 (0)