@formio-tmt/angular
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.1.4.
1 lines • 43.5 kB
Source Map (JSON)
{"version":3,"file":"formio-tmt-angular-resource.mjs","sources":["../../../projects/angular-formio/resource/src/resource.config.ts","../../../projects/angular-formio/resource/src/resources.service.ts","../../../projects/angular-formio/resource/src/resource.service.ts","../../../projects/angular-formio/resource/src/resource.component.ts","../../../projects/angular-formio/resource/src/resource.component.html","../../../projects/angular-formio/resource/src/view/view.component.ts","../../../projects/angular-formio/resource/src/view/view.component.html","../../../projects/angular-formio/resource/src/edit/edit.component.ts","../../../projects/angular-formio/resource/src/edit/edit.component.html","../../../projects/angular-formio/resource/src/delete/delete.component.ts","../../../projects/angular-formio/resource/src/delete/delete.component.html","../../../projects/angular-formio/resource/src/create/create.component.ts","../../../projects/angular-formio/resource/src/create/create.component.html","../../../projects/angular-formio/resource/src/index/index.component.ts","../../../projects/angular-formio/resource/src/index/index.component.html","../../../projects/angular-formio/resource/src/resource.routes.ts","../../../projects/angular-formio/resource/src/resource.module.ts","../../../projects/angular-formio/resource/src/formio-tmt-angular-resource.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\nexport interface FormioResourceRouteConfig {\r\n index?: any;\r\n create?: any;\r\n resource?: any;\r\n view?: any;\r\n edit?: any;\r\n delete?: any;\r\n}\r\n\r\n@Injectable()\r\nexport class FormioResourceConfig {\r\n name = '';\r\n form = '';\r\n parents: any[] = [];\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { FormioAuthService } from '@formio-tmt/angular/auth';\r\n\r\nexport interface FormioResourceMap {\r\n [name: string]: any;\r\n}\r\n\r\n@Injectable()\r\nexport class FormioResources {\r\n resources: FormioResourceMap = {};\r\n error: EventEmitter<any>;\r\n onError: EventEmitter<any>;\r\n constructor(\r\n public auth?: FormioAuthService\r\n ) {\r\n this.error = new EventEmitter();\r\n this.onError = this.error;\r\n this.resources = {\r\n currentUser: {\r\n resourceLoaded: this.auth.userReady\r\n }\r\n };\r\n }\r\n}\r\n","import { ApplicationRef, EventEmitter, Injectable, Optional } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { FormioResourceConfig } from './resource.config';\r\nimport { FormioResources } from './resources.service';\r\nimport { FormioPromiseService } from '@formio-tmt/angular';\r\nimport { FormioAlerts } from '@formio-tmt/angular';\r\nimport { FormioAppConfig } from '@formio-tmt/angular';\r\nimport { FormioRefreshValue } from '@formio-tmt/angular';\r\nimport Promise from 'native-promise-only';\r\nimport { Formio, Utils } from '@formio-tmt/js';\r\nimport _ from 'lodash';\r\n\r\n@Injectable()\r\nexport class FormioResourceService {\r\n public initialized = false;\r\n public form: any;\r\n public alerts: FormioAlerts;\r\n public resource: any;\r\n public resourceUrl?: string;\r\n public formUrl: string;\r\n public formFormio: FormioPromiseService;\r\n public formio: FormioPromiseService;\r\n public refresh: EventEmitter<FormioRefreshValue>;\r\n\r\n public resourceLoading?: Promise<any>;\r\n public resourceLoaded?: Promise<any>;\r\n public resourceId?: string;\r\n public resources: any;\r\n\r\n public formLoading?: Promise<any>;\r\n public formLoaded: Promise<any>;\r\n public formResolve: any;\r\n public formReject: any;\r\n public isLoading: boolean;\r\n\r\n constructor(\r\n public appConfig: FormioAppConfig,\r\n public config: FormioResourceConfig,\r\n @Optional() public resourcesService: FormioResources,\r\n public appRef: ApplicationRef,\r\n ) {\r\n this.isLoading = true;\r\n this.alerts = new FormioAlerts();\r\n this.refresh = new EventEmitter();\r\n this.formLoaded = new Promise((resolve: any, reject: any) => {\r\n this.formResolve = resolve;\r\n this.formReject = reject;\r\n });\r\n this.init();\r\n }\r\n\r\n initialize() {\r\n console.warn('FormioResourceService.initialize() has been deprecated.');\r\n }\r\n\r\n init() {\r\n if (this.initialized) {\r\n return;\r\n }\r\n this.initialized = true;\r\n if (this.appConfig && this.appConfig.appUrl) {\r\n Formio.setBaseUrl(this.appConfig.apiUrl);\r\n Formio.setProjectUrl(this.appConfig.appUrl);\r\n Formio.formOnly = this.appConfig.formOnly;\r\n } else {\r\n console.error('You must provide an AppConfig within your application!');\r\n }\r\n\r\n // Create the form url and load the resources.\r\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\r\n this.resource = { data: {} };\r\n\r\n // Add this resource service to the list of all resources in context.\r\n if (this.resourcesService) {\r\n this.resources = this.resourcesService.resources;\r\n this.resources[this.config.name] = this;\r\n }\r\n\r\n return this.loadForm();\r\n }\r\n\r\n onError(error: any) {\r\n this.alerts.setAlert({\r\n type: 'danger',\r\n message: error.message || error\r\n });\r\n if (this.resourcesService) {\r\n this.resourcesService.error.emit(error);\r\n }\r\n throw error;\r\n }\r\n\r\n onFormError(err: any) {\r\n this.formReject(err);\r\n this.onError(err);\r\n }\r\n\r\n setContext(route: ActivatedRoute) {\r\n this.resourceId = route.snapshot.params['id'];\r\n this.resource = { data: {} };\r\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\r\n if (this.resourceId) {\r\n this.resourceUrl += '/submission/' + this.resourceId;\r\n }\r\n this.formio = new FormioPromiseService(this.resourceUrl);\r\n if (this.resourcesService) {\r\n this.resources[this.config.name] = this;\r\n }\r\n this.loadParents();\r\n }\r\n\r\n loadForm() {\r\n this.formFormio = new FormioPromiseService(this.formUrl);\r\n this.isLoading = true;\r\n this.formLoading = this.formFormio\r\n .loadForm()\r\n .then(\r\n (form: any) => {\r\n this.form = form;\r\n this.formResolve(form);\r\n this.isLoading = false;\r\n this.loadParents();\r\n return form;\r\n },\r\n (err: any) => this.onFormError(err)\r\n )\r\n .catch((err: any) => this.onFormError(err));\r\n return this.formLoading;\r\n }\r\n\r\n loadParents() {\r\n if (!this.config.parents || !this.config.parents.length) {\r\n return Promise.resolve([]);\r\n }\r\n if (!this.resourcesService) {\r\n console.warn(\r\n 'You must provide the FormioResources within your application to use nested resources.'\r\n );\r\n return Promise.resolve([]);\r\n }\r\n return this.formLoading.then((form) => {\r\n // Iterate through the list of parents.\r\n const _parentsLoaded: Array<Promise<any>> = [];\r\n this.config.parents.forEach((parent: any) => {\r\n const resourceName = parent.resource || parent;\r\n const resourceField = parent.field || parent;\r\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\r\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\r\n _parentsLoaded.push(\r\n this.resources[resourceName].resourceLoaded.then((resource: any) => {\r\n let parentPath = '';\r\n Utils.eachComponent(form.components, (component, path) => {\r\n if (component.key === resourceField) {\r\n component.hidden = true;\r\n component.clearOnHide = false;\r\n _.set(this.resource.data, path, resource);\r\n parentPath = path;\r\n return true;\r\n }\r\n });\r\n return {\r\n name: parentPath,\r\n filter: filterResource,\r\n resource\r\n };\r\n })\r\n );\r\n }\r\n });\r\n\r\n // When all the parents have loaded, emit that to the onParents emitter.\r\n return Promise.all(_parentsLoaded).then((parents: any) => {\r\n this.refresh.emit({\r\n form: form,\r\n submission: this.resource\r\n });\r\n return parents;\r\n });\r\n });\r\n }\r\n\r\n onSubmissionError(err: any) {\r\n this.onError(err);\r\n }\r\n\r\n loadResource(route: ActivatedRoute) {\r\n this.setContext(route);\r\n this.isLoading = true;\r\n this.resourceLoading = this.resourceLoaded = this.formio\r\n .loadSubmission(null, {ignoreCache: true})\r\n .then(\r\n (resource: any) => {\r\n this.resource = resource;\r\n this.isLoading = false;\r\n this.refresh.emit({\r\n property: 'submission',\r\n value: this.resource\r\n });\r\n return resource;\r\n },\r\n (err: any) => this.onSubmissionError(err)\r\n )\r\n .catch((err: any) => this.onSubmissionError(err));\r\n return this.resourceLoading;\r\n }\r\n\r\n save(resource: any) {\r\n const formio = resource._id ? this.formio : this.formFormio;\r\n return formio\r\n .saveSubmission(resource)\r\n .then(\r\n (saved: any) => {\r\n this.resource = saved;\r\n return saved;\r\n },\r\n (err: any) => this.onError(err)\r\n )\r\n .catch((err: any) => this.onError(err));\r\n }\r\n\r\n remove() {\r\n return this.formio\r\n .deleteSubmission()\r\n .then(\r\n () => {\r\n this.resource = null;\r\n },\r\n (err: any) => this.onError(err)\r\n )\r\n .catch((err: any) => this.onError(err));\r\n }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { FormioAuthService } from '@formio-tmt/angular/auth';\r\nimport { FormioResourceService } from './resource.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n templateUrl: './resource.component.html'\r\n})\r\nexport class FormioResourceComponent implements OnInit, OnDestroy {\r\n private paramsSubscription: Subscription;\r\n public perms = {delete: false, edit: false};\r\n\r\n constructor(\r\n public service: FormioResourceService,\r\n public route: ActivatedRoute,\r\n public auth: FormioAuthService,\r\n ) {\r\n // subscribe to the route param changes, so that we could re-load the submission if navigation happens from one submission to another\r\n this.paramsSubscription = this.route.params.subscribe((params) => {\r\n this.init();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.init();\r\n }\r\n\r\n init() {\r\n this.service.loadResource(this.route);\r\n this.service.formLoaded.then((form) => {\r\n this.auth.ready.then(() => {\r\n this.service.resourceLoaded.then((resource) => {\r\n this.service.formFormio.userPermissions(this.auth.user, form, resource).then((perms) => {\r\n this.perms.delete = perms.delete;\r\n this.perms.edit = perms.edit;\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.paramsSubscription) {\r\n this.paramsSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","<ul 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 bi bi-chevron-left\"></em></a></li>\r\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\r\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\r\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>\r\n</ul>\r\n<router-outlet></router-outlet>\r\n","import {Component, OnDestroy} from '@angular/core';\r\nimport { FormioResourceService } from '../resource.service';\r\nimport { FormioResourceConfig } from '../resource.config';\r\nimport {Formio} from '@formio-tmt/js';\r\n\r\n@Component({\r\n templateUrl: './view.component.html'\r\n})\r\nexport class FormioResourceViewComponent implements OnDestroy{\r\n constructor(\r\n public service: FormioResourceService,\r\n public config: FormioResourceConfig\r\n ) {}\r\n public submission = {data: {}};\r\n\r\n ngOnDestroy() {\r\n Formio.clearCache();\r\n }\r\n}\r\n","<formio\r\n [form]=\"service.form\"\r\n [submission]=\"service.resource\"\r\n [hideComponents]=\"config.parents\"\r\n [readOnly]=\"true\"\r\n></formio>\r\n","import {Component, EventEmitter, OnDestroy} from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormioResourceService } from '../resource.service';\r\nimport { FormioResourceConfig } from '../resource.config';\r\nimport { Formio } from '@formio-tmt/js';\r\n\r\n@Component({\r\n templateUrl: './edit.component.html'\r\n})\r\nexport class FormioResourceEditComponent implements OnDestroy {\r\n public triggerError: EventEmitter<any> = new EventEmitter();\r\n public onSubmitDone: EventEmitter<object> = new EventEmitter();\r\n public submission = {data: {}};\r\n constructor(\r\n public service: FormioResourceService,\r\n public route: ActivatedRoute,\r\n public router: Router,\r\n public config: FormioResourceConfig\r\n ) {}\r\n\r\n onSubmit(submission: any) {\r\n const edit = this.service.resource;\r\n edit.data = submission.data;\r\n this.service.save(edit)\r\n .then(() => {\r\n this.onSubmitDone.emit(this.service.resource);\r\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\r\n })\r\n .catch((err) => this.triggerError.emit(err));\r\n }\r\n\r\n ngOnDestroy() {\r\n Formio.clearCache();\r\n }\r\n}\r\n","<formio\r\n [form]=\"service.form\"\r\n [submission]=\"service.resource\"\r\n [error]=\"triggerError\"\r\n [submitDone]=\"onSubmitDone\"\r\n (submit)=\"onSubmit($event)\"\r\n></formio>\r\n","import { Component } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormioResourceService } from '../resource.service';\r\n\r\n@Component({\r\n templateUrl: './delete.component.html'\r\n})\r\nexport class FormioResourceDeleteComponent {\r\n constructor(\r\n public service: FormioResourceService,\r\n public route: ActivatedRoute,\r\n public router: Router\r\n ) {}\r\n\r\n onDelete() {\r\n this.service.remove().then(() => {\r\n this.router.navigate(['../../'], { relativeTo: this.route });\r\n });\r\n }\r\n\r\n onCancel() {\r\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\r\n }\r\n}\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-danger\">No</button>\r\n</div>\r\n","import { Component, EventEmitter, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormioResourceService } from '../resource.service';\r\nimport { FormioResourceConfig } from '../resource.config';\r\n\r\n@Component({\r\n styleUrls: ['./create.component.scss'],\r\n templateUrl: './create.component.html'\r\n})\r\nexport class FormioResourceCreateComponent implements OnInit {\r\n public onError: EventEmitter<any>;\r\n public onSuccess: EventEmitter<any>;\r\n constructor(\r\n public service: FormioResourceService,\r\n public route: ActivatedRoute,\r\n public router: Router,\r\n public config: FormioResourceConfig\r\n ) {\r\n this.onError = new EventEmitter();\r\n this.onSuccess = new EventEmitter();\r\n }\r\n\r\n ngOnInit() {\r\n this.service.setContext(this.route);\r\n }\r\n\r\n onSubmit(submission: any) {\r\n this.service\r\n .save(submission)\r\n .then(() => {\r\n this.router.navigate(['../', this.service.resource._id, 'view'], {\r\n relativeTo: this.route\r\n });\r\n })\r\n .catch((err: any) => this.onError.emit(err));\r\n }\r\n}\r\n","<h3 *ngIf=\"service.form\" style=\"margin-top:0;\">\r\n <a routerLink=\"../\" class=\"back-button\">\r\n <em class=\"fa fa-chevron-left bi bi-chevron-left\"></em>\r\n </a> | New {{ service.form.title }}\r\n</h3>\r\n<formio\r\n [form]=\"service.form\"\r\n [submission]=\"service.resource\"\r\n [refresh]=\"service.refresh\"\r\n [error]=\"onError\"\r\n [success]=\"onSuccess\"\r\n (submit)=\"onSubmit($event)\"\r\n></formio>\r\n","import { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormioResourceService } from '../resource.service';\r\nimport { FormioResourceConfig } from '../resource.config';\r\nimport { each } from 'lodash';\r\n\r\n@Component({\r\n templateUrl: './index.component.html'\r\n})\r\nexport class FormioResourceIndexComponent implements OnInit {\r\n public gridSrc?: string;\r\n public gridQuery: any;\r\n public createText: String;\r\n\r\n constructor(\r\n public service: FormioResourceService,\r\n public route: ActivatedRoute,\r\n public router: Router,\r\n public config: FormioResourceConfig,\r\n public cdr: ChangeDetectorRef,\r\n public ngZone: NgZone,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.gridQuery = {};\r\n this.service.setContext(this.route);\r\n this.service.formLoaded.then(() => {\r\n if (\r\n this.service &&\r\n this.config.parents &&\r\n this.config.parents.length\r\n ) {\r\n this.service.loadParents().then((parents: any) => {\r\n each(parents, (parent: any) => {\r\n if (parent && parent.filter) {\r\n this.gridQuery['data.' + parent.name + '._id'] =\r\n parent.resource._id;\r\n }\r\n });\r\n\r\n // Set the source to load the grid.\r\n this.gridSrc = this.service.formUrl;\r\n this.createText = `New ${this.service.form.title}`;\r\n });\r\n } else if (this.service.formUrl) {\r\n this.gridSrc = this.service.formUrl;\r\n this.createText = `New ${this.service.form.title}`;\r\n }\r\n\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n onSelect(row: any) {\r\n this.ngZone.run(() => {\r\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\r\n });\r\n }\r\n\r\n onCreateItem() {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['new'], { relativeTo: this.route });\r\n });\r\n }\r\n}\r\n","<formio-alerts [alerts]=\"service.alerts\"></formio-alerts>\r\n<formio-grid\r\n [src]=\"gridSrc\"\r\n [query]=\"gridQuery\"\r\n [onForm]=\"service.formLoaded\"\r\n (rowSelect)=\"onSelect($event)\"\r\n (error)=\"service.onError($event)\"\r\n (createItem)=\"onCreateItem()\"\r\n [createText]=\"createText\"\r\n></formio-grid>\r\n","import { Routes } from '@angular/router';\r\nimport { FormioResourceComponent } from './resource.component';\r\nimport { FormioResourceViewComponent } from './view/view.component';\r\nimport { FormioResourceEditComponent } from './edit/edit.component';\r\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\r\nimport { FormioResourceCreateComponent } from './create/create.component';\r\nimport { FormioResourceIndexComponent } from './index/index.component';\r\nimport { FormioResourceRouteConfig } from './resource.config';\r\nexport function FormioResourceRoutes(config?: FormioResourceRouteConfig): Routes {\r\n return [\r\n {\r\n path: '',\r\n component: config && config.index ? config.index : FormioResourceIndexComponent\r\n },\r\n {\r\n path: 'new',\r\n component: config && config.create ? config.create : FormioResourceCreateComponent\r\n },\r\n {\r\n path: ':id',\r\n component: config && config.resource ? config.resource : FormioResourceComponent,\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.view ? config.view : FormioResourceViewComponent\r\n },\r\n {\r\n path: 'edit',\r\n component: config && config.edit ? config.edit : FormioResourceEditComponent\r\n },\r\n {\r\n path: 'delete',\r\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\r\n }\r\n ]\r\n }\r\n ];\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormioModule } from '@formio-tmt/angular';\r\nimport { FormioAlerts } from '@formio-tmt/angular';\r\nimport { FormioGrid } from '@formio-tmt/angular/grid';\r\nimport { FormioResourceComponent } from './resource.component';\r\nimport { FormioResourceViewComponent } from './view/view.component';\r\nimport { FormioResourceEditComponent } from './edit/edit.component';\r\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\r\nimport { FormioResourceCreateComponent } from './create/create.component';\r\nimport { FormioResourceIndexComponent } from './index/index.component';\r\nimport { FormioResourceRouteConfig } from './resource.config';\r\nimport { FormioResourceRoutes } from './resource.routes';\r\nimport { extendRouter } from '@formio-tmt/angular';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormioModule,\r\n FormioGrid,\r\n RouterModule\r\n ],\r\n declarations: [\r\n FormioResourceComponent,\r\n FormioResourceCreateComponent,\r\n FormioResourceIndexComponent,\r\n FormioResourceViewComponent,\r\n FormioResourceEditComponent,\r\n FormioResourceDeleteComponent\r\n ],\r\n providers: [\r\n FormioAlerts\r\n ]\r\n})\r\nexport class FormioResource {\r\n static forChild(config?: FormioResourceRouteConfig): any {\r\n return extendRouter(FormioResource, config, FormioResourceRoutes);\r\n }\r\n static forRoot(config?: FormioResourceRouteConfig): any {\r\n return extendRouter(FormioResource, config, FormioResourceRoutes);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Promise","i1","i2.FormioResourceConfig","i3.FormioResources","i1.FormioResourceService","i3","i3.FormioResourceConfig","i4","i5"],"mappings":"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"}