mirror of
https://github.com/strapi/strapi.git
synced 2025-06-27 00:41:25 +00:00
Chore: Prettify all files
This commit is contained in:
parent
1ec680924d
commit
8aaaff77d4
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@ -1 +1 @@
|
||||
open_collective: strapi
|
||||
open_collective: strapi
|
||||
|
@ -207,9 +207,6 @@ RepeatableComponent.propTypes = {
|
||||
|
||||
const Memoized = memo(RepeatableComponent);
|
||||
|
||||
export default connect(
|
||||
Memoized,
|
||||
select
|
||||
);
|
||||
export default connect(Memoized, select);
|
||||
|
||||
export { RepeatableComponent };
|
||||
|
@ -124,7 +124,10 @@ describe('Content Manager | hooks | useFetchContentTypeLayout | utils ', () => {
|
||||
uid: 'compo',
|
||||
layouts: {
|
||||
edit: [
|
||||
[{ name: 'full_name', size: 6 }, { name: 'city', size: 6 }],
|
||||
[
|
||||
{ name: 'full_name', size: 6 },
|
||||
{ name: 'city', size: 6 },
|
||||
],
|
||||
[{ name: 'compo', size: 12 }],
|
||||
],
|
||||
},
|
||||
@ -166,7 +169,10 @@ describe('Content Manager | hooks | useFetchContentTypeLayout | utils ', () => {
|
||||
editRelations: [],
|
||||
edit: [
|
||||
[{ 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 }],
|
||||
],
|
||||
},
|
||||
@ -364,7 +370,10 @@ describe('Content Manager | hooks | useFetchContentTypeLayout | utils ', () => {
|
||||
layouts: {
|
||||
edit: [
|
||||
[{ 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 }],
|
||||
],
|
||||
},
|
||||
@ -612,7 +621,10 @@ describe('Content Manager | hooks | useFetchContentTypeLayout | utils ', () => {
|
||||
|
||||
describe('getDisplayedModels', () => {
|
||||
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(models)).toHaveLength(1);
|
||||
|
@ -11,7 +11,12 @@ import { makeSelectModelAndComponentSchemas } from '../../App/selectors';
|
||||
import getTrad from '../../../utils/getTrad';
|
||||
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'];
|
||||
|
||||
|
@ -34,7 +34,12 @@ const makeApp = (history, layout) => {
|
||||
},
|
||||
kind: 'collectionType',
|
||||
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'],
|
||||
editRelations: ['categories'],
|
||||
},
|
||||
|
@ -150,7 +150,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
||||
edit: [
|
||||
{
|
||||
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: [
|
||||
{
|
||||
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: [
|
||||
{
|
||||
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,
|
||||
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: [
|
||||
{
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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: [
|
||||
{
|
||||
rowId: 0,
|
||||
rowContent: [{ name: 'city', size: 6 }, { name: 'slug', size: 6 }],
|
||||
rowContent: [
|
||||
{ name: 'city', size: 6 },
|
||||
{ name: 'slug', size: 6 },
|
||||
],
|
||||
},
|
||||
{
|
||||
rowId: 1,
|
||||
@ -518,7 +548,10 @@ describe('CONTENT MANAGER | CONTAINERS | EditSettingsView | reducer', () => {
|
||||
edit: [
|
||||
{
|
||||
rowId: 0,
|
||||
rowContent: [{ name: 'city', size: 6 }, { name: 'slug', size: 6 }],
|
||||
rowContent: [
|
||||
{ name: 'city', size: 6 },
|
||||
{ name: 'slug', size: 6 },
|
||||
],
|
||||
},
|
||||
{
|
||||
rowId: 1,
|
||||
|
@ -28,7 +28,13 @@ const formatLayout = arr => {
|
||||
|
||||
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);
|
||||
|
||||
|
@ -12,19 +12,31 @@ describe('Content Manager | containers | EditSettingsView | utils | layout', ()
|
||||
describe('createLayout', () => {
|
||||
it('should return an array of object with keys rowId and rowContent', () => {
|
||||
const data = [
|
||||
[{ name: 'test', size: 4 }, { name: 'test1', size: 4 }],
|
||||
[
|
||||
{ name: 'test', size: 4 },
|
||||
{ name: 'test1', size: 4 },
|
||||
],
|
||||
[{ name: 'test2', size: 12 }],
|
||||
[{ name: 'test3', size: 6 }, { name: 'test4', size: 1 }],
|
||||
[
|
||||
{ name: 'test3', size: 6 },
|
||||
{ name: 'test4', size: 1 },
|
||||
],
|
||||
];
|
||||
const expected = [
|
||||
{
|
||||
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: 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 = [
|
||||
{
|
||||
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: 2,
|
||||
rowContent: [{ name: 'test3', size: 6 }, { name: 'test4', size: 1 }],
|
||||
rowContent: [
|
||||
{ name: 'test3', size: 6 },
|
||||
{ name: 'test4', size: 1 },
|
||||
],
|
||||
},
|
||||
];
|
||||
const expected = [
|
||||
@ -89,7 +107,10 @@ describe('Content Manager | containers | EditSettingsView | utils | layout', ()
|
||||
},
|
||||
{
|
||||
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 = [
|
||||
[{ name: 'name', size: 6 }, { name: 'test', size: 4 }],
|
||||
[
|
||||
{ name: 'name', size: 6 },
|
||||
{ name: 'test', size: 4 },
|
||||
],
|
||||
[{ name: 'name1', size: 4 }],
|
||||
];
|
||||
|
||||
|
@ -71,7 +71,4 @@ DeleteLink.propTypes = {
|
||||
|
||||
const Memoized = memo(DeleteLink, isEqual);
|
||||
|
||||
export default connect(
|
||||
Memoized,
|
||||
select
|
||||
);
|
||||
export default connect(Memoized, select);
|
||||
|
@ -88,8 +88,5 @@ DraftAndPublishBadge.propTypes = {
|
||||
isPublished: PropTypes.bool.isRequired,
|
||||
};
|
||||
|
||||
export default connect(
|
||||
DraftAndPublishBadge,
|
||||
select
|
||||
);
|
||||
export default connect(DraftAndPublishBadge, select);
|
||||
export { DraftAndPublishBadge };
|
||||
|
@ -15,12 +15,9 @@ const listViewDomain = () => state => state['content-manager_listView'] || initi
|
||||
*/
|
||||
|
||||
const makeSelectListView = () =>
|
||||
createSelector(
|
||||
listViewDomain(),
|
||||
substate => {
|
||||
return substate;
|
||||
}
|
||||
);
|
||||
createSelector(listViewDomain(), substate => {
|
||||
return substate;
|
||||
});
|
||||
|
||||
const selectDisplayedHeaders = state => {
|
||||
const { displayedHeaders } = state['content-manager_listView'];
|
||||
|
@ -140,7 +140,11 @@ const testData = {
|
||||
id: 1,
|
||||
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: [
|
||||
{
|
||||
|
@ -10,7 +10,10 @@ describe('ADMIN | COMPONENTS | PERMISSIONS | GlobalActions | utils', () => {
|
||||
});
|
||||
|
||||
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'];
|
||||
|
||||
expect(getActionsIds(data)).toEqual(expected);
|
||||
|
@ -32,7 +32,11 @@ const checkPermissionsAreBound = role =>
|
||||
|
||||
for (const [subject, perms] of Object.entries(permsBySubject)) {
|
||||
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;
|
||||
|
||||
const permsBoundByFields = perms.filter(p => BOUND_ACTIONS_FOR_FIELDS.includes(p.action));
|
||||
|
@ -38,12 +38,27 @@ describe('metrics', () => {
|
||||
const testData = [
|
||||
[['fieldA'], [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]],
|
||||
[['fieldA', 'fieldB', 'field1', 'field2'], [true, 4, 2]],
|
||||
[['fieldA', 'fieldB', 'field3', 'field4'], [true, 4, 2]],
|
||||
[['fieldA', 'fieldB', 'field5', 'field6'], [true, 4, 2]],
|
||||
[
|
||||
['fieldA', 'fieldB', 'field1', 'field2'],
|
||||
[true, 4, 2],
|
||||
],
|
||||
[
|
||||
['fieldA', 'fieldB', 'field3', 'field4'],
|
||||
[true, 4, 2],
|
||||
],
|
||||
[
|
||||
['fieldA', 'fieldB', 'field5', 'field6'],
|
||||
[true, 4, 2],
|
||||
],
|
||||
];
|
||||
|
||||
test.each(testData)('%s', async (list, expectedResult) => {
|
||||
|
@ -208,25 +208,26 @@ describe('x-to-many RF Preview', () => {
|
||||
});
|
||||
|
||||
describe('Pagination', () => {
|
||||
test.each([[1, 10], [2, 10], [5, 1], [4, 2], [1, 100]])(
|
||||
'Custom pagination (%s, %s)',
|
||||
async (page, pageSize) => {
|
||||
const product = data.product[0];
|
||||
test.each([
|
||||
[1, 10],
|
||||
[2, 10],
|
||||
[5, 1],
|
||||
[4, 2],
|
||||
[1, 100],
|
||||
])('Custom pagination (%s, %s)', async (page, pageSize) => {
|
||||
const product = data.product[0];
|
||||
|
||||
const { body, statusCode } = await rq.get(
|
||||
`${cmProductUrl}/${product.id}/shops?page=${page}&pageSize=${pageSize}`
|
||||
);
|
||||
const { body, statusCode } = await rq.get(
|
||||
`${cmProductUrl}/${product.id}/shops?page=${page}&pageSize=${pageSize}`
|
||||
);
|
||||
|
||||
expect(statusCode).toBe(200);
|
||||
expect(statusCode).toBe(200);
|
||||
|
||||
const { pagination, results } = body;
|
||||
const { pagination, results } = body;
|
||||
|
||||
expect(pagination.page).toBe(page);
|
||||
expect(pagination.pageSize).toBe(pageSize);
|
||||
expect(results).toHaveLength(
|
||||
Math.min(pageSize, PRODUCT_SHOP_COUNT - pageSize * (page - 1))
|
||||
);
|
||||
}
|
||||
);
|
||||
expect(pagination.page).toBe(page);
|
||||
expect(pagination.pageSize).toBe(pageSize);
|
||||
expect(results).toHaveLength(Math.min(pageSize, PRODUCT_SHOP_COUNT - pageSize * (page - 1)));
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -51,13 +51,7 @@ const formsAPI = {
|
||||
contentType.form.advanced.push(advanced);
|
||||
contentType.form.base.push(base);
|
||||
},
|
||||
extendFields(
|
||||
fields,
|
||||
{
|
||||
validator,
|
||||
form: { advanced, base },
|
||||
}
|
||||
) {
|
||||
extendFields(fields, { validator, form: { advanced, base } }) {
|
||||
const formType = this.types.attribute;
|
||||
|
||||
fields.forEach(field => {
|
||||
|
@ -182,9 +182,10 @@ function createSchemaBuilder({ components, contentTypes }) {
|
||||
*/
|
||||
rollback() {
|
||||
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',
|
||||
defaultMessage: 'True',
|
||||
})}
|
||||
onChange={(e) => {
|
||||
onChange={e => {
|
||||
onChange({ target: { name, value: e.target.checked } });
|
||||
}}
|
||||
required={required}
|
||||
@ -153,7 +153,7 @@ const GenericInput = ({
|
||||
hint={hint}
|
||||
id={name}
|
||||
name={name}
|
||||
onValueChange={(value) => {
|
||||
onValueChange={value => {
|
||||
onChange({ target: { name, value } });
|
||||
}}
|
||||
required={required}
|
||||
@ -174,7 +174,7 @@ const GenericInput = ({
|
||||
id={name}
|
||||
hint={hint}
|
||||
name={name}
|
||||
onChange={(date) => {
|
||||
onChange={date => {
|
||||
const formattedDate = date.toISOString();
|
||||
|
||||
onChange({ target: { name, value: formattedDate, type } });
|
||||
@ -184,7 +184,7 @@ const GenericInput = ({
|
||||
placeholder={formattedPlaceholder}
|
||||
required={required}
|
||||
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}
|
||||
hint={hint}
|
||||
name={name}
|
||||
onChange={(date) => {
|
||||
onChange={date => {
|
||||
onChange({
|
||||
target: { name, value: formatISO(date, { representation: 'date' }), type },
|
||||
});
|
||||
@ -214,7 +214,7 @@ const GenericInput = ({
|
||||
placeholder={formattedPlaceholder}
|
||||
required={required}
|
||||
selectedDate={selectedDate}
|
||||
selectedDateLabel={(formattedDate) => `Date picker, current is ${formattedDate}`}
|
||||
selectedDateLabel={formattedDate => `Date picker, current is ${formattedDate}`}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@ -228,7 +228,7 @@ const GenericInput = ({
|
||||
id={name}
|
||||
hint={hint}
|
||||
name={name}
|
||||
onValueChange={(value) => {
|
||||
onValueChange={value => {
|
||||
onChange({ target: { name, value: value ?? null, type } });
|
||||
}}
|
||||
placeholder={formattedPlaceholder}
|
||||
@ -291,7 +291,7 @@ const GenericInput = ({
|
||||
defaultMessage: 'Show password',
|
||||
})}
|
||||
onClick={() => {
|
||||
setShowPassword((prev) => !prev);
|
||||
setShowPassword(prev => !prev);
|
||||
}}
|
||||
style={{
|
||||
border: 'none',
|
||||
@ -330,7 +330,7 @@ const GenericInput = ({
|
||||
id={name}
|
||||
hint={hint}
|
||||
name={name}
|
||||
onChange={(value) => {
|
||||
onChange={value => {
|
||||
onChange({ target: { name, value: value === '' ? null : value, type: 'select' } });
|
||||
}}
|
||||
placeholder={formattedPlaceholder}
|
||||
@ -388,7 +388,7 @@ const GenericInput = ({
|
||||
id={name}
|
||||
hint={hint}
|
||||
name={name}
|
||||
onChange={(time) => {
|
||||
onChange={time => {
|
||||
onChange({ target: { name, value: `${time}`, type } });
|
||||
}}
|
||||
onClear={() => {
|
||||
|
@ -19,7 +19,9 @@ const defaultConfig = {
|
||||
module.exports = (userConfig, { strapi }) => {
|
||||
const keys = strapi.server.app.keys;
|
||||
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);
|
||||
|
@ -30,7 +30,7 @@ const healthCheck = async ctx => {
|
||||
const createServer = strapi => {
|
||||
const app = createKoaApp({
|
||||
proxy: strapi.config.get('server.proxy'),
|
||||
keys: strapi.config.get('server.app.keys'),
|
||||
keys: strapi.config.get('server.app.keys'),
|
||||
});
|
||||
|
||||
const router = new Router();
|
||||
|
@ -47,10 +47,7 @@ const withDefaultPagination = (args, { defaults = {}, maxLimit = -1 } = {}) => {
|
||||
const usePagePagination = !isNil(args.page) || !isNil(args.pageSize);
|
||||
const useOffsetPagination = !isNil(args.start) || !isNil(args.limit);
|
||||
|
||||
const ensureValidValues = pipe(
|
||||
ensureMinValues,
|
||||
ensureMaxValues(maxLimit)
|
||||
);
|
||||
const ensureValidValues = pipe(ensureMinValues, ensureMaxValues(maxLimit));
|
||||
|
||||
// If there is no pagination attribute, don't modify the payload
|
||||
if (!usePagePagination && !useOffsetPagination) {
|
||||
|
@ -6,10 +6,7 @@ const fileExistsInPackages = require('../utils/fileExistsInPackages');
|
||||
const getPluginList = require('../utils/getPluginList');
|
||||
const packagesFolder = require('../utils/packagesFolder');
|
||||
|
||||
const pascalCase = flow(
|
||||
camelCase,
|
||||
upperFirst
|
||||
);
|
||||
const pascalCase = flow(camelCase, upperFirst);
|
||||
|
||||
const prompts = [
|
||||
{
|
||||
|
@ -23,10 +23,7 @@ module.exports = ({ strapi }) => {
|
||||
t.nonNull.list.field('data', {
|
||||
type: nonNull(entityName),
|
||||
|
||||
resolve: pipe(
|
||||
prop('nodes'),
|
||||
defaultTo([])
|
||||
),
|
||||
resolve: pipe(prop('nodes'), defaultTo([])),
|
||||
});
|
||||
},
|
||||
});
|
||||
|
@ -24,10 +24,7 @@ module.exports = ({ strapi }) => {
|
||||
t.nonNull.list.field('data', {
|
||||
type: nonNull(entityName),
|
||||
|
||||
resolve: pipe(
|
||||
prop('nodes'),
|
||||
defaultTo([])
|
||||
),
|
||||
resolve: pipe(prop('nodes'), defaultTo([])),
|
||||
});
|
||||
|
||||
t.nonNull.field('meta', {
|
||||
|
@ -140,7 +140,11 @@ const testData = {
|
||||
id: 1,
|
||||
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: [
|
||||
{
|
||||
|
@ -24,7 +24,10 @@ describe('I18n | Components | CMEditViewCopyLocale | utils', () => {
|
||||
{ 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(
|
||||
expected
|
||||
@ -41,7 +44,10 @@ describe('I18n | Components | CMEditViewCopyLocale | utils', () => {
|
||||
{ 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';
|
||||
expect(generateOptions(appLocales, currentLocale, localizations, permissions)).toEqual(
|
||||
expected
|
||||
@ -60,7 +66,10 @@ describe('I18n | Components | CMEditViewCopyLocale | utils', () => {
|
||||
{ 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(
|
||||
expected
|
||||
|
@ -50,7 +50,11 @@ const ActionWrapper = styled.div`
|
||||
`;
|
||||
|
||||
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 locales = useSelector(selectI18NLocales);
|
||||
|
Loading…
x
Reference in New Issue
Block a user