MOBILE-2693 data: Allow changing fields to a blank value

main
Albert Gasset 2018-10-17 14:29:37 +02:00
parent 9d6c8312e8
commit dc023afa37
8 changed files with 58 additions and 95 deletions

View File

@ -80,14 +80,10 @@ export class AddonModDataFieldCheckboxHandler implements AddonModDataFieldHandle
getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const fieldName = 'f_' + field.id;
if (inputData[fieldName] && inputData[fieldName].length > 0) {
return [{
fieldid: field.id,
value: inputData[fieldName]
}];
}
return false;
return [{
fieldid: field.id,
value: inputData[fieldName] || []
}];
}
/**

View File

@ -72,15 +72,11 @@ export class AddonModDataFieldFileHandler implements AddonModDataFieldHandler {
getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const files = this.getFieldEditFiles(field);
if (files.length) {
return [{
fieldid: field.id,
subfield: 'file',
files: files
}];
}
return false;
return [{
fieldid: field.id,
subfield: 'file',
files: files
}];
}
/**

View File

@ -66,26 +66,20 @@ export class AddonModDataFieldLatlongHandler implements AddonModDataFieldHandler
* @return {any} With name and value of the data to be sent.
*/
getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const fieldName = 'f_' + field.id,
values = [];
const fieldName = 'f_' + field.id;
if (inputData[fieldName + '_0']) {
values.push({
return [
{
fieldid: field.id,
subfield: '0',
value: inputData[fieldName + '_0']
});
}
if (inputData[fieldName + '_1']) {
values.push({
value: inputData[fieldName + '_0'] || ''
},
{
fieldid: field.id,
subfield: '1',
value: inputData[fieldName + '_1']
});
}
return values;
value: inputData[fieldName + '_1'] || ''
}
];
}
/**

View File

@ -80,14 +80,10 @@ export class AddonModDataFieldMultimenuHandler implements AddonModDataFieldHandl
getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const fieldName = 'f_' + field.id;
if (inputData[fieldName] && inputData[fieldName].length > 0) {
return [{
fieldid: field.id,
value: inputData[fieldName]
}];
}
return false;
return [{
fieldid: field.id,
value: inputData[fieldName] || []
}];
}
/**

View File

@ -70,27 +70,21 @@ export class AddonModDataFieldPictureHandler implements AddonModDataFieldHandler
* @return {any} With name and value of the data to be sent.
*/
getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const files = this.getFieldEditFiles(field),
values = [],
fieldName = 'f_' + field.id + '_alttext';
const files = this.getFieldEditFiles(field);
const fieldName = 'f_' + field.id + '_alttext';
if (files.length) {
values.push({
return [
{
fieldid: field.id,
subfield: 'file',
files: files
});
}
if (inputData[fieldName]) {
values.push({
},
{
fieldid: field.id,
subfield: 'alttext',
value: inputData[fieldName]
});
}
return values;
}
];
}
/**

View File

@ -67,14 +67,10 @@ export class AddonModDataFieldRadiobuttonHandler implements AddonModDataFieldHan
getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const fieldName = 'f_' + field.id;
if (inputData[fieldName]) {
return [{
fieldid: field.id,
value: inputData[fieldName]
}];
}
return false;
return [{
fieldid: field.id,
value: inputData[fieldName] || ''
}];
}
/**

View File

@ -68,14 +68,10 @@ export class AddonModDataFieldTextHandler implements AddonModDataFieldHandler {
getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const fieldName = 'f_' + field.id;
if (inputData[fieldName]) {
return [{
fieldid: field.id,
value: inputData[fieldName]
}];
}
return false;
return [{
fieldid: field.id,
value: inputData[fieldName] || ''
}];
}
/**

View File

@ -50,32 +50,27 @@ export class AddonModDataFieldTextareaHandler extends AddonModDataFieldTextHandl
*/
getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const fieldName = 'f_' + field.id;
const files = this.getFieldEditFiles(field, inputData, originalFieldData);
let text = this.textUtils.restorePluginfileUrls(inputData[fieldName] || '', files);
// Add some HTML to the text if needed.
text = this.textUtils.formatHtmlLines(text);
if (inputData[fieldName]) {
const files = this.getFieldEditFiles(field, inputData, originalFieldData);
let text = this.textUtils.restorePluginfileUrls(inputData[fieldName], files);
// Add some HTML to the text if needed.
text = this.textUtils.formatHtmlLines(text);
return [{
fieldid: field.id,
value: text
},
{
fieldid: field.id,
subfield: 'content1',
value: 1
},
{
fieldid: field.id,
subfield: 'itemid',
files: files
}
];
}
return false;
return [
{
fieldid: field.id,
value: text
},
{
fieldid: field.id,
subfield: 'content1',
value: 1
},
{
fieldid: field.id,
subfield: 'itemid',
files: files
}
];
}
/**