{"version":3,"file":"formioangular-colfuturo-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/formioangular-colfuturo-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 \"formioangular-colfuturo/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(public auth?: FormioAuthService) {\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 \"formioangular-colfuturo\";\nimport { FormioAlerts } from \"formioangular-colfuturo\";\nimport { FormioAppConfig } from \"formioangular-colfuturo\";\nimport { FormioRefreshValue } from \"formioangular-colfuturo\";\nimport { Formio, Utils } from \"formiojs-colfuturo\";\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\")\n      ? snapshot.queryParams.reset\n      : 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\")\n          ? parent.filter\n          : true;\n        if (\n          this.resources.hasOwnProperty(resourceName) &&\n          this.resources[resourceName].resourceLoaded\n        ) {\n          _parentsLoaded.push(\n            this.resources[resourceName].resourceLoaded.then(\n              (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\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 {\n  ActivatedRoute,\n  NavigationEnd,\n  Router,\n  RouterEvent,\n} from \"@angular/router\";\nimport { FormioAuthService } from \"formioangular-colfuturo/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\n          .userPermissions(\n            this.auth.user,\n            this.service.form,\n            this.service.resource\n          )\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}\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 \"formiojs-colfuturo\";\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 \"formiojs-colfuturo\";\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\n      .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 \"formioangular-colfuturo\";\nimport { FormioAlerts } from \"formioangular-colfuturo\";\nimport { FormioGrid } from \"formioangular-colfuturo/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 \"formioangular-colfuturo\";\n\n@NgModule({\n  imports: [CommonModule, FormioModule, FormioGrid, RouterModule],\n  declarations: [\n    FormioResourceComponent,\n    FormioResourceCreateComponent,\n    FormioResourceIndexComponent,\n    FormioResourceViewComponent,\n    FormioResourceEditComponent,\n    FormioResourceDeleteComponent,\n  ],\n  providers: [FormioAlerts],\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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"}