{"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 snapshot = route.snapshot;\n    const reset = snapshot.queryParams?.hasOwnProperty('reset') ? snapshot.queryParams.reset : false;\n    const resourceId = snapshot.params['id'];\n    if (resourceId && (resourceId === this.resourceId) && !reset) {\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  standalone: false\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  standalone: false\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  standalone: false\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  standalone: false\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  standalone: false\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  standalone: false\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":"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"}