@gsp-svc/formdoc-upload 0.1.39 → 0.2.1

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 (52) hide show
  1. package/bundles/gsp-svc-formdoc-upload.umd.js +315 -188
  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/lib/i18n/language.resource.js +9 -5
  6. package/esm2015/lib/upload/download.service.js +9 -1
  7. package/esm2015/lib/upload/entity/completemultiuploadrequest.js +21 -0
  8. package/esm2015/lib/upload/entity/{gspdocsecuritynaseinfo.js → gspdocsecuritybaseinfo.js} +1 -1
  9. package/esm2015/lib/upload/entity/gspformstreamentity.js +25 -0
  10. package/esm2015/lib/upload/entity/gspformuploadentity.js +1 -1
  11. package/esm2015/lib/upload/entity/initmultiuploadrequest.js +19 -0
  12. package/esm2015/lib/upload/entity/multiuploadrequest.js +21 -0
  13. package/esm2015/lib/upload/entity/multiuploadresult.js +13 -0
  14. package/esm2015/lib/upload/entity/uploadlimit.js +1 -1
  15. package/esm2015/lib/upload/file-upload/file-upload.component.js +234 -129
  16. package/esm2015/lib/upload/upload.module.js +3 -3
  17. package/esm2015/lib/upload/upload.service.js +3 -22
  18. package/esm2015/lib/uploaddialog/uploaddialog.module.js +1 -3
  19. package/esm2015/public-api.js +2 -2
  20. package/esm5/lib/i18n/language.resource.js +9 -5
  21. package/esm5/lib/upload/download.service.js +14 -1
  22. package/esm5/lib/upload/entity/completemultiuploadrequest.js +25 -0
  23. package/esm5/lib/upload/entity/{gspdocsecuritynaseinfo.js → gspdocsecuritybaseinfo.js} +1 -1
  24. package/esm5/lib/upload/entity/gspformstreamentity.js +29 -0
  25. package/esm5/lib/upload/entity/gspformuploadentity.js +1 -1
  26. package/esm5/lib/upload/entity/initmultiuploadrequest.js +23 -0
  27. package/esm5/lib/upload/entity/multiuploadrequest.js +25 -0
  28. package/esm5/lib/upload/entity/multiuploadresult.js +17 -0
  29. package/esm5/lib/upload/entity/uploadlimit.js +1 -1
  30. package/esm5/lib/upload/file-upload/file-upload.component.js +248 -139
  31. package/esm5/lib/upload/upload.module.js +3 -3
  32. package/esm5/lib/upload/upload.service.js +3 -26
  33. package/esm5/lib/uploaddialog/uploaddialog.module.js +1 -3
  34. package/esm5/public-api.js +2 -2
  35. package/fesm2015/gsp-svc-formdoc-upload.js +287 -168
  36. package/fesm2015/gsp-svc-formdoc-upload.js.map +1 -1
  37. package/fesm5/gsp-svc-formdoc-upload.js +325 -189
  38. package/fesm5/gsp-svc-formdoc-upload.js.map +1 -1
  39. package/gsp-svc-formdoc-upload.metadata.json +1 -1
  40. package/lib/i18n/language.resource.d.ts +4 -0
  41. package/lib/upload/download.service.d.ts +1 -0
  42. package/lib/upload/entity/completemultiuploadrequest.d.ts +9 -0
  43. package/lib/upload/entity/gspformstreamentity.d.ts +12 -0
  44. package/lib/upload/entity/initmultiuploadrequest.d.ts +7 -0
  45. package/lib/upload/entity/multiuploadrequest.d.ts +8 -0
  46. package/lib/upload/entity/multiuploadresult.d.ts +4 -0
  47. package/lib/upload/entity/uploadlimit.d.ts +1 -1
  48. package/lib/upload/file-upload/file-upload.component.d.ts +9 -4
  49. package/lib/upload/upload.service.d.ts +2 -3
  50. package/package.json +1 -1
  51. package/public-api.d.ts +1 -1
  52. /package/lib/upload/entity/{gspdocsecuritynaseinfo.d.ts → gspdocsecuritybaseinfo.d.ts} +0 -0
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@farris/ui-dialog'), require('@angular/common'), require('rxjs/observable/of'), require('rxjs/operators'), require('angular2-uuid'), require('@angular/platform-browser'), require('@progress/kendo-angular-buttons'), require('@farris/ui-messager'), require('@farris/ui-loading'), require('@farris/ui-progress'), require('@angular/forms'), require('@farris/ui-combo-list'), require('@ecp-caf/caf-common'), require('@angular/core'), require('@farris/ui-modal'), require('rxjs'), require('@angular/common/http'), require('@farris/ui-notify')) :
3
- typeof define === 'function' && define.amd ? define('@gsp-svc/formdoc-upload', ['exports', '@farris/ui-dialog', '@angular/common', 'rxjs/observable/of', 'rxjs/operators', 'angular2-uuid', '@angular/platform-browser', '@progress/kendo-angular-buttons', '@farris/ui-messager', '@farris/ui-loading', '@farris/ui-progress', '@angular/forms', '@farris/ui-combo-list', '@ecp-caf/caf-common', '@angular/core', '@farris/ui-modal', 'rxjs', '@angular/common/http', '@farris/ui-notify'], factory) :
4
- (factory((global['gsp-svc'] = global['gsp-svc'] || {}, global['gsp-svc']['formdoc-upload'] = {}),global.uiDialog,global.ng.common,global.rxjs['observable/of'],global.rxjs.operators,global.angular2Uuid,global.ng.platformBrowser,global.kendoAngularButtons,global.uiMessager,global.uiLoading,global.uiProgress,global.ng.forms,global.uiComboList,global.cafCommon,global.ng.core,global.uiModal,global.rxjs,global.ng.common.http,global.uiNotify));
5
- }(this, (function (exports,uiDialog,common,of,operators,angular2Uuid,platformBrowser,kendoAngularButtons,uiMessager,uiLoading,uiProgress,forms,uiComboList,cafCommon,i0,uiModal,rxjs,http,uiNotify) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@farris/ui-dialog'), require('@angular/common'), require('rxjs/observable/of'), require('rxjs/operators'), require('angular2-uuid'), require('@angular/platform-browser'), require('@farris/ui-messager'), require('@farris/ui-loading'), require('@farris/ui-progress'), require('@angular/forms'), require('@farris/ui-combo-list'), require('@farris/ui-forms'), require('@ecp-caf/caf-common'), require('@angular/core'), require('@farris/ui-modal'), require('rxjs'), require('@angular/common/http'), require('@farris/ui-notify')) :
3
+ typeof define === 'function' && define.amd ? define('@gsp-svc/formdoc-upload', ['exports', '@farris/ui-dialog', '@angular/common', 'rxjs/observable/of', 'rxjs/operators', 'angular2-uuid', '@angular/platform-browser', '@farris/ui-messager', '@farris/ui-loading', '@farris/ui-progress', '@angular/forms', '@farris/ui-combo-list', '@farris/ui-forms', '@ecp-caf/caf-common', '@angular/core', '@farris/ui-modal', 'rxjs', '@angular/common/http', '@farris/ui-notify'], factory) :
4
+ (factory((global['gsp-svc'] = global['gsp-svc'] || {}, global['gsp-svc']['formdoc-upload'] = {}),global.uiDialog,global.ng.common,global.rxjs['observable/of'],global.rxjs.operators,global.angular2Uuid,global.ng.platformBrowser,global.uiMessager,global.uiLoading,global.uiProgress,global.ng.forms,global.uiComboList,global.uiForms,global.cafCommon,global.ng.core,global.uiModal,global.rxjs,global.ng.common.http,global.uiNotify));
5
+ }(this, (function (exports,uiDialog,common,of,operators,angular2Uuid,platformBrowser,uiMessager,uiLoading,uiProgress,forms,uiComboList,uiForms,cafCommon,i0,uiModal,rxjs,http,uiNotify) { 'use strict';
6
6
 
7
7
  /**
8
8
  * @fileoverview added by tsickle
@@ -92,16 +92,6 @@
92
92
  DocType[DocType.Image] = 'Image';
93
93
  DocType[DocType.Other] = 'Other';
94
94
 
95
- /**
96
- * @fileoverview added by tsickle
97
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
98
- */
99
- var GspFormDocInfo = /** @class */ (function () {
100
- function GspFormDocInfo() {
101
- }
102
- return GspFormDocInfo;
103
- }());
104
-
105
95
  /**
106
96
  * @fileoverview added by tsickle
107
97
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -480,34 +470,13 @@
480
470
  * @param {?} rootId
481
471
  * @return {?}
482
472
  */
483
- UploadService.prototype.getRootSetting = /**
473
+ UploadService.prototype.getUploadInfo = /**
484
474
  * @param {?} rootId
485
475
  * @return {?}
486
476
  */
487
477
  function (rootId) {
488
478
  /** @type {?} */
489
- var url = "/api/runtime/dfs/v1.0/rootsetting/" + rootId;
490
- return this.http.get(url).pipe(operators.tap(( /**
491
- * @param {?} res
492
- * @return {?}
493
- */function (res) { })), operators.catchError(( /**
494
- * @param {?} error
495
- * @return {?}
496
- */function (error) {
497
- return of.of(error);
498
- })));
499
- };
500
- /**
501
- * @param {?} id
502
- * @return {?}
503
- */
504
- UploadService.prototype.getValidation = /**
505
- * @param {?} id
506
- * @return {?}
507
- */
508
- function (id) {
509
- /** @type {?} */
510
- var url = "/api/runtime/dfs/v1.0/validation/" + id;
479
+ var url = "/api/runtime/dfs/v1.0/rootsetting/info?id=" + rootId;
511
480
  return this.http.get(url).pipe(operators.tap(( /**
512
481
  * @param {?} res
513
482
  * @return {?}
@@ -541,16 +510,6 @@
541
510
  return UploadFileInfo;
542
511
  }());
543
512
 
544
- /**
545
- * @fileoverview added by tsickle
546
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
547
- */
548
- var GspFormUploadEntity = /** @class */ (function () {
549
- function GspFormUploadEntity() {
550
- }
551
- return GspFormUploadEntity;
552
- }());
553
-
554
513
  /**
555
514
  * @fileoverview added by tsickle
556
515
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -605,7 +564,8 @@
605
564
  'operation': '操作',
606
565
  'size': '大小',
607
566
  'close': '关闭',
608
- 'loading': '拼命加载中'
567
+ 'loading': '拼命加载中',
568
+ 'mismatchChunkSize': '文档分片上传部分丢失,请重新上传,如果多次上传失败,请联系管理员。'
609
569
  },
610
570
  'en-US': {
611
571
  'uploadFile': 'Upload File',
@@ -633,7 +593,8 @@
633
593
  'operation': 'Operation',
634
594
  'size': 'Size',
635
595
  'close': 'Close',
636
- 'loading': 'Loading'
596
+ 'loading': 'Loading',
597
+ 'mismatchChunkSize': 'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.'
637
598
  },
638
599
  'en': {
639
600
  'uploadFile': 'Upload File',
@@ -661,7 +622,8 @@
661
622
  'operation': 'Operation',
662
623
  'size': 'Size',
663
624
  'close': 'Close',
664
- 'loading': 'Loading'
625
+ 'loading': 'Loading',
626
+ 'mismatchChunkSize': 'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.'
665
627
  },
666
628
  'zh-CHT': {
667
629
  'uploadFile': '上傳文件',
@@ -689,7 +651,8 @@
689
651
  'operation': '操作',
690
652
  'size': '大小',
691
653
  'close': '關閉',
692
- 'loading': '拼命加載中'
654
+ 'loading': '拼命加載中',
655
+ 'mismatchChunkSize': '文檔分片上傳部分遺失,請重新上傳,如果多次上傳失敗,請聯系管理員。'
693
656
  },
694
657
  };
695
658
 
@@ -726,6 +689,46 @@
726
689
  return LocalLangPipe;
727
690
  }());
728
691
 
692
+ /**
693
+ * @fileoverview added by tsickle
694
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
695
+ */
696
+ var InitMultiUploadRequest = /** @class */ (function () {
697
+ function InitMultiUploadRequest() {
698
+ }
699
+ return InitMultiUploadRequest;
700
+ }());
701
+
702
+ /**
703
+ * @fileoverview added by tsickle
704
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
705
+ */
706
+ var CompleteMultiUploadRequest = /** @class */ (function () {
707
+ function CompleteMultiUploadRequest() {
708
+ }
709
+ return CompleteMultiUploadRequest;
710
+ }());
711
+
712
+ /**
713
+ * @fileoverview added by tsickle
714
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
715
+ */
716
+ var GspFormStreamEntity = /** @class */ (function () {
717
+ function GspFormStreamEntity() {
718
+ }
719
+ return GspFormStreamEntity;
720
+ }());
721
+
722
+ /**
723
+ * @fileoverview added by tsickle
724
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
725
+ */
726
+ var MultiUploadRequest = /** @class */ (function () {
727
+ function MultiUploadRequest() {
728
+ }
729
+ return MultiUploadRequest;
730
+ }());
731
+
729
732
  /**
730
733
  * @fileoverview added by tsickle
731
734
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -745,7 +748,7 @@
745
748
  this.beyondFileList = [];
746
749
  this.showType = 0;
747
750
  this.mouseOn = false;
748
- this.bufferSize = 10 * 1024 * 1024;
751
+ this.bufferSize = 5 * 1024 * 1024;
749
752
  this.selectedFileCount = 0;
750
753
  this.uploadIconAddress = '/platform/runtime/dfs/images/upload.svg';
751
754
  this.uploadLittleIconAddress = '/platform/runtime/dfs/images/uploadIcon.svg';
@@ -753,8 +756,6 @@
753
756
  this.fileAllSelected = false;
754
757
  this.uploadProcess = { width: '0%' };
755
758
  this.fileTotalChunk = {};
756
- //fileUploadState: { [key: string]: boolean } = {};
757
- //flag: number = 0;
758
759
  this.requestArray = new Array;
759
760
  this.requestBodyArray = new Array;
760
761
  this.uploadedChunk = {};
@@ -834,13 +835,14 @@
834
835
  _this.haveExtensionProperty = true;
835
836
  }
836
837
  }));
837
- this.uploadService.getRootSetting(this.rootId).subscribe(( /**
838
+ this.uploadService.getUploadInfo(this.rootId).subscribe(( /**
838
839
  * @param {?} res
839
840
  * @return {?}
840
841
  */function (res) {
841
842
  if (res != null && res.error == null) {
842
843
  _this.sameNameAllowed = res.sameNameAllowed;
843
- _this.validationId = res.validationId;
844
+ _this.maxFileSize = parseInt(JSON.parse(res.validateConfiguration).maxFileSize);
845
+ _this.allowedMultiUpload = res.allowedMultiUpload;
844
846
  if (!_this.sameNameAllowed) {
845
847
  _this.uploadService.getUploadedFileInfoList(_this.formId, _this.rootId).subscribe(( /**
846
848
  * @param {?} res
@@ -852,17 +854,10 @@
852
854
  }
853
855
  }));
854
856
  }
855
- _this.uploadService.getValidation(_this.validationId).subscribe(( /**
856
- * @param {?} res
857
- * @return {?}
858
- */function (res) {
859
- _this.maxFileSize = parseInt(JSON.parse(res.configuration).maxFileSize);
860
- }));
861
857
  }
862
858
  }));
863
- if (this.oldIdList != null && this.oldIdList.length > 0) {
864
- this.uploadService.cancel(this.oldIdList, this.rootId).subscribe();
865
- }
859
+ if (this.oldIdList != null && this.oldIdList.length > 0) ;
860
+ this.radioButtonGroupValue = 'showByGroup';
866
861
  };
867
862
  /**
868
863
  * @return {?}
@@ -886,12 +881,7 @@
886
881
  * @return {?}
887
882
  */
888
883
  function ($event) {
889
- // const loading = this.loadService.show({
890
- // message: this.localepipe.transform('uploading')
891
- // });
892
884
  var _this = this;
893
- // this.totalLoad.close();
894
- // this.totalLoad = null;
895
885
  this.hasSelectedFile = true;
896
886
  this.selectedFiles = document.querySelector('#file');
897
887
  if (this.fileCount > 0) {
@@ -923,11 +913,6 @@
923
913
  * @param {?} x
924
914
  * @return {?}
925
915
  */function (x) { return x.fileName == selectedFile.name; })) != null) {
926
- // this.uploadedNameList.push(selectedFile.name);
927
- // this.msgService.question('之前已上传过同名文件: ' + selectedFile.name + ',需要替换么?', () => {
928
- // uuid = this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name).metadataId;
929
- // this.uploadFile(uuid, selectedFile);
930
- // })
931
916
  /** @type {?} */
932
917
  var msg_1 = this_1.msgService.show('warning', this_1.localepipe.transform('haveSameName') + selectedFile.name, {
933
918
  initialState: {
@@ -1008,11 +993,6 @@
1008
993
  for (var i = 0; i < this.selectedFiles.files.length; i++) {
1009
994
  _loop_1(i);
1010
995
  }
1011
- // if (this.uploadedNameList.length > 0) {
1012
- // let name: string = this.listToString(this.uploadedNameList);
1013
- // this.msgService.warning('之前已上传过同名文件: ' + name + '请重新选择上传文件。');
1014
- // this.uploadedNameList = [];
1015
- // }
1016
996
  if (this.errFileList.length > 0) {
1017
997
  /** @type {?} */
1018
998
  var name_1 = this.listToString(this.errFileList);
@@ -1033,11 +1013,6 @@
1033
1013
  this.msgService.warning(name_3 + this.localepipe.transform('sizeMax') + this.maxFileSize + "KB" + this.localepipe.transform('rechooseFile'));
1034
1014
  this.beyondFileList = [];
1035
1015
  }
1036
- // if (this.errTypeList.length > 0) {
1037
- // let type: string = this.listToString(this.errTypeList);
1038
- // this.msgService.warning('不支持上传类型为 ' + type + '的文件请重新选择上传文件。');
1039
- // this.errTypeList = [];
1040
- // }
1041
1016
  this.files = this.files.slice();
1042
1017
  this.fileAllSelected = false;
1043
1018
  $event.target.value = '';
@@ -1146,60 +1121,141 @@
1146
1121
  /** @type {?} */
1147
1122
  var fileInfo = this.handleFileInfo(uuid, selectedFile, fileName);
1148
1123
  /** @type {?} */
1149
- var chunkTotal = Math.ceil(selectedFile.size / this.bufferSize);
1150
- /** @type {?} */
1151
- var chunkIndex = 0;
1152
- this.fileTotalChunk[uuid] = chunkTotal;
1153
- /** @type {?} */
1154
1124
  var uploadFileInfo = new UploadFileInfo();
1155
1125
  uploadFileInfo.metadataId = uuid;
1156
1126
  uploadFileInfo.fileName = fileInfo.name;
1157
- uploadFileInfo.fileSize = fileInfo.size;
1127
+ uploadFileInfo.fileSize = fileInfo.fileSize;
1158
1128
  uploadFileInfo.state = state;
1159
1129
  uploadFileInfo.securityInfo = this.securityInfoList[0];
1160
- while (chunkIndex < chunkTotal) {
1161
- /** @type {?} */
1162
- var uploadInfo = new GspFormUploadEntity;
1163
- uploadInfo.formId = this.formId;
1164
- uploadInfo.mode = OperatingModes.Temp;
1165
- uploadInfo.rootId = this.rootId;
1166
- /** @type {?} */
1167
- var docInfo = new GspFormDocInfo;
1168
- docInfo.fileName = fileName;
1169
- docInfo.metadataId = uuid;
1170
- docInfo.total = chunkTotal;
1171
- this.uploadedChunk[docInfo.metadataId] = 0;
1130
+ //判断是否支持分片上传
1131
+ if (this.allowedMultiUpload) {
1132
+ //支持分片上传
1172
1133
  /** @type {?} */
1173
- var nextSize = Math.min((chunkIndex + 1) * this.bufferSize, selectedFile.size);
1174
- /** @type {?} */
1175
- var fileData = selectedFile.slice(chunkIndex * this.bufferSize, nextSize);
1176
- // let reader = new FileReader();
1177
- // reader.readAsBinaryString(fileData);
1134
+ var initRequest = new InitMultiUploadRequest;
1135
+ initRequest.path = this.formId;
1136
+ initRequest.metadataId = uuid;
1137
+ initRequest.rootId = this.rootId;
1138
+ initRequest.size = fileInfo.fileSize;
1139
+ initRequest.fileName = fileName;
1140
+ //初始化分片
1141
+ this.initMultiUpload(initRequest).subscribe(( /**
1142
+ * @param {?} res
1143
+ * @return {?}
1144
+ */function (res) {
1145
+ if (res.error != null) {
1146
+ _this.files[_this.files.indexOf(fileInfo)].uploadResult = false;
1147
+ _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1148
+ _this.files[_this.files.indexOf(fileInfo)].errorMessage = res.error.Message;
1149
+ }
1150
+ else {
1151
+ /** @type {?} */
1152
+ var uploadId_1 = res.uploadId;
1153
+ /** @type {?} */
1154
+ var chunkTotal = Math.ceil(selectedFile.size / _this.bufferSize);
1155
+ /** @type {?} */
1156
+ var chunkIndex = 0;
1157
+ /** @type {?} */
1158
+ var multiResultList_1 = [];
1159
+ _this.fileTotalChunk[uuid] = chunkTotal;
1160
+ _this.uploadedChunk[uuid] = 0;
1161
+ while (chunkIndex < chunkTotal) {
1162
+ /** @type {?} */
1163
+ var nextSize = Math.min((chunkIndex + 1) * _this.bufferSize, selectedFile.size);
1164
+ /** @type {?} */
1165
+ var fileData = selectedFile.slice(chunkIndex * _this.bufferSize, nextSize);
1166
+ /** @type {?} */
1167
+ var multiRequest = new MultiUploadRequest;
1168
+ multiRequest.metadataId = uuid;
1169
+ multiRequest.rootId = _this.rootId;
1170
+ multiRequest.uploadId = uploadId_1;
1171
+ multiRequest.index = chunkIndex;
1172
+ multiRequest.total = chunkTotal;
1173
+ multiRequest.size = fileData.size;
1174
+ /** @type {?} */
1175
+ var formData = new FormData();
1176
+ formData.append('multiRequest', JSON.stringify(multiRequest));
1177
+ formData.append('file', fileData);
1178
+ _this.multiUpload(formData).subscribe(( /**
1179
+ * @param {?} res
1180
+ * @return {?}
1181
+ */function (res) {
1182
+ if (res.error != null) {
1183
+ _this.files[_this.files.indexOf(fileInfo)].uploadResult = false;
1184
+ _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1185
+ _this.files[_this.files.indexOf(fileInfo)].errorMessage = res.error.Message;
1186
+ }
1187
+ else {
1188
+ multiResultList_1.push(res.result);
1189
+ _this.uploadedChunk[uuid]++;
1190
+ _this.files[_this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((_this.uploadedChunk[uuid] / _this.fileTotalChunk[uuid] * 100).toFixed(0));
1191
+ if (_this.uploadedChunk[uuid] == _this.fileTotalChunk[uuid]) {
1192
+ if (multiResultList_1.length == _this.fileTotalChunk[uuid]) {
1193
+ _this.files[_this.files.indexOf(fileInfo)].uploadResult = true;
1194
+ _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1195
+ _this.uploadFileInfoList = _this.uploadFileInfoList.concat(uploadFileInfo);
1196
+ _this.uploadedFileInfoList = _this.uploadedFileInfoList.concat(uploadFileInfo);
1197
+ _this.uploadedFileTotal++;
1198
+ /** @type {?} */
1199
+ var completeMultiUploadRequest = new CompleteMultiUploadRequest;
1200
+ completeMultiUploadRequest.metadataId = uuid;
1201
+ completeMultiUploadRequest.partList = multiResultList_1;
1202
+ completeMultiUploadRequest.rootId = _this.rootId;
1203
+ completeMultiUploadRequest.uploadId = uploadId_1;
1204
+ completeMultiUploadRequest.size = fileInfo.fileSize;
1205
+ if (_this.haveExtensionProperty)
1206
+ completeMultiUploadRequest.exPropertyName = _this.defaultPropertyName;
1207
+ _this.completeMultiUpload(completeMultiUploadRequest).subscribe(( /**
1208
+ * @param {?} res
1209
+ * @return {?}
1210
+ */function (res) {
1211
+ }));
1212
+ //后台异步拼接文档
1213
+ }
1214
+ else {
1215
+ _this.files[_this.files.indexOf(fileInfo)].uploadResult = false;
1216
+ _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1217
+ _this.files[_this.files.indexOf(fileInfo)].errorMessage = _this.localepipe.transform('mismatchChunkSize');
1218
+ }
1219
+ }
1220
+ }
1221
+ }));
1222
+ chunkIndex = chunkIndex + 1;
1223
+ }
1224
+ }
1225
+ }));
1226
+ }
1227
+ else {
1178
1228
  /** @type {?} */
1179
- var innerIndex = chunkIndex;
1180
- // reader.onload = () => {
1181
- // docInfo.fileContent = btoa(reader.result.toString());
1182
- docInfo.size = selectedFile.size;
1183
- docInfo.index = innerIndex;
1184
- docInfo.fileContent = "";
1185
- //chunkIndex++;
1229
+ var entity = new GspFormStreamEntity;
1230
+ entity.formId = this.formId;
1231
+ entity.metadataId = uuid;
1232
+ entity.mode = OperatingModes.Temp;
1233
+ entity.rootId = this.rootId;
1234
+ entity.size = selectedFile.size;
1235
+ entity.fileName = fileName;
1186
1236
  if (this.haveExtensionProperty)
1187
- docInfo.exPropertyName = this.defaultPropertyName;
1188
- //docInfo.isLast = true;
1189
- uploadInfo.docInfo = docInfo;
1190
- // let info = uploadInfo;
1191
- // this.requestArray.push(this.uploadService.uploadFile(uploadInfo));
1192
- // this.requestBodyArray.push(info);
1193
- //封装请求formdata
1237
+ entity.exPropertyName = this.defaultPropertyName;
1194
1238
  /** @type {?} */
1195
1239
  var formData = new FormData();
1196
- formData.append('uploadInfo', JSON.stringify(uploadInfo));
1197
- formData.append('docInfo', JSON.stringify(docInfo));
1198
- formData.append('file', fileData);
1199
- this.sendUploadRequest(formData, fileInfo, docInfo, uploadFileInfo);
1200
- // }
1201
- //console.log(chunkIndex + 1);
1202
- chunkIndex = chunkIndex + 1;
1240
+ formData.append('uploadEntity', JSON.stringify(entity));
1241
+ formData.append('file', selectedFile);
1242
+ this.uploadSingleFile(formData).subscribe(( /**
1243
+ * @param {?} res
1244
+ * @return {?}
1245
+ */function (res) {
1246
+ if (res != null) {
1247
+ _this.files[_this.files.indexOf(fileInfo)].uploadResult = false;
1248
+ _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1249
+ _this.files[_this.files.indexOf(fileInfo)].errorMessage = res.error.Message;
1250
+ }
1251
+ else {
1252
+ _this.files[_this.files.indexOf(fileInfo)].uploadResult = true;
1253
+ _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1254
+ _this.uploadFileInfoList = _this.uploadFileInfoList.concat(uploadFileInfo);
1255
+ _this.uploadedFileInfoList = _this.uploadedFileInfoList.concat(uploadFileInfo);
1256
+ _this.uploadedFileTotal++;
1257
+ }
1258
+ }));
1203
1259
  }
1204
1260
  /** @type {?} */
1205
1261
  var index = -1;
@@ -1216,46 +1272,29 @@
1216
1272
  this.files.splice(index, 1);
1217
1273
  this.uploadFileInfoList.splice(index, 1);
1218
1274
  this.uploadedFileInfoList.splice(index, 1);
1219
- this.uploadedFileTotal--;
1275
+ //this.uploadedFileTotal--;
1220
1276
  }
1221
1277
  };
1222
1278
  /**
1223
- * @param {?} formData
1224
- * @param {?} fileInfo
1225
- * @param {?} docInfo
1226
- * @param {?} uploadFileInfo
1279
+ * @param {?} formdata
1227
1280
  * @return {?}
1228
1281
  */
1229
- FileUploadComponent.prototype.sendUploadRequest = /**
1230
- * @param {?} formData
1231
- * @param {?} fileInfo
1232
- * @param {?} docInfo
1233
- * @param {?} uploadFileInfo
1282
+ FileUploadComponent.prototype.uploadSingleFile = /**
1283
+ * @param {?} formdata
1234
1284
  * @return {?}
1235
1285
  */
1236
- function (formData, fileInfo, docInfo, uploadFileInfo) {
1237
- var _this = this;
1238
- this.uploadSliceFile(formData).subscribe(( /**
1286
+ function (formdata) {
1287
+ /** @type {?} */
1288
+ var url = "/api/runtime/dfs/v1.0/formdoc/single";
1289
+ return this.httpclient.post(url, formdata).pipe(operators.tap(( /**
1239
1290
  * @param {?} res
1240
1291
  * @return {?}
1241
- */function (res) {
1242
- if (res != null) {
1243
- _this.files[_this.files.indexOf(fileInfo)].uploadResult = false;
1244
- _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1245
- _this.files[_this.files.indexOf(fileInfo)].errorMessage = res.error.Message;
1246
- }
1247
- else {
1248
- _this.uploadedChunk[docInfo.metadataId]++;
1249
- _this.files[_this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((_this.uploadedChunk[docInfo.metadataId] / _this.fileTotalChunk[docInfo.metadataId] * 100).toFixed(0));
1250
- if (_this.uploadedChunk[docInfo.metadataId] == _this.fileTotalChunk[docInfo.metadataId]) {
1251
- _this.files[_this.files.indexOf(fileInfo)].uploadResult = true;
1252
- _this.files[_this.files.indexOf(fileInfo)].isUploading = false;
1253
- _this.uploadFileInfoList = _this.uploadFileInfoList.concat(uploadFileInfo);
1254
- _this.uploadedFileInfoList = _this.uploadedFileInfoList.concat(uploadFileInfo);
1255
- _this.uploadedFileTotal++;
1256
- }
1257
- }
1258
- }));
1292
+ */function (res) { })), operators.catchError(( /**
1293
+ * @param {?} error
1294
+ * @return {?}
1295
+ */function (error) {
1296
+ return rxjs.of(error);
1297
+ })));
1259
1298
  };
1260
1299
  /**
1261
1300
  * @param {?} formdata
@@ -1268,7 +1307,6 @@
1268
1307
  function (formdata) {
1269
1308
  /** @type {?} */
1270
1309
  var url = "/api/runtime/dfs/v1.0/formdoc/slice";
1271
- //url = "/api/runtime/dfs/v1.0/formdoc/list";
1272
1310
  return this.httpclient.post(url, formdata).pipe(operators.tap(( /**
1273
1311
  * @param {?} res
1274
1312
  * @return {?}
@@ -1279,6 +1317,69 @@
1279
1317
  return rxjs.of(error);
1280
1318
  })));
1281
1319
  };
1320
+ /**
1321
+ * @param {?} request
1322
+ * @return {?}
1323
+ */
1324
+ FileUploadComponent.prototype.initMultiUpload = /**
1325
+ * @param {?} request
1326
+ * @return {?}
1327
+ */
1328
+ function (request) {
1329
+ /** @type {?} */
1330
+ var url = "/api/runtime/dfs/v1.0/formdoc/multi/init";
1331
+ return this.httpclient.post(url, request).pipe(operators.tap(( /**
1332
+ * @param {?} res
1333
+ * @return {?}
1334
+ */function (res) { })), operators.catchError(( /**
1335
+ * @param {?} error
1336
+ * @return {?}
1337
+ */function (error) {
1338
+ return rxjs.of(error);
1339
+ })));
1340
+ };
1341
+ /**
1342
+ * @param {?} formdata
1343
+ * @return {?}
1344
+ */
1345
+ FileUploadComponent.prototype.multiUpload = /**
1346
+ * @param {?} formdata
1347
+ * @return {?}
1348
+ */
1349
+ function (formdata) {
1350
+ /** @type {?} */
1351
+ var url = "/api/runtime/dfs/v1.0/formdoc/multi/upload";
1352
+ return this.httpclient.post(url, formdata).pipe(operators.tap(( /**
1353
+ * @param {?} res
1354
+ * @return {?}
1355
+ */function (res) { })), operators.catchError(( /**
1356
+ * @param {?} error
1357
+ * @return {?}
1358
+ */function (error) {
1359
+ return rxjs.of(error);
1360
+ })));
1361
+ };
1362
+ /**
1363
+ * @param {?} request
1364
+ * @return {?}
1365
+ */
1366
+ FileUploadComponent.prototype.completeMultiUpload = /**
1367
+ * @param {?} request
1368
+ * @return {?}
1369
+ */
1370
+ function (request) {
1371
+ /** @type {?} */
1372
+ var url = "/api/runtime/dfs/v1.0/formdoc/multi/complete";
1373
+ return this.httpclient.post(url, request).pipe(operators.tap(( /**
1374
+ * @param {?} res
1375
+ * @return {?}
1376
+ */function (res) { })), operators.catchError(( /**
1377
+ * @param {?} error
1378
+ * @return {?}
1379
+ */function (error) {
1380
+ return rxjs.of(error);
1381
+ })));
1382
+ };
1282
1383
  /**
1283
1384
  * @return {?}
1284
1385
  */
@@ -1291,8 +1392,6 @@
1291
1392
  * @param {?} element
1292
1393
  * @return {?}
1293
1394
  */function (element) {
1294
- // let obj: any = document.getElementById(element.name);
1295
- // obj.checked = true;
1296
1395
  element.selectd = true;
1297
1396
  }));
1298
1397
  this.fileAllSelected = true;
@@ -1303,8 +1402,6 @@
1303
1402
  * @param {?} element
1304
1403
  * @return {?}
1305
1404
  */function (element) {
1306
- // let obj: any = document.getElementById(element.name);
1307
- // obj.checked = false;
1308
1405
  element.selectd = false;
1309
1406
  }));
1310
1407
  this.fileAllSelected = false;
@@ -1394,9 +1491,6 @@
1394
1491
  metadataList.push(element.id);
1395
1492
  _this.files.splice(_this.files.indexOf(element), 1);
1396
1493
  if (element.uploadResult) {
1397
- // let idList: string[] = [];
1398
- // idList.push(fileInfo.id);
1399
- // this.uploadService.cancel(idList, this.rootId).subscribe();
1400
1494
  _this.uploadFileInfoList.splice(_this.uploadFileInfoList.indexOf(_this.uploadFileInfoList.filter(( /**
1401
1495
  * @param {?} x
1402
1496
  * @return {?}
@@ -1508,20 +1602,27 @@
1508
1602
  }
1509
1603
  fileInfo.source = imgUrl;
1510
1604
  _this.files.push(fileInfo);
1605
+ //因为异步处理的差异,补偿一次删除
1606
+ /** @type {?} */
1607
+ var index = -1;
1608
+ _this.files.forEach(( /**
1609
+ * @param {?} x
1610
+ * @return {?}
1611
+ */function (x) {
1612
+ if (x.name == fileInfo.name) {
1613
+ if (index == -1)
1614
+ index = _this.files.indexOf(x);
1615
+ }
1616
+ }));
1617
+ if (index != -1 && index != _this.files.length - 1) {
1618
+ _this.files.splice(index, 1);
1619
+ _this.uploadFileInfoList.splice(index, 1);
1620
+ _this.uploadedFileInfoList.splice(index, 1);
1621
+ }
1511
1622
  });
1512
1623
  }
1513
1624
  }
1514
1625
  };
1515
- /**
1516
- * @param {?} selectdFile
1517
- * @return {?}
1518
- */
1519
- FileUploadComponent.prototype.getImageUrl = /**
1520
- * @param {?} selectdFile
1521
- * @return {?}
1522
- */
1523
- function (selectdFile) {
1524
- };
1525
1626
  /**
1526
1627
  * @param {?} strList
1527
1628
  * @return {?}
@@ -1611,9 +1712,6 @@
1611
1712
  * @param {?} x
1612
1713
  * @return {?}
1613
1714
  */function (x) { return x.isUploading || x.uploadResult; })).length) {
1614
- // this.notifyService.success(<NotifyOptions>{
1615
- // msg: '保存成功!', timeout: 3000
1616
- // });
1617
1715
  this.msgService.warning(this.localepipe.transform('wait'));
1618
1716
  return rxjs.of(false);
1619
1717
  }
@@ -1690,9 +1788,6 @@
1690
1788
  * @return {?}
1691
1789
  */function (x) { return x.metadataId == file.id; })), 1);
1692
1790
  }
1693
- // var obj:any = document.querySelector('#file');
1694
- // obj.files.remove();
1695
- //obj.value='';
1696
1791
  };
1697
1792
  /**
1698
1793
  * @param {?} size
@@ -1762,8 +1857,8 @@
1762
1857
  FileUploadComponent.decorators = [
1763
1858
  { type: i0.Component, args: [{
1764
1859
  selector: 'app-file-upload',
1765
- 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>",
1766
- 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}"]
1860
+ 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 <farris-radio-group class=\"button_group_upload\" [(model)]=\"radioButtonGroupValue\" [horizontal]=\"false\">\n <farris-radio-button [label]=\"'showByGroup'\" (click)=\"showByGroup()\">\n <span class=\"f-icon f-icon-sudoku-new\"> </span>\n </farris-radio-button>\n <farris-radio-button [label]=\"'showByList'\" (click)=\"showByList()\">\n <span class=\"f-icon f-icon-page-title-define\"> </span>\n </farris-radio-button>\n\n </farris-radio-group>\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; border: none;\"\n (click)=\"listDeleteFile(file)\">\n <span style=\"position: relative; right: 2px; \" class=\"f-icon f-icon-delete\"> </span>\n </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>",
1861
+ 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:90px}.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}"]
1767
1862
  }] }
1768
1863
  ];
1769
1864
  /** @nocollapse */
@@ -1807,6 +1902,19 @@
1807
1902
  function (metadataId, rootId) {
1808
1903
  return "/api/runtime/dfs/v1.0/doc/filecontent?metadataid=" + metadataId + "&rootid=" + rootId + "&token=" + this.getToken(this.mergeString(metadataId, rootId));
1809
1904
  };
1905
+ /**
1906
+ * @param {?} metadataId
1907
+ * @param {?} rootId
1908
+ * @return {?}
1909
+ */
1910
+ DownloadService.prototype.getStreamDownloadUrl = /**
1911
+ * @param {?} metadataId
1912
+ * @param {?} rootId
1913
+ * @return {?}
1914
+ */
1915
+ function (metadataId, rootId) {
1916
+ return "/api/runtime/dfs/v1.0/formdoc/stream?metadataid=" + metadataId + "&rootid=" + rootId + "&token=" + this.getToken(this.mergeString(metadataId, rootId));
1917
+ };
1810
1918
  /**
1811
1919
  * @param {?} metadataIdList
1812
1920
  * @param {?} rootId
@@ -1966,12 +2074,12 @@
1966
2074
  declarations: [FileUploadComponent, LocalLangPipe],
1967
2075
  imports: [
1968
2076
  common.CommonModule,
1969
- kendoAngularButtons.ButtonsModule,
1970
2077
  uiNotify.NotifyModule,
1971
2078
  uiMessager.MessagerModule.forRoot(),
1972
2079
  uiLoading.LoadingModule.forRoot(),
1973
2080
  uiProgress.ProgressModule,
1974
2081
  forms.FormsModule,
2082
+ uiForms.FarrisFormsModule,
1975
2083
  uiComboList.ComboListModule,
1976
2084
  http.HttpClientModule
1977
2085
  ],
@@ -2261,7 +2369,6 @@
2261
2369
  uiDialog.FarrisDialogModule,
2262
2370
  uiMessager.MessagerModule.forRoot(),
2263
2371
  UploadModule,
2264
- kendoAngularButtons.ButtonsModule,
2265
2372
  uiNotify.NotifyModule.forRoot(),
2266
2373
  http.HttpClientModule
2267
2374
  ],
@@ -2296,6 +2403,16 @@
2296
2403
  return GspFormUploadListEntity;
2297
2404
  }());
2298
2405
 
2406
+ /**
2407
+ * @fileoverview added by tsickle
2408
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2409
+ */
2410
+ var GspFormDocInfo = /** @class */ (function () {
2411
+ function GspFormDocInfo() {
2412
+ }
2413
+ return GspFormDocInfo;
2414
+ }());
2415
+
2299
2416
  /**
2300
2417
  * @fileoverview added by tsickle
2301
2418
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -2306,6 +2423,16 @@
2306
2423
  return GspDocMetaProperty;
2307
2424
  }());
2308
2425
 
2426
+ /**
2427
+ * @fileoverview added by tsickle
2428
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2429
+ */
2430
+ var GspFormUploadEntity = /** @class */ (function () {
2431
+ function GspFormUploadEntity() {
2432
+ }
2433
+ return GspFormUploadEntity;
2434
+ }());
2435
+
2309
2436
  /**
2310
2437
  * @fileoverview added by tsickle
2311
2438
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc