@dignite-ng/expand.file-explorer 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/config/ng-package.json +7 -0
  2. package/config/{enums/index.d.ts → src/enums/index.ts} +1 -1
  3. package/config/src/enums/route-names.ts +15 -0
  4. package/config/src/file-config.module.ts +12 -0
  5. package/config/{providers/index.d.ts → src/providers/index.ts} +1 -1
  6. package/config/src/providers/route.provider.ts +26 -0
  7. package/config/{public-api.d.ts → src/public-api.ts} +3 -3
  8. package/ng-package.json +7 -0
  9. package/package.json +3 -27
  10. package/src/lib/components/dome/file-dome.component.html +18 -0
  11. package/src/lib/components/dome/file-dome.component.scss +0 -0
  12. package/src/lib/components/dome/file-dome.component.spec.ts +21 -0
  13. package/src/lib/components/dome/file-dome.component.ts +33 -0
  14. package/src/lib/components/file-edit/file-edit.component.html +29 -0
  15. package/src/lib/components/file-edit/file-edit.component.scss +0 -0
  16. package/src/lib/components/file-edit/file-edit.component.spec.ts +21 -0
  17. package/src/lib/components/file-edit/file-edit.component.ts +98 -0
  18. package/src/lib/components/file-modal/file-modal.component.html +112 -0
  19. package/src/lib/components/file-modal/file-modal.component.scss +56 -0
  20. package/src/lib/components/file-modal/file-modal.component.spec.ts +21 -0
  21. package/src/lib/components/file-modal/file-modal.component.ts +284 -0
  22. package/src/lib/components/file-modal-tree/file-modal-tree.component.html +63 -0
  23. package/src/lib/components/file-modal-tree/file-modal-tree.component.scss +0 -0
  24. package/src/lib/components/file-modal-tree/file-modal-tree.component.spec.ts +21 -0
  25. package/src/lib/components/file-modal-tree/file-modal-tree.component.ts +207 -0
  26. package/src/lib/components/file-picker/file-picker.component.html +28 -0
  27. package/src/lib/components/file-picker/file-picker.component.scss +0 -0
  28. package/src/lib/components/file-picker/file-picker.component.spec.ts +21 -0
  29. package/src/lib/components/file-picker/file-picker.component.ts +58 -0
  30. package/src/lib/components/index.ts +5 -0
  31. package/src/lib/file-explorer-routing.module.ts +18 -0
  32. package/src/lib/file-explorer.module.ts +46 -0
  33. package/src/lib/proxy/README.md +17 -0
  34. package/src/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.ts +65 -0
  35. package/{lib/proxy/dignite/file-explorer/directories/models.d.ts → src/lib/proxy/dignite/file-explorer/directories/models.ts} +35 -29
  36. package/src/lib/proxy/dignite/file-explorer/files/file-descriptor.service.ts +86 -0
  37. package/src/lib/proxy/dignite/file-explorer/files/models.ts +58 -0
  38. package/src/lib/proxy/generate-proxy.json +11810 -0
  39. package/{lib/proxy/microsoft/asp-net-core/mvc/models.d.ts → src/lib/proxy/microsoft/asp-net-core/mvc/models.ts} +12 -10
  40. package/src/lib/proxy/microsoft/extensions/primitives/models.ts +9 -0
  41. package/{lib/proxy/microsoft/net/http/headers/models.d.ts → src/lib/proxy/microsoft/net/http/headers/models.ts} +7 -6
  42. package/src/lib/proxy/volo/abp/content/models.ts +6 -0
  43. package/src/lib/services/file-api.service.ts +59 -0
  44. package/src/lib/services/index.ts +1 -0
  45. package/{public-api.d.ts → src/public-api.ts} +5 -0
  46. package/tsconfig.lib.json +14 -0
  47. package/tsconfig.lib.prod.json +10 -0
  48. package/tsconfig.spec.json +14 -0
  49. package/config/enums/route-names.d.ts +0 -3
  50. package/config/file-config.module.d.ts +0 -8
  51. package/config/index.d.ts +0 -5
  52. package/config/providers/route.provider.d.ts +0 -8
  53. package/esm2022/config/dignite-ng-expand.file-explorer-config.mjs +0 -5
  54. package/esm2022/config/enums/index.mjs +0 -2
  55. package/esm2022/config/enums/route-names.mjs +0 -2
  56. package/esm2022/config/file-config.module.mjs +0 -19
  57. package/esm2022/config/providers/index.mjs +0 -2
  58. package/esm2022/config/providers/route.provider.mjs +0 -24
  59. package/esm2022/config/public-api.mjs +0 -4
  60. package/esm2022/dignite-ng-expand.file-explorer.mjs +0 -5
  61. package/esm2022/lib/components/dome/file-dome.component.mjs +0 -32
  62. package/esm2022/lib/components/file-edit/file-edit.component.mjs +0 -102
  63. package/esm2022/lib/components/file-modal/file-modal.component.mjs +0 -271
  64. package/esm2022/lib/components/file-modal-tree/file-modal-tree.component.mjs +0 -195
  65. package/esm2022/lib/components/file-picker/file-picker.component.mjs +0 -57
  66. package/esm2022/lib/components/index.mjs +0 -6
  67. package/esm2022/lib/file-explorer-routing.module.mjs +0 -25
  68. package/esm2022/lib/file-explorer.module.mjs +0 -83
  69. package/esm2022/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.mjs +0 -48
  70. package/esm2022/lib/proxy/dignite/file-explorer/directories/index.mjs +0 -3
  71. package/esm2022/lib/proxy/dignite/file-explorer/directories/models.mjs +0 -2
  72. package/esm2022/lib/proxy/dignite/file-explorer/files/file-descriptor.service.mjs +0 -60
  73. package/esm2022/lib/proxy/dignite/file-explorer/files/index.mjs +0 -3
  74. package/esm2022/lib/proxy/dignite/file-explorer/files/models.mjs +0 -2
  75. package/esm2022/lib/proxy/dignite/file-explorer/index.mjs +0 -4
  76. package/esm2022/lib/proxy/dignite/index.mjs +0 -3
  77. package/esm2022/lib/proxy/index.mjs +0 -5
  78. package/esm2022/lib/proxy/microsoft/asp-net-core/index.mjs +0 -3
  79. package/esm2022/lib/proxy/microsoft/asp-net-core/mvc/index.mjs +0 -2
  80. package/esm2022/lib/proxy/microsoft/asp-net-core/mvc/models.mjs +0 -2
  81. package/esm2022/lib/proxy/microsoft/extensions/index.mjs +0 -3
  82. package/esm2022/lib/proxy/microsoft/extensions/primitives/index.mjs +0 -2
  83. package/esm2022/lib/proxy/microsoft/extensions/primitives/models.mjs +0 -2
  84. package/esm2022/lib/proxy/microsoft/index.mjs +0 -5
  85. package/esm2022/lib/proxy/microsoft/net/http/headers/index.mjs +0 -2
  86. package/esm2022/lib/proxy/microsoft/net/http/headers/models.mjs +0 -2
  87. package/esm2022/lib/proxy/microsoft/net/http/index.mjs +0 -3
  88. package/esm2022/lib/proxy/microsoft/net/index.mjs +0 -3
  89. package/esm2022/lib/proxy/volo/abp/content/index.mjs +0 -2
  90. package/esm2022/lib/proxy/volo/abp/content/models.mjs +0 -2
  91. package/esm2022/lib/proxy/volo/abp/index.mjs +0 -3
  92. package/esm2022/lib/proxy/volo/index.mjs +0 -3
  93. package/esm2022/lib/services/file-api.service.mjs +0 -66
  94. package/esm2022/lib/services/index.mjs +0 -2
  95. package/esm2022/public-api.mjs +0 -8
  96. package/fesm2022/dignite-ng-expand.file-explorer-config.mjs +0 -47
  97. package/fesm2022/dignite-ng-expand.file-explorer-config.mjs.map +0 -1
  98. package/fesm2022/dignite-ng-expand.file-explorer.mjs +0 -972
  99. package/fesm2022/dignite-ng-expand.file-explorer.mjs.map +0 -1
  100. package/index.d.ts +0 -5
  101. package/lib/components/dome/file-dome.component.d.ts +0 -19
  102. package/lib/components/file-edit/file-edit.component.d.ts +0 -38
  103. package/lib/components/file-modal/file-modal.component.d.ts +0 -93
  104. package/lib/components/file-modal-tree/file-modal-tree.component.d.ts +0 -66
  105. package/lib/components/file-picker/file-picker.component.d.ts +0 -23
  106. package/lib/components/index.d.ts +0 -5
  107. package/lib/file-explorer-routing.module.d.ts +0 -7
  108. package/lib/file-explorer.module.d.ts +0 -18
  109. package/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.d.ts +0 -17
  110. package/lib/proxy/dignite/file-explorer/files/file-descriptor.service.d.ts +0 -20
  111. package/lib/proxy/dignite/file-explorer/files/models.d.ts +0 -50
  112. package/lib/proxy/microsoft/extensions/primitives/models.d.ts +0 -8
  113. package/lib/proxy/volo/abp/content/models.d.ts +0 -5
  114. package/lib/services/file-api.service.d.ts +0 -14
  115. package/lib/services/index.d.ts +0 -1
  116. /package/{lib/proxy/dignite/file-explorer/directories/index.d.ts → src/lib/proxy/dignite/file-explorer/directories/index.ts} +0 -0
  117. /package/{lib/proxy/dignite/file-explorer/files/index.d.ts → src/lib/proxy/dignite/file-explorer/files/index.ts} +0 -0
  118. /package/{lib/proxy/dignite/file-explorer/index.d.ts → src/lib/proxy/dignite/file-explorer/index.ts} +0 -0
  119. /package/{lib/proxy/dignite/index.d.ts → src/lib/proxy/dignite/index.ts} +0 -0
  120. /package/{lib/proxy/index.d.ts → src/lib/proxy/index.ts} +0 -0
  121. /package/{lib/proxy/microsoft/asp-net-core/index.d.ts → src/lib/proxy/microsoft/asp-net-core/index.ts} +0 -0
  122. /package/{lib/proxy/microsoft/asp-net-core/mvc/index.d.ts → src/lib/proxy/microsoft/asp-net-core/mvc/index.ts} +0 -0
  123. /package/{lib/proxy/microsoft/extensions/index.d.ts → src/lib/proxy/microsoft/extensions/index.ts} +0 -0
  124. /package/{lib/proxy/microsoft/extensions/primitives/index.d.ts → src/lib/proxy/microsoft/extensions/primitives/index.ts} +0 -0
  125. /package/{lib/proxy/microsoft/index.d.ts → src/lib/proxy/microsoft/index.ts} +0 -0
  126. /package/{lib/proxy/microsoft/net/http/headers/index.d.ts → src/lib/proxy/microsoft/net/http/headers/index.ts} +0 -0
  127. /package/{lib/proxy/microsoft/net/http/index.d.ts → src/lib/proxy/microsoft/net/http/index.ts} +0 -0
  128. /package/{lib/proxy/microsoft/net/index.d.ts → src/lib/proxy/microsoft/net/index.ts} +0 -0
  129. /package/{lib/proxy/volo/abp/content/index.d.ts → src/lib/proxy/volo/abp/content/index.ts} +0 -0
  130. /package/{lib/proxy/volo/abp/index.d.ts → src/lib/proxy/volo/abp/index.ts} +0 -0
  131. /package/{lib/proxy/volo/index.d.ts → src/lib/proxy/volo/index.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"dignite-ng-expand.file-explorer.mjs","sources":["../../../projects/file-explorer/src/lib/services/file-api.service.ts","../../../projects/file-explorer/src/lib/components/file-edit/file-edit.component.ts","../../../projects/file-explorer/src/lib/components/file-edit/file-edit.component.html","../../../projects/file-explorer/src/lib/proxy/dignite/file-explorer/files/file-descriptor.service.ts","../../../projects/file-explorer/src/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.ts","../../../projects/file-explorer/src/lib/components/file-modal-tree/file-modal-tree.component.ts","../../../projects/file-explorer/src/lib/components/file-modal-tree/file-modal-tree.component.html","../../../projects/file-explorer/src/lib/components/file-modal/file-modal.component.ts","../../../projects/file-explorer/src/lib/components/file-modal/file-modal.component.html","../../../projects/file-explorer/src/lib/components/file-picker/file-picker.component.ts","../../../projects/file-explorer/src/lib/components/file-picker/file-picker.component.html","../../../projects/file-explorer/src/lib/components/dome/file-dome.component.ts","../../../projects/file-explorer/src/lib/components/dome/file-dome.component.html","../../../projects/file-explorer/src/lib/file-explorer-routing.module.ts","../../../projects/file-explorer/src/lib/file-explorer.module.ts","../../../projects/file-explorer/src/public-api.ts","../../../projects/file-explorer/src/dignite-ng-expand.file-explorer.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileApiService {\n\n constructor() { }\n\n /**转换文件大小单位 输入k */\n formatFileSize(bytes: any) {\n const units = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n let size = bytes;\n let unitIndex = 0;\n\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex++;\n }\n // 保留两位小数,四舍五入\n size = size.toFixed(1)\n return `${size} ${units[unitIndex]}`;\n }\n /**获取图片的本地连接 */\n getImageLacolBase64Url(file: File) {\n return new Promise((resolve, rejects) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (e: any) => {\n resolve(e.target.result)\n };\n reader.onerror = error => rejects(error);\n })\n }\n /**\n * 深拷贝--方法\n * $api.deepClone() */\n deepClone(obj) {\n if (typeof obj !== 'object' || obj === null) return obj;\n const result = Array.isArray(obj) ? [] : {};\n for (let key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n if (obj[key] instanceof Date) {\n result[key] = new Date(obj[key].getTime());\n } else if (obj[key] instanceof RegExp) {\n result[key] = new RegExp(obj[key]);\n } else {\n result[key] = this.deepClone(obj[key]);\n }\n } else {\n result[key] = obj[key];\n }\n }\n }\n return result;\n }\n\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FileApiService } from '../../services/file-api.service';\n\n@Component({\n selector: 'fe-file-edit',\n templateUrl: './file-edit.component.html',\n styleUrls: ['./file-edit.component.scss']\n})\nexport class FileEditComponent {\n constructor(\n public _FileApiService: FileApiService,\n ) { }\n\n /**是否多选 */\n _multiple: boolean = true\n @Input()\n public set multiple(v: boolean) {\n this._multiple = v;\n if (v) { }\n }\n /**文件数据--已上传的数据 */\n _fileData: any[] = []\n @Input()\n public set fileData(v: any[]) {\n this._fileData = v;\n if (v.length > 0) {\n this.getFileChange({ target: { files: v } })\n }\n }\n /** 跟随表单提交--已提交的数据,或选择的数据源--回调*/\n @Output() fileDataChange = new EventEmitter()\n\n /**文件大小限制 \n * @param 1mb\n */\n sizeLimit: number = 1048576\n @Input()\n public set limit(v: number) {\n this.sizeLimit = v;\n }\n\n /**文件表格数据 */\n filesTableData: any[] = []\n /** 待删除已上传的文件们*/\n deleteTheUploadedFiles: any[] = []\n\n /**获取文件选择框的元素 */\n @ViewChild('fileEdit', { static: true }) fileEdit: ElementRef;\n\n\n /**获取文件信息改变 */\n async getFileChange(event) {\n let files = new Array(...event.target.files)\n /**需要等待setfileSizeUnits执行完后在执行其他方法--需要完善 */\n await this.waitFileToAddTable(files)\n this.fileHandling()\n }\n\n /**等待将文件数据加入到文件表格数据中 */\n waitFileToAddTable(files) {\n return new Promise(async (resolve, rejects) => {\n this.filesTableData.push(...await this.setfileSizeUnits(files))\n resolve(true)\n })\n }\n\n /**删除文件表格的项 */\n deleteFileTableItem(index, item) {\n this.filesTableData.splice(index, 1)\n if (item.id) {\n this.deleteTheUploadedFiles.push(item)\n }\n this.fileHandling()\n }\n\n /**文件处理-调用回调函数 */\n fileHandling() {\n let theFilesToBeUploaded = this.filesTableData.filter(el => !el.id)\n //判断图片大小是否超过限制-用于判断表单是否允许提交\n let isSubmit = !this.filesTableData.some(el => el.size > this.sizeLimit);\n this.fileDataChange.emit({ theFilesToBeUploaded, deleteTheUploadedFiles: this.deleteTheUploadedFiles, isSubmit })\n }\n\n /**设置值文件大小单位/ */\n async setfileSizeUnits(files: File[] | any[]): Promise<any> {\n return new Promise((resolve, rejects) => {\n let formattedFiles = []\n files.forEach(async (file) => {\n file.fileSize = this._FileApiService.formatFileSize(file.size)\n formattedFiles.push(file)\n //设置选择图片的本地url\n if (!file.src) file.src = await this._FileApiService.getImageLacolBase64Url(file);\n });\n resolve(files)\n })\n }\n\n}\n","<div class=\"input-group mb-2\">\n <input type=\"file\" class=\"form-control\" #fileEdit [multiple]=\"_multiple\" accept=\".jpg,.jpeg,.png,.gif,.webp\"(change)=\"getFileChange($event)\">\n</div>\n\n<table class=\"table\" *ngIf=\"filesTableData.length>0\">\n <thead>\n <tr>\n <th scope=\"col\">{{'FileExplorer::FileName' | abpLocalization}}</th>\n <th scope=\"col\">{{'FileExplorer::FileSize' | abpLocalization}}</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of filesTableData;let i =index\">\n <tr>\n <th scope=\"row\">\n <div>{{item.name}}</div>\n <div class=\"form-text text-danger\" *ngIf=\"item.size > sizeLimit\">{{'FileExplorer::ExceedsMaximumSize' | abpLocalization:_FileApiService.formatFileSize(sizeLimit)}}</div>\n </th>\n <td>{{item.fileSize}}</td>\n <td>\n <button class=\"btn btn-sm p-0 btn-light \" (click.stop)=\"deleteFileTableItem(i,item)\">\n <i class=\"fas fa-trash p-2\"></i>\n </button>\n </td>\n </tr>\n </ng-container>\n </tbody>\n</table>","import type { CreateFileInput, FileContainerConfigurationDto, FileDescriptorDto, GetFilesInput, ImageResizeInput, UpdateFileInput } from './models';\r\nimport { RestService, Rest } from '@abp/ng.core';\r\nimport type { PagedResultDto } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { FileResult } from '../../../microsoft/asp-net-core/mvc/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FileDescriptorService {\r\n apiName = 'FileExplorer';\r\n \r\n\r\n create = (input: CreateFileInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, FileDescriptorDto>({\r\n method: 'POST',\r\n url: '/api/file-explorer/files',\r\n params: { containerName: input.containerName, cellName: input.cellName, directoryId: input.directoryId, entityId: input.entityId },\r\n body: input.file,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n delete = (id: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/file-explorer/files/${id}`,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n download = (containerName: string, blobName: string, fileName: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, FileResult>({\r\n method: 'GET',\r\n url: `/api/file-explorer/files/download/${containerName}/${blobName}`,\r\n params: { fileName },\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n get = (id: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, FileDescriptorDto>({\r\n method: 'GET',\r\n url: `/api/file-explorer/files/${id}`,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n getFileContainerConfiguration = (containerName: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, FileContainerConfigurationDto>({\r\n method: 'GET',\r\n url: '/api/file-explorer/files/configuration',\r\n params: { containerName },\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n getList = (input: GetFilesInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, PagedResultDto<FileDescriptorDto>>({\r\n method: 'GET',\r\n url: '/api/file-explorer/files',\r\n params: { containerName: input.containerName, directoryId: input.directoryId, creatorId: input.creatorId, filter: input.filter, entityId: input.entityId, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n getStream = (containerName: string, blobName: string, imageResize?: ImageResizeInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, Blob>({\r\n method: 'GET',\r\n responseType: 'blob',\r\n url: `/api/file-explorer/files/${containerName}/${blobName}`,\r\n params: { width: imageResize.width, height: imageResize.height },\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n update = (id: string, input: UpdateFileInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, FileDescriptorDto>({\r\n method: 'PUT',\r\n url: `/api/file-explorer/files/${id}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import type { CreateDirectoryInput, DirectoryDescriptorDto, DirectoryDescriptorInfoDto, GetDirectoriesInput, MoveDirectoryInput, UpdateDirectoryInput } from './models';\r\nimport { RestService, Rest } from '@abp/ng.core';\r\nimport type { PagedResultDto } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FileDescriptorService {\r\n apiName = 'FileExplorer';\r\n \r\n\r\n create = (input: CreateDirectoryInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, DirectoryDescriptorDto>({\r\n method: 'POST',\r\n url: '/api/file-explorer/directories',\r\n body: input,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n delete = (id: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/file-explorer/directories/${id}`,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n get = (id: string, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, DirectoryDescriptorDto>({\r\n method: 'GET',\r\n url: `/api/file-explorer/directories/${id}`,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n getList = (input: GetDirectoriesInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, PagedResultDto<DirectoryDescriptorInfoDto>>({\r\n method: 'GET',\r\n url: '/api/file-explorer/directories',\r\n params: { containerName: input.containerName },\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n move = (id: string, input: MoveDirectoryInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, DirectoryDescriptorDto>({\r\n method: 'PUT',\r\n url: `/api/file-explorer/directories/${id}/move`,\r\n body: input,\r\n },\r\n { apiName: this.apiName,...config });\r\n \r\n\r\n update = (id: string, input: UpdateDirectoryInput, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, DirectoryDescriptorDto>({\r\n method: 'PUT',\r\n url: `/api/file-explorer/directories/${id}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName,...config });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { NzFormatEmitEvent } from 'ng-zorro-antd/tree';\nimport * as DescriptorService from '../../proxy/dignite/file-explorer/directories';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { NzFormatBeforeDropEvent } from 'ng-zorro-antd/tree';\nimport { of } from 'rxjs';\nimport { FileApiService } from '../../services/file-api.service';\nimport { LocalizationService } from '@abp/ng.core';\nvar that;\n@Component({\n selector: 'fe-file-modal-tree',\n templateUrl: './file-modal-tree.component.html',\n styleUrls: ['./file-modal-tree.component.scss']\n})\nexport class FileModalTreeComponent {\n constructor(\n private _DescriptorService: DescriptorService.FileDescriptorService,\n private fb: FormBuilder,\n private toaster: ToasterService,\n public _FileApiService: FileApiService,\n public _LocalizationService: LocalizationService,\n ) {\n that = this\n }\n\n /**文件分组列表 */\n fileGroupList: any[] = [];\n\n /**选择的tree节点 */\n _theSelectedTreeNode: any = '';\n @Input()\n public set theSelectedTreeNode(v: any) {\n this._theSelectedTreeNode = v;\n if (v.length > 0) {\n this.loadData()\n }\n }\n\n /**正在编辑的节点 */\n theNodeBeingEdited: any = '';\n\n /**已展开的节点 */\n anExpandedNode: any[] = [];\n\n /**图片容器 */\n _fileContainerName: string;\n\n /**tree节点选择回调 */\n @Output() nodeClick = new EventEmitter();\n\n\n @Input()\n public set fileContainerName(v: string) {\n if (v) {\n this._fileContainerName = v;\n this.loadData()\n }\n }\n\n handleClick = (event) => event.stopPropagation();\n\n loadData() {\n if (this._fileContainerName) {\n this.getFileGroupList()\n }\n }\n\n\n /**获取文件分组 */\n getFileGroupList() {\n this._DescriptorService.getList({\n containerName: this._fileContainerName,\n }).subscribe(async (res) => {\n this.fileGroupList = await this.setTheValueOfTheNodeRecursively(res.items)\n })\n }\n \n /**递归设置节点的值 */\n setTheValueOfTheNodeRecursively(array: any[]): any {\n return new Promise((reslove, rejects) => {\n array.forEach((el) => {\n el.title = el.name\n el.key = el.id\n el.expanded = this.anExpandedNode.includes(el.key)\n if (el.children.length > 0) {\n this.setTheValueOfTheNodeRecursively(el.children)\n }\n })\n reslove(array)\n })\n }\n\n /**tree-拖拽 */\n nzEvent(event: NzFormatEmitEvent): void {\n }\n\n /**tree-拖拽 -验证*/\n beforeDrop(arg: NzFormatBeforeDropEvent) {\n if (arg.pos === 0 || arg.pos === 1) {\n that._DescriptorService.move(arg.dragNode.key, {\n \"parentId\": arg.pos === 1 ? (arg.node.parentNode?.key||'') : arg.node.key,\n \"order\": arg.pos === 1 ? arg.node.origin.order + 1 : arg.node.origin.children.length + 1\n }).subscribe(res => {\n // that.toaster.success(\"拖拽完成\");\n that.getFileGroupList()\n })\n return of(true)\n } else {\n return of(false);\n }\n }\n\n /**tree--选择节点 */\n activeNode(event) {\n this._theSelectedTreeNode = event.node\n this.nodeClick.emit(event.node)\n }\n\n /**判断节点是否选中 */\n isNodeSelected = (el) => el.key === this._theSelectedTreeNode?.key\n\n /**点击展开树节点图标触发 */\n nzExpandChange(event) {\n let anExpandedNode = this.anExpandedNode\n if (anExpandedNode.includes(event.node.key)) {\n anExpandedNode = anExpandedNode.filter(key => key !== event.node.key)\n } else {\n anExpandedNode.push(event.node.key)\n }\n this.anExpandedNode = anExpandedNode\n }\n\n\n /**增加分组 */\n addDescriptorBtn(items: any = '', edit = false) {\n this.ModalDescriptorOpen = true\n this.ModalDescriptorForm = this.fb.group({\n containerName: [this._fileContainerName || '', Validators.required],\n name: ['', Validators.required],\n parentId: [items?.key || '', Validators.required],\n })\n /**编辑 */\n if (edit) {\n this.theNodeBeingEdited = items.origin\n this.ModalDescriptorForm.patchValue({\n name: items.origin.name\n })\n }\n }\n\n /**删除分组 */\n deleteDescriptorBtn(node) {\n this._DescriptorService.delete(node.key).subscribe(res => {\n // this.toaster.success(this._LocalizationService.instant(`AbpUi::SuccessfullyDeleted`));\n this.ModalDescriptorOpen = false\n if (this.theNodeBeingEdited.key == node.key) this.theNodeBeingEdited = ''\n this.getFileGroupList()\n })\n }\n\n \n\n /**分组 */\n /**模态框-状态-是否打开 */\n ModalDescriptorOpen: boolean = false\n\n /**模态框-descriptor-繁忙状态-用于确定模态的繁忙状态是否为真 */\n ModalDescriptorBusy: boolean = false\n\n /**模态框-descriptor-表单 */\n ModalDescriptorForm: FormGroup | undefined;\n \n /**模态框-descriptor-表单--控件模板-动态赋值表单控件 */\n @ViewChild('ModalFormDescriptorSubmit', { static: false }) ModalFormDescriptorSubmit: ElementRef;\n\n /**模态框-descriptor-状态改变回调 */\n ModalDescriptorVisibleChange(event) {\n if (!event) {\n this.ModalDescriptorForm = undefined\n this.theNodeBeingEdited = ''\n return\n }\n }\n\n /**f分组模态框保存 */\n createOrEditSave() {\n let input = this.ModalDescriptorForm.value\n if (this.theNodeBeingEdited) {\n this._DescriptorService.update(this.theNodeBeingEdited.key, input).subscribe(res => {\n // this.toaster.success(\"保存成功\");\n this.ModalDescriptorOpen = false\n this.getFileGroupList()\n })\n return\n }\n this._DescriptorService.create(input).subscribe(res => {\n // this.toaster.success(\"保存成功\");\n this.ModalDescriptorOpen = false\n this.getFileGroupList()\n })\n }\n\n\n\n\n}\n","<div class=\"card-header p-0 mb-1 d-flex justify-content-between align-items-center\">\n <h6 class=\"h6 mb-0\">{{'FileExplorer::MyDirectories' | abpLocalization}}</h6>\n <button type=\"button\" class=\"btn btn-light btn-sm ms-2\" (click.stop)=\"addDescriptorBtn()\"><i\n class=\"fas fa-plus-circle\" aria-hidden=\"true\"></i></button>\n</div>\n<nz-tree [nzData]=\"fileGroupList\" class=\"ng-zorro-antd-tree\" nzDraggable nzBlockNode nzShowIcon\n [nzExpandedIcon]=\"multiExpandedIconTpl\" (nzOnDrop)=\"nzEvent($event)\" [nzBeforeDrop]=\"beforeDrop\"\n (nzClick)=\"activeNode($event)\" (nzExpandChange)=\"nzExpandChange($event)\" [nzTreeTemplate]=\"nzTreeTemplate\">\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <div class=\"custom-node d-inline-block ng-star-inserted dropdown\" [title]=\"node.title\">\n <div #dropdown=\"ngbDropdown\" class=\"d-inline-block\" ngbDropdown placement=\"bottom\" container=\"body\">\n <div class=\"btn-group\" [class.selected]=\"isNodeSelected(node)\">\n <button class=\"btn btn-sm p-0 px-1\">{{ node.title }}</button>\n <button class=\"btn btn-sm p-0\" (click)=\"handleClick($event)\" ngbDropdownToggle\n [class.dropdown-toggle]=\"false\" aria-hidden=\"true\">\n <i class=\"fas fa-caret-down text-muted p-1\"></i>\n </button>\n </div>\n <div ngbDropdownMenu>\n <button ngbDropdownItem\n (click.stop)=\"addDescriptorBtn(node)\">{{'FileExplorer::NewDirectory' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"addDescriptorBtn(node,true)\">{{'AbpUi::Edit' | abpLocalization}}</button>\n <button ngbDropdownItem\n (click.stop)=\"deleteDescriptorBtn(node)\">{{'AbpUi::Delete' | abpLocalization}}</button>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template #multiExpandedIconTpl let-node let-origin=\"origin\">\n <ng-container *ngIf=\"node.children.length > 0\">\n <i [class]=\"node.isExpanded ? 'fas fa-caret-down' : 'fas fa-caret-right'\"></i>\n </ng-container>\n </ng-template>\n</nz-tree>\n\n\n<abp-modal [(visible)]=\"ModalDescriptorOpen\" [busy]=\"ModalDescriptorBusy\"\n (visibleChange)=\"ModalDescriptorVisibleChange($event)\">\n <ng-template #abpHeader>\n <h3>{{theNodeBeingEdited?('AbpUi::Edit' | abpLocalization):('FileExplorer::NewDirectory' | abpLocalization)}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <ng-template #loaderRef>\n <div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\" aria-hidden=\"true\"></i></div>\n </ng-template>\n <ng-container *ngIf=\"ModalDescriptorForm; else loaderRef\">\n <form class=\"sites-modal-form\" #myForm=\"ngForm\" [formGroup]=\"ModalDescriptorForm\"\n (ngSubmit)=\"createOrEditSave()\">\n <button type=\"submit\" #ModalFormDescriptorSubmit style=\"display: none\"></button>\n <div class=\"mb-3\">\n <label class=\"form-label\">{{'FileExplorer::DirectoryName' | abpLocalization}}</label>\n <input type=\"email\" class=\"form-control\" formControlName=\"name\">\n </div>\n </form>\n </ng-container>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\"\n (click)=\"ModalFormDescriptorSubmit.nativeElement.click()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport * as FileService from '../../proxy/dignite/file-explorer/files';\nimport { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\nimport { PagedResultDto, ABP, ListService, Rest, RestService, LocalizationService, LIST_QUERY_DEBOUNCE_TIME } from '@abp/ng.core';\nimport { FileDescriptorDto, GetFilesInput } from '../../proxy/dignite/file-explorer/files';\nimport { FileApiService } from '../../services/file-api.service';\nimport { SelectionType } from '@swimlane/ngx-datatable';\nvar that\n@Component({\n selector: 'fe-file-modal',\n templateUrl: './file-modal.component.html',\n styleUrls: ['./file-modal.component.scss'],\n providers: [\n // [Required]\n ListService,\n // [Optional]\n // Provide this token if you want a different debounce time.\n // Default is 300. Cannot be 0. Any value below 100 is not recommended.\n { provide: LIST_QUERY_DEBOUNCE_TIME, useValue: 500 },\n ]\n})\nexport class FileModalComponent {\n\n constructor(\n private _FileService: FileService.FileDescriptorService,\n private toaster: ToasterService,\n public readonly list: ListService,\n public _FileApiService: FileApiService,\n private restService: RestService,\n private confirmation: ConfirmationService,\n private _LocalizationService: LocalizationService,\n ) {\n that = this\n }\n\n /**图片容器 */\n _fileContainerName: string\n @Input()\n public set fileContainerName(v: string) {\n if (v) {\n this._fileContainerName = v;\n this.loadData()\n }\n }\n\n /**是否多选 */\n _multiple: boolean = true\n @Input()\n public set multiple(v: boolean) {\n this._multiple = v;\n if (v) { }\n }\n\n /**文件大小限制 \n* @param 1mb\n*/\n sizeLimit: number = 1048576\n @Input()\n public set limit(v: number) {\n this.sizeLimit = v;\n }\n /**父组件传递的模态框状态 */\n @Input()\n public set visible(v: boolean) {\n this.ModalOpen = v;\n if (v) {\n this.loadData()\n }\n }\n\n /**模态框状态回调 */\n @Output() visibleChange = new EventEmitter()\n\n\n\n /**模态框-状态-是否打开 */\n ModalOpen: boolean = false\n\n /**模态框-繁忙状态-用于确定模态的繁忙状态是否为真 */\n ModalBusy: boolean = false\n\n\n\n /**模态框-状态改变回调 */\n ModalVisibleChange(event) {\n if (!event) {\n this.visibleChange.emit(event)\n return\n }\n }\n\n /**模态框保存 */\n modalSave() {\n let selectedTablearr = this._FileApiService.deepClone(this.selectedTable)\n this.selectFilefn.emit(selectedTablearr)\n\n this.ModalVisibleChange(false)\n }\n /**dignite-file-modal-tree */\n /**选择的tree节点 */\n _theSelectedTreeNode: any = ''\n\n /**初始化数据 */\n loadData() {\n if (this.ModalOpen && this._fileContainerName) {\n this.hookToQuery()\n }\n }\n\n /**tree-节点选择 */\n _nodeClick(event) {\n this._theSelectedTreeNode = event\n this.list.get()\n }\n\n /**图片上传-要上传图片的状态文件列表 */\n uploadPictureStatusList: any[] = []\n\n /**图片上传-获取文件信息改变 */\n async getFileChange(event) {\n let files = new Array(...event.target.files)\n this.uploadPictureStatusList = files\n for (const file of files) {\n if (file.size > this.sizeLimit) {\n this.setuploadPictureStatus(file, 2)\n continue;\n }\n await this.uploadingFile(file).then(() => {\n this.setuploadPictureStatus(file, 1)\n this.list.get()\n }).catch(() => {\n this.setuploadPictureStatus(file, 2)\n }); // 等待每个文件上传完成 \n }\n this.list.get()\n let isSubmit = !this.uploadPictureStatusList.some(el => el.status == 2);\n if (isSubmit) {\n // this.toaster.success(\"上传完成\");\n setTimeout(() => {\n this.uploadPictureStatusList = []\n }, 6000)\n }\n }\n\n /**图片上传-设置uploadPictureStatusList的状态 */\n setuploadPictureStatus(file, type) {\n this.uploadPictureStatusList.map(el => {\n if (el == file) el.status = type\n })\n }\n\n\n /**图片上传-递归按顺序上传 */\n uploadingFile(file) {\n return new Promise((resolve, rejects) => {\n let formData = new FormData();\n formData.append('file', file, file.name);\n this.createFile({\n file: formData,\n containerName: this._fileContainerName,\n directoryId: this._theSelectedTreeNode?.key || '',\n entityId: ''\n }).subscribe(res => {\n resolve(true)\n }, (err) => {\n rejects(false)\n })\n })\n }\n\n\n /**文件表格-数据*/\n data: PagedResultDto<FileDescriptorDto> = {\n items: [],\n totalCount: 0,\n };\n\n /**文件表格-条件*/\n filters = {} as GetFilesInput;\n\n /**文件表格-表格自带选择类型 */\n SelectionType = SelectionType;\n\n /**文件表格-选择的表格数据项 */\n selectedTable = []\n\n /**已选定的文件 */\n @Input() selectPickerFile: any[]\n\n ngOnChanges(changes: SimpleChanges): void {\n //Called before any other lifecycle hook. Use it to inject dependencies, but avoid any serious work here.\n //Add '${implements OnChanges}' to the class.\n this.selectedTable = this._FileApiService.deepClone(this.selectPickerFile)\n }\n /**当前选择的table项 id */\n nowSelectId: any = ''\n\n /**选择文件回调 */\n // @Output() selectedFileChange = new EventEmitter<any[]>()\n @Output() selectFilefn = new EventEmitter<any[]>()\n\n /**文件表格-获取表格数据 */\n hookToQuery() {\n const getData = (query: ABP.PageQueryParams) => this._FileService.getList({\n ...query,\n ...this.filters,\n containerName: this._fileContainerName,\n directoryId: this._theSelectedTreeNode.key\n });\n const setData = (list: PagedResultDto<FileDescriptorDto>) => (this.data = list);\n this.list.hookToQuery(getData).subscribe(setData);\n }\n\n /**文件表格-查看所有分组的文件数据 */\n lookAllFile() {\n this._theSelectedTreeNode = ''\n this.list.get()\n }\n\n /**选择表格项 */\n onSelectTableItem({ selected }) {\n this.selectedTable = this._FileApiService.deepClone(selected)\n let selectedTablearr = this.removeDuplicatesById(this.selectedTable)\n if (selected.length > selectedTablearr.length) {\n selectedTablearr = selectedTablearr.filter(el => el.id !== this.nowSelectId)\n }\n this.selectedTable = selectedTablearr\n }\n\n /**删除数组中重复的项 */\n removeDuplicatesById(array) {\n const seenIds = {};\n return array.filter(item => {\n if (!seenIds[item.id]) {\n seenIds[item.id] = true;\n return true;\n }\n return false;\n });\n }\n\n /**一个布尔or函数,可用于检查是否要根据条件选择特定行。 */\n selectCheck = (row, column, value) => {\n this.nowSelectId = row.id\n return true;\n }\n\n /**判断row是否选中 */\n selectedcheckbox = (id) => {\n return this.selectedTable.some(el => el.id == id)\n }\n\n\n\n /**删除图片 */\n deleteFile(file) {\n\n this.confirmation\n .warn('', { key: '', defaultValue: this._LocalizationService.instant(`AbpUi::ItemWillBeDeletedMessage`) })\n .subscribe((status: Confirmation.Status) => {\n if (status == 'confirm') {\n this._FileService.delete(file.id).subscribe(res => {\n this.toaster.success(this._LocalizationService.instant(`AbpUi::SuccessfullyDeleted`));\n this.list.get()\n })\n }\n });\n }\n\n /**关闭文件状态弹窗 */\n closeFileStatusModal() {\n this.uploadPictureStatusList = []\n }\n\n /**创建图片的接口,代理中的file类型不匹配,切换为any类型 */\n createFile = (input: any, config?: Partial<Rest.Config>) =>\n this.restService.request<any, FileDescriptorDto>({\n method: 'POST',\n url: '/api/file-explorer/files',\n params: { containerName: input.containerName, cellName: input.cellName, directoryId: input.directoryId, entityId: input.entityId },\n body: input.file,\n },\n { apiName: 'FileExplorer', ...config });\n}\n","<abp-modal [(visible)]=\"ModalOpen\" (visibleChange)=\"ModalVisibleChange($event)\"\n [options]=\"{ size: 'xl', scrollable: false }\">\n <ng-template #abpHeader>\n <h3>{{'FileExplorer::FileExplorer' | abpLocalization}}</h3>\n </ng-template>\n <ng-template #abpBody>\n <div class=\"row file-explorer-modal-body file-modal\">\n <div class=\"col-3\" style=\"overflow: auto; height: calc(100vh - 240px)\">\n <fe-file-modal-tree [theSelectedTreeNode]=\"_theSelectedTreeNode\" (nodeClick)=\"_nodeClick($event)\"\n [fileContainerName]=\"_fileContainerName\"></fe-file-modal-tree>\n </div>\n <div class=\"col-9\" style=\"height: calc(100vh - 240px)\">\n <div class=\"mb-2 d-flex justify-content-between align-items-center\">\n <div class=\"btn-link\" role=button style=\"flex: 2\" (click)=\"lookAllFile()\">{{'FileExplorer::AllFiles' | abpLocalization}}</div>\n <div class=\"input-group form-file\" style=\"flex: 2\">\n <input type=\"file\" class=\"form-control\" #fileEdit [multiple]=\"_multiple\" accept=\".jpg,.jpeg,.png,.gif,.webp\"\n (change)=\"getFileChange($event)\" />\n </div>\n </div>\n <div>\n <ngx-datatable class=\"material container-height\" [rows]=\"data.items\" [list]=\"list\" columnMode=\"flex\"\n [columns]=\"columns\" [headerHeight]=\"50\" [footerHeight]=\"50\" rowHeight=\"auto\" [scrollbarV]=\"true\"\n [virtualization]=\"false\" [externalPaging]=\"true\" [count]=\"data.totalCount\" [selected]=\"selectedTable\"\n [selectCheck]=\"selectCheck\" [selectionType]=\"SelectionType.multiClick\" (select)=\"onSelectTableItem($event)\">\n <ngx-datatable-column [width]=\"50\" prop=\"id\" [sortable]=\"false\" [canAutoResize]=\"false\" [draggable]=\"false\"\n [resizeable]=\"false\">\n <ng-template ngx-datatable-header-template let-value=\"value\" let-allRowsSelected=\"allRowsSelected\"\n let-selectFn=\"selectFn\">\n <input type=\"checkbox\" class=\"form-check-input\" [checked]=\"allRowsSelected\"\n (change)=\"selectFn(!allRowsSelected)\" />\n </ng-template>\n <ng-template ngx-datatable-cell-template let-row=\"row\" let-value=\"value\" let-isSelected=\"isSelected\"\n let-onCheckboxChangeFn=\"onCheckboxChangeFn\">\n <input type=\"checkbox\" class=\"form-check-input\" [checked]=\"selectedcheckbox(value)\"\n (change)=\"onCheckboxChangeFn($event)\" />\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'FileExplorer::FileName' | abpLocalization\" prop=\"name\" [flexGrow]=\"4\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'FileExplorer::FileSize' | abpLocalization\" prop=\"size\" [flexGrow]=\"1.5\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ _FileApiService.formatFileSize(value) }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'FileExplorer::Directory' | abpLocalization\" prop=\"cellName\" [flexGrow]=\"1\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [name]=\"'FileExplorer::CreationTime' | abpLocalization\" prop=\"creationTime\" [flexGrow]=\"2\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n {{ value | date : 'YYYY/MM/dd HH:m:s' }}\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column [flexGrow]=\"1\">\n <ng-template let-row=\"row\" let-value=\"value\" ngx-datatable-cell-template>\n <button class=\"btn btn-sm btn-light p-0\" (click.stop)=\"deleteFile(row)\">\n <i class=\"fas fa-trash text-primary p-2\"></i>\n </button>\n </ng-template>\n </ngx-datatable-column>\n </ngx-datatable>\n </div>\n <div *ngIf=\"uploadPictureStatusList.length > 0\"\n class=\"position-fixed bottom-0 end-0 shadow-lg file-status-modal border bg-white p-1 m-5\"\n style=\"border-radius: 10px\">\n <div class=\"card\">\n <div class=\"card-header d-flex align-items-center justify-content-between p-0 py-1 border-bottom\">\n <div>{{'FileExplorer::UploadFiles' | abpLocalization}}</div>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click.stop)=\"closeFileStatusModal()\"></button>\n </div>\n <div class=\"card-body\">\n <table class=\"table\">\n <thead>\n <tr>\n <th scope=\"col\">{{'FileExplorer::FileName' | abpLocalization}}</th>\n <th scope=\"col\">{{'FileExplorer::FileSize' | abpLocalization}}</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of uploadPictureStatusList; let i = index\">\n <tr>\n <th scope=\"row\">\n <div>{{ item.name }}</div>\n <div class=\"form-text text-danger\" *ngIf=\"item.size > sizeLimit\">\n {{'FileExplorer::ExceedsMaximumSize' | abpLocalization:_FileApiService.formatFileSize(sizeLimit)}}\n </div>\n </th>\n <td>{{ item.fileSize }}</td>\n <td>\n <i *ngIf=\"item.status == 1\" class=\"fas fa-check text-primary\"></i>\n <i *ngIf=\"item.status == 2\" class=\"fas fa-times-circle text-danger\"></i>\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>\n <abp-button iconClass=\"fa fa-check\" (click)=\"modalSave()\">{{'AbpUi::Save' | abpLocalization}}</abp-button>\n </ng-template>\n</abp-modal>","import { Component, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild, ViewContainerRef } from '@angular/core';\nimport { FileApiService } from '../../services/file-api.service';\n\n@Component({\n selector: 'fe-file-picker',\n templateUrl: './file-picker.component.html',\n styleUrls: ['./file-picker.component.scss']\n})\nexport class FilePickerComponent implements OnChanges{\n\n\n constructor(\n private _FileApiService: FileApiService,\n ) {\n }\n\n\n /**图片容器 */\n _fileContainerName: string = 'images'\n @Input()\n public set fileContainerName(v: string) {\n this._fileContainerName = v;\n }\n\n /**已选定的文件 */\n @Input() selectFormFile:any[]\n \n ngOnChanges(changes: SimpleChanges): void {\n let selectFormFilengOnChanges=changes.selectFormFile['currentValue']\n if(selectFormFilengOnChanges.length>0){\n this._fileShowTable=selectFormFilengOnChanges\n }\n }\n\n @Output() selectedFileChange = new EventEmitter()\n\n _fileShowTable: any[] = []\n\n /**表格选择的文件回调 */\n _selectFilefn(event: any[]) {\n let _fileShowTable= this._FileApiService.deepClone(event)\n this._fileShowTable =_fileShowTable\n this.selectFormFile=_fileShowTable\n this.selectedFileChange.emit(_fileShowTable)\n }\n\n /**模态框-状态-是否打开 */\n ModalOpen: boolean = false\n\n /**删除文件表格项 */\n deleteFileTableItem(i, file) {\n this._fileShowTable.splice(i, 1)\n this.selectFormFile=this._fileShowTable\n this.selectedFileChange.emit([])\n this.selectedFileChange.emit(this.selectFormFile)\n }\n\n}\n","<button class=\"btn btn-sm btn-primary ms-2\" type=\"button\" (click.stop)=\"ModalOpen = true\">{{'FileExplorer::SelectFile' | abpLocalization}}</button>\n<fe-file-modal [(visible)]=\"ModalOpen\" [selectPickerFile]=\"selectFormFile\" (selectFilefn)=\"_selectFilefn($event)\" [fileContainerName]=\"_fileContainerName\"></fe-file-modal>\n<table class=\"table\" *ngIf=\"_fileShowTable.length>0\">\n <thead>\n <tr>\n <th scope=\"col\">{{'FileExplorer::FileName' | abpLocalization}}</th>\n <th scope=\"col\">{{'FileExplorer::FileSize' | abpLocalization}}</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let item of _fileShowTable;let i =index\">\n <tr>\n <th scope=\"row\">\n <div>{{item.name}}</div>\n </th>\n <td >{{_FileApiService.formatFileSize(item.size)}}</td>\n <td>\n <button class=\"btn btn-sm p-0 btn-light \" (click.stop)=\"deleteFileTableItem(i,item)\">\n <i class=\"fas fa-trash p-2\"></i>\n </button>\n </td>\n </tr>\n </ng-container>\n </tbody>\n</table>\n\n\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'fe-file-dome',\n templateUrl: './file-dome.component.html',\n styleUrls: ['./file-dome.component.scss']\n})\nexport class FileDomeComponent {\n\n /**跟随表单提交--已提交的数据,或选择的数据源 */\n fileSubmittedData: any[] = []\n\n /**跟随表单提交--待提交的数据\n * \n * @param 待上传的文件们\n * @param 待删除已上传的文件们\n */\n fileDataToBeSubmitted: any\n\n\n /**跟随表单提交--数据发生改变回调 */\n fileDataChange(event) {\n this.fileDataToBeSubmitted = event\n }\n\n /**选择文件-弹窗的-已选定的文件 */\n selectedFileGroup:any[]=[]\n\n /**_selectedFile改变回调 */\n _selectedFileChange(event) {\n this.selectedFileGroup = event\n }\n}\n","<div class=\"row\">\r\n <div class=\"col\">\r\n <div class=\"card\">\r\n <div class=\"card-header py-2 border-bottom\">Send file stream with form</div>\r\n <div class=\"card-body\">\r\n <fe-file-edit [(fileData)]=\"fileSubmittedData\" (fileDataChange)=\"fileDataChange($event)\"></fe-file-edit>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col\">\r\n <div class=\"card\">\r\n <div class=\"card-header py-2 border-bottom\">Send file stream with form</div>\r\n <div class=\"card-body\">\r\n <fe-file-picker [selectFormFile]=\"selectedFileGroup\" (selectedFileChange)=\"_selectedFileChange($event)\" ></fe-file-picker>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\nimport { Router, RouterModule, Routes } from '@angular/router';\nimport { FileDomeComponent } from './components/dome/file-dome.component';\n\nconst routes: Routes = [\n {\n path: 'file-dome',\n component: FileDomeComponent\n},\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class FileExplorerRoutingModule { \n \n}\n","import { NgModule } from '@angular/core';\nimport { CoreModule, LIST_QUERY_DEBOUNCE_TIME, ListService } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { NzTreeModule } from 'ng-zorro-antd/tree';\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\nimport { FileExplorerRoutingModule } from './file-explorer-routing.module';\nimport { FileEditComponent, FilePickerComponent, FileModalComponent, FileModalTreeComponent, FileDomeComponent } from './components';\n@NgModule({\n declarations: [\n FileEditComponent,\n FilePickerComponent,\n FileModalComponent,\n FileModalTreeComponent,\n FileDomeComponent,\n ],\n imports: [\n FormsModule,\n CoreModule,\n ThemeSharedModule,\n ReactiveFormsModule,\n NgbDropdownModule,\n NzTreeModule,\n NgxValidateCoreModule,\n FileExplorerRoutingModule,\n ],\n exports: [\n FileEditComponent,\n FilePickerComponent,\n FileModalComponent,\n FileModalTreeComponent,\n FileDomeComponent\n ],\n providers: [\n // [Required]\n ListService,\n // [Optional]\n // Provide this token if you want a different debounce time.\n // Default is 300. Cannot be 0. Any value below 100 is not recommended.\n { provide: LIST_QUERY_DEBOUNCE_TIME, useValue: 500 },\n ],\n})\nexport class FileExplorerModule {\n\n}\n","/*\n * Public API Surface of file-explorer\n */\n\n\nexport * from './lib/file-explorer.module';\nexport * from './lib/components';\nexport * from './lib/services';\nexport * from './lib/proxy';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.FileApiService","i1","FileDescriptorService","that","i1.FileDescriptorService","i2","i3","i4.FileApiService","i5","i6","i7.FileModalTreeComponent","i4.FileModalComponent","i1.FileEditComponent","i2.FilePickerComponent"],"mappings":"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"}
package/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@dignite-ng/expand.file-explorer" />
5
- export * from './public-api';
@@ -1,19 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class FileDomeComponent {
3
- /**跟随表单提交--已提交的数据,或选择的数据源 */
4
- fileSubmittedData: any[];
5
- /**跟随表单提交--待提交的数据
6
- *
7
- * @param 待上传的文件们
8
- * @param 待删除已上传的文件们
9
- */
10
- fileDataToBeSubmitted: any;
11
- /**跟随表单提交--数据发生改变回调 */
12
- fileDataChange(event: any): void;
13
- /**选择文件-弹窗的-已选定的文件 */
14
- selectedFileGroup: any[];
15
- /**_selectedFile改变回调 */
16
- _selectedFileChange(event: any): void;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<FileDomeComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<FileDomeComponent, "fe-file-dome", never, {}, {}, never, never, false, never>;
19
- }
@@ -1,38 +0,0 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
2
- import { FileApiService } from '../../services/file-api.service';
3
- import * as i0 from "@angular/core";
4
- export declare class FileEditComponent {
5
- _FileApiService: FileApiService;
6
- constructor(_FileApiService: FileApiService);
7
- /**是否多选 */
8
- _multiple: boolean;
9
- set multiple(v: boolean);
10
- /**文件数据--已上传的数据 */
11
- _fileData: any[];
12
- set fileData(v: any[]);
13
- /** 跟随表单提交--已提交的数据,或选择的数据源--回调*/
14
- fileDataChange: EventEmitter<any>;
15
- /**文件大小限制
16
- * @param 1mb
17
- */
18
- sizeLimit: number;
19
- set limit(v: number);
20
- /**文件表格数据 */
21
- filesTableData: any[];
22
- /** 待删除已上传的文件们*/
23
- deleteTheUploadedFiles: any[];
24
- /**获取文件选择框的元素 */
25
- fileEdit: ElementRef;
26
- /**获取文件信息改变 */
27
- getFileChange(event: any): Promise<void>;
28
- /**等待将文件数据加入到文件表格数据中 */
29
- waitFileToAddTable(files: any): Promise<unknown>;
30
- /**删除文件表格的项 */
31
- deleteFileTableItem(index: any, item: any): void;
32
- /**文件处理-调用回调函数 */
33
- fileHandling(): void;
34
- /**设置值文件大小单位/ */
35
- setfileSizeUnits(files: File[] | any[]): Promise<any>;
36
- static ɵfac: i0.ɵɵFactoryDeclaration<FileEditComponent, never>;
37
- static ɵcmp: i0.ɵɵComponentDeclaration<FileEditComponent, "fe-file-edit", never, { "multiple": { "alias": "multiple"; "required": false; }; "fileData": { "alias": "fileData"; "required": false; }; "limit": { "alias": "limit"; "required": false; }; }, { "fileDataChange": "fileDataChange"; }, never, never, false, never>;
38
- }
@@ -1,93 +0,0 @@
1
- import { EventEmitter, SimpleChanges } from '@angular/core';
2
- import * as FileService from '../../proxy/dignite/file-explorer/files';
3
- import { ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
4
- import { PagedResultDto, ListService, Rest, RestService, LocalizationService } from '@abp/ng.core';
5
- import { FileDescriptorDto } from '../../proxy/dignite/file-explorer/files';
6
- import { FileApiService } from '../../services/file-api.service';
7
- import { SelectionType } from '@swimlane/ngx-datatable';
8
- import * as i0 from "@angular/core";
9
- export declare class FileModalComponent {
10
- private _FileService;
11
- private toaster;
12
- readonly list: ListService;
13
- _FileApiService: FileApiService;
14
- private restService;
15
- private confirmation;
16
- private _LocalizationService;
17
- constructor(_FileService: FileService.FileDescriptorService, toaster: ToasterService, list: ListService, _FileApiService: FileApiService, restService: RestService, confirmation: ConfirmationService, _LocalizationService: LocalizationService);
18
- /**图片容器 */
19
- _fileContainerName: string;
20
- set fileContainerName(v: string);
21
- /**是否多选 */
22
- _multiple: boolean;
23
- set multiple(v: boolean);
24
- /**文件大小限制
25
- * @param 1mb
26
- */
27
- sizeLimit: number;
28
- set limit(v: number);
29
- /**父组件传递的模态框状态 */
30
- set visible(v: boolean);
31
- /**模态框状态回调 */
32
- visibleChange: EventEmitter<any>;
33
- /**模态框-状态-是否打开 */
34
- ModalOpen: boolean;
35
- /**模态框-繁忙状态-用于确定模态的繁忙状态是否为真 */
36
- ModalBusy: boolean;
37
- /**模态框-状态改变回调 */
38
- ModalVisibleChange(event: any): void;
39
- /**模态框保存 */
40
- modalSave(): void;
41
- /**dignite-file-modal-tree */
42
- /**选择的tree节点 */
43
- _theSelectedTreeNode: any;
44
- /**初始化数据 */
45
- loadData(): void;
46
- /**tree-节点选择 */
47
- _nodeClick(event: any): void;
48
- /**图片上传-要上传图片的状态文件列表 */
49
- uploadPictureStatusList: any[];
50
- /**图片上传-获取文件信息改变 */
51
- getFileChange(event: any): Promise<void>;
52
- /**图片上传-设置uploadPictureStatusList的状态 */
53
- setuploadPictureStatus(file: any, type: any): void;
54
- /**图片上传-递归按顺序上传 */
55
- uploadingFile(file: any): Promise<unknown>;
56
- /**文件表格-数据*/
57
- data: PagedResultDto<FileDescriptorDto>;
58
- /**文件表格-条件*/
59
- filters: FileService.GetFilesInput;
60
- /**文件表格-表格自带选择类型 */
61
- SelectionType: typeof SelectionType;
62
- /**文件表格-选择的表格数据项 */
63
- selectedTable: any[];
64
- /**已选定的文件 */
65
- selectPickerFile: any[];
66
- ngOnChanges(changes: SimpleChanges): void;
67
- /**当前选择的table项 id */
68
- nowSelectId: any;
69
- /**选择文件回调 */
70
- selectFilefn: EventEmitter<any[]>;
71
- /**文件表格-获取表格数据 */
72
- hookToQuery(): void;
73
- /**文件表格-查看所有分组的文件数据 */
74
- lookAllFile(): void;
75
- /**选择表格项 */
76
- onSelectTableItem({ selected }: {
77
- selected: any;
78
- }): void;
79
- /**删除数组中重复的项 */
80
- removeDuplicatesById(array: any): any;
81
- /**一个布尔or函数,可用于检查是否要根据条件选择特定行。 */
82
- selectCheck: (row: any, column: any, value: any) => boolean;
83
- /**判断row是否选中 */
84
- selectedcheckbox: (id: any) => boolean;
85
- /**删除图片 */
86
- deleteFile(file: any): void;
87
- /**关闭文件状态弹窗 */
88
- closeFileStatusModal(): void;
89
- /**创建图片的接口,代理中的file类型不匹配,切换为any类型 */
90
- createFile: (input: any, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileService.FileDescriptorDto>;
91
- static ɵfac: i0.ɵɵFactoryDeclaration<FileModalComponent, never>;
92
- static ɵcmp: i0.ɵɵComponentDeclaration<FileModalComponent, "fe-file-modal", never, { "fileContainerName": { "alias": "fileContainerName"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "limit": { "alias": "limit"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "selectPickerFile": { "alias": "selectPickerFile"; "required": false; }; }, { "visibleChange": "visibleChange"; "selectFilefn": "selectFilefn"; }, never, never, false, never>;
93
- }
@@ -1,66 +0,0 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
2
- import { FormBuilder, FormGroup } from '@angular/forms';
3
- import { NzFormatEmitEvent } from 'ng-zorro-antd/tree';
4
- import * as DescriptorService from '../../proxy/dignite/file-explorer/directories';
5
- import { ToasterService } from '@abp/ng.theme.shared';
6
- import { NzFormatBeforeDropEvent } from 'ng-zorro-antd/tree';
7
- import { FileApiService } from '../../services/file-api.service';
8
- import { LocalizationService } from '@abp/ng.core';
9
- import * as i0 from "@angular/core";
10
- export declare class FileModalTreeComponent {
11
- private _DescriptorService;
12
- private fb;
13
- private toaster;
14
- _FileApiService: FileApiService;
15
- _LocalizationService: LocalizationService;
16
- constructor(_DescriptorService: DescriptorService.FileDescriptorService, fb: FormBuilder, toaster: ToasterService, _FileApiService: FileApiService, _LocalizationService: LocalizationService);
17
- /**文件分组列表 */
18
- fileGroupList: any[];
19
- /**选择的tree节点 */
20
- _theSelectedTreeNode: any;
21
- set theSelectedTreeNode(v: any);
22
- /**正在编辑的节点 */
23
- theNodeBeingEdited: any;
24
- /**已展开的节点 */
25
- anExpandedNode: any[];
26
- /**图片容器 */
27
- _fileContainerName: string;
28
- /**tree节点选择回调 */
29
- nodeClick: EventEmitter<any>;
30
- set fileContainerName(v: string);
31
- handleClick: (event: any) => any;
32
- loadData(): void;
33
- /**获取文件分组 */
34
- getFileGroupList(): void;
35
- /**递归设置节点的值 */
36
- setTheValueOfTheNodeRecursively(array: any[]): any;
37
- /**tree-拖拽 */
38
- nzEvent(event: NzFormatEmitEvent): void;
39
- /**tree-拖拽 -验证*/
40
- beforeDrop(arg: NzFormatBeforeDropEvent): import("rxjs").Observable<boolean>;
41
- /**tree--选择节点 */
42
- activeNode(event: any): void;
43
- /**判断节点是否选中 */
44
- isNodeSelected: (el: any) => boolean;
45
- /**点击展开树节点图标触发 */
46
- nzExpandChange(event: any): void;
47
- /**增加分组 */
48
- addDescriptorBtn(items?: any, edit?: boolean): void;
49
- /**删除分组 */
50
- deleteDescriptorBtn(node: any): void;
51
- /**分组 */
52
- /**模态框-状态-是否打开 */
53
- ModalDescriptorOpen: boolean;
54
- /**模态框-descriptor-繁忙状态-用于确定模态的繁忙状态是否为真 */
55
- ModalDescriptorBusy: boolean;
56
- /**模态框-descriptor-表单 */
57
- ModalDescriptorForm: FormGroup | undefined;
58
- /**模态框-descriptor-表单--控件模板-动态赋值表单控件 */
59
- ModalFormDescriptorSubmit: ElementRef;
60
- /**模态框-descriptor-状态改变回调 */
61
- ModalDescriptorVisibleChange(event: any): void;
62
- /**f分组模态框保存 */
63
- createOrEditSave(): void;
64
- static ɵfac: i0.ɵɵFactoryDeclaration<FileModalTreeComponent, never>;
65
- static ɵcmp: i0.ɵɵComponentDeclaration<FileModalTreeComponent, "fe-file-modal-tree", never, { "theSelectedTreeNode": { "alias": "theSelectedTreeNode"; "required": false; }; "fileContainerName": { "alias": "fileContainerName"; "required": false; }; }, { "nodeClick": "nodeClick"; }, never, never, false, never>;
66
- }
@@ -1,23 +0,0 @@
1
- import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
- import { FileApiService } from '../../services/file-api.service';
3
- import * as i0 from "@angular/core";
4
- export declare class FilePickerComponent implements OnChanges {
5
- private _FileApiService;
6
- constructor(_FileApiService: FileApiService);
7
- /**图片容器 */
8
- _fileContainerName: string;
9
- set fileContainerName(v: string);
10
- /**已选定的文件 */
11
- selectFormFile: any[];
12
- ngOnChanges(changes: SimpleChanges): void;
13
- selectedFileChange: EventEmitter<any>;
14
- _fileShowTable: any[];
15
- /**表格选择的文件回调 */
16
- _selectFilefn(event: any[]): void;
17
- /**模态框-状态-是否打开 */
18
- ModalOpen: boolean;
19
- /**删除文件表格项 */
20
- deleteFileTableItem(i: any, file: any): void;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<FilePickerComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<FilePickerComponent, "fe-file-picker", never, { "fileContainerName": { "alias": "fileContainerName"; "required": false; }; "selectFormFile": { "alias": "selectFormFile"; "required": false; }; }, { "selectedFileChange": "selectedFileChange"; }, never, never, false, never>;
23
- }
@@ -1,5 +0,0 @@
1
- export * from './dome/file-dome.component';
2
- export * from './file-edit/file-edit.component';
3
- export * from './file-modal/file-modal.component';
4
- export * from './file-modal-tree/file-modal-tree.component';
5
- export * from './file-picker/file-picker.component';
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/router";
3
- export declare class FileExplorerRoutingModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<FileExplorerRoutingModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<FileExplorerRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<FileExplorerRoutingModule>;
7
- }
@@ -1,18 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./components/file-edit/file-edit.component";
3
- import * as i2 from "./components/file-picker/file-picker.component";
4
- import * as i3 from "./components/file-modal/file-modal.component";
5
- import * as i4 from "./components/file-modal-tree/file-modal-tree.component";
6
- import * as i5 from "./components/dome/file-dome.component";
7
- import * as i6 from "@angular/forms";
8
- import * as i7 from "@abp/ng.core";
9
- import * as i8 from "@abp/ng.theme.shared";
10
- import * as i9 from "@ng-bootstrap/ng-bootstrap";
11
- import * as i10 from "ng-zorro-antd/tree";
12
- import * as i11 from "@ngx-validate/core";
13
- import * as i12 from "./file-explorer-routing.module";
14
- export declare class FileExplorerModule {
15
- static ɵfac: i0.ɵɵFactoryDeclaration<FileExplorerModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<FileExplorerModule, [typeof i1.FileEditComponent, typeof i2.FilePickerComponent, typeof i3.FileModalComponent, typeof i4.FileModalTreeComponent, typeof i5.FileDomeComponent], [typeof i6.FormsModule, typeof i7.CoreModule, typeof i8.ThemeSharedModule, typeof i6.ReactiveFormsModule, typeof i9.NgbDropdownModule, typeof i10.NzTreeModule, typeof i11.NgxValidateCoreModule, typeof i12.FileExplorerRoutingModule], [typeof i1.FileEditComponent, typeof i2.FilePickerComponent, typeof i3.FileModalComponent, typeof i4.FileModalTreeComponent, typeof i5.FileDomeComponent]>;
17
- static ɵinj: i0.ɵɵInjectorDeclaration<FileExplorerModule>;
18
- }
@@ -1,17 +0,0 @@
1
- import type { CreateDirectoryInput, DirectoryDescriptorDto, DirectoryDescriptorInfoDto, GetDirectoriesInput, MoveDirectoryInput, UpdateDirectoryInput } from './models';
2
- import { RestService, Rest } from '@abp/ng.core';
3
- import type { PagedResultDto } from '@abp/ng.core';
4
- import * as i0 from "@angular/core";
5
- export declare class FileDescriptorService {
6
- private restService;
7
- apiName: string;
8
- create: (input: CreateDirectoryInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<DirectoryDescriptorDto>;
9
- delete: (id: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<void>;
10
- get: (id: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<DirectoryDescriptorDto>;
11
- getList: (input: GetDirectoriesInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<PagedResultDto<DirectoryDescriptorInfoDto>>;
12
- move: (id: string, input: MoveDirectoryInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<DirectoryDescriptorDto>;
13
- update: (id: string, input: UpdateDirectoryInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<DirectoryDescriptorDto>;
14
- constructor(restService: RestService);
15
- static ɵfac: i0.ɵɵFactoryDeclaration<FileDescriptorService, never>;
16
- static ɵprov: i0.ɵɵInjectableDeclaration<FileDescriptorService>;
17
- }
@@ -1,20 +0,0 @@
1
- import type { CreateFileInput, FileContainerConfigurationDto, FileDescriptorDto, GetFilesInput, ImageResizeInput, UpdateFileInput } from './models';
2
- import { RestService, Rest } from '@abp/ng.core';
3
- import type { PagedResultDto } from '@abp/ng.core';
4
- import type { FileResult } from '../../../microsoft/asp-net-core/mvc/models';
5
- import * as i0 from "@angular/core";
6
- export declare class FileDescriptorService {
7
- private restService;
8
- apiName: string;
9
- create: (input: CreateFileInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileDescriptorDto>;
10
- delete: (id: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<void>;
11
- download: (containerName: string, blobName: string, fileName: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileResult>;
12
- get: (id: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileDescriptorDto>;
13
- getFileContainerConfiguration: (containerName: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileContainerConfigurationDto>;
14
- getList: (input: GetFilesInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<PagedResultDto<FileDescriptorDto>>;
15
- getStream: (containerName: string, blobName: string, imageResize?: ImageResizeInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<Blob>;
16
- update: (id: string, input: UpdateFileInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileDescriptorDto>;
17
- constructor(restService: RestService);
18
- static ɵfac: i0.ɵɵFactoryDeclaration<FileDescriptorService, never>;
19
- static ɵprov: i0.ɵɵInjectableDeclaration<FileDescriptorService>;
20
- }
@@ -1,50 +0,0 @@
1
- import type { IRemoteStreamContent } from '../../../volo/abp/content/models';
2
- import type { CreationAuditedEntityDto, PagedAndSortedResultRequestDto } from '@abp/ng.core';
3
- export interface CreateFileInput {
4
- containerName: string;
5
- cellName?: string;
6
- directoryId?: string;
7
- entityId?: string;
8
- file: IRemoteStreamContent;
9
- }
10
- export interface FileCellDto {
11
- name?: string;
12
- displayName?: string;
13
- }
14
- export interface FileContainerConfigurationDto {
15
- maxBlobSize: number;
16
- allowedFileTypeNames: string[];
17
- fileCells: FileCellDto[];
18
- createDirectoryPermissionName?: string;
19
- createFilePermissionName?: string;
20
- updateFilePermissionName?: string;
21
- deleteFilePermissionName?: string;
22
- getFilePermissionName?: string;
23
- }
24
- export interface FileDescriptorDto extends CreationAuditedEntityDto<string> {
25
- entityId?: string;
26
- containerName?: string;
27
- blobName?: string;
28
- cellName?: string;
29
- directoryId?: string;
30
- size: number;
31
- name?: string;
32
- mimeType?: string;
33
- url?: string;
34
- }
35
- export interface GetFilesInput extends PagedAndSortedResultRequestDto {
36
- containerName: string;
37
- directoryId?: string;
38
- creatorId?: string;
39
- filter?: string;
40
- entityId?: string;
41
- }
42
- export interface ImageResizeInput {
43
- width?: number;
44
- height?: number;
45
- }
46
- export interface UpdateFileInput {
47
- cellName?: string;
48
- directoryId?: string;
49
- name?: string;
50
- }
@@ -1,8 +0,0 @@
1
- export interface StringSegment {
2
- buffer?: string;
3
- offset: number;
4
- length: number;
5
- value?: string;
6
- hasValue: boolean;
7
- item?: string;
8
- }
@@ -1,5 +0,0 @@
1
- export interface IRemoteStreamContent {
2
- fileName?: string;
3
- contentType?: string;
4
- contentLength?: number;
5
- }
@@ -1,14 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class FileApiService {
3
- constructor();
4
- /**转换文件大小单位 输入k */
5
- formatFileSize(bytes: any): string;
6
- /**获取图片的本地连接 */
7
- getImageLacolBase64Url(file: File): Promise<unknown>;
8
- /**
9
- * 深拷贝--方法
10
- * $api.deepClone() */
11
- deepClone(obj: any): any;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<FileApiService, never>;
13
- static ɵprov: i0.ɵɵInjectableDeclaration<FileApiService>;
14
- }
@@ -1 +0,0 @@
1
- export * from './file-api.service';