@acorex/platform 21.0.0-next.16 → 21.0.0-next.17

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 (25) hide show
  1. package/common/index.d.ts +10 -1
  2. package/core/index.d.ts +1 -1
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-BwBLG0Hl.mjs → acorex-platform-common-common-settings.provider-gyb6ohAE.mjs} +15 -1
  4. package/fesm2022/acorex-platform-common-common-settings.provider-gyb6ohAE.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +3 -2
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-core.mjs +10 -6
  8. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-domain.mjs.map +1 -1
  10. package/fesm2022/acorex-platform-layout-entity.mjs +292 -33
  11. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  12. package/fesm2022/acorex-platform-layout-views.mjs +2 -2
  13. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  14. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-zkvCqKp9.mjs → acorex-platform-layout-widgets-file-list-popup.component-DmIanCrO.mjs} +12 -3
  15. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-DmIanCrO.mjs.map +1 -0
  16. package/fesm2022/acorex-platform-layout-widgets.mjs +70 -20
  17. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  18. package/fesm2022/acorex-platform-workflow.mjs +0 -2
  19. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  20. package/layout/entity/index.d.ts +8 -0
  21. package/layout/widgets/index.d.ts +21 -1
  22. package/package.json +1 -1
  23. package/workflow/index.d.ts +33 -30
  24. package/fesm2022/acorex-platform-common-common-settings.provider-BwBLG0Hl.mjs.map +0 -1
  25. package/fesm2022/acorex-platform-layout-widgets-file-list-popup.component-zkvCqKp9.mjs.map +0 -1
@@ -831,6 +831,7 @@ interface AXPRecordStateInfo {
831
831
  interface AXPRecordOwnershipInfo {
832
832
  tenantId?: string;
833
833
  applicationId?: string;
834
+ userId?: string;
834
835
  }
835
836
  interface AXPEntityModel<Id> {
836
837
  id: Id;
@@ -1636,6 +1637,7 @@ declare class AXPEntityCategoryWidgetColumnComponent extends AXPColumnWidgetComp
1636
1637
  protected readonly entityDetailPopoverService: AXPEntityDetailPopoverService;
1637
1638
  protected readonly formatService: AXFormatService;
1638
1639
  protected readonly entityResolver: AXPEntityDefinitionRegistryService;
1640
+ private readonly categoryBatchResolver;
1639
1641
  private readonly rawValueSignal;
1640
1642
  set rawValueInput(value: any);
1641
1643
  protected entity: _angular_core.Signal<string>;
@@ -1660,6 +1662,12 @@ declare class AXPEntityCategoryWidgetColumnComponent extends AXPColumnWidgetComp
1660
1662
  protected joinPath(path: string[]): string;
1661
1663
  protected getItemId(item: any): string;
1662
1664
  protected getBreadcrumbPath(item: any): string;
1665
+ private resolveItemsWithPaths;
1666
+ /**
1667
+ * Build path from categories array when record has full chain (id, parentId, title).
1668
+ * Used when middleware enriches categories on create/update.
1669
+ */
1670
+ private buildItemWithPathFromChain;
1663
1671
  private extractItemWithPath;
1664
1672
  /**
1665
1673
  * Calculate the full path from root to the item.
@@ -2178,6 +2178,7 @@ declare class AXPEditFileUploaderCommand implements AXPCommand<{
2178
2178
  }[];
2179
2179
  excludePlugins?: string[];
2180
2180
  enableTitleDescription?: boolean;
2181
+ isNewFile?: boolean;
2181
2182
  }, AXPFileListItem> {
2182
2183
  private readonly layoutBuilder;
2183
2184
  private readonly translationService;
@@ -2190,6 +2191,7 @@ declare class AXPEditFileUploaderCommand implements AXPCommand<{
2190
2191
  }[];
2191
2192
  excludePlugins?: string[];
2192
2193
  enableTitleDescription?: boolean;
2194
+ isNewFile?: boolean;
2193
2195
  }): Promise<AXPExecuteCommandResult<AXPFileListItem>>;
2194
2196
  private showEditDialog;
2195
2197
  /**
@@ -2276,6 +2278,7 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
2276
2278
  protected readonly fileService: AXFileService;
2277
2279
  private readonly hooks;
2278
2280
  private readonly fileActionsService;
2281
+ private readonly commandExecutor;
2279
2282
  protected multiple: _angular_core.Signal<boolean>;
2280
2283
  private readonly acceptOverride;
2281
2284
  protected accept: _angular_core.Signal<string>;
@@ -2287,6 +2290,8 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
2287
2290
  protected excludePlugins: _angular_core.Signal<string[]>;
2288
2291
  protected fileEditable: _angular_core.Signal<boolean>;
2289
2292
  protected enableTitleDescription: _angular_core.Signal<boolean>;
2293
+ /** When true, show the edit dialog (name/title/description + plugin hooks) after each file select; otherwise add to list and user edits via Edit button. */
2294
+ protected showEditDialogAfterSelect: _angular_core.Signal<boolean>;
2290
2295
  protected readonly: _angular_core.Signal<boolean>;
2291
2296
  protected maxFileSize: _angular_core.Signal<number>;
2292
2297
  protected isDragOver: _angular_core.WritableSignal<boolean>;
@@ -2297,8 +2302,13 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
2297
2302
  private configureFromHooks;
2298
2303
  /**
2299
2304
  * Process files from various sources (file picker, drag-drop, etc.)
2305
+ * When showEditDialogAfterSelect is true, the edit dialog (with plugin hooks) is shown per file before adding; otherwise files are added and user can edit via Edit button.
2300
2306
  */
2301
2307
  private processFiles;
2308
+ /**
2309
+ * Show edit dialog per file and add only those submitted. Used when showEditDialogAfterSelect is true (both from zone and from dropdown actions).
2310
+ */
2311
+ private addFilesWithEditDialogAsync;
2302
2312
  protected files: _angular_core.Signal<AXPFileListItem[]>;
2303
2313
  handleFileRemove(file: AXPFileListItem): void;
2304
2314
  removeFile(file: AXPFileListItem): void;
@@ -2307,7 +2317,8 @@ declare class AXPFileUploaderWidgetEditComponent extends AXPValueWidgetComponent
2307
2317
  */
2308
2318
  handleFileRevert(file: AXPFileListItem): void;
2309
2319
  /**
2310
- * Handle file rename action
2320
+ * Handle file rename action. Persists name/title/description to file storage immediately when edited
2321
+ * so they are saved even if the entity payload does not carry these fields.
2311
2322
  */
2312
2323
  handleFileRename(file: AXPFileListItem): void;
2313
2324
  clear(): void;
@@ -2341,6 +2352,7 @@ interface AXPFileUploaderWidgetDesignerOptions {
2341
2352
  fileEditable?: boolean;
2342
2353
  maxFileSize?: number;
2343
2354
  enableTitleDescription?: boolean;
2355
+ showEditDialogAfterSelect?: boolean;
2344
2356
  }
2345
2357
  interface AXPFileUploaderWidgetViewOptions {
2346
2358
  }
@@ -2356,6 +2368,7 @@ interface AXPFileUploaderWidgetEditOptions {
2356
2368
  fileEditable?: boolean;
2357
2369
  maxFileSize?: number;
2358
2370
  enableTitleDescription?: boolean;
2371
+ showEditDialogAfterSelect?: boolean;
2359
2372
  }
2360
2373
  interface AXPFileUploaderWidgetColumnOptions {
2361
2374
  }
@@ -2384,6 +2397,13 @@ declare class AXPFileUploaderWidgetService {
2384
2397
  accept?: string;
2385
2398
  fileEditable?: boolean;
2386
2399
  maxFileSize?: number;
2400
+ /** Plugins (e.g. document plugin) so hooks/actions apply same as in widget. */
2401
+ plugins?: {
2402
+ name: string;
2403
+ options?: unknown;
2404
+ }[];
2405
+ /** Plugins to exclude. */
2406
+ excludePlugins?: string[];
2387
2407
  /** When true, file edit dialog shows name, title and description fields; otherwise only name (rename). Default false. */
2388
2408
  enableTitleDescription?: boolean;
2389
2409
  }): Promise<AXPFileListItem[] | undefined>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "21.0.0-next.16",
3
+ "version": "21.0.0-next.17",
4
4
  "peerDependencies": {
5
5
  "@acorex/cdk": "^19.0.0 || ^20.0.0 || ^21.0.0-next.0",
6
6
  "@acorex/core": "^19.0.0 || ^20.0.0 || ^21.0.0-next.0",
@@ -200,8 +200,13 @@ interface AXPWorkflowActivityInstance {
200
200
  * Example: { "message": "Hello", "duration": 5000 }
201
201
  */
202
202
  inputs?: Record<string, any>;
203
+ /**
204
+ * Output mapping: process variable name → path in this activity's output (BPMN-style: activity → variable).
205
+ * When this activity completes, each entry sets variables[variableName] = output[outputPath].
206
+ * Example: { leaveRequestId: 'id' } → variables.leaveRequestId = activityOutput.id
207
+ */
208
+ outputToVariables?: Record<string, string>;
203
209
  metadata?: Record<string, any>;
204
- customProperties?: Record<string, any>;
205
210
  /** engine-specific override */
206
211
  extensions?: Record<string, any>;
207
212
  }
@@ -219,46 +224,44 @@ interface AXPConnection {
219
224
  y: number;
220
225
  }>;
221
226
  }
222
- interface AXPVariableDefinition {
223
- name: string;
224
- type: string;
225
- isArray?: boolean;
226
- value?: any;
227
- storageDriverType?: string | null;
228
- }
229
227
  interface AXPWorkflowPropertyWidget {
230
228
  type: AXPWidgetTypesMap[keyof AXPWidgetTypesMap] | string;
231
229
  options?: Record<string, any>;
232
230
  }
233
- interface AXPWorkflowInputDescriptor {
231
+ /**
232
+ * Base schema shape for workflow inputs, outputs, and variables.
233
+ */
234
+ interface AXPWorkflowDescriptorSchemaBase {
235
+ dataType: string;
236
+ isArray?: boolean;
237
+ nullable?: boolean;
238
+ readonly?: boolean;
239
+ hidden?: boolean | string;
240
+ defaultValue?: any | string | ((context: any | null) => any);
241
+ interface: AXPWorkflowPropertyWidget;
242
+ }
243
+ /**
244
+ * Base descriptor for workflow inputs, outputs, and variables.
245
+ * Shared fields: name, title, description, schema.
246
+ */
247
+ interface AXPWorkflowDescriptorBase {
234
248
  name: string;
235
249
  title: string;
236
250
  description?: string;
237
- schema: {
238
- dataType: string;
239
- isArray?: boolean;
240
- nullable?: boolean;
241
- readonly?: boolean;
242
- hidden?: boolean | string;
243
- defaultValue?: any | string | ((context: any | null) => any);
244
- interface: AXPWorkflowPropertyWidget;
245
- };
251
+ schema: AXPWorkflowDescriptorSchemaBase;
252
+ }
253
+ interface AXPWorkflowInputDescriptor extends AXPWorkflowDescriptorBase {
246
254
  validations?: AXPValidationRules;
247
255
  }
248
- interface AXPWorkflowOutputDescriptor {
249
- name: string;
250
- title: string;
251
- description?: string;
256
+ interface AXPWorkflowOutputDescriptor extends AXPWorkflowDescriptorBase {
252
257
  /**
253
- * Optional: where this output comes from in your context/memory.
254
- * Example: "$.result.orderId" or "vars.orderId"
255
- */
258
+ * Optional: where this output comes from in your context/memory.
259
+ * Example: "$.result.orderId" or "vars.orderId"
260
+ */
256
261
  path?: string;
257
262
  metadata?: Record<string, any>;
258
- schema: {
259
- isArray?: boolean;
260
- dataType: string;
261
- };
263
+ }
264
+ interface AXPVariableDefinition extends AXPWorkflowDescriptorBase {
262
265
  }
263
266
  /**
264
267
  * Engine-specific extension bag for a workflow.
@@ -1797,4 +1800,4 @@ declare class AXPWorkflowDefinitionService {
1797
1800
  }
1798
1801
 
1799
1802
  export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_PROVIDER, ActivityExecutor, WorkflowExpressionScopeService, createWorkFlowEvent, ofType };
1800
- export type { AXPActivity, AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType, AXPVariableDefinition, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowDefinition, AXPWorkflowEngine, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInputDescriptor, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputDescriptor, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowResumeResult, WorkflowStartResult };
1803
+ export type { AXPActivity, AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType, AXPVariableDefinition, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowDefinition, AXPWorkflowDescriptorBase, AXPWorkflowDescriptorSchemaBase, AXPWorkflowEngine, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInputDescriptor, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputDescriptor, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowResumeResult, WorkflowStartResult };
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-common-common-settings.provider-BwBLG0Hl.mjs","sources":["../tmp-esm2022/common/lib/configs/common-settings.provider.js"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXPCommonSettings } from './common-settings.key';\nimport * as i0 from \"@angular/core\";\nexport class AXPCommonSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`@general:settings.${key}`);\n // Define the 'General Settings' group\n context\n .group('general')\n ?.addSection('notifications', await trans('general.notifications.title'), await trans('general.notifications.description'))\n // Add the 'Enable Operation Toasts' setting\n .addSetting({\n key: AXPCommonSettings.EnableOperationToasts,\n title: await trans('general.notifications.enable-operation-toasts.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: await trans('general.notifications.enable-operation-toasts.description'),\n })\n // End the 'Notifications' section\n .endSection()\n .addSection('entity', await trans('general.entity.title'), await trans('general.entity.description'))\n // Add the 'Enable Operation Toasts' setting\n .addSetting({\n key: AXPCommonSettings.EntityFilterApplyMode,\n title: await trans('general.entity.filter-apply-mode.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'auto',\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n label: null,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { value: 'auto', text: await trans('general.entity.filter-apply-mode.options.auto') },\n { value: 'manual', text: await trans('general.entity.filter-apply-mode.options.manual') },\n ],\n },\n },\n description: await trans('general.entity.filter-apply-mode.description'),\n })\n // End the 'Entity Settings' section\n .endSection()\n // End the 'General Settings' group\n .endGroup();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPCommonSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPCommonSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPCommonSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNldHRpbmdzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9jb25maWdzL2NvbW1vbi1zZXR0aW5ncy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRnJCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFbkMsQ0FBQztJQUUxQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1RyxzQ0FBc0M7UUFDdEMsT0FBTzthQUNKLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDakIsRUFBRSxVQUFVLENBQ1YsZUFBZSxFQUNmLE1BQU0sS0FBSyxDQUFDLDZCQUE2QixDQUFDLEVBQzFDLE1BQU0sS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQ2pEO1lBQ0QsNENBQTRDO2FBQzNDLFVBQVUsQ0FBQztZQUNWLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxxQkFBcUI7WUFDNUMsS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFDLHFEQUFxRCxDQUFDO1lBQ3pFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO1lBQzVCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7WUFFRCxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUM7U0FDdEYsQ0FBQztZQUVGLGtDQUFrQzthQUNqQyxVQUFVLEVBQUU7YUFDWixVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNyRyw0Q0FBNEM7YUFDM0MsVUFBVSxDQUFDO1lBQ1YsR0FBRyxFQUFFLGlCQUFpQixDQUFDLHFCQUFxQjtZQUM1QyxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUMsd0NBQXdDLENBQUM7WUFDNUQsS0FBSyxFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDNUIsV0FBVyxFQUFFLElBQUk7WUFDakIsWUFBWSxFQUFFLE1BQU07WUFDcEIsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLElBQUk7b0JBQ1gsVUFBVSxFQUFFLE9BQU87b0JBQ25CLFNBQVMsRUFBRSxNQUFNO29CQUNqQixVQUFVLEVBQUU7d0JBQ1YsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxFQUFFO3dCQUNyRixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLGlEQUFpRCxDQUFDLEVBQUU7cUJBQzFGO2lCQUNGO2FBQ0Y7WUFFRCxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUMsOENBQThDLENBQUM7U0FDekUsQ0FBQztZQUVGLG9DQUFvQzthQUNuQyxVQUFVLEVBQUU7WUFDYixtQ0FBbUM7YUFDbEMsUUFBUSxFQUFFLENBQUM7SUFDaEIsQ0FBQzsrR0EvRFUsd0JBQXdCO21IQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnLi4vc2V0dGluZ3MnO1xuaW1wb3J0IHsgQVhQQ29tbW9uU2V0dGluZ3MgfSBmcm9tICcuL2NvbW1vbi1zZXR0aW5ncy5rZXknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQQ29tbW9uU2V0dGluZ1Byb3ZpZGVyIGltcGxlbWVudHMgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhgQGdlbmVyYWw6c2V0dGluZ3MuJHtrZXl9YCk7XG5cbiAgICAvLyBEZWZpbmUgdGhlICdHZW5lcmFsIFNldHRpbmdzJyBncm91cFxuICAgIGNvbnRleHRcbiAgICAgIC5ncm91cCgnZ2VuZXJhbCcpXG4gICAgICA/LmFkZFNlY3Rpb24oXG4gICAgICAgICdub3RpZmljYXRpb25zJyxcbiAgICAgICAgYXdhaXQgdHJhbnMoJ2dlbmVyYWwubm90aWZpY2F0aW9ucy50aXRsZScpLFxuICAgICAgICBhd2FpdCB0cmFucygnZ2VuZXJhbC5ub3RpZmljYXRpb25zLmRlc2NyaXB0aW9uJyksXG4gICAgICApXG4gICAgICAvLyBBZGQgdGhlICdFbmFibGUgT3BlcmF0aW9uIFRvYXN0cycgc2V0dGluZ1xuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLkVuYWJsZU9wZXJhdGlvblRvYXN0cyxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLm5vdGlmaWNhdGlvbnMuZW5hYmxlLW9wZXJhdGlvbi10b2FzdHMudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGUuVXNlcixcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLm5vdGlmaWNhdGlvbnMuZW5hYmxlLW9wZXJhdGlvbi10b2FzdHMuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG5cbiAgICAgIC8vIEVuZCB0aGUgJ05vdGlmaWNhdGlvbnMnIHNlY3Rpb25cbiAgICAgIC5lbmRTZWN0aW9uKClcbiAgICAgIC5hZGRTZWN0aW9uKCdlbnRpdHknLCBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ2dlbmVyYWwuZW50aXR5LmRlc2NyaXB0aW9uJykpXG4gICAgICAvLyBBZGQgdGhlICdFbmFibGUgT3BlcmF0aW9uIFRvYXN0cycgc2V0dGluZ1xuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLkVudGl0eUZpbHRlckFwcGx5TW9kZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5maWx0ZXItYXBwbHktbW9kZS50aXRsZScpLFxuICAgICAgICBzY29wZTogQVhQUGxhdGZvcm1TY29wZS5Vc2VyLFxuICAgICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiAnYXV0bycsXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnNlbGVjdCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICB0ZXh0RmllbGQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgICAgeyB2YWx1ZTogJ2F1dG8nLCB0ZXh0OiBhd2FpdCB0cmFucygnZ2VuZXJhbC5lbnRpdHkuZmlsdGVyLWFwcGx5LW1vZGUub3B0aW9ucy5hdXRvJykgfSxcbiAgICAgICAgICAgICAgeyB2YWx1ZTogJ21hbnVhbCcsIHRleHQ6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5maWx0ZXItYXBwbHktbW9kZS5vcHRpb25zLm1hbnVhbCcpIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLmVudGl0eS5maWx0ZXItYXBwbHktbW9kZS5kZXNjcmlwdGlvbicpLFxuICAgICAgfSlcblxuICAgICAgLy8gRW5kIHRoZSAnRW50aXR5IFNldHRpbmdzJyBzZWN0aW9uXG4gICAgICAuZW5kU2VjdGlvbigpXG4gICAgICAvLyBFbmQgdGhlICdHZW5lcmFsIFNldHRpbmdzJyBncm91cFxuICAgICAgLmVuZEdyb3VwKCk7XG4gIH1cbn1cbiJdfQ=="],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-layout-widgets-file-list-popup.component-zkvCqKp9.mjs","sources":["../tmp-esm2022/layout/widgets/lib/widgets/advance/file-uploader/file-list-popup/file-list-popup.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { Component, computed, inject, input, linkedSignal } from '@angular/core';\nimport { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { AXPFileStorageService } from '@acorex/platform/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/platform/layout/widget-core\";\nimport * as i4 from \"@angular/common\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXPFileListPopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.fileService = inject(AXPFileStorageService);\n //#region ---- Component Properties ----\n this.files = input([], ...(ngDevMode ? [{ debugName: \"files\" }] : []));\n this.readOnly = input(false, ...(ngDevMode ? [{ debugName: \"readOnly\" }] : []));\n this.multiple = input(false, ...(ngDevMode ? [{ debugName: \"multiple\" }] : []));\n this.fileEditable = input(true, ...(ngDevMode ? [{ debugName: \"fileEditable\" }] : []));\n this.accept = input('*', ...(ngDevMode ? [{ debugName: \"accept\" }] : []));\n this.maxFileSize = input(1024 * 1024 * 100, ...(ngDevMode ? [{ debugName: \"maxFileSize\" }] : []));\n /** When true, file edit dialog shows name, title and description fields. Default false. */\n this.enableTitleDescription = input(false, ...(ngDevMode ? [{ debugName: \"enableTitleDescription\" }] : []));\n //#endregion\n //#region ---- Computed Properties ----\n this.mode = computed(() => this.readOnly() ? 'view' : 'edit', ...(ngDevMode ? [{ debugName: \"mode\" }] : []));\n //#endregion\n //#region ---- Context & Node Management ----\n this.context = linkedSignal(() => ({}), ...(ngDevMode ? [{ debugName: \"context\" }] : []));\n this.node = computed(() => ({\n type: 'file-uploader',\n path: 'files',\n defaultValue: Array.isArray(this.files()) && typeof this.files()[0] !== 'string' ? this.files() : [],\n options: {\n readOnly: this.readOnly(),\n multiple: this.multiple(),\n accept: this.accept(),\n maxFileSize: this.maxFileSize(),\n fileEditable: this.fileEditable(),\n enableTitleDescription: this.enableTitleDescription(),\n },\n }), ...(ngDevMode ? [{ debugName: \"node\" }] : []));\n }\n onContextChanged(event) {\n this.context.set(event.data);\n }\n //#endregion\n //#region ---- Lifecycle Methods ----\n async ngOnInit() {\n if (Array.isArray(this.files()) && typeof this.files()[0] === 'string') {\n this.isLoading = true;\n // Convert string file IDs to AXPFileListItem objects using batch API\n const prefixedIds = this.files();\n const actualIds = prefixedIds.map((id) => this.removeFilePrefix(id));\n let fileItems = [];\n try {\n const infos = await this.fileService.findMany(actualIds);\n const infoMap = new Map(infos.map((i) => [i.fileId, i]));\n fileItems = prefixedIds.map((prefixedId) => {\n const actualId = this.removeFilePrefix(prefixedId);\n const info = infoMap.get(actualId);\n if (info) {\n return {\n id: info.fileId,\n name: info.name || '',\n size: info.size,\n status: 'uploaded',\n source: {\n kind: 'fileId',\n value: info.fileId,\n },\n };\n }\n return {\n id: actualId,\n name: 'Unknown File',\n size: 0,\n status: 'deleted',\n source: { kind: 'none', value: '' },\n };\n });\n }\n catch (error) {\n console.error('Failed to get file infos', error);\n fileItems = prefixedIds.map((prefixedId) => ({\n id: this.removeFilePrefix(prefixedId),\n name: 'Unknown File',\n size: 0,\n status: 'deleted',\n source: { kind: 'none', value: '' },\n }));\n }\n this.isLoading = false;\n // Update the context with the converted file items\n this.context.set({ files: fileItems });\n }\n }\n removeFilePrefix(fileId) {\n return fileId.startsWith('file:') ? fileId.substring(5) : fileId;\n }\n //#endregion\n //#region ---- UI Handlers ----\n apply() {\n this.close({\n data: this.context(),\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPFileListPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.16\", type: AXPFileListPopupComponent, isStandalone: true, selector: \"ng-component\", inputs: { files: { classPropertyName: \"files\", publicName: \"files\", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: \"readOnly\", publicName: \"readOnly\", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: \"multiple\", publicName: \"multiple\", isSignal: true, isRequired: false, transformFunction: null }, fileEditable: { classPropertyName: \"fileEditable\", publicName: \"fileEditable\", isSignal: true, isRequired: false, transformFunction: null }, accept: { classPropertyName: \"accept\", publicName: \"accept\", isSignal: true, isRequired: false, transformFunction: null }, maxFileSize: { classPropertyName: \"maxFileSize\", publicName: \"maxFileSize\", isSignal: true, isRequired: false, transformFunction: null }, enableTitleDescription: { classPropertyName: \"enableTitleDescription\", publicName: \"enableTitleDescription\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-p-2\\\">\\n <axp-widgets-container [context]=\\\"context()\\\" (onContextChanged)=\\\"onContextChanged($event)\\\">\\n <ng-container axp-widget-renderer [node]=\\\"node()\\\" [mode]=\\\"mode()\\\"></ng-container>\\n </axp-widgets-container>\\n</div>\\n<ax-footer>\\n <ax-suffix>\\n @if (readOnly()) {\\n <ax-button [text]=\\\"'@general:actions.close.title' | translate | async\\\" (click)=\\\"close()\\\"></ax-button>\\n } @else {\\n <ax-button [text]=\\\"'@general:actions.discard.title' | translate | async\\\" (click)=\\\"close()\\\"></ax-button>\\n <ax-button\\n [text]=\\\"'@general:actions.apply.title' | translate | async\\\"\\n (click)=\\\"apply()\\\"\\n [color]=\\\"'primary'\\\"\\n ></ax-button>\\n }\\n </ax-suffix>\\n</ax-footer>\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: \n //\n AXLabelModule }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: \n //\n AXPWidgetCoreModule }, { kind: \"component\", type: i3.AXPWidgetContainerComponent, selector: \"axp-widgets-container\", inputs: [\"context\", \"functions\"], outputs: [\"onContextChanged\"] }, { kind: \"directive\", type: i3.AXPWidgetRendererDirective, selector: \"[axp-widget-renderer]\", inputs: [\"parentNode\", \"index\", \"mode\", \"node\"], outputs: [\"onOptionsChanged\", \"onValueChanged\", \"onLoad\"], exportAs: [\"widgetRenderer\"] }, { kind: \"pipe\", type: i4.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.16\", ngImport: i0, type: AXPFileListPopupComponent, decorators: [{\n type: Component,\n args: [{ imports: [\n CommonModule,\n //\n AXLabelModule,\n AXCheckBoxModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n //\n AXPWidgetCoreModule\n ], template: \"<div class=\\\"ax-p-2\\\">\\n <axp-widgets-container [context]=\\\"context()\\\" (onContextChanged)=\\\"onContextChanged($event)\\\">\\n <ng-container axp-widget-renderer [node]=\\\"node()\\\" [mode]=\\\"mode()\\\"></ng-container>\\n </axp-widgets-container>\\n</div>\\n<ax-footer>\\n <ax-suffix>\\n @if (readOnly()) {\\n <ax-button [text]=\\\"'@general:actions.close.title' | translate | async\\\" (click)=\\\"close()\\\"></ax-button>\\n } @else {\\n <ax-button [text]=\\\"'@general:actions.discard.title' | translate | async\\\" (click)=\\\"close()\\\"></ax-button>\\n <ax-button\\n [text]=\\\"'@general:actions.apply.title' | translate | async\\\"\\n (click)=\\\"apply()\\\"\\n [color]=\\\"'primary'\\\"\\n ></ax-button>\\n }\\n </ax-suffix>\\n</ax-footer>\\n\" }]\n }], propDecorators: { files: [{ type: i0.Input, args: [{ isSignal: true, alias: \"files\", required: false }] }], readOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: \"readOnly\", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: \"multiple\", required: false }] }], fileEditable: [{ type: i0.Input, args: [{ isSignal: true, alias: \"fileEditable\", required: false }] }], accept: [{ type: i0.Input, args: [{ isSignal: true, alias: \"accept\", required: false }] }], maxFileSize: [{ type: i0.Input, args: [{ isSignal: true, alias: \"maxFileSize\", required: false }] }], enableTitleDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: \"enableTitleDescription\", required: false }] }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1saXN0LXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3dpZGdldHMvc3JjL2xpYi93aWRnZXRzL2FkdmFuY2UvZmlsZS11cGxvYWRlci9maWxlLWxpc3QtcG9wdXAvZmlsZS1saXN0LXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L3dpZGdldHMvc3JjL2xpYi93aWRnZXRzL2FkdmFuY2UvZmlsZS11cGxvYWRlci9maWxlLWxpc3QtcG9wdXAvZmlsZS1saXN0LXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBa0QsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7OztBQWdCaEUsTUFBTSxPQUFP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dGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDaGVja0JveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jaGVjay1ib3gnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEZpbGVMaXN0SXRlbSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgbGlua2VkU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRDb3JlTW9kdWxlLCBBWFBXaWRnZXRDb3JlQ29udGV4dENoYW5nZUV2ZW50LCBBWFBXaWRnZXROb2RlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgQVhQRmlsZVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICAvL1xuICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgQVhDaGVja0JveE1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIC8vXG4gICAgQVhQV2lkZ2V0Q29yZU1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1saXN0LXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRmlsZUxpc3RQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuXG4gIHByaXZhdGUgZmlsZVNlcnZpY2UgPSBpbmplY3QoQVhQRmlsZVN0b3JhZ2VTZXJ2aWNlKTtcblxuICAvLyNyZWdpb24gLS0tLSAgIENvbXBvbmVudCBQcm9wZXJ0aWVzICAgLS0tLVxuXG4gIGZpbGVzID0gaW5wdXQ8QVhQRmlsZUxpc3RJdGVtW118c3RyaW5nW10+KFtdKTtcbiAgcmVhZE9ubHkgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIG11bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICBmaWxlRWRpdGFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgYWNjZXB0ID0gaW5wdXQ8c3RyaW5nPignKicpO1xuICBtYXhGaWxlU2l6ZSA9IGlucHV0PG51bWJlcj4oMTAyNCAqIDEwMjQgKiAxMDApO1xuICAvKiogV2hlbiB0cnVlLCBmaWxlIGVkaXQgZGlhbG9nIHNob3dzIG5hbWUsIHRpdGxlIGFuZCBkZXNjcmlwdGlvbiBmaWVsZHMuIERlZmF1bHQgZmFsc2UuICovXG4gIGVuYWJsZVRpdGxlRGVzY3JpcHRpb24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cbi8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgQ29tcHV0ZWQgUHJvcGVydGllcyAgIC0tLS1cblxuICBwcm90ZWN0ZWQgbW9kZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucmVhZE9ubHkoKSA/ICd2aWV3JyA6ICdlZGl0Jyk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBDb250ZXh0ICYgTm9kZSBNYW5hZ2VtZW50ICAgLS0tLVxuXG4gIHByb3RlY3RlZCBjb250ZXh0ID0gbGlua2VkU2lnbmFsPHt9PigoKSA9PiAoe1xuICB9KSk7XG5cbiAgcHJvdGVjdGVkIG9uQ29udGV4dENoYW5nZWQoZXZlbnQ6IEFYUFdpZGdldENvcmVDb250ZXh0Q2hhbmdlRXZlbnQpIHtcbiAgICB0aGlzLmNvbnRleHQuc2V0KGV2ZW50LmRhdGEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5vZGUgPSBjb21wdXRlZDxBWFBXaWRnZXROb2RlPigoKSA9PiAoe1xuICAgIHR5cGU6ICdmaWxlLXVwbG9hZGVyJyxcbiAgICBwYXRoOiAnZmlsZXMnLFxuICAgIGRlZmF1bHRWYWx1ZTogQXJyYXkuaXNBcnJheSh0aGlzLmZpbGVzKCkpICYmIHR5cGVvZiB0aGlzLmZpbGVzKClbMF0gIT09ICdzdHJpbmcnID8gdGhpcy5maWxlcygpIDogW10sXG4gICAgb3B0aW9uczoge1xuICAgICAgcmVhZE9ubHk6IHRoaXMucmVhZE9ubHkoKSxcbiAgICAgIG11bHRpcGxlOiB0aGlzLm11bHRpcGxlKCksXG4gICAgICBhY2NlcHQ6IHRoaXMuYWNjZXB0KCksXG4gICAgICBtYXhGaWxlU2l6ZTogdGhpcy5tYXhGaWxlU2l6ZSgpLFxuICAgICAgZmlsZUVkaXRhYmxlOiB0aGlzLmZpbGVFZGl0YWJsZSgpLFxuICAgICAgZW5hYmxlVGl0bGVEZXNjcmlwdGlvbjogdGhpcy5lbmFibGVUaXRsZURlc2NyaXB0aW9uKCksXG4gICAgfSxcbiAgfSkpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgTGlmZWN5Y2xlIE1ldGhvZHMgICAtLS0tXG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmKEFycmF5LmlzQXJyYXkodGhpcy5maWxlcygpKSAmJiB0eXBlb2YgdGhpcy5maWxlcygpWzBdID09PSAnc3RyaW5nJyl7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAvLyBDb252ZXJ0IHN0cmluZyBmaWxlIElEcyB0byBBWFBGaWxlTGlzdEl0ZW0gb2JqZWN0cyB1c2luZyBiYXRjaCBBUElcbiAgICAgIGNvbnN0IHByZWZpeGVkSWRzID0gdGhpcy5maWxlcygpIGFzIHN0cmluZ1tdO1xuICAgICAgY29uc3QgYWN0dWFsSWRzID0gcHJlZml4ZWRJZHMubWFwKChpZCkgPT4gdGhpcy5yZW1vdmVGaWxlUHJlZml4KGlkKSk7XG4gICAgICBsZXQgZmlsZUl0ZW1zOiBBWFBGaWxlTGlzdEl0ZW1bXSA9IFtdO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaW5mb3MgPSBhd2FpdCB0aGlzLmZpbGVTZXJ2aWNlLmZpbmRNYW55KGFjdHVhbElkcyk7XG4gICAgICAgIGNvbnN0IGluZm9NYXAgPSBuZXcgTWFwKGluZm9zLm1hcCgoaSkgPT4gW2kuZmlsZUlkLCBpXSkpO1xuICAgICAgICBmaWxlSXRlbXMgPSBwcmVmaXhlZElkcy5tYXAoKHByZWZpeGVkSWQpID0+IHtcbiAgICAgICAgICBjb25zdCBhY3R1YWxJZCA9IHRoaXMucmVtb3ZlRmlsZVByZWZpeChwcmVmaXhlZElkKTtcbiAgICAgICAgICBjb25zdCBpbmZvID0gaW5mb01hcC5nZXQoYWN0dWFsSWQpO1xuICAgICAgICAgIGlmIChpbmZvKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBpZDogaW5mby5maWxlSWQsXG4gICAgICAgICAgICAgIG5hbWU6IGluZm8ubmFtZSB8fCAnJyxcbiAgICAgICAgICAgICAgc2l6ZTogaW5mby5zaXplLFxuICAgICAgICAgICAgICBzdGF0dXM6ICd1cGxvYWRlZCcsXG4gICAgICAgICAgICAgIHNvdXJjZToge1xuICAgICAgICAgICAgICAgIGtpbmQ6ICdmaWxlSWQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBpbmZvLmZpbGVJZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0gYXMgQVhQRmlsZUxpc3RJdGVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGFjdHVhbElkLFxuICAgICAgICAgICAgbmFtZTogJ1Vua25vd24gRmlsZScsXG4gICAgICAgICAgICBzaXplOiAwLFxuICAgICAgICAgICAgc3RhdHVzOiAnZGVsZXRlZCcsXG4gICAgICAgICAgICBzb3VyY2U6IHsga2luZDogJ25vbmUnLCB2YWx1ZTogJycgfSxcbiAgICAgICAgICB9IGFzIEFYUEZpbGVMaXN0SXRlbTtcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZ2V0IGZpbGUgaW5mb3MnLCBlcnJvcik7XG4gICAgICAgIGZpbGVJdGVtcyA9IHByZWZpeGVkSWRzLm1hcCgocHJlZml4ZWRJZCkgPT4gKHtcbiAgICAgICAgICBpZDogdGhpcy5yZW1vdmVGaWxlUHJlZml4KHByZWZpeGVkSWQpLFxuICAgICAgICAgIG5hbWU6ICdVbmtub3duIEZpbGUnLFxuICAgICAgICAgIHNpemU6IDAsXG4gICAgICAgICAgc3RhdHVzOiAnZGVsZXRlZCcsXG4gICAgICAgICAgc291cmNlOiB7IGtpbmQ6ICdub25lJywgdmFsdWU6ICcnIH0sXG4gICAgICAgIH0gYXMgQVhQRmlsZUxpc3RJdGVtKSk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAvLyBVcGRhdGUgdGhlIGNvbnRleHQgd2l0aCB0aGUgY29udmVydGVkIGZpbGUgaXRlbXNcbiAgICAgIHRoaXMuY29udGV4dC5zZXQoeyBmaWxlczogZmlsZUl0ZW1zIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVGaWxlUHJlZml4KGZpbGVJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZmlsZUlkLnN0YXJ0c1dpdGgoJ2ZpbGU6JykgPyBmaWxlSWQuc3Vic3RyaW5nKDUpIDogZmlsZUlkO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBVSSBIYW5kbGVycyAgIC0tLS1cblxuICBhcHBseSgpIHtcbiAgICB0aGlzLmNsb3NlKHtcbiAgICAgIGRhdGE6IHRoaXMuY29udGV4dCgpLFxuICAgIH0pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1wLTJcIj5cbiAgPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJjb250ZXh0KClcIiAob25Db250ZXh0Q2hhbmdlZCk9XCJvbkNvbnRleHRDaGFuZ2VkKCRldmVudClcIj5cbiAgICA8bmctY29udGFpbmVyIGF4cC13aWRnZXQtcmVuZGVyZXIgW25vZGVdPVwibm9kZSgpXCIgW21vZGVdPVwibW9kZSgpXCI+PC9uZy1jb250YWluZXI+XG4gIDwvYXhwLXdpZGdldHMtY29udGFpbmVyPlxuPC9kaXY+XG48YXgtZm9vdGVyPlxuICA8YXgtc3VmZml4PlxuICAgIEBpZiAocmVhZE9ubHkoKSkge1xuICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5jbG9zZS50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiIChjbGljayk9XCJjbG9zZSgpXCI+PC9heC1idXR0b24+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cIidAZ2VuZXJhbDphY3Rpb25zLmRpc2NhcmQudGl0bGUnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiAoY2xpY2spPVwiY2xvc2UoKVwiPjwvYXgtYnV0dG9uPlxuICAgICAgPGF4LWJ1dHRvblxuICAgICAgICBbdGV4dF09XCInQGdlbmVyYWw6YWN0aW9ucy5hcHBseS50aXRsZScgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICAgIChjbGljayk9XCJhcHBseSgpXCJcbiAgICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICA+PC9heC1idXR0b24+XG4gICAgfVxuICA8L2F4LXN1ZmZpeD5cbjwvYXgtZm9vdGVyPlxuIl19"],"names":["i1","i2","i3","i4"],"mappings":"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"}