@gsp-svc/formdoc-upload 0.2.2 → 0.2.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/gsp-svc-formdoc-upload.umd.js.map +1 -1
- package/bundles/gsp-svc-formdoc-upload.umd.min.js.map +1 -1
- package/esm2015/lib/upload/download.service.js +1 -1
- package/esm2015/lib/upload/file-upload/file-upload.component.js +1 -1
- package/esm2015/lib/upload/upload.module.js +1 -1
- package/esm2015/lib/upload/upload.service.js +1 -1
- package/esm5/lib/upload/download.service.js +1 -1
- package/esm5/lib/upload/file-upload/file-upload.component.js +1 -1
- package/esm5/lib/upload/upload.module.js +1 -1
- package/esm5/lib/upload/upload.service.js +1 -1
- package/fesm2015/gsp-svc-formdoc-upload.js +1 -1
- package/fesm2015/gsp-svc-formdoc-upload.js.map +1 -1
- package/fesm5/gsp-svc-formdoc-upload.js +1 -1
- package/fesm5/gsp-svc-formdoc-upload.js.map +1 -1
- package/package.json +1 -1
|
@@ -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/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/entity/copyfilerequest.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/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/gspdocsecuritybaseinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/initmultiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/completemultiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformstreamentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/multiuploadrequest.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/gspformdocinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocmetaproperty.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadentity.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 { HttpClientModule } from '@angular/common/http';\nimport { LOCALE_ID, NgModule } from '@angular/core';\nimport { CacheService, HttpService, LanguageService, SessionService } 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 HttpClientModule\n ],\n \n exports: [FormdocUploadComponent],\n providers:[ LanguageService,HttpService,CacheService,SessionService,\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}","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}","export class CopyFileRequest{\r\n public metadataId:string;\r\n public rootId:string;\r\n public path:string;\r\n}","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { GspFormUploadListEntity } from './entity/gspformuploadlistentity';\nimport { HttpService } from '@ecp-caf/caf-common';\nimport { catchError, tap } from 'rxjs/operators';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { GspFormRemoveListEntity } from './entity/gspformremovelistentity';\nimport { of } from 'rxjs/observable/of';\nimport { GspFormDocOperateEntity } from './entity/gspformdocoperateentity';\n\nimport { GspFormUploadEntity } from './entity/gspformuploadentity';\nimport { ExStorageFileInfo } from './entity/extensionstoragefileinfo';\nimport { ChangeInstanceRequest } from './entity/changeinstancerequest';\nimport { OperatingModes } from './entity/operatingmodes';\nimport { GspDocSecurityBaseInfo } from './entity/gspdocsecuritybaseinfo';\nimport { UploadFileInfo } from './entity/uploadfileinfo';\nimport { ExPropertyRequest } from './entity/expropertyrequest';\nimport { CopyFileRequest } from './entity/copyfilerequest';\n\n\n\n@Injectable()\nexport class UploadService {\n\n constructor(private http: HttpService, private httpclient: HttpClient) { }\n\n uploadList(docListInfo: GspFormUploadListEntity, rootId: string): Observable<any> {\n let url;\n docListInfo.rootId = rootId;\n\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.post(url, docListInfo).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n\n commit(metadataIdList: string[], rootId: string): Observable<any> {\n let url;\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\n entity.metadataIdList = metadataIdList;\n entity.rootId = rootId;\n url = \"/api/runtime/dfs/v1.0/formdoc/commit\";\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/commit\";\n\n return this.http.post(url, entity).pipe();\n }\n\n cancel(metadataIdList: string[], rootId: string): Observable<any> {\n let url;\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\n entity.metadataIdList = metadataIdList;\n entity.rootId = rootId;\n url = \"/api/runtime/dfs/v1.0/formdoc/cancel\";\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/cancel\";\n //localStorage.setItem(\"SessionId\",\"huoliang\");\n return this.http.put(url, entity).pipe();\n }\n\n removeList(idList: string[], rootId: string) {\n let url;\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/list\";\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n var idListInfo = new GspFormRemoveListEntity;\n idListInfo.metadataIdList = idList;\n idListInfo.mode = OperatingModes.Temp;\n idListInfo.rootId = rootId;\n return this.http.delete(url, idListInfo).pipe();\n }\n\n getFile(metadataId: string, rootId: string) {\n\n let url;\n if (rootId == \"\")\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId;\n else\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId + \"/\" + rootId;\n return this.http.get(url).pipe(tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n\n }\n\n uploadFile(docInfo: GspFormUploadEntity): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.post(url, docInfo).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n uploadSliceFile(formdata: FormData): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc/slice\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.httpclient.post(url, formdata).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n\n getStorageExtensionInfo(): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/extension\";\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n getSecurityInfoList(baseInfo: GspDocSecurityBaseInfo): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/security\";\n url = url + \"?id=\" + baseInfo.securityId + \"&level=\" + baseInfo.securityLevel;\n\n return this.http.get(url).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n changeStorageInstance(storageInfoList: ExStorageFileInfo[], rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/formdoc/changeinstance\";\n let request: ChangeInstanceRequest = new ChangeInstanceRequest;\n request.fileInfoList = storageInfoList;\n request.rootId = rootId;\n return this.http.post(url, request).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n copyFile(metadataId: string, rootId: string, path: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/formdoc/copy\";\n let request: CopyFileRequest = new CopyFileRequest;\n request.metadataId = metadataId;\n request.rootId = rootId;\n request.path = path;\n return this.httpclient.post(url, request,{responseType: 'text'}).pipe(\n tap(res => { }),\n // catchError((error: HttpErrorResponse) => {\n // return of(error);\n // })\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 getUploadInfo(rootId: string): Observable<any> {\n let url = \"/api/runtime/dfs/v1.0/rootsetting/info?id=\" + rootId;\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}","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 'mismatchChunkSize':'ææ¡£åçä¸ä¼ é¨å丢失ï¼è¯·éæ°ä¸ä¼ ï¼å¦æå¤æ¬¡ä¸ä¼ 失败ï¼è¯·è系管çåã'\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 'mismatchChunkSize':'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.'\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 'mismatchChunkSize':'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.'\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 'mismatchChunkSize':'ææªåçä¸å³é¨åéºå¤±ï¼è«éæ°ä¸å³ï¼å¦æå¤æ¬¡ä¸å³å¤±æï¼è«è¯ç³»ç®¡çå¡ã'\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}","export class InitMultiUploadRequest {\r\n public path: string;\r\n public metadataId: string;\r\n public rootId: string;\r\n public fileName: string;\r\n public size: number;\r\n}","import { MultiUploadResult } from \"./multiuploadresult\";\r\n\r\nexport class CompleteMultiUploadRequest {\r\n public metadataId: string;\r\n public rootId: string;\r\n public uploadId: string;\r\n public size: number;\r\n public partList: MultiUploadResult[];\r\n public exPropertyName: string;\r\n}","import { GspDocMetaProperty } from \"./gspdocmetaproperty\";\r\nimport { OperatingModes } from \"./operatingmodes\";\r\n\r\nexport class GspFormStreamEntity {\r\n public formId: string;\r\n public metadataId: string;\r\n public rootId: string;\r\n public fileName: string;\r\n public size: number;\r\n public mode: OperatingModes;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export class MultiUploadRequest {\r\n public metadataId: string;\r\n\r\n public total: number;\r\n\r\n public size: number;\r\n\r\n public index: number;\r\n\r\n public rootId: string;\r\n\r\n public uploadId: string;\r\n}","import { Component, OnInit, Input, ViewChild, TemplateRef, 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 { catchError, map, tap } 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 { FileState } from '../entity/filestate';\nimport { LocalLangPipe } from '../../local.pipe';\nimport { GspDocSecurityBaseInfo } from '../entity/gspdocsecuritybaseinfo';\nimport { SecurityEntity } from '../entity/securityentity';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { InitMultiUploadRequest } from '../entity/initmultiuploadrequest';\nimport { CompleteMultiUploadRequest } from '../entity/completemultiuploadrequest';\nimport { GspFormStreamEntity } from '../entity/gspformstreamentity';\nimport { MultiUploadRequest } from '../entity/multiuploadrequest';\nimport { MultiUploadResult } from '../entity/multiuploadresult';\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 = 5 * 1024 * 1024;\n selectedFiles: any;\n radioButtonGroupValue;\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\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 allowedMultiUpload: boolean;\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 httpclient: HttpClient;\n checkboxPos = { top: '0px' }\n\n constructor(private msgService: MessagerService, private uploadService: UploadService, private loadService: LoadingService, private injector?: Injector) {\n if (this.injector) {\n this.httpclient = this.injector.get(HttpClient);\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 @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.getUploadInfo(this.rootId).subscribe(\n res => {\n if (res != null && res.error == null) {\n this.sameNameAllowed = res.sameNameAllowed;\n this.maxFileSize = parseInt(JSON.parse(res.validateConfiguration).maxFileSize);\n this.allowedMultiUpload = res.allowedMultiUpload;\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 )\n if (this.oldIdList != null && this.oldIdList.length > 0) {\n // this.uploadService.cancel(this.oldIdList, this.rootId).subscribe();\n }\n\n this.radioButtonGroupValue = 'showByGroup';\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 this.hasSelectedFile = true;\n this.selectedFiles = document.querySelector('#file');\n\n if (this.fileCount > 0) {\n if (this.selectedFiles.files.length + this.files.length > this.fileCount) {\n let selectedNum: number = (this.selectedFiles.files.length as number) + this.files.length;\n this.msgService.warning(this.localepipe.transform('selectedCount') + selectedNum + this.localepipe.transform('limitCount') + this.fileCount + this.localepipe.transform('rechooseFile'));\n return;\n }\n }\n\n //this.flag = 0;\n for (let i = 0; i < this.selectedFiles.files.length; i++) {\n let selectedFile = this.selectedFiles.files[i];\n //selectedFile.slice\n let uuid = UUID.UUID();\n\n if (selectedFile.size == 0) {\n this.nullFileList.push(selectedFile.name);\n continue;\n }\n\n if (this.maxFileSize != null && this.maxFileSize > 0) {\n if (selectedFile.size > this.maxFileSize * 1000) {\n this.beyondFileList.push(selectedFile.name);\n continue;\n }\n }\n\n if (!this.sameNameAllowed) {\n if (this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name) != null) {\n\n const msg = this.msgService.show('warning', this.localepipe.transform('haveSameName') + selectedFile.name, {\n initialState: {\n buttons: [\n {\n text: this.localepipe.transform('rename'),\n cls: 'btn btn-secondary',\n handle: () => {\n let oldName: string = selectedFile.name;\n let newName\n let flag = true;\n let i = 1;\n while (flag) {\n newName = oldName.substring(0, oldName.lastIndexOf('.')) + '(' + i + ')' + oldName.substring(oldName.lastIndexOf('.'));\n if (this.uploadedFileInfoList.find(x => x.fileName == newName) != null) {\n i++;\n }\n else\n flag = false;\n }\n\n this.uploadFile(uuid, selectedFile, newName);\n msg.close();\n }\n },\n {\n text: this.localepipe.transform('replace'),\n cls: 'btn btn-secondary',\n handle: () => {\n uuid = this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name).metadataId;\n this.uploadFile(uuid, selectedFile, selectedFile.name, FileState.Update);\n this.uploadedFileTotal--;\n if (this.oldUploadedFileList.find(x => x.fileName == selectedFile.name)) {\n this.uploadedFileTotal++;\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == selectedFile.name)[0]), 1);\n }\n msg.close();\n }\n },\n {\n text: this.localepipe.transform('cancel'),\n cls: 'btn btn-secondary',\n handle: () => {\n msg.close();\n }\n }\n ]\n }\n })\n continue;\n }\n }\n this.uploadFile(uuid, selectedFile, selectedFile.name);\n\n }\n\n if (this.errFileList.length > 0) {\n let name: string = this.listToString(this.errFileList);\n this.msgService.warning(this.localepipe.transform('haveSameName') + name + this.localepipe.transform('rechooseFile'));\n this.errFileList = [];\n }\n\n if (this.nullFileList.length > 0) {\n let name: string = this.listToString(this.nullFileList);\n name = name.substring(0, name.length - 1);\n this.msgService.warning(name + this.localepipe.transform('sizeZero') + this.localepipe.transform('rechooseFile'));\n this.nullFileList = [];\n }\n\n if (this.beyondFileList.length > 0) {\n let name: string = this.listToString(this.beyondFileList);\n name = name.substring(0, name.length - 1);\n this.msgService.warning(name + this.localepipe.transform('sizeMax') + this.maxFileSize + \"KB\" + this.localepipe.transform('rechooseFile'));\n this.beyondFileList = [];\n }\n 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 handleFileInfo(uuid: string, selectedFile, fileName: string): any {\n\n let fileInfo: FileInfo;\n\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\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 return fileInfo;\n }\n\n uploadFile(uuid: string, selectedFile, fileName: string, state: FileState = FileState.New) {\n\n let fileInfo = this.handleFileInfo(uuid, selectedFile, fileName);\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 //夿æ¯å¦æ¯æåçä¸ä¼ \n if (this.allowedMultiUpload) {\n\n //æ¯æåçä¸ä¼ \n let initRequest: InitMultiUploadRequest = new InitMultiUploadRequest;\n\n initRequest.path = this.formId;\n initRequest.metadataId = uuid;\n initRequest.rootId = this.rootId;\n initRequest.size = fileInfo.fileSize;\n initRequest.fileName = fileName;\n\n //åå§ååç\n this.initMultiUpload(initRequest).subscribe(res => {\n if (res.error != 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 let uploadId = res.uploadId;\n let chunkTotal: number = Math.ceil(selectedFile.size / this.bufferSize);\n let chunkIndex: number = 0;\n\n let multiResultList: MultiUploadResult[] = [];\n\n this.fileTotalChunk[uuid] = chunkTotal;\n this.uploadedChunk[uuid] = 0;\n\n while (chunkIndex < chunkTotal) {\n\n let nextSize = Math.min((chunkIndex + 1) * this.bufferSize, selectedFile.size);\n let fileData = selectedFile.slice(chunkIndex * this.bufferSize, nextSize);\n\n let multiRequest = new MultiUploadRequest;\n multiRequest.metadataId = uuid;\n multiRequest.rootId = this.rootId;\n multiRequest.uploadId = uploadId;\n multiRequest.index = chunkIndex;\n multiRequest.total = chunkTotal;\n multiRequest.size = fileData.size;\n\n let formData = new FormData();\n formData.append('multiRequest', JSON.stringify(multiRequest));\n formData.append('file', fileData);\n\n this.multiUpload(formData).subscribe(res => {\n if (res.error != 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 multiResultList.push(res.result);\n this.uploadedChunk[uuid]++;\n this.files[this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((this.uploadedChunk[uuid] / this.fileTotalChunk[uuid] * 100).toFixed(0));\n if (this.uploadedChunk[uuid] == this.fileTotalChunk[uuid]) {\n if (multiResultList.length == this.fileTotalChunk[uuid]) {\n\n let completeMultiUploadRequest: CompleteMultiUploadRequest = new CompleteMultiUploadRequest;\n completeMultiUploadRequest.metadataId = uuid;\n completeMultiUploadRequest.partList = multiResultList;\n completeMultiUploadRequest.rootId = this.rootId;\n completeMultiUploadRequest.uploadId = uploadId;\n completeMultiUploadRequest.size = fileInfo.fileSize;\n if (this.haveExtensionProperty)\n completeMultiUploadRequest.exPropertyName = this.defaultPropertyName;\n this.completeMultiUpload(completeMultiUploadRequest).subscribe(res => {\n if (res.status != 200) {\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.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 } else {\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 = this.localepipe.transform('mismatchChunkSize');\n }\n\n }\n }\n })\n\n chunkIndex = chunkIndex + 1;\n }\n }\n\n })\n\n } else {\n let entity = new GspFormStreamEntity;\n entity.formId = this.formId;\n entity.metadataId = uuid;\n entity.mode = OperatingModes.Temp;\n entity.rootId = this.rootId;\n entity.size = selectedFile.size;\n entity.fileName = fileName;\n if (this.haveExtensionProperty)\n entity.exPropertyName = this.defaultPropertyName;\n\n let formData = new FormData();\n formData.append('uploadEntity', JSON.stringify(entity));\n formData.append('file', selectedFile);\n\n this.uploadSingleFile(formData).subscribe(res => {\n if (res != null) {\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\n } else {\n this.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 }\n\n\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\n uploadSingleFile(formdata: FormData): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc/single\";\n\n return this.httpclient.post(url, formdata).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n uploadSliceFile(formdata: FormData): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc/slice\";\n\n return this.httpclient.post(url, formdata).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n initMultiUpload(request: InitMultiUploadRequest): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/init\";\n\n return this.httpclient.post(url, request).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n multiUpload(formdata: FormData): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/upload\";\n\n return this.httpclient.post(url, formdata).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n completeMultiUpload(request: CompleteMultiUploadRequest): Observable<any> {\n\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/complete\";\n\n return this.httpclient.post(url, request).pipe(\n tap(res => { }),\n catchError((error: HttpErrorResponse) => {\n return of(error);\n }));\n }\n\n\n\n selectAllFile() {\n\n if (!this.fileAllSelected) {\n this.files.forEach(element => {\n\n element.selectd = true;\n });\n this.fileAllSelected = true;\n this.selectedFileCount = this.files.length;\n\n } else {\n this.files.forEach(element => {\n\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\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\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 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 imgUrl = sanitizer.bypassSecurityTrustResourceUrl(imgUrl);\n }\n fileInfo.source = imgUrl;\n this.files.push(fileInfo);\n\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 }\n }\n }\n\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\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\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\n getStreamDownloadUrl(metadataId: string, rootId: string) {\n return \"/api/runtime/dfs/v1.0/formdoc/stream?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 { 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 { FarrisFormsModule } from '@farris/ui-forms'\nimport { DownloadService } from './download.service';\nimport { LocalLangPipe } from '../local.pipe';\nimport { CacheService, HttpService, LanguageService, SessionService } from '@ecp-caf/caf-common';\nimport { HttpClientModule } from '@angular/common/http';\n\n\n\n@NgModule({\n declarations: [FileUploadComponent, LocalLangPipe],\n imports: [\n CommonModule,\n NotifyModule,\n MessagerModule.forRoot(),\n LoadingModule.forRoot(),\n ProgressModule,\n FormsModule,\n FarrisFormsModule,\n ComboListModule,\n HttpClientModule\n ],\n exports: [FileUploadComponent],\n entryComponents: [FileUploadComponent],\n providers: [UploadService, DownloadService, LanguageService, HttpService, CacheService, SessionService,\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 { 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 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 \"./gspdocsecuritybaseinfo\";\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}","import { GspDocMetaProperty } from './gspdocmetaproperty';\r\n\r\nexport class GspFormDocInfo {\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileContent: string;\r\n public index: number;\r\n public total: number;\r\n public size: number;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export 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 { 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} ","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: any;\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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"}
|
|
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/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/entity/copyfilerequest.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/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/gspdocsecuritybaseinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/initmultiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/completemultiuploadrequest.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformstreamentity.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/multiuploadrequest.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/gspformdocinfo.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspdocmetaproperty.ts","ng://@gsp-svc/formdoc-upload/lib/upload/entity/gspformuploadentity.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 { HttpClientModule } from '@angular/common/http';\nimport { LOCALE_ID, NgModule } from '@angular/core';\nimport { CacheService, HttpService, LanguageService, SessionService } 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 HttpClientModule\n ],\n \n exports: [FormdocUploadComponent],\n providers:[ LanguageService,HttpService,CacheService,SessionService,\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}","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}","export class CopyFileRequest{\r\n public metadataId:string;\r\n public rootId:string;\r\n public path:string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { GspFormUploadListEntity } from './entity/gspformuploadlistentity';\r\nimport { HttpService } from '@ecp-caf/caf-common';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { GspFormRemoveListEntity } from './entity/gspformremovelistentity';\r\nimport { of } from 'rxjs/observable/of';\r\nimport { GspFormDocOperateEntity } from './entity/gspformdocoperateentity';\r\n\r\nimport { GspFormUploadEntity } from './entity/gspformuploadentity';\r\nimport { ExStorageFileInfo } from './entity/extensionstoragefileinfo';\r\nimport { ChangeInstanceRequest } from './entity/changeinstancerequest';\r\nimport { OperatingModes } from './entity/operatingmodes';\r\nimport { GspDocSecurityBaseInfo } from './entity/gspdocsecuritybaseinfo';\r\nimport { UploadFileInfo } from './entity/uploadfileinfo';\r\nimport { ExPropertyRequest } from './entity/expropertyrequest';\r\nimport { CopyFileRequest } from './entity/copyfilerequest';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class UploadService {\r\n\r\n constructor(private http: HttpService, private httpclient: HttpClient) { }\r\n\r\n uploadList(docListInfo: GspFormUploadListEntity, rootId: string): Observable<any> {\r\n let url;\r\n docListInfo.rootId = rootId;\r\n\r\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.post(url, docListInfo).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n\r\n commit(metadataIdList: string[], rootId: string): Observable<any> {\r\n let url;\r\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\r\n entity.metadataIdList = metadataIdList;\r\n entity.rootId = rootId;\r\n url = \"/api/runtime/dfs/v1.0/formdoc/commit\";\r\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/commit\";\r\n\r\n return this.http.post(url, entity).pipe();\r\n }\r\n\r\n cancel(metadataIdList: string[], rootId: string): Observable<any> {\r\n let url;\r\n let entity: GspFormDocOperateEntity = new GspFormDocOperateEntity;\r\n entity.metadataIdList = metadataIdList;\r\n entity.rootId = rootId;\r\n url = \"/api/runtime/dfs/v1.0/formdoc/cancel\";\r\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/cancel\";\r\n //localStorage.setItem(\"SessionId\",\"huoliang\");\r\n return this.http.put(url, entity).pipe();\r\n }\r\n\r\n removeList(idList: string[], rootId: string) {\r\n let url;\r\n //url = \"http://localhost:5000/api/runtime/dfs/v1.0/formdoc/list\";\r\n url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n var idListInfo = new GspFormRemoveListEntity;\r\n idListInfo.metadataIdList = idList;\r\n idListInfo.mode = OperatingModes.Temp;\r\n idListInfo.rootId = rootId;\r\n return this.http.delete(url, idListInfo).pipe();\r\n }\r\n\r\n getFile(metadataId: string, rootId: string) {\r\n\r\n let url;\r\n if (rootId == \"\")\r\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId;\r\n else\r\n url = \"/api/runtime/dfs/v1.0/formdoc/file/\" + metadataId + \"/\" + rootId;\r\n return this.http.get(url).pipe(tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n\r\n }\r\n\r\n uploadFile(docInfo: GspFormUploadEntity): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.post(url, docInfo).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n uploadSliceFile(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/slice\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.httpclient.post(url, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n\r\n getStorageExtensionInfo(): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/extension\";\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n getSecurityInfoList(baseInfo: GspDocSecurityBaseInfo): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/storagestrategy/security\";\r\n url = url + \"?id=\" + baseInfo.securityId + \"&level=\" + baseInfo.securityLevel;\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n changeStorageInstance(storageInfoList: ExStorageFileInfo[], rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/changeinstance\";\r\n let request: ChangeInstanceRequest = new ChangeInstanceRequest;\r\n request.fileInfoList = storageInfoList;\r\n request.rootId = rootId;\r\n return this.http.post(url, request).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n copyFile(metadataId: string, rootId: string, path: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/copy\";\r\n let request: CopyFileRequest = new CopyFileRequest;\r\n request.metadataId = metadataId;\r\n request.rootId = rootId;\r\n request.path = path;\r\n return this.httpclient.post(url, request,{responseType: 'text'}).pipe(\r\n tap(res => { }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // return of(error);\r\n // })\r\n );\r\n }\r\n\r\n saveSecurityInfo(uploadFileInfoList: UploadFileInfo[], rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/doc/exproperty\";\r\n let reqList: ExPropertyRequest[] = [];\r\n uploadFileInfoList.forEach(element => {\r\n let request: ExPropertyRequest = { id: element.metadataId, rootId: rootId, exProperty: JSON.stringify(element.securityInfo) };\r\n reqList.push(request);\r\n })\r\n return this.http.post(url, reqList).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }))\r\n }\r\n\r\n\r\n getUploadedFileInfoList(formId: string, rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/uploadedfile/infolist\" + \"?formid=\" + formId + \"&rootid=\" + rootId;\r\n //url = \"/api/runtime/dfs/v1.0/formdoc/list\";\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n getUploadInfo(rootId: string): Observable<any> {\r\n let url = \"/api/runtime/dfs/v1.0/rootsetting/info?id=\" + rootId;\r\n\r\n return this.http.get(url).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n // getRootSetting(rootId: string): Observable<any> {\r\n // let url = \"/api/runtime/dfs/v1.0/rootsetting/\" + rootId;\r\n\r\n // return this.http.get(url).pipe(\r\n // tap(res => { }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // return of(error);\r\n // }));\r\n // }\r\n\r\n // getValidation(id: string): Observable<any> {\r\n // let url = \"/api/runtime/dfs/v1.0/validation/\" + id;\r\n\r\n // return this.http.get(url).pipe(\r\n // tap(res => { }),\r\n // catchError((error: HttpErrorResponse) => {\r\n // return of(error);\r\n // }));\r\n // }\r\n\r\n}\r\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}","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 'mismatchChunkSize':'ææ¡£åçä¸ä¼ é¨å丢失ï¼è¯·éæ°ä¸ä¼ ï¼å¦æå¤æ¬¡ä¸ä¼ 失败ï¼è¯·è系管çåã'\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 'mismatchChunkSize':'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.'\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 'mismatchChunkSize':'The partial upload of document shards is missing. Please upload again. If multiple uploads fail, please contact the administrator.'\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 'mismatchChunkSize':'ææªåçä¸å³é¨åéºå¤±ï¼è«éæ°ä¸å³ï¼å¦æå¤æ¬¡ä¸å³å¤±æï¼è«è¯ç³»ç®¡çå¡ã'\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}","export class InitMultiUploadRequest {\r\n public path: string;\r\n public metadataId: string;\r\n public rootId: string;\r\n public fileName: string;\r\n public size: number;\r\n}","import { MultiUploadResult } from \"./multiuploadresult\";\r\n\r\nexport class CompleteMultiUploadRequest {\r\n public metadataId: string;\r\n public rootId: string;\r\n public uploadId: string;\r\n public size: number;\r\n public partList: MultiUploadResult[];\r\n public exPropertyName: string;\r\n}","import { GspDocMetaProperty } from \"./gspdocmetaproperty\";\r\nimport { OperatingModes } from \"./operatingmodes\";\r\n\r\nexport class GspFormStreamEntity {\r\n public formId: string;\r\n public metadataId: string;\r\n public rootId: string;\r\n public fileName: string;\r\n public size: number;\r\n public mode: OperatingModes;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export class MultiUploadRequest {\r\n public metadataId: string;\r\n\r\n public total: number;\r\n\r\n public size: number;\r\n\r\n public index: number;\r\n\r\n public rootId: string;\r\n\r\n public uploadId: string;\r\n}","import { Component, OnInit, Input, ViewChild, TemplateRef, Injector, LOCALE_ID } from '@angular/core';\r\nimport { FileInfo } from '../entity/fileinfo';\r\nimport { DocType } from '../entity/doctype';\r\nimport { GspFormDocInfo } from '../entity/gspformdocinfo';\r\nimport { OperatingModes } from '../entity/operatingmodes';\r\nimport { UploadService } from '../upload.service';\r\nimport { UploadFileInfo } from '../entity/uploadfileinfo';\r\nimport { MessagerService } from '@farris/ui-messager';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport { GspFormUploadEntity } from '../entity/gspformuploadentity';\r\nimport { UUID } from 'angular2-uuid';\r\nimport { StorageExtension } from '../entity/storageextension';\r\nimport { ExStorageFileInfo } from '../entity/extensionstoragefileinfo';\r\nimport { DropListEntity } from '../entity/droplistentity';\r\nimport { LoadingService } from '@farris/ui-loading';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FileState } from '../entity/filestate';\r\nimport { LocalLangPipe } from '../../local.pipe';\r\nimport { GspDocSecurityBaseInfo } from '../entity/gspdocsecuritybaseinfo';\r\nimport { SecurityEntity } from '../entity/securityentity';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { InitMultiUploadRequest } from '../entity/initmultiuploadrequest';\r\nimport { CompleteMultiUploadRequest } from '../entity/completemultiuploadrequest';\r\nimport { GspFormStreamEntity } from '../entity/gspformstreamentity';\r\nimport { MultiUploadRequest } from '../entity/multiuploadrequest';\r\nimport { MultiUploadResult } from '../entity/multiuploadresult';\r\n\r\n\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.css'],\r\n})\r\nexport class FileUploadComponent implements OnInit {\r\n\r\n files: FileInfo[] = [];\r\n metadataIdList: string[] = [];\r\n uploadFileInfoList: UploadFileInfo[] = [];\r\n errFileList: string[] = [];\r\n errTypeList: string[] = [];\r\n nullFileList: string[] = [];\r\n beyondFileList: string[] = [];\r\n showType: number = 0;\r\n mouseOn: boolean = false;\r\n bufferSize = 5 * 1024 * 1024;\r\n selectedFiles: any;\r\n radioButtonGroupValue;\r\n selectedFileCount: number = 0;\r\n\r\n uploadIconAddress = '/platform/runtime/dfs/images/upload.svg';\r\n uploadLittleIconAddress = '/platform/runtime/dfs/images/uploadIcon.svg';\r\n\r\n hasSelectedFile: boolean = false;\r\n\r\n fileAllSelected: boolean = false;\r\n\r\n uploadProcess = { width: '0%' };\r\n\r\n fileTotalChunk: { [key: string]: number } = {};\r\n\r\n requestArray: Array<Observable<any>> = new Array;\r\n\r\n requestBodyArray: Array<GspFormUploadEntity> = new Array;\r\n\r\n uploadedChunk: { [key: string]: number } = {};\r\n uploadedProcess: { [key: string]: number } = {};\r\n\r\n //allSelected: boolean = true;\r\n storageExtension: StorageExtension;\r\n\r\n defaultPropertyName: string = \"\";\r\n propertiesNames: DropListEntity[] = [];\r\n\r\n securityInfoList: SecurityEntity[] = [];\r\n\r\n queueListStyle = { width: '480px' };\r\n\r\n dropListValue: string = \"\";\r\n\r\n uploadedFileTotal: number = 0;\r\n\r\n allowedMultiUpload: boolean;\r\n\r\n haveExtensionProperty: boolean = false;\r\n\r\n haveSecurityInfo: boolean = false;\r\n\r\n uploadedFileInfoList = [];\r\n oldUploadedFileList = [];\r\n //uploadedNameList = [];\r\n\r\n sameNameAllowed = true;\r\n maxFileSize: number = 0;;\r\n localeid: string;\r\n localepipe: LocalLangPipe;\r\n httpclient: HttpClient;\r\n checkboxPos = { top: '0px' }\r\n\r\n constructor(private msgService: MessagerService, private uploadService: UploadService, private loadService: LoadingService, private injector?: Injector) {\r\n if (this.injector) {\r\n this.httpclient = this.injector.get(HttpClient);\r\n this.localeid = localStorage.getItem(\"languageCode\") || this.injector.get(LOCALE_ID);\r\n this.localepipe = new LocalLangPipe(this.localeid);\r\n }\r\n }\r\n @Input() formId: string;\r\n @Input() rootId: string;\r\n @Input() fileType: string = \"*\";\r\n @Input() fileCount: number = 0;\r\n @Input() oldIdList: string[] = [];\r\n @Input() securityInfo: GspDocSecurityBaseInfo = null;\r\n\r\n @ViewChild('opCell') opCell: TemplateRef<any>;\r\n\r\n ngOnInit() {\r\n if (navigator.userAgent.indexOf('Firefox') >= 0)\r\n this.checkboxPos.top = '14px';\r\n //if (this.storageService != null) {\r\n if (this.securityInfo != null) {\r\n this.uploadService.getSecurityInfoList(this.securityInfo).subscribe(\r\n res => {\r\n this.haveSecurityInfo = true;\r\n let i = 0;\r\n res.forEach(element => {\r\n this.securityInfoList.push({ id: i.toString(), securityId: element.securityId, securityLevel: element.securityLevel, name: element.name });\r\n i++;\r\n });\r\n }\r\n )\r\n }\r\n this.uploadService.getStorageExtensionInfo().subscribe(\r\n res => {\r\n if (res != null && res.error == null) {\r\n this.storageExtension = res;\r\n this.defaultPropertyName = this.storageExtension.defaultPropertyName;\r\n this.propertiesNames.push({ id: \"0\", name: this.storageExtension.defaultPropertyName });\r\n let i = 0;\r\n // this.propertiesNames.push(...(this.storageExtension.extensionPropertyNameList));\r\n this.storageExtension.extensionPropertyNameList.forEach(element => {\r\n this.propertiesNames.push({ id: (++i).toString(), name: element });\r\n });\r\n this.queueListStyle.width = '380px';\r\n this.haveExtensionProperty = true;\r\n }\r\n }\r\n )\r\n\r\n this.uploadService.getUploadInfo(this.rootId).subscribe(\r\n res => {\r\n if (res != null && res.error == null) {\r\n this.sameNameAllowed = res.sameNameAllowed;\r\n this.maxFileSize = parseInt(JSON.parse(res.validateConfiguration).maxFileSize);\r\n this.allowedMultiUpload = res.allowedMultiUpload;\r\n if (!this.sameNameAllowed) {\r\n this.uploadService.getUploadedFileInfoList(this.formId, this.rootId).subscribe(\r\n res => {\r\n if (res != null && res.error == null) {\r\n this.uploadedFileInfoList = res;\r\n this.oldUploadedFileList = JSON.parse(JSON.stringify(res));;\r\n\r\n }\r\n })\r\n }\r\n\r\n }\r\n }\r\n )\r\n if (this.oldIdList != null && this.oldIdList.length > 0) {\r\n // this.uploadService.cancel(this.oldIdList, this.rootId).subscribe();\r\n }\r\n\r\n this.radioButtonGroupValue = 'showByGroup';\r\n }\r\n\r\n totalLoad: any = null;\r\n\r\n showLoading() {\r\n this.hasSelectedFile = true;\r\n // if (this.totalLoad == null)\r\n // this.totalLoad = this.loadService.show({\r\n // message: this.localepipe.transform('uploading')\r\n // });\r\n }\r\n\r\n\r\n fileSelected($event) {\r\n\r\n this.hasSelectedFile = true;\r\n this.selectedFiles = document.querySelector('#file');\r\n\r\n if (this.fileCount > 0) {\r\n if (this.selectedFiles.files.length + this.files.length > this.fileCount) {\r\n let selectedNum: number = (this.selectedFiles.files.length as number) + this.files.length;\r\n this.msgService.warning(this.localepipe.transform('selectedCount') + selectedNum + this.localepipe.transform('limitCount') + this.fileCount + this.localepipe.transform('rechooseFile'));\r\n return;\r\n }\r\n }\r\n\r\n //this.flag = 0;\r\n for (let i = 0; i < this.selectedFiles.files.length; i++) {\r\n let selectedFile = this.selectedFiles.files[i];\r\n //selectedFile.slice\r\n let uuid = UUID.UUID();\r\n\r\n if (selectedFile.size == 0) {\r\n this.nullFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n\r\n if (this.maxFileSize != null && this.maxFileSize > 0) {\r\n if (selectedFile.size > this.maxFileSize * 1000) {\r\n this.beyondFileList.push(selectedFile.name);\r\n continue;\r\n }\r\n }\r\n\r\n if (!this.sameNameAllowed) {\r\n if (this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name) != null) {\r\n\r\n const msg = this.msgService.show('warning', this.localepipe.transform('haveSameName') + selectedFile.name, {\r\n initialState: {\r\n buttons: [\r\n {\r\n text: this.localepipe.transform('rename'),\r\n cls: 'btn btn-secondary',\r\n handle: () => {\r\n let oldName: string = selectedFile.name;\r\n let newName\r\n let flag = true;\r\n let i = 1;\r\n while (flag) {\r\n newName = oldName.substring(0, oldName.lastIndexOf('.')) + '(' + i + ')' + oldName.substring(oldName.lastIndexOf('.'));\r\n if (this.uploadedFileInfoList.find(x => x.fileName == newName) != null) {\r\n i++;\r\n }\r\n else\r\n flag = false;\r\n }\r\n\r\n this.uploadFile(uuid, selectedFile, newName);\r\n msg.close();\r\n }\r\n },\r\n {\r\n text: this.localepipe.transform('replace'),\r\n cls: 'btn btn-secondary',\r\n handle: () => {\r\n uuid = this.uploadedFileInfoList.find(x => x.fileName == selectedFile.name).metadataId;\r\n this.uploadFile(uuid, selectedFile, selectedFile.name, FileState.Update);\r\n this.uploadedFileTotal--;\r\n if (this.oldUploadedFileList.find(x => x.fileName == selectedFile.name)) {\r\n this.uploadedFileTotal++;\r\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == selectedFile.name)[0]), 1);\r\n }\r\n msg.close();\r\n }\r\n },\r\n {\r\n text: this.localepipe.transform('cancel'),\r\n cls: 'btn btn-secondary',\r\n handle: () => {\r\n msg.close();\r\n }\r\n }\r\n ]\r\n }\r\n })\r\n continue;\r\n }\r\n }\r\n this.uploadFile(uuid, selectedFile, selectedFile.name);\r\n\r\n }\r\n\r\n if (this.errFileList.length > 0) {\r\n let name: string = this.listToString(this.errFileList);\r\n this.msgService.warning(this.localepipe.transform('haveSameName') + name + this.localepipe.transform('rechooseFile'));\r\n this.errFileList = [];\r\n }\r\n\r\n if (this.nullFileList.length > 0) {\r\n let name: string = this.listToString(this.nullFileList);\r\n name = name.substring(0, name.length - 1);\r\n this.msgService.warning(name + this.localepipe.transform('sizeZero') + this.localepipe.transform('rechooseFile'));\r\n this.nullFileList = [];\r\n }\r\n\r\n if (this.beyondFileList.length > 0) {\r\n let name: string = this.listToString(this.beyondFileList);\r\n name = name.substring(0, name.length - 1);\r\n this.msgService.warning(name + this.localepipe.transform('sizeMax') + this.maxFileSize + \"KB\" + this.localepipe.transform('rechooseFile'));\r\n this.beyondFileList = [];\r\n }\r\n this.files = this.files.slice();\r\n this.fileAllSelected = false;\r\n $event.target.value = '';\r\n // loading.close();\r\n }\r\n\r\n showErrorMessage(file) {\r\n this.msgService.error(this.localepipe.transform('uploadFailure') + file.errorMessage);\r\n }\r\n\r\n handleFileInfo(uuid: string, selectedFile, fileName: string): any {\r\n\r\n let fileInfo: FileInfo;\r\n\r\n fileInfo = {\r\n id: uuid,\r\n name: fileName,\r\n type: selectedFile.type,\r\n source: \"\",\r\n size: this.getFileSize(selectedFile.size),\r\n fileSize: selectedFile.size,\r\n picListDisplayName: this.getPicListDisplayName(fileName),\r\n queueListDisplayName: this.getQueueDisplayName(fileName),\r\n //content: reader.result.toString(),\r\n hasUploaded: false,\r\n mouseOn: false,\r\n selectd: false,\r\n isUploading: true,\r\n uploadResult: false,\r\n uploadProcess: 0,\r\n errorMessage: \"\",\r\n extensionDropListId: 0,\r\n extensionName: \"\",\r\n securityDropListId: 0,\r\n securityInfo: this.securityInfoList[0]\r\n }\r\n\r\n if (this.storageExtension != null)\r\n fileInfo.extensionName = this.defaultPropertyName;\r\n\r\n\r\n let type: string = selectedFile.type;\r\n if (type.includes(\"tiff\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\r\n }\r\n else if (type.includes(\"image\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Image);\r\n }\r\n else if (type.includes(\"word\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Word);\r\n }\r\n else if (type.includes(\"pdf\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Pdf);\r\n }\r\n else if (type.includes(\"plain\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Txt);\r\n }\r\n else if (type.includes(\"sheet\") || type.includes(\"excel\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Excel)\r\n }\r\n else if (type.includes(\"powerpoint\") || type.includes(\"presentation\")) {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Powerpoint);\r\n }\r\n else {\r\n this.addDocInfo(selectedFile, fileInfo, DocType.Other);\r\n // let name: string = selectedFile.name;\r\n // let errType = name.substring(selectedFile.name.lastIndexOf('.'));\r\n // this.errTypeList.push(errType);\r\n }\r\n return fileInfo;\r\n }\r\n\r\n uploadFile(uuid: string, selectedFile, fileName: string, state: FileState = FileState.New) {\r\n\r\n let fileInfo = this.handleFileInfo(uuid, selectedFile, fileName);\r\n\r\n let uploadFileInfo = new UploadFileInfo();\r\n\r\n uploadFileInfo.metadataId = uuid;\r\n uploadFileInfo.fileName = fileInfo.name;\r\n uploadFileInfo.fileSize = fileInfo.size;\r\n uploadFileInfo.state = state;\r\n uploadFileInfo.securityInfo = this.securityInfoList[0];\r\n\r\n\r\n //夿æ¯å¦æ¯æåçä¸ä¼ \r\n if (this.allowedMultiUpload) {\r\n\r\n //æ¯æåçä¸ä¼ \r\n let initRequest: InitMultiUploadRequest = new InitMultiUploadRequest;\r\n\r\n initRequest.path = this.formId;\r\n initRequest.metadataId = uuid;\r\n initRequest.rootId = this.rootId;\r\n initRequest.size = fileInfo.fileSize;\r\n initRequest.fileName = fileName;\r\n\r\n //åå§ååç\r\n this.initMultiUpload(initRequest).subscribe(res => {\r\n if (res.error != null) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n let uploadId = res.uploadId;\r\n let chunkTotal: number = Math.ceil(selectedFile.size / this.bufferSize);\r\n let chunkIndex: number = 0;\r\n\r\n let multiResultList: MultiUploadResult[] = [];\r\n\r\n this.fileTotalChunk[uuid] = chunkTotal;\r\n this.uploadedChunk[uuid] = 0;\r\n\r\n while (chunkIndex < chunkTotal) {\r\n\r\n let nextSize = Math.min((chunkIndex + 1) * this.bufferSize, selectedFile.size);\r\n let fileData = selectedFile.slice(chunkIndex * this.bufferSize, nextSize);\r\n\r\n let multiRequest = new MultiUploadRequest;\r\n multiRequest.metadataId = uuid;\r\n multiRequest.rootId = this.rootId;\r\n multiRequest.uploadId = uploadId;\r\n multiRequest.index = chunkIndex;\r\n multiRequest.total = chunkTotal;\r\n multiRequest.size = fileData.size;\r\n\r\n let formData = new FormData();\r\n formData.append('multiRequest', JSON.stringify(multiRequest));\r\n formData.append('file', fileData);\r\n\r\n this.multiUpload(formData).subscribe(res => {\r\n if (res.error != null) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n multiResultList.push(res.result);\r\n this.uploadedChunk[uuid]++;\r\n this.files[this.files.indexOf(fileInfo)].uploadProcess = Number.parseInt((this.uploadedChunk[uuid] / this.fileTotalChunk[uuid] * 100).toFixed(0));\r\n if (this.uploadedChunk[uuid] == this.fileTotalChunk[uuid]) {\r\n if (multiResultList.length == this.fileTotalChunk[uuid]) {\r\n\r\n let completeMultiUploadRequest: CompleteMultiUploadRequest = new CompleteMultiUploadRequest;\r\n completeMultiUploadRequest.metadataId = uuid;\r\n completeMultiUploadRequest.partList = multiResultList;\r\n completeMultiUploadRequest.rootId = this.rootId;\r\n completeMultiUploadRequest.uploadId = uploadId;\r\n completeMultiUploadRequest.size = fileInfo.fileSize;\r\n if (this.haveExtensionProperty)\r\n completeMultiUploadRequest.exPropertyName = this.defaultPropertyName;\r\n this.completeMultiUpload(completeMultiUploadRequest).subscribe(res => {\r\n if (res.status != 200) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = true;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileTotal++;\r\n }\r\n })\r\n //åå°å¼æ¥æ¼æ¥ææ¡£\r\n } else {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = this.localepipe.transform('mismatchChunkSize');\r\n }\r\n\r\n }\r\n }\r\n })\r\n\r\n chunkIndex = chunkIndex + 1;\r\n }\r\n }\r\n\r\n })\r\n\r\n } else {\r\n let entity = new GspFormStreamEntity;\r\n entity.formId = this.formId;\r\n entity.metadataId = uuid;\r\n entity.mode = OperatingModes.Temp;\r\n entity.rootId = this.rootId;\r\n entity.size = selectedFile.size;\r\n entity.fileName = fileName;\r\n if (this.haveExtensionProperty)\r\n entity.exPropertyName = this.defaultPropertyName;\r\n\r\n let formData = new FormData();\r\n formData.append('uploadEntity', JSON.stringify(entity));\r\n formData.append('file', selectedFile);\r\n\r\n this.uploadSingleFile(formData).subscribe(res => {\r\n if (res != null) {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = false;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.files[this.files.indexOf(fileInfo)].errorMessage = res.error.Message;\r\n } else {\r\n this.files[this.files.indexOf(fileInfo)].uploadResult = true;\r\n this.files[this.files.indexOf(fileInfo)].isUploading = false;\r\n this.uploadFileInfoList = this.uploadFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileInfoList = this.uploadedFileInfoList.concat(uploadFileInfo);\r\n this.uploadedFileTotal++;\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n let index = -1;\r\n this.files.forEach(x => {\r\n if (x.name == fileInfo.name) {\r\n if (index == -1)\r\n index = this.files.indexOf(x);\r\n }\r\n })\r\n if (index != -1 && index != this.files.length - 1) {\r\n this.files.splice(index, 1);\r\n this.uploadFileInfoList.splice(index, 1);\r\n this.uploadedFileInfoList.splice(index, 1);\r\n //this.uploadedFileTotal--;\r\n }\r\n\r\n }\r\n\r\n\r\n uploadSingleFile(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/single\";\r\n\r\n return this.httpclient.post(url, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n uploadSliceFile(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/slice\";\r\n\r\n return this.httpclient.post(url, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n initMultiUpload(request: InitMultiUploadRequest): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/init\";\r\n\r\n return this.httpclient.post(url, request).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n multiUpload(formdata: FormData): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/upload\";\r\n\r\n return this.httpclient.post(url, formdata).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n completeMultiUpload(request: CompleteMultiUploadRequest): Observable<any> {\r\n\r\n let url = \"/api/runtime/dfs/v1.0/formdoc/multi/complete\";\r\n\r\n return this.httpclient.post(url, request).pipe(\r\n tap(res => { }),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(error);\r\n }));\r\n }\r\n\r\n\r\n\r\n selectAllFile() {\r\n\r\n if (!this.fileAllSelected) {\r\n this.files.forEach(element => {\r\n\r\n element.selectd = true;\r\n });\r\n this.fileAllSelected = true;\r\n this.selectedFileCount = this.files.length;\r\n\r\n } else {\r\n this.files.forEach(element => {\r\n\r\n element.selectd = false;\r\n });\r\n this.fileAllSelected = false;\r\n this.selectedFileCount = 0;\r\n }\r\n }\r\n\r\n\r\n checkoutSelectFile(file: FileInfo) {\r\n // let obj: any = document.getElementById(fileName);\r\n file.selectd = !file.selectd;\r\n if (file.selectd)\r\n this.selectedFileCount++;\r\n else\r\n this.selectedFileCount--;\r\n if (this.selectedFileCount == this.files.length) {\r\n this.fileAllSelected = true;\r\n //this.isFileAllSelected();\r\n }\r\n else {\r\n this.fileAllSelected = false;\r\n //this.isFileAllSelected();\r\n }\r\n\r\n }\r\n\r\n listDeleteFile(fileInfo: FileInfo) {\r\n if (fileInfo.selectd)\r\n this.selectedFileCount--;\r\n //console.log(fileName);\r\n this.files.splice(this.files.indexOf(fileInfo), 1);\r\n if (fileInfo.uploadResult) {\r\n let idList: string[] = [];\r\n idList.push(fileInfo.id);\r\n this.uploadService.cancel(idList, this.rootId).subscribe();\r\n\r\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\r\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == fileInfo.name)[0]), 1);\r\n this.uploadedFileTotal--;\r\n }\r\n if (this.selectedFileCount == 0)\r\n this.fileAllSelected = false;\r\n }\r\n\r\n listMultipleDeleteFile() {\r\n let selectedFile: FileInfo[] = [];\r\n this.files.forEach(element => {\r\n let obj: any = document.getElementById(element.name);\r\n if (obj.checked)\r\n selectedFile.push(element);\r\n })\r\n let metadataList: string[] = [];\r\n selectedFile.forEach(element => {\r\n metadataList.push(element.id);\r\n this.files.splice(this.files.indexOf(element), 1);\r\n if (element.uploadResult) {\r\n\r\n this.uploadFileInfoList.splice(this.uploadFileInfoList.indexOf(this.uploadFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\r\n this.uploadedFileInfoList.splice(this.uploadedFileInfoList.indexOf(this.uploadedFileInfoList.filter(x => x.fileName == element.name)[0]), 1);\r\n this.uploadedFileTotal--;\r\n }\r\n })\r\n this.uploadService.cancel(metadataList, this.rootId).subscribe();\r\n\r\n let allBox: any = document.getElementById(\"allCheckBox\");\r\n if (allBox != null)\r\n allBox.checked = false;\r\n this.selectedFileCount = 0;\r\n this.fileAllSelected = false;\r\n }\r\n\r\n\r\n getPicListDisplayName(fileName: string) {\r\n if (fileName.length <= 10)\r\n return fileName;\r\n else {\r\n let headContent = fileName.substring(0, 2);\r\n let tailContent = fileName.substring(fileName.lastIndexOf('.') - 2);\r\n return headContent + \"â¦\" + tailContent;\r\n }\r\n }\r\n\r\n getQueueDisplayName(fileName: string) {\r\n return fileName;\r\n }\r\n\r\n addDocInfo(selectdFile, fileInfo: FileInfo, docType: DocType) {\r\n\r\n switch (docType) {\r\n case DocType.Word: {\r\n fileInfo.source = \"/platform/runtime/dfs/images/word.png\"\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Pdf: {\r\n fileInfo.source = \"/platform/runtime/dfs/images/pdf.png\"\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Excel: {\r\n fileInfo.source = \"/platform/runtime/dfs/images/excel.png\";\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Txt: {\r\n fileInfo.source = \"/platform/runtime/dfs/images/txt.png\";\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Powerpoint: {\r\n fileInfo.source = \"/platform/runtime/dfs/images/ppt.png\";\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Other: {\r\n fileInfo.source = \"/platform/runtime/dfs/images/file.png\";\r\n this.files.push(fileInfo);\r\n break;\r\n }\r\n\r\n case DocType.Image: {\r\n let reader = new FileReader();\r\n reader.readAsDataURL(selectdFile);\r\n reader.onload = (_event) => {\r\n let imgUrl = reader.result;\r\n if (this.injector != null) {\r\n let sanitizer = this.injector.get(DomSanitizer);\r\n imgUrl = sanitizer.bypassSecurityTrustResourceUrl(imgUrl);\r\n }\r\n fileInfo.source = imgUrl;\r\n this.files.push(fileInfo);\r\n\r\n //å ä¸ºå¼æ¥å¤ççå·®å¼ï¼è¡¥å¿ä¸æ¬¡å é¤\r\n let index = -1;\r\n this.files.forEach(x => {\r\n if (x.name == fileInfo.name) {\r\n if (index == -1)\r\n index = this.files.indexOf(x);\r\n }\r\n })\r\n if (index != -1 && index != this.files.length - 1) {\r\n this.files.splice(index, 1);\r\n this.uploadFileInfoList.splice(index, 1);\r\n this.uploadedFileInfoList.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n listToString(strList: string[]) {\r\n let name: string = \"\";\r\n for (let i = 0; i < strList.length; i++) {\r\n name += strList[i] + \",\";\r\n }\r\n return name;\r\n }\r\n\r\n securityChange($event: any, file: FileInfo) {\r\n file.securityInfo = $event.data;\r\n let uploadFile = this.uploadFileInfoList.filter(x => x.metadataId = file.id)[0];\r\n uploadFile.securityInfo = $event.data;\r\n }\r\n\r\n\r\n exStorageFileList: ExStorageFileInfo[] = [];\r\n\r\n typeChange($event: any, file: FileInfo) {\r\n file.extensionName = $event.data.name;\r\n let exStorageFileInfo: ExStorageFileInfo = new ExStorageFileInfo;\r\n if (file.extensionName == this.storageExtension.defaultPropertyName) {\r\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0)\r\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1)\r\n } else {\r\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\r\n exStorageFileInfo = this.exStorageFileList.filter(x => x.metadataId == file.id)[0];\r\n exStorageFileInfo.exPropertyName = file.extensionName;\r\n } else {\r\n exStorageFileInfo.metadataId = file.id;\r\n exStorageFileInfo.exPropertyName = file.extensionName;\r\n this.exStorageFileList.push(exStorageFileInfo);\r\n }\r\n }\r\n }\r\n\r\n upload(): Observable<any> {\r\n if (this.uploadedFileTotal != this.files.filter(x => x.isUploading || x.uploadResult).length) {\r\n\r\n this.msgService.warning(this.localepipe.transform('wait'));\r\n return of(false);\r\n }\r\n if (this.haveSecurityInfo) {\r\n this.uploadService.saveSecurityInfo(this.uploadFileInfoList, this.rootId).subscribe();\r\n }\r\n if (this.storageExtension == null)\r\n return of(this.uploadFileInfoList);\r\n else {\r\n if (this.exStorageFileList.length == 0)\r\n return of(this.uploadFileInfoList);\r\n else {\r\n const loading = this.loadService.show({\r\n message: this.localepipe.transform('saveTo') + this.storageExtension.extensionName\r\n });\r\n return this.uploadService.changeStorageInstance(this.exStorageFileList, this.rootId).pipe(\r\n map(res => {\r\n // if (res != null)\r\n // this.msgService.error('ä¿åå°' + this.storageExtension.extensionName + \"失败ï¼ä¸ä¼ æä»¶èªå¨ä¿åå°\" + this.storageExtension.defaultPropertyName + \"åå¨ã\" + res.error.Message);\r\n loading.close();\r\n return this.uploadFileInfoList;\r\n }))\r\n }\r\n }\r\n }\r\n\r\n cancel() {\r\n if (this.uploadFileInfoList.length == 0)\r\n return;\r\n this.uploadFileInfoList.forEach(element => {\r\n this.metadataIdList.push(element.metadataId);\r\n })\r\n this.uploadService.cancel(this.metadataIdList, this.rootId).subscribe();\r\n\r\n }\r\n\r\n getUploadFileInfoList() {\r\n return this.uploadFileInfoList;\r\n }\r\n\r\n delete(file) {\r\n this.files.splice(this.files.indexOf(file), 1);\r\n if (file.uploadResult)\r\n this.uploadedFileTotal--;\r\n if (this.exStorageFileList.filter(x => x.metadataId == file.id).length > 0) {\r\n this.exStorageFileList.splice(this.exStorageFileList.findIndex(x => x.metadataId == file.id), 1);\r\n }\r\n\r\n }\r\n\r\n getFileSize(size: number) {\r\n if (size < 102400)\r\n return (size / 1024).toFixed(1) + \"K\";\r\n else if (size < 1024 * 1024)\r\n return (size / 1024).toFixed(0) + \"K\";\r\n else if (size < 100 * 1024 * 1024)\r\n return (size / 1024 / 1024).toFixed(1) + \"M\";\r\n else if (size < 1024 * 1024 * 1024)\r\n return (size / 1024 / 1024).toFixed(0) + \"M\";\r\n else\r\n return (size / 1024 / 1024 / 1024).toFixed(1) + \"G\";\r\n }\r\n showByGroup() {\r\n this.showType = 0;\r\n // this.selectedFileCount = 0;\r\n }\r\n\r\n showByList() {\r\n this.showType = 1;\r\n // this.selectedFileCount = 0;\r\n if (this.selectedFileCount != 0 && this.selectedFileCount == this.files.length) {\r\n this.fileAllSelected = true;\r\n }\r\n }\r\n\r\n mouseOver(file) {\r\n file.mouseOn = true;\r\n }\r\n mouseOut(file) {\r\n file.mouseOn = false;\r\n }\r\n\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\n\r\n@Injectable()\r\nexport class DownloadService {\r\n\r\n constructor() { }\r\n\r\n getDownloadUrl(metadataId: string, rootId: string) {\r\n return \"/api/runtime/dfs/v1.0/doc/filecontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\r\n }\r\n\r\n\r\n getStreamDownloadUrl(metadataId: string, rootId: string) {\r\n return \"/api/runtime/dfs/v1.0/formdoc/stream?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\r\n }\r\n\r\n getMultipleDownloadUrl(metadataIdList: string, rootId: string) {\r\n let list: string[] = JSON.parse(metadataIdList);\r\n return \"/api/runtime/dfs/v1.0/doc/multiple/download?metadataidlist=\" + metadataIdList + \"&rootid=\" + rootId + \"&token=\" + this.getToken(this.mergeString(list[0], rootId));\r\n }\r\n\r\n getMultipleDownloadUrlWithName(metadataIdList: string, rootId: string, zipName: string) {\r\n let list: string[] = JSON.parse(metadataIdList);\r\n if (zipName == null || zipName == \"\")\r\n zipName = 'unifile.zip';\r\n if (!zipName.endsWith(\".zip\"))\r\n zipName += '.zip';\r\n\r\n\r\n\r\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);\r\n }\r\n\r\n getHistoryDownloadUrl(metadataId: string, rootId: string, version: string) {\r\n //let list:string[]=JSON.parse(metadataIdList);\r\n return \"/api/runtime/dfs/v1.0/doc/historycontent?metadataid=\" + metadataId + \"&rootid=\" + rootId + \"&version=\" + version + \"&token=\" + this.getToken(this.mergeString(metadataId, rootId));\r\n }\r\n\r\n\r\n\r\n private mergeString(str: string, str1: string): string {\r\n let min = str.length < str1.length ? str.length : str1.length;\r\n let res: string = \"\";\r\n let i = 0;\r\n for (i = 0; i < min; i++) {\r\n res += str.substring(i, i + 1);\r\n res += str1.substring(i, i + 1);\r\n }\r\n res += str.length < str1.length ? str1.substring(i) : str.substring(i);\r\n return res;\r\n }\r\n\r\n private getToken(str: string): string {\r\n let array = [1, 2, 3];\r\n if (str.length > 24)\r\n str = str.substring(0, 24);\r\n let length = Math.floor(str.length / 3);\r\n let str1 = str.substring(0, length);\r\n let str2 = str.substring(length, 2 * length);\r\n let str3 = str.substring(2 * length, 3 * length);\r\n let randomArray = [];\r\n var random = Math.ceil(Math.random() * 3);\r\n randomArray.push(array[random - 1]);\r\n array.splice(random - 1, 1);\r\n random = Math.ceil(Math.random() * 2);\r\n randomArray.push(array[random - 1]);\r\n array.splice(random - 1, 1);\r\n randomArray.push(array[0]);\r\n let timeStamp: string = Math.round(new Date().getTime() / 1000) + \"\";\r\n\r\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);\r\n }\r\n\r\n private switchStr(str1: string, str2: string, str3: string, i: number): string {\r\n switch (i) {\r\n case 1: return str1;\r\n case 2: return str2;\r\n case 3: return str3;\r\n }\r\n }\r\n\r\n\r\n}\r\n","import { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FileUploadComponent } from './file-upload/file-upload.component';\r\nimport { NotifyModule } from '@farris/ui-notify';\r\nimport { MessagerModule } from '@farris/ui-messager';\r\nimport { UploadService } from './upload.service';\r\nimport { LoadingModule } from '@farris/ui-loading';\r\nimport { ProgressModule } from '@farris/ui-progress'\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ComboListModule } from '@farris/ui-combo-list';\r\nimport { FarrisFormsModule } from '@farris/ui-forms'\r\nimport { DownloadService } from './download.service';\r\nimport { LocalLangPipe } from '../local.pipe';\r\nimport { CacheService, HttpService, LanguageService, SessionService } from '@ecp-caf/caf-common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [FileUploadComponent, LocalLangPipe],\r\n imports: [\r\n CommonModule,\r\n NotifyModule,\r\n MessagerModule.forRoot(),\r\n LoadingModule.forRoot(),\r\n ProgressModule,\r\n FormsModule,\r\n FarrisFormsModule,\r\n ComboListModule,\r\n HttpClientModule\r\n ],\r\n exports: [FileUploadComponent],\r\n entryComponents: [FileUploadComponent],\r\n providers: [UploadService, DownloadService, LanguageService, HttpService, CacheService, SessionService,\r\n { provide: LOCALE_ID, useValue: localStorage.getItem('languageCode') || 'zh-CHS' },]\r\n\r\n})\r\nexport class UploadModule { }\r\n\r\nexport const ɵa = UploadModule;\r\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 { 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 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 \"./gspdocsecuritybaseinfo\";\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}","import { GspDocMetaProperty } from './gspdocmetaproperty';\r\n\r\nexport class GspFormDocInfo {\r\n public metadataId: string;\r\n public fileName: string;\r\n public fileContent: string;\r\n public index: number;\r\n public total: number;\r\n public size: number;\r\n public exPropertyName: string;\r\n public extProperty: GspDocMetaProperty;\r\n}","export 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 { 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} ","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: any;\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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"}
|
|
@@ -11,7 +11,7 @@ import { FormsModule } from '@angular/forms';
|
|
|
11
11
|
import { ComboListModule } from '@farris/ui-combo-list';
|
|
12
12
|
import { FarrisFormsModule } from '@farris/ui-forms';
|
|
13
13
|
import { CacheService, HttpService, LanguageService, SessionService } from '@ecp-caf/caf-common';
|
|
14
|
-
import { Injectable, Pipe, Inject, LOCALE_ID, Component,
|
|
14
|
+
import { Injectable, Pipe, Inject, LOCALE_ID, Component, Injector, ComponentFactoryResolver, NgModule, ViewChild, Input, defineInjectable } from '@angular/core';
|
|
15
15
|
import { BsModalService } from '@farris/ui-modal';
|
|
16
16
|
import { of as of$1 } from 'rxjs';
|
|
17
17
|
import { HttpClientModule, HttpClient } from '@angular/common/http';
|