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 {
const fieldName = 'f_' + field.id;
if (inputData[fieldName] && inputData[fieldName].length > 0) {
return [{
fieldid: field.id,
value: inputData[fieldName]
value: inputData[fieldName] || []
}];
}
return false;
}
/**
* Get field data in changed.
*

View File

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

View File

@ -68,16 +68,12 @@ 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]
value: inputData[fieldName] || ''
}];
}
return false;
}
/**
* Get field data in changed.
*

View File

@ -50,15 +50,13 @@ export class AddonModDataFieldTextareaHandler extends AddonModDataFieldTextHandl
*/
getFieldEditData(field: any, inputData: any, originalFieldData: any): any {
const fieldName = 'f_' + field.id;
if (inputData[fieldName]) {
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.
text = this.textUtils.formatHtmlLines(text);
return [{
return [
{
fieldid: field.id,
value: text
},
@ -75,9 +73,6 @@ export class AddonModDataFieldTextareaHandler extends AddonModDataFieldTextHandl
];
}
return false;
}
/**
* Get field edit files in the input data.
*