@apia/uploader-controller 4.0.44 → 5.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/dist/index.d.ts CHANGED
@@ -2,44 +2,27 @@ import * as _apia_util from '@apia/util';
2
2
  import { EventEmitter, NotificationDefinition, T__LEGACY_SERVER__ApiaLoad, T__LEGACY_SERVER__ApiaFunction } from '@apia/util';
3
3
  import * as _apia_api2 from '@apia/api2';
4
4
  import { ApiContext } from '@apia/api2';
5
+ import { MobXTreeNodeState, MobXTreeNode, MobXTree } from '@apia/tree2-controller';
5
6
 
6
- interface UploadContext extends ApiContext {
7
- currentUserLogin: string;
8
- docLangs: string;
9
- everyoneCanUpdate: boolean;
10
- ownerCanUpdate: boolean;
11
- readonly: boolean;
12
- IN_MONITOR: boolean;
13
- WEBDAV_SERVER: string;
14
- ITHit: any;
15
- }
16
- /**
17
- * El comportamiento de esta función se explica por su
18
- * nombre.
19
- */
20
- declare function returnExactlyTheSame(defaultParameters: Record<string, unknown>): Record<string, unknown>;
21
- declare const parseFileDefinition: (context: UploadContext, fileDefinition: TFileUploaded | TUploaderFileInfo, isSignRequired: boolean) => TUploaderFileInfo;
22
- type TOnUploadProgress = (progress: number) => void;
23
7
  declare class UploaderApi extends EventEmitter<{
24
8
  fileUploaded: null;
25
9
  }> {
26
10
  props: {
27
11
  context: UploadContext;
28
12
  id: string;
29
- type: 'E' | 'P';
30
13
  modalConfig: TModalConfig;
31
14
  };
32
15
  maxFiles: number;
33
16
  modalController: UploaderModalController | null;
34
- allowTranslations: boolean;
35
17
  langs: Record<number, string> | undefined;
36
18
  currentConfiguration: TUploaderLoadCurrentFunctionMessages | undefined;
37
19
  state: UploaderState;
38
20
  get filesArray(): TUploaderFileInfo[];
21
+ get id(): string;
22
+ get modalConfig(): TModalConfig;
39
23
  constructor(props: {
40
24
  context: UploadContext;
41
25
  id: string;
42
- type: 'E' | 'P';
43
26
  modalConfig: TModalConfig;
44
27
  });
45
28
  get context(): UploadContext;
@@ -147,17 +130,18 @@ declare class UploaderApi extends EventEmitter<{
147
130
  langId?: number;
148
131
  translatingFile?: TUploaderFileInfo;
149
132
  }): Promise<boolean>;
133
+ protected getLoadCurrentDocumentsParameters(params: Record<string, unknown>): Record<string, unknown>;
150
134
  loadCurrentDocuments(): Promise<void>;
151
135
  lockDocument(id: string): Promise<void>;
152
136
  protected evaluateDeleteDocumentResult(result: unknown): boolean;
153
137
  setTranslationFile(file: TUploaderFileInfo, docId: string, langId: number): void;
154
- protected getCheckSignatureParameters: typeof returnExactlyTheSame;
155
- protected getAjaxUploadFileStatusParameters: typeof returnExactlyTheSame;
156
- protected getAjaxUploadStartParameters: typeof returnExactlyTheSame;
157
- protected getConfirmDropModalParameters: typeof returnExactlyTheSame;
158
- protected getCheckLockDocumentParameters: typeof returnExactlyTheSame;
159
- protected getCheckWebDavLockParameters: typeof returnExactlyTheSame;
160
- protected getConfirmDropModalPostdata: typeof returnExactlyTheSame;
138
+ protected getCheckSignatureParameters(props: Record<string, unknown>): Record<string, unknown>;
139
+ protected getAjaxUploadFileStatusParameters(props: Record<string, unknown>): Record<string, unknown>;
140
+ protected getAjaxUploadStartParameters(props: Record<string, unknown>): Record<string, unknown>;
141
+ protected getConfirmDropModalParameters(props: Record<string, unknown>): Record<string, unknown>;
142
+ protected getCheckLockDocumentParameters(props: Record<string, unknown>): Record<string, unknown>;
143
+ protected getCheckWebDavLockParameters(props: Record<string, unknown>): Record<string, unknown>;
144
+ protected getConfirmDropModalPostdata(props: Record<string, unknown>): Record<string, unknown>;
161
145
  protected getConfirmDropModalMetadataString: ({ metadata, }: {
162
146
  metadata: TDocumentMetadata[];
163
147
  }) => string;
@@ -166,17 +150,17 @@ declare class UploaderApi extends EventEmitter<{
166
150
  usersPermissions: IUsersPermissions[];
167
151
  }) => string;
168
152
  protected getConfirmDropModalAdditionalMetadataString: (additionalMetadata: TDocumentMetadata[] | []) => string;
169
- protected getDeleteDocumentParameters: typeof returnExactlyTheSame;
170
- protected getClearTempFilesParameters: typeof returnExactlyTheSame;
171
- protected getDocumentInfoParameters: typeof returnExactlyTheSame;
172
- protected getDownloadMultipleDocumentsParameters: typeof returnExactlyTheSame;
173
- protected getEditDocumentParameters: typeof returnExactlyTheSame;
174
- protected getLockDocumentParameters: typeof returnExactlyTheSame;
175
- protected getMarkFileToSignParameters: typeof returnExactlyTheSame;
176
- protected getProcessDroppedFilesParameters: typeof returnExactlyTheSame;
177
- protected getProcessDroppedFilesPostdata: typeof returnExactlyTheSame;
178
- protected getReloadMetadataParameters: typeof returnExactlyTheSame;
179
- protected getSaveDroppedFilesParameters: typeof returnExactlyTheSame;
153
+ protected getDeleteDocumentParameters(props: Record<string, unknown>): Record<string, unknown>;
154
+ protected getClearTempFilesParameters(props: Record<string, unknown>): Record<string, unknown>;
155
+ protected getDocumentInfoParameters(props: Record<string, unknown>): Record<string, unknown>;
156
+ protected getDownloadMultipleDocumentsParameters(props: Record<string, unknown>): Record<string, unknown>;
157
+ protected getEditDocumentParameters(props: Record<string, unknown>): Record<string, unknown>;
158
+ protected getLockDocumentParameters(props: Record<string, unknown>): Record<string, unknown>;
159
+ protected getMarkFileToSignParameters(props: Record<string, unknown>): Record<string, unknown>;
160
+ protected getProcessDroppedFilesParameters(props: Record<string, unknown>): Record<string, unknown>;
161
+ protected getProcessDroppedFilesPostdata(props: Record<string, unknown>): Record<string, unknown>;
162
+ protected getReloadMetadataParameters(props: Record<string, unknown>): Record<string, unknown>;
163
+ protected getSaveDroppedFilesParameters(props: Record<string, unknown>): Record<string, unknown>;
180
164
  protected filterAlreadyUploadedFiles(files: File[], conf?: TSaveDroppedFilesConf): File[];
181
165
  protected filterByFilesAmountLimit(files: File[]): File[];
182
166
  protected filterAcceptedFiles(files: File[], shouldNotify?: boolean, docTypeId?: string | TDocType): File[];
@@ -192,6 +176,92 @@ declare class UploaderApi extends EventEmitter<{
192
176
  getLoadFilesForFolderParameters(): Record<string, unknown>;
193
177
  }
194
178
 
179
+ type TFilePickerProps = {
180
+ controller?: DirectoriesPicker;
181
+ onFilePick: (file: string) => unknown;
182
+ };
183
+ type TDocumentStructure = {
184
+ dLckByCurrUsr: string;
185
+ docLock: string;
186
+ folder: string;
187
+ id: string;
188
+ moreDocs: number;
189
+ name: string;
190
+ };
191
+ type TFolderStructure = {
192
+ addToggler: boolean;
193
+ allEdit: 'M' | 'R';
194
+ canWrite: boolean;
195
+ date: string;
196
+ desc: string;
197
+ edit: boolean;
198
+ id: string;
199
+ level: string;
200
+ name: string;
201
+ parent: string;
202
+ selectedFolder: boolean;
203
+ };
204
+ type TDirectoriesPickerResponse = {
205
+ documents: {
206
+ document: TDocumentStructure | TDocumentStructure[];
207
+ documentInfo: {
208
+ folder: string;
209
+ moreDocs: number;
210
+ };
211
+ };
212
+ folder: TFolderStructure[];
213
+ };
214
+ type TFilesPickerResponse = {
215
+ folders: {
216
+ folder: TFolderStructure | TFolderStructure[];
217
+ };
218
+ documents: {
219
+ document: TDocumentStructure | TDocumentStructure[];
220
+ documentInfo: {
221
+ folder: string;
222
+ moreDocs: number;
223
+ };
224
+ };
225
+ };
226
+ type TCreateTreeNode = {
227
+ id?: string;
228
+ parentId: string;
229
+ } & Omit<Partial<MobXTreeNodeState>, 'children'>;
230
+
231
+ declare class DirectoryPickerFolderNode extends MobXTreeNode {
232
+ protected loadMoreDocsNode: MobXTreeNode | null;
233
+ protected removeLoadMoreDocsNode(): void;
234
+ isLoadingMore: boolean;
235
+ constructor(parent: DirectoryPickerFolderNode | DirectoriesPicker, { parentId, id, ...props }: TCreateTreeNode);
236
+ getTree(): DirectoriesPicker;
237
+ loadMore(focus?: boolean): Promise<void>;
238
+ refresh(): Promise<void>;
239
+ }
240
+
241
+ declare class DocumentNode extends MobXTreeNode {
242
+ constructor(parent: DirectoryPickerFolderNode | DirectoriesPicker, { parentId, id, ...props }: TCreateTreeNode);
243
+ }
244
+
245
+ declare class DirectoriesPicker extends MobXTree {
246
+ api: UploaderApi;
247
+ isLoading: boolean;
248
+ renderers: TModalConfig['renderers'];
249
+ constructor(api: UploaderApi);
250
+ createDocument(nodeProps: TCreateTreeNode): DocumentNode;
251
+ createFolder(nodeProps: TCreateTreeNode): DirectoryPickerFolderNode;
252
+ initialLoad(): Promise<void>;
253
+ getFolderStructureParams(): {
254
+ ajaxUrl: string;
255
+ action: string;
256
+ preventAsXmlParameter: boolean;
257
+ isAjax: boolean;
258
+ isXml: boolean;
259
+ docId: string | undefined;
260
+ };
261
+ getNodeHandler(nodeProps: TCreateTreeNode): DirectoryPickerFolderNode;
262
+ parseStructureResponse(res: any): TFolderStructure[] | null;
263
+ }
264
+
195
265
  declare class UploaderModalController {
196
266
  api: UploaderApi;
197
267
  modalConfig: TModalConfig;
@@ -200,6 +270,7 @@ declare class UploaderModalController {
200
270
  translatingFile?: TUploaderFileInfo;
201
271
  versionFile?: TUploaderFileInfo;
202
272
  } | undefined;
273
+ directories: DirectoriesPicker | null;
203
274
  state: UploaderModalState;
204
275
  constructor(api: UploaderApi, modalConfig: TModalConfig, conf?: {
205
276
  langId?: number;
@@ -234,7 +305,6 @@ declare class UploaderModalController {
234
305
  deleteMetadata(indices: number[]): void;
235
306
  deletePermission(item: IPoolsPermissions | IUsersPermissions): void;
236
307
  protected onChangeExtension(): void;
237
- openModal(): Promise<void>;
238
308
  setDescription(desc: string): void;
239
309
  protected resetMetadata(): Promise<void>;
240
310
  validate(): boolean;
@@ -358,19 +428,30 @@ type TDocumentMetadata = {
358
428
  };
359
429
  type TModalConfig = {
360
430
  allowDocumentsMonitor: boolean;
361
- allowPickFromDirectories: boolean;
362
431
  collapsePermissions: boolean;
363
432
  collapseDirectories: boolean;
364
433
  collapseMetadata: boolean;
365
- defaultDirectory?: number;
366
434
  monitorId?: number;
367
435
  oneClickUpload: boolean;
368
436
  rootFolder?: string;
369
- showDirectoriesStructure: boolean;
370
437
  showExpDate: boolean;
371
438
  showPermissions: boolean;
372
439
  showMetadata: boolean;
373
440
  translationId?: string;
441
+ allowPickFromDirectories: boolean;
442
+ showDirectoriesStructure: boolean;
443
+ defaultDirectory?: number;
444
+ /**
445
+ * Renderers
446
+ *
447
+ * Due to avoid react policy on controllers we cannot declare ReactComponent here.
448
+ */
449
+ renderers?: {
450
+ FolderIconRenderer?: any;
451
+ FileIconRenderer: any;
452
+ LoadMoreRenderer?: any;
453
+ LockedFolderIconRenderer?: any;
454
+ };
374
455
  };
375
456
  type TUploaderLoadCurrentFunctionMessages = {
376
457
  allowSign: boolean;
@@ -490,6 +571,47 @@ type TDocumentVersion = {
490
571
  type TRequireOnlyOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
491
572
  [K in Keys]-?: Required<Pick<T, K>> & Partial<Record<Exclude<Keys, K>, undefined>>;
492
573
  }[Keys];
574
+ interface UploadContext extends ApiContext {
575
+ currentUserLogin: string;
576
+ docLangs: string;
577
+ everyoneCanUpdate: boolean;
578
+ openModal: () => unknown;
579
+ ownerCanUpdate: boolean;
580
+ readonly: boolean;
581
+ allowTranslation: boolean;
582
+ IN_MONITOR: boolean;
583
+ WEBDAV_SERVER: string;
584
+ ITHit: any;
585
+ }
586
+ type TOnUploadProgress = (progress: number) => void;
587
+
588
+ declare const parseFileDefinition: (context: UploadContext, fileDefinition: TFileUploaded | TUploaderFileInfo, isSignRequired: boolean) => TUploaderFileInfo;
589
+
590
+ declare class FilePicker extends DirectoriesPicker {
591
+ constructor(api: UploaderApi);
592
+ getNodeHandler(nodeProps: TCreateTreeNode): DirectoryPickerFolderNode;
593
+ getFolderStructureParams(): any;
594
+ parseStructureResponse(res: any): TFolderStructure[] | null;
595
+ }
596
+
597
+ declare class FilePickerFolderNode extends DirectoryPickerFolderNode {
598
+ private params;
599
+ constructor(parent: DirectoryPickerFolderNode | DirectoriesPicker, props: TCreateTreeNode, params?: Record<string, unknown>);
600
+ loadMore(focus?: boolean): Promise<void>;
601
+ }
602
+
603
+ declare const DirectoryPickerActions: {
604
+ ajaxUrl: (api: UploaderApi) => string;
605
+ loadFolderStructure: string;
606
+ loadFilesForFolder: string;
607
+ };
608
+ declare const FilePickerActions: {
609
+ ajaxUrl: string;
610
+ loadFileSystemStructureTree: string;
611
+ loadFilesForFolder: string;
612
+ loadFolderStructure: string;
613
+ };
614
+ declare function makeId(str: string): string;
493
615
 
494
- export { type IPoolsPermissions, type IUsersPermissions, type TAjaxUploadFileStatus, type TAjaxUploadStart, type TApiaDocumentDefinition, type TConfirmDropModal, type TDocInfo, type TDocType, type TDocumentDownloadHistory, type TDocumentInformation, type TDocumentMetadata, type TDocumentPermission, type TDocumentVersion, type TFileUploaded, type TModalConfig, type TOnUploadProgress, type TProcessDroppedFiles, type TRequireOnlyOne, type TSaveDroppedFilesConf, type TUploadModalOpener, type TUploaderFileInfo, type TUploaderLoadCurrentFunction, type TUploaderLoadCurrentFunctionMessages, type UploadContext, UploaderApi, UploaderModalController, type UploaderModalState, type UploaderState, parseFileDefinition, returnExactlyTheSame };
616
+ export { DirectoriesPicker, DirectoryPickerActions, DirectoryPickerFolderNode, DocumentNode, FilePicker, FilePickerActions, FilePickerFolderNode, type IPoolsPermissions, type IUsersPermissions, type TAjaxUploadFileStatus, type TAjaxUploadStart, type TApiaDocumentDefinition, type TConfirmDropModal, type TCreateTreeNode, type TDirectoriesPickerResponse, type TDocInfo, type TDocType, type TDocumentDownloadHistory, type TDocumentInformation, type TDocumentMetadata, type TDocumentPermission, type TDocumentStructure, type TDocumentVersion, type TFilePickerProps, type TFileUploaded, type TFilesPickerResponse, type TFolderStructure, type TModalConfig, type TOnUploadProgress, type TProcessDroppedFiles, type TRequireOnlyOne, type TSaveDroppedFilesConf, type TUploadModalOpener, type TUploaderFileInfo, type TUploaderLoadCurrentFunction, type TUploaderLoadCurrentFunctionMessages, type UploadContext, UploaderApi, UploaderModalController, type UploaderModalState, type UploaderState, makeId, parseFileDefinition };
495
617
  //# sourceMappingURL=index.d.ts.map