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,16 +80,12 @@ export class AddonModDataFieldCheckboxHandler implements AddonModDataFieldHandle
getFieldEditData(field: any, inputData: any, originalFieldData: any): any { getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const fieldName = 'f_' + field.id; const fieldName = 'f_' + field.id;
if (inputData[fieldName] && inputData[fieldName].length > 0) {
return [{ return [{
fieldid: field.id, fieldid: field.id,
value: inputData[fieldName] value: inputData[fieldName] || []
}]; }];
} }
return false;
}
/** /**
* Get field data in changed. * Get field data in changed.
* *

View File

@ -72,7 +72,6 @@ export class AddonModDataFieldFileHandler implements AddonModDataFieldHandler {
getFieldEditData(field: any, inputData: any, originalFieldData: any): any { getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const files = this.getFieldEditFiles(field); const files = this.getFieldEditFiles(field);
if (files.length) {
return [{ return [{
fieldid: field.id, fieldid: field.id,
subfield: 'file', subfield: 'file',
@ -80,9 +79,6 @@ export class AddonModDataFieldFileHandler implements AddonModDataFieldHandler {
}]; }];
} }
return false;
}
/** /**
* Get field edit files in the input data. * Get field edit files in the input data.
* *

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -50,15 +50,13 @@ export class AddonModDataFieldTextareaHandler extends AddonModDataFieldTextHandl
*/ */
getFieldEditData(field: any, inputData: any, originalFieldData: any): any { getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const fieldName = 'f_' + field.id; const fieldName = 'f_' + field.id;
if (inputData[fieldName]) {
const files = this.getFieldEditFiles(field, inputData, originalFieldData); const files = this.getFieldEditFiles(field, inputData, originalFieldData);
let text = this.textUtils.restorePluginfileUrls(inputData[fieldName], files); let text = this.textUtils.restorePluginfileUrls(inputData[fieldName] || '', files);
// Add some HTML to the text if needed. // Add some HTML to the text if needed.
text = this.textUtils.formatHtmlLines(text); text = this.textUtils.formatHtmlLines(text);
return [{ return [
{
fieldid: field.id, fieldid: field.id,
value: text value: text
}, },
@ -75,9 +73,6 @@ export class AddonModDataFieldTextareaHandler extends AddonModDataFieldTextHandl
]; ];
} }
return false;
}
/** /**
* Get field edit files in the input data. * Get field edit files in the input data.
* *