@dignite-ng/expand.file-explorer 3.0.0-rc.7 → 3.0.0
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/README.md +128 -24
- package/esm2022/config/dignite-ng-expand.file-explorer-config.mjs +1 -1
- package/esm2022/config/enums/index.mjs +1 -1
- package/esm2022/config/enums/route-names.mjs +1 -1
- package/esm2022/config/file-config.module.mjs +1 -1
- package/esm2022/config/providers/index.mjs +1 -1
- package/esm2022/config/providers/route.provider.mjs +1 -1
- package/esm2022/config/public-api.mjs +1 -1
- package/esm2022/dignite-ng-expand.file-explorer.mjs +1 -1
- package/esm2022/lib/components/dome/file-dome.component.mjs +2 -4
- package/esm2022/lib/components/dynamic-form/file-explorer/file-explorer-config.component.mjs +3 -2
- package/esm2022/lib/components/dynamic-form/file-explorer/file-explorer-config.mjs +1 -1
- package/esm2022/lib/components/dynamic-form/file-explorer/file-explorer-control.component.mjs +3 -3
- package/esm2022/lib/components/dynamic-form/file-explorer/file-explorer-view.component.mjs +3 -4
- package/esm2022/lib/components/dynamic-form/file-explorer/index.mjs +1 -1
- package/esm2022/lib/components/dynamic-form/form-control-group.mjs +1 -1
- package/esm2022/lib/components/file-edit/file-edit.component.mjs +34 -24
- package/esm2022/lib/components/file-modal/file-modal.component.mjs +293 -85
- package/esm2022/lib/components/file-modal-tree/file-modal-tree.component.mjs +135 -60
- package/esm2022/lib/components/file-picker/file-picker.component.mjs +20 -12
- package/esm2022/lib/components/index.mjs +1 -1
- package/esm2022/lib/file-explorer-routing.module.mjs +1 -1
- package/esm2022/lib/file-explorer.module.mjs +36 -11
- package/esm2022/lib/pipe/format-file-size.pipe.mjs +35 -0
- package/esm2022/lib/pipe/get-directory-name.pipe.mjs +20 -0
- package/esm2022/lib/previews/file-preview.component.mjs +2 -1
- package/esm2022/lib/previews/index.mjs +1 -1
- package/esm2022/lib/previews/models.mjs +1 -1
- package/esm2022/lib/proxy/dignite/file-explorer/directories/file-descriptor.service.mjs +2 -1
- package/esm2022/lib/proxy/dignite/file-explorer/directories/index.mjs +1 -1
- package/esm2022/lib/proxy/dignite/file-explorer/directories/models.mjs +1 -1
- package/esm2022/lib/proxy/dignite/file-explorer/files/file-descriptor.service.mjs +11 -3
- package/esm2022/lib/proxy/dignite/file-explorer/files/index.mjs +1 -1
- package/esm2022/lib/proxy/dignite/file-explorer/files/models.mjs +1 -1
- package/esm2022/lib/proxy/microsoft/asp-net-core/mvc/models.mjs +1 -1
- package/esm2022/lib/proxy/microsoft/extensions/primitives/models.mjs +1 -1
- package/esm2022/lib/proxy/microsoft/net/http/headers/models.mjs +1 -1
- package/esm2022/lib/proxy/volo/abp/content/models.mjs +1 -1
- package/esm2022/public-api.mjs +1 -3
- package/fesm2022/dignite-ng-expand.file-explorer-config.mjs.map +1 -1
- package/fesm2022/dignite-ng-expand.file-explorer.mjs +541 -239
- package/fesm2022/dignite-ng-expand.file-explorer.mjs.map +1 -1
- package/lib/components/dome/file-dome.component.d.ts +0 -1
- package/lib/components/file-edit/file-edit.component.d.ts +6 -4
- package/lib/components/file-modal/file-modal.component.d.ts +63 -25
- package/lib/components/file-modal-tree/file-modal-tree.component.d.ts +21 -12
- package/lib/components/file-picker/file-picker.component.d.ts +2 -3
- package/lib/file-explorer.module.d.ts +5 -1
- package/lib/pipe/format-file-size.pipe.d.ts +14 -0
- package/lib/pipe/get-directory-name.pipe.d.ts +7 -0
- package/lib/proxy/dignite/file-explorer/files/file-descriptor.service.d.ts +3 -1
- package/lib/proxy/dignite/file-explorer/files/models.d.ts +5 -2
- package/package.json +25 -7
- package/esm2022/lib/services/file-api.service.mjs +0 -68
- package/lib/services/file-api.service.d.ts +0 -14
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { GetImageLacolBase64urlService } from '@dignite-ng/expand.core';
|
|
3
|
+
import { FormatFileSizePipe } from '../../pipe/format-file-size.pipe';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class FileEditComponent {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
_FormatFileSizePipe: FormatFileSizePipe;
|
|
7
|
+
private _GetImageLacolBase64urlService;
|
|
8
|
+
constructor(_FormatFileSizePipe: FormatFileSizePipe, _GetImageLacolBase64urlService: GetImageLacolBase64urlService);
|
|
7
9
|
/**是否多选 */
|
|
8
10
|
_multiple: boolean;
|
|
9
11
|
set multiple(v: boolean);
|
|
@@ -14,7 +16,7 @@ export declare class FileEditComponent {
|
|
|
14
16
|
fileDataChange: EventEmitter<any>;
|
|
15
17
|
/**文件大小限制
|
|
16
18
|
* @param 1mb
|
|
17
|
-
|
|
19
|
+
*/
|
|
18
20
|
sizeLimit: number;
|
|
19
21
|
set limit(v: number);
|
|
20
22
|
/**文件表格数据 */
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import { EventEmitter, SimpleChanges } from '@angular/core';
|
|
1
|
+
import { EventEmitter, SimpleChanges, OnChanges } from '@angular/core';
|
|
2
2
|
import * as FileService from '../../proxy/dignite/file-explorer/files';
|
|
3
3
|
import { ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
|
|
4
4
|
import { PagedResultDto, ListService, Rest, RestService, LocalizationService } from '@abp/ng.core';
|
|
5
5
|
import { FileDescriptorDto, GetFilesInput } from '../../proxy/dignite/file-explorer/files';
|
|
6
|
-
import { FileApiService } from '../../services/file-api.service';
|
|
7
6
|
import { SelectionType } from '@swimlane/ngx-datatable';
|
|
7
|
+
import { FormGroup } from '@angular/forms';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
export declare class FileModalComponent {
|
|
9
|
+
export declare class FileModalComponent implements OnChanges {
|
|
10
10
|
private _FileService;
|
|
11
11
|
private toaster;
|
|
12
12
|
readonly list: ListService;
|
|
13
|
-
_FileApiService: FileApiService;
|
|
14
13
|
private restService;
|
|
15
14
|
private confirmation;
|
|
16
15
|
private _LocalizationService;
|
|
17
|
-
constructor(_FileService: FileService.FileDescriptorService, toaster: ToasterService, list: ListService,
|
|
16
|
+
constructor(_FileService: FileService.FileDescriptorService, toaster: ToasterService, list: ListService, restService: RestService, confirmation: ConfirmationService, _LocalizationService: LocalizationService);
|
|
18
17
|
private _FileDescriptorService;
|
|
19
18
|
/**获取目录配置 */
|
|
20
|
-
getFilesConfiguration():
|
|
19
|
+
getFilesConfiguration(): Promise<unknown>;
|
|
21
20
|
/**目录的权限名称 */
|
|
22
21
|
createDirectoryPermissionName: string;
|
|
23
22
|
/**图片容器 */
|
|
@@ -27,8 +26,8 @@ export declare class FileModalComponent {
|
|
|
27
26
|
_multiple: boolean;
|
|
28
27
|
set multiple(v: boolean);
|
|
29
28
|
/**文件大小限制
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
* @param 1mb
|
|
30
|
+
*/
|
|
32
31
|
sizeLimit: number;
|
|
33
32
|
set limit(v: number);
|
|
34
33
|
/**父组件传递的模态框状态 */
|
|
@@ -46,8 +45,19 @@ export declare class FileModalComponent {
|
|
|
46
45
|
/**dignite-file-modal-tree */
|
|
47
46
|
/**选择的tree节点 */
|
|
48
47
|
_theSelectedTreeNode: any;
|
|
48
|
+
isCreateList: boolean;
|
|
49
49
|
/**初始化数据 */
|
|
50
50
|
loadData(): void;
|
|
51
|
+
/** 从tree获取来的数据 */
|
|
52
|
+
fileGroupList: any[];
|
|
53
|
+
/** 从tree获取数据 */
|
|
54
|
+
treeNodeData(event: any): void;
|
|
55
|
+
/**
|
|
56
|
+
* 将嵌套数组扁平化
|
|
57
|
+
* @param {Array} nestedArray - 包含嵌套children的数组
|
|
58
|
+
* @returns {Array} - 扁平化后的数组
|
|
59
|
+
*/
|
|
60
|
+
flattenNestedArray(nestedArray: any): any[];
|
|
51
61
|
/**tree-节点选择 */
|
|
52
62
|
_nodeClick(event: any): void;
|
|
53
63
|
/**图片上传-要上传图片的状态文件列表 */
|
|
@@ -64,35 +74,63 @@ export declare class FileModalComponent {
|
|
|
64
74
|
filters: GetFilesInput;
|
|
65
75
|
/**文件表格-表格自带选择类型 */
|
|
66
76
|
SelectionType: typeof SelectionType;
|
|
67
|
-
/**文件表格-选择的表格数据项 */
|
|
68
|
-
selectedTable: any[];
|
|
69
|
-
/**已选定的文件 */
|
|
70
|
-
selectPickerFile: any[];
|
|
71
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
72
|
-
/**当前选择的table项 id */
|
|
73
|
-
nowSelectId: any;
|
|
74
77
|
/**选择文件回调 */
|
|
75
78
|
selectFilefn: EventEmitter<any[]>;
|
|
76
79
|
/**文件表格-获取表格数据 */
|
|
77
80
|
hookToQuery(): void;
|
|
78
81
|
/**文件表格-查看所有分组的文件数据 */
|
|
79
82
|
lookAllFile(): void;
|
|
80
|
-
/**选择表格项 */
|
|
81
|
-
onSelectTableItem({ selected }: {
|
|
82
|
-
selected: any;
|
|
83
|
-
}): void;
|
|
84
|
-
/**删除数组中重复的项 */
|
|
85
|
-
removeDuplicatesById(array: any): any;
|
|
86
|
-
/**一个布尔or函数,可用于检查是否要根据条件选择特定行。 */
|
|
87
|
-
selectCheck: (row: any, column: any, value: any) => boolean;
|
|
88
|
-
/**判断row是否选中 */
|
|
89
|
-
selectedcheckbox: (id: any) => boolean;
|
|
90
83
|
/**删除图片 */
|
|
91
84
|
deleteFile(file: any): void;
|
|
85
|
+
/**删除所有选中图片 */
|
|
86
|
+
onDeleteAllSelectFile(): void;
|
|
87
|
+
/**
|
|
88
|
+
* 批量删除表格项
|
|
89
|
+
* @param selectedTable 需要删除的表格项数组
|
|
90
|
+
* @returns 包含成功状态和失败项的结果对象
|
|
91
|
+
*/
|
|
92
|
+
batchDeleteItems(selectedTable: any[]): Promise<{
|
|
93
|
+
success: boolean;
|
|
94
|
+
failedItems: any[];
|
|
95
|
+
message: string;
|
|
96
|
+
}>;
|
|
92
97
|
/**关闭文件状态弹窗 */
|
|
93
98
|
closeFileStatusModal(): void;
|
|
94
99
|
/**创建图片的接口,代理中的file类型不匹配,切换为any类型 */
|
|
95
100
|
createFile: (input: any, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileService.FileDescriptorDto>;
|
|
101
|
+
/**文件表格-选择的表格数据项 */
|
|
102
|
+
selectedTable: any[];
|
|
103
|
+
/**当前选择的table项 id */
|
|
104
|
+
nowSelectId: any;
|
|
105
|
+
/**是否全选 */
|
|
106
|
+
isAllSelected: boolean;
|
|
107
|
+
/**已选定的文件 */
|
|
108
|
+
selectPickerFile: any[];
|
|
109
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
110
|
+
/**表格分页切换 */
|
|
111
|
+
onPageChange(newArray: any): void;
|
|
112
|
+
/**行选择框改变 */
|
|
113
|
+
onCheckboxChangeFn(event: any, row: any, array: any[]): void;
|
|
114
|
+
/**如果selectedTableArray不含array中的所有项,则将isAllSelected设为true,否则设为false */
|
|
115
|
+
isAllSelectedFn(tolalArray: any[], selectedArray?: any[]): boolean;
|
|
116
|
+
/**选择当前页全部 */
|
|
117
|
+
onSelectAllFn(event: any, array: any[]): void;
|
|
118
|
+
/**判断row是否选中 */
|
|
119
|
+
selectedcheckbox: (id: any) => boolean;
|
|
120
|
+
/**删除数组中重复的项 */
|
|
121
|
+
removeDuplicatesById(array: any): any;
|
|
122
|
+
/**用于编辑的表单,同时只能显示编辑一个 */
|
|
123
|
+
FileNameForm: FormGroup | any;
|
|
124
|
+
/**当前编辑的row */
|
|
125
|
+
newEditRow: any;
|
|
126
|
+
/**是否正在加载 */
|
|
127
|
+
isloading: boolean;
|
|
128
|
+
/**提交FileName编辑 */
|
|
129
|
+
onSubmitFileName(event: any): void;
|
|
130
|
+
/**打开编辑 */
|
|
131
|
+
onEditFileName(row: any): void;
|
|
132
|
+
/**关闭编辑 */
|
|
133
|
+
onCancelFileName(row: any): void;
|
|
96
134
|
static ɵfac: i0.ɵɵFactoryDeclaration<FileModalComponent, never>;
|
|
97
135
|
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>;
|
|
98
136
|
}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { ElementRef, EventEmitter } from '@angular/core';
|
|
1
|
+
import { AfterContentInit, ElementRef, EventEmitter } from '@angular/core';
|
|
2
2
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
3
|
-
import { NzFormatEmitEvent } from 'ng-zorro-antd/tree';
|
|
3
|
+
import { NzFormatEmitEvent, NzTreeNode } from 'ng-zorro-antd/tree';
|
|
4
4
|
import * as DescriptorService from '../../proxy/dignite/file-explorer/directories';
|
|
5
|
-
import { ToasterService } from '@abp/ng.theme.shared';
|
|
5
|
+
import { ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
|
|
6
6
|
import { NzFormatBeforeDropEvent } from 'ng-zorro-antd/tree';
|
|
7
|
-
import { FileApiService } from '../../services/file-api.service';
|
|
8
7
|
import { LocalizationService } from '@abp/ng.core';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
|
-
export declare class FileModalTreeComponent {
|
|
9
|
+
export declare class FileModalTreeComponent implements AfterContentInit {
|
|
11
10
|
private _DescriptorService;
|
|
12
11
|
private fb;
|
|
13
12
|
private toaster;
|
|
14
|
-
_FileApiService: FileApiService;
|
|
15
13
|
_LocalizationService: LocalizationService;
|
|
16
|
-
|
|
14
|
+
private confirmation;
|
|
15
|
+
constructor(_DescriptorService: DescriptorService.FileDescriptorService, fb: FormBuilder, toaster: ToasterService, _LocalizationService: LocalizationService, confirmation: ConfirmationService);
|
|
17
16
|
/**文件分组列表 */
|
|
18
17
|
fileGroupList: any[];
|
|
19
18
|
/**选择的tree节点 */
|
|
@@ -27,19 +26,27 @@ export declare class FileModalTreeComponent {
|
|
|
27
26
|
_fileContainerName: string;
|
|
28
27
|
/**tree节点选择回调 */
|
|
29
28
|
nodeClick: EventEmitter<any>;
|
|
29
|
+
/**获取数据后回调给file-modal */
|
|
30
|
+
treeNodeData: EventEmitter<any>;
|
|
31
|
+
/**查看所有文件回调函数,在file-modal中处理逻辑 */
|
|
32
|
+
lookAllBtn: EventEmitter<any>;
|
|
30
33
|
set fileContainerName(v: string);
|
|
34
|
+
ngAfterContentInit(): void;
|
|
31
35
|
handleClick: (event: any) => any;
|
|
32
36
|
loadData(): void;
|
|
33
37
|
/**获取文件分组 */
|
|
34
38
|
getFileGroupList(): void;
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
/**查看所有文件 */
|
|
40
|
+
onLookAllBtn(): void;
|
|
41
|
+
/**递归-将列表转化为父子级结构 */
|
|
42
|
+
setTheValueOfTheNodeRecursively(array: any[], parentId?: any, root?: any[]): any;
|
|
37
43
|
/**tree-拖拽 */
|
|
38
44
|
nzEvent(event: NzFormatEmitEvent): void;
|
|
39
45
|
/**tree-拖拽 -验证*/
|
|
40
|
-
beforeDrop(arg: NzFormatBeforeDropEvent):
|
|
46
|
+
beforeDrop(arg: NzFormatBeforeDropEvent): any;
|
|
47
|
+
selectedNode: NzTreeNode[];
|
|
41
48
|
/**tree--选择节点 */
|
|
42
|
-
activeNode(
|
|
49
|
+
activeNode(node: NzTreeNode): void;
|
|
43
50
|
/**判断节点是否选中 */
|
|
44
51
|
isNodeSelected: (el: any) => boolean;
|
|
45
52
|
/**点击展开树节点图标触发 */
|
|
@@ -59,8 +66,10 @@ export declare class FileModalTreeComponent {
|
|
|
59
66
|
ModalFormDescriptorSubmit: ElementRef;
|
|
60
67
|
/**模态框-descriptor-状态改变回调 */
|
|
61
68
|
ModalDescriptorVisibleChange(event: any): void;
|
|
69
|
+
formValidation: any;
|
|
70
|
+
private _ValidatorsService;
|
|
62
71
|
/**f分组模态框保存 */
|
|
63
72
|
createOrEditSave(): void;
|
|
64
73
|
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>;
|
|
74
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FileModalTreeComponent, "fe-file-modal-tree", never, { "theSelectedTreeNode": { "alias": "theSelectedTreeNode"; "required": false; }; "fileContainerName": { "alias": "fileContainerName"; "required": false; }; }, { "nodeClick": "nodeClick"; "treeNodeData": "treeNodeData"; "lookAllBtn": "lookAllBtn"; }, never, never, false, never>;
|
|
66
75
|
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { FileApiService } from '../../services/file-api.service';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
export declare class FilePickerComponent implements OnChanges {
|
|
5
|
-
private _FileApiService;
|
|
6
|
-
constructor(_FileApiService: FileApiService);
|
|
7
4
|
/**是否多选 */
|
|
8
5
|
_multiple: boolean;
|
|
9
6
|
set multiple(v: boolean);
|
|
@@ -21,6 +18,8 @@ export declare class FilePickerComponent implements OnChanges {
|
|
|
21
18
|
ModalOpen: boolean;
|
|
22
19
|
/**删除文件表格项 */
|
|
23
20
|
deleteFileTableItem(i: any, file: any): void;
|
|
21
|
+
/**调整表格位置 */
|
|
22
|
+
drop(event: any): void;
|
|
24
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<FilePickerComponent, never>;
|
|
25
24
|
static ɵcmp: i0.ɵɵComponentDeclaration<FilePickerComponent, "fe-file-picker", never, { "multiple": { "alias": "multiple"; "required": false; }; "fileContainerName": { "alias": "fileContainerName"; "required": false; }; "selectFormFile": { "alias": "selectFormFile"; "required": false; }; }, { "selectedFileChange": "selectedFileChange"; }, never, never, false, never>;
|
|
26
25
|
}
|
|
@@ -15,8 +15,12 @@ import * as i13 from "@ng-bootstrap/ng-bootstrap";
|
|
|
15
15
|
import * as i14 from "ng-zorro-antd/tree";
|
|
16
16
|
import * as i15 from "@ngx-validate/core";
|
|
17
17
|
import * as i16 from "./file-explorer-routing.module";
|
|
18
|
+
import * as i17 from "@abp/ng.components/tree";
|
|
19
|
+
import * as i18 from "./pipe/get-directory-name.pipe";
|
|
20
|
+
import * as i19 from "@angular/cdk/drag-drop";
|
|
21
|
+
import * as i20 from "./pipe/format-file-size.pipe";
|
|
18
22
|
export declare class FileExplorerModule {
|
|
19
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<FileExplorerModule, never>;
|
|
20
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<FileExplorerModule, [typeof i1.FileEditComponent, typeof i2.FilePickerComponent, typeof i3.FileModalComponent, typeof i4.FileModalTreeComponent, typeof i5.FileDomeComponent, typeof i6.FilePreviewComponent, typeof i7.FileExplorerConfigComponent, typeof i8.FileExplorerControlComponent, typeof i9.FileExplorerViewComponent], [typeof i10.FormsModule, typeof i11.CoreModule, typeof i12.ThemeSharedModule, typeof i10.ReactiveFormsModule, typeof i13.NgbDropdownModule, typeof i14.NzTreeModule, typeof i15.NgxValidateCoreModule, typeof i16.FileExplorerRoutingModule], [typeof i1.FileEditComponent, typeof i2.FilePickerComponent, typeof i3.FileModalComponent, typeof i4.FileModalTreeComponent, typeof i5.FileDomeComponent, typeof i6.FilePreviewComponent]>;
|
|
24
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FileExplorerModule, [typeof i1.FileEditComponent, typeof i2.FilePickerComponent, typeof i3.FileModalComponent, typeof i4.FileModalTreeComponent, typeof i5.FileDomeComponent, typeof i6.FilePreviewComponent, typeof i7.FileExplorerConfigComponent, typeof i8.FileExplorerControlComponent, typeof i9.FileExplorerViewComponent], [typeof i10.FormsModule, typeof i11.CoreModule, typeof i12.ThemeSharedModule, typeof i10.ReactiveFormsModule, typeof i13.NgbDropdownModule, typeof i14.NzTreeModule, typeof i15.NgxValidateCoreModule, typeof i16.FileExplorerRoutingModule, typeof i17.TreeModule, typeof i18.GetDirectoryNamePipe, typeof i19.DragDropModule, typeof i20.FormatFileSizePipe], [typeof i1.FileEditComponent, typeof i2.FilePickerComponent, typeof i3.FileModalComponent, typeof i4.FileModalTreeComponent, typeof i5.FileDomeComponent, typeof i6.FilePreviewComponent]>;
|
|
21
25
|
static ɵinj: i0.ɵɵInjectorDeclaration<FileExplorerModule>;
|
|
22
26
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* 转换文件大小单位 输入k
|
|
5
|
+
* @description 用于转换文件大小单位 输入k
|
|
6
|
+
* @returns {string} 文件大小单位 输入k
|
|
7
|
+
*/
|
|
8
|
+
export declare class FormatFileSizePipe implements PipeTransform {
|
|
9
|
+
transform(value: unknown, ...args: unknown[]): unknown;
|
|
10
|
+
/**转换文件大小单位 输入k */
|
|
11
|
+
get(bytes: any): string;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormatFileSizePipe, never>;
|
|
13
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<FormatFileSizePipe, "formatFileSize", true>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class GetDirectoryNamePipe implements PipeTransform {
|
|
4
|
+
transform(value: unknown, ...args: any[]): unknown;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GetDirectoryNamePipe, never>;
|
|
6
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<GetDirectoryNamePipe, "getDirectoryName", true>;
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CreateFileInput, FileContainerConfigurationDto, FileDescriptorDto, GetFilesInput, ImageResizeInput, UpdateFileInput } from './models';
|
|
2
2
|
import { RestService, Rest } from '@abp/ng.core';
|
|
3
|
-
import type { PagedResultDto } from '@abp/ng.core';
|
|
3
|
+
import type { ListResultDto, PagedResultDto } from '@abp/ng.core';
|
|
4
4
|
import type { FileResult } from '../../../microsoft/asp-net-core/mvc/models';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class FileDescriptorService {
|
|
@@ -8,10 +8,12 @@ export declare class FileDescriptorService {
|
|
|
8
8
|
apiName: string;
|
|
9
9
|
create: (input: CreateFileInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileDescriptorDto>;
|
|
10
10
|
delete: (id: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<void>;
|
|
11
|
+
deleteByEntityId: (containerName: string, entityId: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<void>;
|
|
11
12
|
download: (containerName: string, blobName: string, fileName: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileResult>;
|
|
12
13
|
get: (id: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileDescriptorDto>;
|
|
13
14
|
getFileContainerConfiguration: (containerName: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileContainerConfigurationDto>;
|
|
14
15
|
getList: (input: GetFilesInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<PagedResultDto<FileDescriptorDto>>;
|
|
16
|
+
getListByEntityId: (containerName: string, entityId: string, config?: Partial<Rest.Config>) => import("rxjs").Observable<ListResultDto<FileDescriptorDto>>;
|
|
15
17
|
getStream: (containerName: string, blobName: string, imageResize?: ImageResizeInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<Blob>;
|
|
16
18
|
update: (id: string, input: UpdateFileInput, config?: Partial<Rest.Config>) => import("rxjs").Observable<FileDescriptorDto>;
|
|
17
19
|
constructor(restService: RestService);
|
|
@@ -21,7 +21,11 @@ export interface FileContainerConfigurationDto {
|
|
|
21
21
|
deleteFilePermissionName?: string;
|
|
22
22
|
getFilePermissionName?: string;
|
|
23
23
|
}
|
|
24
|
-
export interface FileDescriptorDto extends
|
|
24
|
+
export interface FileDescriptorDto extends FileDescriptorListDto {
|
|
25
|
+
url?: string;
|
|
26
|
+
tenantId?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface FileDescriptorListDto extends CreationAuditedEntityDto<string> {
|
|
25
29
|
entityId?: string;
|
|
26
30
|
containerName?: string;
|
|
27
31
|
blobName?: string;
|
|
@@ -30,7 +34,6 @@ export interface FileDescriptorDto extends CreationAuditedEntityDto<string> {
|
|
|
30
34
|
size: number;
|
|
31
35
|
name?: string;
|
|
32
36
|
mimeType?: string;
|
|
33
|
-
url?: string;
|
|
34
37
|
}
|
|
35
38
|
export interface GetFilesInput extends PagedAndSortedResultRequestDto {
|
|
36
39
|
containerName: string;
|
package/package.json
CHANGED
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dignite-ng/expand.file-explorer",
|
|
3
|
-
"version": "3.0.0
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
"
|
|
3
|
+
"version": "3.0.0",
|
|
4
|
+
"homepage": "https://abp.io",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/abpframework/abp.git"
|
|
7
8
|
},
|
|
8
9
|
"dependencies": {
|
|
9
|
-
"tslib": "^2.
|
|
10
|
+
"tslib": "^2.0.0"
|
|
10
11
|
},
|
|
11
|
-
"
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"access": "public"
|
|
14
|
+
},
|
|
15
|
+
"license": "LGPL-3.0",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"aspnetcore",
|
|
18
|
+
"boilerplate",
|
|
19
|
+
"framework",
|
|
20
|
+
"web",
|
|
21
|
+
"best-practices",
|
|
22
|
+
"angular",
|
|
23
|
+
"maui",
|
|
24
|
+
"blazor",
|
|
25
|
+
"mvc",
|
|
26
|
+
"csharp",
|
|
27
|
+
"webapp"
|
|
28
|
+
],
|
|
12
29
|
"module": "fesm2022/dignite-ng-expand.file-explorer.mjs",
|
|
13
30
|
"typings": "index.d.ts",
|
|
14
31
|
"exports": {
|
|
@@ -27,5 +44,6 @@
|
|
|
27
44
|
"esm": "./esm2022/config/dignite-ng-expand.file-explorer-config.mjs",
|
|
28
45
|
"default": "./fesm2022/dignite-ng-expand.file-explorer-config.mjs"
|
|
29
46
|
}
|
|
30
|
-
}
|
|
47
|
+
},
|
|
48
|
+
"sideEffects": false
|
|
31
49
|
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class FileApiService {
|
|
4
|
-
constructor() { }
|
|
5
|
-
/**转换文件大小单位 输入k */
|
|
6
|
-
formatFileSize(bytes) {
|
|
7
|
-
const units = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
8
|
-
let size = bytes;
|
|
9
|
-
let unitIndex = 0;
|
|
10
|
-
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
11
|
-
size /= 1024;
|
|
12
|
-
unitIndex++;
|
|
13
|
-
}
|
|
14
|
-
// 保留两位小数,四舍五入
|
|
15
|
-
size = size.toFixed(1);
|
|
16
|
-
return `${size} ${units[unitIndex]}`;
|
|
17
|
-
}
|
|
18
|
-
/**获取图片的本地连接 */
|
|
19
|
-
getImageLacolBase64Url(file) {
|
|
20
|
-
return new Promise((resolve, rejects) => {
|
|
21
|
-
const reader = new FileReader();
|
|
22
|
-
reader.readAsDataURL(file);
|
|
23
|
-
reader.onload = (e) => {
|
|
24
|
-
resolve(e.target.result);
|
|
25
|
-
};
|
|
26
|
-
reader.onerror = error => rejects(error);
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* 深拷贝--方法
|
|
31
|
-
* $api.deepClone() */
|
|
32
|
-
deepClone(obj) {
|
|
33
|
-
if (typeof obj !== 'object' || obj === null)
|
|
34
|
-
return obj;
|
|
35
|
-
const result = Array.isArray(obj) ? [] : {};
|
|
36
|
-
for (let key in obj) {
|
|
37
|
-
if (obj.hasOwnProperty(key)) {
|
|
38
|
-
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
|
39
|
-
if (obj[key] instanceof Date) {
|
|
40
|
-
result[key] = new Date(obj[key].getTime());
|
|
41
|
-
}
|
|
42
|
-
else if (obj[key] instanceof RegExp) {
|
|
43
|
-
result[key] = new RegExp(obj[key]);
|
|
44
|
-
}
|
|
45
|
-
else if (obj[key] instanceof File) {
|
|
46
|
-
result[key] = obj[key];
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
result[key] = this.deepClone(obj[key]);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
result[key] = obj[key];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
60
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileApiService, providedIn: 'root' }); }
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: FileApiService, decorators: [{
|
|
63
|
-
type: Injectable,
|
|
64
|
-
args: [{
|
|
65
|
-
providedIn: 'root'
|
|
66
|
-
}]
|
|
67
|
-
}], ctorParameters: () => [] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZpbGUtZXhwbG9yZXIvc3JjL2xpYi9zZXJ2aWNlcy9maWxlLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxjQUFjO0lBRXpCLGdCQUFnQixDQUFDO0lBRWpCLGtCQUFrQjtJQUNsQixjQUFjLENBQUMsS0FBVTtRQUN2QixNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxJQUFJLEdBQU8sS0FBSyxDQUFDO1FBQ3JCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixPQUFPLElBQUksSUFBSSxJQUFJLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEQsSUFBSSxJQUFJLElBQUksQ0FBQztZQUNiLFNBQVMsRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELGNBQWM7UUFDZCxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN0QixPQUFPLEdBQUcsSUFBSSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxlQUFlO0lBQ2Ysc0JBQXNCLENBQUMsSUFBVTtRQUMvQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7Z0JBQ3pCLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQzFCLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0Q7OzRCQUV3QjtJQUN4QixTQUFTLENBQUMsR0FBRztRQUNYLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDNUMsS0FBSyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO29CQUN0RCxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQzt3QkFDN0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO29CQUM3QyxDQUFDO3lCQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxZQUFZLE1BQU0sRUFBRSxDQUFDO3dCQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ3JDLENBQUM7eUJBQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7d0JBQ3BDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7b0JBQ3RCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDekMsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0FwRFUsY0FBYztrSEFBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVBcGlTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIC8qKui9rOaNouaWh+S7tuWkp+Wwj+WNleS9jSDovpPlhaVrICovXG4gIGZvcm1hdEZpbGVTaXplKGJ5dGVzOiBhbnkpIHtcbiAgICBjb25zdCB1bml0cyA9IFsnQnl0ZXMnLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXTtcbiAgICBsZXQgc2l6ZTphbnkgPSBieXRlcztcbiAgICBsZXQgdW5pdEluZGV4ID0gMDtcbiAgICB3aGlsZSAoc2l6ZSA+PSAxMDI0ICYmIHVuaXRJbmRleCA8IHVuaXRzLmxlbmd0aCAtIDEpIHtcbiAgICAgIHNpemUgLz0gMTAyNDtcbiAgICAgIHVuaXRJbmRleCsrO1xuICAgIH1cbiAgICAvLyDkv53nlZnkuKTkvY3lsI/mlbDvvIzlm5voiI3kupTlhaVcbiAgICBzaXplID0gc2l6ZS50b0ZpeGVkKDEpXG4gICAgcmV0dXJuIGAke3NpemV9ICR7dW5pdHNbdW5pdEluZGV4XX1gO1xuICB9XG4gIC8qKuiOt+WPluWbvueJh+eahOacrOWcsOi/nuaOpSAqL1xuICBnZXRJbWFnZUxhY29sQmFzZTY0VXJsKGZpbGU6IEZpbGUpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XG4gICAgICAgIHJlc29sdmUoZS50YXJnZXQucmVzdWx0KVxuICAgICAgfTtcbiAgICAgIHJlYWRlci5vbmVycm9yID0gZXJyb3IgPT4gcmVqZWN0cyhlcnJvcik7XG4gICAgfSlcbiAgfVxuICAvKipcbiAgICAqIOa3seaLt+i0nS0t5pa55rOVXG4gICAgKiAkYXBpLmRlZXBDbG9uZSgpICAqL1xuICBkZWVwQ2xvbmUob2JqKSB7XG4gICAgaWYgKHR5cGVvZiBvYmogIT09ICdvYmplY3QnIHx8IG9iaiA9PT0gbnVsbCkgcmV0dXJuIG9iajtcbiAgICBjb25zdCByZXN1bHQgPSBBcnJheS5pc0FycmF5KG9iaikgPyBbXSA6IHt9O1xuICAgIGZvciAobGV0IGtleSBpbiBvYmopIHtcbiAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBpZiAodHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0JyAmJiBvYmpba2V5XSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChvYmpba2V5XSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbmV3IERhdGUob2JqW2tleV0uZ2V0VGltZSgpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG9ialtrZXldIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IG5ldyBSZWdFeHAob2JqW2tleV0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAob2JqW2tleV0gaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICAgICAgICByZXN1bHRba2V5XT1vYmpba2V5XVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IHRoaXMuZGVlcENsb25lKG9ialtrZXldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -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
|
-
}
|