@gsp-svc/formdoc-upload 0.1.31 → 0.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/bundles/gsp-svc-formdoc-upload.umd.js +184 -12
  2. package/bundles/gsp-svc-formdoc-upload.umd.js.map +1 -1
  3. package/bundles/gsp-svc-formdoc-upload.umd.min.js +1 -1
  4. package/bundles/gsp-svc-formdoc-upload.umd.min.js.map +1 -1
  5. package/esm2015/gsp-svc-formdoc-upload.js +2 -2
  6. package/esm2015/lib/i18n/language.resource.js +5 -1
  7. package/esm2015/lib/upload/entity/expropertyrequest.js +15 -0
  8. package/esm2015/lib/upload/entity/fileinfo.js +5 -1
  9. package/esm2015/lib/upload/entity/gspdocsecuritynaseinfo.js +15 -0
  10. package/esm2015/lib/upload/entity/securityentity.js +17 -0
  11. package/esm2015/lib/upload/entity/uploadfileinfo.js +3 -1
  12. package/esm2015/lib/upload/entity/uploadlimit.js +4 -1
  13. package/esm2015/lib/upload/file-upload/file-upload.component.js +94 -13
  14. package/esm2015/lib/upload/upload.service.js +71 -1
  15. package/esm2015/lib/uploaddialog.service.js +2 -1
  16. package/esm2015/public-api.js +4 -1
  17. package/esm5/gsp-svc-formdoc-upload.js +2 -2
  18. package/esm5/lib/i18n/language.resource.js +5 -1
  19. package/esm5/lib/upload/entity/expropertyrequest.js +19 -0
  20. package/esm5/lib/upload/entity/fileinfo.js +5 -1
  21. package/esm5/lib/upload/entity/gspdocsecuritynaseinfo.js +19 -0
  22. package/esm5/lib/upload/entity/securityentity.js +21 -0
  23. package/esm5/lib/upload/entity/uploadfileinfo.js +3 -1
  24. package/esm5/lib/upload/entity/uploadlimit.js +4 -1
  25. package/esm5/lib/upload/file-upload/file-upload.component.js +99 -13
  26. package/esm5/lib/upload/upload.service.js +84 -1
  27. package/esm5/lib/uploaddialog.service.js +2 -1
  28. package/esm5/public-api.js +4 -1
  29. package/fesm2015/gsp-svc-formdoc-upload.js +171 -14
  30. package/fesm2015/gsp-svc-formdoc-upload.js.map +1 -1
  31. package/fesm5/gsp-svc-formdoc-upload.js +194 -14
  32. package/fesm5/gsp-svc-formdoc-upload.js.map +1 -1
  33. package/gsp-svc-formdoc-upload.metadata.json +1 -1
  34. package/lib/i18n/language.resource.d.ts +4 -0
  35. package/lib/upload/entity/expropertyrequest.d.ts +5 -0
  36. package/lib/upload/entity/fileinfo.d.ts +3 -0
  37. package/lib/upload/entity/gspdocsecuritynaseinfo.d.ts +5 -0
  38. package/lib/upload/entity/securityentity.d.ts +6 -0
  39. package/lib/upload/entity/uploadfileinfo.d.ts +2 -0
  40. package/lib/upload/entity/uploadlimit.d.ts +2 -0
  41. package/lib/upload/file-upload/file-upload.component.d.ts +9 -0
  42. package/lib/upload/upload.service.d.ts +5 -0
  43. package/package.json +1 -1
  44. package/public-api.d.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"gsp-svc-formdoc-upload.js.map","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"],"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';\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 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\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}\n","import { FileState } from \"./filestate\";\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\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 '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 '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 '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 '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';\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 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 queueListStyle = { width: '480px' };\n\n dropListValue: string = \"\";\n\n uploadedFileTotal: number = 0;\n\n haveExtensionProperty: boolean = false;\n\n uploadedFileInfoList = [];\n oldUploadedFileList = [];\n //uploadedNameList = [];\n\n sameNameAllowed = true;\n\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\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 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\n this.uploadService.getRootSetting(this.rootId).subscribe(\n res => {\n if (res != null && res.error == null) {\n this.sameNameAllowed = res.sameNameAllowed;\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 }\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 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 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 if (selectedFile.size == 0) {\n this.nullFileList.push(selectedFile.name);\n continue;\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 // 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 }\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\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\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.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 {\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 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","export class UploadLimit {\r\n public fileType: string = \"*\";\r\n public fileCount: number = 0;\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}","export 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}"],"names":["of"],"mappings":"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"}
1
+ {"version":3,"file":"gsp-svc-formdoc-upload.js.map","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/entity/gspdocsecuritynaseinfo.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/securityentity.ts"],"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","export class GspDocSecurityBaseInfo {\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\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.nullFileList = [];\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 SecurityEntity {\r\n public id: string;\r\n public securityId: string;\r\n public securityLevel: number;\r\n public name: string;\r\n}"],"names":["of"],"mappings":"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"}