@plone/volto 17.0.0-alpha.26 → 17.0.0-alpha.28
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/.eslintrc +26 -3
- package/.yarn/install-state.gz +0 -0
- package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +541 -0
- package/.yarn/releases/yarn-3.6.3.cjs +874 -0
- package/CHANGELOG.md +60 -0
- package/addon-registry.js +10 -1
- package/create-addons-loader.js +1 -1
- package/locales/ca/LC_MESSAGES/volto.po +57 -31
- package/locales/ca.json +1 -1
- package/locales/de/LC_MESSAGES/volto.po +58 -32
- package/locales/de.json +1 -1
- package/locales/en/LC_MESSAGES/volto.po +57 -31
- package/locales/en.json +1 -1
- package/locales/es/LC_MESSAGES/volto.po +65 -39
- package/locales/es.json +1 -1
- package/locales/eu/LC_MESSAGES/volto.po +57 -31
- package/locales/eu.json +1 -1
- package/locales/fi/LC_MESSAGES/volto.po +57 -31
- package/locales/fi.json +1 -1
- package/locales/fr/LC_MESSAGES/volto.po +57 -31
- package/locales/fr.json +1 -1
- package/locales/it/LC_MESSAGES/volto.po +57 -31
- package/locales/it.json +1 -1
- package/locales/ja/LC_MESSAGES/volto.po +57 -31
- package/locales/ja.json +1 -1
- package/locales/nl/LC_MESSAGES/volto.po +57 -31
- package/locales/nl.json +1 -1
- package/locales/pt/LC_MESSAGES/volto.po +57 -31
- package/locales/pt.json +1 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +57 -31
- package/locales/pt_BR.json +1 -1
- package/locales/ro/LC_MESSAGES/volto.po +57 -31
- package/locales/ro.json +1 -1
- package/locales/volto.pot +62 -32
- package/locales/zh_CN/LC_MESSAGES/volto.po +57 -31
- package/locales/zh_CN.json +1 -1
- package/package.json +35 -26
- package/packages/volto-slate/package.json +1 -1
- package/packages/volto-slate/src/blocks/Text/TextBlockView.jsx +2 -1
- package/packages/volto-slate/src/blocks/Text/index.js +0 -5
- package/packages/volto-slate/src/editor/plugins/Link/render.jsx +5 -6
- package/packages/volto-slate/src/editor/render.jsx +11 -1
- package/razzle.config.js +4 -6
- package/src/components/index.js +194 -194
- package/src/components/manage/Add/Add.jsx +7 -8
- package/src/components/manage/Blocks/Block/Settings.test.jsx +17 -15
- package/src/components/manage/Blocks/HTML/Edit.jsx +8 -8
- package/src/components/manage/Blocks/HeroImageLeft/Edit.jsx +30 -25
- package/src/components/manage/Blocks/Listing/ListingBody.jsx +6 -4
- package/src/components/manage/Blocks/Maps/Edit.test.jsx +1 -2
- package/src/components/manage/Blocks/Maps/View.test.jsx +1 -2
- package/src/components/manage/Blocks/Search/components/Facets.jsx +2 -3
- package/src/components/manage/Blocks/Search/components/FilterList.jsx +4 -6
- package/src/components/manage/Blocks/Search/components/SelectFacet.jsx +2 -9
- package/src/components/manage/Blocks/Search/hocs/withQueryString.jsx +3 -0
- package/src/components/manage/Blocks/Search/hocs/withSearch.jsx +8 -6
- package/src/components/manage/Blocks/Search/schema.js +13 -13
- package/src/components/manage/Blocks/Table/Cell.jsx +2 -3
- package/src/components/manage/Blocks/Text/Edit.jsx +2 -3
- package/src/components/manage/Blocks/Title/View.jsx +4 -37
- package/src/components/manage/Blocks/ToC/View.jsx +1 -0
- package/src/components/manage/Blocks/ToC/variations/DefaultTocRenderer.jsx +3 -2
- package/src/components/manage/Blocks/ToC/variations/HorizontalMenu.jsx +3 -2
- package/src/components/manage/Contents/Contents.jsx +252 -114
- package/src/components/manage/Contents/ContentsPropertiesModal.jsx +90 -154
- package/src/components/manage/Contents/ContentsRenameModal.jsx +88 -139
- package/src/components/manage/Contents/ContentsRenameModal.stories.jsx +61 -0
- package/src/components/manage/Contents/ContentsTagsModal.jsx +83 -130
- package/src/components/manage/Contents/ContentsTagsModal.stories.jsx +68 -0
- package/src/components/manage/Contents/ContentsUploadModal.jsx +1 -2
- package/src/components/manage/Contents/ContentsWorkflowModal.jsx +87 -154
- package/src/components/manage/Controlpanels/Aliases.jsx +4 -12
- package/src/components/manage/Controlpanels/Rules/AddRule.jsx +2 -9
- package/src/components/manage/Controlpanels/UndoControlpanel.jsx +6 -9
- package/src/components/manage/Form/BlockDataForm.test.jsx +17 -15
- package/src/components/manage/Form/Form.jsx +2 -3
- package/src/components/manage/Form/InlineForm.test.jsx +16 -14
- package/src/components/manage/LockingToastsFactory/LockingToastsFactory.jsx +1 -2
- package/src/components/manage/Sharing/Sharing.jsx +7 -0
- package/src/components/manage/Sidebar/Sidebar.jsx +139 -220
- package/src/components/manage/Toolbar/More.jsx +12 -12
- package/src/components/manage/Toolbar/PersonalTools.jsx +97 -155
- package/src/components/manage/Toolbar/Toolbar.jsx +2 -2
- package/src/components/manage/UniversalLink/UniversalLink.test.jsx +2 -1
- package/src/components/manage/Widgets/AlignWidget.jsx +2 -4
- package/src/components/manage/Widgets/ColorPickerWidget.test.jsx +9 -7
- package/src/components/manage/Widgets/DatetimeWidget.jsx +2 -8
- package/src/components/manage/Widgets/IdWidget.jsx +1 -2
- package/src/components/manage/Widgets/ObjectBrowserWidget.jsx +2 -9
- package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx +2 -9
- package/src/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthIndexField.jsx +4 -4
- package/src/components/manage/Widgets/SchemaWidget.jsx +6 -9
- package/src/components/manage/Widgets/WysiwygWidget.jsx +2 -9
- package/src/components/theme/Comments/Comments.jsx +3 -10
- package/src/components/theme/ContentMetadataTags/ContentMetadataTags.jsx +4 -0
- package/src/components/theme/Login/Login.jsx +1 -2
- package/src/components/theme/PasswordReset/PasswordReset.jsx +1 -2
- package/src/components/theme/PreviewImage/PreviewImage.jsx +10 -5
- package/src/components/theme/PreviewImage/PreviewImage.test.js +17 -0
- package/src/components/theme/Register/Register.jsx +2 -4
- package/src/components/theme/TsTest/TsTest.test.tsx +11 -0
- package/src/components/theme/TsTest/TsTest.tsx +15 -0
- package/src/components/theme/View/AlbumView.jsx +3 -2
- package/src/components/theme/Widgets/ImageWidget.stories.jsx +1 -2
- package/src/config/Loadables.jsx +1 -1
- package/src/config/RichTextEditor/Blocks.jsx +2 -3
- package/src/config/RichTextEditor/Plugins.jsx +2 -3
- package/src/config/RichTextEditor/ToHTML.jsx +12 -10
- package/src/config/RichTextEditor/index.js +2 -3
- package/src/config/Views.jsx +5 -5
- package/src/express-middleware/ok.js +1 -1
- package/src/helpers/Blocks/Blocks.js +4 -6
- package/src/helpers/Blocks/Blocks.test.js +35 -35
- package/src/helpers/Extensions/withBlockSchemaEnhancer.js +48 -50
- package/src/helpers/FormValidation/FormValidation.js +7 -6
- package/src/helpers/Html/Html.jsx +2 -8
- package/src/helpers/Loadable/__mocks__/Loadable.js +18 -18
- package/src/helpers/MessageLabels/MessageLabels.js +2 -3
- package/src/helpers/Utils/UseDetectClickOutside.stories.jsx +2 -3
- package/src/helpers/Utils/Utils.js +10 -0
- package/src/helpers/Utils/Utils.test.js +13 -0
- package/src/helpers/index.js +1 -0
- package/src/hooks/index.js +1 -1
- package/src/middleware/api.js +194 -190
- package/src/middleware/blacklistRoutes.js +25 -22
- package/src/middleware/storeProtectLoadUtils.js +61 -62
- package/src/middleware/storeProtectLoadUtils.test.js +47 -43
- package/src/reducers/content/content.test.js +4 -4
- package/src/reducers/navigation/navigation.js +5 -5
- package/src/reducers/navigation/navigation.test.js +30 -0
- package/src/registry.js +2 -2
- package/src/storybook.jsx +24 -38
- package/theme/themes/pastanaga/collections/menu.overrides +3 -2
- package/theme/themes/pastanaga/elements/container.overrides +5 -2
- package/theme/themes/pastanaga/elements/input.overrides +1 -1
- package/theme/themes/pastanaga/elements/step.overrides +2 -1
- package/theme/themes/pastanaga/extras/blocks.less +20 -14
- package/theme/themes/pastanaga/extras/color-picker-widget.less +1 -1
- package/theme/themes/pastanaga/extras/contents.less +5 -1
- package/theme/themes/pastanaga/extras/draftjs.less +4 -4
- package/theme/themes/pastanaga/extras/grid.less +5 -4
- package/theme/themes/pastanaga/extras/main.less +6 -6
- package/theme/themes/pastanaga/extras/react-dates-overrides.less +4 -2
- package/theme/themes/pastanaga/extras/search.less +2 -2
- package/theme/themes/pastanaga/extras/sidebar.less +5 -4
- package/theme/themes/pastanaga/extras/time-picker-overrides.less +5 -3
- package/theme/themes/pastanaga/extras/toolbar.less +6 -2
- package/theme/themes/pastanaga/extras/userscontrolpanel.less +17 -9
- package/theme/themes/pastanaga/extras/widgets.less +1 -1
- package/theme/themes/pastanaga/modules/rating.overrides +2 -1
- package/theme/themes/pastanaga-cms-ui/elements/container.overrides +2 -1
- package/theme/themes/pastanaga-cms-ui/extras/cms-ui.elements.container.less +6 -2
- package/theme/themes/pastanaga-cms-ui/extras/cms-ui.site.less +2 -2
- package/tsconfig.json +33 -0
|
@@ -26,54 +26,58 @@ describe('storeProtectLoadUtils', () => {
|
|
|
26
26
|
expect(result).toBe('NEXT');
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
const testLocationChange =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
const testLocationChange =
|
|
30
|
+
({ locationMap, resetBeforeFetch }) =>
|
|
31
|
+
() => {
|
|
32
|
+
const dispatch = jest.fn();
|
|
33
|
+
const getState = jest.fn(() => ({
|
|
34
|
+
router: {
|
|
35
|
+
location: {
|
|
36
|
+
pathname: '/PATH',
|
|
37
|
+
},
|
|
35
38
|
},
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
}));
|
|
40
|
+
const next = jest.fn(() => 'NEXT');
|
|
41
|
+
const action = {
|
|
42
|
+
type: '@@router/LOCATION_CHANGE',
|
|
43
|
+
payload: { location: { pathname: '/NEW-PATH' } },
|
|
44
|
+
};
|
|
45
|
+
Url.isCmsUi = jest.fn((path) => locationMap[path]);
|
|
46
|
+
const result = protectLoadStart({ dispatch, getState })(next)(action);
|
|
47
|
+
expect(dispatch).toBeCalledWith({
|
|
48
|
+
type: '@@loadProtector/START',
|
|
49
|
+
location: { pathname: '/NEW-PATH' },
|
|
50
|
+
resetBeforeFetch,
|
|
51
|
+
});
|
|
52
|
+
expect(next).toBeCalledWith(action);
|
|
53
|
+
expect(result).toBe('NEXT');
|
|
42
54
|
};
|
|
43
|
-
Url.isCmsUi = jest.fn((path) => locationMap[path]);
|
|
44
|
-
const result = protectLoadStart({ dispatch, getState })(next)(action);
|
|
45
|
-
expect(dispatch).toBeCalledWith({
|
|
46
|
-
type: '@@loadProtector/START',
|
|
47
|
-
location: { pathname: '/NEW-PATH' },
|
|
48
|
-
resetBeforeFetch,
|
|
49
|
-
});
|
|
50
|
-
expect(next).toBeCalledWith(action);
|
|
51
|
-
expect(result).toBe('NEXT');
|
|
52
|
-
};
|
|
53
55
|
|
|
54
|
-
const testLocationSkipped =
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
const testLocationSkipped =
|
|
57
|
+
({ locationMap }) =>
|
|
58
|
+
() => {
|
|
59
|
+
const dispatch = jest.fn();
|
|
60
|
+
const getState = jest.fn(() => ({
|
|
61
|
+
router: {
|
|
62
|
+
location: {
|
|
63
|
+
pathname: '/PATH',
|
|
64
|
+
},
|
|
60
65
|
},
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
}));
|
|
67
|
+
const next = jest.fn(() => 'NEXT');
|
|
68
|
+
const action = {
|
|
69
|
+
type: '@@router/LOCATION_CHANGE',
|
|
70
|
+
payload: { location: { pathname: '/NEW-PATH' } },
|
|
71
|
+
};
|
|
72
|
+
Url.isCmsUi = jest.fn((path) => locationMap[path]);
|
|
73
|
+
const result = protectLoadStart({ dispatch, getState })(next)(action);
|
|
74
|
+
expect(dispatch).toBeCalledWith({
|
|
75
|
+
type: '@@loadProtector/SKIPPED',
|
|
76
|
+
location: { pathname: '/NEW-PATH' },
|
|
77
|
+
});
|
|
78
|
+
expect(next).toBeCalledWith(action);
|
|
79
|
+
expect(result).toBe('NEXT');
|
|
67
80
|
};
|
|
68
|
-
Url.isCmsUi = jest.fn((path) => locationMap[path]);
|
|
69
|
-
const result = protectLoadStart({ dispatch, getState })(next)(action);
|
|
70
|
-
expect(dispatch).toBeCalledWith({
|
|
71
|
-
type: '@@loadProtector/SKIPPED',
|
|
72
|
-
location: { pathname: '/NEW-PATH' },
|
|
73
|
-
});
|
|
74
|
-
expect(next).toBeCalledWith(action);
|
|
75
|
-
expect(result).toBe('NEXT');
|
|
76
|
-
};
|
|
77
81
|
|
|
78
82
|
describe('location change', () => {
|
|
79
83
|
test(
|
|
@@ -82,7 +82,7 @@ describe('Content reducer', () => {
|
|
|
82
82
|
}),
|
|
83
83
|
).toMatchObject({
|
|
84
84
|
subrequests: {
|
|
85
|
-
|
|
85
|
+
1234: {
|
|
86
86
|
data: null,
|
|
87
87
|
loaded: false,
|
|
88
88
|
loading: true,
|
|
@@ -136,7 +136,7 @@ describe('Content reducer', () => {
|
|
|
136
136
|
}),
|
|
137
137
|
).toMatchObject({
|
|
138
138
|
subrequests: {
|
|
139
|
-
|
|
139
|
+
1234: {
|
|
140
140
|
data: {
|
|
141
141
|
items: [
|
|
142
142
|
{
|
|
@@ -170,7 +170,7 @@ describe('Content reducer', () => {
|
|
|
170
170
|
}),
|
|
171
171
|
).toMatchObject({
|
|
172
172
|
subrequests: {
|
|
173
|
-
|
|
173
|
+
1234: {
|
|
174
174
|
data: [
|
|
175
175
|
{
|
|
176
176
|
'@id': `${settings.apiPath}/home-page`,
|
|
@@ -214,7 +214,7 @@ describe('Content reducer', () => {
|
|
|
214
214
|
}),
|
|
215
215
|
).toMatchObject({
|
|
216
216
|
subrequests: {
|
|
217
|
-
|
|
217
|
+
1234: {
|
|
218
218
|
data: null,
|
|
219
219
|
loaded: false,
|
|
220
220
|
loading: false,
|
|
@@ -73,11 +73,11 @@ export default function navigation(state = initialState, action = {}) {
|
|
|
73
73
|
}
|
|
74
74
|
return state;
|
|
75
75
|
case `${GET_NAVIGATION}_SUCCESS`:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
)
|
|
80
|
-
if (!
|
|
76
|
+
// Even if the expander is set or not, if the GET_NAVIGATION is
|
|
77
|
+
// called, we want it to store the data if the actions data is
|
|
78
|
+
// not set in the expander data (['@components']) but in the "normal"
|
|
79
|
+
// action result (we look for the object property returned by the endpoint)
|
|
80
|
+
if (!action.result?.['@components'] && action.result?.items) {
|
|
81
81
|
return {
|
|
82
82
|
...state,
|
|
83
83
|
error: null,
|
|
@@ -172,4 +172,34 @@ describe('Navigation reducer (NAVIGATION)GET_CONTENT', () => {
|
|
|
172
172
|
loading: false,
|
|
173
173
|
});
|
|
174
174
|
});
|
|
175
|
+
|
|
176
|
+
it('should handle (NAVIGATION)GET_NAVIGATION_SUCCESS (standalone with apiExpander enabled)', () => {
|
|
177
|
+
expect(
|
|
178
|
+
navigation(undefined, {
|
|
179
|
+
type: `${GET_NAVIGATION}_SUCCESS`,
|
|
180
|
+
result: {
|
|
181
|
+
items: [
|
|
182
|
+
{
|
|
183
|
+
title: 'Welcome to Plone!',
|
|
184
|
+
description:
|
|
185
|
+
'Congratulations! You have successfully installed Plone.',
|
|
186
|
+
'@id': `${settings.apiPath}/front-page`,
|
|
187
|
+
},
|
|
188
|
+
],
|
|
189
|
+
},
|
|
190
|
+
}),
|
|
191
|
+
).toEqual({
|
|
192
|
+
error: null,
|
|
193
|
+
items: [
|
|
194
|
+
{
|
|
195
|
+
title: 'Welcome to Plone!',
|
|
196
|
+
description:
|
|
197
|
+
'Congratulations! You have successfully installed Plone.',
|
|
198
|
+
url: '/front-page',
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
loaded: true,
|
|
202
|
+
loading: false,
|
|
203
|
+
});
|
|
204
|
+
});
|
|
175
205
|
});
|
package/src/registry.js
CHANGED
|
@@ -123,8 +123,8 @@ class Config {
|
|
|
123
123
|
// Try to set a displayName (useful for React dev tools) for the registered component
|
|
124
124
|
// Only if it's a function and it's not set previously
|
|
125
125
|
try {
|
|
126
|
-
const displayName =
|
|
127
|
-
.displayName;
|
|
126
|
+
const displayName =
|
|
127
|
+
this._data.components[componentName].component.displayName;
|
|
128
128
|
|
|
129
129
|
if (
|
|
130
130
|
!displayName &&
|
package/src/storybook.jsx
CHANGED
|
@@ -91,8 +91,7 @@ const initialState = () => ({
|
|
|
91
91
|
},
|
|
92
92
|
],
|
|
93
93
|
key: '6470b',
|
|
94
|
-
text:
|
|
95
|
-
'Disclaimer: This instance is reset every night, so all changes will be lost afterwards.',
|
|
94
|
+
text: 'Disclaimer: This instance is reset every night, so all changes will be lost afterwards.',
|
|
96
95
|
type: 'unstyled',
|
|
97
96
|
},
|
|
98
97
|
],
|
|
@@ -143,13 +142,12 @@ const initialState = () => ({
|
|
|
143
142
|
],
|
|
144
143
|
inlineStyleRanges: [],
|
|
145
144
|
key: 'behki',
|
|
146
|
-
text:
|
|
147
|
-
'Plone is a CMS built on Python with over 19 years of experience. Plone has very interesting features that appeal to developers and users alike, such as customizable content types, hierarchical URL object traversing and a sophisticated content workflow powered by a granular permissions model. This allows you to build anything from simple websites to enterprise-grade intranets. Volto exposes all these features and communicates with Plone via its mature REST API. Volto can be esily themed and is highly customizable.',
|
|
145
|
+
text: 'Plone is a CMS built on Python with over 19 years of experience. Plone has very interesting features that appeal to developers and users alike, such as customizable content types, hierarchical URL object traversing and a sophisticated content workflow powered by a granular permissions model. This allows you to build anything from simple websites to enterprise-grade intranets. Volto exposes all these features and communicates with Plone via its mature REST API. Volto can be esily themed and is highly customizable.',
|
|
148
146
|
type: 'unstyled',
|
|
149
147
|
},
|
|
150
148
|
],
|
|
151
149
|
entityMap: {
|
|
152
|
-
|
|
150
|
+
0: {
|
|
153
151
|
data: {
|
|
154
152
|
href: 'https://plone.org',
|
|
155
153
|
rel: 'nofollow',
|
|
@@ -158,7 +156,7 @@ const initialState = () => ({
|
|
|
158
156
|
mutability: 'MUTABLE',
|
|
159
157
|
type: 'LINK',
|
|
160
158
|
},
|
|
161
|
-
|
|
159
|
+
1: {
|
|
162
160
|
data: {
|
|
163
161
|
href: 'https://github.com/plone/plone.restapi',
|
|
164
162
|
url: 'https://github.com/plone/plone.restapi',
|
|
@@ -219,13 +217,12 @@ const initialState = () => ({
|
|
|
219
217
|
],
|
|
220
218
|
inlineStyleRanges: [],
|
|
221
219
|
key: '6a248',
|
|
222
|
-
text:
|
|
223
|
-
'Last but not least, it also supports a Volto Nodejs-based backend reference API implementation that demos how other systems could also use Volto to display and create content through it.',
|
|
220
|
+
text: 'Last but not least, it also supports a Volto Nodejs-based backend reference API implementation that demos how other systems could also use Volto to display and create content through it.',
|
|
224
221
|
type: 'unstyled',
|
|
225
222
|
},
|
|
226
223
|
],
|
|
227
224
|
entityMap: {
|
|
228
|
-
|
|
225
|
+
0: {
|
|
229
226
|
data: {
|
|
230
227
|
href: 'https://github.com/plone/volto-reference-backend',
|
|
231
228
|
url: 'https://github.com/plone/volto-reference-backend',
|
|
@@ -252,8 +249,7 @@ const initialState = () => ({
|
|
|
252
249
|
},
|
|
253
250
|
],
|
|
254
251
|
key: '94arl',
|
|
255
|
-
text:
|
|
256
|
-
'You can log in and use it as admin user using these credentials:',
|
|
252
|
+
text: 'You can log in and use it as admin user using these credentials:',
|
|
257
253
|
type: 'unstyled',
|
|
258
254
|
},
|
|
259
255
|
],
|
|
@@ -276,13 +272,12 @@ const initialState = () => ({
|
|
|
276
272
|
],
|
|
277
273
|
inlineStyleRanges: [],
|
|
278
274
|
key: '1bnna',
|
|
279
|
-
text:
|
|
280
|
-
'Volto is a React-based frontend for content management systems, currently supporting three backend implementations: Plone, Guillotina and a NodeJS reference implementation.',
|
|
275
|
+
text: 'Volto is a React-based frontend for content management systems, currently supporting three backend implementations: Plone, Guillotina and a NodeJS reference implementation.',
|
|
281
276
|
type: 'unstyled',
|
|
282
277
|
},
|
|
283
278
|
],
|
|
284
279
|
entityMap: {
|
|
285
|
-
|
|
280
|
+
0: {
|
|
286
281
|
data: {
|
|
287
282
|
href: 'https://github.com/plone/volto',
|
|
288
283
|
url: 'https://github.com/plone/volto',
|
|
@@ -303,8 +298,7 @@ const initialState = () => ({
|
|
|
303
298
|
entityRanges: [],
|
|
304
299
|
inlineStyleRanges: [],
|
|
305
300
|
key: '55n44',
|
|
306
|
-
text:
|
|
307
|
-
'You can use this site to test Volto. It runs on the master branch of Volto using latest Plone 5.2 Backend running on Python 3.',
|
|
301
|
+
text: 'You can use this site to test Volto. It runs on the master branch of Volto using latest Plone 5.2 Backend running on Python 3.',
|
|
308
302
|
type: 'unstyled',
|
|
309
303
|
},
|
|
310
304
|
],
|
|
@@ -367,13 +361,12 @@ const initialState = () => ({
|
|
|
367
361
|
],
|
|
368
362
|
inlineStyleRanges: [],
|
|
369
363
|
key: '68rve',
|
|
370
|
-
text:
|
|
371
|
-
'Volto also supports other APIs like Guillotina, a Python resource management system, inspired by Plone and using the same basic concepts like traversal, content types and permissions model.',
|
|
364
|
+
text: 'Volto also supports other APIs like Guillotina, a Python resource management system, inspired by Plone and using the same basic concepts like traversal, content types and permissions model.',
|
|
372
365
|
type: 'unstyled',
|
|
373
366
|
},
|
|
374
367
|
],
|
|
375
368
|
entityMap: {
|
|
376
|
-
|
|
369
|
+
0: {
|
|
377
370
|
data: {
|
|
378
371
|
href: 'https://guillotina.io/',
|
|
379
372
|
rel: 'nofollow',
|
|
@@ -686,8 +679,7 @@ const initialState = () => ({
|
|
|
686
679
|
},
|
|
687
680
|
],
|
|
688
681
|
key: '6470b',
|
|
689
|
-
text:
|
|
690
|
-
'Disclaimer: This instance is reset every night, so all changes will be lost afterwards.',
|
|
682
|
+
text: 'Disclaimer: This instance is reset every night, so all changes will be lost afterwards.',
|
|
691
683
|
type: 'unstyled',
|
|
692
684
|
},
|
|
693
685
|
],
|
|
@@ -738,13 +730,12 @@ const initialState = () => ({
|
|
|
738
730
|
],
|
|
739
731
|
inlineStyleRanges: [],
|
|
740
732
|
key: 'behki',
|
|
741
|
-
text:
|
|
742
|
-
'Plone is a CMS built on Python with over 19 years of experience. Plone has very interesting features that appeal to developers and users alike, such as customizable content types, hierarchical URL object traversing and a sophisticated content workflow powered by a granular permissions model. This allows you to build anything from simple websites to enterprise-grade intranets. Volto exposes all these features and communicates with Plone via its mature REST API. Volto can be esily themed and is highly customizable.',
|
|
733
|
+
text: 'Plone is a CMS built on Python with over 19 years of experience. Plone has very interesting features that appeal to developers and users alike, such as customizable content types, hierarchical URL object traversing and a sophisticated content workflow powered by a granular permissions model. This allows you to build anything from simple websites to enterprise-grade intranets. Volto exposes all these features and communicates with Plone via its mature REST API. Volto can be esily themed and is highly customizable.',
|
|
743
734
|
type: 'unstyled',
|
|
744
735
|
},
|
|
745
736
|
],
|
|
746
737
|
entityMap: {
|
|
747
|
-
|
|
738
|
+
0: {
|
|
748
739
|
data: {
|
|
749
740
|
href: 'https://plone.org',
|
|
750
741
|
rel: 'nofollow',
|
|
@@ -753,7 +744,7 @@ const initialState = () => ({
|
|
|
753
744
|
mutability: 'MUTABLE',
|
|
754
745
|
type: 'LINK',
|
|
755
746
|
},
|
|
756
|
-
|
|
747
|
+
1: {
|
|
757
748
|
data: {
|
|
758
749
|
href: 'https://github.com/plone/plone.restapi',
|
|
759
750
|
url: 'https://github.com/plone/plone.restapi',
|
|
@@ -814,13 +805,12 @@ const initialState = () => ({
|
|
|
814
805
|
],
|
|
815
806
|
inlineStyleRanges: [],
|
|
816
807
|
key: '6a248',
|
|
817
|
-
text:
|
|
818
|
-
'Last but not least, it also supports a Volto Nodejs-based backend reference API implementation that demos how other systems could also use Volto to display and create content through it.',
|
|
808
|
+
text: 'Last but not least, it also supports a Volto Nodejs-based backend reference API implementation that demos how other systems could also use Volto to display and create content through it.',
|
|
819
809
|
type: 'unstyled',
|
|
820
810
|
},
|
|
821
811
|
],
|
|
822
812
|
entityMap: {
|
|
823
|
-
|
|
813
|
+
0: {
|
|
824
814
|
data: {
|
|
825
815
|
href: 'https://github.com/plone/volto-reference-backend',
|
|
826
816
|
url: 'https://github.com/plone/volto-reference-backend',
|
|
@@ -847,8 +837,7 @@ const initialState = () => ({
|
|
|
847
837
|
},
|
|
848
838
|
],
|
|
849
839
|
key: '94arl',
|
|
850
|
-
text:
|
|
851
|
-
'You can log in and use it as admin user using these credentials:',
|
|
840
|
+
text: 'You can log in and use it as admin user using these credentials:',
|
|
852
841
|
type: 'unstyled',
|
|
853
842
|
},
|
|
854
843
|
],
|
|
@@ -871,13 +860,12 @@ const initialState = () => ({
|
|
|
871
860
|
],
|
|
872
861
|
inlineStyleRanges: [],
|
|
873
862
|
key: '1bnna',
|
|
874
|
-
text:
|
|
875
|
-
'Volto is a React-based frontend for content management systems, currently supporting three backend implementations: Plone, Guillotina and a NodeJS reference implementation.',
|
|
863
|
+
text: 'Volto is a React-based frontend for content management systems, currently supporting three backend implementations: Plone, Guillotina and a NodeJS reference implementation.',
|
|
876
864
|
type: 'unstyled',
|
|
877
865
|
},
|
|
878
866
|
],
|
|
879
867
|
entityMap: {
|
|
880
|
-
|
|
868
|
+
0: {
|
|
881
869
|
data: {
|
|
882
870
|
href: 'https://github.com/plone/volto',
|
|
883
871
|
url: 'https://github.com/plone/volto',
|
|
@@ -898,8 +886,7 @@ const initialState = () => ({
|
|
|
898
886
|
entityRanges: [],
|
|
899
887
|
inlineStyleRanges: [],
|
|
900
888
|
key: '55n44',
|
|
901
|
-
text:
|
|
902
|
-
'You can use this site to test Volto. It runs on the master branch of Volto using latest Plone 5.2 Backend running on Python 3.',
|
|
889
|
+
text: 'You can use this site to test Volto. It runs on the master branch of Volto using latest Plone 5.2 Backend running on Python 3.',
|
|
903
890
|
type: 'unstyled',
|
|
904
891
|
},
|
|
905
892
|
],
|
|
@@ -962,13 +949,12 @@ const initialState = () => ({
|
|
|
962
949
|
],
|
|
963
950
|
inlineStyleRanges: [],
|
|
964
951
|
key: '68rve',
|
|
965
|
-
text:
|
|
966
|
-
'Volto also supports other APIs like Guillotina, a Python resource management system, inspired by Plone and using the same basic concepts like traversal, content types and permissions model.',
|
|
952
|
+
text: 'Volto also supports other APIs like Guillotina, a Python resource management system, inspired by Plone and using the same basic concepts like traversal, content types and permissions model.',
|
|
967
953
|
type: 'unstyled',
|
|
968
954
|
},
|
|
969
955
|
],
|
|
970
956
|
entityMap: {
|
|
971
|
-
|
|
957
|
+
0: {
|
|
972
958
|
data: {
|
|
973
959
|
href: 'https://guillotina.io/',
|
|
974
960
|
rel: 'nofollow',
|
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
margin: 4px -14px 0;
|
|
46
46
|
background-repeat: no-repeat;
|
|
47
47
|
background-size: 64px 18px;
|
|
48
|
-
transition:
|
|
48
|
+
transition:
|
|
49
|
+
width 0.3s cubic-bezier(0.6, -0.28, 0.735, 0.045),
|
|
49
50
|
margin 0.3s cubic-bezier(0.6, -0.28, 0.735, 0.045);
|
|
50
51
|
}
|
|
51
52
|
|
|
@@ -61,9 +62,9 @@
|
|
|
61
62
|
width: 20px;
|
|
62
63
|
height: 80px;
|
|
63
64
|
padding: 0;
|
|
65
|
+
border-radius: 0;
|
|
64
66
|
margin-top: -40px;
|
|
65
67
|
background: transparent;
|
|
66
|
-
border-radius: 0;
|
|
67
68
|
opacity: 0.3;
|
|
68
69
|
transition: opacity 0.3s;
|
|
69
70
|
}
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
.ui.container {
|
|
11
11
|
display: block;
|
|
12
12
|
max-width: @maxWidth !important;
|
|
13
|
-
transition:
|
|
13
|
+
transition:
|
|
14
|
+
width 0.3s cubic-bezier(0.6, -0.28, 0.735, 0.045),
|
|
14
15
|
margin-left 0.3s cubic-bezier(0.6, -0.28, 0.735, 0.045),
|
|
15
16
|
margin-right 0.3s cubic-bezier(0.6, -0.28, 0.735, 0.045);
|
|
16
17
|
}
|
|
@@ -82,7 +83,9 @@
|
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
|
|
85
|
-
body:not(.has-toolbar):not(.has-sidebar):not(.has-toolbar-collapsed):not(
|
|
86
|
+
body:not(.has-toolbar):not(.has-sidebar):not(.has-toolbar-collapsed):not(
|
|
87
|
+
.has-sidebar-collapsed
|
|
88
|
+
) {
|
|
86
89
|
.contentWidth(0);
|
|
87
90
|
}
|
|
88
91
|
|
|
@@ -30,9 +30,9 @@ of an error is present, it overrides a default from SemanticUI grid definitions.
|
|
|
30
30
|
display: inline-block;
|
|
31
31
|
width: 10px;
|
|
32
32
|
height: 10px;
|
|
33
|
+
border-radius: 50%;
|
|
33
34
|
margin-left: 5px;
|
|
34
35
|
background-color: @pink;
|
|
35
|
-
border-radius: 50%;
|
|
36
36
|
content: '';
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
@font-face {
|
|
6
6
|
font-family: 'Step';
|
|
7
|
-
src:
|
|
7
|
+
src:
|
|
8
|
+
url(data:application/x-font-ttf;charset=utf-8;;base64,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)
|
|
8
9
|
format('truetype'),
|
|
9
10
|
url(data:application/font-woff;charset=utf-8;base64,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)
|
|
10
11
|
format('woff');
|
|
@@ -307,9 +307,11 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
307
307
|
left: 50%;
|
|
308
308
|
display: flex;
|
|
309
309
|
padding: 4px;
|
|
310
|
-
background-color: rgba(255, 255, 255, 0.975);
|
|
311
310
|
border-radius: 2px;
|
|
312
|
-
|
|
311
|
+
background-color: rgba(255, 255, 255, 0.975);
|
|
312
|
+
box-shadow:
|
|
313
|
+
0 0 8px rgba(0, 0, 0, 0.1),
|
|
314
|
+
0 2px 4px rgba(0, 0, 0, 0.05);
|
|
313
315
|
transform: translate(-50%, 0);
|
|
314
316
|
|
|
315
317
|
form {
|
|
@@ -331,8 +333,8 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
331
333
|
|
|
332
334
|
.ui.icon.button {
|
|
333
335
|
padding: 4px;
|
|
334
|
-
margin-left: 4px;
|
|
335
336
|
border-radius: 1px;
|
|
337
|
+
margin-left: 4px;
|
|
336
338
|
color: @brown !important;
|
|
337
339
|
|
|
338
340
|
&:hover {
|
|
@@ -352,9 +354,11 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
352
354
|
width: ~'min(100%, 450px)';
|
|
353
355
|
height: 40px;
|
|
354
356
|
padding: 4px;
|
|
355
|
-
background-color: rgba(255, 255, 255, 0.975);
|
|
356
357
|
border-radius: 2px;
|
|
357
|
-
|
|
358
|
+
background-color: rgba(255, 255, 255, 0.975);
|
|
359
|
+
box-shadow:
|
|
360
|
+
0 0 8px rgba(0, 0, 0, 0.1),
|
|
361
|
+
0 2px 4px rgba(0, 0, 0, 0.05);
|
|
358
362
|
|
|
359
363
|
form {
|
|
360
364
|
display: flex;
|
|
@@ -380,8 +384,8 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
380
384
|
|
|
381
385
|
.ui.icon.button {
|
|
382
386
|
padding: 4px;
|
|
383
|
-
margin-left: 4px;
|
|
384
387
|
border-radius: 1px;
|
|
388
|
+
margin-left: 4px;
|
|
385
389
|
color: @brown !important;
|
|
386
390
|
|
|
387
391
|
&:hover {
|
|
@@ -482,8 +486,8 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
482
486
|
); // This is to compensate the width of the icon and center it correctly
|
|
483
487
|
padding: 0 !important;
|
|
484
488
|
border: none !important;
|
|
485
|
-
background: white !important;
|
|
486
489
|
border-radius: 50% !important;
|
|
490
|
+
background: white !important;
|
|
487
491
|
}
|
|
488
492
|
|
|
489
493
|
&:not(.new-add-block) {
|
|
@@ -552,8 +556,8 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
552
556
|
color: #b8c6c8;
|
|
553
557
|
|
|
554
558
|
.icon {
|
|
555
|
-
background: rgba(255, 255, 255, 0.2);
|
|
556
559
|
border-radius: 2px;
|
|
560
|
+
background: rgba(255, 255, 255, 0.2);
|
|
557
561
|
}
|
|
558
562
|
|
|
559
563
|
&:hover {
|
|
@@ -579,8 +583,8 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
579
583
|
.callout {
|
|
580
584
|
padding: 1em;
|
|
581
585
|
border: 1px solid rgba(34, 36, 38, 0.15);
|
|
582
|
-
margin: 1rem 0;
|
|
583
586
|
border-radius: 0.28571429rem;
|
|
587
|
+
margin: 1rem 0;
|
|
584
588
|
box-shadow: 0 1px 2px 0 rgba(34, 36, 38, 0.15);
|
|
585
589
|
}
|
|
586
590
|
|
|
@@ -604,8 +608,8 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
604
608
|
// HTML block
|
|
605
609
|
.html-editor {
|
|
606
610
|
z-index: 1;
|
|
607
|
-
background-color: #f3f6f7;
|
|
608
611
|
border-radius: 4px;
|
|
612
|
+
background-color: #f3f6f7;
|
|
609
613
|
font-family: monospace;
|
|
610
614
|
font-size: @16px;
|
|
611
615
|
word-break: break-all !important;
|
|
@@ -715,9 +719,11 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
715
719
|
.blocks-chooser {
|
|
716
720
|
width: 310px;
|
|
717
721
|
padding: 4px;
|
|
718
|
-
background-color: rgba(255, 255, 255, 0.975);
|
|
719
722
|
border-radius: 2px;
|
|
720
|
-
|
|
723
|
+
background-color: rgba(255, 255, 255, 0.975);
|
|
724
|
+
box-shadow:
|
|
725
|
+
0 0 8px rgba(0, 0, 0, 0.1),
|
|
726
|
+
0 2px 4px rgba(0, 0, 0, 0.05);
|
|
721
727
|
|
|
722
728
|
&:not(.new-add-block) {
|
|
723
729
|
top: -12px;
|
|
@@ -731,9 +737,9 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
731
737
|
align-items: center;
|
|
732
738
|
justify-content: center;
|
|
733
739
|
padding: 20px 0;
|
|
740
|
+
border-radius: 3px;
|
|
734
741
|
margin-top: 5px;
|
|
735
742
|
margin-bottom: 5px;
|
|
736
|
-
border-radius: 3px;
|
|
737
743
|
color: @brown !important;
|
|
738
744
|
hyphens: auto;
|
|
739
745
|
text-align: center;
|
|
@@ -995,8 +1001,8 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
995
1001
|
display: flex;
|
|
996
1002
|
justify-content: space-between;
|
|
997
1003
|
padding: 0.5rem;
|
|
998
|
-
background-color: #faf8f8;
|
|
999
1004
|
border-radius: 0.3rem;
|
|
1005
|
+
background-color: #faf8f8;
|
|
1000
1006
|
}
|
|
1001
1007
|
|
|
1002
1008
|
.active.title .filter-list-title svg {
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
|
|
47
47
|
.ui.icon.button {
|
|
48
48
|
padding: 10px;
|
|
49
|
-
margin-left: 4px;
|
|
50
49
|
border-radius: 1px;
|
|
50
|
+
margin-left: 4px;
|
|
51
51
|
color: @brown !important;
|
|
52
52
|
|
|
53
53
|
&:hover {
|
|
@@ -192,6 +192,10 @@
|
|
|
192
192
|
white-space: normal;
|
|
193
193
|
word-break: break-all;
|
|
194
194
|
}
|
|
195
|
+
|
|
196
|
+
.broken-links-list-link-wrapper {
|
|
197
|
+
margin-top: 30px;
|
|
198
|
+
}
|
|
195
199
|
}
|
|
196
200
|
|
|
197
201
|
.contenttype-event {
|