{"version":3,"file":"formio-angular-manager.mjs","sources":["../../../projects/angular-formio/manager/src/form-manager.config.ts","../../../projects/angular-formio/manager/src/form-manager.service.ts","../../../projects/angular-formio/manager/src/index/index.component.ts","../../../projects/angular-formio/manager/src/index/index.component.html","../../../projects/angular-formio/manager/src/edit/edit.component.ts","../../../projects/angular-formio/manager/src/edit/edit.component.html","../../../projects/angular-formio/manager/src/create/create.component.ts","../../../projects/angular-formio/manager/src/form/form.component.ts","../../../projects/angular-formio/manager/src/form/form.component.html","../../../projects/angular-formio/manager/src/view/view.component.ts","../../../projects/angular-formio/manager/src/view/view.component.html","../../../projects/angular-formio/manager/src/delete/delete.component.ts","../../../projects/angular-formio/manager/src/delete/delete.component.html","../../../projects/angular-formio/manager/src/submission/edit/edit.component.ts","../../../projects/angular-formio/manager/src/submission/edit/edit.component.html","../../../projects/angular-formio/manager/src/submission/delete/delete.component.ts","../../../projects/angular-formio/manager/src/submission/delete/delete.component.html","../../../projects/angular-formio/manager/src/submission/view/view.component.ts","../../../projects/angular-formio/manager/src/submission/view/view.component.html","../../../projects/angular-formio/manager/src/submission/index/index.component.ts","../../../projects/angular-formio/manager/src/submission/index/index.component.html","../../../projects/angular-formio/manager/src/submission/submission/submission.component.ts","../../../projects/angular-formio/manager/src/submission/submission/submission.component.html","../../../projects/angular-formio/manager/src/form-manager.routes.ts","../../../projects/angular-formio/manager/src/form-manager.module.ts","../../../projects/angular-formio/manager/src/formio-angular-manager.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\ntype FormType = 'form' | 'resource';\n\nexport interface FormManagerRouteConfig {\n  formIndex?: any;\n  formCreate?: any;\n  form?: any;\n  formView?: any;\n  formEdit?: any;\n  formEmbed?: any;\n  formDelete?: any;\n  submissionIndex?: any;\n  submission?: any;\n  submissionView?: any;\n  submissionEdit?: any;\n  submissionDelete?: any;\n}\n\n@Injectable()\nexport class FormManagerConfig {\n  public tag = '';\n  public includeSearch = false;\n  public saveDraft = false;\n  public type: FormType = 'form';\n  public builder?: any;\n  public viewer?: string;\n  public renderer: any;\n}\n\nexport const DefaultConfiguration = new FormManagerConfig();\n","import { Injectable } from '@angular/core';\nimport { FormioAppConfig } from '@formio/angular';\nimport { FormManagerConfig } from './form-manager.config';\nimport { Formio } from '@formio/js';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport _intersection from 'lodash/intersection';\n\n@Injectable()\nexport class FormManagerService {\n  public formio: Formio;\n  public access: any;\n  public allAccessMap: any;\n  public ownAccessMap: any;\n  public ready: Promise<any>;\n  public formReady: Promise<any>;\n  public actionAllowed: any;\n  public form = null;\n  public formSrc = '';\n  public perms = {delete: false, edit: false};\n\n  constructor(\n    public appConfig: FormioAppConfig,\n    public config: FormManagerConfig,\n    public auth: FormioAuthService\n  ) {\n    if (this.appConfig && this.appConfig.appUrl) {\n      Formio.setBaseUrl(this.appConfig.apiUrl);\n      Formio.setProjectUrl(this.appConfig.appUrl);\n    } else {\n      console.error('You must provide an AppConfig within your application!');\n    }\n\n    this.allAccessMap = {\n      'update_all': 'formEdit',\n      'delete_all': 'formDelete'\n    };\n    this.ownAccessMap = {\n      'update_own': 'formEdit',\n      'delete_own': 'formDelete'\n    };\n    this.actionAllowed = (action) => this.isActionAllowed(action);\n    this.reset();\n  }\n\n  isActionAllowed(action: string) {\n    return this.access[action];\n  }\n\n  setAccess() {\n    this.access = {\n      formCreate: true,\n      formView: true,\n      formSubmission: true,\n      formEdit: true,\n      formPermission: true,\n      formDelete: true,\n      projectSettings: true,\n      userManagement: true\n    };\n    if (this.auth) {\n      this.access = {\n        formCreate: false,\n        formView: false,\n        formSubmission: false,\n        formEdit: false,\n        formPermission: false,\n        formDelete: false,\n        projectSettings: false,\n        userManagement: false\n      };\n      this.ready = this.auth.ready.then(() => {\n        let administrator = this.auth.roles[\"administrator\"];\n        let formbuilder = this.auth.roles[\"formbuilder\"];\n        let formadmin = this.auth.roles[\"formadmin\"];\n\n        if (this.auth.user && this.auth.user.roles) {\n          this.auth.user.roles.forEach((roleId: string) => {\n            if (administrator._id === roleId) {\n              this.access.formCreate = true;\n              this.access.formView = true;\n              this.access.formSubmission= true;\n              this.access.formEdit = true;\n              this.access.formPermission = true;\n              this.access.formDelete = true;\n              this.access.projectSettings = true;\n              this.access.userManagement = true;\n            }\n            else {\n              if (formadmin && formadmin._id === roleId) {\n                this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);\n                this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);\n                this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);\n                this.access.formDelete =  this.auth.formAccess.delete_all.includes(roleId);\n                this.access.formView = this.auth.formAccess.read_all.includes(roleId);\n                this.access.formSubmission = this.auth.formAccess.read_all.includes(roleId);\n              }\n              if (formbuilder && formbuilder._id === roleId) {\n                this.access.formCreate = this.auth.formAccess.create_all.includes(roleId);\n                this.access.formEdit = this.auth.formAccess.update_all.includes(roleId);\n                this.access.formPermission = this.auth.formAccess.update_all.includes(roleId);\n                this.access.formDelete =  this.auth.formAccess.delete_all.includes(roleId);\n                this.access.formView = this.auth.formAccess.read_all.includes(roleId);\n              }\n            }\n          });\n        }\n      });\n    } else {\n      this.ready = Promise.resolve(false);\n    }\n  }\n\n  reset(route?: ActivatedRoute) {\n    if (route) {\n      route.params.subscribe(params => {\n        if (params.id) {\n          this.formio = new Formio(`${this.formio.formsUrl}/${params.id}`);\n        } else {\n          this.reset();\n        }\n      });\n    } else {\n      this.formio = new Formio(this.appConfig.appUrl);\n      this.setAccess();\n    }\n  }\n\n  hasAccess(roles) {\n    if (!this.auth.user) {\n      return false;\n    }\n    return !!_intersection(roles, this.auth.user.roles).length;\n  }\n\n  setForm(form: any) {\n    this.form = form;\n    this.formSrc = this.appConfig.appUrl + '/' + form.path;\n    if (form.access) {\n      // Check if they have access here.\n      form.access.forEach(access => {\n        // Check for all access.\n        if (this.allAccessMap[access.type] && !this.access[this.allAccessMap[access.type]]) {\n          this.access[this.allAccessMap[access.type]] = this.hasAccess(access.roles);\n        }\n\n        // Check for own access.\n        if (\n          this.auth && this.auth.user &&\n          (form._id === this.auth.user._id) &&\n          this.ownAccessMap[access.type] &&\n          !this.access[this.ownAccessMap[access.type]]\n        ) {\n          this.access[this.ownAccessMap[access.type]] = this.hasAccess(access.roles);\n        }\n      });\n    }\n    return form;\n  }\n\n  loadForm() {\n    this.form = null;\n    this.formReady = this.formio.loadForm().then(form => this.setForm(form));\n    return this.formReady;\n  }\n\n  setSubmission(route: ActivatedRoute) {\n    return new Promise((resolve) => {\n      route.params.subscribe(params => {\n        this.formio = new Formio(`${this.formio.submissionsUrl}/${params.id}`);\n        resolve(this.formio);\n      });\n    });\n  }\n\n  submissionLoaded(submission: any) {\n    this.auth.ready.then(() => {\n      this.formio.userPermissions(this.auth.user, this.form, submission).then((perms) => {\n        this.perms.delete = perms.delete;\n        this.perms.edit = perms.edit;\n      });\n    });\n  }\n\n  loadForms() {\n    return this.formio.loadForms({params: {\n      tags: this.config.tag\n    }});\n  }\n}\n","import { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormManagerService } from '../form-manager.service';\nimport { DefaultConfiguration, FormManagerConfig } from '../form-manager.config';\nimport { FormioGridComponent } from '@formio/angular/grid';\nimport { debounce } from 'lodash';\n\n@Component({\n  templateUrl: './index.component.html',\n  styleUrls: ['./index.component.scss'],\n  standalone: false\n})\nexport class FormManagerIndexComponent implements OnInit, AfterViewInit {\n  @ViewChild('search') searchElement: ElementRef;\n  @ViewChild(FormioGridComponent, {static: false}) formGrid: FormioGridComponent;\n  public gridQuery: any;\n  public onSearch;\n  constructor(\n    public service: FormManagerService,\n    public route: ActivatedRoute,\n    public router: Router,\n    public config: FormManagerConfig\n  ) {\n    this.config = {...DefaultConfiguration, ...this.config};\n    this.gridQuery = {type: this.config.type, sort: 'title'};\n    if (this.config.tag) {\n      this.gridQuery.tags = this.config.tag;\n    }\n    this.onSearch = debounce(this._onSearch, 300);\n  }\n\n  loadGrid() {\n    this.gridQuery = JSON.parse(localStorage.getItem('query')) || this.gridQuery;\n    const currentPage = +localStorage.getItem('currentPage') || 0;\n    this.formGrid\n      .refreshGrid(this.gridQuery)\n      .then(() => this.formGrid.setPage(currentPage - 1));\n  }\n\n  ngOnInit() {\n    this.gridQuery = {type: this.config.type, sort: 'title'};\n    if (this.config.tag) {\n      this.gridQuery.tags = this.config.tag;\n    }\n    this.service.reset();\n    this.service.ready.then(() => {\n      this.loadGrid();\n      this.formGrid.footer.pageChanged.subscribe(page => {\n        localStorage.setItem('currentPage', page.page);\n      });\n    });\n  }\n\n  ngAfterViewInit(): void {\n    this.searchElement.nativeElement.value = localStorage.getItem('searchInput') || '';\n  }\n\n  _onSearch() {\n    const search = this.searchElement.nativeElement.value;\n    if (search.length > 0) {\n      this.gridQuery.skip = 0;\n      this.gridQuery.title__regex = '/' + search + '/i';\n      this.gridQuery.title__regex = '/' + search.trim() + '/i';\n    } else {\n      delete this.gridQuery.title__regex;\n    }\n    localStorage.setItem('query', JSON.stringify(this.gridQuery));\n    localStorage.setItem('searchInput', search);\n    this.formGrid.pageChanged({page: 1, itemPerPage: this.gridQuery.limit});\n  }\n\n  clearSearch() {\n    this.gridQuery = {type: this.config.type, sort: 'title'};\n    if (this.config.tag) {\n      this.gridQuery.tags = this.config.tag;\n    }\n    localStorage.removeItem('query');\n    localStorage.removeItem('searchInput');\n    localStorage.removeItem('currentPage');\n    if (this.searchElement?.nativeElement) {\n      this.searchElement.nativeElement.value = '';\n    }\n    this.formGrid.query = this.gridQuery;\n    this.formGrid.pageChanged({page: 1});\n  }\n\n  onAction(action: any) {\n    this.service.form = null; // Reset previous form data\n    this.router.navigate([action.row._id, action.action], { relativeTo: this.route });\n  }\n\n  onSelect(row: any) {\n    this.router.navigate([row._id], { relativeTo: this.route });\n  }\n\n  onCreateItem() {\n    this.router.navigate(['create'], { relativeTo: this.route });\n  }\n}\n","<div role=\"search\" class=\"input-group mb-3\" *ngIf=\"config.includeSearch\">\n  <input #search type=\"text\" (keyup)=\"onSearch()\" class=\"form-control\" placeholder=\"Search Forms\" aria-label=\"Search Forms\" aria-describedby=\"button-search\">\n  <span *ngIf=\"search && search !== ''\" class=\"form-clear input-group-addon\" (click)=\"clearSearch()\"><span class=\"fa fa-times bi bi-x\"></span></span>\n</div>\n<formio-grid\n  *ngIf=\"service.ready\"\n  [formio]=\"service.formio\"\n  [gridType]=\"'form'\"\n  [query]=\"gridQuery\"\n  [isActionAllowed]=\"service.actionAllowed\"\n  (rowAction)=\"onAction($event)\"\n  (rowSelect)=\"onSelect($event)\"\n  (createItem)=\"onCreateItem()\"\n></formio-grid>\n","import { Component, ViewChild, ElementRef, AfterViewInit, ChangeDetectorRef } from '@angular/core';\nimport { FormManagerService } from '../form-manager.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormManagerConfig } from '../form-manager.config';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormBuilderComponent } from '@formio/angular';\nimport _ from 'lodash';\n\n@Component({\n  templateUrl: './edit.component.html',\n  standalone: false\n})\nexport class FormManagerEditComponent implements AfterViewInit {\n  @ViewChild(FormBuilderComponent, {static: false}) builder: FormBuilderComponent;\n  @ViewChild('title', {static: false}) formTitle: ElementRef;\n  @ViewChild('type', {static: false}) formType: ElementRef;\n  public form: any;\n  public loading: Boolean;\n  public formReady: Boolean;\n  public editMode: Boolean;\n\n  constructor(\n    public service: FormManagerService,\n    public router: Router,\n    public route: ActivatedRoute,\n    public config: FormManagerConfig,\n    public ref: ChangeDetectorRef,\n    public alerts: FormioAlerts\n  ) {\n    this.form = {components: []};\n    this.formReady = false;\n    this.loading = false;\n    this.editMode = false;\n  }\n\n  initBuilder(editing) {\n    if (editing) {\n      this.loading = true;\n      this.editMode = true;\n      return this.service.formReady.then(() => {\n        this.form = this.service.form;\n        this.formTitle.nativeElement.value = this.service.form.title;\n        this.formType.nativeElement.value = this.service.form.display || 'form';\n        this.formReady = true;\n        this.loading = false;\n        this.ref.detectChanges();\n        return true;\n      }).catch(err => {\n        this.alerts.setAlert({type: 'danger', message: (err.message || err)});\n        this.loading = false;\n        this.ref.detectChanges();\n        this.formReady = true;\n      });\n    } else {\n      this.formReady = true;\n      return Promise.resolve(true);\n    }\n  }\n\n  ngAfterViewInit() {\n    this.route.url.subscribe( url => {\n      setTimeout(() => this.initBuilder((url[0].path === 'edit')), 0);\n    });\n  }\n\n  onDisplaySelect(event) {\n    this.builder.setDisplay(event.target.value);\n  }\n\n  saveForm() {\n    this.loading = true;\n    this.form = _.cloneDeep(this.builder.formio.schema);\n    this.form.title = this.formTitle.nativeElement.value.trim();\n    this.form.display = this.formType.nativeElement.value;\n    this.form.components = _.cloneDeep(this.builder.form.components);\n\n    if (this.config.tag) {\n      this.form.tags = this.form.tags || [];\n      this.form.tags.push(this.config.tag);\n      this.form.tags = _.uniq(this.form.tags);\n    }\n    if (this.config.type) {\n      this.form.type = this.config.type;\n    }\n    if (!this.form._id) {\n      this.form.name = _.camelCase(this.form.title).toLowerCase();\n      this.form.path = this.form.name;\n    }\n    return this.service.formio.saveForm(this.form).then(form => {\n      this.form = this.service.setForm(form);\n      this.loading = false;\n      return this.form;\n    }).catch(err => {\n      this.loading = false;\n      // Catch if a form is returned as an error. This is a conflict.\n      if (err._id && err.type) {\n        throw err;\n      }\n      this.alerts.setAlert({type: 'danger', message: (err.message || err)});\n    });\n  }\n\n  onSave() {\n    return this.saveForm().then((form) => {\n      if (this.editMode) {\n        this.router.navigate(['../', 'view'], {relativeTo: this.route});\n      } else {\n        this.router.navigate(['../', form._id, 'view'], {relativeTo: this.route});\n      }\n    });\n  }\n}\n","<div class=\"loader\" *ngIf=\"loading\"></div>\n<div class=\"form-group row mb-2\">\n  <div class=\"col-sm-8\">\n    <input type=\"text\" class=\"form-control\" id=\"formTitle\" placeholder=\"Enter a Title\" #title>\n  </div>\n  <div class=\"col-sm-2\">\n    <select class=\"form-control\" id=\"formSelect\" (change)=\"onDisplaySelect($event)\" #type>\n      <option value=\"form\">Form</option>\n      <option value=\"wizard\">Wizard</option>\n      <option value=\"pdf\">PDF</option>\n    </select>\n  </div>\n  <div class=\"col-sm-2\">\n    <button class=\"btn btn-primary btn-block\" (click)=\"onSave()\"><i class=\"bi bi-save me-2\"></i>Save Form</button>\n  </div>\n</div>\n<formio-alerts [alerts]=\"alerts\"></formio-alerts>\n<form-builder *ngIf=\"formReady\" [formbuilder]=\"config.builder\" [form]=\"form\" #builder></form-builder>\n<button class=\"btn btn-primary\" style=\"margin-top: 10px;\" (click)=\"onSave()\">Save Form</button>\n","import { Component, OnInit } from '@angular/core';\nimport { FormManagerEditComponent } from '../edit/edit.component';\n\n@Component({\n  templateUrl: '../edit/edit.component.html',\n  standalone: false\n})\nexport class FormManagerCreateComponent extends FormManagerEditComponent implements OnInit {\n  ngOnInit() {\n    this.service.reset();\n  }\n}\n","import { Component, OnInit, TemplateRef } from '@angular/core';\nimport { FormManagerService } from '../form-manager.service';\nimport { FormManagerConfig } from '../form-manager.config';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormioAppConfig } from '@formio/angular';\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\n\n@Component({\n  templateUrl: './form.component.html',\n  standalone: false\n})\nexport class FormManagerFormComponent implements OnInit {\n  choice: any = 'isUrl';\n  embedCode: any;\n  shareUrl: any;\n  projectId: any;\n  pathName: any;\n  goTo: any = '';\n  modalRef: BsModalRef;\n  constructor(\n    public service: FormManagerService,\n    public route: ActivatedRoute,\n    public appConfig: FormioAppConfig,\n    public options: FormManagerConfig,\n    private modalService: BsModalService\n  ) { }\n\n  ngOnInit() {\n    this.service.reset(this.route);\n    this.service.loadForm().then(form => {\n      this.service.formSrc = this.appConfig.appUrl + '/' + form.path;\n      this.projectId = form.project;\n      this.pathName = form.path;\n      this.getShareUrl();\n    });\n  }\n\n  public getShareUrl() {\n    const src = this.appConfig.appUrl + '/' + this.pathName;\n    this.shareUrl = `${this.options.viewer}/#/?src=${encodeURIComponent(src)}`;\n    return this.shareUrl;\n  }\n\n  openEmbed(content: TemplateRef<any>) {\n    let goto = '';\n    if (this.goTo) {\n      goto += `if (d && d.formSubmission && d.formSubmission._id) { window.location.href = \"${this.goTo}\";}`;\n    }\n    let embedCode = '<script type=\"text/javascript\">';\n    embedCode += '(function a(d, w, u) {';\n    embedCode +=    'var h = d.getElementsByTagName(\"head\")[0];';\n    embedCode +=    'var s = d.createElement(\"script\");';\n    embedCode +=    's.type = \"text/javascript\";';\n    embedCode +=    's.src = \"' + this.options.viewer + '/assets/lib/seamless/seamless.parent.min.js\";';\n    embedCode +=    's.onload = function b() {';\n    embedCode +=       'var f = d.getElementById(\"formio-form-' + this.service.formio.formId + '\");';\n    embedCode +=       'if (!f || (typeof w.seamless === u)) {';\n    embedCode +=          'return setTimeout(b, 100);';\n    embedCode +=       '}';\n    embedCode +=       'w.seamless(f, {fallback:false}).receive(function(d, e) {' + goto + '});';\n    embedCode +=    '};';\n    embedCode +=    'h.appendChild(s);';\n    embedCode += '})(document, window);';\n    embedCode += '</script>';\n    embedCode += '<iframe id=\"formio-form-' + this.service.formio.formId + '\" ';\n    embedCode +=     'style=\"width:100%;border:none;\" height=\"800px\" src=\"' + this.shareUrl + '&iframe=1\"></iframe>';\n    this.embedCode = embedCode;\n    this.modalRef = this.modalService.show(content, { class: 'modal-lg' });\n  }\n\n  choices(string) {\n    this.choice = string;\n  }\n}\n","<button *ngIf=\"options.viewer\" class=\"float-end btn btn-outline-primary\" (click)=\"openEmbed(content)\"><em class=\"fa fa-share-alt bi bi-share\"></em> Share</button>\n<ul class=\"nav nav-tabs mb-2\">\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\"><em class=\"fa fa-pencil bi bi-pencil\"></em> Enter Data</a></li>\n  <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"submission\" routerLinkActive=\"active\"><em class=\"fa fa-list-alt bi bi-table\"></em> View Data</a></li>\n  <li *ngIf=\"service.actionAllowed('formEdit')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\"><em class=\"fa fa-edit bi bi-pencil-square\"></em> Edit Form</a></li>\n  <li *ngIf=\"service.actionAllowed('formDelete')\" class=\"nav-item\" routerLinkActive=\"active\"><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<ng-template #content>\n  <div class=\"modal-header\">\n    <h4 class=\"modal-title\">Share or Embed this form</h4>\n    <button type=\"button\" class=\"close\" aria-label=\"Close\" (click)=\"modalRef.hide()\">\n      <span aria-hidden=\"true\">&times;</span>\n    </button>\n  </div>\n  <div class=\"modal-body\">\n    <ul class=\"nav nav-tabs mr-auto mb-2\">\n      <li class=\"nav-item\">\n        <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isUrl'}\" (click)=\"choices('isUrl')\"><em class=\"fa fa-link bi bi-link\"></em> URL</a>\n      </li>\n      <li class=\"nav-item\">\n        <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isEmbed'}\" (click)=\"choices('isEmbed')\"><em class=\"fa fa-code bi bi-code-slash\"></em> Embed</a>\n      </li>\n    </ul>\n    <pre  *ngIf=\"choice === 'isEmbed'\"><textarea onclick=\"this.focus();this.select()\" readonly=\"readonly\" style=\"width:100%;\" rows=\"8\" [ngModel]=\"embedCode\"></textarea></pre>\n    <input *ngIf=\"choice === 'isUrl'\" type=\"text\" onclick=\"this.focus();this.select()\" readonly=\"readonly\" class=\"form-control\" [ngModel]=\"shareUrl\" placeholder=\"https://examples.form.io/example\">\n  </div>\n  <div class=\"modal-footer\">\n    <button type=\"button\" class=\"btn btn-light\" (click)=\"modalRef.hide()\">Close</button>\n  </div>\n</ng-template>\n","import { Component, OnInit, EventEmitter } from '@angular/core';\nimport { FormManagerConfig } from '../form-manager.config';\nimport { FormManagerService } from '../form-manager.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport { Formio } from '@formio/js';\n\n@Component({\n  templateUrl: './view.component.html',\n  standalone: false\n})\nexport class FormManagerViewComponent implements OnInit {\n  public submission: any;\n  public renderOptions: any;\n  public onSuccess: EventEmitter<object> = new EventEmitter();\n  public onError: EventEmitter<object> = new EventEmitter();\n  public onSubmitDone: EventEmitter<object> = new EventEmitter();\n  constructor(\n    public service: FormManagerService,\n    public router: Router,\n    public route: ActivatedRoute,\n    public config: FormManagerConfig,\n    public auth: FormioAuthService\n  ) {\n    this.renderOptions = {\n      saveDraft: this.config.saveDraft\n    };\n    this.submission = {data: {}};\n  }\n\n  ngOnInit() {\n    this.service.formio = new Formio(this.service.formio.formUrl);\n  }\n\n  onSubmit(submission: any) {\n    const isDraft = submission.state === 'draft';\n    this.submission.data = submission.data;\n    this.submission.state = isDraft ? submission.state : 'complete';\n    this.service.formio.saveSubmission(this.submission).then(saved => {\n      this.onSubmitDone.emit(saved);\n      this.onSuccess.emit();\n      this.router.navigate(['../', 'submission', saved._id], {relativeTo: this.route});\n    }).catch((err) => this.onError.emit(err));\n  }\n}\n","<formio *ngIf=\"service.form\"\n  [renderer]=\"config.renderer\"\n  [renderOptions]=\"renderOptions\"\n  [url]=\"service.formio.formUrl\"\n  [form]=\"service.form\"\n  [submission]=\"submission\"\n  [success]=\"onSuccess\"\n  [submitDone]=\"onSubmitDone\"\n  [error]=\"onError\"\n  (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { FormManagerService } from '../form-manager.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormioAlerts } from '@formio/angular';\nimport { GridService } from '@formio/angular/grid';\n\n@Component({\n  templateUrl: './delete.component.html',\n  standalone: false\n})\nexport class FormManagerDeleteComponent {\n  constructor(\n    public managerService: FormManagerService,\n    public router: Router,\n    public route: ActivatedRoute,\n    public alerts: FormioAlerts,\n    public gridService?: GridService\n  ) {}\n\n  onDelete() {\n    this.managerService.formio.deleteForm().then(() => {\n      if (this.gridService) {\n        const currentPage = +localStorage.getItem('currentPage') || 0;\n        const formsNumberPerPage = this.gridService.getFormsPerPage();\n\n        if (formsNumberPerPage === 1 && currentPage !== 0) {\n          localStorage.setItem('currentPage', `${currentPage - 1}`);\n        }\n      }\n\n      this.router.navigate(['../../'], { relativeTo: this.route });\n    }).catch(err => this.alerts.setAlert({type: 'danger', message: (err.message || err)}));\n  }\n\n  onCancel() {\n    this.router.navigate(['../', 'view'], { relativeTo: this.route });\n  }\n}\n","<formio-alerts [alerts]=\"alerts\"></formio-alerts>\n<h3>Are you sure you wish to delete this form?</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-default\">No</button>\n</div>\n","import { Component } from '@angular/core';\nimport { FormManagerService } from '../../form-manager.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n@Component({\n  templateUrl: './edit.component.html',\n  standalone: false\n})\nexport class SubmissionEditComponent {\n  constructor(\n    public service: FormManagerService,\n    public router: Router,\n    public route: ActivatedRoute\n  ) { }\n\n  onSubmit(submission) {\n    this.router.navigate(['../../'], {relativeTo: this.route});\n  }\n}\n","<formio\n  [renderer]=\"service.config.renderer\"\n  [src]=\"service.formio.submissionUrl\"\n  (submit)=\"onSubmit($event)\"\n  (formLoad)=\"service.setForm($event)\"\n  (submissionLoad)=\"service.submissionLoaded($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { FormManagerService } from '../../form-manager.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormioAlerts } from '@formio/angular';\n\n@Component({\n  templateUrl: './delete.component.html',\n  standalone: false\n})\nexport class SubmissionDeleteComponent {\n  constructor(\n    public service: FormManagerService,\n    public router: Router,\n    public route: ActivatedRoute,\n    public alerts: FormioAlerts\n  ) {}\n\n  onDelete() {\n    this.service.formio.deleteSubmission().then(() => {\n      this.router.navigate(['../../'], { relativeTo: this.route });\n    }).catch(err => this.alerts.setAlert({type: 'danger', message: (err.message || err)}));\n  }\n\n  onCancel() {\n    this.router.navigate(['../', 'view'], { relativeTo: this.route });\n  }\n}\n","<formio-alerts [alerts]=\"alerts\"></formio-alerts>\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-default\">No</button>\n</div>\n","import { Component } from '@angular/core';\nimport { FormManagerService } from '../../form-manager.service';\n\n@Component({\n  templateUrl: './view.component.html',\n  standalone: false\n})\nexport class SubmissionViewComponent {\n  constructor(public service: FormManagerService) { }\n}\n","<formio\n  [renderer]=\"service.config.renderer\"\n  [src]=\"service.formio.submissionUrl\"\n  [readOnly]=\"true\"\n  (formLoad)=\"service.setForm($event)\"\n  (submissionLoad)=\"service.submissionLoaded($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormManagerService } from '../../form-manager.service';\n\n@Component({\n  templateUrl: './index.component.html',\n  standalone: false\n})\nexport class SubmissionIndexComponent {\n  constructor(\n    public service: FormManagerService,\n    public route: ActivatedRoute,\n    public router: Router\n  ) {}\n\n  onSelect(row: any) {\n    this.router.navigate([row._id, 'view'], {relativeTo: this.route});\n  }\n}\n","<formio-grid [formio]=\"service.formio\" (rowSelect)=\"onSelect($event)\"></formio-grid>\n","import { Component, OnInit } from '@angular/core';\nimport { FormManagerService } from '../../form-manager.service';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n  templateUrl: './submission.component.html',\n  standalone: false\n})\nexport class SubmissionComponent implements OnInit {\n  public downloadUrl: string;\n  constructor(\n    public service: FormManagerService,\n    public route: ActivatedRoute\n  ) { }\n\n  setDownloadUrl(url) {\n    this.downloadUrl = url;\n  }\n\n  ngOnInit() {\n    this.service.setSubmission(this.route).then((formio: any) => {\n      formio.getDownloadUrl().then((url) => this.setDownloadUrl(url));\n    });\n  }\n}\n","<a *ngIf=\"downloadUrl\" [href]=\"downloadUrl\" target=\"_blank\" class=\"pull-right float-end\"><img src=\"https://pro.formview.io/assets/pdf.png\" alt=\"pdfImage\" style=\"height: 2em;\" /></a>\n<ul aria-label=\"Submission\" role=\"navigation\" 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\"><em class=\"fa fa-eye bi bi-eye\"></em> View</a></li>\n  <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"service.perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\"><em class=\"fa fa-edit bi bi-pencil-square\"></em> Edit</a></li>\n  <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"service.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 { Routes } from '@angular/router';\nimport { FormManagerIndexComponent } from './index/index.component';\nimport { FormManagerCreateComponent } from './create/create.component';\nimport { FormManagerFormComponent } from './form/form.component';\nimport { FormManagerViewComponent } from './view/view.component';\nimport { FormManagerEditComponent } from './edit/edit.component';\nimport { FormManagerDeleteComponent } from './delete/delete.component';\nimport { SubmissionEditComponent } from './submission/edit/edit.component';\nimport { SubmissionDeleteComponent } from './submission/delete/delete.component';\nimport { SubmissionViewComponent } from './submission/view/view.component';\nimport { SubmissionIndexComponent } from './submission/index/index.component';\nimport { SubmissionComponent } from './submission/submission/submission.component';\nimport { FormManagerRouteConfig } from './form-manager.config';\nexport function FormManagerRoutes(config?: FormManagerRouteConfig): Routes {\n  return [\n    {\n      path: '',\n      component: config && config.formIndex ? config.formIndex : FormManagerIndexComponent\n    },\n    {\n      path: 'create',\n      component: config && config.formCreate ? config.formCreate : FormManagerCreateComponent\n    },\n    {\n      path: ':id',\n      component: config && config.form ? config.form : FormManagerFormComponent,\n      children: [\n        {\n          path: '',\n          redirectTo: 'view',\n          pathMatch: 'full'\n        },\n        {\n          path: 'view',\n          component: config && config.formView ? config.formView : FormManagerViewComponent\n        },\n        {\n          path: 'edit',\n          component: config && config.formEdit ? config.formEdit : FormManagerEditComponent\n        },\n        {\n          path: 'delete',\n          component: config && config.formDelete ? config.formDelete : FormManagerDeleteComponent\n        },\n        {\n          path: 'submission',\n          component: config && config.submissionIndex ? config.submissionIndex : SubmissionIndexComponent\n        },\n        {\n          path: 'submission/:id',\n          component: config && config.submission ? config.submission : SubmissionComponent,\n          children: [\n            {\n              path: '',\n              redirectTo: 'view',\n              pathMatch: 'full'\n            },\n            {\n              path: 'view',\n              component: config && config.submissionView ? config.submissionView : SubmissionViewComponent\n            },\n            {\n              path: 'edit',\n              component: config && config.submissionEdit ? config.submissionEdit : SubmissionEditComponent\n            },\n            {\n              path: 'delete',\n              component: config && config.submissionDelete ? config.submissionDelete : SubmissionDeleteComponent\n            }\n          ]\n        }\n      ]\n    }\n  ];\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FormioModule } from '@formio/angular';\nimport { FormioGrid } from '@formio/angular/grid';\nimport { FormManagerIndexComponent } from './index/index.component';\nimport { FormManagerCreateComponent } from './create/create.component';\nimport { FormManagerFormComponent } from './form/form.component';\nimport { FormManagerViewComponent } from './view/view.component';\nimport { FormManagerEditComponent } from './edit/edit.component';\nimport { FormManagerDeleteComponent } from './delete/delete.component';\nimport { SubmissionComponent } from './submission/submission/submission.component';\nimport { SubmissionEditComponent } from './submission/edit/edit.component';\nimport { SubmissionDeleteComponent } from './submission/delete/delete.component';\nimport { SubmissionViewComponent } from './submission/view/view.component';\nimport { SubmissionIndexComponent } from './submission/index/index.component';\nimport { FormManagerRouteConfig } from './form-manager.config';\nimport { FormManagerRoutes } from './form-manager.routes';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { extendRouter } from '@formio/angular';\n@NgModule({\n  imports: [\n    CommonModule,\n    FormioModule,\n    RouterModule,\n    FormsModule,\n    FormioGrid,\n    ModalModule.forRoot(),\n    PaginationModule.forRoot()\n  ],\n  declarations: [\n    FormManagerIndexComponent,\n    FormManagerCreateComponent,\n    FormManagerFormComponent,\n    FormManagerViewComponent,\n    FormManagerEditComponent,\n    FormManagerDeleteComponent,\n    SubmissionComponent,\n    SubmissionEditComponent,\n    SubmissionDeleteComponent,\n    SubmissionViewComponent,\n    SubmissionIndexComponent\n  ]\n})\nexport class FormManagerModule {\n  static forChild(config?: FormManagerRouteConfig): any {\n    return extendRouter(FormManagerModule, config, FormManagerRoutes);\n  }\n  static forRoot(config?: FormManagerRouteConfig): any {\n    return extendRouter(FormManagerModule, config, FormManagerRoutes);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.FormManagerConfig","i3","i1.FormManagerService","i3.FormManagerConfig","i4","i5","i6","i2","i4.FormManagerConfig"],"mappings":"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"}