{"version":3,"file":"maqta-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/public_api.ts","../../../projects/angular-formio/manager/src/maqta-formio-angular-manager.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\nexport interface FormManagerRouteConfig {\r\n  formIndex?: any;\r\n  formCreate?: any;\r\n  form?: any;\r\n  formView?: any;\r\n  formEdit?: any;\r\n  formEmbed?: any;\r\n  formDelete?: any;\r\n  submissionIndex?: any;\r\n  submission?: any;\r\n  submissionView?: any;\r\n  submissionEdit?: any;\r\n  submissionDelete?: any;\r\n}\r\n\r\n@Injectable()\r\nexport class FormManagerConfig {\r\n  public tag = '';\r\n  public includeSearch = false;\r\n  public saveDraft = false;\r\n  public builder?: any;\r\n  public viewer?: string;\r\n  public renderer: any;\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { FormioAppConfig } from '@maqta/formio-angular';\nimport { FormManagerConfig } from './form-manager.config';\nimport { Formio } from 'formiojs';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormioAuthService } from '@maqta/formio-angular/auth';\nimport _each from 'lodash/each';\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._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._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  createForm(form: any) {\n    return this.formio.createform(form);\n  }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormManagerService } from '../form-manager.service';\nimport { FormManagerConfig } from '../form-manager.config';\nimport { FormioGridComponent } from '@maqta/formio-angular/grid';\nimport { debounce } from 'lodash';\n\n@Component({\n  templateUrl: './index.component.html',\n  styleUrls: ['./index.component.scss']\n})\nexport class FormManagerIndexComponent implements OnInit {\n  @ViewChild(FormioGridComponent, {static: false}) formGrid: FormioGridComponent;\n  public gridQuery: any;\n  public search = '';\n  constructor(\n    public service: FormManagerService,\n    public route: ActivatedRoute,\n    public router: Router,\n    public config: FormManagerConfig\n  ) {\n    this.gridQuery = {tags: this.config.tag, type: 'form', sort: 'title'};\n    this.onSearch = debounce(this.onSearch, 300);\n  }\n\n  loadGrid() {\n    this.search = localStorage.getItem('searchInput');\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 = {tags: this.config.tag, type: 'form', sort: 'title'};\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  onSearch(event?: KeyboardEvent) {\n    const searchInput = this.search;\n    if (searchInput.length > 0) {\n      this.gridQuery.skip = 0;\n      this.gridQuery.title__regex = '/' + searchInput + '/i';\n      this.gridQuery.title__regex = '/' + searchInput.trim() + '/i';\n    } else {\n      delete this.gridQuery.title__regex;\n    }\n    localStorage.setItem('query', JSON.stringify(this.gridQuery));\n    localStorage.setItem('searchInput', this.search);\n    this.formGrid.pageChanged({page: 1, itemPerPage: this.gridQuery.limit});\n    this.formGrid.refreshGrid(this.gridQuery);\n  }\n\n  clearSearch() {\n    this.gridQuery = {tags: this.config.tag, type: 'form', sort: 'title'};\n    localStorage.removeItem('query');\n    localStorage.removeItem('searchInput');\n    localStorage.removeItem('currentPage');\n    this.search = '';\n    this.formGrid.pageChanged({page: 1});\n    this.formGrid.query = {};\n    this.formGrid.refreshGrid({tags: this.config.tag, type: 'form', sort: 'title'});\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\">\r\n  <input type=\"text\" (keyup)=\"onSearch()\" class=\"form-control\" [(ngModel)]=\"search\" placeholder=\"Search Forms\" aria-label=\"Search Forms\" aria-describedby=\"button-search\">\r\n  <span *ngIf=\"search && search !== ''\" class=\"form-clear input-group-addon\" (click)=\"clearSearch()\"><span class=\"fa fa-times\"></span></span>\r\n</div>\r\n<formio-grid\r\n  *ngIf=\"service.ready\"\r\n  [formio]=\"service.formio\"\r\n  [gridType]=\"'form'\"\r\n  [query]=\"gridQuery\"\r\n  [isActionAllowed]=\"service.actionAllowed\"\r\n  (rowAction)=\"onAction($event)\"\r\n  (rowSelect)=\"onSelect($event)\"\r\n  (createItem)=\"onCreateItem()\"\r\n></formio-grid>\r\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 '@maqta/formio-angular';\nimport { FormBuilderComponent } from '@maqta/formio-angular';\nimport _ from 'lodash';\n\n@Component({\n  templateUrl: './edit.component.html'\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\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.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>\r\n<div class=\"form-group row\">\r\n  <div class=\"col-sm-8\">\r\n    <input type=\"text\" class=\"form-control\" id=\"formTitle\" placeholder=\"Enter a Title\" #title>\r\n  </div>\r\n  <div class=\"col-sm-2\">\r\n    <select class=\"form-control\" id=\"formSelect\" (change)=\"onDisplaySelect($event)\" #type>\r\n      <option value=\"form\">Form</option>\r\n      <option value=\"wizard\">Wizard</option>\r\n      <option value=\"pdf\">PDF</option>\r\n    </select>\r\n  </div>\r\n  <div class=\"col-sm-2\">\r\n    <button class=\"btn btn-primary btn-block\" (click)=\"onSave()\">Save Form</button>\r\n  </div>\r\n</div>\r\n<formio-alerts [alerts]=\"alerts\"></formio-alerts>\r\n<form-builder *ngIf=\"formReady\" [formbuilder]=\"config.builder\" [form]=\"form\" #builder></form-builder>\r\n<button class=\"btn btn-primary\" style=\"margin-top: 10px;\" (click)=\"onSave()\">Save Form</button>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormManagerEditComponent } from '../edit/edit.component';\r\n\r\n@Component({\r\n  templateUrl: '../edit/edit.component.html'\r\n})\r\nexport class FormManagerCreateComponent extends FormManagerEditComponent implements OnInit {\r\n  ngOnInit() {\r\n    this.service.reset();\r\n  }\r\n}\r\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 '@maqta/formio-angular';\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\n\n@Component({\n  templateUrl: './form.component.html'\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=\"pull-right btn btn-outline-primary\" (click)=\"openEmbed(content)\"><em class=\"fa fa-share-alt glyphicon glyphicon-share\"></em> Share</button>\r\n<ul class=\"nav nav-tabs mb-2\">\r\n  <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left glyphicon glyphicon-chevron-left\"></em></a></li>\r\n  <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\"><em class=\"fa fa-pencil glyphicon glyphicon-pencil\"></em> Enter Data</a></li>\r\n  <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"submission\" routerLinkActive=\"active\"><em class=\"fa fa-list-alt glyphicon glyphicon-list-alt\"></em> View Data</a></li>\r\n  <li *ngIf=\"service.actionAllowed('formEdit')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\"><em class=\"fa fa-edit glyphicon glyphicon-edit\"></em> Edit Form</a></li>\r\n  <li *ngIf=\"service.actionAllowed('formDelete')\" class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash glyphicon glyphicon-trash\"></span></a></li>\r\n</ul>\r\n<router-outlet></router-outlet>\r\n<ng-template #content>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title\">Share or Embed this form</h4>\r\n    <button type=\"button\" class=\"close\" aria-label=\"Close\" (click)=\"modalRef.hide()\">\r\n      <span aria-hidden=\"true\">&times;</span>\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <ul class=\"nav nav-tabs mr-auto mb-2\">\r\n      <li class=\"nav-item\">\r\n        <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isUrl'}\" (click)=\"choices('isUrl')\"><em class=\"fa fa-link\"></em> URL</a>\r\n      </li>\r\n      <li class=\"nav-item\">\r\n        <a class=\"nav-link\" [ngClass]=\"{'active': choice === 'isEmbed'}\" (click)=\"choices('isEmbed')\"><em class=\"fa fa-code\"></em> Embed</a>\r\n      </li>\r\n    </ul>\r\n    <pre  *ngIf=\"choice === 'isEmbed'\"><textarea onclick=\"this.focus();this.select()\" readonly=\"readonly\" style=\"width:100%;\" rows=\"8\" [ngModel]=\"embedCode\"></textarea></pre>\r\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\">\r\n  </div>\r\n  <div class=\"modal-footer\">\r\n    <button type=\"button\" class=\"btn btn-light\" (click)=\"modalRef.hide()\">Close</button>\r\n  </div>\r\n</ng-template>\r\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 '@maqta/formio-angular/auth';\nimport { Formio } from 'formiojs';\n\n@Component({\n  templateUrl: './view.component.html'\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  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    this.submission.data = submission.data;\n    this.submission.state = 'complete';\n    this.service.formio.saveSubmission(this.submission).then(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\"\r\n  [renderer]=\"config.renderer\"\r\n  [renderOptions]=\"renderOptions\"\r\n  [url]=\"service.formio.formUrl\"\r\n  [form]=\"service.form\"\r\n  [submission]=\"submission\"\r\n  [success]=\"onSuccess\"\r\n  [error]=\"onError\"\r\n  (submit)=\"onSubmit($event)\"\r\n></formio>\r\n","import { Component } from '@angular/core';\nimport { FormManagerService } from '../form-manager.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormioAlerts } from '@maqta/formio-angular';\nimport { GridService } from '@maqta/formio-angular/grid';\n\n@Component({\n  templateUrl: './delete.component.html'\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>\r\n<h3>Are you sure you wish to delete this form?</h3>\r\n<div class=\"btn-toolbar\">\r\n  <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\r\n  <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-default\">No</button>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { FormManagerService } from '../../form-manager.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n  templateUrl: './edit.component.html'\r\n})\r\nexport class SubmissionEditComponent {\r\n  constructor(\r\n    public service: FormManagerService,\r\n    public router: Router,\r\n    public route: ActivatedRoute\r\n  ) { }\r\n\r\n  onSubmit(submission) {\r\n    this.router.navigate(['../../'], {relativeTo: this.route});\r\n  }\r\n}\r\n","<formio\r\n  [renderer]=\"service.config.renderer\"\r\n  [src]=\"service.formio.submissionUrl\"\r\n  (submit)=\"onSubmit($event)\"\r\n  (formLoad)=\"service.setForm($event)\"\r\n  (submissionLoad)=\"service.submissionLoaded($event)\"\r\n></formio>\r\n","import { Component } from '@angular/core';\nimport { FormManagerService } from '../../form-manager.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { FormioAlerts } from '@maqta/formio-angular';\n\n@Component({\n  templateUrl: './delete.component.html'\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>\r\n<h3>Are you sure you wish to delete this record?</h3>\r\n<div class=\"btn-toolbar\">\r\n  <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\r\n  <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-default\">No</button>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { FormManagerService } from '../../form-manager.service';\r\n\r\n@Component({\r\n  templateUrl: './view.component.html'\r\n})\r\nexport class SubmissionViewComponent {\r\n  constructor(public service: FormManagerService) { }\r\n}\r\n","<formio\r\n  [renderer]=\"service.config.renderer\"\r\n  [src]=\"service.formio.submissionUrl\"\r\n  [readOnly]=\"true\"\r\n  (formLoad)=\"service.setForm($event)\"\r\n  (submissionLoad)=\"service.submissionLoaded($event)\"\r\n></formio>\r\n","import { Component } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormManagerService } from '../../form-manager.service';\r\n\r\n@Component({\r\n  templateUrl: './index.component.html'\r\n})\r\nexport class SubmissionIndexComponent {\r\n  constructor(\r\n    public service: FormManagerService,\r\n    public route: ActivatedRoute,\r\n    public router: Router\r\n  ) {}\r\n\r\n  onSelect(row: any) {\r\n    this.router.navigate([row._id, 'view'], {relativeTo: this.route});\r\n  }\r\n}\r\n","<formio-grid [formio]=\"service.formio\" (rowSelect)=\"onSelect($event)\"></formio-grid>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormManagerService } from '../../form-manager.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n  templateUrl: './submission.component.html'\r\n})\r\nexport class SubmissionComponent implements OnInit {\r\n  public downloadUrl: string;\r\n  constructor(\r\n    public service: FormManagerService,\r\n    public route: ActivatedRoute\r\n  ) { }\r\n\r\n  setDownloadUrl(url) {\r\n    this.downloadUrl = url;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.service.setSubmission(this.route).then((formio: any) => {\r\n      formio.getDownloadUrl().then((url) => this.setDownloadUrl(url));\r\n    });\r\n  }\r\n}\r\n","<a *ngIf=\"downloadUrl\" [href]=\"downloadUrl\" target=\"_blank\" class=\"pull-right\"><img src=\"https://pro.formview.io/assets/pdf.png\" alt=\"pdfImage\" style=\"height: 2em;\" /></a>\r\n<ul aria-label=\"Submission\" role=\"navigation\" class=\"nav nav-tabs\" style=\"margin-bottom:10px\">\r\n  <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left glyphicon glyphicon-chevron-left\"></em></a></li>\r\n  <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\"><em class=\"fa fa-eye glyphicon glyphicon-eye\"></em> View</a></li>\r\n  <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"service.perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\"><em class=\"fa fa-edit glyphicon glyphicon-edit\"></em> Edit</a></li>\r\n  <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"service.perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash glyphicon glyphicon-trash\"></span></a></li>\r\n</ul>\r\n<router-outlet></router-outlet>\r\n","import { Routes } from '@angular/router';\r\nimport { FormManagerIndexComponent } from './index/index.component';\r\nimport { FormManagerCreateComponent } from './create/create.component';\r\nimport { FormManagerFormComponent } from './form/form.component';\r\nimport { FormManagerViewComponent } from './view/view.component';\r\nimport { FormManagerEditComponent } from './edit/edit.component';\r\nimport { FormManagerDeleteComponent } from './delete/delete.component';\r\nimport { SubmissionEditComponent } from './submission/edit/edit.component';\r\nimport { SubmissionDeleteComponent } from './submission/delete/delete.component';\r\nimport { SubmissionViewComponent } from './submission/view/view.component';\r\nimport { SubmissionIndexComponent } from './submission/index/index.component';\r\nimport { SubmissionComponent } from './submission/submission/submission.component';\r\nimport { FormManagerRouteConfig } from './form-manager.config';\r\nexport function FormManagerRoutes(config?: FormManagerRouteConfig): Routes {\r\n  return [\r\n    {\r\n      path: '',\r\n      component: config && config.formIndex ? config.formIndex : FormManagerIndexComponent\r\n    },\r\n    {\r\n      path: 'create',\r\n      component: config && config.formCreate ? config.formCreate : FormManagerCreateComponent\r\n    },\r\n    {\r\n      path: ':id',\r\n      component: config && config.form ? config.form : FormManagerFormComponent,\r\n      children: [\r\n        {\r\n          path: '',\r\n          redirectTo: 'view',\r\n          pathMatch: 'full'\r\n        },\r\n        {\r\n          path: 'view',\r\n          component: config && config.formView ? config.formView : FormManagerViewComponent\r\n        },\r\n        {\r\n          path: 'edit',\r\n          component: config && config.formEdit ? config.formEdit : FormManagerEditComponent\r\n        },\r\n        {\r\n          path: 'delete',\r\n          component: config && config.formDelete ? config.formDelete : FormManagerDeleteComponent\r\n        },\r\n        {\r\n          path: 'submission',\r\n          component: config && config.submissionIndex ? config.submissionIndex : SubmissionIndexComponent\r\n        },\r\n        {\r\n          path: 'submission/:id',\r\n          component: config && config.submission ? config.submission : SubmissionComponent,\r\n          children: [\r\n            {\r\n              path: '',\r\n              redirectTo: 'view',\r\n              pathMatch: 'full'\r\n            },\r\n            {\r\n              path: 'view',\r\n              component: config && config.submissionView ? config.submissionView : SubmissionViewComponent\r\n            },\r\n            {\r\n              path: 'edit',\r\n              component: config && config.submissionEdit ? config.submissionEdit : SubmissionEditComponent\r\n            },\r\n            {\r\n              path: 'delete',\r\n              component: config && config.submissionDelete ? config.submissionDelete : SubmissionDeleteComponent\r\n            }\r\n          ]\r\n        }\r\n      ]\r\n    }\r\n  ];\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FormioModule } from '@maqta/formio-angular';\nimport { FormioGrid } from '@maqta/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 '@maqta/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 * Public API Surface of @maqta/formio-angular\n */\n\nexport * from './index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}