@formio/angular 6.0.0-rc.4 → 6.0.0-rc.6

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 (36) hide show
  1. package/FormioBaseComponent.d.ts +6 -1
  2. package/FormioBaseComponent.d.ts.map +1 -1
  3. package/auth/auth.service.d.ts +0 -1
  4. package/auth/auth.service.d.ts.map +1 -1
  5. package/components/formioreport/formioreport.component.d.ts +20 -0
  6. package/components/formioreport/formioreport.component.d.ts.map +1 -0
  7. package/core.d.ts +1 -0
  8. package/core.d.ts.map +1 -1
  9. package/esm2022/FormioBaseComponent.mjs +55 -35
  10. package/esm2022/auth/auth.service.mjs +11 -12
  11. package/esm2022/components/formbuilder/formbuilder.component.mjs +2 -2
  12. package/esm2022/components/formio/formio.component.mjs +2 -2
  13. package/esm2022/components/formioreport/formioreport.component.mjs +86 -0
  14. package/esm2022/core.mjs +2 -1
  15. package/esm2022/formio.common.mjs +1 -1
  16. package/esm2022/formio.module.mjs +6 -1
  17. package/esm2022/grid/form/FormGridBody.component.mjs +3 -3
  18. package/esm2022/resource/resource.component.mjs +1 -1
  19. package/esm2022/resource/resource.service.mjs +1 -2
  20. package/fesm2022/formio-angular-auth.mjs +10 -11
  21. package/fesm2022/formio-angular-auth.mjs.map +1 -1
  22. package/fesm2022/formio-angular-grid.mjs +2 -2
  23. package/fesm2022/formio-angular-grid.mjs.map +1 -1
  24. package/fesm2022/formio-angular-resource.mjs +6 -7
  25. package/fesm2022/formio-angular-resource.mjs.map +1 -1
  26. package/fesm2022/formio-angular.mjs +141 -39
  27. package/fesm2022/formio-angular.mjs.map +1 -1
  28. package/formio.common.d.ts +9 -0
  29. package/formio.common.d.ts.map +1 -1
  30. package/formio.module.d.ts +8 -7
  31. package/formio.module.d.ts.map +1 -1
  32. package/package.json +4 -4
  33. package/resource/resource.component.d.ts +3 -3
  34. package/resource/resource.component.d.ts.map +1 -1
  35. package/resource/resource.service.d.ts +2 -3
  36. package/resource/resource.service.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"formio-angular-grid.mjs","sources":["../../../projects/angular-formio/grid/src/types/grid-footer-positions.ts","../../../projects/angular-formio/grid/src/GridHeaderComponent.ts","../../../projects/angular-formio/grid/src/types/grid-header.ts","../../../projects/angular-formio/grid/src/form/FormGridHeader.component.ts","../../../projects/angular-formio/grid/src/form/FormGridHeader.component.html","../../../projects/angular-formio/grid/src/grid.service.ts","../../../projects/angular-formio/grid/src/GridBodyComponent.ts","../../../projects/angular-formio/grid/src/form/time-since.pipe.ts","../../../projects/angular-formio/grid/src/form/FormGridBody.component.ts","../../../projects/angular-formio/grid/src/form/FormGridBody.component.html","../../../projects/angular-formio/grid/src/GridFooterComponent.ts","../../../projects/angular-formio/grid/src/form/FormGridFooter.component.ts","../../../projects/angular-formio/grid/src/form/FormGridFooter.component.html","../../../projects/angular-formio/grid/src/form/index.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html","../../../projects/angular-formio/grid/src/submission/index.ts","../../../projects/angular-formio/grid/src/grid.component.ts","../../../projects/angular-formio/grid/src/grid.component.html","../../../projects/angular-formio/grid/src/grid.module.ts","../../../projects/angular-formio/grid/src/formio-angular-grid.ts"],"sourcesContent":["export enum GridFooterPositions {\n bottom,\n top,\n both\n}\n","import { Output, EventEmitter, ViewChild, TemplateRef, Input, Component } from '@angular/core';\nimport {FormioPromiseService} from '@formio/angular';\nimport {GridHeader} from './types/grid-header';\n\n@Component({\n template: ''\n})\nexport class GridHeaderComponent {\n @Input() actionAllowed: any;\n @Output() sort: EventEmitter<GridHeader>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n public headers: Array<GridHeader>;\n constructor() {\n this.headers = [];\n this.sort = new EventEmitter();\n }\n\n get numHeaders() {\n return this.headers.length;\n }\n\n load(formio: FormioPromiseService, query?: any, columns?: Array<any>): Promise<any> {\n return Promise.resolve([]);\n }\n}\n","import {ComponentInstance} from '@formio/angular';\n\nexport interface GridHeader {\n component?: ComponentInstance;\n key: string;\n sort?: SortType;\n label: string;\n renderCell?(cellValue: any, component?: ComponentInstance): string;\n}\n\nexport enum SortType {\n ASC = 'asc',\n DESC = 'desc'\n}\n","import {Component} from '@angular/core';\nimport {GridHeaderComponent} from '../GridHeaderComponent';\nimport {GridHeader, SortType} from '../types/grid-header';\n\n@Component({\n selector: 'form-grid-header',\n templateUrl: './FormGridHeader.component.html'\n})\nexport class FormGridHeaderComponent extends GridHeaderComponent {\n public header: GridHeader;\n load(formio?: any) {\n this.header = {\n label: 'Title',\n key: 'title',\n sort: SortType.ASC\n };\n this.headers = [this.header];\n return Promise.resolve(this.headers);\n }\n\n get numHeaders() {\n return 2;\n }\n}\n","<ng-template>\n <thead>\n <tr>\n <th>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <a (click)=\"sort.emit(header)\" style=\"cursor: pointer\">\n {{ header.label }}&nbsp;<span [ngClass]=\"{'fa-caret-up bi-caret-up': (header.sort === 'asc'), 'fa-caret-down bi-caret-down': (header.sort === 'desc')}\" class=\"fa bi\" *ngIf=\"header.sort\"></span>\n </a>\n </div>\n <div class=\"col-sm-3 d-flex justify-content-end\">\n Operations\n </div>\n </div>\n </th>\n </tr>\n </thead>\n</ng-template>\n","import { Injectable } from '@angular/core';\nimport _intersection from 'lodash/intersection';\n\n@Injectable()\nexport class GridService {\n public rows: Array<any>;\n constructor() {}\n\n setRows(rows) {\n this.rows = rows;\n }\n\n getFormsPerPage() {\n return this.rows?.length;\n }\n}\n","import { Input, Output, EventEmitter, ViewChild, TemplateRef, Component } from '@angular/core';\nimport { each, clone } from 'lodash';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridService } from './grid.service';\nimport {FormioPromiseService} from '@formio/angular';\n\n@Component({\n template: ''\n})\nexport class GridBodyComponent {\n @Input() header: GridHeaderComponent;\n @Input() actionAllowed: any;\n @Output() rowSelect: EventEmitter<any>;\n @Output() rowAction: EventEmitter<any>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n public rows: Array<any>;\n public loading: Boolean;\n public firstItem = 0;\n public lastItem = 0;\n public skip = 0;\n public limit = 0;\n public total = 0;\n constructor(public service: GridService) {\n this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.loading = true;\n }\n\n load(formio: FormioPromiseService, query?: any): Promise<any> {\n return formio.loadForm(query);\n }\n\n onRowSelect(event, row) {\n event.preventDefault();\n this.rowSelect.emit(row);\n }\n\n onRowAction(event, row, action) {\n event.preventDefault();\n this.rowAction.emit({ row, action });\n }\n\n /**\n * Set the rows for this Grid body.\n *\n * @param query\n * @param items\n * @return any\n */\n setRows(query: any, items: any) {\n this.rows = [];\n\n if (typeof items !== 'object') {\n this.firstItem = 0;\n this.lastItem = 0;\n this.total = 0;\n this.skip = 0;\n this.loading = false;\n this.service.setRows(this.rows);\n \n return this.rows;\n }\n\n this.firstItem = query.skip + 1;\n this.lastItem = this.firstItem + items.length - 1;\n if (this.lastItem === 0) {\n this.firstItem = 0;\n }\n this.total = items.serverCount;\n this.limit = query.limit;\n this.skip = Math.floor(items.skip / query.limit) + 1;\n this.loading = false;\n each(items, (item: any) => {\n this.rows.push(clone(item));\n });\n this.service.setRows(this.rows);\n\n return this.rows;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeSince'\n})\nexport class TimeSince implements PipeTransform {\n transform(date: Date): string {\n const elapsed = (new Date().getTime() - new Date(date).getTime()) / 1000;\n let interval;\n if (interval >= 1) {\n return interval + ' year' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 2592000);\n if (interval >= 1){\n return interval + ' month' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 86400);\n if (interval >= 1) {\n return interval + ' day' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 3600);\n if (interval >= 1) {\n return interval + ' hour' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 60);\n if (interval >= 1) {\n return interval + ' minute' + (interval > 1 ? 's' : '');\n }\n return Math.floor(elapsed) + ' second' + (elapsed > 1 ? 's' : '');\n }\n}","import { Component, ElementRef, OnDestroy, ViewChild, ViewChildren } from '@angular/core';\nimport { GridBodyComponent } from '../GridBodyComponent';\nimport { FormioPromiseService } from '@formio/angular';\nimport { Tooltip } from 'bootstrap';\n@Component({\n selector: 'form-grid-body',\n styleUrls: ['./FormGridBody.component.scss'],\n templateUrl: './FormGridBody.component.html'\n})\nexport class FormGridBodyComponent extends GridBodyComponent implements OnDestroy {\n @ViewChildren('create') createBtns: ElementRef[];\n @ViewChildren('view') viewBtns: ElementRef[];\n @ViewChildren('edit') editBtns: ElementRef[];\n @ViewChildren('permissions') permissionsBtns: ElementRef[];\n @ViewChildren('delete') deleteBtns: ElementRef[];\n public tooltips: Array<Tooltip> = [];\n\n load(formio: FormioPromiseService, query?: any) {\n query = query || {};\n return formio.loadForms({ params: query })\n .then((forms: any) => this.setRows(query, forms))\n .then(() => this.attachTooltips());\n }\n\n attachTooltips() {\n this.createBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'Create'}));\n });\n this.editBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'Edit'}));\n });\n this.viewBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'View'}));\n })\n this.permissionsBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'Permissions'}));\n });\n this.deleteBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'Delete'}));\n });\n }\n\n ngOnDestroy(): void {\n this.tooltips.forEach((tootip: Tooltip) => tootip.dispose());\n }\n}\n","<ng-template>\n <tbody *ngIf=\"rows\">\n <tr *ngFor=\"let form of rows\">\n <td>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <a routerLink=\"{{form._id}}/view\" (click)=\"onRowSelect($event, form)\" class=\"text-decoration-none\"><h5>{{ form.title }}</h5></a>\n <div class=\"form-updated small text-muted\">\n Updated {{ form.modified | timeSince }} ago\n </div>\n </div>\n <div class=\"col-sm-3 d-flex justify-content-end align-items-center\">\n <button #create *ngIf=\"actionAllowed('formView')\" class=\"btn btn-outline-secondary btn-sm form-btn form-btn-use\" (click)=\"onRowAction($event, form, 'view')\"><span class=\"fa fa-pencil bi bi-pencil\"></span></button>&nbsp;\n <button #view *ngIf=\"actionAllowed('formSubmission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'submission')\"><span class=\"fa fa-list-alt bi bi-table\"></span></button>&nbsp;\n <button #edit *ngIf=\"actionAllowed('formEdit')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'edit')\"><span class=\"fa fa-edit bi bi-pencil-square\"></span></button>&nbsp;\n <button #permissions *ngIf=\"actionAllowed('formPermission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'permissions')\"><span class=\"fa fa-lock bi bi-database-lock\"></span></button>&nbsp;\n <button #delete *ngIf=\"actionAllowed('formDelete')\" class=\"btn btn-secondary btn-sm form-btn form-btn-delete\" (click)=\"onRowAction($event, form, 'delete')\" title=\"Delete form\"><span class=\"fa fa-trash bi bi-trash\"></span></button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</ng-template>\n","import { GridFooterPositions } from './types/grid-footer-positions';\nimport { Input, Output, ViewChild, TemplateRef, EventEmitter, Component } from '@angular/core';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridBodyComponent } from './GridBodyComponent';\n\n@Component({\n template: ''\n})\nexport class GridFooterComponent {\n @Input() header: GridHeaderComponent;\n @Input() body: GridBodyComponent;\n @Input() createText: String;\n @Input() size: number;\n @Input() actionAllowed: any;\n @Output() pageChanged: EventEmitter<any>;\n @Output() createItem: EventEmitter<any>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n\n public footerPositions = GridFooterPositions;\n\n constructor() {\n this.pageChanged = new EventEmitter();\n this.createItem = new EventEmitter();\n }\n}\n","import {Component, ViewEncapsulation, OnInit } from '@angular/core';\nimport { GridFooterComponent } from '../GridFooterComponent';\n\n@Component({\n templateUrl: './FormGridFooter.component.html',\n styleUrls: ['../grid.footer.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FormGridFooterComponent extends GridFooterComponent implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n if (!this.createText) {\n this.createText = 'Create Form';\n }\n if (!this.size) {\n this.size = 7;\n }\n }\n}\n","<ng-template #footer let-position=\"position\" let-label=\"label\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template let-label=\"label\" #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('formCreate')\" class=\"btn btn-primary form-btn-use float-start\" (click)=\"createItem.emit('form')\"><em class=\"fa fa-plus bi bi-plus-lg\"></em> {{ createText }}</button>\n <span class=\"float-end item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <span [attr.aria-label]=\"label\" role=\"navigation\">\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\">\n </pagination>\n </span>\n </td>\n </tr>\n</ng-template>\n","import { FormGridHeaderComponent } from './FormGridHeader.component';\nimport { FormGridBodyComponent } from './FormGridBody.component';\nimport { FormGridFooterComponent } from './FormGridFooter.component';\nexport default {\n header: FormGridHeaderComponent,\n body: FormGridBodyComponent,\n footer: FormGridFooterComponent\n};\n","import {Component, EventEmitter} from '@angular/core';\nimport {Utils, Components, ExtendedComponentSchema} from '@formio/js';\nimport {GridHeaderComponent} from '../GridHeaderComponent';\nimport {FormioPromiseService} from '@formio/angular';\nimport {ComponentInstance, FormioForm} from '@formio/angular';\nimport {GridColumn} from '../types/grid-column';\nimport {GridHeader, SortType} from '../types/grid-header';\n\n@Component({\n templateUrl: './SubmissionGridHeader.component.html'\n})\nexport class SubmissionGridHeaderComponent extends GridHeaderComponent {\n\n // Map structure where the key is the path and the value is the component\n formComponents: Map<string, ExtendedComponentSchema>;\n\n load(formio: FormioPromiseService, query?: any, columns?: Array<GridColumn>) {\n query = query || {};\n return formio.loadForm({params: query}).then((form: FormioForm) => {\n this.headers = [];\n this.formComponents = new Map<string, ExtendedComponentSchema>();\n this.setComponents(form.components);\n columns ? columns.forEach(column => {\n this.setHeader(this.getHeaderForColumn(column, this.formComponents.get(column.path)));\n }) : this.setComponentsHeaders(this.formComponents);\n\n return this.headers;\n });\n }\n\n setHeader(header: GridHeader) {\n this.headers.push(header);\n }\n\n getHeaderForColumn(column: GridColumn, component?: ExtendedComponentSchema, sort?: SortType) {\n return {\n label: column.label,\n key: column.path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) as ComponentInstance : undefined,\n renderCell: column ? column.renderCell : undefined\n };\n }\n\n getHeaderForComponent(component: ExtendedComponentSchema, path: string, sort?: SortType) {\n return {\n label: component.label,\n key: path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) as ComponentInstance : undefined,\n };\n }\n // Set headers from components in case if columns are not provided\n setComponentsHeaders(components: Map<string, ExtendedComponentSchema>, sort?: SortType) {\n components.forEach((component, path) => {\n if (\n component.input &&\n (!component.hasOwnProperty('tableView') || component.tableView)\n ) {\n this.setHeader(this.getHeaderForComponent(component, path, sort));\n }\n });\n }\n\n // Map components\n setComponents(components) {\n Utils.eachComponent(components, (component: ExtendedComponentSchema, newPath: string) => {\n this.formComponents.set(`data.${newPath}`, component);\n });\n }\n}\n\n","<ng-template>\n <thead>\n <tr>\n <th *ngFor=\"let header of headers\">\n <a (click)=\"sort.emit(header)\">\n {{ header.label }}&nbsp;<span [ngClass]=\"{'fa-caret-up bi-caret-up': (header.sort === 'asc'), 'fa-caret-down bi-caret-down': (header.sort === 'desc')}\" class=\"fa bi\" *ngIf=\"header.sort\"></span>\n </a>\n </th>\n </tr>\n </thead>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { each, get } from 'lodash';\nimport { GridBodyComponent } from '../GridBodyComponent';\nimport {FormioPromiseService} from '@formio/angular';\nimport { GridHeader } from '../types/grid-header';\nimport {FormioSubmission} from '@formio/angular';\n@Component({\n templateUrl: './SubmissionGridBody.component.html'\n})\nexport class SubmissionGridBodyComponent extends GridBodyComponent {\n load(formio: FormioPromiseService, query?: any) {\n query = query || {};\n return formio.loadSubmissions({ params: query })\n .then((submissions: any) => this.setRows(query, submissions));\n }\n\n /**\n * Render the cell data.\n *\n * @param submission\n * @param header\n * @return any\n */\n view(submission: FormioSubmission, header: GridHeader): string {\n const cellValue: any = get(submission, header.key);\n if (header.renderCell) {\n return header.renderCell(cellValue, header.component);\n } else {\n if (header.component) {\n if (header.component.getView) {\n return header.component.getView(cellValue);\n }\n return header.component.asString(cellValue);\n } else {\n return cellValue.toString();\n }\n }\n }\n}\n","<ng-template>\n <tbody>\n <tr *ngFor=\"let row of rows\" (click)=\"onRowSelect($event, row)\">\n <td *ngFor=\"let rowHeader of header.headers\" [innerHTML]=\"view(row, rowHeader)\"></td>\n </tr>\n </tbody>\n</ng-template>\n","import {Component, OnInit, ViewEncapsulation} from '@angular/core';\nimport { GridFooterComponent } from '../GridFooterComponent';\n\n@Component({\n templateUrl: './SubmissionGridFooter.component.html',\n styleUrls: ['../grid.footer.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SubmissionGridFooterComponent extends GridFooterComponent implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n if (!this.size) {\n this.size = 7;\n }\n }\n}\n","<ng-template #footer let-position=\"position\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('submissionCreate') && createText\" class=\"btn btn-primary float-start\" (click)=\"createItem.emit('form')\"><em class=\"fa fa-plus bi bi-plus\"></em> {{ createText }}</button>\n <span class=\"float-end item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\"></pagination>\n </td>\n </tr>\n</ng-template>\n","import { SubmissionGridHeaderComponent } from './SubmissionGridHeader.component';\nimport { SubmissionGridBodyComponent } from './SubmissionGridBody.component';\nimport { SubmissionGridFooterComponent } from './SubmissionGridFooter.component';\nexport default {\n header: SubmissionGridHeaderComponent,\n body: SubmissionGridBodyComponent,\n footer: SubmissionGridFooterComponent\n};\n","import { GridFooterPositions } from './types/grid-footer-positions';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport {FormioAlerts} from '@formio/angular';\nimport {each} from 'lodash';\nimport {Formio} from '@formio/js';\nimport {GridHeaderComponent} from './GridHeaderComponent';\nimport {GridBodyComponent} from './GridBodyComponent';\nimport {GridFooterComponent} from './GridFooterComponent';\nimport FormComponents from './form/index';\nimport SubmissionComponents from './submission/index';\nimport {FormioPromiseService} from '@formio/angular';\nimport {GridColumn} from './types/grid-column';\nimport {GridHeader, SortType} from './types/grid-header';\n\n@Component({\n selector: 'formio-grid',\n styleUrls: ['./grid.component.scss'],\n templateUrl: './grid.component.html'\n})\nexport class FormioGridComponent implements OnChanges, OnInit, AfterViewInit {\n @Input() footerPosition = GridFooterPositions.bottom;\n @Input() src?: string;\n @Input() items?: Array<any>;\n @Input() onForm?: Promise<any>;\n @Input() query?: any;\n @Input() refresh?: EventEmitter<object>;\n @Input() columns?: Array<GridColumn>;\n @Input() gridType?: string;\n @Input() size?: number;\n @Input() components?: any;\n @Input() formio?: FormioPromiseService;\n @Input() label?: string;\n @Input() createText: String;\n @Input() isActionAllowed: any;\n @Output() select: EventEmitter<object>;\n @Output() rowSelect: EventEmitter<object>;\n @Output() rowAction: EventEmitter<object>;\n @Output() createItem: EventEmitter<any>;\n @Output() error: EventEmitter<any>;\n @ViewChild('headerTemplate', {read: ViewContainerRef, static: true}) headerElement: ViewContainerRef;\n @ViewChild('bodyTemplate', {read: ViewContainerRef, static: true}) bodyElement: ViewContainerRef;\n @ViewChild('footerTemplate', {read: ViewContainerRef, static: true}) footerElement: ViewContainerRef;\n\n public page = 0;\n public isLoading = false;\n public initialized = false;\n public header: GridHeaderComponent;\n public body: GridBodyComponent;\n public footer: GridFooterComponent;\n public footerPositions = GridFooterPositions;\n\n constructor(\n public alerts: FormioAlerts,\n private resolver: ComponentFactoryResolver,\n private ref: ChangeDetectorRef\n ) {\n this.select = this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.createItem = new EventEmitter();\n this.error = new EventEmitter();\n this.isLoading = true;\n }\n\n createComponent(property, component) {\n const factory = this.resolver.resolveComponentFactory(component);\n const componentRef = property.createComponent(factory);\n return componentRef.instance;\n }\n\n loadGrid(src?: string) {\n // If no source is provided, then skip.\n if (!src && !this.formio) {\n return;\n }\n // Do not double load.\n if (this.formio && this.src && (src === this.src)) {\n return;\n }\n\n if (src) {\n this.src = src;\n this.formio = new FormioPromiseService(this.src, { formOnly: true });\n }\n\n // Load the header.\n this.header.load(this.formio, {}, this.columns)\n .then(() => this.setPage(0))\n .catch(error => this.onError(error));\n }\n\n ngOnInit() {\n // Create our components.\n const comps = this.components || ((this.gridType === 'form') ? FormComponents : SubmissionComponents);\n\n this.header = this.createComponent(this.headerElement, comps.header);\n this.header.actionAllowed = this.actionAllowed.bind(this);\n this.header.sort.subscribe(header => this.sortColumn(header));\n\n this.body = this.createComponent(this.bodyElement, comps.body);\n this.body.header = this.header;\n this.body.actionAllowed = this.actionAllowed.bind(this);\n this.body.rowSelect.subscribe(row => this.rowSelect.emit(row));\n this.body.rowAction.subscribe(action => this.rowAction.emit(action));\n\n this.footer = this.createComponent(this.footerElement, comps.footer);\n this.footer.header = this.header;\n this.footer.body = this.body;\n this.footer.actionAllowed = this.actionAllowed.bind(this);\n this.footer.createText = this.createText;\n this.footer.size = this.size;\n this.footer.pageChanged.subscribe(page => this.pageChanged(page));\n this.footer.createItem.subscribe(item => this.createItem.emit(item));\n }\n\n ngOnChanges(changes: any) {\n if (this.initialized) {\n if (\n (changes.src && changes.src.currentValue) ||\n (changes.formio && changes.formio.currentValue)\n ) {\n this.loadGrid(changes.src.currentValue);\n }\n\n if (changes.items && changes.items.currentValue) {\n this.refreshGrid();\n }\n }\n\n if (this.footer &&\n (changes.createText && changes.createText.currentValue)) {\n this.footer.createText = changes.createText.currentValue;\n }\n }\n\n ngAfterViewInit() {\n this.alerts.setAlerts([]);\n this.query = this.query || {};\n if (this.refresh) {\n this.refresh.subscribe((query: object) => this.refreshGrid(query));\n }\n this.loadGrid(this.src);\n this.initialized = true;\n this.ref.detectChanges();\n }\n\n actionAllowed(action) {\n if (this.isActionAllowed) {\n return this.isActionAllowed(action);\n } else {\n return true;\n }\n }\n\n onError(error: any) {\n this.isLoading = false;\n this.error.emit(error);\n if (typeof error === 'string' || error.message) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n }\n }\n\n refreshGrid(query?: any) {\n this.alerts.setAlerts([]);\n this.query = query || this.query;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.isLoading = true;\n this.ref.detectChanges();\n Formio.cache = {};\n let loader = null;\n if (this.items) {\n loader = Promise.resolve(this.body.setRows(this.query, this.items));\n } else {\n loader = this.body.load(this.formio, this.query);\n }\n\n return loader.then(info => {\n this.isLoading = false;\n this.initialized = true;\n this.ref.detectChanges();\n }).catch(error => this.onError(error));\n }\n\n setPage(num = -1) {\n this.page = num !== -1 ? num : this.page;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.query.skip = this.page * this.query.limit;\n this.refreshGrid();\n }\n\n sortColumn(header: GridHeader) {\n // Reset all other column sorts.\n each(this.header.headers, (col: any) => {\n if (col.key !== header.key) {\n col.sort = '';\n }\n });\n switch (header.sort) {\n case 'asc':\n header.sort = SortType.DESC;\n this.query.sort = '-' + header.key;\n break;\n case 'desc':\n header.sort = undefined;\n delete this.query.sort;\n break;\n case undefined:\n header.sort = SortType.ASC;\n this.query.sort = header.key;\n break;\n }\n this.refreshGrid();\n }\n\n pageChanged(page: any) {\n this.setPage(page.page - 1);\n }\n}\n","<ng-template #headerTemplate></ng-template>\n<ng-template #bodyTemplate></ng-template>\n<ng-template #footerTemplate></ng-template>\n<div class=\"formio-grid\">\n <formio-alerts [alerts]=\"alerts\"></formio-alerts>\n <table class=\"table table-bordered table-striped table-hover\">\n <ng-container *ngIf=\"initialized && [footerPositions.top, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.top, label: label }\">\n </ng-container>\n <ng-container *ngIf=\"initialized\"\n [ngTemplateOutlet]=\"header.template\"></ng-container>\n <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n <ng-container *ngIf=\"initialized\" [ngTemplateOutlet]=\"body.template\"></ng-container>\n <ng-container *ngIf=\"initialized && [footerPositions.bottom, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.bottom, label: label }\">\n </ng-container>\n </table>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGridComponent } from './grid.component';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { FormGridHeaderComponent } from './form/FormGridHeader.component';\nimport { FormGridBodyComponent } from './form/FormGridBody.component';\nimport { FormGridFooterComponent } from './form/FormGridFooter.component';\nimport { SubmissionGridHeaderComponent } from './submission/SubmissionGridHeader.component';\nimport { SubmissionGridBodyComponent } from './submission/SubmissionGridBody.component';\nimport { SubmissionGridFooterComponent } from './submission/SubmissionGridFooter.component';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridBodyComponent } from './GridBodyComponent';\nimport { GridFooterComponent } from './GridFooterComponent';\nimport { GridService } from './grid.service';\nimport { TimeSince } from './form/time-since.pipe'\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FormioModule,\n RouterModule,\n PaginationModule.forRoot()\n ],\n declarations: [\n FormioGridComponent,\n FormGridHeaderComponent,\n FormGridBodyComponent,\n FormGridFooterComponent,\n SubmissionGridHeaderComponent,\n SubmissionGridBodyComponent,\n SubmissionGridFooterComponent,\n GridHeaderComponent,\n GridBodyComponent,\n GridFooterComponent,\n TimeSince\n ],\n exports: [\n FormioGridComponent\n ],\n providers: [\n FormioAlerts,\n GridService\n ]\n})\nexport class FormioGrid {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.GridService","i3.TimeSince","i2","i1"],"mappings":"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"}
1
+ {"version":3,"file":"formio-angular-grid.mjs","sources":["../../../projects/angular-formio/grid/src/types/grid-footer-positions.ts","../../../projects/angular-formio/grid/src/GridHeaderComponent.ts","../../../projects/angular-formio/grid/src/types/grid-header.ts","../../../projects/angular-formio/grid/src/form/FormGridHeader.component.ts","../../../projects/angular-formio/grid/src/form/FormGridHeader.component.html","../../../projects/angular-formio/grid/src/grid.service.ts","../../../projects/angular-formio/grid/src/GridBodyComponent.ts","../../../projects/angular-formio/grid/src/form/time-since.pipe.ts","../../../projects/angular-formio/grid/src/form/FormGridBody.component.ts","../../../projects/angular-formio/grid/src/form/FormGridBody.component.html","../../../projects/angular-formio/grid/src/GridFooterComponent.ts","../../../projects/angular-formio/grid/src/form/FormGridFooter.component.ts","../../../projects/angular-formio/grid/src/form/FormGridFooter.component.html","../../../projects/angular-formio/grid/src/form/index.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridHeader.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridBody.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridBody.component.html","../../../projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.ts","../../../projects/angular-formio/grid/src/submission/SubmissionGridFooter.component.html","../../../projects/angular-formio/grid/src/submission/index.ts","../../../projects/angular-formio/grid/src/grid.component.ts","../../../projects/angular-formio/grid/src/grid.component.html","../../../projects/angular-formio/grid/src/grid.module.ts","../../../projects/angular-formio/grid/src/formio-angular-grid.ts"],"sourcesContent":["export enum GridFooterPositions {\n bottom,\n top,\n both\n}\n","import { Output, EventEmitter, ViewChild, TemplateRef, Input, Component } from '@angular/core';\nimport {FormioPromiseService} from '@formio/angular';\nimport {GridHeader} from './types/grid-header';\n\n@Component({\n template: ''\n})\nexport class GridHeaderComponent {\n @Input() actionAllowed: any;\n @Output() sort: EventEmitter<GridHeader>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n public headers: Array<GridHeader>;\n constructor() {\n this.headers = [];\n this.sort = new EventEmitter();\n }\n\n get numHeaders() {\n return this.headers.length;\n }\n\n load(formio: FormioPromiseService, query?: any, columns?: Array<any>): Promise<any> {\n return Promise.resolve([]);\n }\n}\n","import {ComponentInstance} from '@formio/angular';\n\nexport interface GridHeader {\n component?: ComponentInstance;\n key: string;\n sort?: SortType;\n label: string;\n renderCell?(cellValue: any, component?: ComponentInstance): string;\n}\n\nexport enum SortType {\n ASC = 'asc',\n DESC = 'desc'\n}\n","import {Component} from '@angular/core';\nimport {GridHeaderComponent} from '../GridHeaderComponent';\nimport {GridHeader, SortType} from '../types/grid-header';\n\n@Component({\n selector: 'form-grid-header',\n templateUrl: './FormGridHeader.component.html'\n})\nexport class FormGridHeaderComponent extends GridHeaderComponent {\n public header: GridHeader;\n load(formio?: any) {\n this.header = {\n label: 'Title',\n key: 'title',\n sort: SortType.ASC\n };\n this.headers = [this.header];\n return Promise.resolve(this.headers);\n }\n\n get numHeaders() {\n return 2;\n }\n}\n","<ng-template>\n <thead>\n <tr>\n <th>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <a (click)=\"sort.emit(header)\" style=\"cursor: pointer\">\n {{ header.label }}&nbsp;<span [ngClass]=\"{'fa-caret-up bi-caret-up': (header.sort === 'asc'), 'fa-caret-down bi-caret-down': (header.sort === 'desc')}\" class=\"fa bi\" *ngIf=\"header.sort\"></span>\n </a>\n </div>\n <div class=\"col-sm-3 d-flex justify-content-end\">\n Operations\n </div>\n </div>\n </th>\n </tr>\n </thead>\n</ng-template>\n","import { Injectable } from '@angular/core';\nimport _intersection from 'lodash/intersection';\n\n@Injectable()\nexport class GridService {\n public rows: Array<any>;\n constructor() {}\n\n setRows(rows) {\n this.rows = rows;\n }\n\n getFormsPerPage() {\n return this.rows?.length;\n }\n}\n","import { Input, Output, EventEmitter, ViewChild, TemplateRef, Component } from '@angular/core';\nimport { each, clone } from 'lodash';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridService } from './grid.service';\nimport {FormioPromiseService} from '@formio/angular';\n\n@Component({\n template: ''\n})\nexport class GridBodyComponent {\n @Input() header: GridHeaderComponent;\n @Input() actionAllowed: any;\n @Output() rowSelect: EventEmitter<any>;\n @Output() rowAction: EventEmitter<any>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n public rows: Array<any>;\n public loading: Boolean;\n public firstItem = 0;\n public lastItem = 0;\n public skip = 0;\n public limit = 0;\n public total = 0;\n constructor(public service: GridService) {\n this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.loading = true;\n }\n\n load(formio: FormioPromiseService, query?: any): Promise<any> {\n return formio.loadForm(query);\n }\n\n onRowSelect(event, row) {\n event.preventDefault();\n this.rowSelect.emit(row);\n }\n\n onRowAction(event, row, action) {\n event.preventDefault();\n this.rowAction.emit({ row, action });\n }\n\n /**\n * Set the rows for this Grid body.\n *\n * @param query\n * @param items\n * @return any\n */\n setRows(query: any, items: any) {\n this.rows = [];\n\n if (typeof items !== 'object') {\n this.firstItem = 0;\n this.lastItem = 0;\n this.total = 0;\n this.skip = 0;\n this.loading = false;\n this.service.setRows(this.rows);\n \n return this.rows;\n }\n\n this.firstItem = query.skip + 1;\n this.lastItem = this.firstItem + items.length - 1;\n if (this.lastItem === 0) {\n this.firstItem = 0;\n }\n this.total = items.serverCount;\n this.limit = query.limit;\n this.skip = Math.floor(items.skip / query.limit) + 1;\n this.loading = false;\n each(items, (item: any) => {\n this.rows.push(clone(item));\n });\n this.service.setRows(this.rows);\n\n return this.rows;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeSince'\n})\nexport class TimeSince implements PipeTransform {\n transform(date: Date): string {\n const elapsed = (new Date().getTime() - new Date(date).getTime()) / 1000;\n let interval;\n if (interval >= 1) {\n return interval + ' year' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 2592000);\n if (interval >= 1){\n return interval + ' month' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 86400);\n if (interval >= 1) {\n return interval + ' day' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 3600);\n if (interval >= 1) {\n return interval + ' hour' + (interval > 1 ? 's' : '');\n }\n interval = Math.floor(elapsed / 60);\n if (interval >= 1) {\n return interval + ' minute' + (interval > 1 ? 's' : '');\n }\n return Math.floor(elapsed) + ' second' + (elapsed > 1 ? 's' : '');\n }\n}","import { Component, ElementRef, OnDestroy, ViewChild, ViewChildren } from '@angular/core';\nimport { GridBodyComponent } from '../GridBodyComponent';\nimport { FormioPromiseService } from '@formio/angular';\nimport { Tooltip } from 'bootstrap';\n@Component({\n selector: 'form-grid-body',\n styleUrls: ['./FormGridBody.component.scss'],\n templateUrl: './FormGridBody.component.html'\n})\nexport class FormGridBodyComponent extends GridBodyComponent implements OnDestroy {\n @ViewChildren('create') createBtns: ElementRef[];\n @ViewChildren('view') viewBtns: ElementRef[];\n @ViewChildren('edit') editBtns: ElementRef[];\n @ViewChildren('permissions') permissionsBtns: ElementRef[];\n @ViewChildren('delete') deleteBtns: ElementRef[];\n public tooltips: Array<Tooltip> = [];\n\n load(formio: FormioPromiseService, query?: any) {\n query = query || {};\n return formio.loadForms({ params: query })\n .then((forms: any) => this.setRows(query, forms))\n .then(() => this.attachTooltips());\n }\n\n attachTooltips() {\n this.createBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'Create'}));\n });\n this.editBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'Edit'}));\n });\n this.viewBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'View'}));\n })\n this.permissionsBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'Permissions'}));\n });\n this.deleteBtns.forEach((el: ElementRef) => {\n this.tooltips.push(new Tooltip(el.nativeElement, {title: 'Delete'}));\n });\n }\n\n ngOnDestroy(): void {\n this.tooltips.forEach((tootip: Tooltip) => tootip.dispose());\n }\n}\n","<ng-template>\n <tbody *ngIf=\"rows\">\n <tr *ngFor=\"let form of rows\">\n <td>\n <div class=\"row\">\n <div class=\"col-sm-9\">\n <a routerLink=\"{{form._id}}/view\" (click)=\"onRowSelect($event, form)\" class=\"text-decoration-none\"><h5>{{ form.title }}</h5></a>\n <div class=\"form-updated small text-muted\">\n Updated {{ form.modified | timeSince }} ago\n </div>\n </div>\n <div class=\"col-sm-3 d-flex justify-content-end align-items-center\">\n <button #create *ngIf=\"actionAllowed('formView')\" class=\"btn btn-outline-secondary btn-sm form-btn form-btn-use\" (click)=\"onRowAction($event, form, 'view')\"><span class=\"fa fa-pencil bi bi-pencil\"></span></button>&nbsp;\n <button #view *ngIf=\"actionAllowed('formSubmission')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'submission')\"><span class=\"fa fa-list-alt bi bi-table\"></span></button>&nbsp;\n <button #edit *ngIf=\"actionAllowed('formEdit')\" class=\"btn btn-outline-secondary btn-sm form-btn\" (click)=\"onRowAction($event, form, 'edit')\"><span class=\"fa fa-edit bi bi-pencil-square\"></span></button>&nbsp;\n <button #delete *ngIf=\"actionAllowed('formDelete')\" class=\"btn btn-secondary btn-sm form-btn form-btn-delete\" (click)=\"onRowAction($event, form, 'delete')\" title=\"Delete form\"><span class=\"fa fa-trash bi bi-trash\"></span></button>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n</ng-template>\n","import { GridFooterPositions } from './types/grid-footer-positions';\nimport { Input, Output, ViewChild, TemplateRef, EventEmitter, Component } from '@angular/core';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridBodyComponent } from './GridBodyComponent';\n\n@Component({\n template: ''\n})\nexport class GridFooterComponent {\n @Input() header: GridHeaderComponent;\n @Input() body: GridBodyComponent;\n @Input() createText: String;\n @Input() size: number;\n @Input() actionAllowed: any;\n @Output() pageChanged: EventEmitter<any>;\n @Output() createItem: EventEmitter<any>;\n @ViewChild(TemplateRef, {static: true}) template: TemplateRef<any>;\n\n public footerPositions = GridFooterPositions;\n\n constructor() {\n this.pageChanged = new EventEmitter();\n this.createItem = new EventEmitter();\n }\n}\n","import {Component, ViewEncapsulation, OnInit } from '@angular/core';\nimport { GridFooterComponent } from '../GridFooterComponent';\n\n@Component({\n templateUrl: './FormGridFooter.component.html',\n styleUrls: ['../grid.footer.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class FormGridFooterComponent extends GridFooterComponent implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n if (!this.createText) {\n this.createText = 'Create Form';\n }\n if (!this.size) {\n this.size = 7;\n }\n }\n}\n","<ng-template #footer let-position=\"position\" let-label=\"label\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\" [ngTemplateOutletContext]=\"{ label: label }\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template let-label=\"label\" #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('formCreate')\" class=\"btn btn-primary form-btn-use float-start\" (click)=\"createItem.emit('form')\"><em class=\"fa fa-plus bi bi-plus-lg\"></em> {{ createText }}</button>\n <span class=\"float-end item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <span [attr.aria-label]=\"label\" role=\"navigation\">\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\">\n </pagination>\n </span>\n </td>\n </tr>\n</ng-template>\n","import { FormGridHeaderComponent } from './FormGridHeader.component';\nimport { FormGridBodyComponent } from './FormGridBody.component';\nimport { FormGridFooterComponent } from './FormGridFooter.component';\nexport default {\n header: FormGridHeaderComponent,\n body: FormGridBodyComponent,\n footer: FormGridFooterComponent\n};\n","import {Component, EventEmitter} from '@angular/core';\nimport {Utils, Components, ExtendedComponentSchema} from '@formio/js';\nimport {GridHeaderComponent} from '../GridHeaderComponent';\nimport {FormioPromiseService} from '@formio/angular';\nimport {ComponentInstance, FormioForm} from '@formio/angular';\nimport {GridColumn} from '../types/grid-column';\nimport {GridHeader, SortType} from '../types/grid-header';\n\n@Component({\n templateUrl: './SubmissionGridHeader.component.html'\n})\nexport class SubmissionGridHeaderComponent extends GridHeaderComponent {\n\n // Map structure where the key is the path and the value is the component\n formComponents: Map<string, ExtendedComponentSchema>;\n\n load(formio: FormioPromiseService, query?: any, columns?: Array<GridColumn>) {\n query = query || {};\n return formio.loadForm({params: query}).then((form: FormioForm) => {\n this.headers = [];\n this.formComponents = new Map<string, ExtendedComponentSchema>();\n this.setComponents(form.components);\n columns ? columns.forEach(column => {\n this.setHeader(this.getHeaderForColumn(column, this.formComponents.get(column.path)));\n }) : this.setComponentsHeaders(this.formComponents);\n\n return this.headers;\n });\n }\n\n setHeader(header: GridHeader) {\n this.headers.push(header);\n }\n\n getHeaderForColumn(column: GridColumn, component?: ExtendedComponentSchema, sort?: SortType) {\n return {\n label: column.label,\n key: column.path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) as ComponentInstance : undefined,\n renderCell: column ? column.renderCell : undefined\n };\n }\n\n getHeaderForComponent(component: ExtendedComponentSchema, path: string, sort?: SortType) {\n return {\n label: component.label,\n key: path,\n sort: sort,\n component: component ? Components.create(component, null, null, true) as ComponentInstance : undefined,\n };\n }\n // Set headers from components in case if columns are not provided\n setComponentsHeaders(components: Map<string, ExtendedComponentSchema>, sort?: SortType) {\n components.forEach((component, path) => {\n if (\n component.input &&\n (!component.hasOwnProperty('tableView') || component.tableView)\n ) {\n this.setHeader(this.getHeaderForComponent(component, path, sort));\n }\n });\n }\n\n // Map components\n setComponents(components) {\n Utils.eachComponent(components, (component: ExtendedComponentSchema, newPath: string) => {\n this.formComponents.set(`data.${newPath}`, component);\n });\n }\n}\n\n","<ng-template>\n <thead>\n <tr>\n <th *ngFor=\"let header of headers\">\n <a (click)=\"sort.emit(header)\">\n {{ header.label }}&nbsp;<span [ngClass]=\"{'fa-caret-up bi-caret-up': (header.sort === 'asc'), 'fa-caret-down bi-caret-down': (header.sort === 'desc')}\" class=\"fa bi\" *ngIf=\"header.sort\"></span>\n </a>\n </th>\n </tr>\n </thead>\n</ng-template>\n","import { Component } from '@angular/core';\nimport { each, get } from 'lodash';\nimport { GridBodyComponent } from '../GridBodyComponent';\nimport {FormioPromiseService} from '@formio/angular';\nimport { GridHeader } from '../types/grid-header';\nimport {FormioSubmission} from '@formio/angular';\n@Component({\n templateUrl: './SubmissionGridBody.component.html'\n})\nexport class SubmissionGridBodyComponent extends GridBodyComponent {\n load(formio: FormioPromiseService, query?: any) {\n query = query || {};\n return formio.loadSubmissions({ params: query })\n .then((submissions: any) => this.setRows(query, submissions));\n }\n\n /**\n * Render the cell data.\n *\n * @param submission\n * @param header\n * @return any\n */\n view(submission: FormioSubmission, header: GridHeader): string {\n const cellValue: any = get(submission, header.key);\n if (header.renderCell) {\n return header.renderCell(cellValue, header.component);\n } else {\n if (header.component) {\n if (header.component.getView) {\n return header.component.getView(cellValue);\n }\n return header.component.asString(cellValue);\n } else {\n return cellValue.toString();\n }\n }\n }\n}\n","<ng-template>\n <tbody>\n <tr *ngFor=\"let row of rows\" (click)=\"onRowSelect($event, row)\">\n <td *ngFor=\"let rowHeader of header.headers\" [innerHTML]=\"view(row, rowHeader)\"></td>\n </tr>\n </tbody>\n</ng-template>\n","import {Component, OnInit, ViewEncapsulation} from '@angular/core';\nimport { GridFooterComponent } from '../GridFooterComponent';\n\n@Component({\n templateUrl: './SubmissionGridFooter.component.html',\n styleUrls: ['../grid.footer.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SubmissionGridFooterComponent extends GridFooterComponent implements OnInit {\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n if (!this.size) {\n this.size = 7;\n }\n }\n}\n","<ng-template #footer let-position=\"position\">\n <thead class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.top\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n </thead>\n <tfoot class=\"formio-grid-footer\" *ngIf=\"position === footerPositions.bottom\">\n <ng-container [ngTemplateOutlet]=\"defaultFooterTemplate\"></ng-container>\n </tfoot>\n</ng-template>\n\n<ng-template #defaultFooterTemplate>\n <tr>\n <td *ngIf=\"header\" [colSpan]=\"header.numHeaders\">\n <button *ngIf=\"actionAllowed('submissionCreate') && createText\" class=\"btn btn-primary float-start\" (click)=\"createItem.emit('form')\"><em class=\"fa fa-plus bi bi-plus\"></em> {{ createText }}</button>\n <span class=\"float-end item-counter\"><span class=\"page-num\">{{ body.firstItem }} - {{ body.lastItem }}</span> / {{ body.total }} total</span>\n <pagination [totalItems]=\"body.total\" [itemsPerPage]=\"body.limit\" [(ngModel)]=\"body.skip\" (pageChanged)=\"pageChanged.emit($event)\" [maxSize]=\"size\" class=\"justify-content-center pagination-sm\"></pagination>\n </td>\n </tr>\n</ng-template>\n","import { SubmissionGridHeaderComponent } from './SubmissionGridHeader.component';\nimport { SubmissionGridBodyComponent } from './SubmissionGridBody.component';\nimport { SubmissionGridFooterComponent } from './SubmissionGridFooter.component';\nexport default {\n header: SubmissionGridHeaderComponent,\n body: SubmissionGridBodyComponent,\n footer: SubmissionGridFooterComponent\n};\n","import { GridFooterPositions } from './types/grid-footer-positions';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport {FormioAlerts} from '@formio/angular';\nimport {each} from 'lodash';\nimport {Formio} from '@formio/js';\nimport {GridHeaderComponent} from './GridHeaderComponent';\nimport {GridBodyComponent} from './GridBodyComponent';\nimport {GridFooterComponent} from './GridFooterComponent';\nimport FormComponents from './form/index';\nimport SubmissionComponents from './submission/index';\nimport {FormioPromiseService} from '@formio/angular';\nimport {GridColumn} from './types/grid-column';\nimport {GridHeader, SortType} from './types/grid-header';\n\n@Component({\n selector: 'formio-grid',\n styleUrls: ['./grid.component.scss'],\n templateUrl: './grid.component.html'\n})\nexport class FormioGridComponent implements OnChanges, OnInit, AfterViewInit {\n @Input() footerPosition = GridFooterPositions.bottom;\n @Input() src?: string;\n @Input() items?: Array<any>;\n @Input() onForm?: Promise<any>;\n @Input() query?: any;\n @Input() refresh?: EventEmitter<object>;\n @Input() columns?: Array<GridColumn>;\n @Input() gridType?: string;\n @Input() size?: number;\n @Input() components?: any;\n @Input() formio?: FormioPromiseService;\n @Input() label?: string;\n @Input() createText: String;\n @Input() isActionAllowed: any;\n @Output() select: EventEmitter<object>;\n @Output() rowSelect: EventEmitter<object>;\n @Output() rowAction: EventEmitter<object>;\n @Output() createItem: EventEmitter<any>;\n @Output() error: EventEmitter<any>;\n @ViewChild('headerTemplate', {read: ViewContainerRef, static: true}) headerElement: ViewContainerRef;\n @ViewChild('bodyTemplate', {read: ViewContainerRef, static: true}) bodyElement: ViewContainerRef;\n @ViewChild('footerTemplate', {read: ViewContainerRef, static: true}) footerElement: ViewContainerRef;\n\n public page = 0;\n public isLoading = false;\n public initialized = false;\n public header: GridHeaderComponent;\n public body: GridBodyComponent;\n public footer: GridFooterComponent;\n public footerPositions = GridFooterPositions;\n\n constructor(\n public alerts: FormioAlerts,\n private resolver: ComponentFactoryResolver,\n private ref: ChangeDetectorRef\n ) {\n this.select = this.rowSelect = new EventEmitter();\n this.rowAction = new EventEmitter();\n this.createItem = new EventEmitter();\n this.error = new EventEmitter();\n this.isLoading = true;\n }\n\n createComponent(property, component) {\n const factory = this.resolver.resolveComponentFactory(component);\n const componentRef = property.createComponent(factory);\n return componentRef.instance;\n }\n\n loadGrid(src?: string) {\n // If no source is provided, then skip.\n if (!src && !this.formio) {\n return;\n }\n // Do not double load.\n if (this.formio && this.src && (src === this.src)) {\n return;\n }\n\n if (src) {\n this.src = src;\n this.formio = new FormioPromiseService(this.src, { formOnly: true });\n }\n\n // Load the header.\n this.header.load(this.formio, {}, this.columns)\n .then(() => this.setPage(0))\n .catch(error => this.onError(error));\n }\n\n ngOnInit() {\n // Create our components.\n const comps = this.components || ((this.gridType === 'form') ? FormComponents : SubmissionComponents);\n\n this.header = this.createComponent(this.headerElement, comps.header);\n this.header.actionAllowed = this.actionAllowed.bind(this);\n this.header.sort.subscribe(header => this.sortColumn(header));\n\n this.body = this.createComponent(this.bodyElement, comps.body);\n this.body.header = this.header;\n this.body.actionAllowed = this.actionAllowed.bind(this);\n this.body.rowSelect.subscribe(row => this.rowSelect.emit(row));\n this.body.rowAction.subscribe(action => this.rowAction.emit(action));\n\n this.footer = this.createComponent(this.footerElement, comps.footer);\n this.footer.header = this.header;\n this.footer.body = this.body;\n this.footer.actionAllowed = this.actionAllowed.bind(this);\n this.footer.createText = this.createText;\n this.footer.size = this.size;\n this.footer.pageChanged.subscribe(page => this.pageChanged(page));\n this.footer.createItem.subscribe(item => this.createItem.emit(item));\n }\n\n ngOnChanges(changes: any) {\n if (this.initialized) {\n if (\n (changes.src && changes.src.currentValue) ||\n (changes.formio && changes.formio.currentValue)\n ) {\n this.loadGrid(changes.src.currentValue);\n }\n\n if (changes.items && changes.items.currentValue) {\n this.refreshGrid();\n }\n }\n\n if (this.footer &&\n (changes.createText && changes.createText.currentValue)) {\n this.footer.createText = changes.createText.currentValue;\n }\n }\n\n ngAfterViewInit() {\n this.alerts.setAlerts([]);\n this.query = this.query || {};\n if (this.refresh) {\n this.refresh.subscribe((query: object) => this.refreshGrid(query));\n }\n this.loadGrid(this.src);\n this.initialized = true;\n this.ref.detectChanges();\n }\n\n actionAllowed(action) {\n if (this.isActionAllowed) {\n return this.isActionAllowed(action);\n } else {\n return true;\n }\n }\n\n onError(error: any) {\n this.isLoading = false;\n this.error.emit(error);\n if (typeof error === 'string' || error.message) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n }\n }\n\n refreshGrid(query?: any) {\n this.alerts.setAlerts([]);\n this.query = query || this.query;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.isLoading = true;\n this.ref.detectChanges();\n Formio.cache = {};\n let loader = null;\n if (this.items) {\n loader = Promise.resolve(this.body.setRows(this.query, this.items));\n } else {\n loader = this.body.load(this.formio, this.query);\n }\n\n return loader.then(info => {\n this.isLoading = false;\n this.initialized = true;\n this.ref.detectChanges();\n }).catch(error => this.onError(error));\n }\n\n setPage(num = -1) {\n this.page = num !== -1 ? num : this.page;\n if (!this.query.hasOwnProperty('limit')) {\n this.query.limit = 10;\n }\n if (!this.query.hasOwnProperty('skip')) {\n this.query.skip = 0;\n }\n this.query.skip = this.page * this.query.limit;\n this.refreshGrid();\n }\n\n sortColumn(header: GridHeader) {\n // Reset all other column sorts.\n each(this.header.headers, (col: any) => {\n if (col.key !== header.key) {\n col.sort = '';\n }\n });\n switch (header.sort) {\n case 'asc':\n header.sort = SortType.DESC;\n this.query.sort = '-' + header.key;\n break;\n case 'desc':\n header.sort = undefined;\n delete this.query.sort;\n break;\n case undefined:\n header.sort = SortType.ASC;\n this.query.sort = header.key;\n break;\n }\n this.refreshGrid();\n }\n\n pageChanged(page: any) {\n this.setPage(page.page - 1);\n }\n}\n","<ng-template #headerTemplate></ng-template>\n<ng-template #bodyTemplate></ng-template>\n<ng-template #footerTemplate></ng-template>\n<div class=\"formio-grid\">\n <formio-alerts [alerts]=\"alerts\"></formio-alerts>\n <table class=\"table table-bordered table-striped table-hover\">\n <ng-container *ngIf=\"initialized && [footerPositions.top, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.top, label: label }\">\n </ng-container>\n <ng-container *ngIf=\"initialized\"\n [ngTemplateOutlet]=\"header.template\"></ng-container>\n <formio-loader [isLoading]=\"isLoading\"></formio-loader>\n <ng-container *ngIf=\"initialized\" [ngTemplateOutlet]=\"body.template\"></ng-container>\n <ng-container *ngIf=\"initialized && [footerPositions.bottom, footerPositions.both].indexOf(footerPosition) !== -1\"\n [ngTemplateOutlet]=\"footer.template\" [ngTemplateOutletContext]=\"{ position: footerPositions.bottom, label: label }\">\n </ng-container>\n </table>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGridComponent } from './grid.component';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { FormGridHeaderComponent } from './form/FormGridHeader.component';\nimport { FormGridBodyComponent } from './form/FormGridBody.component';\nimport { FormGridFooterComponent } from './form/FormGridFooter.component';\nimport { SubmissionGridHeaderComponent } from './submission/SubmissionGridHeader.component';\nimport { SubmissionGridBodyComponent } from './submission/SubmissionGridBody.component';\nimport { SubmissionGridFooterComponent } from './submission/SubmissionGridFooter.component';\nimport { GridHeaderComponent } from './GridHeaderComponent';\nimport { GridBodyComponent } from './GridBodyComponent';\nimport { GridFooterComponent } from './GridFooterComponent';\nimport { GridService } from './grid.service';\nimport { TimeSince } from './form/time-since.pipe'\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n FormioModule,\n RouterModule,\n PaginationModule.forRoot()\n ],\n declarations: [\n FormioGridComponent,\n FormGridHeaderComponent,\n FormGridBodyComponent,\n FormGridFooterComponent,\n SubmissionGridHeaderComponent,\n SubmissionGridBodyComponent,\n SubmissionGridFooterComponent,\n GridHeaderComponent,\n GridBodyComponent,\n GridFooterComponent,\n TimeSince\n ],\n exports: [\n FormioGridComponent\n ],\n providers: [\n FormioAlerts,\n GridService\n ]\n})\nexport class FormioGrid {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.GridService","i3.TimeSince","i2","i1"],"mappings":"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"}
@@ -3,7 +3,6 @@ import { Injectable, EventEmitter, Optional, Component, NgModule } from '@angula
3
3
  import * as i1 from '@formio/angular/auth';
4
4
  import * as i1$1 from '@formio/angular';
5
5
  import { FormioAlerts, FormioPromiseService, extendRouter, FormioModule } from '@formio/angular';
6
- import Promise$1 from 'native-promise-only';
7
6
  import { Formio, Utils } from '@formio/js';
8
7
  import _, { each } from 'lodash';
9
8
  import * as i2 from '@angular/router';
@@ -87,15 +86,15 @@ class FormioResourceService {
87
86
  setResource(resourceId) {
88
87
  this.resourceLoading = null;
89
88
  this.formLoading = null;
90
- this.ready = new Promise$1((resolve, reject) => {
89
+ this.ready = new Promise((resolve, reject) => {
91
90
  this.readyResolve = resolve;
92
91
  this.readyReject = reject;
93
92
  });
94
- this.formLoaded = new Promise$1((resolve, reject) => {
93
+ this.formLoaded = new Promise((resolve, reject) => {
95
94
  this.formResolve = resolve;
96
95
  this.formReject = reject;
97
96
  });
98
- this.resourceLoaded = new Promise$1((resolve, reject) => {
97
+ this.resourceLoaded = new Promise((resolve, reject) => {
99
98
  this.resourceResolve = resolve;
100
99
  this.resourceReject = reject;
101
100
  });
@@ -172,11 +171,11 @@ class FormioResourceService {
172
171
  }
173
172
  loadParents() {
174
173
  if (!this.config.parents || !this.config.parents.length) {
175
- return Promise$1.resolve([]);
174
+ return Promise.resolve([]);
176
175
  }
177
176
  if (!this.resourcesService) {
178
177
  console.warn('You must provide the FormioResources within your application to use nested resources.');
179
- return Promise$1.resolve([]);
178
+ return Promise.resolve([]);
180
179
  }
181
180
  return this.formLoading.then((form) => {
182
181
  // Iterate through the list of parents.
@@ -206,7 +205,7 @@ class FormioResourceService {
206
205
  }
207
206
  });
208
207
  // When all the parents have loaded, emit that to the onParents emitter.
209
- return Promise$1.all(_parentsLoaded).then((parents) => {
208
+ return Promise.all(_parentsLoaded).then((parents) => {
210
209
  this.refresh.emit({
211
210
  form: form,
212
211
  submission: this.resource
@@ -1 +1 @@
1
- {"version":3,"file":"formio-angular-resource.mjs","sources":["../../../projects/angular-formio/resource/src/resource.config.ts","../../../projects/angular-formio/resource/src/resources.service.ts","../../../projects/angular-formio/resource/src/resource.service.ts","../../../projects/angular-formio/resource/src/resource.component.ts","../../../projects/angular-formio/resource/src/resource.component.html","../../../projects/angular-formio/resource/src/view/view.component.ts","../../../projects/angular-formio/resource/src/view/view.component.html","../../../projects/angular-formio/resource/src/edit/edit.component.ts","../../../projects/angular-formio/resource/src/edit/edit.component.html","../../../projects/angular-formio/resource/src/delete/delete.component.ts","../../../projects/angular-formio/resource/src/delete/delete.component.html","../../../projects/angular-formio/resource/src/create/create.component.ts","../../../projects/angular-formio/resource/src/create/create.component.html","../../../projects/angular-formio/resource/src/index/index.component.ts","../../../projects/angular-formio/resource/src/index/index.component.html","../../../projects/angular-formio/resource/src/resource.routes.ts","../../../projects/angular-formio/resource/src/resource.module.ts","../../../projects/angular-formio/resource/src/formio-angular-resource.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioResourceRouteConfig {\n index?: any;\n create?: any;\n resource?: any;\n view?: any;\n edit?: any;\n delete?: any;\n}\n\n@Injectable()\nexport class FormioResourceConfig {\n name = '';\n form = '';\n parents: any[] = [];\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { FormioAuthService } from '@formio/angular/auth';\n\nexport interface FormioResourceMap {\n [name: string]: any;\n}\n\n@Injectable()\nexport class FormioResources {\n resources: FormioResourceMap = {};\n error: EventEmitter<any>;\n onError: EventEmitter<any>;\n constructor(\n public auth?: FormioAuthService\n ) {\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\n","import { ApplicationRef, EventEmitter, Injectable, Optional } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormioResourceConfig } from './resource.config';\nimport { FormioResources } from './resources.service';\nimport { FormioPromiseService } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioAppConfig } from '@formio/angular';\nimport { FormioRefreshValue } from '@formio/angular';\nimport Promise from 'native-promise-only';\nimport { Formio, Utils } from '@formio/js';\nimport _ from 'lodash';\n\n@Injectable()\nexport class FormioResourceService {\n public initialized = false;\n public form: any;\n public alerts: FormioAlerts;\n public resource: any;\n public resourceUrl?: string;\n public formUrl: string;\n public formFormio: FormioPromiseService;\n public formio: FormioPromiseService;\n public refresh: EventEmitter<FormioRefreshValue>;\n\n public resourceResolve: any;\n public resourceReject: any;\n public resourceLoaded?: Promise<any>;\n\n public resourceLoading?: Promise<any>;\n public resourceId?: string;\n public resources: any;\n\n public ready?: Promise<any>;\n public readyResolve: any;\n public readyReject: any;\n\n public formLoading?: Promise<any>;\n public formLoaded: Promise<any>;\n public formResolve: any;\n public formReject: any;\n public isLoading: boolean;\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioResourceConfig,\n @Optional() public resourcesService: FormioResources\n ) {\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n }\n\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n\n setResource(resourceId: any) {\n this.resourceLoading = null;\n this.formLoading = null;\n this.ready = new Promise((resolve: any, reject: any) => {\n this.readyResolve = resolve;\n this.readyReject = reject;\n });\n this.formLoaded = new Promise((resolve: any, reject: any) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.resourceLoaded = new Promise((resolve: any, reject: any) => {\n this.resourceResolve = resolve;\n this.resourceReject = reject;\n });\n this.resourceId = resourceId;\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n this.resource = { data: {} };\n }\n\n init(route: ActivatedRoute) {\n const resourceId = route.snapshot.params['id'];\n if (resourceId && (resourceId === this.resourceId)) {\n return this.ready;\n }\n\n // Set the resource.\n this.setResource(resourceId);\n\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n\n if (this.resourceId) {\n return this.loadForm()\n .then(() => this.loadResource())\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n return this.loadForm()\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n onError(error: any) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n\n onFormError(err: any) {\n this.formReject(err);\n this.onError(err);\n }\n\n loadForm() {\n if (this.formLoading) {\n return this.formLoading;\n }\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then(\n (form: any) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n },\n (err: any) => this.onFormError(err)\n )\n .catch((err: any) => this.onFormError(err));\n return this.formLoading;\n }\n\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn(\n 'You must provide the FormioResources within your application to use nested resources.'\n );\n return Promise.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded: Array<Promise<any>> = [];\n this.config.parents.forEach((parent: any) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(\n this.resources[resourceName].resourceLoaded.then((resource: any) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n })\n );\n }\n });\n\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise.all(_parentsLoaded).then((parents: any) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n\n onSubmissionError(err: any) {\n this.onError(err);\n this.resourceReject(err);\n }\n\n loadResource() {\n if (this.resourceLoading) {\n return this.resourceLoading;\n }\n this.isLoading = true;\n this.resourceLoading = this.formio\n .loadSubmission(null, {ignoreCache: true})\n .then(\n (resource: any) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n this.resourceResolve(resource);\n return resource;\n },\n (err: any) => this.onSubmissionError(err)\n )\n .catch((err: any) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n\n save(resource: any) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then(\n (saved: any) => {\n this.resource = saved;\n return saved;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n\n remove() {\n return this.formio\n .deleteSubmission()\n .then(\n () => {\n this.resource = null;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router, RouterEvent } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport { FormioResourceService } from './resource.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n templateUrl: './resource.component.html'\n})\nexport class FormioResourceComponent implements OnInit {\n public perms = {delete: false, edit: false};\n public routerSubscription: Subscription;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public auth: FormioAuthService,\n public router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n this.routerSubscription = this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.init();\n }\n });\n }\n\n ngOnDestroy() {\n this.routerSubscription.unsubscribe();\n }\n\n init() {\n return this.service.init(this.route).then(() => \n this.auth.ready.then(() => \n this.service.formFormio.userPermissions(\n this.auth.user, \n this.service.form, \n this.service.resource\n ).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n return this.service.resource;\n })\n ));\n }\n}\n","<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n","import {Component, OnDestroy} from '@angular/core';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport {Formio} from '@formio/js';\n\n@Component({\n templateUrl: './view.component.html'\n})\nexport class FormioResourceViewComponent implements OnDestroy{\n constructor(\n public service: FormioResourceService,\n public config: FormioResourceConfig\n ) {}\n public submission = {data: {}};\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n","import {Component, EventEmitter, OnDestroy} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { Formio } from '@formio/js';\n\n@Component({\n templateUrl: './edit.component.html'\n})\nexport class FormioResourceEditComponent implements OnDestroy {\n public triggerError: EventEmitter<any> = new EventEmitter();\n public onSubmitDone: EventEmitter<object> = new EventEmitter();\n public submission = {data: {}};\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {}\n\n onSubmit(submission: any) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.onSubmitDone.emit(this.service.resource);\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [error]=\"triggerError\"\n [submitDone]=\"onSubmitDone\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\n\n@Component({\n templateUrl: './delete.component.html'\n})\nexport class FormioResourceDeleteComponent {\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router\n ) {}\n\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\n","<h3>Are you sure you wish to delete this record?</h3>\n<div class=\"btn-toolbar\">\n <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\n <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-danger\">No</button>\n</div>\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\n\n@Component({\n styleUrls: ['./create.component.scss'],\n templateUrl: './create.component.html'\n})\nexport class FormioResourceCreateComponent implements OnInit {\n public onError: EventEmitter<any>;\n public onSuccess: EventEmitter<any>;\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n\n ngOnInit(): void {\n this.service.init(this.route);\n }\n\n onSubmit(submission: any) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err: any) => this.onError.emit(err));\n }\n}\n","<h3 *ngIf=\"service.form\" style=\"margin-top:0;\">\n <a routerLink=\"../\" class=\"back-button\">\n <em class=\"fa fa-chevron-left bi bi-chevron-left\"></em>\n </a> | New {{ service.form.title }}\n</h3>\n<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [refresh]=\"service.refresh\"\n [error]=\"onError\"\n [success]=\"onSuccess\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { each } from 'lodash';\n\n@Component({\n templateUrl: './index.component.html'\n})\nexport class FormioResourceIndexComponent implements OnInit {\n public gridSrc?: string;\n public gridQuery: any;\n public createText: String;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig,\n public cdr: ChangeDetectorRef,\n public ngZone: NgZone,\n ) {\n }\n\n ngOnInit() {\n this.service.init(this.route).then(() => {\n this.gridQuery = {};\n if (\n this.service &&\n this.config.parents &&\n this.config.parents.length\n ) {\n this.service.loadParents().then((parents: any) => {\n each(parents, (parent: any) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n this.cdr.detectChanges();\n });\n } else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n });\n }\n\n onSelect(row: any) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\n","<formio-alerts [alerts]=\"service.alerts\"></formio-alerts>\n<formio-grid\n [src]=\"gridSrc\"\n [query]=\"gridQuery\"\n [onForm]=\"service.formLoaded\"\n (rowSelect)=\"onSelect($event)\"\n (error)=\"service.onError($event)\"\n (createItem)=\"onCreateItem()\"\n [createText]=\"createText\"\n></formio-grid>\n","import { Routes } from '@angular/router';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nexport function FormioResourceRoutes(config?: FormioResourceRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGrid } from '@formio/angular/grid';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nimport { FormioResourceRoutes } from './resource.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n})\nexport class FormioResource {\n static forChild(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Promise","i1","i2.FormioResourceConfig","i3.FormioResources","i1.FormioResourceService","i3","i3.FormioResourceConfig","i4","i5"],"mappings":"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"}
1
+ {"version":3,"file":"formio-angular-resource.mjs","sources":["../../../projects/angular-formio/resource/src/resource.config.ts","../../../projects/angular-formio/resource/src/resources.service.ts","../../../projects/angular-formio/resource/src/resource.service.ts","../../../projects/angular-formio/resource/src/resource.component.ts","../../../projects/angular-formio/resource/src/resource.component.html","../../../projects/angular-formio/resource/src/view/view.component.ts","../../../projects/angular-formio/resource/src/view/view.component.html","../../../projects/angular-formio/resource/src/edit/edit.component.ts","../../../projects/angular-formio/resource/src/edit/edit.component.html","../../../projects/angular-formio/resource/src/delete/delete.component.ts","../../../projects/angular-formio/resource/src/delete/delete.component.html","../../../projects/angular-formio/resource/src/create/create.component.ts","../../../projects/angular-formio/resource/src/create/create.component.html","../../../projects/angular-formio/resource/src/index/index.component.ts","../../../projects/angular-formio/resource/src/index/index.component.html","../../../projects/angular-formio/resource/src/resource.routes.ts","../../../projects/angular-formio/resource/src/resource.module.ts","../../../projects/angular-formio/resource/src/formio-angular-resource.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioResourceRouteConfig {\n index?: any;\n create?: any;\n resource?: any;\n view?: any;\n edit?: any;\n delete?: any;\n}\n\n@Injectable()\nexport class FormioResourceConfig {\n name = '';\n form = '';\n parents: any[] = [];\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { FormioAuthService } from '@formio/angular/auth';\n\nexport interface FormioResourceMap {\n [name: string]: any;\n}\n\n@Injectable()\nexport class FormioResources {\n resources: FormioResourceMap = {};\n error: EventEmitter<any>;\n onError: EventEmitter<any>;\n constructor(\n public auth?: FormioAuthService\n ) {\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\n","import { EventEmitter, Injectable, Optional } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormioResourceConfig } from './resource.config';\nimport { FormioResources } from './resources.service';\nimport { FormioPromiseService } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioAppConfig } from '@formio/angular';\nimport { FormioRefreshValue } from '@formio/angular';\nimport { Formio, Utils } from '@formio/js';\nimport _ from 'lodash';\n\n@Injectable()\nexport class FormioResourceService {\n public initialized = false;\n public form: any;\n public alerts: FormioAlerts;\n public resource: any;\n public resourceUrl?: string;\n public formUrl: string;\n public formFormio: FormioPromiseService;\n public formio: FormioPromiseService;\n public refresh: EventEmitter<FormioRefreshValue>;\n\n public resourceResolve: any;\n public resourceReject: any;\n public resourceLoaded?: Promise<any>;\n\n public resourceLoading?: Promise<any>;\n public resourceId?: string;\n public resources: any;\n\n public ready?: Promise<any>;\n public readyResolve: any;\n public readyReject: any;\n\n public formLoading?: Promise<any>;\n public formLoaded: Promise<any>;\n public formResolve: any;\n public formReject: any;\n public isLoading: boolean;\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioResourceConfig,\n @Optional() public resourcesService: FormioResources\n ) {\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n }\n\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n\n setResource(resourceId: any) {\n this.resourceLoading = null;\n this.formLoading = null;\n this.ready = new Promise((resolve: any, reject: any) => {\n this.readyResolve = resolve;\n this.readyReject = reject;\n });\n this.formLoaded = new Promise((resolve: any, reject: any) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.resourceLoaded = new Promise((resolve: any, reject: any) => {\n this.resourceResolve = resolve;\n this.resourceReject = reject;\n });\n this.resourceId = resourceId;\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n this.resource = { data: {} };\n }\n\n init(route: ActivatedRoute) {\n const resourceId = route.snapshot.params['id'];\n if (resourceId && (resourceId === this.resourceId)) {\n return this.ready;\n }\n\n // Set the resource.\n this.setResource(resourceId);\n\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n\n if (this.resourceId) {\n return this.loadForm()\n .then(() => this.loadResource())\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n return this.loadForm()\n .then(() => this.readyResolve(this.form))\n .catch((err) => this.readyReject(err));\n }\n\n onError(error: any) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n\n onFormError(err: any) {\n this.formReject(err);\n this.onError(err);\n }\n\n loadForm() {\n if (this.formLoading) {\n return this.formLoading;\n }\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then(\n (form: any) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n },\n (err: any) => this.onFormError(err)\n )\n .catch((err: any) => this.onFormError(err));\n return this.formLoading;\n }\n\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn(\n 'You must provide the FormioResources within your application to use nested resources.'\n );\n return Promise.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded: Array<Promise<any>> = [];\n this.config.parents.forEach((parent: any) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(\n this.resources[resourceName].resourceLoaded.then((resource: any) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n })\n );\n }\n });\n\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise.all(_parentsLoaded).then((parents: any) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n\n onSubmissionError(err: any) {\n this.onError(err);\n this.resourceReject(err);\n }\n\n loadResource() {\n if (this.resourceLoading) {\n return this.resourceLoading;\n }\n this.isLoading = true;\n this.resourceLoading = this.formio\n .loadSubmission(null, {ignoreCache: true})\n .then(\n (resource: any) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n this.resourceResolve(resource);\n return resource;\n },\n (err: any) => this.onSubmissionError(err)\n )\n .catch((err: any) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n\n save(resource: any) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then(\n (saved: any) => {\n this.resource = saved;\n return saved;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n\n remove() {\n return this.formio\n .deleteSubmission()\n .then(\n () => {\n this.resource = null;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router, RouterEvent } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport { FormioResourceService } from './resource.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n templateUrl: './resource.component.html'\n})\nexport class FormioResourceComponent implements OnInit, OnDestroy {\n public perms = {delete: false, edit: false};\n public routerSubscription: Subscription;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public auth: FormioAuthService,\n public router: Router\n ) {}\n\n ngOnInit() {\n this.init();\n this.routerSubscription = this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.init();\n }\n });\n }\n\n ngOnDestroy() {\n this.routerSubscription.unsubscribe();\n }\n\n init() {\n return this.service.init(this.route).then(() => \n this.auth.ready.then(() => \n this.service.formFormio.userPermissions(\n this.auth.user, \n this.service.form, \n this.service.resource\n ).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n return this.service.resource;\n })\n ));\n }\n}\n","<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left bi bi-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash bi bi-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n","import {Component, OnDestroy} from '@angular/core';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport {Formio} from '@formio/js';\n\n@Component({\n templateUrl: './view.component.html'\n})\nexport class FormioResourceViewComponent implements OnDestroy{\n constructor(\n public service: FormioResourceService,\n public config: FormioResourceConfig\n ) {}\n public submission = {data: {}};\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n","import {Component, EventEmitter, OnDestroy} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { Formio } from '@formio/js';\n\n@Component({\n templateUrl: './edit.component.html'\n})\nexport class FormioResourceEditComponent implements OnDestroy {\n public triggerError: EventEmitter<any> = new EventEmitter();\n public onSubmitDone: EventEmitter<object> = new EventEmitter();\n public submission = {data: {}};\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {}\n\n onSubmit(submission: any) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.onSubmitDone.emit(this.service.resource);\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [error]=\"triggerError\"\n [submitDone]=\"onSubmitDone\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\n\n@Component({\n templateUrl: './delete.component.html'\n})\nexport class FormioResourceDeleteComponent {\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router\n ) {}\n\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\n","<h3>Are you sure you wish to delete this record?</h3>\n<div class=\"btn-toolbar\">\n <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\n <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-danger\">No</button>\n</div>\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\n\n@Component({\n styleUrls: ['./create.component.scss'],\n templateUrl: './create.component.html'\n})\nexport class FormioResourceCreateComponent implements OnInit {\n public onError: EventEmitter<any>;\n public onSuccess: EventEmitter<any>;\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n\n ngOnInit(): void {\n this.service.init(this.route);\n }\n\n onSubmit(submission: any) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err: any) => this.onError.emit(err));\n }\n}\n","<h3 *ngIf=\"service.form\" style=\"margin-top:0;\">\n <a routerLink=\"../\" class=\"back-button\">\n <em class=\"fa fa-chevron-left bi bi-chevron-left\"></em>\n </a> | New {{ service.form.title }}\n</h3>\n<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [refresh]=\"service.refresh\"\n [error]=\"onError\"\n [success]=\"onSuccess\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { each } from 'lodash';\n\n@Component({\n templateUrl: './index.component.html'\n})\nexport class FormioResourceIndexComponent implements OnInit {\n public gridSrc?: string;\n public gridQuery: any;\n public createText: String;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig,\n public cdr: ChangeDetectorRef,\n public ngZone: NgZone,\n ) {\n }\n\n ngOnInit() {\n this.service.init(this.route).then(() => {\n this.gridQuery = {};\n if (\n this.service &&\n this.config.parents &&\n this.config.parents.length\n ) {\n this.service.loadParents().then((parents: any) => {\n each(parents, (parent: any) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n this.cdr.detectChanges();\n });\n } else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n });\n }\n\n onSelect(row: any) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\n","<formio-alerts [alerts]=\"service.alerts\"></formio-alerts>\n<formio-grid\n [src]=\"gridSrc\"\n [query]=\"gridQuery\"\n [onForm]=\"service.formLoaded\"\n (rowSelect)=\"onSelect($event)\"\n (error)=\"service.onError($event)\"\n (createItem)=\"onCreateItem()\"\n [createText]=\"createText\"\n></formio-grid>\n","import { Routes } from '@angular/router';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nexport function FormioResourceRoutes(config?: FormioResourceRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGrid } from '@formio/angular/grid';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nimport { FormioResourceRoutes } from './resource.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n})\nexport class FormioResource {\n static forChild(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.FormioResourceConfig","i3.FormioResources","i1.FormioResourceService","i3","i3.FormioResourceConfig","i4","i5"],"mappings":";;;;;;;;;;;;;;AAWA,MACa,oBAAoB,CAAA;IAC/B,IAAI,GAAG,EAAE,CAAC;IACV,IAAI,GAAG,EAAE,CAAC;IACV,OAAO,GAAU,EAAE,CAAC;uGAHT,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAApB,oBAAoB,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;;;ACJX,MACa,eAAe,CAAA;AAKjB,IAAA,IAAA,CAAA;IAJT,SAAS,GAAsB,EAAE,CAAC;AAClC,IAAA,KAAK,CAAoB;AACzB,IAAA,OAAO,CAAoB;AAC3B,IAAA,WAAA,CACS,IAAwB,EAAA;QAAxB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAoB;AAE/B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG;AACf,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;AACpC,aAAA;SACF,CAAC;KACH;uGAdU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAAf,eAAe,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;ACIX,MACa,qBAAqB,CAAA;AA8BvB,IAAA,SAAA,CAAA;AACA,IAAA,MAAA,CAAA;AACY,IAAA,gBAAA,CAAA;IA/Bd,WAAW,GAAG,KAAK,CAAC;AACpB,IAAA,IAAI,CAAM;AACV,IAAA,MAAM,CAAe;AACrB,IAAA,QAAQ,CAAM;AACd,IAAA,WAAW,CAAU;AACrB,IAAA,OAAO,CAAS;AAChB,IAAA,UAAU,CAAuB;AACjC,IAAA,MAAM,CAAuB;AAC7B,IAAA,OAAO,CAAmC;AAE1C,IAAA,eAAe,CAAM;AACrB,IAAA,cAAc,CAAM;AACpB,IAAA,cAAc,CAAgB;AAE9B,IAAA,eAAe,CAAgB;AAC/B,IAAA,UAAU,CAAU;AACpB,IAAA,SAAS,CAAM;AAEf,IAAA,KAAK,CAAgB;AACrB,IAAA,YAAY,CAAM;AAClB,IAAA,WAAW,CAAM;AAEjB,IAAA,WAAW,CAAgB;AAC3B,IAAA,UAAU,CAAe;AACzB,IAAA,WAAW,CAAM;AACjB,IAAA,UAAU,CAAM;AAChB,IAAA,SAAS,CAAU;AAE1B,IAAA,WAAA,CACS,SAA0B,EAC1B,MAA4B,EAChB,gBAAiC,EAAA;QAF7C,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;QAC1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAsB;QAChB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAiB;AAEpD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;KACnC;IAED,UAAU,GAAA;AACR,QAAA,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;KACzE;AAED,IAAA,WAAW,CAAC,UAAe,EAAA;AACzB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,OAAY,EAAE,MAAW,KAAI;AACrD,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;AAC5B,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAC5B,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,CAAC,CAAC,OAAY,EAAE,MAAW,KAAI;AAC1D,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;AAC3B,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,OAAY,EAAE,MAAW,KAAI;AAC9D,YAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;AAC/B,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;AAC/B,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAClE,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,WAAW,IAAI,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;AACtD,SAAA;QACD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC3C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC3C,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;AACzE,SAAA;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC9B;AAED,IAAA,IAAI,CAAC,KAAqB,EAAA;QACxB,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,UAAU,KAAK,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC;AACnB,SAAA;;AAGD,QAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;;QAG7B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;YACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACzC,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,IAAI,CAAC,QAAQ,EAAE;iBACnB,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;AAC/B,iBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,iBAAA,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,SAAA;QAED,OAAO,IAAI,CAAC,QAAQ,EAAE;AACnB,aAAA,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,aAAA,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;KAC1C;AAED,IAAA,OAAO,CAAC,KAAU,EAAA;AAChB,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;AAChC,SAAA,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,SAAA;AACD,QAAA,MAAM,KAAK,CAAC;KACb;AAED,IAAA,WAAW,CAAC,GAAQ,EAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACnB;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC,WAAW,CAAC;AACzB,SAAA;AACD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU;AAC/B,aAAA,QAAQ,EAAE;AACV,aAAA,IAAI,CACH,CAAC,IAAS,KAAI;AACZ,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,EACD,CAAC,GAAQ,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CACpC;AACA,aAAA,KAAK,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;AACvD,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC1B,YAAA,OAAO,CAAC,IAAI,CACV,uFAAuF,CACxF,CAAC;AACF,YAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAA;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,KAAI;;YAEpC,MAAM,cAAc,GAAwB,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAW,KAAI;AAC1C,gBAAA,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;AAC/C,gBAAA,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;AAC7C,gBAAA,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;AAC9E,gBAAA,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE;AAC9F,oBAAA,cAAc,CAAC,IAAI,CACjB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAa,KAAI;wBACjE,IAAI,UAAU,GAAG,EAAE,CAAC;AACpB,wBAAA,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,IAAI,KAAI;AACvD,4BAAA,IAAI,SAAS,CAAC,GAAG,KAAK,aAAa,EAAE;AACnC,gCAAA,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;AACxB,gCAAA,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;AAC9B,gCAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gCAC1C,UAAU,GAAG,IAAI,CAAC;AAClB,gCAAA,OAAO,IAAI,CAAC;AACb,6BAAA;AACH,yBAAC,CAAC,CAAC;wBACH,OAAO;AACL,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,MAAM,EAAE,cAAc;4BACtB,QAAQ;yBACT,CAAC;qBACH,CAAC,CACH,CAAC;AACH,iBAAA;AACH,aAAC,CAAC,CAAC;;AAGH,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,OAAY,KAAI;AACvD,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,oBAAA,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,IAAI,CAAC,QAAQ;AAC1B,iBAAA,CAAC,CAAC;AACH,gBAAA,OAAO,OAAO,CAAC;AACjB,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,iBAAiB,CAAC,GAAQ,EAAA;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAClB,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;KAC1B;IAED,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO,IAAI,CAAC,eAAe,CAAC;AAC7B,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM;aAC/B,cAAc,CAAC,IAAI,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;AACzC,aAAA,IAAI,CACH,CAAC,QAAa,KAAI;AAChB,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,gBAAA,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,IAAI,CAAC,QAAQ;AACrB,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC/B,YAAA,OAAO,QAAQ,CAAC;AAClB,SAAC,EACD,CAAC,GAAQ,KAAK,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAC1C;AACA,aAAA,KAAK,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;AAED,IAAA,IAAI,CAAC,QAAa,EAAA;AAChB,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;AAC5D,QAAA,OAAO,MAAM;aACV,cAAc,CAAC,QAAQ,CAAC;AACxB,aAAA,IAAI,CACH,CAAC,KAAU,KAAI;AACb,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,EACD,CAAC,GAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAChC;AACA,aAAA,KAAK,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;IAED,MAAM,GAAA;QACJ,OAAO,IAAI,CAAC,MAAM;AACf,aAAA,gBAAgB,EAAE;aAClB,IAAI,CACH,MAAK;AACH,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACvB,SAAC,EACD,CAAC,GAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAChC;AACA,aAAA,KAAK,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;uGApPU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;2GAArB,qBAAqB,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;0BAiCN,QAAQ;;;ACtCb,MAGa,uBAAuB,CAAA;AAKzB,IAAA,OAAA,CAAA;AACA,IAAA,KAAA,CAAA;AACA,IAAA,IAAA,CAAA;AACA,IAAA,MAAA,CAAA;IAPF,KAAK,GAAG,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;AACrC,IAAA,kBAAkB,CAAe;AAExC,IAAA,WAAA,CACS,OAA8B,EAC9B,KAAqB,EACrB,IAAuB,EACvB,MAAc,EAAA;QAHd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;QAC9B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;QACvB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KACnB;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;YAC/D,IAAI,KAAK,YAAY,aAAa,EAAE;gBAClC,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;KACvC;IAED,IAAI,GAAA;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MACnB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CACrC,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CACtB,CAAC,IAAI,CAAC,CAAC,KAAK,KAAI;YACf,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAC7B,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC9B,CAAC,CACL,CAAC,CAAC;KACJ;uGArCU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,oDCTpC,kuBAOA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDEa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;;;;AEDV,MAGa,2BAA2B,CAAA;AAE7B,IAAA,OAAA,CAAA;AACA,IAAA,MAAA,CAAA;IAFT,WACS,CAAA,OAA8B,EAC9B,MAA4B,EAAA;QAD5B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;QAC9B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAsB;KACjC;AACG,IAAA,UAAU,GAAG,EAAC,IAAI,EAAE,EAAE,EAAC,CAAC;IAE/B,WAAW,GAAA;QACT,MAAM,CAAC,UAAU,EAAE,CAAC;KACrB;uGATU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,oDCRxC,qJAMA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDEa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,SAAS;;;;AECV,MAGa,2BAA2B,CAAA;AAK7B,IAAA,OAAA,CAAA;AACA,IAAA,KAAA,CAAA;AACA,IAAA,MAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAPF,IAAA,YAAY,GAAsB,IAAI,YAAY,EAAE,CAAC;AACrD,IAAA,YAAY,GAAyB,IAAI,YAAY,EAAE,CAAC;AACxD,IAAA,UAAU,GAAG,EAAC,IAAI,EAAE,EAAE,EAAC,CAAC;AAC/B,IAAA,WAAA,CACS,OAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,MAA4B,EAAA;QAH5B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;QAC9B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAsB;KACjC;AAEJ,IAAA,QAAQ,CAAC,UAAe,EAAA;AACtB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AACnC,QAAA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aACpB,IAAI,CAAC,MAAK;YACT,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACpE,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAChD;IAED,WAAW,GAAA;QACT,MAAM,CAAC,UAAU,EAAE,CAAC;KACrB;uGAxBU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,oDCTxC,qLAOA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDEa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,SAAS;;;;AEFV,MAGa,6BAA6B,CAAA;AAE/B,IAAA,OAAA,CAAA;AACA,IAAA,KAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAHT,IAAA,WAAA,CACS,OAA8B,EAC9B,KAAqB,EACrB,MAAc,EAAA;QAFd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;QAC9B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KACnB;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAK;AAC9B,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC/D,SAAC,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KACnE;uGAfU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,oDCP1C,2SAKA,EAAA,CAAA,CAAA;;2FDEa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;;;;AECV,MAIa,6BAA6B,CAAA;AAI/B,IAAA,OAAA,CAAA;AACA,IAAA,KAAA,CAAA;AACA,IAAA,MAAA,CAAA;AACA,IAAA,MAAA,CAAA;AANF,IAAA,OAAO,CAAoB;AAC3B,IAAA,SAAS,CAAoB;AACpC,IAAA,WAAA,CACS,OAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,MAA4B,EAAA;QAH5B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;QAC9B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAsB;AAEnC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;KACrC;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;AAED,IAAA,QAAQ,CAAC,UAAe,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO;aACT,IAAI,CAAC,UAAU,CAAC;aAChB,IAAI,CAAC,MAAK;AACT,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;gBAC/D,UAAU,EAAE,IAAI,CAAC,KAAK;AACvB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,CAAC,GAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAChD;uGA1BU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,oDCT1C,6ZAaA,EAAA,MAAA,EAAA,CAAA,gCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDJa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;;;;AECV,MAGa,4BAA4B,CAAA;AAM9B,IAAA,OAAA,CAAA;AACA,IAAA,KAAA,CAAA;AACA,IAAA,MAAA,CAAA;AACA,IAAA,MAAA,CAAA;AACA,IAAA,GAAA,CAAA;AACA,IAAA,MAAA,CAAA;AAVF,IAAA,OAAO,CAAU;AACjB,IAAA,SAAS,CAAM;AACf,IAAA,UAAU,CAAS;IAE1B,WACS,CAAA,OAA8B,EAC9B,KAAqB,EACrB,MAAc,EACd,MAA4B,EAC5B,GAAsB,EACtB,MAAc,EAAA;QALd,IAAO,CAAA,OAAA,GAAP,OAAO,CAAuB;QAC9B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAsB;QAC5B,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KAEtB;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAK;AACtC,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IACE,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,MAAM,CAAC,OAAO;AACnB,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAC1B;gBACA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,OAAY,KAAI;AAC/C,oBAAA,IAAI,CAAC,OAAO,EAAE,CAAC,MAAW,KAAI;AAC5B,wBAAA,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;4BAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;AAC5C,gCAAA,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;AACvB,yBAAA;AACH,qBAAC,CAAC,CAAC;;oBAGH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACpC,oBAAA,IAAI,CAAC,UAAU,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA,CAAE,CAAC;AACnD,oBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC3B,iBAAC,CAAC,CAAC;AACJ,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACpC,gBAAA,IAAI,CAAC,UAAU,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA,CAAE,CAAC;AACpD,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,QAAQ,CAAC,GAAQ,EAAA;AACf,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;YACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACtE,SAAC,CAAC,CAAC;KACJ;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC5D,SAAC,CAAC,CAAC;KACJ;uGArDU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,oDCTzC,4TAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,EAAA,YAAA,EAAA,QAAA,EAAA,OAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDDa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,SAAS;;;;AEEJ,SAAU,oBAAoB,CAAC,MAAkC,EAAA;IACrE,OAAO;AACL,QAAA;AACE,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,SAAS,EAAE,MAAM,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,4BAA4B;AAChF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,SAAS,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,6BAA6B;AACnF,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,SAAS,EAAE,MAAM,IAAI,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,GAAG,uBAAuB;AAChF,YAAA,QAAQ,EAAE;AACR,gBAAA;AACE,oBAAA,IAAI,EAAE,EAAE;AACR,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,SAAS,EAAE,MAAM;AAClB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,SAAS,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,2BAA2B;AAC7E,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,SAAS,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,2BAA2B;AAC7E,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,SAAS,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,6BAA6B;AACnF,iBAAA;AACF,aAAA;AACF,SAAA;KACF,CAAC;AACJ;;AC1BA,MAmBa,cAAc,CAAA;IACzB,OAAO,QAAQ,CAAC,MAAkC,EAAA;QAChD,OAAO,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;KACnE;IACD,OAAO,OAAO,CAAC,MAAkC,EAAA;QAC/C,OAAO,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;KACnE;uGANU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAXvB,uBAAuB;YACvB,6BAA6B;YAC7B,4BAA4B;YAC5B,2BAA2B;YAC3B,2BAA2B;AAC3B,YAAA,6BAA6B,aAX7B,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,YAAY,CAAA,EAAA,CAAA,CAAA;AAcH,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAJd,SAAA,EAAA;YACT,YAAY;AACb,SAAA,EAAA,OAAA,EAAA,CAfC,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAcH,cAAc,EAAA,UAAA,EAAA,CAAA;kBAnB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,UAAU;wBACV,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,6BAA6B;wBAC7B,4BAA4B;wBAC5B,2BAA2B;wBAC3B,2BAA2B;wBAC3B,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,YAAY;AACb,qBAAA;AACF,iBAAA,CAAA;;;AClCD;;AAEG;;;;"}