fix: inputdata2dic use getAll for multi-value fields, UserInputView iterate arrays
This commit is contained in:
parent
f732d631e3
commit
829d099d31
@ -16,23 +16,26 @@ bricks.UserInputView = class extends bricks.VBox {
|
|||||||
this.v_ws = [];
|
this.v_ws = [];
|
||||||
this.a_ws = [];
|
this.a_ws = [];
|
||||||
this.input_fields.forEach(f =>{
|
this.input_fields.forEach(f =>{
|
||||||
if (data[f.name]){
|
var vals = data[f.name];
|
||||||
|
if (!vals) return;
|
||||||
|
if (!Array.isArray(vals)) vals = [vals];
|
||||||
|
vals.forEach(val => {
|
||||||
if (f.name.startsWith('video')){
|
if (f.name.startsWith('video')){
|
||||||
var url = URL.createObjectURL(data[f.name]);
|
var url = URL.createObjectURL(val);
|
||||||
this.v_ws.push(new bricks.VideoPlayer({
|
this.v_ws.push(new bricks.VideoPlayer({
|
||||||
url:url,
|
url:url,
|
||||||
autoplay:false,
|
autoplay:false,
|
||||||
width: '100%'
|
width: '100%'
|
||||||
}));
|
}));
|
||||||
} else if (f.name.startsWith('audio')){
|
} else if (f.name.startsWith('audio')){
|
||||||
var url = URL.createObjectURL(data[f.name]);
|
var url = URL.createObjectURL(val);
|
||||||
this.a_ws.push(new bricks.AudioPlayer({
|
this.a_ws.push(new bricks.AudioPlayer({
|
||||||
url:url,
|
url:url,
|
||||||
autoplay:false,
|
autoplay:false,
|
||||||
width: '100%'
|
width: '100%'
|
||||||
}));
|
}));
|
||||||
} else if (f.name.startsWith('image')){
|
} else if (f.name.startsWith('image')){
|
||||||
var url = URL.createObjectURL(data[f.name]);
|
var url = URL.createObjectURL(val);
|
||||||
mdtext += `
|
mdtext += `
|
||||||
* ${f.label || f.name}
|
* ${f.label || f.name}
|
||||||

|

|
||||||
@ -41,11 +44,11 @@ bricks.UserInputView = class extends bricks.VBox {
|
|||||||
mdtext += `
|
mdtext += `
|
||||||
* ${f.label || f.name}
|
* ${f.label || f.name}
|
||||||
|
|
||||||
${data[f.name]}
|
${val}
|
||||||
|
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
});
|
});
|
||||||
this.clear_widgets();
|
this.clear_widgets();
|
||||||
var w = new bricks.MdWidget({
|
var w = new bricks.MdWidget({
|
||||||
|
|||||||
@ -222,8 +222,9 @@ var inputdata2dic = function(data){
|
|||||||
try {
|
try {
|
||||||
var d = {}
|
var d = {}
|
||||||
for (let k of data.keys()){
|
for (let k of data.keys()){
|
||||||
var x = data.get(k);
|
var vals = data.getAll(k);
|
||||||
if (k == 'prompt'){
|
var x = vals.length > 1 ? vals : vals[0];
|
||||||
|
if (k == 'prompt' && typeof x === 'string'){
|
||||||
x = bricks.escapeSpecialChars(x);
|
x = bricks.escapeSpecialChars(x);
|
||||||
}
|
}
|
||||||
d[k] = x;
|
d[k] = x;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user