mirror of
https://github.com/strapi/strapi.git
synced 2025-11-03 11:25:17 +00:00
feedback improvements handleChange
This commit is contained in:
parent
f723fa36c2
commit
5cbaf24336
@ -0,0 +1,41 @@
|
||||
{
|
||||
"kind": "collectionType",
|
||||
"collectionName": "aanother_tests",
|
||||
"info": {
|
||||
"singularName": "aanother-test",
|
||||
"pluralName": "aanother-tests",
|
||||
"displayName": "Aanother test"
|
||||
},
|
||||
"options": {
|
||||
"draftAndPublish": true
|
||||
},
|
||||
"pluginOptions": {},
|
||||
"attributes": {
|
||||
"text": {
|
||||
"type": "string",
|
||||
"unique": true
|
||||
},
|
||||
"email": {
|
||||
"type": "email",
|
||||
"unique": true
|
||||
},
|
||||
"number": {
|
||||
"unique": true,
|
||||
"type": "integer"
|
||||
},
|
||||
"uid": {
|
||||
"type": "uid"
|
||||
},
|
||||
"date": {
|
||||
"unique": true,
|
||||
"type": "date"
|
||||
},
|
||||
"enum": {
|
||||
"type": "enumeration",
|
||||
"enum": [
|
||||
"this",
|
||||
"or that"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* aanother-test controller
|
||||
*/
|
||||
|
||||
const { createCoreController } = require('@strapi/strapi').factories;
|
||||
|
||||
module.exports = createCoreController('api::aanother-test.aanother-test');
|
||||
@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* aanother-test router.
|
||||
*/
|
||||
|
||||
const { createCoreRouter } = require('@strapi/strapi').factories;
|
||||
|
||||
module.exports = createCoreRouter('api::aanother-test.aanother-test');
|
||||
@ -0,0 +1,9 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* aanother-test service.
|
||||
*/
|
||||
|
||||
const { createCoreService } = require('@strapi/strapi').factories;
|
||||
|
||||
module.exports = createCoreService('api::aanother-test.aanother-test');
|
||||
@ -235,21 +235,12 @@ const EditViewDataManagerProvider = ({
|
||||
|
||||
// Allow to reset text, string, email, uid, select/enum, date
|
||||
if (
|
||||
(type === 'text' ||
|
||||
type === 'string' ||
|
||||
type === 'email' ||
|
||||
type === 'uid' ||
|
||||
type === 'select' ||
|
||||
type === 'select-one') &&
|
||||
value === ''
|
||||
['text', 'string', 'email', 'uid', 'select', 'select-one', 'number'].includes(type) &&
|
||||
!value
|
||||
) {
|
||||
inputValue = null;
|
||||
}
|
||||
|
||||
if (type === 'number' && !value) {
|
||||
inputValue = null;
|
||||
}
|
||||
|
||||
if (type === 'password' && !value) {
|
||||
dispatch({
|
||||
type: 'REMOVE_PASSWORD_FIELD',
|
||||
@ -259,6 +250,8 @@ const EditViewDataManagerProvider = ({
|
||||
return;
|
||||
}
|
||||
|
||||
console.log({ name, inputValue });
|
||||
|
||||
dispatch({
|
||||
type: 'ON_CHANGE',
|
||||
keys: name.split('.'),
|
||||
|
||||
@ -110,16 +110,5 @@ describe('GenericInput', () => {
|
||||
target: { name: 'number', type: 'number', value: 0 },
|
||||
});
|
||||
});
|
||||
|
||||
test('does call onChange callback with undefined on empty value', () => {
|
||||
const spy = jest.fn();
|
||||
const { input } = setupNumber({ value: 1, onChange: spy });
|
||||
|
||||
fireEvent.change(input, { target: { value: '' } });
|
||||
|
||||
expect(spy).toHaveBeenCalledWith({
|
||||
target: { name: 'number', type: 'number', value: undefined },
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user