decap-cms-core 3.5.0 → 3.6.0
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/dist/decap-cms-core.js +9 -9
- package/dist/decap-cms-core.js.map +1 -1
- package/dist/esm/actions/auth.js +22 -37
- package/dist/esm/actions/collections.js +9 -17
- package/dist/esm/actions/config.js +58 -74
- package/dist/esm/actions/deploys.js +10 -17
- package/dist/esm/actions/editorialWorkflow.js +87 -101
- package/dist/esm/actions/entries.js +161 -211
- package/dist/esm/actions/media.js +31 -46
- package/dist/esm/actions/mediaLibrary.js +94 -126
- package/dist/esm/actions/notifications.js +5 -13
- package/dist/esm/actions/search.js +30 -47
- package/dist/esm/actions/status.js +13 -23
- package/dist/esm/actions/waitUntil.js +4 -11
- package/dist/esm/backend.js +132 -148
- package/dist/esm/bootstrap.js +37 -44
- package/dist/esm/components/App/App.js +82 -89
- package/dist/esm/components/App/Header.js +46 -52
- package/dist/esm/components/App/NotFoundPage.js +11 -18
- package/dist/esm/components/Collection/Collection.js +55 -63
- package/dist/esm/components/Collection/CollectionControls.js +15 -22
- package/dist/esm/components/Collection/CollectionSearch.js +35 -42
- package/dist/esm/components/Collection/CollectionTop.js +23 -30
- package/dist/esm/components/Collection/ControlButton.js +10 -16
- package/dist/esm/components/Collection/Entries/Entries.js +24 -31
- package/dist/esm/components/Collection/Entries/EntriesCollection.js +52 -62
- package/dist/esm/components/Collection/Entries/EntriesSearch.js +26 -33
- package/dist/esm/components/Collection/Entries/EntryCard.js +38 -45
- package/dist/esm/components/Collection/Entries/EntryListing.js +24 -32
- package/dist/esm/components/Collection/FilterControl.js +9 -16
- package/dist/esm/components/Collection/GroupControl.js +9 -16
- package/dist/esm/components/Collection/NestedCollection.js +54 -65
- package/dist/esm/components/Collection/Sidebar.js +36 -43
- package/dist/esm/components/Collection/SortControl.js +19 -26
- package/dist/esm/components/Collection/ViewStyleControl.js +17 -24
- package/dist/esm/components/Editor/Editor.js +100 -108
- package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +105 -112
- package/dist/esm/components/Editor/EditorControlPane/EditorControlPane.js +68 -62
- package/dist/esm/components/Editor/EditorControlPane/Widget.js +87 -73
- package/dist/esm/components/Editor/EditorInterface.js +95 -98
- package/dist/esm/components/Editor/EditorPreviewPane/EditorPreview.js +13 -21
- package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewContent.js +64 -23
- package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewPane.js +94 -78
- package/dist/esm/components/Editor/EditorPreviewPane/PreviewHOC.js +9 -16
- package/dist/esm/components/Editor/EditorToolbar.js +133 -140
- package/dist/esm/components/Editor/withWorkflow.js +15 -22
- package/dist/esm/components/EditorWidgets/Unknown/UnknownControl.js +9 -16
- package/dist/esm/components/EditorWidgets/Unknown/UnknownPreview.js +9 -16
- package/dist/esm/components/EditorWidgets/index.js +4 -7
- package/dist/esm/components/MediaLibrary/EmptyMessage.js +12 -19
- package/dist/esm/components/MediaLibrary/MediaLibrary.js +55 -62
- package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +28 -35
- package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +36 -43
- package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +50 -57
- package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +16 -23
- package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +59 -64
- package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +18 -25
- package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +39 -46
- package/dist/esm/components/UI/DragDrop.js +21 -30
- package/dist/esm/components/UI/ErrorBoundary.js +35 -43
- package/dist/esm/components/UI/FileUploadButton.js +11 -18
- package/dist/esm/components/UI/Modal.js +19 -26
- package/dist/esm/components/UI/Notifications.js +21 -28
- package/dist/esm/components/UI/SettingsDropdown.js +28 -34
- package/dist/esm/components/UI/index.js +6 -60
- package/dist/esm/components/Workflow/Workflow.js +52 -61
- package/dist/esm/components/Workflow/WorkflowCard.js +45 -51
- package/dist/esm/components/Workflow/WorkflowList.js +43 -49
- package/dist/esm/constants/collectionTypes.js +2 -8
- package/dist/esm/constants/collectionViews.js +2 -8
- package/dist/esm/constants/commitProps.js +2 -8
- package/dist/esm/constants/configSchema.js +20 -27
- package/dist/esm/constants/fieldInference.js +8 -15
- package/dist/esm/constants/publishModes.js +6 -11
- package/dist/esm/constants/validationErrorTypes.js +1 -7
- package/dist/esm/formats/formats.js +32 -41
- package/dist/esm/formats/frontmatter.js +18 -30
- package/dist/esm/formats/helpers.js +1 -7
- package/dist/esm/formats/json.js +1 -7
- package/dist/esm/formats/toml.js +11 -18
- package/dist/esm/formats/yaml.js +7 -14
- package/dist/esm/index.js +5 -12
- package/dist/esm/integrations/index.js +8 -16
- package/dist/esm/integrations/providers/algolia/implementation.js +14 -22
- package/dist/esm/integrations/providers/assetStore/implementation.js +10 -18
- package/dist/esm/lib/consoleError.js +1 -7
- package/dist/esm/lib/formatters.js +34 -47
- package/dist/esm/lib/i18n.js +37 -66
- package/dist/esm/lib/phrases.js +4 -11
- package/dist/esm/lib/registry.js +40 -75
- package/dist/esm/lib/serializeEntryValues.js +11 -18
- package/dist/esm/lib/textHelper.js +1 -7
- package/dist/esm/lib/urlHelper.js +28 -43
- package/dist/esm/mediaLibrary.js +12 -16
- package/dist/esm/reducers/auth.js +10 -16
- package/dist/esm/reducers/collections.js +70 -102
- package/dist/esm/reducers/combinedReducer.js +4 -11
- package/dist/esm/reducers/config.js +11 -19
- package/dist/esm/reducers/cursors.js +12 -18
- package/dist/esm/reducers/deploys.js +8 -15
- package/dist/esm/reducers/editorialWorkflow.js +37 -47
- package/dist/esm/reducers/entries.js +107 -132
- package/dist/esm/reducers/entryDraft.js +64 -72
- package/dist/esm/reducers/globalUI.js +5 -11
- package/dist/esm/reducers/index.js +43 -64
- package/dist/esm/reducers/integrations.js +8 -16
- package/dist/esm/reducers/mediaLibrary.js +43 -52
- package/dist/esm/reducers/medias.js +11 -18
- package/dist/esm/reducers/notifications.js +9 -15
- package/dist/esm/reducers/search.js +12 -18
- package/dist/esm/reducers/status.js +7 -13
- package/dist/esm/redux/index.js +7 -13
- package/dist/esm/redux/middleware/waitUntilAction.js +3 -10
- package/dist/esm/routing/history.js +7 -15
- package/dist/esm/types/diacritics.d.js +0 -1
- package/dist/esm/types/global.d.js +1 -5
- package/dist/esm/types/immutable.js +1 -5
- package/dist/esm/types/redux.js +7 -8
- package/dist/esm/types/tomlify-j0.4.d.js +0 -1
- package/dist/esm/valueObjects/AssetProxy.js +2 -10
- package/dist/esm/valueObjects/EditorComponent.js +5 -12
- package/dist/esm/valueObjects/Entry.js +3 -10
- package/package.json +3 -2
- package/src/components/Collection/Entries/EntriesCollection.js +7 -8
- package/src/components/Collection/Entries/__tests__/EntriesCollection.spec.js +3 -5
- package/src/components/Collection/Entries/__tests__/__snapshots__/EntriesCollection.spec.js.snap +8 -8
- package/src/components/Collection/NestedCollection.js +2 -2
- package/src/components/Collection/__tests__/__snapshots__/NestedCollection.spec.js.snap +68 -0
- package/src/components/Editor/EditorControlPane/EditorControl.js +0 -3
- package/src/components/Editor/EditorControlPane/EditorControlPane.js +21 -8
- package/src/components/Editor/EditorControlPane/Widget.js +22 -1
- package/src/components/Editor/EditorInterface.js +6 -1
- package/src/components/Editor/EditorPreviewPane/EditorPreviewContent.js +51 -11
- package/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js +33 -1
- package/dist/esm/actions/editorControl.js +0 -14
- package/dist/esm/reducers/editorComponent.js +0 -1
- package/dist/esm/reducers/editorControl.js +0 -17
|
@@ -1,35 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.Editor = void 0;
|
|
7
|
-
var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
|
|
8
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
|
|
11
|
-
var _reactRedux = require("react-redux");
|
|
12
|
-
var _decapCmsUiDefault = require("decap-cms-ui-default");
|
|
13
|
-
var _reactPolyglot = require("react-polyglot");
|
|
14
|
-
var _history = require("../../routing/history");
|
|
15
|
-
var _auth = require("../../actions/auth");
|
|
16
|
-
var _entries = require("../../actions/entries");
|
|
17
|
-
var _editorialWorkflow = require("../../actions/editorialWorkflow");
|
|
18
|
-
var _deploys = require("../../actions/deploys");
|
|
19
|
-
var _reducers = require("../../reducers");
|
|
20
|
-
var _collections = require("../../reducers/collections");
|
|
21
|
-
var _publishModes = require("../../constants/publishModes");
|
|
22
|
-
var _EditorInterface = _interopRequireDefault(require("./EditorInterface"));
|
|
23
|
-
var _withWorkflow = _interopRequireDefault(require("./withWorkflow"));
|
|
24
|
-
var _react2 = require("@emotion/react");
|
|
25
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
1
|
+
import _debounce from "lodash/debounce";
|
|
26
2
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
3
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
28
4
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
29
|
-
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
8
|
+
import { connect } from 'react-redux';
|
|
9
|
+
import { Loader } from 'decap-cms-ui-default';
|
|
10
|
+
import { translate } from 'react-polyglot';
|
|
11
|
+
import { history, navigateToCollection, navigateToNewEntry } from '../../routing/history';
|
|
12
|
+
import { logoutUser } from '../../actions/auth';
|
|
13
|
+
import { loadEntry, loadEntries, createDraftDuplicateFromEntry, createEmptyDraft, discardDraft, changeDraftField, changeDraftFieldValidation, persistEntry, deleteEntry, persistLocalBackup, loadLocalBackup, retrieveLocalBackup, deleteLocalBackup } from '../../actions/entries';
|
|
14
|
+
import { updateUnpublishedEntryStatus, publishUnpublishedEntry, unpublishPublishedEntry, deleteUnpublishedEntry } from '../../actions/editorialWorkflow';
|
|
15
|
+
import { loadDeployPreview } from '../../actions/deploys';
|
|
16
|
+
import { selectEntry, selectUnpublishedEntry, selectDeployPreview } from '../../reducers';
|
|
17
|
+
import { selectFields } from '../../reducers/collections';
|
|
18
|
+
import { status, EDITORIAL_WORKFLOW } from '../../constants/publishModes';
|
|
19
|
+
import EditorInterface from './EditorInterface';
|
|
20
|
+
import withWorkflow from './withWorkflow';
|
|
21
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
22
|
+
export class Editor extends React.Component {
|
|
30
23
|
constructor(...args) {
|
|
31
24
|
super(...args);
|
|
32
|
-
_defineProperty(this, "createBackup", (
|
|
25
|
+
_defineProperty(this, "createBackup", _debounce(function (entry, collection) {
|
|
33
26
|
this.props.persistLocalBackup(entry, collection);
|
|
34
27
|
}, 2000));
|
|
35
28
|
_defineProperty(this, "handleChangeDraftField", (field, value, metadata, i18n) => {
|
|
@@ -55,7 +48,7 @@ class Editor extends _react.default.Component {
|
|
|
55
48
|
window.alert(t('editor.editor.onUpdatingWithUnsavedChanges'));
|
|
56
49
|
return;
|
|
57
50
|
}
|
|
58
|
-
const newStatus =
|
|
51
|
+
const newStatus = status.get(newStatusName);
|
|
59
52
|
updateUnpublishedEntryStatus(collection.get('name'), slug, currentStatus, newStatus);
|
|
60
53
|
});
|
|
61
54
|
_defineProperty(this, "handlePersistEntry", async (opts = {}) => {
|
|
@@ -76,7 +69,7 @@ class Editor extends _react.default.Component {
|
|
|
76
69
|
await persistEntry(collection);
|
|
77
70
|
this.deleteBackup();
|
|
78
71
|
if (createNew) {
|
|
79
|
-
|
|
72
|
+
navigateToNewEntry(collection.get('name'));
|
|
80
73
|
duplicate && createDraftDuplicateFromEntry(entryDraft.get('entry'));
|
|
81
74
|
} else if (slug && hasWorkflow && !currentStatus) {
|
|
82
75
|
loadEntry(collection, slug);
|
|
@@ -96,7 +89,7 @@ class Editor extends _react.default.Component {
|
|
|
96
89
|
currentStatus,
|
|
97
90
|
t
|
|
98
91
|
} = this.props;
|
|
99
|
-
if (currentStatus !==
|
|
92
|
+
if (currentStatus !== status.last()) {
|
|
100
93
|
window.alert(t('editor.editor.onPublishingNotReady'));
|
|
101
94
|
return;
|
|
102
95
|
} else if (entryDraft.get('hasChanged')) {
|
|
@@ -108,7 +101,7 @@ class Editor extends _react.default.Component {
|
|
|
108
101
|
await publishUnpublishedEntry(collection.get('name'), slug);
|
|
109
102
|
this.deleteBackup();
|
|
110
103
|
if (createNew) {
|
|
111
|
-
|
|
104
|
+
navigateToNewEntry(collection.get('name'));
|
|
112
105
|
}
|
|
113
106
|
duplicate && createDraftDuplicateFromEntry(entryDraft.get('entry'));
|
|
114
107
|
});
|
|
@@ -121,7 +114,7 @@ class Editor extends _react.default.Component {
|
|
|
121
114
|
} = this.props;
|
|
122
115
|
if (!window.confirm(t('editor.editor.onUnpublishing'))) return;
|
|
123
116
|
await unpublishPublishedEntry(collection, slug);
|
|
124
|
-
return
|
|
117
|
+
return navigateToCollection(collection.get('name'));
|
|
125
118
|
});
|
|
126
119
|
_defineProperty(this, "handleDuplicateEntry", () => {
|
|
127
120
|
const {
|
|
@@ -129,7 +122,7 @@ class Editor extends _react.default.Component {
|
|
|
129
122
|
collection,
|
|
130
123
|
entryDraft
|
|
131
124
|
} = this.props;
|
|
132
|
-
|
|
125
|
+
navigateToNewEntry(collection.get('name'));
|
|
133
126
|
createDraftDuplicateFromEntry(entryDraft.get('entry'));
|
|
134
127
|
});
|
|
135
128
|
_defineProperty(this, "handleDeleteEntry", () => {
|
|
@@ -149,12 +142,12 @@ class Editor extends _react.default.Component {
|
|
|
149
142
|
return;
|
|
150
143
|
}
|
|
151
144
|
if (newEntry) {
|
|
152
|
-
return
|
|
145
|
+
return navigateToCollection(collection.get('name'));
|
|
153
146
|
}
|
|
154
147
|
setTimeout(async () => {
|
|
155
148
|
await deleteEntry(collection, slug);
|
|
156
149
|
this.deleteBackup();
|
|
157
|
-
return
|
|
150
|
+
return navigateToCollection(collection.get('name'));
|
|
158
151
|
}, 0);
|
|
159
152
|
});
|
|
160
153
|
_defineProperty(this, "handleDeleteUnpublishedChanges", async () => {
|
|
@@ -177,7 +170,7 @@ class Editor extends _react.default.Component {
|
|
|
177
170
|
if (isModification) {
|
|
178
171
|
loadEntry(collection, slug);
|
|
179
172
|
} else {
|
|
180
|
-
|
|
173
|
+
navigateToCollection(collection.get('name'));
|
|
181
174
|
}
|
|
182
175
|
});
|
|
183
176
|
}
|
|
@@ -223,13 +216,13 @@ class Editor extends _react.default.Component {
|
|
|
223
216
|
return leaveMessage;
|
|
224
217
|
}
|
|
225
218
|
};
|
|
226
|
-
const unblock =
|
|
219
|
+
const unblock = history.block(navigationBlocker);
|
|
227
220
|
|
|
228
221
|
/**
|
|
229
222
|
* This will run as soon as the location actually changes, unless creating
|
|
230
223
|
* a new post. The confirmation above will run first.
|
|
231
224
|
*/
|
|
232
|
-
this.unlisten =
|
|
225
|
+
this.unlisten = history.listen((location, action) => {
|
|
233
226
|
const newEntryPath = `/collections/${collection.get('name')}/new`;
|
|
234
227
|
const entriesPath = `/collections/${collection.get('name')}/entries/`;
|
|
235
228
|
const {
|
|
@@ -308,13 +301,13 @@ class Editor extends _react.default.Component {
|
|
|
308
301
|
} = this.props;
|
|
309
302
|
const isPublished = !newEntry && !unpublishedEntry;
|
|
310
303
|
if (entry && entry.get('error')) {
|
|
311
|
-
return (
|
|
304
|
+
return ___EmotionJSX("div", null, ___EmotionJSX("h3", null, entry.get('error')));
|
|
312
305
|
} else if (entryDraft == null || entryDraft.get('entry') === undefined || entry && entry.get('isFetching')) {
|
|
313
|
-
return (
|
|
306
|
+
return ___EmotionJSX(Loader, {
|
|
314
307
|
active: true
|
|
315
308
|
}, t('editor.editor.loadingEntry'));
|
|
316
309
|
}
|
|
317
|
-
return (
|
|
310
|
+
return ___EmotionJSX(EditorInterface, {
|
|
318
311
|
draftKey: draftKey,
|
|
319
312
|
entry: entryDraft.get('entry'),
|
|
320
313
|
collection: collection,
|
|
@@ -348,49 +341,48 @@ class Editor extends _react.default.Component {
|
|
|
348
341
|
});
|
|
349
342
|
}
|
|
350
343
|
}
|
|
351
|
-
exports.Editor = Editor;
|
|
352
344
|
_defineProperty(Editor, "propTypes", {
|
|
353
|
-
changeDraftField:
|
|
354
|
-
changeDraftFieldValidation:
|
|
355
|
-
collection:
|
|
356
|
-
createDraftDuplicateFromEntry:
|
|
357
|
-
createEmptyDraft:
|
|
358
|
-
discardDraft:
|
|
359
|
-
entry:
|
|
360
|
-
entryDraft:
|
|
361
|
-
loadEntry:
|
|
362
|
-
persistEntry:
|
|
363
|
-
deleteEntry:
|
|
364
|
-
showDelete:
|
|
365
|
-
fields:
|
|
366
|
-
slug:
|
|
367
|
-
newEntry:
|
|
368
|
-
displayUrl:
|
|
369
|
-
hasWorkflow:
|
|
370
|
-
useOpenAuthoring:
|
|
371
|
-
unpublishedEntry:
|
|
372
|
-
isModification:
|
|
373
|
-
collectionEntriesLoaded:
|
|
374
|
-
updateUnpublishedEntryStatus:
|
|
375
|
-
publishUnpublishedEntry:
|
|
376
|
-
deleteUnpublishedEntry:
|
|
377
|
-
logoutUser:
|
|
378
|
-
loadEntries:
|
|
379
|
-
deployPreview:
|
|
380
|
-
loadDeployPreview:
|
|
381
|
-
currentStatus:
|
|
382
|
-
user:
|
|
383
|
-
location:
|
|
384
|
-
pathname:
|
|
385
|
-
search:
|
|
345
|
+
changeDraftField: PropTypes.func.isRequired,
|
|
346
|
+
changeDraftFieldValidation: PropTypes.func.isRequired,
|
|
347
|
+
collection: ImmutablePropTypes.map.isRequired,
|
|
348
|
+
createDraftDuplicateFromEntry: PropTypes.func.isRequired,
|
|
349
|
+
createEmptyDraft: PropTypes.func.isRequired,
|
|
350
|
+
discardDraft: PropTypes.func.isRequired,
|
|
351
|
+
entry: ImmutablePropTypes.map,
|
|
352
|
+
entryDraft: ImmutablePropTypes.map.isRequired,
|
|
353
|
+
loadEntry: PropTypes.func.isRequired,
|
|
354
|
+
persistEntry: PropTypes.func.isRequired,
|
|
355
|
+
deleteEntry: PropTypes.func.isRequired,
|
|
356
|
+
showDelete: PropTypes.bool.isRequired,
|
|
357
|
+
fields: ImmutablePropTypes.list.isRequired,
|
|
358
|
+
slug: PropTypes.string,
|
|
359
|
+
newEntry: PropTypes.bool.isRequired,
|
|
360
|
+
displayUrl: PropTypes.string,
|
|
361
|
+
hasWorkflow: PropTypes.bool,
|
|
362
|
+
useOpenAuthoring: PropTypes.bool,
|
|
363
|
+
unpublishedEntry: PropTypes.bool,
|
|
364
|
+
isModification: PropTypes.bool,
|
|
365
|
+
collectionEntriesLoaded: PropTypes.bool,
|
|
366
|
+
updateUnpublishedEntryStatus: PropTypes.func.isRequired,
|
|
367
|
+
publishUnpublishedEntry: PropTypes.func.isRequired,
|
|
368
|
+
deleteUnpublishedEntry: PropTypes.func.isRequired,
|
|
369
|
+
logoutUser: PropTypes.func.isRequired,
|
|
370
|
+
loadEntries: PropTypes.func.isRequired,
|
|
371
|
+
deployPreview: PropTypes.object,
|
|
372
|
+
loadDeployPreview: PropTypes.func.isRequired,
|
|
373
|
+
currentStatus: PropTypes.string,
|
|
374
|
+
user: PropTypes.object,
|
|
375
|
+
location: PropTypes.shape({
|
|
376
|
+
pathname: PropTypes.string,
|
|
377
|
+
search: PropTypes.string
|
|
386
378
|
}),
|
|
387
|
-
hasChanged:
|
|
388
|
-
t:
|
|
389
|
-
retrieveLocalBackup:
|
|
390
|
-
localBackup:
|
|
391
|
-
loadLocalBackup:
|
|
392
|
-
persistLocalBackup:
|
|
393
|
-
deleteLocalBackup:
|
|
379
|
+
hasChanged: PropTypes.bool,
|
|
380
|
+
t: PropTypes.func.isRequired,
|
|
381
|
+
retrieveLocalBackup: PropTypes.func.isRequired,
|
|
382
|
+
localBackup: ImmutablePropTypes.map,
|
|
383
|
+
loadLocalBackup: PropTypes.func,
|
|
384
|
+
persistLocalBackup: PropTypes.func.isRequired,
|
|
385
|
+
deleteLocalBackup: PropTypes.func
|
|
394
386
|
});
|
|
395
387
|
function mapStateToProps(state, ownProps) {
|
|
396
388
|
const {
|
|
@@ -405,19 +397,19 @@ function mapStateToProps(state, ownProps) {
|
|
|
405
397
|
const collection = collections.get(ownProps.match.params.name);
|
|
406
398
|
const collectionName = collection.get('name');
|
|
407
399
|
const newEntry = ownProps.newRecord === true;
|
|
408
|
-
const fields =
|
|
409
|
-
const entry = newEntry ? null :
|
|
400
|
+
const fields = selectFields(collection, slug);
|
|
401
|
+
const entry = newEntry ? null : selectEntry(state, collectionName, slug);
|
|
410
402
|
const user = auth.user;
|
|
411
403
|
const hasChanged = entryDraft.get('hasChanged');
|
|
412
404
|
const displayUrl = config.display_url;
|
|
413
|
-
const hasWorkflow = config.publish_mode ===
|
|
405
|
+
const hasWorkflow = config.publish_mode === EDITORIAL_WORKFLOW;
|
|
414
406
|
const useOpenAuthoring = globalUI.useOpenAuthoring;
|
|
415
407
|
const isModification = entryDraft.getIn(['entry', 'isModification']);
|
|
416
408
|
const collectionEntriesLoaded = !!entries.getIn(['pages', collectionName]);
|
|
417
|
-
const unPublishedEntry =
|
|
418
|
-
const publishedEntry =
|
|
409
|
+
const unPublishedEntry = selectUnpublishedEntry(state, collectionName, slug);
|
|
410
|
+
const publishedEntry = selectEntry(state, collectionName, slug);
|
|
419
411
|
const currentStatus = unPublishedEntry && unPublishedEntry.get('status');
|
|
420
|
-
const deployPreview =
|
|
412
|
+
const deployPreview = selectDeployPreview(state, collectionName, slug);
|
|
421
413
|
const localBackup = entryDraft.get('localBackup');
|
|
422
414
|
const draftKey = entryDraft.get('key');
|
|
423
415
|
let editorBackLink = `/collections/${collectionName}`;
|
|
@@ -455,24 +447,24 @@ function mapStateToProps(state, ownProps) {
|
|
|
455
447
|
};
|
|
456
448
|
}
|
|
457
449
|
const mapDispatchToProps = {
|
|
458
|
-
changeDraftField
|
|
459
|
-
changeDraftFieldValidation
|
|
460
|
-
loadEntry
|
|
461
|
-
loadEntries
|
|
462
|
-
loadDeployPreview
|
|
463
|
-
loadLocalBackup
|
|
464
|
-
retrieveLocalBackup
|
|
465
|
-
persistLocalBackup
|
|
466
|
-
deleteLocalBackup
|
|
467
|
-
createDraftDuplicateFromEntry
|
|
468
|
-
createEmptyDraft
|
|
469
|
-
discardDraft
|
|
470
|
-
persistEntry
|
|
471
|
-
deleteEntry
|
|
472
|
-
updateUnpublishedEntryStatus
|
|
473
|
-
publishUnpublishedEntry
|
|
474
|
-
unpublishPublishedEntry
|
|
475
|
-
deleteUnpublishedEntry
|
|
476
|
-
logoutUser
|
|
450
|
+
changeDraftField,
|
|
451
|
+
changeDraftFieldValidation,
|
|
452
|
+
loadEntry,
|
|
453
|
+
loadEntries,
|
|
454
|
+
loadDeployPreview,
|
|
455
|
+
loadLocalBackup,
|
|
456
|
+
retrieveLocalBackup,
|
|
457
|
+
persistLocalBackup,
|
|
458
|
+
deleteLocalBackup,
|
|
459
|
+
createDraftDuplicateFromEntry,
|
|
460
|
+
createEmptyDraft,
|
|
461
|
+
discardDraft,
|
|
462
|
+
persistEntry,
|
|
463
|
+
deleteEntry,
|
|
464
|
+
updateUnpublishedEntryStatus,
|
|
465
|
+
publishUnpublishedEntry,
|
|
466
|
+
unpublishPublishedEntry,
|
|
467
|
+
deleteUnpublishedEntry,
|
|
468
|
+
logoutUser
|
|
477
469
|
};
|
|
478
|
-
|
|
470
|
+
export default connect(mapStateToProps, mapDispatchToProps)(withWorkflow(translate()(Editor)));
|