mirror of
https://github.com/strapi/strapi.git
synced 2025-07-03 07:05:06 +00:00
Chore: Prettify all files
This commit is contained in:
parent
1ec680924d
commit
8aaaff77d4
@ -207,9 +207,6 @@ RepeatableComponent.propTypes = {
|
|||||||
|
|
||||||
const Memoized = memo(RepeatableComponent);
|
const Memoized = memo(RepeatableComponent);
|
||||||
|
|
||||||
export default connect(
|
export default connect(Memoized, select);
|
||||||
Memoized,
|
|
||||||
select
|
|
||||||
);
|
|
||||||
|
|
||||||
export { RepeatableComponent };
|
export { RepeatableComponent };
|
||||||
|
@ -124,7 +124,10 @@ describe('Content Manager | hooks | useFetchContentTypeLayout | utils ', () => {
|
|||||||
uid: 'compo',
|
uid: 'compo',
|
||||||
layouts: {
|
layouts: {
|
||||||
edit: [
|
edit: [
|
||||||
[{ name: 'full_name', size: 6 }, { name: 'city', size: 6 }],
|
[
|
||||||
|
{ name: 'full_name', size: 6 },
|
||||||
|
{ name: 'city', size: 6 },
|
||||||
|
],
|
||||||
[{ name: 'compo', size: 12 }],
|
[{ name: 'compo', size: 12 }],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -166,7 +169,10 @@ describe('Content Manager | hooks | useFetchContentTypeLayout | utils ', () => {
|
|||||||
editRelations: [],
|
editRelations: [],
|
||||||
edit: [
|
edit: [
|
||||||
[{ name: 'dz', size: 12 }],
|
[{ name: 'dz', size: 12 }],
|
||||||
[{ name: 'full_name', size: 6 }, { name: 'city', size: 6 }],
|
[
|
||||||
|
{ name: 'full_name', size: 6 },
|
||||||
|
{ name: 'city', size: 6 },
|
||||||
|
],
|
||||||
[{ name: 'compo', size: 12 }],
|
[{ name: 'compo', size: 12 }],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -364,7 +370,10 @@ describe('Content Manager | hooks | useFetchContentTypeLayout | utils ', () => {
|
|||||||
layouts: {
|
layouts: {
|
||||||
edit: [
|
edit: [
|
||||||
[{ name: 'dz', size: 12 }],
|
[{ name: 'dz', size: 12 }],
|
||||||
[{ name: 'full_name', size: 6 }, { name: 'city', size: 6 }],
|
[
|
||||||
|
{ name: 'full_name', size: 6 },
|
||||||
|
{ name: 'city', size: 6 },
|
||||||
|
],
|
||||||
[{ name: 'compo', size: 12 }],
|
[{ name: 'compo', size: 12 }],
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -612,7 +621,10 @@ describe('Content Manager | hooks | useFetchContentTypeLayout | utils ', () => {
|
|||||||
|
|
||||||
describe('getDisplayedModels', () => {
|
describe('getDisplayedModels', () => {
|
||||||
it('should return an array containing only the displayable models', () => {
|
it('should return an array containing only the displayable models', () => {
|
||||||
const models = [{ uid: 'test', isDisplayed: false }, { uid: 'testtest', isDisplayed: true }];
|
const models = [
|
||||||
|
{ uid: 'test', isDisplayed: false },
|
||||||
|
{ uid: 'testtest', isDisplayed: true },
|
||||||
|
];
|
||||||
|
|
||||||
expect(getDisplayedModels([])).toHaveLength(0);
|
expect(getDisplayedModels([])).toHaveLength(0);
|
||||||
expect(getDisplayedModels(models)).toHaveLength(1);
|
expect(getDisplayedModels(models)).toHaveLength(1);
|
||||||
|
@ -11,7 +11,12 @@ import { makeSelectModelAndComponentSchemas } from '../../App/selectors';
|
|||||||
import getTrad from '../../../utils/getTrad';
|
import getTrad from '../../../utils/getTrad';
|
||||||
import GenericInput from './GenericInput';
|
import GenericInput from './GenericInput';
|
||||||
|
|
||||||
const FIELD_SIZES = [[4, '33%'], [6, '50%'], [8, '66%'], [12, '100%']];
|
const FIELD_SIZES = [
|
||||||
|
[4, '33%'],
|
||||||
|
[6, '50%'],
|
||||||
|
[8, '66%'],
|
||||||
|
[12, '100%'],
|
||||||
|
];
|
||||||
|
|
||||||
const NON_RESIZABLE_FIELD_TYPES = ['dynamiczone', 'component', 'json', 'richtext'];
|
const NON_RESIZABLE_FIELD_TYPES = ['dynamiczone', 'component', 'json', 'richtext'];
|
||||||
|
|
||||||
|
@ -34,7 +34,12 @@ const makeApp = (history, layout) => {
|
|||||||
},
|
},
|
||||||
kind: 'collectionType',
|
kind: 'collectionType',
|
||||||
layouts: {
|
layouts: {
|
||||||
edit: [[{ name: 'postal_code', size: 6 }, { name: 'city', size: 6 }]],
|
edit: [
|
||||||
|
[
|
||||||
|
{ name: 'postal_code', size: 6 },
|
||||||
|
{ name: 'city', size: 6 },
|
||||||
|
],
|
||||||
|
],
|
||||||
list: ['postal_code', 'categories'],
|
list: ['postal_code', 'categories'],
|
||||||
editRelations: ['categories'],
|
editRelations: ['categories'],
|
||||||
},
|
},
|
||||||
|
@ -150,7 +150,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
edit: [
|
edit: [
|
||||||
{
|
{
|
||||||
rowId: 0,
|
rowId: 0,
|
||||||
rowContent: [{ name: 'title', size: 6 }, { name: '_TEMP_', size: 6 }],
|
rowContent: [
|
||||||
|
{ name: 'title', size: 6 },
|
||||||
|
{ name: '_TEMP_', size: 6 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -170,7 +173,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
edit: [
|
edit: [
|
||||||
{
|
{
|
||||||
rowId: 0,
|
rowId: 0,
|
||||||
rowContent: [{ name: 'title', size: 8 }, { name: '_TEMP_', size: 4 }],
|
rowContent: [
|
||||||
|
{ name: 'title', size: 8 },
|
||||||
|
{ name: '_TEMP_', size: 4 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
@ -186,7 +192,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
edit: [
|
edit: [
|
||||||
{
|
{
|
||||||
rowId: 0,
|
rowId: 0,
|
||||||
rowContent: [{ name: 'title', size: 8 }, { name: 'isActive', size: 4 }],
|
rowContent: [
|
||||||
|
{ name: 'title', size: 8 },
|
||||||
|
{ name: 'isActive', size: 4 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -234,7 +243,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
rowId: 1,
|
rowId: 1,
|
||||||
rowContent: [{ name: 'title', size: 6 }, { name: '_TEMP_', size: 6 }],
|
rowContent: [
|
||||||
|
{ name: 'title', size: 6 },
|
||||||
|
{ name: '_TEMP_', size: 6 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -358,7 +370,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
edit: [
|
edit: [
|
||||||
{
|
{
|
||||||
rowId: 0,
|
rowId: 0,
|
||||||
rowContent: [{ name: 'isActive', size: 4 }, { name: '_TEMP_', size: 8 }],
|
rowContent: [
|
||||||
|
{ name: 'isActive', size: 4 },
|
||||||
|
{ name: '_TEMP_', size: 8 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -404,7 +419,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
rowId: 1,
|
rowId: 1,
|
||||||
rowContent: [{ name: 'slug', size: 6 }, { name: '_TEMP_', size: 6 }],
|
rowContent: [
|
||||||
|
{ name: 'slug', size: 6 },
|
||||||
|
{ name: '_TEMP_', size: 6 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -424,7 +442,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
rowId: 1,
|
rowId: 1,
|
||||||
rowContent: [{ name: 'second', size: 4 }, { name: '_TEMP_', size: 8 }],
|
rowContent: [
|
||||||
|
{ name: 'second', size: 4 },
|
||||||
|
{ name: '_TEMP_', size: 8 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -455,7 +476,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
rowId: 1,
|
rowId: 1,
|
||||||
rowContent: [{ name: 'slug', size: 6 }, { name: '_TEMP_', size: 6 }],
|
rowContent: [
|
||||||
|
{ name: 'slug', size: 6 },
|
||||||
|
{ name: '_TEMP_', size: 6 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -475,7 +499,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
rowId: 1,
|
rowId: 1,
|
||||||
rowContent: [{ name: 'slug', size: 6 }, { name: '_TEMP_', size: 6 }],
|
rowContent: [
|
||||||
|
{ name: 'slug', size: 6 },
|
||||||
|
{ name: '_TEMP_', size: 6 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -499,7 +526,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
edit: [
|
edit: [
|
||||||
{
|
{
|
||||||
rowId: 0,
|
rowId: 0,
|
||||||
rowContent: [{ name: 'city', size: 6 }, { name: 'slug', size: 6 }],
|
rowContent: [
|
||||||
|
{ name: 'city', size: 6 },
|
||||||
|
{ name: 'slug', size: 6 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
rowId: 1,
|
rowId: 1,
|
||||||
@ -518,7 +548,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
|||||||
edit: [
|
edit: [
|
||||||
{
|
{
|
||||||
rowId: 0,
|
rowId: 0,
|
||||||
rowContent: [{ name: 'city', size: 6 }, { name: 'slug', size: 6 }],
|
rowContent: [
|
||||||
|
{ name: 'city', size: 6 },
|
||||||
|
{ name: 'slug', size: 6 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
rowId: 1,
|
rowId: 1,
|
||||||
|
@ -28,7 +28,13 @@ const formatLayout = arr => {
|
|||||||
|
|
||||||
return acc2;
|
return acc2;
|
||||||
}, []);
|
}, []);
|
||||||
const rowId = acc.length === 0 ? 0 : Math.max.apply(Math, acc.map(o => o.rowId)) + 1;
|
const rowId =
|
||||||
|
acc.length === 0
|
||||||
|
? 0
|
||||||
|
: Math.max.apply(
|
||||||
|
Math,
|
||||||
|
acc.map(o => o.rowId)
|
||||||
|
) + 1;
|
||||||
|
|
||||||
const currentRowSize = getRowSize(currentRow);
|
const currentRowSize = getRowSize(currentRow);
|
||||||
|
|
||||||
|
@ -12,19 +12,31 @@ describe('Content Manager | containers | EditSettingsView | utils | layout', ()
|
|||||||
describe('createLayout', () => {
|
describe('createLayout', () => {
|
||||||
it('should return an array of object with keys rowId and rowContent', () => {
|
it('should return an array of object with keys rowId and rowContent', () => {
|
||||||
const data = [
|
const data = [
|
||||||
[{ name: 'test', size: 4 }, { name: 'test1', size: 4 }],
|
[
|
||||||
|
{ name: 'test', size: 4 },
|
||||||
|
{ name: 'test1', size: 4 },
|
||||||
|
],
|
||||||
[{ name: 'test2', size: 12 }],
|
[{ name: 'test2', size: 12 }],
|
||||||
[{ name: 'test3', size: 6 }, { name: 'test4', size: 1 }],
|
[
|
||||||
|
{ name: 'test3', size: 6 },
|
||||||
|
{ name: 'test4', size: 1 },
|
||||||
|
],
|
||||||
];
|
];
|
||||||
const expected = [
|
const expected = [
|
||||||
{
|
{
|
||||||
rowId: 0,
|
rowId: 0,
|
||||||
rowContent: [{ name: 'test', size: 4 }, { name: 'test1', size: 4 }],
|
rowContent: [
|
||||||
|
{ name: 'test', size: 4 },
|
||||||
|
{ name: 'test1', size: 4 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{ rowId: 1, rowContent: [{ name: 'test2', size: 12 }] },
|
{ rowId: 1, rowContent: [{ name: 'test2', size: 12 }] },
|
||||||
{
|
{
|
||||||
rowId: 2,
|
rowId: 2,
|
||||||
rowContent: [{ name: 'test3', size: 6 }, { name: 'test4', size: 1 }],
|
rowContent: [
|
||||||
|
{ name: 'test3', size: 6 },
|
||||||
|
{ name: 'test4', size: 1 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -37,12 +49,18 @@ describe('Content Manager | containers | EditSettingsView | utils | layout', ()
|
|||||||
const data = [
|
const data = [
|
||||||
{
|
{
|
||||||
rowId: 0,
|
rowId: 0,
|
||||||
rowContent: [{ name: 'test', size: 4 }, { name: 'test1', size: 4 }],
|
rowContent: [
|
||||||
|
{ name: 'test', size: 4 },
|
||||||
|
{ name: 'test1', size: 4 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{ rowId: 1, rowContent: [{ name: 'test2', size: 12 }] },
|
{ rowId: 1, rowContent: [{ name: 'test2', size: 12 }] },
|
||||||
{
|
{
|
||||||
rowId: 2,
|
rowId: 2,
|
||||||
rowContent: [{ name: 'test3', size: 6 }, { name: 'test4', size: 1 }],
|
rowContent: [
|
||||||
|
{ name: 'test3', size: 6 },
|
||||||
|
{ name: 'test4', size: 1 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
const expected = [
|
const expected = [
|
||||||
@ -89,7 +107,10 @@ describe('Content Manager | containers | EditSettingsView | utils | layout', ()
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
rowId: 3,
|
rowId: 3,
|
||||||
rowContent: [{ name: 'test5', size: 6 }, { name: 'test6', size: 6 }],
|
rowContent: [
|
||||||
|
{ name: 'test5', size: 6 },
|
||||||
|
{ name: 'test6', size: 6 },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -238,7 +259,10 @@ describe('Content Manager | containers | EditSettingsView | utils | layout', ()
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
const expected = [
|
const expected = [
|
||||||
[{ name: 'name', size: 6 }, { name: 'test', size: 4 }],
|
[
|
||||||
|
{ name: 'name', size: 6 },
|
||||||
|
{ name: 'test', size: 4 },
|
||||||
|
],
|
||||||
[{ name: 'name1', size: 4 }],
|
[{ name: 'name1', size: 4 }],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -71,7 +71,4 @@ DeleteLink.propTypes = {
|
|||||||
|
|
||||||
const Memoized = memo(DeleteLink, isEqual);
|
const Memoized = memo(DeleteLink, isEqual);
|
||||||
|
|
||||||
export default connect(
|
export default connect(Memoized, select);
|
||||||
Memoized,
|
|
||||||
select
|
|
||||||
);
|
|
||||||
|
@ -88,8 +88,5 @@ DraftAndPublishBadge.propTypes = {
|
|||||||
isPublished: PropTypes.bool.isRequired,
|
isPublished: PropTypes.bool.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
export default connect(
|
export default connect(DraftAndPublishBadge, select);
|
||||||
DraftAndPublishBadge,
|
|
||||||
select
|
|
||||||
);
|
|
||||||
export { DraftAndPublishBadge };
|
export { DraftAndPublishBadge };
|
||||||
|
@ -15,12 +15,9 @@ const listViewDomain = () => state => state['content-manager_listView'] || initi
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
const makeSelectListView = () =>
|
const makeSelectListView = () =>
|
||||||
createSelector(
|
createSelector(listViewDomain(), substate => {
|
||||||
listViewDomain(),
|
|
||||||
substate => {
|
|
||||||
return substate;
|
return substate;
|
||||||
}
|
});
|
||||||
);
|
|
||||||
|
|
||||||
const selectDisplayedHeaders = state => {
|
const selectDisplayedHeaders = state => {
|
||||||
const { displayedHeaders } = state['content-manager_listView'];
|
const { displayedHeaders } = state['content-manager_listView'];
|
||||||
|
@ -140,7 +140,11 @@ const testData = {
|
|||||||
id: 1,
|
id: 1,
|
||||||
name: 'name',
|
name: 'name',
|
||||||
subcomponotrepeatable: { id: 4, name: 'name' },
|
subcomponotrepeatable: { id: 4, name: 'name' },
|
||||||
subrepeatable: [{ id: 1, name: 'name' }, { id: 2, name: 'name' }, { id: 3, name: 'name' }],
|
subrepeatable: [
|
||||||
|
{ id: 1, name: 'name' },
|
||||||
|
{ id: 2, name: 'name' },
|
||||||
|
{ id: 3, name: 'name' },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
repeatable: [
|
repeatable: [
|
||||||
{
|
{
|
||||||
|
@ -10,7 +10,10 @@ describe('ADMIN | COMPONENTS | PERMISSIONS | GlobalActions | utils', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should return an array of actionId string', () => {
|
it('should return an array of actionId string', () => {
|
||||||
const data = [{ test: true, actionId: 'create' }, { test: 'false', actionId: 'read' }];
|
const data = [
|
||||||
|
{ test: true, actionId: 'create' },
|
||||||
|
{ test: 'false', actionId: 'read' },
|
||||||
|
];
|
||||||
const expected = ['create', 'read'];
|
const expected = ['create', 'read'];
|
||||||
|
|
||||||
expect(getActionsIds(data)).toEqual(expected);
|
expect(getActionsIds(data)).toEqual(expected);
|
||||||
|
@ -32,7 +32,11 @@ const checkPermissionsAreBound = role =>
|
|||||||
|
|
||||||
for (const [subject, perms] of Object.entries(permsBySubject)) {
|
for (const [subject, perms] of Object.entries(permsBySubject)) {
|
||||||
const boundActions = getBoundActionsBySubject(role, subject);
|
const boundActions = getBoundActionsBySubject(role, subject);
|
||||||
const missingActions = _.xor(perms.map(p => p.action), boundActions).length !== 0;
|
const missingActions =
|
||||||
|
_.xor(
|
||||||
|
perms.map(p => p.action),
|
||||||
|
boundActions
|
||||||
|
).length !== 0;
|
||||||
if (missingActions) return false;
|
if (missingActions) return false;
|
||||||
|
|
||||||
const permsBoundByFields = perms.filter(p => BOUND_ACTIONS_FOR_FIELDS.includes(p.action));
|
const permsBoundByFields = perms.filter(p => BOUND_ACTIONS_FOR_FIELDS.includes(p.action));
|
||||||
|
@ -38,12 +38,27 @@ describe('metrics', () => {
|
|||||||
const testData = [
|
const testData = [
|
||||||
[['fieldA'], [false]],
|
[['fieldA'], [false]],
|
||||||
[['fieldA', 'fieldB'], [false]],
|
[['fieldA', 'fieldB'], [false]],
|
||||||
[['fieldA', 'field1'], [true, 2, 1]],
|
[
|
||||||
[['field1', 'field2'], [true, 2, 2]],
|
['fieldA', 'field1'],
|
||||||
|
[true, 2, 1],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
['field1', 'field2'],
|
||||||
|
[true, 2, 2],
|
||||||
|
],
|
||||||
[['field1'], [true, 1, 1]],
|
[['field1'], [true, 1, 1]],
|
||||||
[['fieldA', 'fieldB', 'field1', 'field2'], [true, 4, 2]],
|
[
|
||||||
[['fieldA', 'fieldB', 'field3', 'field4'], [true, 4, 2]],
|
['fieldA', 'fieldB', 'field1', 'field2'],
|
||||||
[['fieldA', 'fieldB', 'field5', 'field6'], [true, 4, 2]],
|
[true, 4, 2],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
['fieldA', 'fieldB', 'field3', 'field4'],
|
||||||
|
[true, 4, 2],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
['fieldA', 'fieldB', 'field5', 'field6'],
|
||||||
|
[true, 4, 2],
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
test.each(testData)('%s', async (list, expectedResult) => {
|
test.each(testData)('%s', async (list, expectedResult) => {
|
||||||
|
@ -208,9 +208,13 @@ describe('x-to-many RF Preview', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('Pagination', () => {
|
describe('Pagination', () => {
|
||||||
test.each([[1, 10], [2, 10], [5, 1], [4, 2], [1, 100]])(
|
test.each([
|
||||||
'Custom pagination (%s, %s)',
|
[1, 10],
|
||||||
async (page, pageSize) => {
|
[2, 10],
|
||||||
|
[5, 1],
|
||||||
|
[4, 2],
|
||||||
|
[1, 100],
|
||||||
|
])('Custom pagination (%s, %s)', async (page, pageSize) => {
|
||||||
const product = data.product[0];
|
const product = data.product[0];
|
||||||
|
|
||||||
const { body, statusCode } = await rq.get(
|
const { body, statusCode } = await rq.get(
|
||||||
@ -223,10 +227,7 @@ describe('x-to-many RF Preview', () => {
|
|||||||
|
|
||||||
expect(pagination.page).toBe(page);
|
expect(pagination.page).toBe(page);
|
||||||
expect(pagination.pageSize).toBe(pageSize);
|
expect(pagination.pageSize).toBe(pageSize);
|
||||||
expect(results).toHaveLength(
|
expect(results).toHaveLength(Math.min(pageSize, PRODUCT_SHOP_COUNT - pageSize * (page - 1)));
|
||||||
Math.min(pageSize, PRODUCT_SHOP_COUNT - pageSize * (page - 1))
|
});
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -51,13 +51,7 @@ const formsAPI = {
|
|||||||
contentType.form.advanced.push(advanced);
|
contentType.form.advanced.push(advanced);
|
||||||
contentType.form.base.push(base);
|
contentType.form.base.push(base);
|
||||||
},
|
},
|
||||||
extendFields(
|
extendFields(fields, { validator, form: { advanced, base } }) {
|
||||||
fields,
|
|
||||||
{
|
|
||||||
validator,
|
|
||||||
form: { advanced, base },
|
|
||||||
}
|
|
||||||
) {
|
|
||||||
const formType = this.types.attribute;
|
const formType = this.types.attribute;
|
||||||
|
|
||||||
fields.forEach(field => {
|
fields.forEach(field => {
|
||||||
|
@ -182,9 +182,10 @@ function createSchemaBuilder({ components, contentTypes }) {
|
|||||||
*/
|
*/
|
||||||
rollback() {
|
rollback() {
|
||||||
return Promise.all(
|
return Promise.all(
|
||||||
[...Array.from(tmpComponents.values()), ...Array.from(tmpContentTypes.values())].map(
|
[
|
||||||
schema => schema.rollback()
|
...Array.from(tmpComponents.values()),
|
||||||
)
|
...Array.from(tmpContentTypes.values()),
|
||||||
|
].map(schema => schema.rollback())
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -137,7 +137,7 @@ const GenericInput = ({
|
|||||||
id: 'app.components.ToggleCheckbox.on-label',
|
id: 'app.components.ToggleCheckbox.on-label',
|
||||||
defaultMessage: 'True',
|
defaultMessage: 'True',
|
||||||
})}
|
})}
|
||||||
onChange={(e) => {
|
onChange={e => {
|
||||||
onChange({ target: { name, value: e.target.checked } });
|
onChange({ target: { name, value: e.target.checked } });
|
||||||
}}
|
}}
|
||||||
required={required}
|
required={required}
|
||||||
@ -153,7 +153,7 @@ const GenericInput = ({
|
|||||||
hint={hint}
|
hint={hint}
|
||||||
id={name}
|
id={name}
|
||||||
name={name}
|
name={name}
|
||||||
onValueChange={(value) => {
|
onValueChange={value => {
|
||||||
onChange({ target: { name, value } });
|
onChange({ target: { name, value } });
|
||||||
}}
|
}}
|
||||||
required={required}
|
required={required}
|
||||||
@ -174,7 +174,7 @@ const GenericInput = ({
|
|||||||
id={name}
|
id={name}
|
||||||
hint={hint}
|
hint={hint}
|
||||||
name={name}
|
name={name}
|
||||||
onChange={(date) => {
|
onChange={date => {
|
||||||
const formattedDate = date.toISOString();
|
const formattedDate = date.toISOString();
|
||||||
|
|
||||||
onChange({ target: { name, value: formattedDate, type } });
|
onChange({ target: { name, value: formattedDate, type } });
|
||||||
@ -184,7 +184,7 @@ const GenericInput = ({
|
|||||||
placeholder={formattedPlaceholder}
|
placeholder={formattedPlaceholder}
|
||||||
required={required}
|
required={required}
|
||||||
value={value && new Date(value)}
|
value={value && new Date(value)}
|
||||||
selectedDateLabel={(formattedDate) => `Date picker, current is ${formattedDate}`}
|
selectedDateLabel={formattedDate => `Date picker, current is ${formattedDate}`}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -205,7 +205,7 @@ const GenericInput = ({
|
|||||||
id={name}
|
id={name}
|
||||||
hint={hint}
|
hint={hint}
|
||||||
name={name}
|
name={name}
|
||||||
onChange={(date) => {
|
onChange={date => {
|
||||||
onChange({
|
onChange({
|
||||||
target: { name, value: formatISO(date, { representation: 'date' }), type },
|
target: { name, value: formatISO(date, { representation: 'date' }), type },
|
||||||
});
|
});
|
||||||
@ -214,7 +214,7 @@ const GenericInput = ({
|
|||||||
placeholder={formattedPlaceholder}
|
placeholder={formattedPlaceholder}
|
||||||
required={required}
|
required={required}
|
||||||
selectedDate={selectedDate}
|
selectedDate={selectedDate}
|
||||||
selectedDateLabel={(formattedDate) => `Date picker, current is ${formattedDate}`}
|
selectedDateLabel={formattedDate => `Date picker, current is ${formattedDate}`}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -228,7 +228,7 @@ const GenericInput = ({
|
|||||||
id={name}
|
id={name}
|
||||||
hint={hint}
|
hint={hint}
|
||||||
name={name}
|
name={name}
|
||||||
onValueChange={(value) => {
|
onValueChange={value => {
|
||||||
onChange({ target: { name, value: value ?? null, type } });
|
onChange({ target: { name, value: value ?? null, type } });
|
||||||
}}
|
}}
|
||||||
placeholder={formattedPlaceholder}
|
placeholder={formattedPlaceholder}
|
||||||
@ -291,7 +291,7 @@ const GenericInput = ({
|
|||||||
defaultMessage: 'Show password',
|
defaultMessage: 'Show password',
|
||||||
})}
|
})}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setShowPassword((prev) => !prev);
|
setShowPassword(prev => !prev);
|
||||||
}}
|
}}
|
||||||
style={{
|
style={{
|
||||||
border: 'none',
|
border: 'none',
|
||||||
@ -330,7 +330,7 @@ const GenericInput = ({
|
|||||||
id={name}
|
id={name}
|
||||||
hint={hint}
|
hint={hint}
|
||||||
name={name}
|
name={name}
|
||||||
onChange={(value) => {
|
onChange={value => {
|
||||||
onChange({ target: { name, value: value === '' ? null : value, type: 'select' } });
|
onChange({ target: { name, value: value === '' ? null : value, type: 'select' } });
|
||||||
}}
|
}}
|
||||||
placeholder={formattedPlaceholder}
|
placeholder={formattedPlaceholder}
|
||||||
@ -388,7 +388,7 @@ const GenericInput = ({
|
|||||||
id={name}
|
id={name}
|
||||||
hint={hint}
|
hint={hint}
|
||||||
name={name}
|
name={name}
|
||||||
onChange={(time) => {
|
onChange={time => {
|
||||||
onChange({ target: { name, value: `${time}`, type } });
|
onChange({ target: { name, value: `${time}`, type } });
|
||||||
}}
|
}}
|
||||||
onClear={() => {
|
onClear={() => {
|
||||||
|
@ -19,7 +19,9 @@ const defaultConfig = {
|
|||||||
module.exports = (userConfig, { strapi }) => {
|
module.exports = (userConfig, { strapi }) => {
|
||||||
const keys = strapi.server.app.keys;
|
const keys = strapi.server.app.keys;
|
||||||
if (!isArray(keys) || isEmpty(keys) || keys.some(isEmpty)) {
|
if (!isArray(keys) || isEmpty(keys) || keys.some(isEmpty)) {
|
||||||
throw new Error(`App keys are required. Please set app.keys in config/server.js (ex: keys: ['myKeyA', 'myKeyB'])`);
|
throw new Error(
|
||||||
|
`App keys are required. Please set app.keys in config/server.js (ex: keys: ['myKeyA', 'myKeyB'])`
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const config = defaultsDeep(defaultConfig, userConfig);
|
const config = defaultsDeep(defaultConfig, userConfig);
|
||||||
|
@ -47,10 +47,7 @@ const withDefaultPagination = (args, { defaults = {}, maxLimit = -1 } = {}) => {
|
|||||||
const usePagePagination = !isNil(args.page) || !isNil(args.pageSize);
|
const usePagePagination = !isNil(args.page) || !isNil(args.pageSize);
|
||||||
const useOffsetPagination = !isNil(args.start) || !isNil(args.limit);
|
const useOffsetPagination = !isNil(args.start) || !isNil(args.limit);
|
||||||
|
|
||||||
const ensureValidValues = pipe(
|
const ensureValidValues = pipe(ensureMinValues, ensureMaxValues(maxLimit));
|
||||||
ensureMinValues,
|
|
||||||
ensureMaxValues(maxLimit)
|
|
||||||
);
|
|
||||||
|
|
||||||
// If there is no pagination attribute, don't modify the payload
|
// If there is no pagination attribute, don't modify the payload
|
||||||
if (!usePagePagination && !useOffsetPagination) {
|
if (!usePagePagination && !useOffsetPagination) {
|
||||||
|
@ -6,10 +6,7 @@ const fileExistsInPackages = require('../utils/fileExistsInPackages');
|
|||||||
const getPluginList = require('../utils/getPluginList');
|
const getPluginList = require('../utils/getPluginList');
|
||||||
const packagesFolder = require('../utils/packagesFolder');
|
const packagesFolder = require('../utils/packagesFolder');
|
||||||
|
|
||||||
const pascalCase = flow(
|
const pascalCase = flow(camelCase, upperFirst);
|
||||||
camelCase,
|
|
||||||
upperFirst
|
|
||||||
);
|
|
||||||
|
|
||||||
const prompts = [
|
const prompts = [
|
||||||
{
|
{
|
||||||
|
@ -23,10 +23,7 @@ module.exports = ({ strapi }) => {
|
|||||||
t.nonNull.list.field('data', {
|
t.nonNull.list.field('data', {
|
||||||
type: nonNull(entityName),
|
type: nonNull(entityName),
|
||||||
|
|
||||||
resolve: pipe(
|
resolve: pipe(prop('nodes'), defaultTo([])),
|
||||||
prop('nodes'),
|
|
||||||
defaultTo([])
|
|
||||||
),
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -24,10 +24,7 @@ module.exports = ({ strapi }) => {
|
|||||||
t.nonNull.list.field('data', {
|
t.nonNull.list.field('data', {
|
||||||
type: nonNull(entityName),
|
type: nonNull(entityName),
|
||||||
|
|
||||||
resolve: pipe(
|
resolve: pipe(prop('nodes'), defaultTo([])),
|
||||||
prop('nodes'),
|
|
||||||
defaultTo([])
|
|
||||||
),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
t.nonNull.field('meta', {
|
t.nonNull.field('meta', {
|
||||||
|
@ -140,7 +140,11 @@ const testData = {
|
|||||||
id: 1,
|
id: 1,
|
||||||
name: 'name',
|
name: 'name',
|
||||||
subcomponotrepeatable: { id: 4, name: 'name' },
|
subcomponotrepeatable: { id: 4, name: 'name' },
|
||||||
subrepeatable: [{ id: 1, name: 'name' }, { id: 2, name: 'name' }, { id: 3, name: 'name' }],
|
subrepeatable: [
|
||||||
|
{ id: 1, name: 'name' },
|
||||||
|
{ id: 2, name: 'name' },
|
||||||
|
{ id: 3, name: 'name' },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
repeatable: [
|
repeatable: [
|
||||||
{
|
{
|
||||||
|
@ -24,7 +24,10 @@ describe('I18n | Components | CMEditViewCopyLocale | utils', () => {
|
|||||||
{ publishedAt: 'test', locale: 'it', id: 3 },
|
{ publishedAt: 'test', locale: 'it', id: 3 },
|
||||||
];
|
];
|
||||||
|
|
||||||
const expected = [{ label: 'French', value: 2 }, { label: 'Italian', value: 3 }];
|
const expected = [
|
||||||
|
{ label: 'French', value: 2 },
|
||||||
|
{ label: 'Italian', value: 3 },
|
||||||
|
];
|
||||||
|
|
||||||
expect(generateOptions(appLocales, currentLocale, localizations, permissions)).toEqual(
|
expect(generateOptions(appLocales, currentLocale, localizations, permissions)).toEqual(
|
||||||
expected
|
expected
|
||||||
@ -41,7 +44,10 @@ describe('I18n | Components | CMEditViewCopyLocale | utils', () => {
|
|||||||
{ publishedAt: 'test', locale: 'fr', id: 2 },
|
{ publishedAt: 'test', locale: 'fr', id: 2 },
|
||||||
];
|
];
|
||||||
|
|
||||||
const expected = [{ label: 'English', value: 1 }, { label: 'French', value: 2 }];
|
const expected = [
|
||||||
|
{ label: 'English', value: 1 },
|
||||||
|
{ label: 'French', value: 2 },
|
||||||
|
];
|
||||||
const currentLocale = 'test';
|
const currentLocale = 'test';
|
||||||
expect(generateOptions(appLocales, currentLocale, localizations, permissions)).toEqual(
|
expect(generateOptions(appLocales, currentLocale, localizations, permissions)).toEqual(
|
||||||
expected
|
expected
|
||||||
@ -60,7 +66,10 @@ describe('I18n | Components | CMEditViewCopyLocale | utils', () => {
|
|||||||
{ publishedAt: 'test', locale: 'it', id: 3 },
|
{ publishedAt: 'test', locale: 'it', id: 3 },
|
||||||
];
|
];
|
||||||
|
|
||||||
const expected = [{ label: 'English', value: 1 }, { label: 'Italian', value: 3 }];
|
const expected = [
|
||||||
|
{ label: 'English', value: 1 },
|
||||||
|
{ label: 'Italian', value: 3 },
|
||||||
|
];
|
||||||
|
|
||||||
expect(generateOptions(appLocales, currentLocale, localizations, permissions)).toEqual(
|
expect(generateOptions(appLocales, currentLocale, localizations, permissions)).toEqual(
|
||||||
expected
|
expected
|
||||||
|
@ -50,7 +50,11 @@ const ActionWrapper = styled.div`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
const mapToLocaleName = (locales, localeCode) =>
|
const mapToLocaleName = (locales, localeCode) =>
|
||||||
get(locales.find(({ code }) => code === localeCode), 'name', localeCode);
|
get(
|
||||||
|
locales.find(({ code }) => code === localeCode),
|
||||||
|
'name',
|
||||||
|
localeCode
|
||||||
|
);
|
||||||
|
|
||||||
const LocaleListCell = ({ localizations, locale: currentLocaleCode, id }) => {
|
const LocaleListCell = ({ localizations, locale: currentLocaleCode, id }) => {
|
||||||
const locales = useSelector(selectI18NLocales);
|
const locales = useSelector(selectI18NLocales);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user