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 { 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;
} }
/** /**

View File

@ -72,15 +72,11 @@ 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', files: files
files: files }];
}];
}
return false;
} }
/** /**

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,14 +80,10 @@ 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;
} }
/** /**

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,14 +67,10 @@ 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;
} }
/** /**

View File

@ -68,14 +68,10 @@ 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;
} }
/** /**

View File

@ -50,32 +50,27 @@ 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;
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]) { return [
const files = this.getFieldEditFiles(field, inputData, originalFieldData); {
let text = this.textUtils.restorePluginfileUrls(inputData[fieldName], files); fieldid: field.id,
value: text
// Add some HTML to the text if needed. },
text = this.textUtils.formatHtmlLines(text); {
fieldid: field.id,
return [{ subfield: 'content1',
fieldid: field.id, value: 1
value: text },
}, {
{ fieldid: field.id,
fieldid: field.id, subfield: 'itemid',
subfield: 'content1', files: files
value: 1 }
}, ];
{
fieldid: field.id,
subfield: 'itemid',
files: files
}
];
}
return false;
} }
/** /**