@gsp-svc/formdoc-upload 0.1.36 → 0.1.38

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.
Files changed (31) hide show
  1. package/bundles/gsp-svc-formdoc-upload.umd.js +332 -199
  2. package/bundles/gsp-svc-formdoc-upload.umd.js.map +1 -1
  3. package/bundles/gsp-svc-formdoc-upload.umd.min.js +1 -1
  4. package/bundles/gsp-svc-formdoc-upload.umd.min.js.map +1 -1
  5. package/esm2015/gsp-svc-formdoc-upload.js +2 -2
  6. package/esm2015/lib/formdoc-upload.module.js +7 -4
  7. package/esm2015/lib/upload/entity/copyfilerequest.js +15 -0
  8. package/esm2015/lib/upload/entity/fileinfo.js +1 -1
  9. package/esm2015/lib/upload/file-upload/file-upload.component.js +273 -194
  10. package/esm2015/lib/upload/upload.module.js +6 -4
  11. package/esm2015/lib/upload/upload.service.js +28 -1
  12. package/esm2015/public-api.js +2 -1
  13. package/esm5/gsp-svc-formdoc-upload.js +2 -2
  14. package/esm5/lib/formdoc-upload.module.js +7 -4
  15. package/esm5/lib/upload/entity/copyfilerequest.js +19 -0
  16. package/esm5/lib/upload/entity/fileinfo.js +1 -1
  17. package/esm5/lib/upload/file-upload/file-upload.component.js +297 -198
  18. package/esm5/lib/upload/upload.module.js +6 -4
  19. package/esm5/lib/upload/upload.service.js +34 -1
  20. package/esm5/public-api.js +2 -1
  21. package/fesm2015/gsp-svc-formdoc-upload.js +311 -199
  22. package/fesm2015/gsp-svc-formdoc-upload.js.map +1 -1
  23. package/fesm5/gsp-svc-formdoc-upload.js +345 -204
  24. package/fesm5/gsp-svc-formdoc-upload.js.map +1 -1
  25. package/gsp-svc-formdoc-upload.metadata.json +1 -1
  26. package/lib/upload/entity/copyfilerequest.d.ts +5 -0
  27. package/lib/upload/entity/fileinfo.d.ts +1 -1
  28. package/lib/upload/file-upload/file-upload.component.d.ts +7 -1
  29. package/lib/upload/upload.service.d.ts +1 -0
  30. package/package.json +1 -1
  31. package/public-api.d.ts +1 -0
@@ -59,9 +59,11 @@
59
59
  FormdocUploadModule.decorators = [
60
60
  { type: i0.NgModule, args: [{
61
61
  declarations: [FormdocUploadComponent],
62
- imports: [],
62
+ imports: [
63
+ http.HttpClientModule
64
+ ],
63
65
  exports: [FormdocUploadComponent],
64
- providers: [cafCommon.LanguageService,
66
+ providers: [cafCommon.LanguageService, cafCommon.HttpService, cafCommon.CacheService, cafCommon.SessionService,
65
67
  { provide: i0.LOCALE_ID, useValue: ɵ0 },]
66
68
  },] }
67
69
  ];
@@ -142,6 +144,16 @@
142
144
  return ChangeInstanceRequest;
143
145
  }());
144
146
 
147
+ /**
148
+ * @fileoverview added by tsickle
149
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
150
+ */
151
+ var CopyFileRequest = /** @class */ (function () {
152
+ function CopyFileRequest() {
153
+ }
154
+ return CopyFileRequest;
155
+ }());
156
+
145
157
  /**
146
158
  * @fileoverview added by tsickle
147
159
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -382,6 +394,36 @@
382
394
  return of.of(error);
383
395
  })));
384
396
  };
397
+ /**
398
+ * @param {?} metadataId
399
+ * @param {?} rootId
400
+ * @param {?} path
401
+ * @return {?}
402
+ */
403
+ UploadService.prototype.copyFile = /**
404
+ * @param {?} metadataId
405
+ * @param {?} rootId
406
+ * @param {?} path
407
+ * @return {?}
408
+ */
409
+ function (metadataId, rootId, path) {
410
+ /** @type {?} */
411
+ var url = "/api/runtime/dfs/v1.0/formdoc/copy";
412
+ /** @type {?} */
413
+ var request = new CopyFileRequest;
414
+ request.metadataId = metadataId;
415
+ request.rootId = rootId;
416
+ request.path = path;
417
+ return this.http.post(url, request).pipe(operators.tap(( /**
418
+ * @param {?} res
419
+ * @return {?}
420
+ */function (res) { })), operators.catchError(( /**
421
+ * @param {?} error
422
+ * @return {?}
423
+ */function (error) {
424
+ return of.of(error);
425
+ })));
426
+ };
385
427
  /**
386
428
  * @param {?} uploadFileInfoList
387
429
  * @param {?} rootId
@@ -708,7 +750,7 @@
708
750
  this.beyondFileList = [];
709
751
  this.showType = 0;
710
752
  this.mouseOn = false;
711
- this.bufferSize = 1024 * 1024;
753
+ this.bufferSize = 10 * 1024 * 1024;
712
754
  this.selectedFileCount = 0;
713
755
  this.uploadIconAddress = '/platform/runtime/dfs/images/upload.svg';
714
756
  this.uploadLittleIconAddress = '/platform/runtime/dfs/images/uploadIcon.svg';
@@ -743,6 +785,7 @@
743
785
  this.totalLoad = null;
744
786
  this.exStorageFileList = [];
745
787
  if (this.injector) {
788
+ this.httpclient = this.injector.get(http.HttpClient);
746
789
  this.localeid = localStorage.getItem("languageCode") || this.injector.get(i0.LOCALE_ID);
747
790
  this.localepipe = new LocalLangPipe(this.localeid);
748
791
  }
@@ -1016,6 +1059,82 @@
1016
1059
  function (file) {
1017
1060
  this.msgService.error(this.localepipe.transform('uploadFailure') + file.errorMessage);
1018
1061
  };
1062
+ /**
1063
+ * @param {?} uuid
1064
+ * @param {?} selectedFile
1065
+ * @param {?} fileName
1066
+ * @return {?}
1067
+ */
1068
+ FileUploadComponent.prototype.handleFileInfo = /**
1069
+ * @param {?} uuid
1070
+ * @param {?} selectedFile
1071
+ * @param {?} fileName
1072
+ * @return {?}
1073
+ */
1074
+ function (uuid, selectedFile, fileName) {
1075
+ var _this = this;
1076
+ return new Promise(( /**
1077
+ * @param {?} resolve
1078
+ * @return {?}
1079
+ */function (resolve) {
1080
+ /** @type {?} */
1081
+ var fileInfo;
1082
+ fileInfo = {
1083
+ id: uuid,
1084
+ name: fileName,
1085
+ type: selectedFile.type,
1086
+ source: "",
1087
+ size: _this.getFileSize(selectedFile.size),
1088
+ fileSize: selectedFile.size,
1089
+ picListDisplayName: _this.getPicListDisplayName(fileName),
1090
+ queueListDisplayName: _this.getQueueDisplayName(fileName),
1091
+ //content: reader.result.toString(),
1092
+ hasUploaded: false,
1093
+ mouseOn: false,
1094
+ selectd: false,
1095
+ isUploading: true,
1096
+ uploadResult: false,
1097
+ uploadProcess: 0,
1098
+ errorMessage: "",
1099
+ extensionDropListId: 0,
1100
+ extensionName: "",
1101
+ securityDropListId: 0,
1102
+ securityInfo: _this.securityInfoList[0]
1103
+ };
1104
+ if (_this.storageExtension != null)
1105
+ fileInfo.extensionName = _this.defaultPropertyName;
1106
+ /** @type {?} */
1107
+ var type = selectedFile.type;
1108
+ if (type.includes("tiff")) {
1109
+ _this.addDocInfo(selectedFile, fileInfo, DocType.Other);
1110
+ }
1111
+ else if (type.includes("image")) {
1112
+ _this.addDocInfo(selectedFile, fileInfo, DocType.Image);
1113
+ }
1114
+ else if (type.includes("word")) {
1115
+ _this.addDocInfo(selectedFile, fileInfo, DocType.Word);
1116
+ }
1117
+ else if (type.includes("pdf")) {
1118
+ _this.addDocInfo(selectedFile, fileInfo, DocType.Pdf);
1119
+ }
1120
+ else if (type.includes("plain")) {
1121
+ _this.addDocInfo(selectedFile, fileInfo, DocType.Txt);
1122
+ }
1123
+ else if (type.includes("sheet") || type.includes("excel")) {
1124
+ _this.addDocInfo(selectedFile, fileInfo, DocType.Excel);
1125
+ }
1126
+ else if (type.includes("powerpoint") || type.includes("presentation")) {
1127
+ _this.addDocInfo(selectedFile, fileInfo, DocType.Powerpoint);
1128
+ }
1129
+ else {
1130
+ _this.addDocInfo(selectedFile, fileInfo, DocType.Other);
1131
+ // let name: string = selectedFile.name;
1132
+ // let errType = name.substring(selectedFile.name.lastIndexOf('.'));
1133
+ // this.errTypeList.push(errType);
1134
+ }
1135
+ resolve(fileInfo);
1136
+ }));
1137
+ };
1019
1138
  /**
1020
1139
  * @param {?} uuid
1021
1140
  * @param {?} selectedFile
@@ -1035,161 +1154,145 @@
1035
1154
  if (state === void 0) {
1036
1155
  state = FileState.New;
1037
1156
  }
1038
- /** @type {?} */
1039
- var fileInfo;
1040
- // let uuid = UUID.UUID();
1041
- //reader.readAsBinaryString(selectedFile);
1042
- //reader.onload = (e) => {
1043
- fileInfo = {
1044
- id: uuid,
1045
- name: fileName,
1046
- type: selectedFile.type,
1047
- source: "",
1048
- size: this.getFileSize(selectedFile.size),
1049
- fileSize: selectedFile.size,
1050
- picListDisplayName: this.getPicListDisplayName(fileName),
1051
- queueListDisplayName: this.getQueueDisplayName(fileName),
1052
- //content: reader.result.toString(),
1053
- hasUploaded: false,
1054
- mouseOn: false,
1055
- selectd: false,
1056
- isUploading: true,
1057
- uploadResult: false,
1058
- uploadProcess: 0,
1059
- errorMessage: "",
1060
- extensionDropListId: 0,
1061
- extensionName: "",
1062
- securityDropListId: 0,
1063
- securityInfo: this.securityInfoList[0]
1064
- };
1065
- if (this.storageExtension != null)
1066
- fileInfo.extensionName = this.defaultPropertyName;
1067
- /** @type {?} */
1068
- var chunkTotal = Math.ceil(selectedFile.size / this.bufferSize);
1069
- /** @type {?} */
1070
- var chunkIndex = 0;
1071
- this.fileTotalChunk[uuid] = chunkTotal;
1072
- /** @type {?} */
1073
- var uploadFileInfo = new UploadFileInfo();
1074
- uploadFileInfo.metadataId = uuid;
1075
- uploadFileInfo.fileName = fileInfo.name;
1076
- uploadFileInfo.fileSize = fileInfo.size;
1077
- uploadFileInfo.state = state;
1078
- uploadFileInfo.securityInfo = this.securityInfoList[0];
1079
- var _loop_2 = function () {
1080
- /** @type {?} */
1081
- var uploadInfo = new GspFormUploadEntity;
1082
- uploadInfo.formId = this_2.formId;
1083
- uploadInfo.mode = OperatingModes.Temp;
1084
- uploadInfo.rootId = this_2.rootId;
1157
+ this.handleFileInfo(uuid, selectedFile, fileName).then(( /**
1158
+ * @param {?} res
1159
+ * @return {?}
1160
+ */function (res) {
1085
1161
  /** @type {?} */
1086
- var docInfo = new GspFormDocInfo;
1087
- docInfo.fileName = fileName;
1088
- docInfo.metadataId = uuid;
1089
- docInfo.total = chunkTotal;
1090
- this_2.uploadedChunk[docInfo.metadataId] = 0;
1162
+ var fileInfo = res;
1091
1163
  /** @type {?} */
1092
- var nextSize = Math.min((chunkIndex + 1) * this_2.bufferSize, selectedFile.size);
1164
+ var chunkTotal = Math.ceil(selectedFile.size / _this.bufferSize);
1093
1165
  /** @type {?} */
1094
- var fileData = selectedFile.slice(chunkIndex * this_2.bufferSize, nextSize);
1095
- // let reader = new FileReader();
1096
- // reader.readAsBinaryString(fileData);
1166
+ var chunkIndex = 0;
1167
+ _this.fileTotalChunk[uuid] = chunkTotal;
1097
1168
  /** @type {?} */
1098
- var innerIndex = chunkIndex;
1099
- // reader.onload = () => {
1100
- // docInfo.fileContent = btoa(reader.result.toString());
1101
- docInfo.size = selectedFile.size;
1102
- docInfo.index = innerIndex;
1103
- docInfo.fileContent = "";
1104
- //chunkIndex++;
1105
- if (this_2.haveExtensionProperty)
1106
- docInfo.exPropertyName = this_2.defaultPropertyName;
1107
- //docInfo.isLast = true;
1108
- uploadInfo.docInfo = docInfo;
1109
- // let info = uploadInfo;
1110
- // this.requestArray.push(this.uploadService.uploadFile(uploadInfo));
1111
- // this.requestBodyArray.push(info);
1112
- //封装请求formdata
1169
+ var uploadFileInfo = new UploadFileInfo();
1170
+ uploadFileInfo.metadataId = uuid;
1171
+ uploadFileInfo.fileName = fileInfo.name;
1172
+ uploadFileInfo.fileSize = fileInfo.size;
1173
+ uploadFileInfo.state = state;
1174
+ uploadFileInfo.securityInfo = _this.securityInfoList[0];
1175
+ while (chunkIndex < chunkTotal) {
1176
+ /** @type {?} */
1177
+ var uploadInfo = new GspFormUploadEntity;
1178
+ uploadInfo.formId = _this.formId;
1179
+ uploadInfo.mode = OperatingModes.Temp;
1180
+ uploadInfo.rootId = _this.rootId;
1181
+ /** @type {?} */
1182
+ var docInfo = new GspFormDocInfo;
1183
+ docInfo.fileName = fileName;
1184
+ docInfo.metadataId = uuid;
1185
+ docInfo.total = chunkTotal;
1186
+ _this.uploadedChunk[docInfo.metadataId] = 0;
1187
+ /** @type {?} */
1188
+ var nextSize = Math.min((chunkIndex + 1) * _this.bufferSize, selectedFile.size);
1189
+ /** @type {?} */
1190
+ var fileData = selectedFile.slice(chunkIndex * _this.bufferSize, nextSize);
1191
+ // let reader = new FileReader();
1192
+ // reader.readAsBinaryString(fileData);
1193
+ /** @type {?} */
1194
+ var innerIndex = chunkIndex;
1195
+ // reader.onload = () => {
1196
+ // docInfo.fileContent = btoa(reader.result.toString());
1197
+ docInfo.size = selectedFile.size;
1198
+ docInfo.index = innerIndex;
1199
+ docInfo.fileContent = "";
1200
+ //chunkIndex++;
1201
+ if (_this.haveExtensionProperty)
1202
+ docInfo.exPropertyName = _this.defaultPropertyName;
1203
+ //docInfo.isLast = true;
1204
+ uploadInfo.docInfo = docInfo;
1205
+ // let info = uploadInfo;
1206
+ // this.requestArray.push(this.uploadService.uploadFile(uploadInfo));
1207
+ // this.requestBodyArray.push(info);
1208
+ //封装请求formdata
1209
+ /** @type {?} */
1210
+ var formData = new FormData();
1211
+ formData.append('uploadInfo', JSON.stringify(uploadInfo));
1212
+ formData.append('docInfo', JSON.stringify(docInfo));
1213
+ formData.append('file', fileData);
1214
+ // }
1215
+ //console.log(chunkIndex + 1);
1216
+ chunkIndex = chunkIndex + 1;
1217
+ }
1113
1218
  /** @type {?} */
1114
- var formData = new FormData();
1115
- formData.append('uploadInfo', JSON.stringify(uploadInfo));
1116
- formData.append('docInfo', JSON.stringify(docInfo));
1117
- formData.append('file', fileData);
1118
- this_2.uploadService.uploadSliceFile(formData).subscribe(( /**
1119
- * @param {?} res
1219
+ var index = -1;
1220
+ _this.files.forEach(( /**
1221
+ * @param {?} x
1120
1222
  * @return {?}
1121
- */function (res) {
1122
- if (res != null) {
1123
- _this.files[_this.files.indexOf(fileInfo)].uploadResult = false;
1124
- _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1125
- _this.files[_this.files.indexOf(fileInfo)].errorMessage = res.error.Message;
1126
- }
1127
- else {
1128
- _this.uploadedChunk[docInfo.metadataId]++;
1129
- _this.files[_this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((_this.uploadedChunk[docInfo.metadataId] / _this.fileTotalChunk[docInfo.metadataId] * 100).toFixed(0));
1130
- if (_this.uploadedChunk[docInfo.metadataId] == _this.fileTotalChunk[docInfo.metadataId]) {
1131
- _this.files[_this.files.indexOf(fileInfo)].uploadResult = true;
1132
- _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1133
- _this.uploadFileInfoList = _this.uploadFileInfoList.concat(uploadFileInfo);
1134
- _this.uploadedFileInfoList = _this.uploadedFileInfoList.concat(uploadFileInfo);
1135
- _this.uploadedFileTotal++;
1136
- }
1223
+ */function (x) {
1224
+ if (x.name == fileInfo.name) {
1225
+ if (index == -1)
1226
+ index = _this.files.indexOf(x);
1137
1227
  }
1138
1228
  }));
1139
- // }
1140
- //console.log(chunkIndex + 1);
1141
- chunkIndex = chunkIndex + 1;
1142
- };
1143
- var this_2 = this;
1144
- while (chunkIndex < chunkTotal) {
1145
- _loop_2();
1146
- }
1147
- /** @type {?} */
1148
- var type = selectedFile.type;
1149
- if (type.includes("tiff")) {
1150
- this.addDocInfo(selectedFile, fileInfo, DocType.Other);
1151
- }
1152
- else if (type.includes("image")) {
1153
- this.addDocInfo(selectedFile, fileInfo, DocType.Image);
1154
- }
1155
- else if (type.includes("word")) {
1156
- this.addDocInfo(selectedFile, fileInfo, DocType.Word);
1157
- }
1158
- else if (type.includes("pdf")) {
1159
- this.addDocInfo(selectedFile, fileInfo, DocType.Pdf);
1160
- }
1161
- else if (type.includes("plain")) {
1162
- this.addDocInfo(selectedFile, fileInfo, DocType.Txt);
1163
- }
1164
- else if (type.includes("sheet") || type.includes("excel")) {
1165
- this.addDocInfo(selectedFile, fileInfo, DocType.Excel);
1166
- }
1167
- else if (type.includes("powerpoint") || type.includes("presentation")) {
1168
- this.addDocInfo(selectedFile, fileInfo, DocType.Powerpoint);
1169
- }
1170
- else {
1171
- this.addDocInfo(selectedFile, fileInfo, DocType.Other);
1172
- // let name: string = selectedFile.name;
1173
- // let errType = name.substring(selectedFile.name.lastIndexOf('.'));
1174
- // this.errTypeList.push(errType);
1175
- }
1176
- /** @type {?} */
1177
- var index = -1;
1178
- this.files.forEach(( /**
1179
- * @param {?} x
1229
+ if (index != -1 && index != _this.files.length - 1) {
1230
+ _this.files.splice(index, 1);
1231
+ _this.uploadFileInfoList.splice(index, 1);
1232
+ _this.uploadedFileInfoList.splice(index, 1);
1233
+ _this.uploadedFileTotal--;
1234
+ }
1235
+ }));
1236
+ };
1237
+ /**
1238
+ * @param {?} formData
1239
+ * @param {?} fileInfo
1240
+ * @param {?} docInfo
1241
+ * @param {?} uploadFileInfo
1242
+ * @return {?}
1243
+ */
1244
+ FileUploadComponent.prototype.sendUploadRequest = /**
1245
+ * @param {?} formData
1246
+ * @param {?} fileInfo
1247
+ * @param {?} docInfo
1248
+ * @param {?} uploadFileInfo
1249
+ * @return {?}
1250
+ */
1251
+ function (formData, fileInfo, docInfo, uploadFileInfo) {
1252
+ var _this = this;
1253
+ this.uploadSliceFile(formData).subscribe(( /**
1254
+ * @param {?} res
1180
1255
  * @return {?}
1181
- */function (x) {
1182
- if (x.name == fileInfo.name) {
1183
- if (index == -1)
1184
- index = _this.files.indexOf(x);
1256
+ */function (res) {
1257
+ if (res != null) {
1258
+ _this.files[_this.files.indexOf(fileInfo)].uploadResult = false;
1259
+ _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1260
+ _this.files[_this.files.indexOf(fileInfo)].errorMessage = res.error.Message;
1261
+ }
1262
+ else {
1263
+ _this.uploadedChunk[docInfo.metadataId]++;
1264
+ _this.files[_this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((_this.uploadedChunk[docInfo.metadataId] / _this.fileTotalChunk[docInfo.metadataId] * 100).toFixed(0));
1265
+ if (_this.uploadedChunk[docInfo.metadataId] == _this.fileTotalChunk[docInfo.metadataId]) {
1266
+ _this.files[_this.files.indexOf(fileInfo)].uploadResult = true;
1267
+ _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1268
+ _this.uploadFileInfoList = _this.uploadFileInfoList.concat(uploadFileInfo);
1269
+ _this.uploadedFileInfoList = _this.uploadedFileInfoList.concat(uploadFileInfo);
1270
+ _this.uploadedFileTotal++;
1271
+ }
1185
1272
  }
1186
1273
  }));
1187
- if (index != -1 && index != this.files.length - 1) {
1188
- this.files.splice(index, 1);
1189
- this.uploadFileInfoList.splice(index, 1);
1190
- this.uploadedFileInfoList.splice(index, 1);
1191
- this.uploadedFileTotal--;
1192
- }
1274
+ };
1275
+ /**
1276
+ * @param {?} formdata
1277
+ * @return {?}
1278
+ */
1279
+ FileUploadComponent.prototype.uploadSliceFile = /**
1280
+ * @param {?} formdata
1281
+ * @return {?}
1282
+ */
1283
+ function (formdata) {
1284
+ /** @type {?} */
1285
+ var url = "/api/runtime/dfs/v1.0/formdoc/slice";
1286
+ //url = "/api/runtime/dfs/v1.0/formdoc/list";
1287
+ return this.httpclient.post(url, formdata).pipe(operators.tap(( /**
1288
+ * @param {?} res
1289
+ * @return {?}
1290
+ */function (res) { })), operators.catchError(( /**
1291
+ * @param {?} error
1292
+ * @return {?}
1293
+ */function (error) {
1294
+ return rxjs.of(error);
1295
+ })));
1193
1296
  };
1194
1297
  /**
1195
1298
  * @return {?}
@@ -1372,58 +1475,86 @@
1372
1475
  */
1373
1476
  function (selectdFile, fileInfo, docType) {
1374
1477
  var _this = this;
1375
- switch (docType) {
1376
- case DocType.Word: {
1377
- fileInfo.source = "/platform/runtime/dfs/images/word.png";
1378
- this.files.push(fileInfo);
1379
- break;
1380
- }
1381
- case DocType.Pdf: {
1382
- fileInfo.source = "/platform/runtime/dfs/images/pdf.png";
1383
- this.files.push(fileInfo);
1384
- break;
1385
- }
1386
- case DocType.Excel: {
1387
- fileInfo.source = "/platform/runtime/dfs/images/excel.png";
1388
- this.files.push(fileInfo);
1389
- break;
1390
- }
1391
- case DocType.Txt: {
1392
- fileInfo.source = "/platform/runtime/dfs/images/txt.png";
1393
- this.files.push(fileInfo);
1394
- break;
1395
- }
1396
- case DocType.Powerpoint: {
1397
- fileInfo.source = "/platform/runtime/dfs/images/ppt.png";
1398
- this.files.push(fileInfo);
1399
- break;
1400
- }
1401
- case DocType.Other: {
1402
- fileInfo.source = "/platform/runtime/dfs/images/file.png";
1403
- this.files.push(fileInfo);
1404
- break;
1478
+ return new Promise(( /**
1479
+ * @param {?} resolve
1480
+ * @return {?}
1481
+ */function (resolve) {
1482
+ switch (docType) {
1483
+ case DocType.Word: {
1484
+ fileInfo.source = "/platform/runtime/dfs/images/word.png";
1485
+ _this.files.push(fileInfo);
1486
+ break;
1487
+ }
1488
+ case DocType.Pdf: {
1489
+ fileInfo.source = "/platform/runtime/dfs/images/pdf.png";
1490
+ _this.files.push(fileInfo);
1491
+ break;
1492
+ }
1493
+ case DocType.Excel: {
1494
+ fileInfo.source = "/platform/runtime/dfs/images/excel.png";
1495
+ _this.files.push(fileInfo);
1496
+ break;
1497
+ }
1498
+ case DocType.Txt: {
1499
+ fileInfo.source = "/platform/runtime/dfs/images/txt.png";
1500
+ _this.files.push(fileInfo);
1501
+ break;
1502
+ }
1503
+ case DocType.Powerpoint: {
1504
+ fileInfo.source = "/platform/runtime/dfs/images/ppt.png";
1505
+ _this.files.push(fileInfo);
1506
+ break;
1507
+ }
1508
+ case DocType.Other: {
1509
+ fileInfo.source = "/platform/runtime/dfs/images/file.png";
1510
+ _this.files.push(fileInfo);
1511
+ break;
1512
+ }
1513
+ case DocType.Image: {
1514
+ _this.getImageUrl(selectdFile).then(( /**
1515
+ * @param {?} res
1516
+ * @return {?}
1517
+ */function (res) {
1518
+ fileInfo.source = res;
1519
+ _this.files.push(fileInfo);
1520
+ resolve(fileInfo);
1521
+ }));
1522
+ }
1405
1523
  }
1406
- case DocType.Image:
1524
+ resolve(fileInfo);
1525
+ }));
1526
+ };
1527
+ /**
1528
+ * @param {?} selectdFile
1529
+ * @return {?}
1530
+ */
1531
+ FileUploadComponent.prototype.getImageUrl = /**
1532
+ * @param {?} selectdFile
1533
+ * @return {?}
1534
+ */
1535
+ function (selectdFile) {
1536
+ var _this = this;
1537
+ return new Promise(( /**
1538
+ * @param {?} resolve
1539
+ * @return {?}
1540
+ */function (resolve) {
1541
+ /** @type {?} */
1542
+ var reader = new FileReader();
1543
+ reader.readAsDataURL(selectdFile);
1544
+ reader.onload = ( /**
1545
+ * @param {?} _event
1546
+ * @return {?}
1547
+ */function (_event) {
1407
1548
  /** @type {?} */
1408
- var reader_1 = new FileReader();
1409
- reader_1.readAsDataURL(selectdFile);
1410
- reader_1.onload = ( /**
1411
- * @param {?} _event
1412
- * @return {?}
1413
- */function (_event) {
1549
+ var imgUrl = reader.result;
1550
+ if (_this.injector != null) {
1414
1551
  /** @type {?} */
1415
- var imgUrl = reader_1.result;
1416
- if (_this.injector != null) {
1417
- /** @type {?} */
1418
- var sanitizer = _this.injector.get(platformBrowser.DomSanitizer);
1419
- fileInfo.source = sanitizer.bypassSecurityTrustResourceUrl(imgUrl);
1420
- }
1421
- else
1422
- fileInfo.source = imgUrl;
1423
- _this.files.push(fileInfo);
1424
- });
1425
- break;
1426
- }
1552
+ var sanitizer = _this.injector.get(platformBrowser.DomSanitizer);
1553
+ imgUrl = sanitizer.bypassSecurityTrustResourceUrl(imgUrl);
1554
+ }
1555
+ resolve(imgUrl);
1556
+ });
1557
+ }));
1427
1558
  };
1428
1559
  /**
1429
1560
  * @param {?} strList
@@ -1666,7 +1797,7 @@
1666
1797
  { type: i0.Component, args: [{
1667
1798
  selector: 'app-file-upload',
1668
1799
  template: "<div *ngIf=\"hasSelectedFile\">\n\n <div class=\"farris-header\" style=\"height: 50px; width: 100%\">\n <div class=\"btn btn-secondary upload_button\">\n <img [src]=\"uploadLittleIconAddress\">\n <span>{{'uploadFile' | locale}} </span>\n <input type=\"file\" (focus)=\"showLoading()\" (change)=\"fileSelected($event)\" id=\"file\" multiple=\"multiple\"\n title=\"\" [accept]=\"fileType\">\n </div>\n\n\n <button *ngIf=\"showType==0 && !fileAllSelected && files.length >0 \" style=\"padding-left: 20px\"\n class=\"btn-link btn ng-star-inserted\" (click)=\"selectAllFile()\">{{'selectAll' | locale}}</button>\n <button *ngIf=\"showType==0 && fileAllSelected && files.length >0 \" style=\"padding-left: 20px\"\n class=\"btn-link btn ng-star-inserted\" (click)=\"selectAllFile()\">{{'selectNull' | locale}}</button>\n <button *ngIf=\"showType==0 && selectedFileCount>0\" style=\"padding-left: 20px\"\n class=\"btn-link btn ng-star-inserted\" (click)=\"listMultipleDeleteFile()\">{{'delete' | locale}}</button>\n\n <button *ngIf=\"showType==1 && selectedFileCount>0\" style=\"padding-left: 20px\"\n class=\"btn-link btn ng-star-inserted\" (click)=\"listMultipleDeleteFile()\">{{'delete' | locale}}</button>\n\n <kendo-buttongroup [selection]=\"'single'\" class=\"button_group_upload \"\n style=\"background-color: #ffffff; color: #388FFF;border: 1px solid #ddd;\" look=\"flat\">\n <button kendoButton [selected]=\"true\" [toggleable]=\"true\"\n [imageUrl]=\"'/platform/runtime/dfs/images/piclist.png'\" (click)=\"showByGroup()\"></button>\n <button kendoButton [toggleable]=\"true\" [imageUrl]=\"'/platform/runtime/dfs/images/queuelist.png'\"\n (click)=\"showByList()\"></button>\n </kendo-buttongroup>\n\n\n </div>\n\n <!-- <div class=\"progress\" style=\"height: 12px;\">\n <div class=\"progress-bar\" role=\"progressbar\" [ngStyle]=\"uploadProcess\"></div>\n </div> -->\n\n <div class=\"pic_list\" *ngIf=\"showType==0\">\n <ul *ngFor=\"let file of files\">\n <li (mouseenter)=\"mouseOver(file)\" (mouseleave)=\"mouseOut(file)\">\n <div *ngIf=\"file.isUploading\">\n <farris-progress [type]=\"'circle'\" [percent]=\"file.uploadProcess\" [strokeLinecap]=\"'square'\"\n [status]=\"'active'\"></farris-progress>\n </div>\n\n <table *ngIf=\"!file.uploadResult && !file.isUploading\"\n style=\"margin: 0 auto; border: 1px solid #ddd; width: 135px; height: 160px;\">\n <tr style=\"margin: 0 auto ; height: 80px;\">\n <td style=\"text-align: center\"><span class=\"f-icon f-icon-warn\"></span></td>\n </tr>\n <tr style=\"margin: 0 auto ; height: 30px;\">\n <td style=\"text-align: center\"> {{'uploadFailure' | locale}} </td>\n </tr>\n <tr>\n <td style=\"text-align: center\"><button style=\"margin: 0 auto ; height: 20px; \"\n class=\"btn-link btn ng-star-inserted\" (click)=\"showErrorMessage(file)\">{{'detail' |\n locale}}</button></td>\n </tr>\n </table>\n <div *ngIf=\"!file.isUploading && file.uploadResult\" style=\"border: 1px solid #ddd;\">\n <img [src]='file.source'>\n <div *ngIf=\"haveExtensionProperty\"\n style=\"width: 133px; height: 25px; background-color: white; position: absolute;bottom: 0; \">\n\n <div style=\"width: 100px;height: 25px;position:absolute;margin: 0 17px;\">\n <farris-combo-list [(ngModel)]=\"file.extensionDropListId\" [data]=\"propertiesNames\"\n [idField]=\"'id'\" [textField]=\"'name'\" (selectChange)=\"typeChange($event,file)\"\n [enableClear]=\"false\">\n <!-- <ng-template #itemTemp let-item>\n <div class=\"combo-list\">\n <span [class]=\"'combo-list-circle combo-list-'+item.state\"></span>\n <span class=\"combo-list-label\">{{item.label}}</span>\n </div>\n </ng-template> -->\n </farris-combo-list>\n </div>\n </div>\n <div *ngIf=\"haveSecurityInfo\"\n style=\"width: 133px; height: 25px; background-color: white; position: absolute;bottom: 0; \">\n\n <div style=\"width: 100px;height: 25px;position:absolute;margin: 0 17px;\">\n <farris-combo-list [(ngModel)]=\"file.extensionDropListId\" [data]=\"securityInfoList\"\n [idField]=\"'id'\" [textField]=\"'name'\" (selectChange)=\"securityChange($event,file)\"\n [enableClear]=\"false\">\n <!-- <ng-template #itemTemp let-item>\n <div class=\"combo-list\">\n <span [class]=\"'combo-list-circle combo-list-'+item.state\"></span>\n <span class=\"combo-list-label\">{{item.label}}</span>\n </div>\n </ng-template> -->\n </farris-combo-list>\n </div>\n </div>\n </div>\n <table *ngIf=\"!file.isUploading\">\n <tr style=\"height: 20px\">\n <td style=\"width: 15px; vertical-align: middle; text-align: center\">\n <!-- <input type=\"checkbox\" [id]=\"file.name\" (click)=\"checkoutSelectFile(file.name)\"> -->\n <div class=\"farris-input-wrap\" style=\"height: 20px\" (click)=\"checkoutSelectFile(file)\">\n <div class=\"custom-control custom-checkbox\" style=\"margin: 4px 0 0;height: 20px;\"\n [ngStyle]=\"checkboxPos\">\n <input class=\"custom-control-input\" type=\"checkbox\" [id]=\"file.name\"\n [(ngModel)]=\"file.selectd\">\n <label class=\"custom-control-label\"\n style=\"padding: 0 0 10px 0; position: relative; top: -8px;\"></label>\n </div>\n </div>\n </td>\n <td style=\"width: 120px; vertical-align: middle; text-align: center\" [title]=\"file.name\">\n {{file.picListDisplayName}}</td>\n </tr>\n </table>\n <!-- <span>{{file.picListDisplayName}}</span> -->\n <!-- <p class=\"filename\">{{file.picListDisplayName}}</p> -->\n <button *ngIf=\"!file.isUploading && file.mouseOn\"\n style=\"position: absolute; top: 0; right: 0px; width: 24px; height: 24px;\" kendoButton\n [icon]=\"'delete'\" (click)=\"listDeleteFile(file)\"></button>\n <!-- <button *ngIf=\"file.hasUploaded\" class=\"k-primary\" kendoButton [icon]=\"'check'\" [disabled]=\"true\"></button> -->\n </li>\n </ul>\n <br>\n </div>\n\n <div class=\"queue_list\" *ngIf=\"showType==1\">\n <table>\n <tr style=\"height: 50px; table-layout:fixed;\">\n <th style=\"width: 40px; vertical-align: middle; text-align: center\">\n <!-- <input type=\"checkbox\" id=\"allCheckBox\" (click)=\"selectAllFile()\"> -->\n <div class=\"farris-input-wrap\" (click)=\"selectAllFile()\">\n <div class=\"custom-control custom-checkbox\" style=\"margin: 4px 0 0\">\n <input class=\"custom-control-input\" type=\"checkbox\" id=\"allCheckBox\"\n [(ngModel)]=\"fileAllSelected\">\n <label class=\"custom-control-label\" style=\"padding: 0\"></label>\n </div>\n </div>\n </th>\n <th style=\"vertical-align: middle\" [ngStyle]=\"queueListStyle\">{{'fileName' | locale}}</th>\n <th style=\"width: 100px; vertical-align: middle\">{{'size' | locale}}</th>\n <th style=\"width: 170px; vertical-align: middle; text-align: center\">{{'state' | locale}}</th>\n <th *ngIf=\"haveExtensionProperty\" style=\"width: 100px; vertical-align: middle; text-align: center\">\n {{storageExtension.extensionName}}\n </th>\n <th style=\"width: 140px; vertical-align: middle; text-align: center\">{{'operation' | locale}}</th>\n </tr>\n </table>\n <div style=\"height: 370px; overflow: auto;\">\n <table>\n <tr *ngFor=\"let file of files\" style=\"height: 40px\">\n <td colspan=\"5\" *ngIf=\"file.isUploading\">\n <!-- <div style=\"width:100%; display: table-cell; vertical-align: middle; text-align: center; \"> -->\n <div style=\"width: 500px;margin:0 auto\">\n <farris-progress [percent]=\"file.uploadProcess\" [status]=\"'active'\">\n </farris-progress>\n </div>\n\n </td>\n <td *ngIf=\"!file.isUploading\" style=\" width: 40px; vertical-align: middle; text-align: center\">\n <!-- <input type=\"checkbox\" [id]=\"file.name\" (click)=\"checkoutSelectFile(file.name)\"> -->\n <div class=\"farris-input-wrap\" (click)=\"checkoutSelectFile(file)\">\n <div class=\"custom-control custom-checkbox\" style=\"margin: 4px 0 0\">\n <input class=\"custom-control-input\" type=\"checkbox\" [id]=\"file.name\"\n [(ngModel)]=\"file.selectd\">\n <label class=\"custom-control-label\" style=\"padding: 0\"></label>\n </div>\n </div>\n </td>\n <td *ngIf=\"!file.isUploading\" style=\"vertical-align: middle\" [ngStyle]=\"queueListStyle\">\n {{file.queueListDisplayName}}</td>\n <td *ngIf=\"!file.isUploading\" style=\"width: 100px; vertical-align: middle\">{{file.size}}</td>\n <td *ngIf=\"!file.isUploading\" style=\"text-align: center; width: 170px; vertical-align: middle;\">\n <table *ngIf=\"!file.uploadResult\" style=\"margin: 0 auto\">\n <tr style=\"margin: 0 auto\">\n <td><span class=\"f-icon f-icon-error\"></span></td>\n <td> {{'uploadFailure' | locale}} </td>\n <td><button style=\"height: 24px\" class=\"btn-link btn ng-star-inserted\"\n (click)=\"showErrorMessage(file)\">{{'detail' | locale}}</button></td>\n </tr>\n </table>\n <!-- <span *ngIf=\"!file.uploadResult\"><span class=\"f-icon f-icon-error\"></span> \u4E0A\u4F20\u5931\u8D25 <button\n class=\"btn-link btn ng-star-inserted\" (click)=\"showErrorMessage(file)\">\u8BE6\u60C5</button></span> -->\n <span *ngIf=\"file.uploadResult\"><span class=\"f-icon f-icon-success\"></span> {{'uploadSucceed' |\n locale}}</span>\n </td>\n <td *ngIf=\"!file.isUploading&&haveExtensionProperty\"\n style=\"text-align: center; width: 100px; vertical-align: middle;\">\n <farris-combo-list [(ngModel)]=\"file.extensionDropListId\" [data]=\"propertiesNames\"\n [idField]=\"'id'\" [textField]=\"'name'\" (selectChange)=\"typeChange($event,file)\"\n [enableClear]=\"false\">\n <!-- <ng-template #itemTemp let-item>\n <div class=\"combo-list\">\n <span [class]=\"'combo-list-circle combo-list-'+item.state\"></span>\n <span class=\"combo-list-label\">{{item.label}}</span>\n </div>\n </ng-template> -->\n </farris-combo-list>\n </td>\n <td *ngIf=\"!file.isUploading&&haveSecurityInfo\"\n style=\"text-align: center; width: 100px; vertical-align: middle;\">\n <farris-combo-list [(ngModel)]=\"file.extensionDropListId\" [data]=\"securityInfoList\"\n [idField]=\"'id'\" [textField]=\"'name'\" (selectChange)=\"securityChange($event,file)\"\n [enableClear]=\"false\">\n <!-- <ng-template #itemTemp let-item>\n <div class=\"combo-list\">\n <span [class]=\"'combo-list-circle combo-list-'+item.state\"></span>\n <span class=\"combo-list-label\">{{item.label}}</span>\n </div>\n </ng-template> -->\n </farris-combo-list>\n </td>\n\n <td *ngIf=\"!file.isUploading\" style=\"text-align: center; width: 140px; vertical-align: middle;\">\n <!-- <button *ngIf=\"file.uploadResult\" class=\"btn-link btn ng-star-inserted\" (click)=\"retryUploadFile(file.name)\">\u91CD\u8BD5</button> -->\n <button class=\"btn-link btn ng-star-inserted\" style=\"margin: 0 auto\"\n (click)=\"listDeleteFile(file)\">{{'delete' | locale}}</button>\n </td>\n\n </tr>\n </table>\n </div>\n </div>\n</div>\n\n<div *ngIf=\"!hasSelectedFile\" class='home_page'>\n <img [src]=\"uploadIconAddress\">\n <div>\n <span class=\"btn btn-primary btn-lg\">{{'uploadFile' | locale}} </span>\n <input type=\"file\" (change)=\"fileSelected($event)\" id=\"file\" multiple=\"multiple\" title=\"\" [accept]=\"fileType\">\n <!-- <input type=\"file\" (focus)=\"showLoading()\" (change)=\"fileSelected($event)\" id=\"file\" multiple=\"multiple\" title=\"\" [accept]=\"fileType\"> -->\n </div>\n</div>",
1669
- styles: [".home_page{text-align:center}.home_page img{position:absolute;top:180px;margin-left:-35px;width:70px;height:56px}.home_page div{position:absolute;left:50%;top:255px;margin-left:-75px;width:150px;height:32px;overflow:hidden}.home_page div span{width:150px;height:32px;position:absolute;z-index:10;left:0}.home_page div input{position:absolute;left:0;top:0;opacity:0;filter:'alpha(opacity=0)';z-index:11}.upload_button{width:110px;height:32px;overflow:hidden}.upload_button span{position:relative;right:-4px;top:4px;width:56px;height:22px;font-size:14px}.upload_button input{height:32px;width:110px;position:absolute;left:22px;top:12px;opacity:0;filter:'alpha(opacity=0)';overflow:hidden}.upload_button img{position:relative;left:-6px;top:3px;width:14px;height:14px}.button_group_upload{position:absolute;right:18px;top:12px;height:26px;width:53px}.button_group_upload button{height:26px;width:26px}.fileinput-button{position:absolute;right:60px;bottom:40px;overflow:hidden;width:24px;height:24px;border-radius:12px;transform:scale(2.5);-ms-transform:scale(2.5);-moz-transform:scale(2.5);-webkit-transform:scale(2.5);-o-transform:scale(2.5);color:#0686fd}.fileinput-button input{position:absolute;left:0;top:0;opacity:0;filter:'alpha(opacity=0)'}.pic-droplist{height:24px;color:#e0e1e2;background-color:#e0e1e2}.pic-droplist input-group{display:table-cell;width:100px;text-align:center;border:0}.pic-droplist input-group div{border:0}.pic-droplist input-group div div,.pic-droplist input-group div input{background-color:#e0e1e2}.pic_list{padding:0;height:420px;overflow-y:auto;overflow-x:hidden}.pic_list ul{padding:0;list-style:none;width:100%;margin:20px 0 0 20px}.pic_list ul li{height:180px;width:135px;margin:8px 0 8px 12px;float:left;overflow:hidden;align-items:center;position:relative}.pic_list ul li div{width:135px;height:160px;margin:auto;display:table-cell;vertical-align:middle;text-align:center;position:relative}.pic_list ul li div img{max-width:120px;max-height:118px;align-items:center;margin:auto;vertical-align:middle;text-align:center}.pic_list ul li span.filename{width:100px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue_list{display:block;height:420px;overflow-y:auto}.file_list{list-style:none;margin:0;padding:0;overflow-x:hidden;overflow-y:auto}.file_list li{height:50px;line-height:35px;font-size:16px;position:relative}.file_list li button{float:right;top:6px;right:10px;width:20px}.file_list li p.title{padding:0 0 0 6px;margin:0 210px 0 0}.file_list li p.size{position:absolute;width:100px;top:0;right:100px}"]
1800
+ styles: [".home_page{text-align:center}.home_page img{position:absolute;top:180px;margin-left:-35px;width:70px;height:56px}.home_page div{position:absolute;left:50%;top:255px;margin-left:-75px;width:150px;height:32px;overflow:hidden}.home_page div span{width:150px;height:32px;position:absolute;z-index:10;left:0}.home_page div input{position:absolute;left:0;top:0;opacity:0;filter:'alpha(opacity=0)';z-index:11}.upload_button{width:110px;height:32px;overflow:hidden}.upload_button span{position:relative;right:-4px;top:4px;width:56px;height:22px;font-size:14px}.upload_button input{height:32px;width:110px;position:absolute;left:22px;top:12px;opacity:0;filter:'alpha(opacity=0)';overflow:hidden}.upload_button img{position:relative;left:-6px;top:3px;width:14px;height:14px}.button_group_upload{position:absolute;right:18px;top:12px;height:26px;width:53px}.button_group_upload button{height:26px;width:26px}.fileinput-button{position:absolute;right:60px;bottom:40px;overflow:hidden;width:24px;height:24px;border-radius:12px;transform:scale(2.5);-ms-transform:scale(2.5);-moz-transform:scale(2.5);-webkit-transform:scale(2.5);-o-transform:scale(2.5);color:#0686fd}.fileinput-button input{position:absolute;left:0;top:0;opacity:0;filter:'alpha(opacity=0)'}.pic-droplist{height:24px;color:#e0e1e2;background-color:#e0e1e2}.pic-droplist input-group{display:table-cell;width:100px;text-align:center;border:0}.pic-droplist input-group div{border:0}.pic-droplist input-group div div,.pic-droplist input-group div input{background-color:#e0e1e2}.pic_list{padding:0;height:415px;overflow-y:auto;overflow-x:hidden}.pic_list ul{padding:0;list-style:none;width:100%;margin:20px 0 0 20px}.pic_list ul li{height:179px;width:135px;margin:8px 0 8px 12px;float:left;overflow:hidden;align-items:center;position:relative}.pic_list ul li div{width:135px;height:159px;margin:auto;display:table-cell;vertical-align:middle;text-align:center;position:relative}.pic_list ul li div img{max-width:120px;max-height:118px;align-items:center;margin:auto;vertical-align:middle;text-align:center}.pic_list ul li span.filename{width:100px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue_list{display:block;height:420px;overflow-y:auto}.file_list{list-style:none;margin:0;padding:0;overflow-x:hidden;overflow-y:auto}.file_list li{height:50px;line-height:35px;font-size:16px;position:relative}.file_list li button{float:right;top:6px;right:10px;width:20px}.file_list li p.title{padding:0 0 0 6px;margin:0 210px 0 0}.file_list li p.size{position:absolute;width:100px;top:0;right:100px}"]
1670
1801
  }] }
1671
1802
  ];
1672
1803
  /** @nocollapse */
@@ -1875,11 +2006,12 @@
1875
2006
  uiLoading.LoadingModule.forRoot(),
1876
2007
  uiProgress.ProgressModule,
1877
2008
  forms.FormsModule,
1878
- uiComboList.ComboListModule
2009
+ uiComboList.ComboListModule,
2010
+ http.HttpClientModule
1879
2011
  ],
1880
2012
  exports: [FileUploadComponent],
1881
2013
  entryComponents: [FileUploadComponent],
1882
- providers: [UploadService, DownloadService, cafCommon.LanguageService,
2014
+ providers: [UploadService, DownloadService, cafCommon.LanguageService, cafCommon.HttpService, cafCommon.CacheService, cafCommon.SessionService,
1883
2015
  { provide: i0.LOCALE_ID, useValue: ɵ0$1 },]
1884
2016
  },] }
1885
2017
  ];
@@ -2273,6 +2405,7 @@
2273
2405
  exports.GspDocSecurityBaseInfo = GspDocSecurityBaseInfo;
2274
2406
  exports.SecurityEntity = SecurityEntity;
2275
2407
  exports.ExStorageFileInfo = ExStorageFileInfo;
2408
+ exports.CopyFileRequest = CopyFileRequest;
2276
2409
  exports.ɵb = LocalLangPipe;
2277
2410
 
2278
2411
  Object.defineProperty(exports, '__esModule', { value: true });