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,53 +1,28 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- exports.selectEditingDraft = selectEditingDraft;
8
- exports.selectEntries = selectEntries;
9
- exports.selectEntriesFilter = selectEntriesFilter;
10
- exports.selectEntriesFilterFields = selectEntriesFilterFields;
11
- exports.selectEntriesGroup = selectEntriesGroup;
12
- exports.selectEntriesGroupField = selectEntriesGroupField;
13
- exports.selectEntriesLoaded = selectEntriesLoaded;
14
- exports.selectEntriesSort = selectEntriesSort;
15
- exports.selectEntriesSortFields = selectEntriesSortFields;
16
- exports.selectEntry = selectEntry;
17
- exports.selectEntryByPath = selectEntryByPath;
18
- exports.selectGroups = selectGroups;
19
- exports.selectIsFetching = selectIsFetching;
20
- exports.selectMediaFilePath = selectMediaFilePath;
21
- exports.selectMediaFilePublicPath = selectMediaFilePublicPath;
22
- exports.selectMediaFolder = selectMediaFolder;
23
- exports.selectPublishedSlugs = selectPublishedSlugs;
24
- exports.selectViewStyle = selectViewStyle;
25
- var _groupBy2 = _interopRequireDefault(require("lodash/groupBy"));
26
- var _orderBy2 = _interopRequireDefault(require("lodash/orderBy"));
27
- var _set2 = _interopRequireDefault(require("lodash/set"));
28
- var _sortBy2 = _interopRequireDefault(require("lodash/sortBy"));
29
- var _once2 = _interopRequireDefault(require("lodash/once"));
30
- var _trim2 = _interopRequireDefault(require("lodash/trim"));
31
- var _immutable = require("immutable");
32
- var _path = require("path");
33
- var _decapCmsLibUtil = require("decap-cms-lib-util");
34
- var _decapCmsLibWidgets = require("decap-cms-lib-widgets");
35
- var _redux = require("../types/redux");
36
- var _formatters = require("../lib/formatters");
37
- var _collections = require("./collections");
38
- var _search = require("../actions/search");
39
- var _entries = require("../actions/entries");
40
- var _collectionViews = require("../constants/collectionViews");
41
- var _urlHelper = require("../lib/urlHelper");
42
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1
+ import _groupBy from "lodash/groupBy";
2
+ import _orderBy from "lodash/orderBy";
3
+ import _set from "lodash/set";
4
+ import _sortBy from "lodash/sortBy";
5
+ import _once from "lodash/once";
6
+ import _trim from "lodash/trim";
43
7
  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; }
44
8
  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; }
45
9
  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; }
46
10
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
47
11
  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); }
12
+ import { Map, List, fromJS, OrderedMap, Set } from 'immutable';
13
+ import { dirname, join } from 'path';
14
+ import { isAbsolutePath, basename } from 'decap-cms-lib-util';
15
+ import { stringTemplate } from 'decap-cms-lib-widgets';
16
+ import { SortDirection } from '../types/redux';
17
+ import { folderFormatter } from '../lib/formatters';
18
+ import { selectSortDataPath } from './collections';
19
+ import { SEARCH_ENTRIES_SUCCESS } from '../actions/search';
20
+ import { ENTRY_REQUEST, ENTRY_SUCCESS, ENTRY_FAILURE, ENTRIES_REQUEST, ENTRIES_SUCCESS, ENTRIES_FAILURE, ENTRY_DELETE_SUCCESS, SORT_ENTRIES_REQUEST, SORT_ENTRIES_SUCCESS, SORT_ENTRIES_FAILURE, FILTER_ENTRIES_REQUEST, FILTER_ENTRIES_SUCCESS, FILTER_ENTRIES_FAILURE, GROUP_ENTRIES_REQUEST, GROUP_ENTRIES_SUCCESS, GROUP_ENTRIES_FAILURE, CHANGE_VIEW_STYLE } from '../actions/entries';
21
+ import { VIEW_STYLE_LIST } from '../constants/collectionViews';
22
+ import { joinUrlPath } from '../lib/urlHelper';
48
23
  const {
49
24
  keyToPathArray
50
- } = _decapCmsLibWidgets.stringTemplate;
25
+ } = stringTemplate;
51
26
  let collection;
52
27
  let loadedEntries;
53
28
  let append;
@@ -55,20 +30,20 @@ let page;
55
30
  let slug;
56
31
  const storageSortKey = 'decap-cms.entries.sort';
57
32
  const viewStyleKey = 'decap-cms.entries.viewStyle';
58
- const loadSort = (0, _once2.default)(() => {
33
+ const loadSort = _once(() => {
59
34
  const sortString = localStorage.getItem(storageSortKey);
60
35
  if (sortString) {
61
36
  try {
62
37
  const sort = JSON.parse(sortString);
63
- let map = (0, _immutable.Map)();
38
+ let map = Map();
64
39
  Object.entries(sort).forEach(([collection, sort]) => {
65
- let orderedMap = (0, _immutable.OrderedMap)();
66
- (0, _sortBy2.default)(Object.values(sort), ['index']).forEach(value => {
40
+ let orderedMap = OrderedMap();
41
+ _sortBy(Object.values(sort), ['index']).forEach(value => {
67
42
  const {
68
43
  key,
69
44
  direction
70
45
  } = value;
71
- orderedMap = orderedMap.set(key, (0, _immutable.fromJS)({
46
+ orderedMap = orderedMap.set(key, fromJS({
72
47
  key,
73
48
  direction
74
49
  }));
@@ -77,10 +52,10 @@ const loadSort = (0, _once2.default)(() => {
77
52
  });
78
53
  return map;
79
54
  } catch (e) {
80
- return (0, _immutable.Map)();
55
+ return Map();
81
56
  }
82
57
  }
83
- return (0, _immutable.Map)();
58
+ return Map();
84
59
  });
85
60
  function clearSort() {
86
61
  localStorage.removeItem(storageSortKey);
@@ -94,7 +69,7 @@ function persistSort(sort) {
94
69
  index
95
70
  }));
96
71
  sortObjects.forEach(value => {
97
- (0, _set2.default)(storageSort, [collection, value.key], value);
72
+ _set(storageSort, [collection, value.key], value);
98
73
  });
99
74
  });
100
75
  localStorage.setItem(storageSortKey, JSON.stringify(storageSort));
@@ -102,13 +77,13 @@ function persistSort(sort) {
102
77
  clearSort();
103
78
  }
104
79
  }
105
- const loadViewStyle = (0, _once2.default)(() => {
80
+ const loadViewStyle = _once(() => {
106
81
  const viewStyle = localStorage.getItem(viewStyleKey);
107
82
  if (viewStyle) {
108
83
  return viewStyle;
109
84
  }
110
- localStorage.setItem(viewStyleKey, _collectionViews.VIEW_STYLE_LIST);
111
- return _collectionViews.VIEW_STYLE_LIST;
85
+ localStorage.setItem(viewStyleKey, VIEW_STYLE_LIST);
86
+ return VIEW_STYLE_LIST;
112
87
  });
113
88
  function clearViewStyle() {
114
89
  localStorage.removeItem(viewStyleKey);
@@ -120,32 +95,32 @@ function persistViewStyle(viewStyle) {
120
95
  clearViewStyle();
121
96
  }
122
97
  }
123
- function entries(state = (0, _immutable.Map)({
124
- entities: (0, _immutable.Map)(),
125
- pages: (0, _immutable.Map)(),
98
+ function entries(state = Map({
99
+ entities: Map(),
100
+ pages: Map(),
126
101
  sort: loadSort(),
127
102
  viewStyle: loadViewStyle()
128
103
  }), action) {
129
104
  switch (action.type) {
130
- case _entries.ENTRY_REQUEST:
105
+ case ENTRY_REQUEST:
131
106
  {
132
107
  const payload = action.payload;
133
108
  return state.setIn(['entities', `${payload.collection}.${payload.slug}`, 'isFetching'], true);
134
109
  }
135
- case _entries.ENTRY_SUCCESS:
110
+ case ENTRY_SUCCESS:
136
111
  {
137
112
  const payload = action.payload;
138
113
  collection = payload.collection;
139
114
  slug = payload.entry.slug;
140
115
  return state.withMutations(map => {
141
- map.setIn(['entities', `${collection}.${slug}`], (0, _immutable.fromJS)(payload.entry));
142
- const ids = map.getIn(['pages', collection, 'ids'], (0, _immutable.List)());
116
+ map.setIn(['entities', `${collection}.${slug}`], fromJS(payload.entry));
117
+ const ids = map.getIn(['pages', collection, 'ids'], List());
143
118
  if (!ids.includes(slug)) {
144
119
  map.setIn(['pages', collection, 'ids'], ids.unshift(slug));
145
120
  }
146
121
  });
147
122
  }
148
- case _entries.ENTRIES_REQUEST:
123
+ case ENTRIES_REQUEST:
149
124
  {
150
125
  const payload = action.payload;
151
126
  const newState = state.withMutations(map => {
@@ -153,7 +128,7 @@ function entries(state = (0, _immutable.Map)({
153
128
  });
154
129
  return newState;
155
130
  }
156
- case _entries.ENTRIES_SUCCESS:
131
+ case ENTRIES_SUCCESS:
157
132
  {
158
133
  const payload = action.payload;
159
134
  collection = payload.collection;
@@ -161,17 +136,17 @@ function entries(state = (0, _immutable.Map)({
161
136
  append = payload.append;
162
137
  page = payload.page;
163
138
  return state.withMutations(map => {
164
- loadedEntries.forEach(entry => map.setIn(['entities', `${collection}.${entry.slug}`], (0, _immutable.fromJS)(entry).set('isFetching', false)));
165
- const ids = (0, _immutable.List)(loadedEntries.map(entry => entry.slug));
166
- map.setIn(['pages', collection], (0, _immutable.Map)({
139
+ loadedEntries.forEach(entry => map.setIn(['entities', `${collection}.${entry.slug}`], fromJS(entry).set('isFetching', false)));
140
+ const ids = List(loadedEntries.map(entry => entry.slug));
141
+ map.setIn(['pages', collection], Map({
167
142
  page,
168
- ids: append ? map.getIn(['pages', collection, 'ids'], (0, _immutable.List)()).concat(ids) : ids
143
+ ids: append ? map.getIn(['pages', collection, 'ids'], List()).concat(ids) : ids
169
144
  }));
170
145
  });
171
146
  }
172
- case _entries.ENTRIES_FAILURE:
147
+ case ENTRIES_FAILURE:
173
148
  return state.setIn(['pages', action.meta.collection, 'isFetching'], false);
174
- case _entries.ENTRY_FAILURE:
149
+ case ENTRY_FAILURE:
175
150
  {
176
151
  const payload = action.payload;
177
152
  return state.withMutations(map => {
@@ -179,15 +154,15 @@ function entries(state = (0, _immutable.Map)({
179
154
  map.setIn(['entities', `${payload.collection}.${payload.slug}`, 'error'], payload.error.message);
180
155
  });
181
156
  }
182
- case _search.SEARCH_ENTRIES_SUCCESS:
157
+ case SEARCH_ENTRIES_SUCCESS:
183
158
  {
184
159
  const payload = action.payload;
185
160
  loadedEntries = payload.entries;
186
161
  return state.withMutations(map => {
187
- loadedEntries.forEach(entry => map.setIn(['entities', `${entry.collection}.${entry.slug}`], (0, _immutable.fromJS)(entry).set('isFetching', false)));
162
+ loadedEntries.forEach(entry => map.setIn(['entities', `${entry.collection}.${entry.slug}`], fromJS(entry).set('isFetching', false)));
188
163
  });
189
164
  }
190
- case _entries.ENTRY_DELETE_SUCCESS:
165
+ case ENTRY_DELETE_SUCCESS:
191
166
  {
192
167
  const payload = action.payload;
193
168
  return state.withMutations(map => {
@@ -195,7 +170,7 @@ function entries(state = (0, _immutable.Map)({
195
170
  map.updateIn(['pages', payload.collectionName, 'ids'], ids => ids.filter(id => id !== payload.entrySlug));
196
171
  });
197
172
  }
198
- case _entries.SORT_ENTRIES_REQUEST:
173
+ case SORT_ENTRIES_REQUEST:
199
174
  {
200
175
  const payload = action.payload;
201
176
  const {
@@ -204,8 +179,8 @@ function entries(state = (0, _immutable.Map)({
204
179
  direction
205
180
  } = payload;
206
181
  const newState = state.withMutations(map => {
207
- const sort = (0, _immutable.OrderedMap)({
208
- [key]: (0, _immutable.Map)({
182
+ const sort = OrderedMap({
183
+ [key]: Map({
209
184
  key,
210
185
  direction
211
186
  })
@@ -217,9 +192,9 @@ function entries(state = (0, _immutable.Map)({
217
192
  persistSort(newState.get('sort'));
218
193
  return newState;
219
194
  }
220
- case _entries.GROUP_ENTRIES_SUCCESS:
221
- case _entries.FILTER_ENTRIES_SUCCESS:
222
- case _entries.SORT_ENTRIES_SUCCESS:
195
+ case GROUP_ENTRIES_SUCCESS:
196
+ case FILTER_ENTRIES_SUCCESS:
197
+ case SORT_ENTRIES_SUCCESS:
223
198
  {
224
199
  const payload = action.payload;
225
200
  const {
@@ -228,17 +203,17 @@ function entries(state = (0, _immutable.Map)({
228
203
  } = payload;
229
204
  loadedEntries = entries;
230
205
  const newState = state.withMutations(map => {
231
- loadedEntries.forEach(entry => map.setIn(['entities', `${entry.collection}.${entry.slug}`], (0, _immutable.fromJS)(entry).set('isFetching', false)));
206
+ loadedEntries.forEach(entry => map.setIn(['entities', `${entry.collection}.${entry.slug}`], fromJS(entry).set('isFetching', false)));
232
207
  map.setIn(['pages', collection, 'isFetching'], false);
233
- const ids = (0, _immutable.List)(loadedEntries.map(entry => entry.slug));
234
- map.setIn(['pages', collection], (0, _immutable.Map)({
208
+ const ids = List(loadedEntries.map(entry => entry.slug));
209
+ map.setIn(['pages', collection], Map({
235
210
  page: 1,
236
211
  ids
237
212
  }));
238
213
  });
239
214
  return newState;
240
215
  }
241
- case _entries.SORT_ENTRIES_FAILURE:
216
+ case SORT_ENTRIES_FAILURE:
242
217
  {
243
218
  const payload = action.payload;
244
219
  const {
@@ -252,7 +227,7 @@ function entries(state = (0, _immutable.Map)({
252
227
  persistSort(newState.get('sort'));
253
228
  return newState;
254
229
  }
255
- case _entries.FILTER_ENTRIES_REQUEST:
230
+ case FILTER_ENTRIES_REQUEST:
256
231
  {
257
232
  const payload = action.payload;
258
233
  const {
@@ -260,12 +235,12 @@ function entries(state = (0, _immutable.Map)({
260
235
  filter
261
236
  } = payload;
262
237
  const newState = state.withMutations(map => {
263
- const current = map.getIn(['filter', collection, filter.id], (0, _immutable.fromJS)(filter));
238
+ const current = map.getIn(['filter', collection, filter.id], fromJS(filter));
264
239
  map.setIn(['filter', collection, current.get('id')], current.set('active', !current.get('active')));
265
240
  });
266
241
  return newState;
267
242
  }
268
- case _entries.FILTER_ENTRIES_FAILURE:
243
+ case FILTER_ENTRIES_FAILURE:
269
244
  {
270
245
  const payload = action.payload;
271
246
  const {
@@ -278,7 +253,7 @@ function entries(state = (0, _immutable.Map)({
278
253
  });
279
254
  return newState;
280
255
  }
281
- case _entries.GROUP_ENTRIES_REQUEST:
256
+ case GROUP_ENTRIES_REQUEST:
282
257
  {
283
258
  const payload = action.payload;
284
259
  const {
@@ -286,13 +261,13 @@ function entries(state = (0, _immutable.Map)({
286
261
  group
287
262
  } = payload;
288
263
  const newState = state.withMutations(map => {
289
- const current = map.getIn(['group', collection, group.id], (0, _immutable.fromJS)(group));
264
+ const current = map.getIn(['group', collection, group.id], fromJS(group));
290
265
  map.deleteIn(['group', collection]);
291
266
  map.setIn(['group', collection, current.get('id')], current.set('active', !current.get('active')));
292
267
  });
293
268
  return newState;
294
269
  }
295
- case _entries.GROUP_ENTRIES_FAILURE:
270
+ case GROUP_ENTRIES_FAILURE:
296
271
  {
297
272
  const payload = action.payload;
298
273
  const {
@@ -305,7 +280,7 @@ function entries(state = (0, _immutable.Map)({
305
280
  });
306
281
  return newState;
307
282
  }
308
- case _entries.CHANGE_VIEW_STYLE:
283
+ case CHANGE_VIEW_STYLE:
309
284
  {
310
285
  const payload = action.payload;
311
286
  const {
@@ -321,55 +296,55 @@ function entries(state = (0, _immutable.Map)({
321
296
  return state;
322
297
  }
323
298
  }
324
- function selectEntriesSort(entries, collection) {
299
+ export function selectEntriesSort(entries, collection) {
325
300
  const sort = entries.get('sort');
326
301
  return sort === null || sort === void 0 ? void 0 : sort.get(collection);
327
302
  }
328
- function selectEntriesFilter(entries, collection) {
303
+ export function selectEntriesFilter(entries, collection) {
329
304
  const filter = entries.get('filter');
330
- return (filter === null || filter === void 0 ? void 0 : filter.get(collection)) || (0, _immutable.Map)();
305
+ return (filter === null || filter === void 0 ? void 0 : filter.get(collection)) || Map();
331
306
  }
332
- function selectEntriesGroup(entries, collection) {
307
+ export function selectEntriesGroup(entries, collection) {
333
308
  const group = entries.get('group');
334
- return (group === null || group === void 0 ? void 0 : group.get(collection)) || (0, _immutable.Map)();
309
+ return (group === null || group === void 0 ? void 0 : group.get(collection)) || Map();
335
310
  }
336
- function selectEntriesGroupField(entries, collection) {
311
+ export function selectEntriesGroupField(entries, collection) {
337
312
  const groups = selectEntriesGroup(entries, collection);
338
313
  const value = groups === null || groups === void 0 ? void 0 : groups.valueSeq().find(v => (v === null || v === void 0 ? void 0 : v.get('active')) === true);
339
314
  return value;
340
315
  }
341
- function selectEntriesSortFields(entries, collection) {
316
+ export function selectEntriesSortFields(entries, collection) {
342
317
  const sort = selectEntriesSort(entries, collection);
343
- const values = (sort === null || sort === void 0 ? void 0 : sort.valueSeq().filter(v => (v === null || v === void 0 ? void 0 : v.get('direction')) !== _redux.SortDirection.None).toArray()) || [];
318
+ const values = (sort === null || sort === void 0 ? void 0 : sort.valueSeq().filter(v => (v === null || v === void 0 ? void 0 : v.get('direction')) !== SortDirection.None).toArray()) || [];
344
319
  return values;
345
320
  }
346
- function selectEntriesFilterFields(entries, collection) {
321
+ export function selectEntriesFilterFields(entries, collection) {
347
322
  const filter = selectEntriesFilter(entries, collection);
348
323
  const values = (filter === null || filter === void 0 ? void 0 : filter.valueSeq().filter(v => (v === null || v === void 0 ? void 0 : v.get('active')) === true).toArray()) || [];
349
324
  return values;
350
325
  }
351
- function selectViewStyle(entries) {
326
+ export function selectViewStyle(entries) {
352
327
  return entries.get('viewStyle');
353
328
  }
354
- function selectEntry(state, collection, slug) {
329
+ export function selectEntry(state, collection, slug) {
355
330
  return state.getIn(['entities', `${collection}.${slug}`]);
356
331
  }
357
- function selectPublishedSlugs(state, collection) {
358
- return state.getIn(['pages', collection, 'ids'], (0, _immutable.List)());
332
+ export function selectPublishedSlugs(state, collection) {
333
+ return state.getIn(['pages', collection, 'ids'], List());
359
334
  }
360
335
  function getPublishedEntries(state, collectionName) {
361
336
  const slugs = selectPublishedSlugs(state, collectionName);
362
337
  const entries = slugs && slugs.map(slug => selectEntry(state, collectionName, slug));
363
338
  return entries;
364
339
  }
365
- function selectEntries(state, collection) {
340
+ export function selectEntries(state, collection) {
366
341
  const collectionName = collection.get('name');
367
342
  let entries = getPublishedEntries(state, collectionName);
368
343
  const sortFields = selectEntriesSortFields(state, collectionName);
369
344
  if (sortFields && sortFields.length > 0) {
370
- const keys = sortFields.map(v => (0, _collections.selectSortDataPath)(collection, v.get('key')));
371
- const orders = sortFields.map(v => v.get('direction') === _redux.SortDirection.Ascending ? 'asc' : 'desc');
372
- entries = (0, _immutable.fromJS)((0, _orderBy2.default)(entries.toJS(), keys, orders));
345
+ const keys = sortFields.map(v => selectSortDataPath(collection, v.get('key')));
346
+ const orders = sortFields.map(v => v.get('direction') === SortDirection.Ascending ? 'asc' : 'desc');
347
+ entries = fromJS(_orderBy(entries.toJS(), keys, orders));
373
348
  }
374
349
  const filters = selectEntriesFilterFields(state, collectionName);
375
350
  if (filters && filters.length > 0) {
@@ -377,7 +352,7 @@ function selectEntries(state, collection) {
377
352
  const allMatched = filters.every(f => {
378
353
  const pattern = f.get('pattern');
379
354
  const field = f.get('field');
380
- const data = e.get('data') || (0, _immutable.Map)();
355
+ const data = e.get('data') || Map();
381
356
  const toMatch = data.getIn(keyToPathArray(field));
382
357
  const matched = toMatch !== undefined && new RegExp(String(pattern)).test(String(toMatch));
383
358
  return matched;
@@ -423,7 +398,7 @@ function getGroup(entry, selectedGroup) {
423
398
  value: typeof fieldData === 'boolean' ? fieldData : dataAsString
424
399
  };
425
400
  }
426
- function selectGroups(state, collection) {
401
+ export function selectGroups(state, collection) {
427
402
  const collectionName = collection.get('name');
428
403
  const entries = getPublishedEntries(state, collectionName);
429
404
  const selectedGroup = selectEntriesGroupField(state, collectionName);
@@ -431,7 +406,7 @@ function selectGroups(state, collection) {
431
406
  return [];
432
407
  }
433
408
  let groups = {};
434
- const groupedEntries = (0, _groupBy2.default)(entries.toArray(), entry => {
409
+ const groupedEntries = _groupBy(entries.toArray(), entry => {
435
410
  const group = getGroup(entry, selectedGroup);
436
411
  groups = _objectSpread(_objectSpread({}, groups), {}, {
437
412
  [group.id]: group
@@ -440,20 +415,20 @@ function selectGroups(state, collection) {
440
415
  });
441
416
  const groupsArray = Object.entries(groupedEntries).map(([id, entries]) => {
442
417
  return _objectSpread(_objectSpread({}, groups[id]), {}, {
443
- paths: (0, _immutable.Set)(entries.map(entry => entry.get('path')))
418
+ paths: Set(entries.map(entry => entry.get('path')))
444
419
  });
445
420
  });
446
421
  return groupsArray;
447
422
  }
448
- function selectEntryByPath(state, collection, path) {
423
+ export function selectEntryByPath(state, collection, path) {
449
424
  const slugs = selectPublishedSlugs(state, collection);
450
425
  const entries = slugs && slugs.map(slug => selectEntry(state, collection, slug));
451
426
  return entries && entries.find(e => (e === null || e === void 0 ? void 0 : e.get('path')) === path);
452
427
  }
453
- function selectEntriesLoaded(state, collection) {
428
+ export function selectEntriesLoaded(state, collection) {
454
429
  return !!state.getIn(['pages', collection]);
455
430
  }
456
- function selectIsFetching(state, collection) {
431
+ export function selectIsFetching(state, collection) {
457
432
  return state.getIn(['pages', collection, 'isFetching'], false);
458
433
  }
459
434
  const DRAFT_MEDIA_FILES = 'DRAFT_MEDIA_FILES';
@@ -482,14 +457,14 @@ function hasCustomFolder(folderKey, collection, slug, field) {
482
457
  function traverseFields(folderKey, config, collection, entryMap, field, fields, currentFolder) {
483
458
  const matchedField = fields.filter(f => f === field)[0];
484
459
  if (matchedField) {
485
- return (0, _formatters.folderFormatter)(matchedField.has(folderKey) ? matchedField.get(folderKey) : `{{${folderKey}}}`, entryMap, collection, currentFolder, folderKey, config.slug);
460
+ return folderFormatter(matchedField.has(folderKey) ? matchedField.get(folderKey) : `{{${folderKey}}}`, entryMap, collection, currentFolder, folderKey, config.slug);
486
461
  }
487
462
  for (let f of fields) {
488
463
  if (!f.has(folderKey)) {
489
464
  // add identity template if doesn't exist
490
465
  f = f.set(folderKey, `{{${folderKey}}}`);
491
466
  }
492
- const folder = (0, _formatters.folderFormatter)(f.get(folderKey), entryMap, collection, currentFolder, folderKey, config.slug);
467
+ const folder = folderFormatter(f.get(folderKey), entryMap, collection, currentFolder, folderKey, config.slug);
493
468
  let fieldFolder = null;
494
469
  if (f.has('fields')) {
495
470
  fieldFolder = traverseFields(folderKey, config, collection, entryMap, field, f.get('fields').toArray(), folder);
@@ -514,7 +489,7 @@ function evaluateFolder(folderKey, config, collection, entryMap, field) {
514
489
  if (collection.has('files')) {
515
490
  // files collection evaluate the collection template
516
491
  // then move on to the specific file configuration denoted by the slug
517
- currentFolder = (0, _formatters.folderFormatter)(collection.get(folderKey), entryMap, collection, currentFolder, folderKey, config.slug);
492
+ currentFolder = folderFormatter(collection.get(folderKey), entryMap, collection, currentFolder, folderKey, config.slug);
518
493
  let file = getFileField(collection.get('files'), entryMap === null || entryMap === void 0 ? void 0 : entryMap.get('slug'));
519
494
  if (file) {
520
495
  if (!file.has(folderKey)) {
@@ -523,7 +498,7 @@ function evaluateFolder(folderKey, config, collection, entryMap, field) {
523
498
  }
524
499
 
525
500
  // evaluate the file template and keep evaluating until we match our field
526
- currentFolder = (0, _formatters.folderFormatter)(file.get(folderKey), entryMap, collection, currentFolder, folderKey, config.slug);
501
+ currentFolder = folderFormatter(file.get(folderKey), entryMap, collection, currentFolder, folderKey, config.slug);
527
502
  if (field) {
528
503
  const fieldFolder = traverseFields(folderKey, config, collection, entryMap, field, file.get('fields').toArray(), currentFolder);
529
504
  if (fieldFolder !== null) {
@@ -534,7 +509,7 @@ function evaluateFolder(folderKey, config, collection, entryMap, field) {
534
509
  } else {
535
510
  // folder collection, evaluate the collection template
536
511
  // and keep evaluating until we match our field
537
- currentFolder = (0, _formatters.folderFormatter)(collection.get(folderKey), entryMap, collection, currentFolder, folderKey, config.slug);
512
+ currentFolder = folderFormatter(collection.get(folderKey), entryMap, collection, currentFolder, folderKey, config.slug);
538
513
  if (field) {
539
514
  const fieldFolder = traverseFields(folderKey, config, collection, entryMap, field, collection.get('fields').toArray(), currentFolder);
540
515
  if (fieldFolder !== null) {
@@ -544,7 +519,7 @@ function evaluateFolder(folderKey, config, collection, entryMap, field) {
544
519
  }
545
520
  return currentFolder;
546
521
  }
547
- function selectMediaFolder(config, collection, entryMap, field) {
522
+ export function selectMediaFolder(config, collection, entryMap, field) {
548
523
  const name = 'media_folder';
549
524
  let mediaFolder = config[name];
550
525
  const customFolder = hasCustomFolder(name, collection, entryMap === null || entryMap === void 0 ? void 0 : entryMap.get('slug'), field);
@@ -552,23 +527,23 @@ function selectMediaFolder(config, collection, entryMap, field) {
552
527
  const folder = evaluateFolder(name, config, collection, entryMap, field);
553
528
  if (folder.startsWith('/')) {
554
529
  // return absolute paths as is
555
- mediaFolder = (0, _path.join)(folder);
530
+ mediaFolder = join(folder);
556
531
  } else {
557
532
  const entryPath = entryMap === null || entryMap === void 0 ? void 0 : entryMap.get('path');
558
- mediaFolder = entryPath ? (0, _path.join)((0, _path.dirname)(entryPath), folder) : (0, _path.join)(collection.get('folder'), DRAFT_MEDIA_FILES);
533
+ mediaFolder = entryPath ? join(dirname(entryPath), folder) : join(collection.get('folder'), DRAFT_MEDIA_FILES);
559
534
  }
560
535
  }
561
- return (0, _trim2.default)(mediaFolder, '/');
536
+ return _trim(mediaFolder, '/');
562
537
  }
563
- function selectMediaFilePath(config, collection, entryMap, mediaPath, field) {
564
- if ((0, _decapCmsLibUtil.isAbsolutePath)(mediaPath)) {
538
+ export function selectMediaFilePath(config, collection, entryMap, mediaPath, field) {
539
+ if (isAbsolutePath(mediaPath)) {
565
540
  return mediaPath;
566
541
  }
567
542
  const mediaFolder = selectMediaFolder(config, collection, entryMap, field);
568
- return (0, _path.join)(mediaFolder, (0, _decapCmsLibUtil.basename)(mediaPath));
543
+ return join(mediaFolder, basename(mediaPath));
569
544
  }
570
- function selectMediaFilePublicPath(config, collection, mediaPath, entryMap, field) {
571
- if ((0, _decapCmsLibUtil.isAbsolutePath)(mediaPath)) {
545
+ export function selectMediaFilePublicPath(config, collection, mediaPath, entryMap, field) {
546
+ if (isAbsolutePath(mediaPath)) {
572
547
  return mediaPath;
573
548
  }
574
549
  const name = 'public_folder';
@@ -577,14 +552,14 @@ function selectMediaFilePublicPath(config, collection, mediaPath, entryMap, fiel
577
552
  if (customFolder) {
578
553
  publicFolder = evaluateFolder(name, config, collection, entryMap, field);
579
554
  }
580
- if ((0, _decapCmsLibUtil.isAbsolutePath)(publicFolder)) {
581
- return (0, _urlHelper.joinUrlPath)(publicFolder, (0, _decapCmsLibUtil.basename)(mediaPath));
555
+ if (isAbsolutePath(publicFolder)) {
556
+ return joinUrlPath(publicFolder, basename(mediaPath));
582
557
  }
583
- return (0, _path.join)(publicFolder, (0, _decapCmsLibUtil.basename)(mediaPath));
558
+ return join(publicFolder, basename(mediaPath));
584
559
  }
585
- function selectEditingDraft(state) {
560
+ export function selectEditingDraft(state) {
586
561
  const entry = state.get('entry');
587
562
  const workflowDraft = entry && !entry.isEmpty();
588
563
  return workflowDraft;
589
564
  }
590
- var _default = exports.default = entries;
565
+ export default entries;