flamerest 1.0.64 → 1.0.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/REST.js +56 -31
- package/package.json +1 -1
package/REST.js
CHANGED
|
@@ -504,38 +504,63 @@ class FLAMEREST {
|
|
|
504
504
|
// Если в один из параметров передан FileList или input[type=file], т.е. нужно загрузить файлы
|
|
505
505
|
for (let val in values) {
|
|
506
506
|
|
|
507
|
-
//
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
507
|
+
// Пустые значения нам не нужны
|
|
508
|
+
if (values[val] === undefined || values[val] === null) continue;
|
|
509
|
+
|
|
510
|
+
// Любой вариант захода делаем массивом
|
|
511
|
+
let valuesArr = [];
|
|
512
|
+
if (values[val] instanceof Array) valuesArr = values[val];
|
|
513
|
+
else valuesArr = [values[val]];
|
|
514
|
+
|
|
515
|
+
// Идём по каждому значению в массиве
|
|
516
|
+
for (let value of valuesArr) {
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
// Преобразуем
|
|
520
|
+
let isRef = false;
|
|
521
|
+
if (value instanceof Object
|
|
522
|
+
&& value.hasOwnProperty('_value')
|
|
523
|
+
&& (
|
|
524
|
+
value._value instanceof Event ||
|
|
525
|
+
value._value instanceof HTMLInputElement ||
|
|
526
|
+
value._value instanceof ClipboardEvent ||
|
|
527
|
+
value._value instanceof DataTransfer ||
|
|
528
|
+
value._value instanceof FileList
|
|
529
|
+
)
|
|
530
|
+
) { value = value.value; isRef = true }
|
|
531
|
+
|
|
532
|
+
if (value instanceof Event && value.target instanceof HTMLInputElement && value.target.type === 'file') value = value.target.files;
|
|
533
|
+
if (value instanceof HTMLInputElement && value.type === 'file') value = value.files;
|
|
534
|
+
if (value instanceof ClipboardEvent) value = value.clipboardData.files;
|
|
535
|
+
if (value instanceof DataTransfer) value = value.files;
|
|
536
|
+
if (value instanceof FileList) {
|
|
537
|
+
let newValues = [];
|
|
538
|
+
value = Array.from(value);
|
|
539
|
+
for (let file in value) {
|
|
540
|
+
newValues.push({
|
|
541
|
+
'name': value[file].name,
|
|
542
|
+
'data': await this.readFileAsync(value[file]),
|
|
543
|
+
'id': this.generateID(32)
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
/*
|
|
548
|
+
if (isRef)
|
|
549
|
+
values[val].value = newValues;
|
|
550
|
+
else
|
|
551
|
+
values[val] = newValues;
|
|
552
|
+
*/
|
|
553
|
+
|
|
554
|
+
if (values[val] instanceof Array) {
|
|
555
|
+
values[val].splice(val);
|
|
556
|
+
values[val].push(...newValues);
|
|
557
|
+
}
|
|
558
|
+
else {
|
|
559
|
+
values[val] = newValues;
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
|
|
534
563
|
}
|
|
535
|
-
if (isRef)
|
|
536
|
-
values[val].value = newValues;
|
|
537
|
-
else
|
|
538
|
-
values[val] = newValues;
|
|
539
564
|
}
|
|
540
565
|
}
|
|
541
566
|
|