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.
Files changed (137) hide show
  1. package/dist/decap-cms-core.js +9 -9
  2. package/dist/decap-cms-core.js.map +1 -1
  3. package/dist/esm/actions/auth.js +22 -37
  4. package/dist/esm/actions/collections.js +9 -17
  5. package/dist/esm/actions/config.js +58 -74
  6. package/dist/esm/actions/deploys.js +10 -17
  7. package/dist/esm/actions/editorialWorkflow.js +87 -101
  8. package/dist/esm/actions/entries.js +161 -211
  9. package/dist/esm/actions/media.js +31 -46
  10. package/dist/esm/actions/mediaLibrary.js +94 -126
  11. package/dist/esm/actions/notifications.js +5 -13
  12. package/dist/esm/actions/search.js +30 -47
  13. package/dist/esm/actions/status.js +13 -23
  14. package/dist/esm/actions/waitUntil.js +4 -11
  15. package/dist/esm/backend.js +132 -148
  16. package/dist/esm/bootstrap.js +37 -44
  17. package/dist/esm/components/App/App.js +82 -89
  18. package/dist/esm/components/App/Header.js +46 -52
  19. package/dist/esm/components/App/NotFoundPage.js +11 -18
  20. package/dist/esm/components/Collection/Collection.js +55 -63
  21. package/dist/esm/components/Collection/CollectionControls.js +15 -22
  22. package/dist/esm/components/Collection/CollectionSearch.js +35 -42
  23. package/dist/esm/components/Collection/CollectionTop.js +23 -30
  24. package/dist/esm/components/Collection/ControlButton.js +10 -16
  25. package/dist/esm/components/Collection/Entries/Entries.js +24 -31
  26. package/dist/esm/components/Collection/Entries/EntriesCollection.js +52 -62
  27. package/dist/esm/components/Collection/Entries/EntriesSearch.js +26 -33
  28. package/dist/esm/components/Collection/Entries/EntryCard.js +38 -45
  29. package/dist/esm/components/Collection/Entries/EntryListing.js +24 -32
  30. package/dist/esm/components/Collection/FilterControl.js +9 -16
  31. package/dist/esm/components/Collection/GroupControl.js +9 -16
  32. package/dist/esm/components/Collection/NestedCollection.js +54 -65
  33. package/dist/esm/components/Collection/Sidebar.js +36 -43
  34. package/dist/esm/components/Collection/SortControl.js +19 -26
  35. package/dist/esm/components/Collection/ViewStyleControl.js +17 -24
  36. package/dist/esm/components/Editor/Editor.js +100 -108
  37. package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +105 -112
  38. package/dist/esm/components/Editor/EditorControlPane/EditorControlPane.js +68 -62
  39. package/dist/esm/components/Editor/EditorControlPane/Widget.js +87 -73
  40. package/dist/esm/components/Editor/EditorInterface.js +95 -98
  41. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreview.js +13 -21
  42. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewContent.js +64 -23
  43. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewPane.js +94 -78
  44. package/dist/esm/components/Editor/EditorPreviewPane/PreviewHOC.js +9 -16
  45. package/dist/esm/components/Editor/EditorToolbar.js +133 -140
  46. package/dist/esm/components/Editor/withWorkflow.js +15 -22
  47. package/dist/esm/components/EditorWidgets/Unknown/UnknownControl.js +9 -16
  48. package/dist/esm/components/EditorWidgets/Unknown/UnknownPreview.js +9 -16
  49. package/dist/esm/components/EditorWidgets/index.js +4 -7
  50. package/dist/esm/components/MediaLibrary/EmptyMessage.js +12 -19
  51. package/dist/esm/components/MediaLibrary/MediaLibrary.js +55 -62
  52. package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +28 -35
  53. package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +36 -43
  54. package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +50 -57
  55. package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +16 -23
  56. package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +59 -64
  57. package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +18 -25
  58. package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +39 -46
  59. package/dist/esm/components/UI/DragDrop.js +21 -30
  60. package/dist/esm/components/UI/ErrorBoundary.js +35 -43
  61. package/dist/esm/components/UI/FileUploadButton.js +11 -18
  62. package/dist/esm/components/UI/Modal.js +19 -26
  63. package/dist/esm/components/UI/Notifications.js +21 -28
  64. package/dist/esm/components/UI/SettingsDropdown.js +28 -34
  65. package/dist/esm/components/UI/index.js +6 -60
  66. package/dist/esm/components/Workflow/Workflow.js +52 -61
  67. package/dist/esm/components/Workflow/WorkflowCard.js +45 -51
  68. package/dist/esm/components/Workflow/WorkflowList.js +43 -49
  69. package/dist/esm/constants/collectionTypes.js +2 -8
  70. package/dist/esm/constants/collectionViews.js +2 -8
  71. package/dist/esm/constants/commitProps.js +2 -8
  72. package/dist/esm/constants/configSchema.js +20 -27
  73. package/dist/esm/constants/fieldInference.js +8 -15
  74. package/dist/esm/constants/publishModes.js +6 -11
  75. package/dist/esm/constants/validationErrorTypes.js +1 -7
  76. package/dist/esm/formats/formats.js +32 -41
  77. package/dist/esm/formats/frontmatter.js +18 -30
  78. package/dist/esm/formats/helpers.js +1 -7
  79. package/dist/esm/formats/json.js +1 -7
  80. package/dist/esm/formats/toml.js +11 -18
  81. package/dist/esm/formats/yaml.js +7 -14
  82. package/dist/esm/index.js +5 -12
  83. package/dist/esm/integrations/index.js +8 -16
  84. package/dist/esm/integrations/providers/algolia/implementation.js +14 -22
  85. package/dist/esm/integrations/providers/assetStore/implementation.js +10 -18
  86. package/dist/esm/lib/consoleError.js +1 -7
  87. package/dist/esm/lib/formatters.js +34 -47
  88. package/dist/esm/lib/i18n.js +37 -66
  89. package/dist/esm/lib/phrases.js +4 -11
  90. package/dist/esm/lib/registry.js +40 -75
  91. package/dist/esm/lib/serializeEntryValues.js +11 -18
  92. package/dist/esm/lib/textHelper.js +1 -7
  93. package/dist/esm/lib/urlHelper.js +28 -43
  94. package/dist/esm/mediaLibrary.js +12 -16
  95. package/dist/esm/reducers/auth.js +10 -16
  96. package/dist/esm/reducers/collections.js +70 -102
  97. package/dist/esm/reducers/combinedReducer.js +4 -11
  98. package/dist/esm/reducers/config.js +11 -19
  99. package/dist/esm/reducers/cursors.js +12 -18
  100. package/dist/esm/reducers/deploys.js +8 -15
  101. package/dist/esm/reducers/editorialWorkflow.js +37 -47
  102. package/dist/esm/reducers/entries.js +107 -132
  103. package/dist/esm/reducers/entryDraft.js +64 -72
  104. package/dist/esm/reducers/globalUI.js +5 -11
  105. package/dist/esm/reducers/index.js +43 -64
  106. package/dist/esm/reducers/integrations.js +8 -16
  107. package/dist/esm/reducers/mediaLibrary.js +43 -52
  108. package/dist/esm/reducers/medias.js +11 -18
  109. package/dist/esm/reducers/notifications.js +9 -15
  110. package/dist/esm/reducers/search.js +12 -18
  111. package/dist/esm/reducers/status.js +7 -13
  112. package/dist/esm/redux/index.js +7 -13
  113. package/dist/esm/redux/middleware/waitUntilAction.js +3 -10
  114. package/dist/esm/routing/history.js +7 -15
  115. package/dist/esm/types/diacritics.d.js +0 -1
  116. package/dist/esm/types/global.d.js +1 -5
  117. package/dist/esm/types/immutable.js +1 -5
  118. package/dist/esm/types/redux.js +7 -8
  119. package/dist/esm/types/tomlify-j0.4.d.js +0 -1
  120. package/dist/esm/valueObjects/AssetProxy.js +2 -10
  121. package/dist/esm/valueObjects/EditorComponent.js +5 -12
  122. package/dist/esm/valueObjects/Entry.js +3 -10
  123. package/package.json +3 -2
  124. package/src/components/Collection/Entries/EntriesCollection.js +7 -8
  125. package/src/components/Collection/Entries/__tests__/EntriesCollection.spec.js +3 -5
  126. package/src/components/Collection/Entries/__tests__/__snapshots__/EntriesCollection.spec.js.snap +8 -8
  127. package/src/components/Collection/NestedCollection.js +2 -2
  128. package/src/components/Collection/__tests__/__snapshots__/NestedCollection.spec.js.snap +68 -0
  129. package/src/components/Editor/EditorControlPane/EditorControl.js +0 -3
  130. package/src/components/Editor/EditorControlPane/EditorControlPane.js +21 -8
  131. package/src/components/Editor/EditorControlPane/Widget.js +22 -1
  132. package/src/components/Editor/EditorInterface.js +6 -1
  133. package/src/components/Editor/EditorPreviewPane/EditorPreviewContent.js +51 -11
  134. package/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js +33 -1
  135. package/dist/esm/actions/editorControl.js +0 -14
  136. package/dist/esm/reducers/editorComponent.js +0 -1
  137. package/dist/esm/reducers/editorControl.js +0 -17
@@ -1,64 +1,32 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- exports.getFieldsNames = getFieldsNames;
8
- exports.getFileFromSlug = getFileFromSlug;
9
- exports.selectAllowDeletion = selectAllowDeletion;
10
- exports.selectAllowNewEntries = selectAllowNewEntries;
11
- exports.selectDefaultSortableFields = selectDefaultSortableFields;
12
- exports.selectEntryCollectionTitle = selectEntryCollectionTitle;
13
- exports.selectEntryPath = selectEntryPath;
14
- exports.selectEntrySlug = selectEntrySlug;
15
- exports.selectField = selectField;
16
- exports.selectFields = selectFields;
17
- exports.selectFieldsComments = selectFieldsComments;
18
- exports.selectFieldsWithMediaFolders = selectFieldsWithMediaFolders;
19
- exports.selectFileEntryLabel = selectFileEntryLabel;
20
- exports.selectFolderEntryExtension = selectFolderEntryExtension;
21
- exports.selectHasMetaPath = selectHasMetaPath;
22
- exports.selectIdentifier = selectIdentifier;
23
- exports.selectInferredField = selectInferredField;
24
- exports.selectMediaFolders = selectMediaFolders;
25
- exports.selectSortDataPath = selectSortDataPath;
26
- exports.selectSortableFields = selectSortableFields;
27
- exports.selectTemplateName = selectTemplateName;
28
- exports.selectViewFilters = selectViewFilters;
29
- exports.selectViewGroups = selectViewGroups;
30
- exports.traverseFields = traverseFields;
31
- exports.updateFieldByKey = updateFieldByKey;
32
- var _escapeRegExp2 = _interopRequireDefault(require("lodash/escapeRegExp"));
33
- var _get2 = _interopRequireDefault(require("lodash/get"));
34
- var _immutable = require("immutable");
35
- var _decapCmsLibWidgets = require("decap-cms-lib-widgets");
36
- var _consoleError = _interopRequireDefault(require("../lib/consoleError"));
37
- var _config = require("../actions/config");
38
- var _collectionTypes = require("../constants/collectionTypes");
39
- var _commitProps = require("../constants/commitProps");
40
- var _fieldInference = require("../constants/fieldInference");
41
- var _formats = require("../formats/formats");
42
- var _entries = require("./entries");
43
- var _formatters = require("../lib/formatters");
44
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1
+ import _escapeRegExp from "lodash/escapeRegExp";
2
+ import _get from "lodash/get";
45
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
46
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
47
5
  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; }
48
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
49
7
  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); }
8
+ import { List, Set, fromJS, OrderedMap } from 'immutable';
9
+ import { stringTemplate } from 'decap-cms-lib-widgets';
10
+ import consoleError from '../lib/consoleError';
11
+ import { CONFIG_SUCCESS } from '../actions/config';
12
+ import { FILES, FOLDER } from '../constants/collectionTypes';
13
+ import { COMMIT_DATE, COMMIT_AUTHOR } from '../constants/commitProps';
14
+ import { INFERABLE_FIELDS, IDENTIFIER_FIELDS, SORTABLE_FIELDS } from '../constants/fieldInference';
15
+ import { getFormatExtensions } from '../formats/formats';
16
+ import { selectMediaFolder } from './entries';
17
+ import { summaryFormatter } from '../lib/formatters';
50
18
  const {
51
19
  keyToPathArray
52
- } = _decapCmsLibWidgets.stringTemplate;
53
- const defaultState = (0, _immutable.fromJS)({});
20
+ } = stringTemplate;
21
+ const defaultState = fromJS({});
54
22
  function collections(state = defaultState, action) {
55
23
  switch (action.type) {
56
- case _config.CONFIG_SUCCESS:
24
+ case CONFIG_SUCCESS:
57
25
  {
58
26
  const collections = action.payload.collections;
59
- let newState = (0, _immutable.OrderedMap)({});
27
+ let newState = OrderedMap({});
60
28
  collections.forEach(collection => {
61
- newState = newState.set(collection.name, (0, _immutable.fromJS)(collection));
29
+ newState = newState.set(collection.name, fromJS(collection));
62
30
  });
63
31
  return newState;
64
32
  }
@@ -67,9 +35,9 @@ function collections(state = defaultState, action) {
67
35
  }
68
36
  }
69
37
  const selectors = {
70
- [_collectionTypes.FOLDER]: {
38
+ [FOLDER]: {
71
39
  entryExtension(collection) {
72
- const ext = collection.get('extension') || (0, _get2.default)((0, _formats.getFormatExtensions)(), collection.get('format') || 'frontmatter');
40
+ const ext = collection.get('extension') || _get(getFormatExtensions(), collection.get('format') || 'frontmatter');
73
41
  if (!ext) {
74
42
  throw new Error(`No extension found for format ${collection.get('format')}`);
75
43
  }
@@ -85,7 +53,7 @@ const selectors = {
85
53
  entrySlug(collection, path) {
86
54
  var _path$split$pop;
87
55
  const folder = collection.get('folder').replace(/\/$/, '');
88
- const slug = (_path$split$pop = path.split(folder + '/').pop()) === null || _path$split$pop === void 0 ? void 0 : _path$split$pop.replace(new RegExp(`\\.${(0, _escapeRegExp2.default)(this.entryExtension(collection))}$`), '');
56
+ const slug = (_path$split$pop = path.split(folder + '/').pop()) === null || _path$split$pop === void 0 ? void 0 : _path$split$pop.replace(new RegExp(`\\.${_escapeRegExp(this.entryExtension(collection))}$`), '');
89
57
  return slug;
90
58
  },
91
59
  allowNewEntries(collection) {
@@ -98,7 +66,7 @@ const selectors = {
98
66
  return collection.get('name');
99
67
  }
100
68
  },
101
- [_collectionTypes.FILES]: {
69
+ [FILES]: {
102
70
  fileForEntry(collection, slug) {
103
71
  const files = collection.get('files');
104
72
  return files && files.filter(f => (f === null || f === void 0 ? void 0 : f.get('name')) === slug).get(0);
@@ -151,11 +119,11 @@ function getFieldsWithMediaFolders(fields) {
151
119
  }, []);
152
120
  return fieldsWithMediaFolders;
153
121
  }
154
- function getFileFromSlug(collection, slug) {
122
+ export function getFileFromSlug(collection, slug) {
155
123
  var _collection$get;
156
124
  return (_collection$get = collection.get('files')) === null || _collection$get === void 0 ? void 0 : _collection$get.toArray().find(f => f.get('name') === slug);
157
125
  }
158
- function selectFieldsWithMediaFolders(collection, slug) {
126
+ export function selectFieldsWithMediaFolders(collection, slug) {
159
127
  if (collection.has('folder')) {
160
128
  const fields = collection.get('fields').toArray();
161
129
  return getFieldsWithMediaFolders(fields);
@@ -166,47 +134,47 @@ function selectFieldsWithMediaFolders(collection, slug) {
166
134
  }
167
135
  return [];
168
136
  }
169
- function selectMediaFolders(config, collection, entry) {
137
+ export function selectMediaFolders(config, collection, entry) {
170
138
  const fields = selectFieldsWithMediaFolders(collection, entry.get('slug'));
171
- const folders = fields.map(f => (0, _entries.selectMediaFolder)(config, collection, entry, f));
139
+ const folders = fields.map(f => selectMediaFolder(config, collection, entry, f));
172
140
  if (collection.has('files')) {
173
141
  const file = getFileFromSlug(collection, entry.get('slug'));
174
142
  if (file) {
175
- folders.unshift((0, _entries.selectMediaFolder)(config, collection, entry, undefined));
143
+ folders.unshift(selectMediaFolder(config, collection, entry, undefined));
176
144
  }
177
145
  }
178
146
  if (collection.has('media_folder')) {
179
147
  // stop evaluating media folders at collection level
180
148
  collection = collection.delete('files');
181
- folders.unshift((0, _entries.selectMediaFolder)(config, collection, entry, undefined));
149
+ folders.unshift(selectMediaFolder(config, collection, entry, undefined));
182
150
  }
183
- return (0, _immutable.Set)(folders).toArray();
151
+ return Set(folders).toArray();
184
152
  }
185
- function selectFields(collection, slug) {
153
+ export function selectFields(collection, slug) {
186
154
  return selectors[collection.get('type')].fields(collection, slug);
187
155
  }
188
- function selectFolderEntryExtension(collection) {
189
- return selectors[_collectionTypes.FOLDER].entryExtension(collection);
156
+ export function selectFolderEntryExtension(collection) {
157
+ return selectors[FOLDER].entryExtension(collection);
190
158
  }
191
- function selectFileEntryLabel(collection, slug) {
192
- return selectors[_collectionTypes.FILES].entryLabel(collection, slug);
159
+ export function selectFileEntryLabel(collection, slug) {
160
+ return selectors[FILES].entryLabel(collection, slug);
193
161
  }
194
- function selectEntryPath(collection, slug) {
162
+ export function selectEntryPath(collection, slug) {
195
163
  return selectors[collection.get('type')].entryPath(collection, slug);
196
164
  }
197
- function selectEntrySlug(collection, path) {
165
+ export function selectEntrySlug(collection, path) {
198
166
  return selectors[collection.get('type')].entrySlug(collection, path);
199
167
  }
200
- function selectAllowNewEntries(collection) {
168
+ export function selectAllowNewEntries(collection) {
201
169
  return selectors[collection.get('type')].allowNewEntries(collection);
202
170
  }
203
- function selectAllowDeletion(collection) {
171
+ export function selectAllowDeletion(collection) {
204
172
  return selectors[collection.get('type')].allowDeletion(collection);
205
173
  }
206
- function selectTemplateName(collection, slug) {
174
+ export function selectTemplateName(collection, slug) {
207
175
  return selectors[collection.get('type')].templateName(collection, slug);
208
176
  }
209
- function getFieldsNames(fields, prefix = '') {
177
+ export function getFieldsNames(fields, prefix = '') {
210
178
  let names = fields.map(f => `${prefix}${f.get('name')}`);
211
179
  fields.forEach((f, index) => {
212
180
  if (f.has('fields')) {
@@ -224,11 +192,11 @@ function getFieldsNames(fields, prefix = '') {
224
192
  });
225
193
  return names;
226
194
  }
227
- function selectField(collection, key) {
195
+ export function selectField(collection, key) {
228
196
  const array = keyToPathArray(key);
229
197
  let name;
230
198
  let field;
231
- let fields = collection.get('fields', (0, _immutable.List)()).toArray();
199
+ let fields = collection.get('fields', List()).toArray();
232
200
  while ((name = array.shift()) && fields) {
233
201
  var _field, _field3, _field5;
234
202
  field = fields.find(f => f.get('name') === name);
@@ -245,7 +213,7 @@ function selectField(collection, key) {
245
213
  }
246
214
  return field;
247
215
  }
248
- function traverseFields(fields, updater, done = () => false) {
216
+ export function traverseFields(fields, updater, done = () => false) {
249
217
  if (done()) {
250
218
  return fields;
251
219
  }
@@ -256,7 +224,7 @@ function traverseFields(fields, updater, done = () => false) {
256
224
  } else if (field.has('fields')) {
257
225
  return field.set('fields', traverseFields(field.get('fields'), updater, done));
258
226
  } else if (field.has('field')) {
259
- return field.set('field', traverseFields((0, _immutable.List)([field.get('field')]), updater, done).get(0));
227
+ return field.set('field', traverseFields(List([field.get('field')]), updater, done).get(0));
260
228
  } else if (field.has('types')) {
261
229
  return field.set('types', traverseFields(field.get('types'), updater, done));
262
230
  } else {
@@ -265,7 +233,7 @@ function traverseFields(fields, updater, done = () => false) {
265
233
  }).toList();
266
234
  return fields;
267
235
  }
268
- function updateFieldByKey(collection, key, updater) {
236
+ export function updateFieldByKey(collection, key, updater) {
269
237
  const selected = selectField(collection, key);
270
238
  if (!selected) {
271
239
  return collection;
@@ -280,20 +248,20 @@ function updateFieldByKey(collection, key, updater) {
280
248
  return field;
281
249
  }
282
250
  }
283
- collection = collection.set('fields', traverseFields(collection.get('fields', (0, _immutable.List)()), updateAndBreak, () => updated));
251
+ collection = collection.set('fields', traverseFields(collection.get('fields', List()), updateAndBreak, () => updated));
284
252
  return collection;
285
253
  }
286
- function selectIdentifier(collection) {
254
+ export function selectIdentifier(collection) {
287
255
  const identifier = collection.get('identifier_field');
288
- const identifierFields = identifier ? [identifier, ..._fieldInference.IDENTIFIER_FIELDS] : [..._fieldInference.IDENTIFIER_FIELDS];
289
- const fieldNames = getFieldsNames(collection.get('fields', (0, _immutable.List)()).toArray());
256
+ const identifierFields = identifier ? [identifier, ...IDENTIFIER_FIELDS] : [...IDENTIFIER_FIELDS];
257
+ const fieldNames = getFieldsNames(collection.get('fields', List()).toArray());
290
258
  return identifierFields.find(id => fieldNames.find(name => name.toLowerCase().trim() === id.toLowerCase().trim()));
291
259
  }
292
- function selectInferredField(collection, fieldName) {
260
+ export function selectInferredField(collection, fieldName) {
293
261
  if (fieldName === 'title' && collection.get('identifier_field')) {
294
262
  return selectIdentifier(collection);
295
263
  }
296
- const inferableField = _fieldInference.INFERABLE_FIELDS[fieldName];
264
+ const inferableField = INFERABLE_FIELDS[fieldName];
297
265
  const fields = collection.get('fields');
298
266
  let field;
299
267
 
@@ -314,17 +282,17 @@ function selectInferredField(collection, fieldName) {
314
282
 
315
283
  // Coundn't infer the field. Show error and return null.
316
284
  if (inferableField.showError) {
317
- (0, _consoleError.default)(`The Field ${fieldName} is missing for the collection “${collection.get('name')}”`, `Decap CMS tries to infer the entry ${fieldName} automatically, but one couldn't be found for entries of the collection “${collection.get('name')}”. Please check your site configuration.`);
285
+ consoleError(`The Field ${fieldName} is missing for the collection “${collection.get('name')}”`, `Decap CMS tries to infer the entry ${fieldName} automatically, but one couldn't be found for entries of the collection “${collection.get('name')}”. Please check your site configuration.`);
318
286
  }
319
287
  return null;
320
288
  }
321
- function selectEntryCollectionTitle(collection, entry) {
289
+ export function selectEntryCollectionTitle(collection, entry) {
322
290
  // prefer formatted summary over everything else
323
291
  const summaryTemplate = collection.get('summary');
324
- if (summaryTemplate) return (0, _formatters.summaryFormatter)(summaryTemplate, entry, collection);
292
+ if (summaryTemplate) return summaryFormatter(summaryTemplate, entry, collection);
325
293
 
326
294
  // if the collection is a file collection return the label of the entry
327
- if (collection.get('type') == _collectionTypes.FILES) {
295
+ if (collection.get('type') == FILES) {
328
296
  const label = selectFileEntryLabel(collection, entry.get('slug'));
329
297
  if (label) return label;
330
298
  }
@@ -340,24 +308,24 @@ function selectEntryCollectionTitle(collection, entry) {
340
308
  }
341
309
  return result;
342
310
  }
343
- function selectDefaultSortableFields(collection, backend, hasIntegration) {
344
- let defaultSortable = _fieldInference.SORTABLE_FIELDS.map(type => {
311
+ export function selectDefaultSortableFields(collection, backend, hasIntegration) {
312
+ let defaultSortable = SORTABLE_FIELDS.map(type => {
345
313
  const field = selectInferredField(collection, type);
346
314
  if (backend.isGitBackend() && type === 'author' && !field && !hasIntegration) {
347
315
  // default to commit author if not author field is found
348
- return _commitProps.COMMIT_AUTHOR;
316
+ return COMMIT_AUTHOR;
349
317
  }
350
318
  return field;
351
319
  }).filter(Boolean);
352
320
  if (backend.isGitBackend() && !hasIntegration) {
353
321
  // always have commit date by default
354
- defaultSortable = [_commitProps.COMMIT_DATE, ...defaultSortable];
322
+ defaultSortable = [COMMIT_DATE, ...defaultSortable];
355
323
  }
356
324
  return defaultSortable;
357
325
  }
358
- function selectSortableFields(collection, t) {
326
+ export function selectSortableFields(collection, t) {
359
327
  const fields = collection.get('sortable_fields').toArray().map(key => {
360
- if (key === _commitProps.COMMIT_DATE) {
328
+ if (key === COMMIT_DATE) {
361
329
  return {
362
330
  key,
363
331
  field: {
@@ -367,7 +335,7 @@ function selectSortableFields(collection, t) {
367
335
  };
368
336
  }
369
337
  const field = selectField(collection, key);
370
- if (key === _commitProps.COMMIT_AUTHOR && !field) {
338
+ if (key === COMMIT_AUTHOR && !field) {
371
339
  return {
372
340
  key,
373
341
  field: {
@@ -385,24 +353,24 @@ function selectSortableFields(collection, t) {
385
353
  }));
386
354
  return fields;
387
355
  }
388
- function selectSortDataPath(collection, key) {
389
- if (key === _commitProps.COMMIT_DATE) {
356
+ export function selectSortDataPath(collection, key) {
357
+ if (key === COMMIT_DATE) {
390
358
  return 'updatedOn';
391
- } else if (key === _commitProps.COMMIT_AUTHOR && !selectField(collection, key)) {
359
+ } else if (key === COMMIT_AUTHOR && !selectField(collection, key)) {
392
360
  return 'author';
393
361
  } else {
394
362
  return `data.${key}`;
395
363
  }
396
364
  }
397
- function selectViewFilters(collection) {
365
+ export function selectViewFilters(collection) {
398
366
  const viewFilters = collection.get('view_filters').toJS();
399
367
  return viewFilters;
400
368
  }
401
- function selectViewGroups(collection) {
369
+ export function selectViewGroups(collection) {
402
370
  const viewGroups = collection.get('view_groups').toJS();
403
371
  return viewGroups;
404
372
  }
405
- function selectFieldsComments(collection, entryMap) {
373
+ export function selectFieldsComments(collection, entryMap) {
406
374
  let fields = [];
407
375
  if (collection.has('folder')) {
408
376
  fields = collection.get('fields').toArray();
@@ -420,8 +388,8 @@ function selectFieldsComments(collection, entryMap) {
420
388
  });
421
389
  return comments;
422
390
  }
423
- function selectHasMetaPath(collection) {
391
+ export function selectHasMetaPath(collection) {
424
392
  var _collection$get2;
425
- return collection.has('folder') && collection.get('type') === _collectionTypes.FOLDER && collection.has('meta') && ((_collection$get2 = collection.get('meta')) === null || _collection$get2 === void 0 ? void 0 : _collection$get2.has('path'));
393
+ return collection.has('folder') && collection.get('type') === FOLDER && collection.has('meta') && ((_collection$get2 = collection.get('meta')) === null || _collection$get2 === void 0 ? void 0 : _collection$get2.has('path'));
426
394
  }
427
- var _default = exports.default = collections;
395
+ export default collections;
@@ -1,18 +1,11 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _redux = require("redux");
8
- var _index = _interopRequireDefault(require("./index"));
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
1
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
2
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
3
  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; }
13
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
14
5
  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); }
6
+ import { combineReducers } from 'redux';
7
+ import reducers from './index';
15
8
  function createRootReducer() {
16
- return (0, _redux.combineReducers)(_objectSpread({}, _index.default));
9
+ return combineReducers(_objectSpread({}, reducers));
17
10
  }
18
- var _default = exports.default = createRootReducer;
11
+ export default createRootReducer;
@@ -1,41 +1,33 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- exports.selectLocale = selectLocale;
8
- exports.selectUseWorkflow = selectUseWorkflow;
9
- var _immer = require("immer");
10
- var _config = require("../actions/config");
11
- var _publishModes = require("../constants/publishModes");
12
1
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
2
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
3
  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; }
15
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
16
5
  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); }
6
+ import { produce } from 'immer';
7
+ import { CONFIG_REQUEST, CONFIG_SUCCESS, CONFIG_FAILURE } from '../actions/config';
8
+ import { EDITORIAL_WORKFLOW } from '../constants/publishModes';
17
9
  const defaultState = {
18
10
  isFetching: true
19
11
  };
20
- const config = (0, _immer.produce)((state, action) => {
12
+ const config = produce((state, action) => {
21
13
  switch (action.type) {
22
- case _config.CONFIG_REQUEST:
14
+ case CONFIG_REQUEST:
23
15
  state.isFetching = true;
24
16
  break;
25
- case _config.CONFIG_SUCCESS:
17
+ case CONFIG_SUCCESS:
26
18
  return _objectSpread(_objectSpread({}, action.payload), {}, {
27
19
  isFetching: false,
28
20
  error: undefined
29
21
  });
30
- case _config.CONFIG_FAILURE:
22
+ case CONFIG_FAILURE:
31
23
  state.isFetching = false;
32
24
  state.error = action.payload.toString();
33
25
  }
34
26
  }, defaultState);
35
- function selectLocale(state) {
27
+ export function selectLocale(state) {
36
28
  return state.locale || 'en';
37
29
  }
38
- function selectUseWorkflow(state) {
39
- return state.publish_mode === _publishModes.EDITORIAL_WORKFLOW;
30
+ export function selectUseWorkflow(state) {
31
+ return state.publish_mode === EDITORIAL_WORKFLOW;
40
32
  }
41
- var _default = exports.default = config;
33
+ export default config;
@@ -1,32 +1,26 @@
1
- "use strict";
1
+ import { fromJS } from 'immutable';
2
+ import { Cursor } from 'decap-cms-lib-util';
3
+ import { ENTRIES_SUCCESS, SORT_ENTRIES_SUCCESS, FILTER_ENTRIES_SUCCESS, GROUP_ENTRIES_SUCCESS } from '../actions/entries';
2
4
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- exports.selectCollectionEntriesCursor = selectCollectionEntriesCursor;
8
- var _immutable = require("immutable");
9
- var _decapCmsLibUtil = require("decap-cms-lib-util");
10
- var _entries = require("../actions/entries");
11
5
  // Since pagination can be used for a variety of views (collections
12
6
  // and searches are the most common examples), we namespace cursors by
13
7
  // their type before storing them in the state.
14
- function selectCollectionEntriesCursor(state, collectionName) {
15
- return new _decapCmsLibUtil.Cursor(state.getIn(['cursorsByType', 'collectionEntries', collectionName]));
8
+ export function selectCollectionEntriesCursor(state, collectionName) {
9
+ return new Cursor(state.getIn(['cursorsByType', 'collectionEntries', collectionName]));
16
10
  }
17
- function cursors(state = (0, _immutable.fromJS)({
11
+ function cursors(state = fromJS({
18
12
  cursorsByType: {
19
13
  collectionEntries: {}
20
14
  }
21
15
  }), action) {
22
16
  switch (action.type) {
23
- case _entries.ENTRIES_SUCCESS:
17
+ case ENTRIES_SUCCESS:
24
18
  {
25
- return state.setIn(['cursorsByType', 'collectionEntries', action.payload.collection], _decapCmsLibUtil.Cursor.create(action.payload.cursor).store);
19
+ return state.setIn(['cursorsByType', 'collectionEntries', action.payload.collection], Cursor.create(action.payload.cursor).store);
26
20
  }
27
- case _entries.FILTER_ENTRIES_SUCCESS:
28
- case _entries.GROUP_ENTRIES_SUCCESS:
29
- case _entries.SORT_ENTRIES_SUCCESS:
21
+ case FILTER_ENTRIES_SUCCESS:
22
+ case GROUP_ENTRIES_SUCCESS:
23
+ case SORT_ENTRIES_SUCCESS:
30
24
  {
31
25
  return state.deleteIn(['cursorsByType', 'collectionEntries', action.payload.collection]);
32
26
  }
@@ -34,4 +28,4 @@ function cursors(state = (0, _immutable.fromJS)({
34
28
  return state;
35
29
  }
36
30
  }
37
- var _default = exports.default = cursors;
31
+ export default cursors;
@@ -1,16 +1,9 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- exports.selectDeployPreview = selectDeployPreview;
8
- var _immer = require("immer");
9
- var _deploys = require("../actions/deploys");
1
+ import { produce } from 'immer';
2
+ import { DEPLOY_PREVIEW_REQUEST, DEPLOY_PREVIEW_SUCCESS, DEPLOY_PREVIEW_FAILURE } from '../actions/deploys';
10
3
  const defaultState = {};
11
- const deploys = (0, _immer.produce)((state, action) => {
4
+ const deploys = produce((state, action) => {
12
5
  switch (action.type) {
13
- case _deploys.DEPLOY_PREVIEW_REQUEST:
6
+ case DEPLOY_PREVIEW_REQUEST:
14
7
  {
15
8
  const {
16
9
  collection,
@@ -21,7 +14,7 @@ const deploys = (0, _immer.produce)((state, action) => {
21
14
  state[key].isFetching = true;
22
15
  break;
23
16
  }
24
- case _deploys.DEPLOY_PREVIEW_SUCCESS:
17
+ case DEPLOY_PREVIEW_SUCCESS:
25
18
  {
26
19
  const {
27
20
  collection,
@@ -35,7 +28,7 @@ const deploys = (0, _immer.produce)((state, action) => {
35
28
  state[key].status = status;
36
29
  break;
37
30
  }
38
- case _deploys.DEPLOY_PREVIEW_FAILURE:
31
+ case DEPLOY_PREVIEW_FAILURE:
39
32
  {
40
33
  const {
41
34
  collection,
@@ -46,7 +39,7 @@ const deploys = (0, _immer.produce)((state, action) => {
46
39
  }
47
40
  }
48
41
  }, defaultState);
49
- function selectDeployPreview(state, collection, slug) {
42
+ export function selectDeployPreview(state, collection, slug) {
50
43
  return state[`${collection}.${slug}`];
51
44
  }
52
- var _default = exports.default = deploys;
45
+ export default deploys;