@gsp-svc/formdoc-upload 0.1.34 → 0.1.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/gsp-svc-formdoc-upload.umd.js +71 -47
- package/bundles/gsp-svc-formdoc-upload.umd.js.map +1 -1
- package/bundles/gsp-svc-formdoc-upload.umd.min.js +1 -1
- package/bundles/gsp-svc-formdoc-upload.umd.min.js.map +1 -1
- package/esm2015/lib/upload/entity/gspformdocinfo.js +3 -1
- package/esm2015/lib/upload/file-upload/file-upload.component.js +46 -47
- package/esm2015/lib/upload/upload.service.js +32 -3
- package/esm5/lib/upload/entity/gspformdocinfo.js +3 -1
- package/esm5/lib/upload/file-upload/file-upload.component.js +46 -47
- package/esm5/lib/upload/upload.service.js +35 -3
- package/fesm2015/gsp-svc-formdoc-upload.js +72 -50
- package/fesm2015/gsp-svc-formdoc-upload.js.map +1 -1
- package/fesm5/gsp-svc-formdoc-upload.js +75 -50
- package/fesm5/gsp-svc-formdoc-upload.js.map +1 -1
- package/gsp-svc-formdoc-upload.metadata.json +1 -1
- package/lib/upload/entity/gspformdocinfo.d.ts +1 -0
- package/lib/upload/upload.service.d.ts +4 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.service.ts","ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.component.ts","ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.module.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/doctype.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformdocinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/operatingmodes.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformremovelistentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformdocoperateentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/changeinstancerequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/upload.service.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/uploadfileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/extensionstoragefileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/filestate.ts","ng://@gsp-svc/formdoc-upload/lib/i18n/language.resource.ts","ng://@gsp-svc/formdoc-upload/lib/local.pipe.ts","ng://@gsp-svc/formdoc-upload/lib/upload/file-upload/file-upload.component.ts","ng://@gsp-svc/formdoc-upload/lib/upload/download.service.ts","ng://@gsp-svc/formdoc-upload/lib/upload/upload.module.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog/uploaddialog/uploaddialog.component.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog.service.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog/uploaddialog.module.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/uploadlimit.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadlistentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocmetaproperty.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/fileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocsecuritynaseinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/securityentity.ts"],"names":["FormdocUploadService","Injectable","args","providedIn","FormdocUploadComponent","prototype","ngOnInit","Component","selector","template","ɵ0","localStorage","getItem","FormdocUploadModule","NgModule","declarations","imports","exports","providers","LanguageService","provide","LOCALE_ID","useValue","Word","Excel","Powerpoint","Pdf","Txt","Image","Other","GspFormDocInfo","Formal","Temp","GspFormRemoveListEntity","GspFormDocOperateEntity","ChangeInstanceRequest","UploadService","http","this","uploadList","docListInfo","rootId","post","pipe","tap","res","catchError","error","of","commit","metadataIdList","entity","cancel","put","removeList","idList","idListInfo","mode","OperatingModes","delete","getFile","metadataId","url","get","uploadFile","docInfo","getStorageExtensionInfo","getSecurityInfoList","baseInfo","securityId","securityLevel","changeStorageInstance","storageInfoList","request","fileInfoList","saveSecurityInfo","uploadFileInfoList","reqList","forEach","element","id","exProperty","JSON","stringify","securityInfo","push","getUploadedFileInfoList","formId","getRootSetting","getValidation","HttpService","UploadFileInfo","GspFormUploadEntity","ExStorageFileInfo","New","Update","LANG_RESOURCES","zh-CHS","uploading","selectedCount","limitCount","rechooseFile","save","haveSameName","rename","replace","sizeZero","sizeMax","uploadFailure","uploadSucceed","wait","saveTo","selectAll","selectNull","detail","fileName","state","operation","size","close","loading","en-US","en","zh-CHT","LocalLangPipe","localeId","defaultLang","langCode","lang","transform","name","Pipe","Inject","FileUploadComponent","msgService","uploadService","loadService","injector","files","errFileList","errTypeList","nullFileList","beyondFileList","showType","mouseOn","bufferSize","selectedFileCount","uploadIconAddress","uploadLittleIconAddress","hasSelectedFile","fileAllSelected","uploadProcess","width","fileTotalChunk","requestArray","Array","requestBodyArray","uploadedChunk","uploadedProcess","defaultPropertyName","propertiesNames","securityInfoList","queueListStyle","dropListValue","uploadedFileTotal","haveExtensionProperty","haveSecurityInfo","uploadedFileInfoList","oldUploadedFileList","sameNameAllowed","maxFileSize","checkboxPos","top","fileType","fileCount","oldIdList","totalLoad","exStorageFileList","localeid","localepipe","_this","navigator","userAgent","indexOf","subscribe","i","toString","storageExtension","i_1","extensionPropertyNameList","validationId","parse","parseInt","configuration","length","showLoading","fileSelected","$event","selectedFiles","document","querySelector","selectedNum","warning","selectedFile","this_1","uuid","UUID","find","x","msg_1","show","initialState","buttons","text","cls","handle","newName","oldName","flag","substring","lastIndexOf","FileState","splice","filter","name_1","listToString","name_2","name_3","slice","target","value","showErrorMessage","file","errorMessage","fileInfo","type","source","getFileSize","fileSize","picListDisplayName","getPicListDisplayName","queueListDisplayName","getQueueDisplayName","hasUploaded","selectd","isUploading","uploadResult","extensionDropListId","extensionName","securityDropListId","chunkTotal","Math","ceil","chunkIndex","uploadFileInfo","uploadInfo","this_2","total","nextSize","min","fileData","reader","FileReader","readAsBinaryString","innerIndex","onload","fileContent","btoa","result","index","exPropertyName","info","Message","Number","toFixed","concat","includes","addDocInfo","DocType","selectAllFile","checkoutSelectFile","listDeleteFile","listMultipleDeleteFile","getElementById","checked","metadataList","allBox","selectdFile","docType","reader_1","readAsDataURL","_event","imgUrl","sanitizer","DomSanitizer","bypassSecurityTrustResourceUrl","strList","securityChange","data","typeChange","exStorageFileInfo","findIndex","upload","loading_1","message","map","getUploadFileInfoList","showByGroup","showByList","mouseOver","mouseOut","MessagerService","LoadingService","Injector","Input","ViewChild","DownloadService","getDownloadUrl","getToken","mergeString","getMultipleDownloadUrl","list","getMultipleDownloadUrlWithName","zipName","endsWith","encodeURIComponent","getHistoryDownloadUrl","version","str","str1","array","floor","str2","str3","randomArray","random","timeStamp","round","Date","getTime","switchStr","ɵ0$1","UploadModule","CommonModule","ButtonsModule","NotifyModule","MessagerModule","forRoot","LoadingModule","ProgressModule","FormsModule","ComboListModule","entryComponents","ɵa","UploadDialogComponent","modalService","showDialog","dlg","title","height","iconCls","fileUpload","showButtons","content","BsModalService","UploadDialogService","componentFactoryResolver","localpipe","Promise","resolve","viewerRef","resolveComponentFactory","create","instance","showMaxButton","beforeClose","uploadFileWithLimit","limit","uploadRef","ComponentFactoryResolver","UploadDialogMoudle","FarrisDialogModule","HttpClientModule","UploadLimit","GspFormUploadListEntity","GspDocMetaProperty","FileInfo","GspDocSecurityBaseInfo","SecurityEntity"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormdocUploadService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-formdoc-upload',\n template: `\n <p>\n formdoc-upload works!\n </p>\n `,\n styles: []\n})\nexport class FormdocUploadComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { LOCALE_ID, NgModule } from '@angular/core';\nimport { LanguageService } from '@ecp-caf/caf-common';\nimport { FormdocUploadComponent } from './formdoc-upload.component';\nimport { LocalLangPipe } from './local.pipe';\n\n\n@NgModule({\n declarations: [FormdocUploadComponent],\n imports: [\n ],\n \n exports: [FormdocUploadComponent],\n providers:[ LanguageService,\n { provide: LOCALE_ID, useValue: localStorage.getItem('languageCode') || 'zh-CHS' },]\n})\nexport class FormdocUploadModule { }\n","export enum DocType{\r\n Word,\r\n Excel,\r\n Powerpoint,\r\n Pdf,\r\n Txt,\r\n Image,\r\n Other\r\n}","import { GspDocMetaProperty } from './gspdocmetaproperty';\r\n\r\nexport class GspFormDocInfo {\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileContent: string;\r\n public index: number;\r\n public total: number;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export enum OperatingModes{\r\n Formal,\r\n Temp\r\n}","import { OperatingModes } from \"./operatingmodes\";\r\n\r\nexport class GspFormRemoveListEntity {\r\n public metadataIdList: string[];\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n}","export class GspFormDocOperateEntity {\r\n public metadataIdList: string[];\r\n public rootId: string;\r\n}","import { ExStorageFileInfo } from './extensionstoragefileinfo';\r\n\r\nexport class ChangeInstanceRequest {\r\n public fileInfoList: ExStorageFileInfo[];\r\n public rootId: string;\r\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { GspFormUploadListEntity } from './entity/gspformuploadlistentity';\nimport { HttpService } from '@ecp-caf/caf-common';\nimport { catchError, tap } from 'rxjs/operators';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { GspFormRemoveListEntity } from './entity/gspformremovelistentity';\nimport { of } from 'rxjs/observable/of';\nimport { GspFormDocOperateEntity } from './entity/gspformdocoperateentity';\n\nimport { GspFormUploadEntity } from './entity/gspformuploadentity';\nimport { ExStorageFileInfo } from './entity/extensionstoragefileinfo';\nimport { ChangeInstanceRequest } from './entity/changeinstancerequest';\nimport { OperatingModes } from './entity/operatingmodes';\nimport { GspDocSecurityBaseInfo } from './entity/gspdocsecuritynaseinfo';\nimport { UploadFileInfo } from './entity/uploadfileinfo';\nimport { ExPropertyRequest } from './entity/expropertyrequest';\n\n\n\n@Injectable()\nexport class UploadService {\n\n constructor(private http: HttpService) { }\n\n uploadList(docListInfo: GspFormUploadListEntity, rootId: string): Observable<any> {\n let url;\n docListInfo.rootId = rootId;\n\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.post(url, docListInfo).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n\n commit(metadataIdList: string[], rootId: string): Observable<any> {\n let url;\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\n entity.metadataIdList = metadataIdList;\n entity.rootId = rootId;\n url = \"/api/runtime/dfs/v1.0/formdoc/commit\";\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/commit\";\n\n return this.http.post(url, entity).pipe();\n }\n\n cancel(metadataIdList: string[], rootId: string): Observable<any> {\n let url;\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\n entity.metadataIdList = metadataIdList;\n entity.rootId = rootId;\n url = \"/api/runtime/dfs/v1.0/formdoc/cancel\";\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/cancel\";\n //localStorage.setItem(\"SessionId\",\"huoliang\");\n return this.http.put(url, entity).pipe();\n }\n\n removeList(idList: string[], rootId: string) {\n let url;\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/list\";\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n var idListInfo = new GspFormRemoveListEntity;\n idListInfo.metadataIdList = idList;\n idListInfo.mode = OperatingModes.Temp;\n idListInfo.rootId = rootId;\n return this.http.delete(url, idListInfo).pipe();\n }\n\n getFile(metadataId: string, rootId: string) {\n\n let url;\n if (rootId == \"\")\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId;\n else\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId + \"/\" + rootId;\n return this.http.get(url).pipe(tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n\n }\n\n uploadFile(docInfo: GspFormUploadEntity): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.post(url, docInfo).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n\n getStorageExtensionInfo(): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/extension\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n getSecurityInfoList(baseInfo: GspDocSecurityBaseInfo): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/security\";\n url = url + \"?id=\" + baseInfo.securityId + \"&level=\" + baseInfo.securityLevel;\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n changeStorageInstance(storageInfoList: ExStorageFileInfo[], rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/formdoc/changeinstance\";\n let request: ChangeInstanceRequest = new ChangeInstanceRequest;\n request.fileInfoList = storageInfoList;\n request.rootId = rootId;\n return this.http.post(url, request).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n saveSecurityInfo(uploadFileInfoList: UploadFileInfo[], rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/doc/exproperty\";\n let reqList: ExPropertyRequest[] = [];\n uploadFileInfoList.forEach(element => {\n let request: ExPropertyRequest = { id: element.metadataId, rootId: rootId, exProperty: JSON.stringify(element.securityInfo) };\n reqList.push(request);\n })\n return this.http.post(url, reqList).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }))\n }\n\n\n getUploadedFileInfoList(formId: string, rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/formdoc/uploadedfile/infolist\" + \"?formid=\" + formId + \"&rootid=\" + rootId;\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n getRootSetting(rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/rootsetting/\" + rootId;\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n getValidation(id: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/validation/\" + id;\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n}\n","import { FileState } from \"./filestate\";\r\nimport { SecurityEntity } from \"./securityentity\";\r\n\r\nexport class UploadFileInfo {\r\n\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileSize: string;\r\n public state: FileState;\r\n public securityInfo: SecurityEntity;\r\n\r\n}","import { OperatingModes } from './operatingmodes';\r\nimport { GspFormDocInfo } from './gspformdocinfo';\r\n\r\nexport class GspFormUploadEntity{\r\n public formId: string;\r\n public docInfo: GspFormDocInfo;\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n\r\n}","export class ExStorageFileInfo {\r\n public metadataId: string;\r\n public exPropertyName: string;\r\n}","export enum FileState{\r\n New,\r\n Update\r\n}","export const LANG_RESOURCES = {\r\n 'zh-CHS': {\r\n 'uploadFile': 'ä¸ä¼ æä»¶',\r\n 'uploading':'æ£å¨ä¸ä¼ æä»¶â¦â¦',\r\n 'selectedCount':'已鿩æä»¶æ°éï¼',\r\n 'limitCount':'è¶
åºç³»ç»éå¶æ°éï¼',\r\n 'rechooseFile':',éæ°éæ©ä¸ä¼ æä»¶ã',\r\n 'save':'ä¿å',\r\n 'cancel':'åæ¶',\r\n 'haveSameName':'å·²ä¸ä¼ è¿ååæä»¶: ',\r\n 'rename':'éå½å',\r\n\t\t'replace':'æ¿æ¢',\r\n 'sizeZero':'æä»¶å¤§å°ä¸º0',\r\n 'sizeMax':'æä»¶å¤§å°è¶
åºéå¶',\r\n 'uploadFailure':'ä¸ä¼ 失败',\r\n 'uploadSucceed':'ä¸ä¼ æå',\r\n 'wait':'çä¸ä¸ï¼ææ¡£æ£å¨ä¸ä¼ ã',\r\n 'saveTo':'æ£å¨å°æä»¶ä¿åå°',\r\n 'delete':'å é¤',\r\n 'selectAll':'å
¨é',\r\n 'selectNull':'å
¨ä¸é',\r\n 'detail':'详æ
',\r\n 'fileName':'æä»¶å',\r\n 'state':'ç¶æ',\r\n 'operation':'æä½',\r\n 'size':'大å°',\r\n 'close':'å
³é',\r\n 'loading':'æ¼å½å è½½ä¸'\r\n },\r\n 'en-US': {\r\n 'uploadFile': 'Upload File',\r\n 'uploading':'File Uploadingâ¦â¦',\r\n 'selectedCount':'Selected files countï¼',\r\n 'limitCount':'System limit countï¼',\r\n 'rechooseFile':',Reselect upload file.',\r\n 'save':'Save',\r\n 'cancel':'Cancel',\r\n 'haveSameName':'A file with the same name has been uploaded: ',\r\n 'rename':'Rename',\r\n\t\t'replace':'Replace',\r\n 'sizeZero':'File size is 0',\r\n 'sizeMax':'File size beyond limit',\r\n 'uploadFailure':'Upload failed',\r\n 'uploadSucceed':'Upload successfully',\r\n 'wait':'Wait a minute, the file is uploading.',\r\n 'saveTo':'Saving file to',\r\n 'delete':'Delete',\r\n 'selectAll':'Select all',\r\n 'selectNull':'Not at all',\r\n 'detail':'Details',\r\n 'fileName':'Filename',\r\n 'state':'State',\r\n 'operation':'Operation',\r\n 'size':'Size',\r\n 'close':'Close',\r\n 'loading':'Loading'\r\n },\r\n 'en': {\r\n 'uploadFile': 'Upload File',\r\n 'uploading':'File Uploadingâ¦â¦',\r\n 'selectedCount':'Selected files countï¼',\r\n 'limitCount':'System limit countï¼',\r\n 'rechooseFile':',Reselect upload file.',\r\n 'save':'Save',\r\n 'cancel':'Cancel',\r\n 'haveSameName':'A file with the same name has been uploaded: ',\r\n 'rename':'Rename',\r\n\t\t'replace':'Replace',\r\n 'sizeZero':'File size is 0',\r\n 'sizeMax':'File size beyond limit',\r\n 'uploadFailure':'Upload failed',\r\n 'uploadSucceed':'Upload successfully',\r\n 'wait':'Wait a minute, the file is uploading.',\r\n 'saveTo':'Saving file to',\r\n 'delete':'Delete',\r\n 'selectAll':'Select all',\r\n 'selectNull':'Not at all',\r\n 'detail':'Details',\r\n 'fileName':'Filename',\r\n 'state':'State',\r\n 'operation':'Operation',\r\n 'size':'Size',\r\n 'close':'Close',\r\n 'loading':'Loading'\r\n\r\n },\r\n 'zh-CHT': {\r\n 'uploadFile': 'ä¸å³æä»¶',\r\n 'uploading':'æ£å¨ä¸å³æä»¶â¦â¦',\r\n 'selectedCount':'已鏿æä»¶æ¸éï¼',\r\n 'limitCount':'è¶
åºç³»çµ±éå¶æ¸éï¼',\r\n 'rechooseFile':',鿰鏿ä¸å³æä»¶ã',\r\n 'save':'ä¿å',\r\n 'cancel':'åæ¶',\r\n 'haveSameName':'å·²ä¸å³éååæä»¶: ',\r\n 'rename':'éå½å',\r\n\t\t'replace':'æ¿æ',\r\n 'sizeZero':'æä»¶å¤§å°çº0',\r\n 'sizeMax':'æä»¶å¤§å°è¶
åºéå¶',\r\n 'uploadFailure':'ä¸å³å¤±æ',\r\n 'uploadSucceed':'ä¸å³æå',\r\n 'wait':'çä¸ä¸ï¼æä»¶æ£å¨ä¸å³ã',\r\n 'saveTo':'æ£å¨å°æä»¶ä¿åå°',\r\n 'delete':'å é¤',\r\n 'selectAll':'å
¨é¸',\r\n 'selectNull':'å
¨ä¸é¸',\r\n 'detail':'詳æ
',\r\n 'fileName':'æä»¶å',\r\n 'state':'çæ
',\r\n 'operation':'æä½',\r\n 'size':'大å°',\r\n 'close':'éé',\r\n 'loading':'æ¼å½å è¼ä¸'\r\n },\r\n};","import { Pipe, PipeTransform, Inject, LOCALE_ID } from '@angular/core';\r\nimport { LANG_RESOURCES } from './i18n/language.resource';\r\n\r\n@Pipe({ name: 'locale' })\r\nexport class LocalLangPipe implements PipeTransform {\r\n private readonly defaultLang: string = \"zh-CHS\";\r\n private langCode: string;\r\n private lang: {};\r\n constructor(\r\n @Inject(LOCALE_ID) localeId: string\r\n ) {\r\n this.langCode = localStorage.getItem(\"languageCode\") || localeId || this.defaultLang;\r\n this.lang = LANG_RESOURCES[this.langCode] || LANG_RESOURCES[this.defaultLang];\r\n }\r\n transform(name: string): any {\r\n return this.lang[name] || name;\r\n }\r\n}\r\n\r\n","import { Component, OnInit, Input, ViewChild, TemplateRef, Optional, Injector, LOCALE_ID } from '@angular/core';\nimport { FileInfo } from '../entity/fileinfo';\nimport { DocType } from '../entity/doctype';\nimport { GspFormDocInfo } from '../entity/gspformdocinfo';\nimport { OperatingModes } from '../entity/operatingmodes';\nimport { UploadService } from '../upload.service';\nimport { UploadFileInfo } from '../entity/uploadfileinfo';\nimport { MessagerService } from '@farris/ui-messager';\nimport { map } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { GspFormUploadEntity } from '../entity/gspformuploadentity';\nimport { UUID } from 'angular2-uuid';\nimport { StorageExtension } from '../entity/storageextension';\nimport { ExStorageFileInfo } from '../entity/extensionstoragefileinfo';\nimport { DropListEntity } from '../entity/droplistentity';\nimport { LoadingService } from '@farris/ui-loading';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { fillProperties } from '@angular/core/src/util/property';\nimport { FileState } from '../entity/filestate';\nimport { LocalLangPipe } from '../../local.pipe';\nimport { GspDocSecurityBaseInfo } from '../entity/gspdocsecuritynaseinfo';\nimport { state } from '@angular/animations';\nimport { SecurityEntity } from '../entity/securityentity';\n\n\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.css'],\n})\nexport class FileUploadComponent implements OnInit {\n\n files: FileInfo[] = [];\n metadataIdList: string[] = [];\n uploadFileInfoList: UploadFileInfo[] = [];\n errFileList: string[] = [];\n errTypeList: string[] = [];\n nullFileList: string[] = [];\n beyondFileList: string[] = [];\n showType: number = 0;\n mouseOn: boolean = false;\n bufferSize = 1024 * 1024;\n selectedFiles: any;\n\n selectedFileCount: number = 0;\n\n uploadIconAddress = '/platform/runtime/dfs/images/upload.svg';\n uploadLittleIconAddress = '/platform/runtime/dfs/images/uploadIcon.svg';\n\n hasSelectedFile: boolean = false;\n\n fileAllSelected: boolean = false;\n\n uploadProcess = { width: '0%' };\n\n fileTotalChunk: { [key: string]: number } = {};\n //fileUploadState: { [key: string]: boolean } = {};\n //flag: number = 0;\n requestArray: Array<Observable<any>> = new Array;\n\n requestBodyArray: Array<GspFormUploadEntity> = new Array;\n\n uploadedChunk: { [key: string]: number } = {};\n uploadedProcess: { [key: string]: number } = {};\n\n //allSelected: boolean = true;\n storageExtension: StorageExtension;\n\n defaultPropertyName: string = \"\";\n propertiesNames: DropListEntity[] = [];\n\n securityInfoList: SecurityEntity[] = [];\n\n queueListStyle = { width: '480px' };\n\n dropListValue: string = \"\";\n\n uploadedFileTotal: number = 0;\n\n validationId: string;\n\n haveExtensionProperty: boolean = false;\n\n haveSecurityInfo: boolean = false;\n\n uploadedFileInfoList = [];\n oldUploadedFileList = [];\n //uploadedNameList = [];\n\n sameNameAllowed = true;\n maxFileSize: number = 0;;\n localeid: string;\n localepipe: LocalLangPipe;\n\n checkboxPos = { top: '0px' }\n\n constructor(private msgService: MessagerService, private uploadService: UploadService, private loadService: LoadingService, private injector?: Injector) {\n if (this.injector) {\n\n this.localeid = localStorage.getItem(\"languageCode\") || this.injector.get(LOCALE_ID);\n this.localepipe = new LocalLangPipe(this.localeid);\n }\n }\n @Input() formId: string;\n @Input() rootId: string;\n @Input() fileType: string = \"*\";\n @Input() fileCount: number = 0;\n @Input() oldIdList: string[] = [];\n @Input() securityInfo: GspDocSecurityBaseInfo = null;\n\n //@Output() onCustomEvent: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('opCell') opCell: TemplateRef<any>;\n\n ngOnInit() {\n if (navigator.userAgent.indexOf('Firefox') >= 0)\n this.checkboxPos.top = '14px';\n //if (this.storageService != null) {\n if (this.securityInfo != null) {\n this.uploadService.getSecurityInfoList(this.securityInfo).subscribe(\n res => {\n this.haveSecurityInfo = true;\n let i = 0;\n res.forEach(element => {\n this.securityInfoList.push({ id: i.toString(), securityId: element.securityId, securityLevel: element.securityLevel, name: element.name });\n i++;\n });\n }\n )\n }\n this.uploadService.getStorageExtensionInfo().subscribe(\n res => {\n if (res != null && res.error == null) {\n this.storageExtension = res;\n this.defaultPropertyName = this.storageExtension.defaultPropertyName;\n this.propertiesNames.push({ id: \"0\", name: this.storageExtension.defaultPropertyName });\n let i = 0;\n // this.propertiesNames.push(...(this.storageExtension.extensionPropertyNameList));\n this.storageExtension.extensionPropertyNameList.forEach(element => {\n this.propertiesNames.push({ id: (++i).toString(), name: element });\n });\n this.queueListStyle.width = '380px';\n this.haveExtensionProperty = true;\n }\n }\n )\n\n this.uploadService.getRootSetting(this.rootId).subscribe(\n res => {\n if (res != null && res.error == null) {\n this.sameNameAllowed = res.sameNameAllowed;\n this.validationId = res.validationId;\n if (!this.sameNameAllowed) {\n this.uploadService.getUploadedFileInfoList(this.formId, this.rootId).subscribe(\n res => {\n if (res != null && res.error == null) {\n this.uploadedFileInfoList = res;\n this.oldUploadedFileList = JSON.parse(JSON.stringify(res));;\n\n }\n })\n }\n this.uploadService.getValidation(this.validationId).subscribe(\n res => {\n this.maxFileSize = parseInt(JSON.parse(res.configuration).maxFileSize);\n }\n )\n }\n }\n )\n if (this.oldIdList != null && this.oldIdList.length > 0) {\n this.uploadService.cancel(this.oldIdList, this.rootId).subscribe();\n }\n }\n\n totalLoad: any = null;\n\n showLoading() {\n this.hasSelectedFile = true;\n // if (this.totalLoad == null)\n // this.totalLoad = this.loadService.show({\n // message: this.localepipe.transform('uploading')\n // });\n }\n\n\n fileSelected($event) {\n\n // const loading = this.loadService.show({\n // message: this.localepipe.transform('uploading')\n // });\n\n // this.totalLoad.close();\n // this.totalLoad = null;\n this.hasSelectedFile = true;\n this.selectedFiles = document.querySelector('#file');\n\n if (this.fileCount > 0) {\n if (this.selectedFiles.files.length + this.files.length > this.fileCount) {\n let selectedNum: number = (this.selectedFiles.files.length as number) + this.files.length;\n this.msgService.warning(this.localepipe.transform('selectedCount') + selectedNum + this.localepipe.transform('limitCount') + this.fileCount + this.localepipe.transform('rechooseFile'));\n return;\n }\n }\n\n //this.flag = 0;\n for (let i = 0; i < this.selectedFiles.files.length; i++) {\n let selectedFile = this.selectedFiles.files[i];\n //selectedFile.slice\n let uuid = UUID.UUID();\n\n if (selectedFile.size == 0) {\n this.nullFileList.push(selectedFile.name);\n continue;\n }\n\n if (selectedFile.size > this.maxFileSize * 1000) {\n this.beyondFileList.push(selectedFile.name);\n continue;\n }\n\n if (!this.sameNameAllowed) {\n if (this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name) != null) {\n // this.uploadedNameList.push(selectedFile.name);\n // this.msgService.question('ä¹åå·²ä¸ä¼ è¿ååæä»¶: ' + selectedFile.name + 'ï¼éè¦æ¿æ¢ä¹ï¼', () => {\n // uuid = this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name).metadataId;\n // this.uploadFile(uuid, selectedFile);\n // })\n const msg = this.msgService.show('warning', this.localepipe.transform('haveSameName') + selectedFile.name, {\n initialState: {\n buttons: [\n {\n text: this.localepipe.transform('rename'),\n cls: 'btn btn-secondary',\n handle: () => {\n let oldName: string = selectedFile.name;\n let newName\n let flag = true;\n let i = 1;\n while (flag) {\n newName = oldName.substring(0, oldName.lastIndexOf('.')) + '(' + i + ')' + oldName.substring(oldName.lastIndexOf('.'));\n if (this.uploadedFileInfoList.find(x => x.fileName == newName) != null) {\n i++;\n }\n else\n flag = false;\n }\n\n this.uploadFile(uuid, selectedFile, newName);\n msg.close();\n }\n },\n {\n text: this.localepipe.transform('replace'),\n cls: 'btn btn-secondary',\n handle: () => {\n uuid = this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name).metadataId;\n this.uploadFile(uuid, selectedFile, selectedFile.name, FileState.Update);\n this.uploadedFileTotal--;\n if (this.oldUploadedFileList.find(x => x.fileName == selectedFile.name)) {\n this.uploadedFileTotal++;\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == selectedFile.name)[0]), 1);\n }\n msg.close();\n }\n },\n {\n text: this.localepipe.transform('cancel'),\n cls: 'btn btn-secondary',\n handle: () => {\n msg.close();\n }\n }\n ]\n }\n })\n continue;\n }\n }\n\n // if (this.files.find(x => x.name == selectedFile.name) != null) {\n // this.errFileList.push(selectedFile.name);\n // continue;\n // }\n\n\n\n //this.flag += Math.ceil(selectedFile.size / this.bufferSize);\n //let reader = new FileReader();\n this.uploadFile(uuid, selectedFile, selectedFile.name);\n\n }\n // if (this.uploadedNameList.length > 0) {\n // let name: string = this.listToString(this.uploadedNameList);\n // this.msgService.warning('ä¹åå·²ä¸ä¼ è¿ååæä»¶: ' + name + 'è¯·éæ°éæ©ä¸ä¼ æä»¶ã');\n // this.uploadedNameList = [];\n // }\n\n if (this.errFileList.length > 0) {\n let name: string = this.listToString(this.errFileList);\n this.msgService.warning(this.localepipe.transform('haveSameName') + name + this.localepipe.transform('rechooseFile'));\n this.errFileList = [];\n }\n\n if (this.nullFileList.length > 0) {\n let name: string = this.listToString(this.nullFileList);\n name = name.substring(0, name.length - 1);\n this.msgService.warning(name + this.localepipe.transform('sizeZero') + this.localepipe.transform('rechooseFile'));\n this.nullFileList = [];\n }\n\n if (this.beyondFileList.length > 0) {\n let name: string = this.listToString(this.beyondFileList);\n name = name.substring(0, name.length - 1);\n this.msgService.warning(name + this.localepipe.transform('sizeMax') + this.maxFileSize + \"KB\" + this.localepipe.transform('rechooseFile'));\n this.beyondFileList = [];\n }\n // if (this.errTypeList.length > 0) {\n // let type: string = this.listToString(this.errTypeList);\n // this.msgService.warning('䏿¯æä¸ä¼ ç±»å为 ' + type + 'çæä»¶è¯·éæ°éæ©ä¸ä¼ æä»¶ã');\n // this.errTypeList = [];\n // }\n this.files = this.files.slice();\n this.fileAllSelected = false;\n $event.target.value = '';\n // loading.close();\n }\n\n showErrorMessage(file) {\n this.msgService.error(this.localepipe.transform('uploadFailure') + file.errorMessage);\n }\n\n\n uploadFile(uuid: string, selectedFile, fileName: string, state: FileState = FileState.New) {\n let fileInfo: FileInfo;\n // let uuid = UUID.UUID();\n //reader.readAsBinaryString(selectedFile);\n //reader.onload = (e) => {\n fileInfo = {\n id: uuid,\n name: fileName,\n type: selectedFile.type,\n source: \"\",\n size: this.getFileSize(selectedFile.size),\n fileSize: selectedFile.size,\n picListDisplayName: this.getPicListDisplayName(fileName),\n queueListDisplayName: this.getQueueDisplayName(fileName),\n //content: reader.result.toString(),\n hasUploaded: false,\n mouseOn: false,\n selectd: false,\n isUploading: true,\n uploadResult: false,\n uploadProcess: 0,\n errorMessage: \"\",\n extensionDropListId: 0,\n extensionName: \"\",\n securityDropListId: 0,\n securityInfo: this.securityInfoList[0]\n }\n\n if (this.storageExtension != null)\n fileInfo.extensionName = this.defaultPropertyName;\n let chunkTotal: number = Math.ceil(selectedFile.size / this.bufferSize);\n let chunkIndex: number = 0;\n\n\n this.fileTotalChunk[uuid] = chunkTotal;\n\n let uploadFileInfo = new UploadFileInfo();\n\n uploadFileInfo.metadataId = uuid;\n uploadFileInfo.fileName = fileInfo.name;\n uploadFileInfo.fileSize = fileInfo.size;\n uploadFileInfo.state = state;\n uploadFileInfo.securityInfo = this.securityInfoList[0];\n\n\n while (chunkIndex < chunkTotal) {\n let uploadInfo = new GspFormUploadEntity;\n uploadInfo.formId = this.formId;\n uploadInfo.mode = OperatingModes.Temp;\n uploadInfo.rootId = this.rootId;\n\n let docInfo: GspFormDocInfo = new GspFormDocInfo;\n\n docInfo.fileName = fileName;\n docInfo.metadataId = uuid;\n docInfo.total = chunkTotal;\n\n this.uploadedChunk[docInfo.metadataId] = 0;\n\n let nextSize = Math.min((chunkIndex + 1) * this.bufferSize, selectedFile.size);\n let fileData = selectedFile.slice(chunkIndex * this.bufferSize, nextSize);\n let reader = new FileReader();\n reader.readAsBinaryString(fileData);\n let innerIndex = chunkIndex;\n reader.onload = () => {\n docInfo.fileContent = btoa(reader.result.toString());\n\n docInfo.index = innerIndex;\n //chunkIndex++;\n if (this.haveExtensionProperty)\n docInfo.exPropertyName = this.defaultPropertyName;\n //docInfo.isLast = true;\n uploadInfo.docInfo = docInfo;\n\n let info = uploadInfo;\n\n // this.requestArray.push(this.uploadService.uploadFile(uploadInfo));\n this.requestBodyArray.push(info);\n\n this.uploadService.uploadFile(info).subscribe(res => {\n if (res != null) {\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\n } else {\n this.uploadedChunk[docInfo.metadataId]++;\n this.files[this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((this.uploadedChunk[docInfo.metadataId] / this.fileTotalChunk[docInfo.metadataId] * 100).toFixed(0));\n if (this.uploadedChunk[docInfo.metadataId] == this.fileTotalChunk[docInfo.metadataId]) {\n this.files[this.files.indexOf(fileInfo)].uploadResult = true;\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\n this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);\n this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);\n this.uploadedFileTotal++;\n }\n }\n });\n }\n //console.log(chunkIndex + 1);\n chunkIndex = chunkIndex + 1;\n }\n\n let type: string = selectedFile.type;\n if (type.includes(\"tiff\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\n }\n else if (type.includes(\"image\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Image);\n }\n else if (type.includes(\"word\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Word);\n }\n else if (type.includes(\"pdf\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Pdf);\n }\n else if (type.includes(\"plain\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Txt);\n }\n else if (type.includes(\"sheet\") || type.includes(\"excel\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Excel)\n }\n else if (type.includes(\"powerpoint\") || type.includes(\"presentation\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Powerpoint);\n }\n else {\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\n // let name: string = selectedFile.name;\n // let errType = name.substring(selectedFile.name.lastIndexOf('.'));\n // this.errTypeList.push(errType);\n }\n let index = -1;\n this.files.forEach(x => {\n if (x.name == fileInfo.name) {\n if (index == -1)\n index = this.files.indexOf(x);\n }\n })\n if (index != -1 && index != this.files.length - 1) {\n this.files.splice(index, 1);\n this.uploadFileInfoList.splice(index, 1);\n this.uploadedFileInfoList.splice(index, 1);\n this.uploadedFileTotal--;\n }\n }\n\n\n selectAllFile() {\n\n if (!this.fileAllSelected) {\n this.files.forEach(element => {\n // let obj: any = document.getElementById(element.name);\n // obj.checked = true;\n element.selectd = true;\n });\n this.fileAllSelected = true;\n this.selectedFileCount = this.files.length;\n\n } else {\n this.files.forEach(element => {\n // let obj: any = document.getElementById(element.name);\n // obj.checked = false;\n element.selectd = false;\n });\n this.fileAllSelected = false;\n this.selectedFileCount = 0;\n }\n }\n\n\n checkoutSelectFile(file: FileInfo) {\n // let obj: any = document.getElementById(fileName);\n file.selectd = !file.selectd;\n if (file.selectd)\n this.selectedFileCount++;\n else\n this.selectedFileCount--;\n if (this.selectedFileCount == this.files.length) {\n this.fileAllSelected = true;\n //this.isFileAllSelected();\n }\n else {\n this.fileAllSelected = false;\n //this.isFileAllSelected();\n }\n\n }\n\n listDeleteFile(fileInfo: FileInfo) {\n if (fileInfo.selectd)\n this.selectedFileCount--;\n //console.log(fileName);\n this.files.splice(this.files.indexOf(fileInfo), 1);\n if (fileInfo.uploadResult) {\n let idList: string[] = [];\n idList.push(fileInfo.id);\n this.uploadService.cancel(idList, this.rootId).subscribe();\n\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\n this.uploadedFileTotal--;\n }\n if (this.selectedFileCount == 0)\n this.fileAllSelected = false;\n }\n\n listMultipleDeleteFile() {\n let selectedFile: FileInfo[] = [];\n this.files.forEach(element => {\n let obj: any = document.getElementById(element.name);\n if (obj.checked)\n selectedFile.push(element);\n })\n let metadataList: string[] = [];\n selectedFile.forEach(element => {\n metadataList.push(element.id);\n this.files.splice(this.files.indexOf(element), 1);\n if (element.uploadResult) {\n // let idList: string[] = [];\n // idList.push(fileInfo.id);\n // this.uploadService.cancel(idList, this.rootId).subscribe();\n\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\n this.uploadedFileTotal--;\n }\n })\n this.uploadService.cancel(metadataList, this.rootId).subscribe();\n\n let allBox: any = document.getElementById(\"allCheckBox\");\n if (allBox != null)\n allBox.checked = false;\n this.selectedFileCount = 0;\n this.fileAllSelected = false;\n }\n\n\n getPicListDisplayName(fileName: string) {\n if (fileName.length <= 10)\n return fileName;\n else {\n let headContent = fileName.substring(0, 2);\n let tailContent = fileName.substring(fileName.lastIndexOf('.') - 2);\n return headContent + \"â¦\" + tailContent;\n }\n }\n\n getQueueDisplayName(fileName: string) {\n return fileName;\n }\n\n addDocInfo(selectdFile, fileInfo: FileInfo, docType: DocType) {\n switch (docType) {\n case DocType.Word: {\n fileInfo.source = \"/platform/runtime/dfs/images/word.png\"\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Pdf: {\n fileInfo.source = \"/platform/runtime/dfs/images/pdf.png\"\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Excel: {\n fileInfo.source = \"/platform/runtime/dfs/images/excel.png\";\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Txt: {\n fileInfo.source = \"/platform/runtime/dfs/images/txt.png\";\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Powerpoint: {\n fileInfo.source = \"/platform/runtime/dfs/images/ppt.png\";\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Other: {\n fileInfo.source = \"/platform/runtime/dfs/images/file.png\";\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Image:\n let reader = new FileReader();\n\n reader.readAsDataURL(selectdFile);\n reader.onload = (_event) => {\n let imgUrl = reader.result;\n if (this.injector != null) {\n let sanitizer = this.injector.get(DomSanitizer);\n fileInfo.source = sanitizer.bypassSecurityTrustResourceUrl(imgUrl);\n } else\n fileInfo.source = imgUrl;\n this.files.push(fileInfo);\n }\n break;\n }\n\n }\n\n listToString(strList: string[]) {\n let name: string = \"\";\n for (let i = 0; i < strList.length; i++) {\n name += strList[i] + \",\";\n }\n return name;\n }\n\n securityChange($event: any, file: FileInfo) {\n file.securityInfo = $event.data;\n let uploadFile = this.uploadFileInfoList.filter(x => x.metadataId = file.id)[0];\n uploadFile.securityInfo = $event.data;\n }\n\n\n exStorageFileList: ExStorageFileInfo[] = [];\n\n typeChange($event: any, file: FileInfo) {\n file.extensionName = $event.data.name;\n let exStorageFileInfo: ExStorageFileInfo = new ExStorageFileInfo;\n if (file.extensionName == this.storageExtension.defaultPropertyName) {\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0)\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1)\n } else {\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\n exStorageFileInfo = this.exStorageFileList.filter(x => x.metadataId == file.id)[0];\n exStorageFileInfo.exPropertyName = file.extensionName;\n } else {\n exStorageFileInfo.metadataId = file.id;\n exStorageFileInfo.exPropertyName = file.extensionName;\n this.exStorageFileList.push(exStorageFileInfo);\n }\n }\n }\n\n upload(): Observable<any> {\n if (this.uploadedFileTotal != this.files.filter(x => x.isUploading || x.uploadResult).length) {\n // this.notifyService.success(<NotifyOptions>{\n // msg: 'ä¿åæåï¼', timeout: 3000\n // });\n this.msgService.warning(this.localepipe.transform('wait'));\n return of(false);\n }\n if (this.haveSecurityInfo) {\n this.uploadService.saveSecurityInfo(this.uploadFileInfoList, this.rootId).subscribe();\n }\n if (this.storageExtension == null)\n return of(this.uploadFileInfoList);\n else {\n if (this.exStorageFileList.length == 0)\n return of(this.uploadFileInfoList);\n else {\n const loading = this.loadService.show({\n message: this.localepipe.transform('saveTo') + this.storageExtension.extensionName\n });\n return this.uploadService.changeStorageInstance(this.exStorageFileList, this.rootId).pipe(\n map(res => {\n // if (res != null)\n // this.msgService.error('ä¿åå°' + this.storageExtension.extensionName + \"失败ï¼ä¸ä¼ æä»¶èªå¨ä¿åå°\" + this.storageExtension.defaultPropertyName + \"åå¨ã\" + res.error.Message);\n loading.close();\n return this.uploadFileInfoList;\n }))\n }\n }\n }\n\n cancel() {\n if (this.uploadFileInfoList.length == 0)\n return;\n this.uploadFileInfoList.forEach(element => {\n this.metadataIdList.push(element.metadataId);\n })\n this.uploadService.cancel(this.metadataIdList, this.rootId).subscribe();\n\n }\n\n getUploadFileInfoList() {\n return this.uploadFileInfoList;\n }\n\n delete(file) {\n this.files.splice(this.files.indexOf(file), 1);\n if (file.uploadResult)\n this.uploadedFileTotal--;\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1);\n }\n // var obj:any = document.querySelector('#file');\n // obj.files.remove();\n //obj.value='';\n }\n\n getFileSize(size: number) {\n if (size < 102400)\n return (size / 1024).toFixed(1) + \"K\";\n else if (size < 1024 * 1024)\n return (size / 1024).toFixed(0) + \"K\";\n else if (size < 100 * 1024 * 1024)\n return (size / 1024 / 1024).toFixed(1) + \"M\";\n else if (size < 1024 * 1024 * 1024)\n return (size / 1024 / 1024).toFixed(0) + \"M\";\n else\n return (size / 1024 / 1024 / 1024).toFixed(1) + \"G\";\n }\n showByGroup() {\n this.showType = 0;\n // this.selectedFileCount = 0;\n }\n\n showByList() {\n this.showType = 1;\n // this.selectedFileCount = 0;\n if (this.selectedFileCount != 0 && this.selectedFileCount == this.files.length) {\n this.fileAllSelected = true;\n }\n }\n\n mouseOver(file) {\n file.mouseOn = true;\n }\n mouseOut(file) {\n file.mouseOn = false;\n }\n\n}\n\n\n","import { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class DownloadService {\n\n constructor() { }\n\n getDownloadUrl(metadataId: string, rootId: string) {\n return \"/api/runtime/dfs/v1.0/doc/filecontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\n }\n\n getMultipleDownloadUrl(metadataIdList: string, rootId: string) {\n let list: string[] = JSON.parse(metadataIdList);\n return \"/api/runtime/dfs/v1.0/doc/multiple/download?metadataidlist=\" + metadataIdList + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(list[0], rootId));\n }\n\n getMultipleDownloadUrlWithName(metadataIdList: string, rootId: string, zipName: string) {\n let list: string[] = JSON.parse(metadataIdList);\n if (zipName == null || zipName == \"\")\n zipName = 'unifile.zip';\n if (!zipName.endsWith(\".zip\"))\n zipName += '.zip';\n\n\n\n return \"/api/runtime/dfs/v1.0/doc/compress/download?metadataidlist=\" + metadataIdList + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(list[0], rootId)) + \"&zipName=\" + encodeURIComponent(zipName);\n }\n\n getHistoryDownloadUrl(metadataId: string, rootId: string, version: string) {\n //let list:string[]=JSON.parse(metadataIdList);\n return \"/api/runtime/dfs/v1.0/doc/historycontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&version=\" + version + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\n }\n\n\n\n private mergeString(str: string, str1: string): string {\n let min = str.length < str1.length ? str.length : str1.length;\n let res: string = \"\";\n let i = 0;\n for (i = 0; i < min; i++) {\n res += str.substring(i, i + 1);\n res += str1.substring(i, i + 1);\n }\n res += str.length < str1.length ? str1.substring(i) : str.substring(i);\n return res;\n }\n\n private getToken(str: string): string {\n let array = [1, 2, 3];\n if (str.length > 24)\n str = str.substring(0, 24);\n let length = Math.floor(str.length / 3);\n let str1 = str.substring(0, length);\n let str2 = str.substring(length, 2 * length);\n let str3 = str.substring(2 * length, 3 * length);\n let randomArray = [];\n var random = Math.ceil(Math.random() * 3);\n randomArray.push(array[random - 1]);\n array.splice(random - 1, 1);\n random = Math.ceil(Math.random() * 2);\n randomArray.push(array[random - 1]);\n array.splice(random - 1, 1);\n randomArray.push(array[0]);\n let timeStamp: string = Math.round(new Date().getTime() / 1000) + \"\";\n\n return timeStamp.substring(0, 5) + \"times\" + randomArray[0] + \"\" + randomArray[1] + \"\" + randomArray[2] + this.switchStr(str1, str2, str3, randomArray[0]) + this.switchStr(str1, str2, str3, randomArray[1]) + this.switchStr(str1, str2, str3, randomArray[2]) + \"times\" + timeStamp.substring(5);\n }\n\n private switchStr(str1: string, str2: string, str3: string, i: number): string {\n switch (i) {\n case 1: return str1;\n case 2: return str2;\n case 3: return str3;\n }\n }\n\n\n}\n","import { LOCALE_ID, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileUploadComponent } from './file-upload/file-upload.component';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { NotifyModule } from '@farris/ui-notify';\nimport { MessagerModule } from '@farris/ui-messager';\nimport { UploadService } from './upload.service';\nimport { LoadingModule } from '@farris/ui-loading';\nimport { ProgressModule } from '@farris/ui-progress'\nimport { FormsModule } from '@angular/forms';\nimport { ComboListModule } from '@farris/ui-combo-list';\nimport { DownloadService } from './download.service';\nimport { LocalLangPipe } from '../local.pipe';\nimport { LanguageService } from '@ecp-caf/caf-common';\n\n\n\n@NgModule({\n declarations: [FileUploadComponent,LocalLangPipe],\n imports: [\n CommonModule,\n ButtonsModule,\n NotifyModule,\n MessagerModule.forRoot(),\n LoadingModule.forRoot(),\n ProgressModule,\n FormsModule,\n ComboListModule\n\n ],\n exports: [FileUploadComponent],\n entryComponents: [FileUploadComponent],\n providers: [UploadService, DownloadService, LanguageService,\n { provide: LOCALE_ID, useValue: localStorage.getItem('languageCode') || 'zh-CHS' },]\n\n})\nexport class UploadModule { }\n\nexport const ɵa = UploadModule;\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\nimport { BsModalRef, BsModalService } from '@farris/ui-modal';\nimport { FileUploadComponent } from '../../upload/file-upload/file-upload.component';\n\n@Component({\n selector: 'app-uploaddialog',\n templateUrl: './uploaddialog.component.html',\n styleUrls: ['./uploaddialog.component.css']\n})\nexport class UploadDialogComponent implements OnInit {\n\n dlg: BsModalRef;\n\n metadataIdList:string[]=[];\n\n @Input() formId:string;\n\n constructor(private modalService: BsModalService) { }\n\n @ViewChild(FileUploadComponent) fileUpload: FileUploadComponent;\n\n ngOnInit() {\n }\n\n showDialog() {\n this.dlg = this.modalService.show(FileUploadComponent, {\n title: 'éæ©æä»¶',\n width: 800, height: 500,\n buttons: [\n {\n text: 'ä¸ä¼ ', cls: 'k-button k-button-icontext k-primary', iconCls: \"k-icon k-i-check\", handle: () => {\n this.fileUpload.upload();\n this.dlg.close();\n }\n },\n {\n text: 'å
³é', cls: 'k-button k-button-icontext', iconCls: \"k-icon k-i-close\", handle: () => {\n this.fileUpload.cancel();\n this.dlg.close();\n }\n }\n ],\n\n showButtons: true,\n\n });\n this.dlg.content.formId=this.formId;\n\n }\n\n}\n","import { Injectable, Injector, ComponentFactoryResolver, LOCALE_ID } from '@angular/core';\r\nimport { FileUploadComponent } from './upload/file-upload/file-upload.component';\r\nimport { BsModalService, BsModalRef } from '@farris/ui-modal';\r\nimport { UploadFileInfo } from './upload/entity/uploadfileinfo';\r\nimport { Observable, of } from 'rxjs';\r\nimport { UploadLimit } from './upload/entity/uploadlimit';\r\nimport { LocalLangPipe } from './local.pipe';\r\n\r\n\r\n@Injectable()\r\nexport class UploadDialogService {\r\n\r\n localeid: string;\r\n localpipe: LocalLangPipe;\r\n constructor(private modalService: BsModalService, private componentFactoryResolver: ComponentFactoryResolver, private injector: Injector) {\r\n if (this.injector) {\r\n this.modalService = this.injector.get(BsModalService);\r\n this.localeid = localStorage.getItem(\"languageCode\") || this.injector.get(LOCALE_ID);\r\n this.localpipe = new LocalLangPipe(this.localeid);\r\n }\r\n }\r\n\r\n dlg: BsModalRef;\r\n\r\n fileInfoList: UploadFileInfo[] = [];\r\n\r\n showDialog(formId: string, rootId: string) {\r\n let flag = 0;\r\n return new Promise(resolve => {\r\n var viewerFactory = this.componentFactoryResolver.resolveComponentFactory(FileUploadComponent);\r\n var viewerRef = viewerFactory.create(this.injector);\r\n\r\n viewerRef.instance.rootId = rootId;\r\n viewerRef.instance.formId = formId;\r\n\r\n this.dlg = this.modalService.show(viewerRef, {\r\n title: this.localpipe.transform('uploadFile'),\r\n width: 950, height: 570,\r\n buttons: [\r\n {\r\n text: this.localpipe.transform('save'), cls: 'k-button k-button-icontext k-primary', handle: () => {\r\n this.dlg.content.upload().subscribe(\r\n res => {\r\n if (res) {\r\n resolve(res);\r\n flag = 1;\r\n this.dlg.close();\r\n }\r\n }\r\n );\r\n }\r\n },\r\n {\r\n text: this.localpipe.transform('close'), cls: 'k-button k-button-icontext', handle: () => {\r\n this.dlg.close();\r\n }\r\n }\r\n ],\r\n\r\n showButtons: true,\r\n showMaxButton: false,\r\n beforeClose: (): Observable<boolean> => {\r\n if (flag == 0)\r\n this.dlg.content.cancel();\r\n return of(true);\r\n }\r\n });\r\n })\r\n }\r\n\r\n uploadFile(formId: string, rootId: string, oldIdList: string[] = []) {\r\n return this.uploadFileWithLimit(formId, rootId, null, oldIdList);\r\n }\r\n\r\n\r\n uploadFileWithLimit(formId: string, rootId: string, limit: UploadLimit, oldIdList: string[] = []) {\r\n let flag = 0;\r\n return new Promise(resolve => {\r\n var uploadFactory = this.componentFactoryResolver.resolveComponentFactory(FileUploadComponent);\r\n var uploadRef = uploadFactory.create(this.injector);\r\n if (limit != null) {\r\n uploadRef.instance.fileCount = limit.fileCount;\r\n uploadRef.instance.securityInfo=limit.securityInfo;\r\n if (limit.fileType != null && limit.fileType != \"\")\r\n uploadRef.instance.fileType = limit.fileType\r\n }\r\n\r\n uploadRef.instance.rootId = rootId;\r\n uploadRef.instance.formId = formId;\r\n uploadRef.instance.oldIdList = oldIdList;\r\n\r\n this.dlg = this.modalService.show(uploadRef, {\r\n title: this.localpipe.transform('uploadFile'),\r\n width: 950, height: 570,\r\n buttons: [\r\n {\r\n\r\n text: this.localpipe.transform('save'), cls: 'k-button k-button-icontext k-primary', handle: () => {\r\n this.dlg.content.upload().subscribe(\r\n res => {\r\n if (res) {\r\n resolve(res);\r\n flag = 1;\r\n this.dlg.close();\r\n }\r\n }\r\n );\r\n }\r\n },\r\n {\r\n text: this.localpipe.transform('close'), cls: 'k-button k-button-icontext', handle: () => {\r\n this.dlg.close();\r\n }\r\n }\r\n ],\r\n\r\n showButtons: true,\r\n showMaxButton: false,\r\n beforeClose: (): Observable<boolean> => {\r\n if (flag == 0)\r\n this.dlg.content.cancel();\r\n return of(true);\r\n }\r\n });\r\n })\r\n }\r\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FarrisDialogModule } from '@farris/ui-dialog';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { MessagerModule } from '@farris/ui-messager';\nimport { BsModalService } from '@farris/ui-modal';\n\nimport { UploadModule } from '../upload/upload.module';\nimport { UploadDialogComponent } from './uploaddialog/uploaddialog.component';\nimport { HttpService } from '@ecp-caf/caf-common';\nimport { UploadService } from '../upload/upload.service';\nimport { UploadDialogService } from '../uploaddialog.service';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NotifyModule } from '@farris/ui-notify';\nimport { FileUploadComponent } from '../upload/file-upload/file-upload.component';\n\n\n@NgModule({\n declarations: [UploadDialogComponent],\n imports: [\n CommonModule,\n FarrisDialogModule,\n MessagerModule.forRoot(),\n UploadModule,\n ButtonsModule,\n NotifyModule.forRoot(),\n HttpClientModule\n ],\n exports: [UploadDialogComponent,FileUploadComponent],\n entryComponents: [UploadDialogComponent,FileUploadComponent],\n providers: [BsModalService, HttpService, UploadDialogService, UploadService]\n})\nexport class UploadDialogMoudle { }\n","import { GspDocSecurityBaseInfo } from \"./gspdocsecuritynaseinfo\";\r\n\r\nexport class UploadLimit {\r\n public fileType: string = \"*\";\r\n public fileCount: number = 0;\r\n public securityInfo: GspDocSecurityBaseInfo = null;\r\n}","import { GspFormDocInfo } from './gspformdocinfo';\r\nimport { OperatingModes } from './operatingmodes';\r\n\r\nexport class GspFormUploadListEntity {\r\n public formId: string;\r\n public docInfoList: GspFormDocInfo[];\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n}","export class GspDocMetaProperty{\r\n public extProperties1:string;\r\n public extProperties2:string;\r\n public extProperties3:string;\r\n public extProperties4:string;\r\n public extProperties5:string;\r\n}","import { SecurityEntity } from \"./securityentity\";\r\n\r\nexport class FileInfo {\r\n public id: string;\r\n public name: string;\r\n public type: string;\r\n public source: string | ArrayBuffer;\r\n public picListDisplayName: string;\r\n public queueListDisplayName: string;\r\n //public content: string;\r\n public size: string;\r\n public fileSize: number;\r\n public hasUploaded: boolean;\r\n public mouseOn: boolean;\r\n public selectd: boolean;\r\n public isUploading: boolean;\r\n public uploadResult: boolean;\r\n public uploadProcess: number;\r\n public errorMessage: string;\r\n public extensionDropListId:number;\r\n public extensionName: string;\r\n public securityDropListId:number;\r\n public securityInfo:SecurityEntity;\r\n}","export class GspDocSecurityBaseInfo {\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\r\n}","export class SecurityEntity {\r\n public id: string;\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\r\n}"]}
|
|
1
|
+
{"version":3,"sources":["ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.service.ts","ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.component.ts","ng://@gsp-svc/formdoc-upload/lib/formdoc-upload.module.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/doctype.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformdocinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/operatingmodes.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformremovelistentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformdocoperateentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/changeinstancerequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/upload.service.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/uploadfileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/extensionstoragefileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/filestate.ts","ng://@gsp-svc/formdoc-upload/lib/i18n/language.resource.ts","ng://@gsp-svc/formdoc-upload/lib/local.pipe.ts","ng://@gsp-svc/formdoc-upload/lib/upload/file-upload/file-upload.component.ts","ng://@gsp-svc/formdoc-upload/lib/upload/download.service.ts","ng://@gsp-svc/formdoc-upload/lib/upload/upload.module.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog/uploaddialog/uploaddialog.component.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog.service.ts","ng://@gsp-svc/formdoc-upload/lib/uploaddialog/uploaddialog.module.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/uploadlimit.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadlistentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocmetaproperty.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/fileinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocsecuritynaseinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/securityentity.ts"],"names":["FormdocUploadService","Injectable","args","providedIn","FormdocUploadComponent","prototype","ngOnInit","Component","selector","template","ɵ0","localStorage","getItem","FormdocUploadModule","NgModule","declarations","imports","exports","providers","LanguageService","provide","LOCALE_ID","useValue","Word","Excel","Powerpoint","Pdf","Txt","Image","Other","GspFormDocInfo","Formal","Temp","GspFormRemoveListEntity","GspFormDocOperateEntity","ChangeInstanceRequest","UploadService","http","httpclient","this","uploadList","docListInfo","rootId","post","pipe","tap","res","catchError","error","of","commit","metadataIdList","entity","cancel","put","removeList","idList","idListInfo","mode","OperatingModes","delete","getFile","metadataId","url","get","uploadFile","docInfo","uploadSliceFile","formdata","getStorageExtensionInfo","getSecurityInfoList","baseInfo","securityId","securityLevel","changeStorageInstance","storageInfoList","request","fileInfoList","saveSecurityInfo","uploadFileInfoList","reqList","forEach","element","id","exProperty","JSON","stringify","securityInfo","push","getUploadedFileInfoList","formId","getRootSetting","getValidation","HttpService","HttpClient","UploadFileInfo","GspFormUploadEntity","ExStorageFileInfo","New","Update","LANG_RESOURCES","zh-CHS","uploading","selectedCount","limitCount","rechooseFile","save","haveSameName","rename","replace","sizeZero","sizeMax","uploadFailure","uploadSucceed","wait","saveTo","selectAll","selectNull","detail","fileName","state","operation","size","close","loading","en-US","en","zh-CHT","LocalLangPipe","localeId","defaultLang","langCode","lang","transform","name","Pipe","Inject","FileUploadComponent","msgService","uploadService","loadService","injector","files","errFileList","errTypeList","nullFileList","beyondFileList","showType","mouseOn","bufferSize","selectedFileCount","uploadIconAddress","uploadLittleIconAddress","hasSelectedFile","fileAllSelected","uploadProcess","width","fileTotalChunk","requestArray","Array","requestBodyArray","uploadedChunk","uploadedProcess","defaultPropertyName","propertiesNames","securityInfoList","queueListStyle","dropListValue","uploadedFileTotal","haveExtensionProperty","haveSecurityInfo","uploadedFileInfoList","oldUploadedFileList","sameNameAllowed","maxFileSize","checkboxPos","top","fileType","fileCount","oldIdList","totalLoad","exStorageFileList","localeid","localepipe","_this","navigator","userAgent","indexOf","subscribe","i","toString","storageExtension","i_1","extensionPropertyNameList","validationId","parse","parseInt","configuration","length","showLoading","fileSelected","$event","selectedFiles","document","querySelector","selectedNum","warning","selectedFile","this_1","uuid","UUID","find","x","msg_1","show","initialState","buttons","text","cls","handle","newName","oldName","flag","substring","lastIndexOf","FileState","splice","filter","name_1","listToString","name_2","name_3","slice","target","value","showErrorMessage","file","errorMessage","fileInfo","type","source","getFileSize","fileSize","picListDisplayName","getPicListDisplayName","queueListDisplayName","getQueueDisplayName","hasUploaded","selectd","isUploading","uploadResult","extensionDropListId","extensionName","securityDropListId","chunkTotal","Math","ceil","chunkIndex","uploadFileInfo","uploadInfo","this_2","total","nextSize","min","fileData","innerIndex","index","fileContent","exPropertyName","formData","FormData","append","Message","Number","toFixed","concat","includes","addDocInfo","DocType","selectAllFile","checkoutSelectFile","listDeleteFile","listMultipleDeleteFile","getElementById","checked","metadataList","allBox","selectdFile","docType","reader_1","FileReader","readAsDataURL","onload","_event","imgUrl","result","sanitizer","DomSanitizer","bypassSecurityTrustResourceUrl","strList","securityChange","data","typeChange","exStorageFileInfo","findIndex","upload","loading_1","message","map","getUploadFileInfoList","showByGroup","showByList","mouseOver","mouseOut","MessagerService","LoadingService","Injector","Input","ViewChild","DownloadService","getDownloadUrl","getToken","mergeString","getMultipleDownloadUrl","list","getMultipleDownloadUrlWithName","zipName","endsWith","encodeURIComponent","getHistoryDownloadUrl","version","str","str1","array","floor","str2","str3","randomArray","random","timeStamp","round","Date","getTime","switchStr","ɵ0$1","UploadModule","CommonModule","ButtonsModule","NotifyModule","MessagerModule","forRoot","LoadingModule","ProgressModule","FormsModule","ComboListModule","entryComponents","ɵa","UploadDialogComponent","modalService","showDialog","dlg","title","height","iconCls","fileUpload","showButtons","content","BsModalService","UploadDialogService","componentFactoryResolver","localpipe","Promise","resolve","viewerRef","resolveComponentFactory","create","instance","showMaxButton","beforeClose","uploadFileWithLimit","limit","uploadRef","ComponentFactoryResolver","UploadDialogMoudle","FarrisDialogModule","HttpClientModule","UploadLimit","GspFormUploadListEntity","GspDocMetaProperty","FileInfo","GspDocSecurityBaseInfo","SecurityEntity"],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FormdocUploadService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-formdoc-upload',\n template: `\n <p>\n formdoc-upload works!\n </p>\n `,\n styles: []\n})\nexport class FormdocUploadComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { LOCALE_ID, NgModule } from '@angular/core';\nimport { LanguageService } from '@ecp-caf/caf-common';\nimport { FormdocUploadComponent } from './formdoc-upload.component';\nimport { LocalLangPipe } from './local.pipe';\n\n\n@NgModule({\n declarations: [FormdocUploadComponent],\n imports: [\n ],\n \n exports: [FormdocUploadComponent],\n providers:[ LanguageService,\n { provide: LOCALE_ID, useValue: localStorage.getItem('languageCode') || 'zh-CHS' },]\n})\nexport class FormdocUploadModule { }\n","export enum DocType{\r\n Word,\r\n Excel,\r\n Powerpoint,\r\n Pdf,\r\n Txt,\r\n Image,\r\n Other\r\n}","import { GspDocMetaProperty } from './gspdocmetaproperty';\r\n\r\nexport class GspFormDocInfo {\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileContent: string;\r\n public index: number;\r\n public total: number;\r\n public size: number;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export enum OperatingModes{\r\n Formal,\r\n Temp\r\n}","import { OperatingModes } from \"./operatingmodes\";\r\n\r\nexport class GspFormRemoveListEntity {\r\n public metadataIdList: string[];\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n}","export class GspFormDocOperateEntity {\r\n public metadataIdList: string[];\r\n public rootId: string;\r\n}","import { ExStorageFileInfo } from './extensionstoragefileinfo';\r\n\r\nexport class ChangeInstanceRequest {\r\n public fileInfoList: ExStorageFileInfo[];\r\n public rootId: string;\r\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { GspFormUploadListEntity } from './entity/gspformuploadlistentity';\nimport { HttpService } from '@ecp-caf/caf-common';\nimport { catchError, tap } from 'rxjs/operators';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { GspFormRemoveListEntity } from './entity/gspformremovelistentity';\nimport { of } from 'rxjs/observable/of';\nimport { GspFormDocOperateEntity } from './entity/gspformdocoperateentity';\n\nimport { GspFormUploadEntity } from './entity/gspformuploadentity';\nimport { ExStorageFileInfo } from './entity/extensionstoragefileinfo';\nimport { ChangeInstanceRequest } from './entity/changeinstancerequest';\nimport { OperatingModes } from './entity/operatingmodes';\nimport { GspDocSecurityBaseInfo } from './entity/gspdocsecuritynaseinfo';\nimport { UploadFileInfo } from './entity/uploadfileinfo';\nimport { ExPropertyRequest } from './entity/expropertyrequest';\n\n\n\n@Injectable()\nexport class UploadService {\n\n constructor(private http: HttpService, private httpclient: HttpClient) { }\n\n uploadList(docListInfo: GspFormUploadListEntity, rootId: string): Observable<any> {\n let url;\n docListInfo.rootId = rootId;\n\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.post(url, docListInfo).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n\n commit(metadataIdList: string[], rootId: string): Observable<any> {\n let url;\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\n entity.metadataIdList = metadataIdList;\n entity.rootId = rootId;\n url = \"/api/runtime/dfs/v1.0/formdoc/commit\";\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/commit\";\n\n return this.http.post(url, entity).pipe();\n }\n\n cancel(metadataIdList: string[], rootId: string): Observable<any> {\n let url;\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\n entity.metadataIdList = metadataIdList;\n entity.rootId = rootId;\n url = \"/api/runtime/dfs/v1.0/formdoc/cancel\";\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/cancel\";\n //localStorage.setItem(\"SessionId\",\"huoliang\");\n return this.http.put(url, entity).pipe();\n }\n\n removeList(idList: string[], rootId: string) {\n let url;\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/list\";\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n var idListInfo = new GspFormRemoveListEntity;\n idListInfo.metadataIdList = idList;\n idListInfo.mode = OperatingModes.Temp;\n idListInfo.rootId = rootId;\n return this.http.delete(url, idListInfo).pipe();\n }\n\n getFile(metadataId: string, rootId: string) {\n\n let url;\n if (rootId == \"\")\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId;\n else\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId + \"/\" + rootId;\n return this.http.get(url).pipe(tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n\n }\n\n uploadFile(docInfo: GspFormUploadEntity): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.post(url, docInfo).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n uploadSliceFile(formdata: FormData): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc/slice\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.httpclient.post(url, formdata).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n\n getStorageExtensionInfo(): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/extension\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n getSecurityInfoList(baseInfo: GspDocSecurityBaseInfo): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/security\";\n url = url + \"?id=\" + baseInfo.securityId + \"&level=\" + baseInfo.securityLevel;\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n changeStorageInstance(storageInfoList: ExStorageFileInfo[], rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/formdoc/changeinstance\";\n let request: ChangeInstanceRequest = new ChangeInstanceRequest;\n request.fileInfoList = storageInfoList;\n request.rootId = rootId;\n return this.http.post(url, request).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n saveSecurityInfo(uploadFileInfoList: UploadFileInfo[], rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/doc/exproperty\";\n let reqList: ExPropertyRequest[] = [];\n uploadFileInfoList.forEach(element => {\n let request: ExPropertyRequest = { id: element.metadataId, rootId: rootId, exProperty: JSON.stringify(element.securityInfo) };\n reqList.push(request);\n })\n return this.http.post(url, reqList).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }))\n }\n\n\n getUploadedFileInfoList(formId: string, rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/formdoc/uploadedfile/infolist\" + \"?formid=\" + formId + \"&rootid=\" + rootId;\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n getRootSetting(rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/rootsetting/\" + rootId;\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n getValidation(id: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/validation/\" + id;\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n}\n","import { FileState } from \"./filestate\";\r\nimport { SecurityEntity } from \"./securityentity\";\r\n\r\nexport class UploadFileInfo {\r\n\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileSize: string;\r\n public state: FileState;\r\n public securityInfo: SecurityEntity;\r\n\r\n}","import { OperatingModes } from './operatingmodes';\r\nimport { GspFormDocInfo } from './gspformdocinfo';\r\n\r\nexport class GspFormUploadEntity{\r\n public formId: string;\r\n public docInfo: GspFormDocInfo;\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n\r\n}","export class ExStorageFileInfo {\r\n public metadataId: string;\r\n public exPropertyName: string;\r\n}","export enum FileState{\r\n New,\r\n Update\r\n}","export const LANG_RESOURCES = {\r\n 'zh-CHS': {\r\n 'uploadFile': 'ä¸ä¼ æä»¶',\r\n 'uploading':'æ£å¨ä¸ä¼ æä»¶â¦â¦',\r\n 'selectedCount':'已鿩æä»¶æ°éï¼',\r\n 'limitCount':'è¶
åºç³»ç»éå¶æ°éï¼',\r\n 'rechooseFile':',éæ°éæ©ä¸ä¼ æä»¶ã',\r\n 'save':'ä¿å',\r\n 'cancel':'åæ¶',\r\n 'haveSameName':'å·²ä¸ä¼ è¿ååæä»¶: ',\r\n 'rename':'éå½å',\r\n\t\t'replace':'æ¿æ¢',\r\n 'sizeZero':'æä»¶å¤§å°ä¸º0',\r\n 'sizeMax':'æä»¶å¤§å°è¶
åºéå¶',\r\n 'uploadFailure':'ä¸ä¼ 失败',\r\n 'uploadSucceed':'ä¸ä¼ æå',\r\n 'wait':'çä¸ä¸ï¼ææ¡£æ£å¨ä¸ä¼ ã',\r\n 'saveTo':'æ£å¨å°æä»¶ä¿åå°',\r\n 'delete':'å é¤',\r\n 'selectAll':'å
¨é',\r\n 'selectNull':'å
¨ä¸é',\r\n 'detail':'详æ
',\r\n 'fileName':'æä»¶å',\r\n 'state':'ç¶æ',\r\n 'operation':'æä½',\r\n 'size':'大å°',\r\n 'close':'å
³é',\r\n 'loading':'æ¼å½å è½½ä¸'\r\n },\r\n 'en-US': {\r\n 'uploadFile': 'Upload File',\r\n 'uploading':'File Uploadingâ¦â¦',\r\n 'selectedCount':'Selected files countï¼',\r\n 'limitCount':'System limit countï¼',\r\n 'rechooseFile':',Reselect upload file.',\r\n 'save':'Save',\r\n 'cancel':'Cancel',\r\n 'haveSameName':'A file with the same name has been uploaded: ',\r\n 'rename':'Rename',\r\n\t\t'replace':'Replace',\r\n 'sizeZero':'File size is 0',\r\n 'sizeMax':'File size beyond limit',\r\n 'uploadFailure':'Upload failed',\r\n 'uploadSucceed':'Upload successfully',\r\n 'wait':'Wait a minute, the file is uploading.',\r\n 'saveTo':'Saving file to',\r\n 'delete':'Delete',\r\n 'selectAll':'Select all',\r\n 'selectNull':'Not at all',\r\n 'detail':'Details',\r\n 'fileName':'Filename',\r\n 'state':'State',\r\n 'operation':'Operation',\r\n 'size':'Size',\r\n 'close':'Close',\r\n 'loading':'Loading'\r\n },\r\n 'en': {\r\n 'uploadFile': 'Upload File',\r\n 'uploading':'File Uploadingâ¦â¦',\r\n 'selectedCount':'Selected files countï¼',\r\n 'limitCount':'System limit countï¼',\r\n 'rechooseFile':',Reselect upload file.',\r\n 'save':'Save',\r\n 'cancel':'Cancel',\r\n 'haveSameName':'A file with the same name has been uploaded: ',\r\n 'rename':'Rename',\r\n\t\t'replace':'Replace',\r\n 'sizeZero':'File size is 0',\r\n 'sizeMax':'File size beyond limit',\r\n 'uploadFailure':'Upload failed',\r\n 'uploadSucceed':'Upload successfully',\r\n 'wait':'Wait a minute, the file is uploading.',\r\n 'saveTo':'Saving file to',\r\n 'delete':'Delete',\r\n 'selectAll':'Select all',\r\n 'selectNull':'Not at all',\r\n 'detail':'Details',\r\n 'fileName':'Filename',\r\n 'state':'State',\r\n 'operation':'Operation',\r\n 'size':'Size',\r\n 'close':'Close',\r\n 'loading':'Loading'\r\n\r\n },\r\n 'zh-CHT': {\r\n 'uploadFile': 'ä¸å³æä»¶',\r\n 'uploading':'æ£å¨ä¸å³æä»¶â¦â¦',\r\n 'selectedCount':'已鏿æä»¶æ¸éï¼',\r\n 'limitCount':'è¶
åºç³»çµ±éå¶æ¸éï¼',\r\n 'rechooseFile':',鿰鏿ä¸å³æä»¶ã',\r\n 'save':'ä¿å',\r\n 'cancel':'åæ¶',\r\n 'haveSameName':'å·²ä¸å³éååæä»¶: ',\r\n 'rename':'éå½å',\r\n\t\t'replace':'æ¿æ',\r\n 'sizeZero':'æä»¶å¤§å°çº0',\r\n 'sizeMax':'æä»¶å¤§å°è¶
åºéå¶',\r\n 'uploadFailure':'ä¸å³å¤±æ',\r\n 'uploadSucceed':'ä¸å³æå',\r\n 'wait':'çä¸ä¸ï¼æä»¶æ£å¨ä¸å³ã',\r\n 'saveTo':'æ£å¨å°æä»¶ä¿åå°',\r\n 'delete':'å é¤',\r\n 'selectAll':'å
¨é¸',\r\n 'selectNull':'å
¨ä¸é¸',\r\n 'detail':'詳æ
',\r\n 'fileName':'æä»¶å',\r\n 'state':'çæ
',\r\n 'operation':'æä½',\r\n 'size':'大å°',\r\n 'close':'éé',\r\n 'loading':'æ¼å½å è¼ä¸'\r\n },\r\n};","import { Pipe, PipeTransform, Inject, LOCALE_ID } from '@angular/core';\r\nimport { LANG_RESOURCES } from './i18n/language.resource';\r\n\r\n@Pipe({ name: 'locale' })\r\nexport class LocalLangPipe implements PipeTransform {\r\n private readonly defaultLang: string = \"zh-CHS\";\r\n private langCode: string;\r\n private lang: {};\r\n constructor(\r\n @Inject(LOCALE_ID) localeId: string\r\n ) {\r\n this.langCode = localStorage.getItem(\"languageCode\") || localeId || this.defaultLang;\r\n this.lang = LANG_RESOURCES[this.langCode] || LANG_RESOURCES[this.defaultLang];\r\n }\r\n transform(name: string): any {\r\n return this.lang[name] || name;\r\n }\r\n}\r\n\r\n","import { Component, OnInit, Input, ViewChild, TemplateRef, Optional, Injector, LOCALE_ID } from '@angular/core';\nimport { FileInfo } from '../entity/fileinfo';\nimport { DocType } from '../entity/doctype';\nimport { GspFormDocInfo } from '../entity/gspformdocinfo';\nimport { OperatingModes } from '../entity/operatingmodes';\nimport { UploadService } from '../upload.service';\nimport { UploadFileInfo } from '../entity/uploadfileinfo';\nimport { MessagerService } from '@farris/ui-messager';\nimport { map } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { GspFormUploadEntity } from '../entity/gspformuploadentity';\nimport { UUID } from 'angular2-uuid';\nimport { StorageExtension } from '../entity/storageextension';\nimport { ExStorageFileInfo } from '../entity/extensionstoragefileinfo';\nimport { DropListEntity } from '../entity/droplistentity';\nimport { LoadingService } from '@farris/ui-loading';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { fillProperties } from '@angular/core/src/util/property';\nimport { FileState } from '../entity/filestate';\nimport { LocalLangPipe } from '../../local.pipe';\nimport { GspDocSecurityBaseInfo } from '../entity/gspdocsecuritynaseinfo';\nimport { state } from '@angular/animations';\nimport { SecurityEntity } from '../entity/securityentity';\n\n\n@Component({\n selector: 'app-file-upload',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.css'],\n})\nexport class FileUploadComponent implements OnInit {\n\n files: FileInfo[] = [];\n metadataIdList: string[] = [];\n uploadFileInfoList: UploadFileInfo[] = [];\n errFileList: string[] = [];\n errTypeList: string[] = [];\n nullFileList: string[] = [];\n beyondFileList: string[] = [];\n showType: number = 0;\n mouseOn: boolean = false;\n bufferSize = 1024 * 1024;\n selectedFiles: any;\n\n selectedFileCount: number = 0;\n\n uploadIconAddress = '/platform/runtime/dfs/images/upload.svg';\n uploadLittleIconAddress = '/platform/runtime/dfs/images/uploadIcon.svg';\n\n hasSelectedFile: boolean = false;\n\n fileAllSelected: boolean = false;\n\n uploadProcess = { width: '0%' };\n\n fileTotalChunk: { [key: string]: number } = {};\n //fileUploadState: { [key: string]: boolean } = {};\n //flag: number = 0;\n requestArray: Array<Observable<any>> = new Array;\n\n requestBodyArray: Array<GspFormUploadEntity> = new Array;\n\n uploadedChunk: { [key: string]: number } = {};\n uploadedProcess: { [key: string]: number } = {};\n\n //allSelected: boolean = true;\n storageExtension: StorageExtension;\n\n defaultPropertyName: string = \"\";\n propertiesNames: DropListEntity[] = [];\n\n securityInfoList: SecurityEntity[] = [];\n\n queueListStyle = { width: '480px' };\n\n dropListValue: string = \"\";\n\n uploadedFileTotal: number = 0;\n\n validationId: string;\n\n haveExtensionProperty: boolean = false;\n\n haveSecurityInfo: boolean = false;\n\n uploadedFileInfoList = [];\n oldUploadedFileList = [];\n //uploadedNameList = [];\n\n sameNameAllowed = true;\n maxFileSize: number = 0;;\n localeid: string;\n localepipe: LocalLangPipe;\n\n checkboxPos = { top: '0px' }\n\n constructor(private msgService: MessagerService, private uploadService: UploadService, private loadService: LoadingService, private injector?: Injector) {\n if (this.injector) {\n\n this.localeid = localStorage.getItem(\"languageCode\") || this.injector.get(LOCALE_ID);\n this.localepipe = new LocalLangPipe(this.localeid);\n }\n }\n @Input() formId: string;\n @Input() rootId: string;\n @Input() fileType: string = \"*\";\n @Input() fileCount: number = 0;\n @Input() oldIdList: string[] = [];\n @Input() securityInfo: GspDocSecurityBaseInfo = null;\n\n //@Output() onCustomEvent: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('opCell') opCell: TemplateRef<any>;\n\n ngOnInit() {\n if (navigator.userAgent.indexOf('Firefox') >= 0)\n this.checkboxPos.top = '14px';\n //if (this.storageService != null) {\n if (this.securityInfo != null) {\n this.uploadService.getSecurityInfoList(this.securityInfo).subscribe(\n res => {\n this.haveSecurityInfo = true;\n let i = 0;\n res.forEach(element => {\n this.securityInfoList.push({ id: i.toString(), securityId: element.securityId, securityLevel: element.securityLevel, name: element.name });\n i++;\n });\n }\n )\n }\n this.uploadService.getStorageExtensionInfo().subscribe(\n res => {\n if (res != null && res.error == null) {\n this.storageExtension = res;\n this.defaultPropertyName = this.storageExtension.defaultPropertyName;\n this.propertiesNames.push({ id: \"0\", name: this.storageExtension.defaultPropertyName });\n let i = 0;\n // this.propertiesNames.push(...(this.storageExtension.extensionPropertyNameList));\n this.storageExtension.extensionPropertyNameList.forEach(element => {\n this.propertiesNames.push({ id: (++i).toString(), name: element });\n });\n this.queueListStyle.width = '380px';\n this.haveExtensionProperty = true;\n }\n }\n )\n\n this.uploadService.getRootSetting(this.rootId).subscribe(\n res => {\n if (res != null && res.error == null) {\n this.sameNameAllowed = res.sameNameAllowed;\n this.validationId = res.validationId;\n if (!this.sameNameAllowed) {\n this.uploadService.getUploadedFileInfoList(this.formId, this.rootId).subscribe(\n res => {\n if (res != null && res.error == null) {\n this.uploadedFileInfoList = res;\n this.oldUploadedFileList = JSON.parse(JSON.stringify(res));;\n\n }\n })\n }\n this.uploadService.getValidation(this.validationId).subscribe(\n res => {\n this.maxFileSize = parseInt(JSON.parse(res.configuration).maxFileSize);\n }\n )\n }\n }\n )\n if (this.oldIdList != null && this.oldIdList.length > 0) {\n this.uploadService.cancel(this.oldIdList, this.rootId).subscribe();\n }\n }\n\n totalLoad: any = null;\n\n showLoading() {\n this.hasSelectedFile = true;\n // if (this.totalLoad == null)\n // this.totalLoad = this.loadService.show({\n // message: this.localepipe.transform('uploading')\n // });\n }\n\n\n fileSelected($event) {\n\n // const loading = this.loadService.show({\n // message: this.localepipe.transform('uploading')\n // });\n\n // this.totalLoad.close();\n // this.totalLoad = null;\n this.hasSelectedFile = true;\n this.selectedFiles = document.querySelector('#file');\n\n if (this.fileCount > 0) {\n if (this.selectedFiles.files.length + this.files.length > this.fileCount) {\n let selectedNum: number = (this.selectedFiles.files.length as number) + this.files.length;\n this.msgService.warning(this.localepipe.transform('selectedCount') + selectedNum + this.localepipe.transform('limitCount') + this.fileCount + this.localepipe.transform('rechooseFile'));\n return;\n }\n }\n\n //this.flag = 0;\n for (let i = 0; i < this.selectedFiles.files.length; i++) {\n let selectedFile = this.selectedFiles.files[i];\n //selectedFile.slice\n let uuid = UUID.UUID();\n\n if (selectedFile.size == 0) {\n this.nullFileList.push(selectedFile.name);\n continue;\n }\n\n if (this.maxFileSize != null && this.maxFileSize > 0) {\n if (selectedFile.size > this.maxFileSize * 1000) {\n this.beyondFileList.push(selectedFile.name);\n continue;\n }\n }\n\n if (!this.sameNameAllowed) {\n if (this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name) != null) {\n // this.uploadedNameList.push(selectedFile.name);\n // this.msgService.question('ä¹åå·²ä¸ä¼ è¿ååæä»¶: ' + selectedFile.name + 'ï¼éè¦æ¿æ¢ä¹ï¼', () => {\n // uuid = this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name).metadataId;\n // this.uploadFile(uuid, selectedFile);\n // })\n const msg = this.msgService.show('warning', this.localepipe.transform('haveSameName') + selectedFile.name, {\n initialState: {\n buttons: [\n {\n text: this.localepipe.transform('rename'),\n cls: 'btn btn-secondary',\n handle: () => {\n let oldName: string = selectedFile.name;\n let newName\n let flag = true;\n let i = 1;\n while (flag) {\n newName = oldName.substring(0, oldName.lastIndexOf('.')) + '(' + i + ')' + oldName.substring(oldName.lastIndexOf('.'));\n if (this.uploadedFileInfoList.find(x => x.fileName == newName) != null) {\n i++;\n }\n else\n flag = false;\n }\n\n this.uploadFile(uuid, selectedFile, newName);\n msg.close();\n }\n },\n {\n text: this.localepipe.transform('replace'),\n cls: 'btn btn-secondary',\n handle: () => {\n uuid = this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name).metadataId;\n this.uploadFile(uuid, selectedFile, selectedFile.name, FileState.Update);\n this.uploadedFileTotal--;\n if (this.oldUploadedFileList.find(x => x.fileName == selectedFile.name)) {\n this.uploadedFileTotal++;\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == selectedFile.name)[0]), 1);\n }\n msg.close();\n }\n },\n {\n text: this.localepipe.transform('cancel'),\n cls: 'btn btn-secondary',\n handle: () => {\n msg.close();\n }\n }\n ]\n }\n })\n continue;\n }\n }\n this.uploadFile(uuid, selectedFile, selectedFile.name);\n\n }\n // if (this.uploadedNameList.length > 0) {\n // let name: string = this.listToString(this.uploadedNameList);\n // this.msgService.warning('ä¹åå·²ä¸ä¼ è¿ååæä»¶: ' + name + 'è¯·éæ°éæ©ä¸ä¼ æä»¶ã');\n // this.uploadedNameList = [];\n // }\n\n if (this.errFileList.length > 0) {\n let name: string = this.listToString(this.errFileList);\n this.msgService.warning(this.localepipe.transform('haveSameName') + name + this.localepipe.transform('rechooseFile'));\n this.errFileList = [];\n }\n\n if (this.nullFileList.length > 0) {\n let name: string = this.listToString(this.nullFileList);\n name = name.substring(0, name.length - 1);\n this.msgService.warning(name + this.localepipe.transform('sizeZero') + this.localepipe.transform('rechooseFile'));\n this.nullFileList = [];\n }\n\n if (this.beyondFileList.length > 0) {\n let name: string = this.listToString(this.beyondFileList);\n name = name.substring(0, name.length - 1);\n this.msgService.warning(name + this.localepipe.transform('sizeMax') + this.maxFileSize + \"KB\" + this.localepipe.transform('rechooseFile'));\n this.beyondFileList = [];\n }\n // if (this.errTypeList.length > 0) {\n // let type: string = this.listToString(this.errTypeList);\n // this.msgService.warning('䏿¯æä¸ä¼ ç±»å为 ' + type + 'çæä»¶è¯·éæ°éæ©ä¸ä¼ æä»¶ã');\n // this.errTypeList = [];\n // }\n this.files = this.files.slice();\n this.fileAllSelected = false;\n $event.target.value = '';\n // loading.close();\n }\n\n showErrorMessage(file) {\n this.msgService.error(this.localepipe.transform('uploadFailure') + file.errorMessage);\n }\n\n\n uploadFile(uuid: string, selectedFile, fileName: string, state: FileState = FileState.New) {\n let fileInfo: FileInfo;\n // let uuid = UUID.UUID();\n //reader.readAsBinaryString(selectedFile);\n //reader.onload = (e) => {\n fileInfo = {\n id: uuid,\n name: fileName,\n type: selectedFile.type,\n source: \"\",\n size: this.getFileSize(selectedFile.size),\n fileSize: selectedFile.size,\n picListDisplayName: this.getPicListDisplayName(fileName),\n queueListDisplayName: this.getQueueDisplayName(fileName),\n //content: reader.result.toString(),\n hasUploaded: false,\n mouseOn: false,\n selectd: false,\n isUploading: true,\n uploadResult: false,\n uploadProcess: 0,\n errorMessage: \"\",\n extensionDropListId: 0,\n extensionName: \"\",\n securityDropListId: 0,\n securityInfo: this.securityInfoList[0]\n }\n\n if (this.storageExtension != null)\n fileInfo.extensionName = this.defaultPropertyName;\n let chunkTotal: number = Math.ceil(selectedFile.size / this.bufferSize);\n let chunkIndex: number = 0;\n\n\n this.fileTotalChunk[uuid] = chunkTotal;\n\n let uploadFileInfo = new UploadFileInfo();\n\n uploadFileInfo.metadataId = uuid;\n uploadFileInfo.fileName = fileInfo.name;\n uploadFileInfo.fileSize = fileInfo.size;\n uploadFileInfo.state = state;\n uploadFileInfo.securityInfo = this.securityInfoList[0];\n\n\n while (chunkIndex < chunkTotal) {\n let uploadInfo = new GspFormUploadEntity;\n uploadInfo.formId = this.formId;\n uploadInfo.mode = OperatingModes.Temp;\n uploadInfo.rootId = this.rootId;\n\n let docInfo: GspFormDocInfo = new GspFormDocInfo;\n\n docInfo.fileName = fileName;\n docInfo.metadataId = uuid;\n docInfo.total = chunkTotal;\n\n this.uploadedChunk[docInfo.metadataId] = 0;\n\n let nextSize = Math.min((chunkIndex + 1) * this.bufferSize, selectedFile.size);\n let fileData = selectedFile.slice(chunkIndex * this.bufferSize, nextSize);\n\n // let reader = new FileReader();\n // reader.readAsBinaryString(fileData);\n let innerIndex = chunkIndex;\n // reader.onload = () => {\n // docInfo.fileContent = btoa(reader.result.toString());\n docInfo.size = selectedFile.size;\n docInfo.index = innerIndex;\n docInfo.fileContent = \"\"\n //chunkIndex++;\n if (this.haveExtensionProperty)\n docInfo.exPropertyName = this.defaultPropertyName;\n\n //docInfo.isLast = true;\n uploadInfo.docInfo = docInfo;\n\n // let info = uploadInfo;\n\n // this.requestArray.push(this.uploadService.uploadFile(uploadInfo));\n // this.requestBodyArray.push(info);\n //å°è£
请æ±formdata\n let formData = new FormData();\n formData.append('uploadInfo', JSON.stringify(uploadInfo));\n formData.append('docInfo', JSON.stringify(docInfo));\n formData.append('file', fileData);\n\n this.uploadService.uploadSliceFile(formData).subscribe(res => {\n if (res != null) {\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\n } else {\n this.uploadedChunk[docInfo.metadataId]++;\n this.files[this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((this.uploadedChunk[docInfo.metadataId] / this.fileTotalChunk[docInfo.metadataId] * 100).toFixed(0));\n if (this.uploadedChunk[docInfo.metadataId] == this.fileTotalChunk[docInfo.metadataId]) {\n this.files[this.files.indexOf(fileInfo)].uploadResult = true;\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\n this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);\n this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);\n this.uploadedFileTotal++;\n }\n }\n });\n // }\n //console.log(chunkIndex + 1);\n chunkIndex = chunkIndex + 1;\n }\n\n let type: string = selectedFile.type;\n if (type.includes(\"tiff\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\n }\n else if (type.includes(\"image\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Image);\n }\n else if (type.includes(\"word\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Word);\n }\n else if (type.includes(\"pdf\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Pdf);\n }\n else if (type.includes(\"plain\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Txt);\n }\n else if (type.includes(\"sheet\") || type.includes(\"excel\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Excel)\n }\n else if (type.includes(\"powerpoint\") || type.includes(\"presentation\")) {\n this.addDocInfo(selectedFile, fileInfo, DocType.Powerpoint);\n }\n else {\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\n // let name: string = selectedFile.name;\n // let errType = name.substring(selectedFile.name.lastIndexOf('.'));\n // this.errTypeList.push(errType);\n }\n let index = -1;\n this.files.forEach(x => {\n if (x.name == fileInfo.name) {\n if (index == -1)\n index = this.files.indexOf(x);\n }\n })\n if (index != -1 && index != this.files.length - 1) {\n this.files.splice(index, 1);\n this.uploadFileInfoList.splice(index, 1);\n this.uploadedFileInfoList.splice(index, 1);\n this.uploadedFileTotal--;\n }\n }\n\n\n selectAllFile() {\n\n if (!this.fileAllSelected) {\n this.files.forEach(element => {\n // let obj: any = document.getElementById(element.name);\n // obj.checked = true;\n element.selectd = true;\n });\n this.fileAllSelected = true;\n this.selectedFileCount = this.files.length;\n\n } else {\n this.files.forEach(element => {\n // let obj: any = document.getElementById(element.name);\n // obj.checked = false;\n element.selectd = false;\n });\n this.fileAllSelected = false;\n this.selectedFileCount = 0;\n }\n }\n\n\n checkoutSelectFile(file: FileInfo) {\n // let obj: any = document.getElementById(fileName);\n file.selectd = !file.selectd;\n if (file.selectd)\n this.selectedFileCount++;\n else\n this.selectedFileCount--;\n if (this.selectedFileCount == this.files.length) {\n this.fileAllSelected = true;\n //this.isFileAllSelected();\n }\n else {\n this.fileAllSelected = false;\n //this.isFileAllSelected();\n }\n\n }\n\n listDeleteFile(fileInfo: FileInfo) {\n if (fileInfo.selectd)\n this.selectedFileCount--;\n //console.log(fileName);\n this.files.splice(this.files.indexOf(fileInfo), 1);\n if (fileInfo.uploadResult) {\n let idList: string[] = [];\n idList.push(fileInfo.id);\n this.uploadService.cancel(idList, this.rootId).subscribe();\n\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\n this.uploadedFileTotal--;\n }\n if (this.selectedFileCount == 0)\n this.fileAllSelected = false;\n }\n\n listMultipleDeleteFile() {\n let selectedFile: FileInfo[] = [];\n this.files.forEach(element => {\n let obj: any = document.getElementById(element.name);\n if (obj.checked)\n selectedFile.push(element);\n })\n let metadataList: string[] = [];\n selectedFile.forEach(element => {\n metadataList.push(element.id);\n this.files.splice(this.files.indexOf(element), 1);\n if (element.uploadResult) {\n // let idList: string[] = [];\n // idList.push(fileInfo.id);\n // this.uploadService.cancel(idList, this.rootId).subscribe();\n\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\n this.uploadedFileTotal--;\n }\n })\n this.uploadService.cancel(metadataList, this.rootId).subscribe();\n\n let allBox: any = document.getElementById(\"allCheckBox\");\n if (allBox != null)\n allBox.checked = false;\n this.selectedFileCount = 0;\n this.fileAllSelected = false;\n }\n\n\n getPicListDisplayName(fileName: string) {\n if (fileName.length <= 10)\n return fileName;\n else {\n let headContent = fileName.substring(0, 2);\n let tailContent = fileName.substring(fileName.lastIndexOf('.') - 2);\n return headContent + \"â¦\" + tailContent;\n }\n }\n\n getQueueDisplayName(fileName: string) {\n return fileName;\n }\n\n addDocInfo(selectdFile, fileInfo: FileInfo, docType: DocType) {\n switch (docType) {\n case DocType.Word: {\n fileInfo.source = \"/platform/runtime/dfs/images/word.png\"\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Pdf: {\n fileInfo.source = \"/platform/runtime/dfs/images/pdf.png\"\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Excel: {\n fileInfo.source = \"/platform/runtime/dfs/images/excel.png\";\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Txt: {\n fileInfo.source = \"/platform/runtime/dfs/images/txt.png\";\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Powerpoint: {\n fileInfo.source = \"/platform/runtime/dfs/images/ppt.png\";\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Other: {\n fileInfo.source = \"/platform/runtime/dfs/images/file.png\";\n this.files.push(fileInfo);\n break;\n }\n\n case DocType.Image:\n let reader = new FileReader();\n\n reader.readAsDataURL(selectdFile);\n reader.onload = (_event) => {\n let imgUrl = reader.result;\n if (this.injector != null) {\n let sanitizer = this.injector.get(DomSanitizer);\n fileInfo.source = sanitizer.bypassSecurityTrustResourceUrl(imgUrl);\n } else\n fileInfo.source = imgUrl;\n this.files.push(fileInfo);\n }\n break;\n }\n\n }\n\n listToString(strList: string[]) {\n let name: string = \"\";\n for (let i = 0; i < strList.length; i++) {\n name += strList[i] + \",\";\n }\n return name;\n }\n\n securityChange($event: any, file: FileInfo) {\n file.securityInfo = $event.data;\n let uploadFile = this.uploadFileInfoList.filter(x => x.metadataId = file.id)[0];\n uploadFile.securityInfo = $event.data;\n }\n\n\n exStorageFileList: ExStorageFileInfo[] = [];\n\n typeChange($event: any, file: FileInfo) {\n file.extensionName = $event.data.name;\n let exStorageFileInfo: ExStorageFileInfo = new ExStorageFileInfo;\n if (file.extensionName == this.storageExtension.defaultPropertyName) {\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0)\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1)\n } else {\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\n exStorageFileInfo = this.exStorageFileList.filter(x => x.metadataId == file.id)[0];\n exStorageFileInfo.exPropertyName = file.extensionName;\n } else {\n exStorageFileInfo.metadataId = file.id;\n exStorageFileInfo.exPropertyName = file.extensionName;\n this.exStorageFileList.push(exStorageFileInfo);\n }\n }\n }\n\n upload(): Observable<any> {\n if (this.uploadedFileTotal != this.files.filter(x => x.isUploading || x.uploadResult).length) {\n // this.notifyService.success(<NotifyOptions>{\n // msg: 'ä¿åæåï¼', timeout: 3000\n // });\n this.msgService.warning(this.localepipe.transform('wait'));\n return of(false);\n }\n if (this.haveSecurityInfo) {\n this.uploadService.saveSecurityInfo(this.uploadFileInfoList, this.rootId).subscribe();\n }\n if (this.storageExtension == null)\n return of(this.uploadFileInfoList);\n else {\n if (this.exStorageFileList.length == 0)\n return of(this.uploadFileInfoList);\n else {\n const loading = this.loadService.show({\n message: this.localepipe.transform('saveTo') + this.storageExtension.extensionName\n });\n return this.uploadService.changeStorageInstance(this.exStorageFileList, this.rootId).pipe(\n map(res => {\n // if (res != null)\n // this.msgService.error('ä¿åå°' + this.storageExtension.extensionName + \"失败ï¼ä¸ä¼ æä»¶èªå¨ä¿åå°\" + this.storageExtension.defaultPropertyName + \"åå¨ã\" + res.error.Message);\n loading.close();\n return this.uploadFileInfoList;\n }))\n }\n }\n }\n\n cancel() {\n if (this.uploadFileInfoList.length == 0)\n return;\n this.uploadFileInfoList.forEach(element => {\n this.metadataIdList.push(element.metadataId);\n })\n this.uploadService.cancel(this.metadataIdList, this.rootId).subscribe();\n\n }\n\n getUploadFileInfoList() {\n return this.uploadFileInfoList;\n }\n\n delete(file) {\n this.files.splice(this.files.indexOf(file), 1);\n if (file.uploadResult)\n this.uploadedFileTotal--;\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1);\n }\n // var obj:any = document.querySelector('#file');\n // obj.files.remove();\n //obj.value='';\n }\n\n getFileSize(size: number) {\n if (size < 102400)\n return (size / 1024).toFixed(1) + \"K\";\n else if (size < 1024 * 1024)\n return (size / 1024).toFixed(0) + \"K\";\n else if (size < 100 * 1024 * 1024)\n return (size / 1024 / 1024).toFixed(1) + \"M\";\n else if (size < 1024 * 1024 * 1024)\n return (size / 1024 / 1024).toFixed(0) + \"M\";\n else\n return (size / 1024 / 1024 / 1024).toFixed(1) + \"G\";\n }\n showByGroup() {\n this.showType = 0;\n // this.selectedFileCount = 0;\n }\n\n showByList() {\n this.showType = 1;\n // this.selectedFileCount = 0;\n if (this.selectedFileCount != 0 && this.selectedFileCount == this.files.length) {\n this.fileAllSelected = true;\n }\n }\n\n mouseOver(file) {\n file.mouseOn = true;\n }\n mouseOut(file) {\n file.mouseOn = false;\n }\n\n}\n\n\n","import { Injectable } from '@angular/core';\n\n\n@Injectable()\nexport class DownloadService {\n\n constructor() { }\n\n getDownloadUrl(metadataId: string, rootId: string) {\n return \"/api/runtime/dfs/v1.0/doc/filecontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\n }\n\n getMultipleDownloadUrl(metadataIdList: string, rootId: string) {\n let list: string[] = JSON.parse(metadataIdList);\n return \"/api/runtime/dfs/v1.0/doc/multiple/download?metadataidlist=\" + metadataIdList + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(list[0], rootId));\n }\n\n getMultipleDownloadUrlWithName(metadataIdList: string, rootId: string, zipName: string) {\n let list: string[] = JSON.parse(metadataIdList);\n if (zipName == null || zipName == \"\")\n zipName = 'unifile.zip';\n if (!zipName.endsWith(\".zip\"))\n zipName += '.zip';\n\n\n\n return \"/api/runtime/dfs/v1.0/doc/compress/download?metadataidlist=\" + metadataIdList + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(list[0], rootId)) + \"&zipName=\" + encodeURIComponent(zipName);\n }\n\n getHistoryDownloadUrl(metadataId: string, rootId: string, version: string) {\n //let list:string[]=JSON.parse(metadataIdList);\n return \"/api/runtime/dfs/v1.0/doc/historycontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&version=\" + version + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\n }\n\n\n\n private mergeString(str: string, str1: string): string {\n let min = str.length < str1.length ? str.length : str1.length;\n let res: string = \"\";\n let i = 0;\n for (i = 0; i < min; i++) {\n res += str.substring(i, i + 1);\n res += str1.substring(i, i + 1);\n }\n res += str.length < str1.length ? str1.substring(i) : str.substring(i);\n return res;\n }\n\n private getToken(str: string): string {\n let array = [1, 2, 3];\n if (str.length > 24)\n str = str.substring(0, 24);\n let length = Math.floor(str.length / 3);\n let str1 = str.substring(0, length);\n let str2 = str.substring(length, 2 * length);\n let str3 = str.substring(2 * length, 3 * length);\n let randomArray = [];\n var random = Math.ceil(Math.random() * 3);\n randomArray.push(array[random - 1]);\n array.splice(random - 1, 1);\n random = Math.ceil(Math.random() * 2);\n randomArray.push(array[random - 1]);\n array.splice(random - 1, 1);\n randomArray.push(array[0]);\n let timeStamp: string = Math.round(new Date().getTime() / 1000) + \"\";\n\n return timeStamp.substring(0, 5) + \"times\" + randomArray[0] + \"\" + randomArray[1] + \"\" + randomArray[2] + this.switchStr(str1, str2, str3, randomArray[0]) + this.switchStr(str1, str2, str3, randomArray[1]) + this.switchStr(str1, str2, str3, randomArray[2]) + \"times\" + timeStamp.substring(5);\n }\n\n private switchStr(str1: string, str2: string, str3: string, i: number): string {\n switch (i) {\n case 1: return str1;\n case 2: return str2;\n case 3: return str3;\n }\n }\n\n\n}\n","import { LOCALE_ID, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileUploadComponent } from './file-upload/file-upload.component';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { NotifyModule } from '@farris/ui-notify';\nimport { MessagerModule } from '@farris/ui-messager';\nimport { UploadService } from './upload.service';\nimport { LoadingModule } from '@farris/ui-loading';\nimport { ProgressModule } from '@farris/ui-progress'\nimport { FormsModule } from '@angular/forms';\nimport { ComboListModule } from '@farris/ui-combo-list';\nimport { DownloadService } from './download.service';\nimport { LocalLangPipe } from '../local.pipe';\nimport { LanguageService } from '@ecp-caf/caf-common';\n\n\n\n@NgModule({\n declarations: [FileUploadComponent,LocalLangPipe],\n imports: [\n CommonModule,\n ButtonsModule,\n NotifyModule,\n MessagerModule.forRoot(),\n LoadingModule.forRoot(),\n ProgressModule,\n FormsModule,\n ComboListModule\n\n ],\n exports: [FileUploadComponent],\n entryComponents: [FileUploadComponent],\n providers: [UploadService, DownloadService, LanguageService,\n { provide: LOCALE_ID, useValue: localStorage.getItem('languageCode') || 'zh-CHS' },]\n\n})\nexport class UploadModule { }\n\nexport const ɵa = UploadModule;\n","import { Component, OnInit, ViewChild, Input } from '@angular/core';\nimport { BsModalRef, BsModalService } from '@farris/ui-modal';\nimport { FileUploadComponent } from '../../upload/file-upload/file-upload.component';\n\n@Component({\n selector: 'app-uploaddialog',\n templateUrl: './uploaddialog.component.html',\n styleUrls: ['./uploaddialog.component.css']\n})\nexport class UploadDialogComponent implements OnInit {\n\n dlg: BsModalRef;\n\n metadataIdList:string[]=[];\n\n @Input() formId:string;\n\n constructor(private modalService: BsModalService) { }\n\n @ViewChild(FileUploadComponent) fileUpload: FileUploadComponent;\n\n ngOnInit() {\n }\n\n showDialog() {\n this.dlg = this.modalService.show(FileUploadComponent, {\n title: 'éæ©æä»¶',\n width: 800, height: 500,\n buttons: [\n {\n text: 'ä¸ä¼ ', cls: 'k-button k-button-icontext k-primary', iconCls: \"k-icon k-i-check\", handle: () => {\n this.fileUpload.upload();\n this.dlg.close();\n }\n },\n {\n text: 'å
³é', cls: 'k-button k-button-icontext', iconCls: \"k-icon k-i-close\", handle: () => {\n this.fileUpload.cancel();\n this.dlg.close();\n }\n }\n ],\n\n showButtons: true,\n\n });\n this.dlg.content.formId=this.formId;\n\n }\n\n}\n","import { Injectable, Injector, ComponentFactoryResolver, LOCALE_ID } from '@angular/core';\r\nimport { FileUploadComponent } from './upload/file-upload/file-upload.component';\r\nimport { BsModalService, BsModalRef } from '@farris/ui-modal';\r\nimport { UploadFileInfo } from './upload/entity/uploadfileinfo';\r\nimport { Observable, of } from 'rxjs';\r\nimport { UploadLimit } from './upload/entity/uploadlimit';\r\nimport { LocalLangPipe } from './local.pipe';\r\n\r\n\r\n@Injectable()\r\nexport class UploadDialogService {\r\n\r\n localeid: string;\r\n localpipe: LocalLangPipe;\r\n constructor(private modalService: BsModalService, private componentFactoryResolver: ComponentFactoryResolver, private injector: Injector) {\r\n if (this.injector) {\r\n this.modalService = this.injector.get(BsModalService);\r\n this.localeid = localStorage.getItem(\"languageCode\") || this.injector.get(LOCALE_ID);\r\n this.localpipe = new LocalLangPipe(this.localeid);\r\n }\r\n }\r\n\r\n dlg: BsModalRef;\r\n\r\n fileInfoList: UploadFileInfo[] = [];\r\n\r\n showDialog(formId: string, rootId: string) {\r\n let flag = 0;\r\n return new Promise(resolve => {\r\n var viewerFactory = this.componentFactoryResolver.resolveComponentFactory(FileUploadComponent);\r\n var viewerRef = viewerFactory.create(this.injector);\r\n\r\n viewerRef.instance.rootId = rootId;\r\n viewerRef.instance.formId = formId;\r\n\r\n this.dlg = this.modalService.show(viewerRef, {\r\n title: this.localpipe.transform('uploadFile'),\r\n width: 950, height: 570,\r\n buttons: [\r\n {\r\n text: this.localpipe.transform('save'), cls: 'k-button k-button-icontext k-primary', handle: () => {\r\n this.dlg.content.upload().subscribe(\r\n res => {\r\n if (res) {\r\n resolve(res);\r\n flag = 1;\r\n this.dlg.close();\r\n }\r\n }\r\n );\r\n }\r\n },\r\n {\r\n text: this.localpipe.transform('close'), cls: 'k-button k-button-icontext', handle: () => {\r\n this.dlg.close();\r\n }\r\n }\r\n ],\r\n\r\n showButtons: true,\r\n showMaxButton: false,\r\n beforeClose: (): Observable<boolean> => {\r\n if (flag == 0)\r\n this.dlg.content.cancel();\r\n return of(true);\r\n }\r\n });\r\n })\r\n }\r\n\r\n uploadFile(formId: string, rootId: string, oldIdList: string[] = []) {\r\n return this.uploadFileWithLimit(formId, rootId, null, oldIdList);\r\n }\r\n\r\n\r\n uploadFileWithLimit(formId: string, rootId: string, limit: UploadLimit, oldIdList: string[] = []) {\r\n let flag = 0;\r\n return new Promise(resolve => {\r\n var uploadFactory = this.componentFactoryResolver.resolveComponentFactory(FileUploadComponent);\r\n var uploadRef = uploadFactory.create(this.injector);\r\n if (limit != null) {\r\n uploadRef.instance.fileCount = limit.fileCount;\r\n uploadRef.instance.securityInfo=limit.securityInfo;\r\n if (limit.fileType != null && limit.fileType != \"\")\r\n uploadRef.instance.fileType = limit.fileType\r\n }\r\n\r\n uploadRef.instance.rootId = rootId;\r\n uploadRef.instance.formId = formId;\r\n uploadRef.instance.oldIdList = oldIdList;\r\n\r\n this.dlg = this.modalService.show(uploadRef, {\r\n title: this.localpipe.transform('uploadFile'),\r\n width: 950, height: 570,\r\n buttons: [\r\n {\r\n\r\n text: this.localpipe.transform('save'), cls: 'k-button k-button-icontext k-primary', handle: () => {\r\n this.dlg.content.upload().subscribe(\r\n res => {\r\n if (res) {\r\n resolve(res);\r\n flag = 1;\r\n this.dlg.close();\r\n }\r\n }\r\n );\r\n }\r\n },\r\n {\r\n text: this.localpipe.transform('close'), cls: 'k-button k-button-icontext', handle: () => {\r\n this.dlg.close();\r\n }\r\n }\r\n ],\r\n\r\n showButtons: true,\r\n showMaxButton: false,\r\n beforeClose: (): Observable<boolean> => {\r\n if (flag == 0)\r\n this.dlg.content.cancel();\r\n return of(true);\r\n }\r\n });\r\n })\r\n }\r\n}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { FarrisDialogModule } from '@farris/ui-dialog';\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\nimport { MessagerModule } from '@farris/ui-messager';\nimport { BsModalService } from '@farris/ui-modal';\n\nimport { UploadModule } from '../upload/upload.module';\nimport { UploadDialogComponent } from './uploaddialog/uploaddialog.component';\nimport { HttpService } from '@ecp-caf/caf-common';\nimport { UploadService } from '../upload/upload.service';\nimport { UploadDialogService } from '../uploaddialog.service';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NotifyModule } from '@farris/ui-notify';\nimport { FileUploadComponent } from '../upload/file-upload/file-upload.component';\n\n\n@NgModule({\n declarations: [UploadDialogComponent],\n imports: [\n CommonModule,\n FarrisDialogModule,\n MessagerModule.forRoot(),\n UploadModule,\n ButtonsModule,\n NotifyModule.forRoot(),\n HttpClientModule\n ],\n exports: [UploadDialogComponent,FileUploadComponent],\n entryComponents: [UploadDialogComponent,FileUploadComponent],\n providers: [BsModalService, HttpService, UploadDialogService, UploadService]\n})\nexport class UploadDialogMoudle { }\n","import { GspDocSecurityBaseInfo } from \"./gspdocsecuritynaseinfo\";\r\n\r\nexport class UploadLimit {\r\n public fileType: string = \"*\";\r\n public fileCount: number = 0;\r\n public securityInfo: GspDocSecurityBaseInfo = null;\r\n}","import { GspFormDocInfo } from './gspformdocinfo';\r\nimport { OperatingModes } from './operatingmodes';\r\n\r\nexport class GspFormUploadListEntity {\r\n public formId: string;\r\n public docInfoList: GspFormDocInfo[];\r\n public mode: OperatingModes;\r\n public rootId: string;\r\n}","export class GspDocMetaProperty{\r\n public extProperties1:string;\r\n public extProperties2:string;\r\n public extProperties3:string;\r\n public extProperties4:string;\r\n public extProperties5:string;\r\n}","import { SecurityEntity } from \"./securityentity\";\r\n\r\nexport class FileInfo {\r\n public id: string;\r\n public name: string;\r\n public type: string;\r\n public source: string | ArrayBuffer;\r\n public picListDisplayName: string;\r\n public queueListDisplayName: string;\r\n //public content: string;\r\n public size: string;\r\n public fileSize: number;\r\n public hasUploaded: boolean;\r\n public mouseOn: boolean;\r\n public selectd: boolean;\r\n public isUploading: boolean;\r\n public uploadResult: boolean;\r\n public uploadProcess: number;\r\n public errorMessage: string;\r\n public extensionDropListId:number;\r\n public extensionName: string;\r\n public securityDropListId:number;\r\n public securityInfo:SecurityEntity;\r\n}","export class GspDocSecurityBaseInfo {\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\r\n}","export class SecurityEntity {\r\n public id: string;\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\r\n}"]}
|
|
@@ -16,8 +16,10 @@ if (false) {
|
|
|
16
16
|
/** @type {?} */
|
|
17
17
|
GspFormDocInfo.prototype.total;
|
|
18
18
|
/** @type {?} */
|
|
19
|
+
GspFormDocInfo.prototype.size;
|
|
20
|
+
/** @type {?} */
|
|
19
21
|
GspFormDocInfo.prototype.exPropertyName;
|
|
20
22
|
/** @type {?} */
|
|
21
23
|
GspFormDocInfo.prototype.extProperty;
|
|
22
24
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3NwZm9ybWRvY2luZm8uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZ3NwLXN2Yy9mb3JtZG9jLXVwbG9hZC8iLCJzb3VyY2VzIjpbImxpYi91cGxvYWQvZW50aXR5L2dzcGZvcm1kb2NpbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxNQUFNLE9BQU8sY0FBYztDQVMxQjs7O0lBUkcsb0NBQTBCOztJQUMxQixrQ0FBd0I7O0lBQ3hCLHFDQUEyQjs7SUFDM0IsK0JBQXFCOztJQUNyQiwrQkFBcUI7O0lBQ3JCLDhCQUFvQjs7SUFDcEIsd0NBQThCOztJQUM5QixxQ0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHc3BEb2NNZXRhUHJvcGVydHkgfSBmcm9tICcuL2dzcGRvY21ldGFwcm9wZXJ0eSc7XHJcblxyXG5leHBvcnQgY2xhc3MgR3NwRm9ybURvY0luZm8ge1xyXG4gICAgcHVibGljIG1ldGFkYXRhSWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBmaWxlTmFtZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGZpbGVDb250ZW50OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgaW5kZXg6IG51bWJlcjtcclxuICAgIHB1YmxpYyB0b3RhbDogbnVtYmVyO1xyXG4gICAgcHVibGljIHNpemU6IG51bWJlcjtcclxuICAgIHB1YmxpYyBleFByb3BlcnR5TmFtZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGV4dFByb3BlcnR5OiBHc3BEb2NNZXRhUHJvcGVydHk7XHJcbn0iXX0=
|