@formio/angular 5.5.0-rc.1 → 5.5.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/01/f5/4259bfb27e15abda81ea61ae4e2d8f29ef518e099f1d7c8693fa453843a874ee8d04e25a99f4061c0400be1a9f3f1a874a330fcf0a5dba082ca951c8707b +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/1d/f9/f8694213d5dd173183df341996413ab4b230954a5cb5fec27b2fe58be33155dca699aa3562b45b88aed867a901c5a8b5242f02d28d55bee5523532679008 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/21/d0/9bcc3e57b3d1375b9e47de16213e34f68cc10f0eff6bf1776422eeb0888c8deefdedb4d34bbfb5a48a31e3db208d2363f8aa16ee35183a90b382fa888e9f +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/3a/b3/f51b230d4fc92fcc2a671feb65e5d1995435fd44aeede5840708854fc200fc6e885145882b27d2e8967b1dcc1a4558ebd3afee0e3ba1bba76c4e042a509c +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/49/83/fe1894f290d2c7b62071613c17ef550fc151acb486bca8d907dc1da702f3a83f0cc638e33acdccf4a8710f342bb39ca4e591b35f5551706578315a4ec9f1 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/4b/50/b112c9a92c939784f8af5ea5888188aa9dfc5114485463d0dbf84d8e7b48ff7e52f8d012badd74347a83a214c8504cda54769f9f86774919184fed955fea +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/78/6b/938be911c6fa1b8ab5c1136954cd375f6d24ca77880eefc4f59bd030cc7c9d462b400d3db051117bcbaa5fb2037c4c08c892c5d3ceb7ac6e3f11e0b3130a +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/8b/1d/9d06e2b1f63c60745b165ba2236f3b2366a6f2c2b5cfd12c73508e54cc5a4b4d5e47015a1a2188c9f3cb7ed82e5cc0d5790bd55fb6883942279d8e69d98a +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/9f/9a/6055949c6d628b4f34b5f43410d5efbbacd956e52240b30278fd4dfe5182a206d91728e0d16b71904e0cf5b40d7944f054d7fa6f45ce38502aa3c654446c +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/af/4a/cafdd325d47ab347fd8f7d3828818bd4305919aeaa02a86850a77589b07e81162d9f3d08619d253037c6562d1a1389fcd99713cef96ff394d7ec55134deb +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/d3/15/8fda1c88b170d1f252a22dc3be6211581e1b9975058b870c182b3b66ea5b0f3f2edfafb3ef7b10c42cfdf97b8cbbe1aeb57c965e6e6bb2b5076848889691 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/d7/53/c9807659c1f98269ec82d2980bda0b81da57c9dec6efd59cf3e7abdbfa6a3e751ab0eb4d66e6b62d31873b4b74c349c87fa194d0e7b7e114e5bdcc3cdcdb +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/e1/3b/a5699b2b00255cbdc58efdda462de0c9fffe6b82cd5482a49f4fd918ecf98ffd08211dbf1d80cb60ac0052b8d9919c6d5d16fa99300dfc3be3c2b85ffbf9 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/e9/aa/76646c61fad4972df6b5625be826a0d182cbe21632fdba1458c6e7d87f394dd5c9ccf71389772b2a5edb616e477f74f351d88eab7c39c76afe95bb851e27 +1 -0
- package/.angular/cache/15.0.1/ng-packagr/content-v2/sha512/f7/c4/20025dfcab6ef6645c04bf03ab9e87e06f5526f8c1428595f87ec9b7c23c8a04fb146e47e176baf3da8a852b7bf277bb1ab27ecb61b699cb216edd3ff8ec +1 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/06/aa/f9f76fa9af3d6ac714d85ff94f703a46f8d164984ebe228161ea6bab4330 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/16/36/7bfa836eaa2a8c347d0c61df497c7a72fdaf1ece0490da0636f036301a1b +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/19/b4/673449e1657c54805f54357ac1b0c2052b322e18bceea346d725d761f87a +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/65/cb/5c5e267d1c02bd4744018bfc1139c92977232bcc803b1c1778fd9c395608 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/70/10/5fc5cf1f12c9d98551a642ed8eaf8360c071c8c03095682ca2adb0bffc0b +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/76/f7/775d6b60ae22b890a075a569cf117568ebe446e138798cbc10dfe25426e1 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/7c/5a/0a1aff5c26b4da864f046051e8fd2e52689a9b97db1af2b8abed22bef859 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/88/1f/b7baf347b035cabea06d7352a540cb882747f1a3d5f891a5552cfb0e0766 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/b2/bd/e73968b87cffc870f7d7a1c48f8541b9a267388eb59a8959ebad9229920c +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/b9/cd/83db609579af94239f033ccb4367ed430d5ec50ddd5b5df6f0f175d48ce3 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/ba/e4/9e5145decd9e9b59e84aacc20459537106be69ebc18986f93b34355078bd +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/c5/16/22f2736652223dd09835db0221a6fde19987bec58c72db2279eb16cee8e9 +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/c9/c6/a3ec65df56befe84cb12519323461415d4fd1b6f2bf4827a93f6b1663e7f +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/d9/35/1df9c5a929d12127cfe114f0ca55ea62916ca47861545762e55bf8c8735d +2 -0
- package/.angular/cache/15.0.1/ng-packagr/index-v5/df/6d/addfb17e1ad55ce1fbe607edaffd16f53ff1715df0ab656ac01cc8c4887c +2 -0
- package/dist/angular-formio/package.json +1 -1
- package/package.json +1 -1
- package/projects/angular-formio/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"hash":"7c6146303dda04067cba0056e15ea203ecf706ad","fesm2020":{"code":"import * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Optional, Component, NgModule } from '@angular/core';\nimport * as i1 from '@formio/angular/auth';\nimport * as i1$1 from '@formio/angular';\nimport { FormioAlerts, FormioPromiseService, extendRouter, FormioModule } from '@formio/angular';\nimport Promise$1 from 'native-promise-only';\nimport { Formio, Utils } from 'formiojs';\nimport _, { each } from 'lodash';\nimport * as i2 from '@angular/router';\nimport { RouterModule } from '@angular/router';\nimport * as i4 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i5 from '@formio/angular/grid';\nimport { FormioGrid } from '@formio/angular/grid';\n\nclass FormioResourceConfig {\n constructor() {\n this.name = '';\n this.form = '';\n this.parents = [];\n }\n}\nFormioResourceConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nFormioResourceConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceConfig });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceConfig, decorators: [{\n type: Injectable\n }] });\n\nclass FormioResources {\n constructor(auth) {\n this.auth = auth;\n this.resources = {};\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\nFormioResources.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResources, deps: [{ token: i1.FormioAuthService }], target: i0.ɵɵFactoryTarget.Injectable });\nFormioResources.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResources });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResources, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1.FormioAuthService }]; } });\n\nclass FormioResourceService {\n constructor(appConfig, config, resourcesService, appRef) {\n this.appConfig = appConfig;\n this.config = config;\n this.resourcesService = resourcesService;\n this.appRef = appRef;\n this.initialized = false;\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n this.formLoaded = new Promise$1((resolve, reject) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.init();\n }\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n init() {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n }\n else {\n console.error('You must provide an AppConfig within your application!');\n }\n // Create the form url and load the resources.\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.resource = { data: {} };\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n return this.loadForm();\n }\n onError(error) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n onFormError(err) {\n this.formReject(err);\n this.onError(err);\n }\n setContext(route) {\n this.resourceId = route.snapshot.params['id'];\n this.resource = { data: {} };\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n if (this.resourcesService) {\n this.resources[this.config.name] = this;\n }\n this.loadParents();\n }\n loadForm() {\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then((form) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n }, (err) => this.onFormError(err))\n .catch((err) => this.onFormError(err));\n return this.formLoading;\n }\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise$1.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn('You must provide the FormioResources within your application to use nested resources.');\n return Promise$1.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded = [];\n this.config.parents.forEach((parent) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(this.resources[resourceName].resourceLoaded.then((resource) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n }));\n }\n });\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise$1.all(_parentsLoaded).then((parents) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n onSubmissionError(err) {\n this.onError(err);\n }\n loadResource(route) {\n this.setContext(route);\n this.isLoading = true;\n this.resourceLoading = this.resourceLoaded = this.formio\n .loadSubmission(null, { ignoreCache: true })\n .then((resource) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n return resource;\n }, (err) => this.onSubmissionError(err))\n .catch((err) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n save(resource) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then((saved) => {\n this.resource = saved;\n return saved;\n }, (err) => this.onError(err))\n .catch((err) => this.onError(err));\n }\n remove() {\n return this.formio\n .deleteSubmission()\n .then(() => {\n this.resource = null;\n }, (err) => this.onError(err))\n .catch((err) => this.onError(err));\n }\n}\nFormioResourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceService, deps: [{ token: i1$1.FormioAppConfig }, { token: FormioResourceConfig }, { token: FormioResources, optional: true }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });\nFormioResourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceService, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1$1.FormioAppConfig }, { type: FormioResourceConfig }, { type: FormioResources, decorators: [{\n type: Optional\n }] }, { type: i0.ApplicationRef }]; } });\n\nclass FormioResourceComponent {\n constructor(service, route, auth) {\n this.service = service;\n this.route = route;\n this.auth = auth;\n this.perms = { delete: false, edit: false };\n // subscribe to the route param changes, so that we could re-load the submission if navigation happens from one submission to another\n this.paramsSubscription = this.route.params.subscribe((params) => {\n this.init();\n });\n }\n ngOnInit() {\n this.init();\n }\n init() {\n this.service.loadResource(this.route);\n this.service.formLoaded.then((form) => {\n this.auth.ready.then(() => {\n this.service.resourceLoaded.then((resource) => {\n this.service.formFormio.userPermissions(this.auth.user, form, resource).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n });\n });\n });\n });\n }\n ngOnDestroy() {\n if (this.paramsSubscription) {\n this.paramsSubscription.unsubscribe();\n }\n }\n}\nFormioResourceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i1.FormioAuthService }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceComponent, selector: \"ng-component\", ngImport: i0, template: \"<ul class=\\\"nav nav-tabs\\\" style=\\\"margin-bottom: 10px\\\">\\n <li class=\\\"nav-item\\\"><a class=\\\"nav-link\\\" routerLink=\\\"../\\\"><em class=\\\"fa fa-chevron-left glyphicon glyphicon-chevron-left\\\"></em></a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\"><a class=\\\"nav-link\\\" routerLink=\\\"view\\\" routerLinkActive=\\\"active\\\">View</a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\" *ngIf=\\\"perms.edit\\\"><a class=\\\"nav-link\\\" routerLink=\\\"edit\\\" routerLinkActive=\\\"active\\\">Edit</a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\" *ngIf=\\\"perms.delete\\\"><a class=\\\"nav-link\\\" routerLink=\\\"delete\\\" routerLinkActive=\\\"active\\\"><span class=\\\"fa fa-trash glyphicon glyphicon-trash\\\"></span></a></li>\\n</ul>\\n<router-outlet></router-outlet>\\n\", dependencies: [{ kind: \"directive\", type: i4.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"directive\", type: i2.RouterOutlet, selector: \"router-outlet\", inputs: [\"name\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }, { kind: \"directive\", type: i2.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: i2.RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceComponent, decorators: [{\n type: Component,\n args: [{ template: \"<ul class=\\\"nav nav-tabs\\\" style=\\\"margin-bottom: 10px\\\">\\n <li class=\\\"nav-item\\\"><a class=\\\"nav-link\\\" routerLink=\\\"../\\\"><em class=\\\"fa fa-chevron-left glyphicon glyphicon-chevron-left\\\"></em></a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\"><a class=\\\"nav-link\\\" routerLink=\\\"view\\\" routerLinkActive=\\\"active\\\">View</a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\" *ngIf=\\\"perms.edit\\\"><a class=\\\"nav-link\\\" routerLink=\\\"edit\\\" routerLinkActive=\\\"active\\\">Edit</a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\" *ngIf=\\\"perms.delete\\\"><a class=\\\"nav-link\\\" routerLink=\\\"delete\\\" routerLinkActive=\\\"active\\\"><span class=\\\"fa fa-trash glyphicon glyphicon-trash\\\"></span></a></li>\\n</ul>\\n<router-outlet></router-outlet>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i1.FormioAuthService }]; } });\n\nclass FormioResourceViewComponent {\n constructor(service, config) {\n this.service = service;\n this.config = config;\n this.submission = { data: {} };\n }\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\nFormioResourceViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceViewComponent, deps: [{ token: FormioResourceService }, { token: FormioResourceConfig }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceViewComponent, selector: \"ng-component\", ngImport: i0, template: \"<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [hideComponents]=\\\"config.parents\\\"\\n [readOnly]=\\\"true\\\"\\n></formio>\\n\", dependencies: [{ kind: \"component\", type: i1$1.FormioComponent, selector: \"formio\" }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceViewComponent, decorators: [{\n type: Component,\n args: [{ template: \"<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [hideComponents]=\\\"config.parents\\\"\\n [readOnly]=\\\"true\\\"\\n></formio>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: FormioResourceConfig }]; } });\n\nclass FormioResourceEditComponent {\n constructor(service, route, router, config) {\n this.service = service;\n this.route = route;\n this.router = router;\n this.config = config;\n this.triggerError = new EventEmitter();\n this.submission = { data: {} };\n }\n onSubmit(submission) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\nFormioResourceEditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceEditComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: FormioResourceConfig }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceEditComponent, selector: \"ng-component\", ngImport: i0, template: \"<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [error]=\\\"triggerError\\\"\\n (submit)=\\\"onSubmit($event)\\\"\\n></formio>\\n\", dependencies: [{ kind: \"component\", type: i1$1.FormioComponent, selector: \"formio\" }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceEditComponent, decorators: [{\n type: Component,\n args: [{ template: \"<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [error]=\\\"triggerError\\\"\\n (submit)=\\\"onSubmit($event)\\\"\\n></formio>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: FormioResourceConfig }]; } });\n\nclass FormioResourceDeleteComponent {\n constructor(service, route, router) {\n this.service = service;\n this.route = route;\n this.router = router;\n }\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\nFormioResourceDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceDeleteComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceDeleteComponent, selector: \"ng-component\", ngImport: i0, template: \"<h3>Are you sure you wish to delete this record?</h3>\\n<div class=\\\"btn-toolbar\\\">\\n <button type=\\\"button\\\" (click)=\\\"onDelete()\\\" class=\\\"btn btn-danger\\\" style=\\\"margin-right: 10px;\\\">Yes</button>\\n <button type=\\\"button\\\" (click)=\\\"onCancel()\\\" class=\\\"btn btn-danger\\\">No</button>\\n</div>\\n\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceDeleteComponent, decorators: [{\n type: Component,\n args: [{ template: \"<h3>Are you sure you wish to delete this record?</h3>\\n<div class=\\\"btn-toolbar\\\">\\n <button type=\\\"button\\\" (click)=\\\"onDelete()\\\" class=\\\"btn btn-danger\\\" style=\\\"margin-right: 10px;\\\">Yes</button>\\n <button type=\\\"button\\\" (click)=\\\"onCancel()\\\" class=\\\"btn btn-danger\\\">No</button>\\n</div>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i2.Router }]; } });\n\nclass FormioResourceCreateComponent {\n constructor(service, route, router, config) {\n this.service = service;\n this.route = route;\n this.router = router;\n this.config = config;\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n ngOnInit() {\n this.service.setContext(this.route);\n }\n onSubmit(submission) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err) => this.onError.emit(err));\n }\n}\nFormioResourceCreateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceCreateComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: FormioResourceConfig }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceCreateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceCreateComponent, selector: \"ng-component\", ngImport: i0, template: \"<h3 *ngIf=\\\"service.form\\\" style=\\\"margin-top:0;\\\">\\n <a routerLink=\\\"../\\\" class=\\\"back-button\\\">\\n <em class=\\\"fa fa-chevron-left glyphicon glyphicon-chevron-left\\\"></em>\\n </a> | New {{ service.form.title }}\\n</h3>\\n<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [refresh]=\\\"service.refresh\\\"\\n [error]=\\\"onError\\\"\\n [success]=\\\"onSuccess\\\"\\n (submit)=\\\"onSubmit($event)\\\"\\n></formio>\\n\", styles: [\".back-button{font-size:.8em}\\n\"], dependencies: [{ kind: \"directive\", type: i4.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"component\", type: i1$1.FormioComponent, selector: \"formio\" }, { kind: \"directive\", type: i2.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceCreateComponent, decorators: [{\n type: Component,\n args: [{ template: \"<h3 *ngIf=\\\"service.form\\\" style=\\\"margin-top:0;\\\">\\n <a routerLink=\\\"../\\\" class=\\\"back-button\\\">\\n <em class=\\\"fa fa-chevron-left glyphicon glyphicon-chevron-left\\\"></em>\\n </a> | New {{ service.form.title }}\\n</h3>\\n<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [refresh]=\\\"service.refresh\\\"\\n [error]=\\\"onError\\\"\\n [success]=\\\"onSuccess\\\"\\n (submit)=\\\"onSubmit($event)\\\"\\n></formio>\\n\", styles: [\".back-button{font-size:.8em}\\n\"] }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: FormioResourceConfig }]; } });\n\nclass FormioResourceIndexComponent {\n constructor(service, route, router, config, cdr, ngZone) {\n this.service = service;\n this.route = route;\n this.router = router;\n this.config = config;\n this.cdr = cdr;\n this.ngZone = ngZone;\n }\n ngOnInit() {\n this.gridQuery = {};\n this.service.setContext(this.route);\n this.service.formLoaded.then(() => {\n if (this.service &&\n this.config.parents &&\n this.config.parents.length) {\n this.service.loadParents().then((parents) => {\n each(parents, (parent) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n });\n }\n else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n this.cdr.detectChanges();\n });\n }\n onSelect(row) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\nFormioResourceIndexComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceIndexComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: FormioResourceConfig }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceIndexComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceIndexComponent, selector: \"ng-component\", ngImport: i0, template: \"<formio-alerts [alerts]=\\\"service.alerts\\\"></formio-alerts>\\n<formio-grid\\n [src]=\\\"gridSrc\\\"\\n [query]=\\\"gridQuery\\\"\\n [onForm]=\\\"service.formLoaded\\\"\\n (rowSelect)=\\\"onSelect($event)\\\"\\n (error)=\\\"service.onError($event)\\\"\\n (createItem)=\\\"onCreateItem()\\\"\\n [createText]=\\\"createText\\\"\\n></formio-grid>\\n\", dependencies: [{ kind: \"component\", type: i1$1.FormioAlertsComponent, selector: \"formio-alerts\", inputs: [\"alerts\"], outputs: [\"focusComponent\"] }, { kind: \"component\", type: i5.FormioGridComponent, selector: \"formio-grid\", inputs: [\"footerPosition\", \"src\", \"items\", \"onForm\", \"query\", \"refresh\", \"columns\", \"gridType\", \"size\", \"components\", \"formio\", \"label\", \"createText\", \"isActionAllowed\"], outputs: [\"select\", \"rowSelect\", \"rowAction\", \"createItem\", \"error\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceIndexComponent, decorators: [{\n type: Component,\n args: [{ template: \"<formio-alerts [alerts]=\\\"service.alerts\\\"></formio-alerts>\\n<formio-grid\\n [src]=\\\"gridSrc\\\"\\n [query]=\\\"gridQuery\\\"\\n [onForm]=\\\"service.formLoaded\\\"\\n (rowSelect)=\\\"onSelect($event)\\\"\\n (error)=\\\"service.onError($event)\\\"\\n (createItem)=\\\"onCreateItem()\\\"\\n [createText]=\\\"createText\\\"\\n></formio-grid>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: FormioResourceConfig }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; } });\n\nfunction FormioResourceRoutes(config) {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n\nclass FormioResource {\n static forChild(config) {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config) {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\nFormioResource.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResource, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nFormioResource.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResource, declarations: [FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent], imports: [CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule] });\nFormioResource.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResource, providers: [\n FormioAlerts\n ], imports: [CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResource, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FormioResource, FormioResourceComponent, FormioResourceConfig, FormioResourceCreateComponent, FormioResourceDeleteComponent, FormioResourceEditComponent, FormioResourceIndexComponent, FormioResourceRoutes, FormioResourceService, FormioResourceViewComponent, FormioResources };\n//# sourceMappingURL=formio-angular-resource.mjs.map\n//# sourceMappingURL=formio-angular-resource.mjs.map\n","map":{"version":3,"file":"formio-angular-resource.mjs","sources":["../../../projects/angular-formio/resource/src/resource.config.ts","../../../projects/angular-formio/resource/src/resources.service.ts","../../../projects/angular-formio/resource/src/resource.service.ts","../../../projects/angular-formio/resource/src/resource.component.ts","../../../projects/angular-formio/resource/src/resource.component.html","../../../projects/angular-formio/resource/src/view/view.component.ts","../../../projects/angular-formio/resource/src/view/view.component.html","../../../projects/angular-formio/resource/src/edit/edit.component.ts","../../../projects/angular-formio/resource/src/edit/edit.component.html","../../../projects/angular-formio/resource/src/delete/delete.component.ts","../../../projects/angular-formio/resource/src/delete/delete.component.html","../../../projects/angular-formio/resource/src/create/create.component.ts","../../../projects/angular-formio/resource/src/create/create.component.html","../../../projects/angular-formio/resource/src/index/index.component.ts","../../../projects/angular-formio/resource/src/index/index.component.html","../../../projects/angular-formio/resource/src/resource.routes.ts","../../../projects/angular-formio/resource/src/resource.module.ts","../../../projects/angular-formio/resource/src/formio-angular-resource.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioResourceRouteConfig {\n index?: any;\n create?: any;\n resource?: any;\n view?: any;\n edit?: any;\n delete?: any;\n}\n\n@Injectable()\nexport class FormioResourceConfig {\n name = '';\n form = '';\n parents: any[] = [];\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { FormioAuthService } from '@formio/angular/auth';\n\nexport interface FormioResourceMap {\n [name: string]: any;\n}\n\n@Injectable()\nexport class FormioResources {\n resources: FormioResourceMap = {};\n error: EventEmitter<any>;\n onError: EventEmitter<any>;\n constructor(\n public auth?: FormioAuthService\n ) {\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\n","import { ApplicationRef, EventEmitter, Injectable, Optional } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormioResourceConfig } from './resource.config';\nimport { FormioResources } from './resources.service';\nimport { FormioPromiseService } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioAppConfig } from '@formio/angular';\nimport { FormioRefreshValue } from '@formio/angular';\nimport Promise from 'native-promise-only';\nimport { Formio, Utils } from 'formiojs';\nimport _ from 'lodash';\n\n@Injectable()\nexport class FormioResourceService {\n public initialized = false;\n public form: any;\n public alerts: FormioAlerts;\n public resource: any;\n public resourceUrl?: string;\n public formUrl: string;\n public formFormio: FormioPromiseService;\n public formio: FormioPromiseService;\n public refresh: EventEmitter<FormioRefreshValue>;\n\n public resourceLoading?: Promise<any>;\n public resourceLoaded?: Promise<any>;\n public resourceId?: string;\n public resources: any;\n\n public formLoading?: Promise<any>;\n public formLoaded: Promise<any>;\n public formResolve: any;\n public formReject: any;\n public isLoading: boolean;\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioResourceConfig,\n @Optional() public resourcesService: FormioResources,\n public appRef: ApplicationRef,\n ) {\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n this.formLoaded = new Promise((resolve: any, reject: any) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.init();\n }\n\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n\n init() {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n\n // Create the form url and load the resources.\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.resource = { data: {} };\n\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n\n return this.loadForm();\n }\n\n onError(error: any) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n\n onFormError(err: any) {\n this.formReject(err);\n this.onError(err);\n }\n\n setContext(route: ActivatedRoute) {\n this.resourceId = route.snapshot.params['id'];\n this.resource = { data: {} };\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n if (this.resourcesService) {\n this.resources[this.config.name] = this;\n }\n this.loadParents();\n }\n\n loadForm() {\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then(\n (form: any) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n },\n (err: any) => this.onFormError(err)\n )\n .catch((err: any) => this.onFormError(err));\n return this.formLoading;\n }\n\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn(\n 'You must provide the FormioResources within your application to use nested resources.'\n );\n return Promise.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded: Array<Promise<any>> = [];\n this.config.parents.forEach((parent: any) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(\n this.resources[resourceName].resourceLoaded.then((resource: any) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n })\n );\n }\n });\n\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise.all(_parentsLoaded).then((parents: any) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n\n onSubmissionError(err: any) {\n this.onError(err);\n }\n\n loadResource(route: ActivatedRoute) {\n this.setContext(route);\n this.isLoading = true;\n this.resourceLoading = this.resourceLoaded = this.formio\n .loadSubmission(null, {ignoreCache: true})\n .then(\n (resource: any) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n return resource;\n },\n (err: any) => this.onSubmissionError(err)\n )\n .catch((err: any) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n\n save(resource: any) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then(\n (saved: any) => {\n this.resource = saved;\n return saved;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n\n remove() {\n return this.formio\n .deleteSubmission()\n .then(\n () => {\n this.resource = null;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport { FormioResourceService } from './resource.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n templateUrl: './resource.component.html'\n})\nexport class FormioResourceComponent implements OnInit, OnDestroy {\n private paramsSubscription: Subscription;\n public perms = {delete: false, edit: false};\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public auth: FormioAuthService,\n ) {\n // subscribe to the route param changes, so that we could re-load the submission if navigation happens from one submission to another\n this.paramsSubscription = this.route.params.subscribe((params) => {\n this.init();\n });\n }\n\n ngOnInit() {\n this.init();\n }\n\n init() {\n this.service.loadResource(this.route);\n this.service.formLoaded.then((form) => {\n this.auth.ready.then(() => {\n this.service.resourceLoaded.then((resource) => {\n this.service.formFormio.userPermissions(this.auth.user, form, resource).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n });\n });\n });\n });\n }\n\n ngOnDestroy() {\n if (this.paramsSubscription) {\n this.paramsSubscription.unsubscribe();\n }\n }\n}\n","<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left glyphicon glyphicon-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash glyphicon glyphicon-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n","import {Component, OnDestroy} from '@angular/core';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport {Formio} from 'formiojs';\n\n@Component({\n templateUrl: './view.component.html'\n})\nexport class FormioResourceViewComponent implements OnDestroy{\n constructor(\n public service: FormioResourceService,\n public config: FormioResourceConfig\n ) {}\n public submission = {data: {}};\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n","import {Component, EventEmitter, OnDestroy} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { Formio } from 'formiojs';\n\n@Component({\n templateUrl: './edit.component.html'\n})\nexport class FormioResourceEditComponent implements OnDestroy {\n public triggerError: EventEmitter<any> = new EventEmitter();\n public submission = {data: {}};\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {}\n\n onSubmit(submission: any) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [error]=\"triggerError\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\n\n@Component({\n templateUrl: './delete.component.html'\n})\nexport class FormioResourceDeleteComponent {\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router\n ) {}\n\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\n","<h3>Are you sure you wish to delete this record?</h3>\n<div class=\"btn-toolbar\">\n <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\n <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-danger\">No</button>\n</div>\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\n\n@Component({\n styleUrls: ['./create.component.scss'],\n templateUrl: './create.component.html'\n})\nexport class FormioResourceCreateComponent implements OnInit {\n public onError: EventEmitter<any>;\n public onSuccess: EventEmitter<any>;\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n\n ngOnInit() {\n this.service.setContext(this.route);\n }\n\n onSubmit(submission: any) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err: any) => this.onError.emit(err));\n }\n}\n","<h3 *ngIf=\"service.form\" style=\"margin-top:0;\">\n <a routerLink=\"../\" class=\"back-button\">\n <em class=\"fa fa-chevron-left glyphicon glyphicon-chevron-left\"></em>\n </a> | New {{ service.form.title }}\n</h3>\n<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [refresh]=\"service.refresh\"\n [error]=\"onError\"\n [success]=\"onSuccess\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { each } from 'lodash';\n\n@Component({\n templateUrl: './index.component.html'\n})\nexport class FormioResourceIndexComponent implements OnInit {\n public gridSrc?: string;\n public gridQuery: any;\n public createText: String;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig,\n public cdr: ChangeDetectorRef,\n public ngZone: NgZone,\n ) {\n }\n\n ngOnInit() {\n this.gridQuery = {};\n this.service.setContext(this.route);\n this.service.formLoaded.then(() => {\n if (\n this.service &&\n this.config.parents &&\n this.config.parents.length\n ) {\n this.service.loadParents().then((parents: any) => {\n each(parents, (parent: any) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n });\n } else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n\n this.cdr.detectChanges();\n });\n }\n\n onSelect(row: any) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\n","<formio-alerts [alerts]=\"service.alerts\"></formio-alerts>\n<formio-grid\n [src]=\"gridSrc\"\n [query]=\"gridQuery\"\n [onForm]=\"service.formLoaded\"\n (rowSelect)=\"onSelect($event)\"\n (error)=\"service.onError($event)\"\n (createItem)=\"onCreateItem()\"\n [createText]=\"createText\"\n></formio-grid>\n","import { Routes } from '@angular/router';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nexport function FormioResourceRoutes(config?: FormioResourceRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGrid } from '@formio/angular/grid';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nimport { FormioResourceRoutes } from './resource.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n})\nexport class FormioResource {\n static forChild(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Promise","i1","i2.FormioResourceConfig","i3.FormioResources","i1.FormioResourceService","i3","i3.FormioResourceConfig","i4","i5"],"mappings":"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"}},"fesm2015":{"code":"import * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Optional, Component, NgModule } from '@angular/core';\nimport * as i1 from '@formio/angular/auth';\nimport * as i1$1 from '@formio/angular';\nimport { FormioAlerts, FormioPromiseService, extendRouter, FormioModule } from '@formio/angular';\nimport Promise$1 from 'native-promise-only';\nimport { Formio, Utils } from 'formiojs';\nimport _, { each } from 'lodash';\nimport * as i2 from '@angular/router';\nimport { RouterModule } from '@angular/router';\nimport * as i4 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i5 from '@formio/angular/grid';\nimport { FormioGrid } from '@formio/angular/grid';\n\nclass FormioResourceConfig {\n constructor() {\n this.name = '';\n this.form = '';\n this.parents = [];\n }\n}\nFormioResourceConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nFormioResourceConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceConfig });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceConfig, decorators: [{\n type: Injectable\n }] });\n\nclass FormioResources {\n constructor(auth) {\n this.auth = auth;\n this.resources = {};\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\nFormioResources.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResources, deps: [{ token: i1.FormioAuthService }], target: i0.ɵɵFactoryTarget.Injectable });\nFormioResources.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResources });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResources, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: i1.FormioAuthService }]; } });\n\nclass FormioResourceService {\n constructor(appConfig, config, resourcesService, appRef) {\n this.appConfig = appConfig;\n this.config = config;\n this.resourcesService = resourcesService;\n this.appRef = appRef;\n this.initialized = false;\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n this.formLoaded = new Promise$1((resolve, reject) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.init();\n }\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n init() {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n }\n else {\n console.error('You must provide an AppConfig within your application!');\n }\n // Create the form url and load the resources.\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.resource = { data: {} };\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n return this.loadForm();\n }\n onError(error) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n onFormError(err) {\n this.formReject(err);\n this.onError(err);\n }\n setContext(route) {\n this.resourceId = route.snapshot.params['id'];\n this.resource = { data: {} };\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n if (this.resourcesService) {\n this.resources[this.config.name] = this;\n }\n this.loadParents();\n }\n loadForm() {\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then((form) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n }, (err) => this.onFormError(err))\n .catch((err) => this.onFormError(err));\n return this.formLoading;\n }\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise$1.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn('You must provide the FormioResources within your application to use nested resources.');\n return Promise$1.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded = [];\n this.config.parents.forEach((parent) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(this.resources[resourceName].resourceLoaded.then((resource) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n }));\n }\n });\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise$1.all(_parentsLoaded).then((parents) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n onSubmissionError(err) {\n this.onError(err);\n }\n loadResource(route) {\n this.setContext(route);\n this.isLoading = true;\n this.resourceLoading = this.resourceLoaded = this.formio\n .loadSubmission(null, { ignoreCache: true })\n .then((resource) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n return resource;\n }, (err) => this.onSubmissionError(err))\n .catch((err) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n save(resource) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then((saved) => {\n this.resource = saved;\n return saved;\n }, (err) => this.onError(err))\n .catch((err) => this.onError(err));\n }\n remove() {\n return this.formio\n .deleteSubmission()\n .then(() => {\n this.resource = null;\n }, (err) => this.onError(err))\n .catch((err) => this.onError(err));\n }\n}\nFormioResourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceService, deps: [{ token: i1$1.FormioAppConfig }, { token: FormioResourceConfig }, { token: FormioResources, optional: true }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });\nFormioResourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceService, decorators: [{\n type: Injectable\n }], ctorParameters: function () {\n return [{ type: i1$1.FormioAppConfig }, { type: FormioResourceConfig }, { type: FormioResources, decorators: [{\n type: Optional\n }] }, { type: i0.ApplicationRef }];\n } });\n\nclass FormioResourceComponent {\n constructor(service, route, auth) {\n this.service = service;\n this.route = route;\n this.auth = auth;\n this.perms = { delete: false, edit: false };\n // subscribe to the route param changes, so that we could re-load the submission if navigation happens from one submission to another\n this.paramsSubscription = this.route.params.subscribe((params) => {\n this.init();\n });\n }\n ngOnInit() {\n this.init();\n }\n init() {\n this.service.loadResource(this.route);\n this.service.formLoaded.then((form) => {\n this.auth.ready.then(() => {\n this.service.resourceLoaded.then((resource) => {\n this.service.formFormio.userPermissions(this.auth.user, form, resource).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n });\n });\n });\n });\n }\n ngOnDestroy() {\n if (this.paramsSubscription) {\n this.paramsSubscription.unsubscribe();\n }\n }\n}\nFormioResourceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i1.FormioAuthService }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceComponent, selector: \"ng-component\", ngImport: i0, template: \"<ul class=\\\"nav nav-tabs\\\" style=\\\"margin-bottom: 10px\\\">\\n <li class=\\\"nav-item\\\"><a class=\\\"nav-link\\\" routerLink=\\\"../\\\"><em class=\\\"fa fa-chevron-left glyphicon glyphicon-chevron-left\\\"></em></a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\"><a class=\\\"nav-link\\\" routerLink=\\\"view\\\" routerLinkActive=\\\"active\\\">View</a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\" *ngIf=\\\"perms.edit\\\"><a class=\\\"nav-link\\\" routerLink=\\\"edit\\\" routerLinkActive=\\\"active\\\">Edit</a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\" *ngIf=\\\"perms.delete\\\"><a class=\\\"nav-link\\\" routerLink=\\\"delete\\\" routerLinkActive=\\\"active\\\"><span class=\\\"fa fa-trash glyphicon glyphicon-trash\\\"></span></a></li>\\n</ul>\\n<router-outlet></router-outlet>\\n\", dependencies: [{ kind: \"directive\", type: i4.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"directive\", type: i2.RouterOutlet, selector: \"router-outlet\", inputs: [\"name\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }, { kind: \"directive\", type: i2.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: i2.RouterLinkActive, selector: \"[routerLinkActive]\", inputs: [\"routerLinkActiveOptions\", \"ariaCurrentWhenActive\", \"routerLinkActive\"], outputs: [\"isActiveChange\"], exportAs: [\"routerLinkActive\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceComponent, decorators: [{\n type: Component,\n args: [{ template: \"<ul class=\\\"nav nav-tabs\\\" style=\\\"margin-bottom: 10px\\\">\\n <li class=\\\"nav-item\\\"><a class=\\\"nav-link\\\" routerLink=\\\"../\\\"><em class=\\\"fa fa-chevron-left glyphicon glyphicon-chevron-left\\\"></em></a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\"><a class=\\\"nav-link\\\" routerLink=\\\"view\\\" routerLinkActive=\\\"active\\\">View</a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\" *ngIf=\\\"perms.edit\\\"><a class=\\\"nav-link\\\" routerLink=\\\"edit\\\" routerLinkActive=\\\"active\\\">Edit</a></li>\\n <li class=\\\"nav-item\\\" routerLinkActive=\\\"active\\\" *ngIf=\\\"perms.delete\\\"><a class=\\\"nav-link\\\" routerLink=\\\"delete\\\" routerLinkActive=\\\"active\\\"><span class=\\\"fa fa-trash glyphicon glyphicon-trash\\\"></span></a></li>\\n</ul>\\n<router-outlet></router-outlet>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i1.FormioAuthService }]; } });\n\nclass FormioResourceViewComponent {\n constructor(service, config) {\n this.service = service;\n this.config = config;\n this.submission = { data: {} };\n }\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\nFormioResourceViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceViewComponent, deps: [{ token: FormioResourceService }, { token: FormioResourceConfig }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceViewComponent, selector: \"ng-component\", ngImport: i0, template: \"<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [hideComponents]=\\\"config.parents\\\"\\n [readOnly]=\\\"true\\\"\\n></formio>\\n\", dependencies: [{ kind: \"component\", type: i1$1.FormioComponent, selector: \"formio\" }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceViewComponent, decorators: [{\n type: Component,\n args: [{ template: \"<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [hideComponents]=\\\"config.parents\\\"\\n [readOnly]=\\\"true\\\"\\n></formio>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: FormioResourceConfig }]; } });\n\nclass FormioResourceEditComponent {\n constructor(service, route, router, config) {\n this.service = service;\n this.route = route;\n this.router = router;\n this.config = config;\n this.triggerError = new EventEmitter();\n this.submission = { data: {} };\n }\n onSubmit(submission) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\nFormioResourceEditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceEditComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: FormioResourceConfig }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceEditComponent, selector: \"ng-component\", ngImport: i0, template: \"<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [error]=\\\"triggerError\\\"\\n (submit)=\\\"onSubmit($event)\\\"\\n></formio>\\n\", dependencies: [{ kind: \"component\", type: i1$1.FormioComponent, selector: \"formio\" }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceEditComponent, decorators: [{\n type: Component,\n args: [{ template: \"<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [error]=\\\"triggerError\\\"\\n (submit)=\\\"onSubmit($event)\\\"\\n></formio>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: FormioResourceConfig }]; } });\n\nclass FormioResourceDeleteComponent {\n constructor(service, route, router) {\n this.service = service;\n this.route = route;\n this.router = router;\n }\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\nFormioResourceDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceDeleteComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceDeleteComponent, selector: \"ng-component\", ngImport: i0, template: \"<h3>Are you sure you wish to delete this record?</h3>\\n<div class=\\\"btn-toolbar\\\">\\n <button type=\\\"button\\\" (click)=\\\"onDelete()\\\" class=\\\"btn btn-danger\\\" style=\\\"margin-right: 10px;\\\">Yes</button>\\n <button type=\\\"button\\\" (click)=\\\"onCancel()\\\" class=\\\"btn btn-danger\\\">No</button>\\n</div>\\n\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceDeleteComponent, decorators: [{\n type: Component,\n args: [{ template: \"<h3>Are you sure you wish to delete this record?</h3>\\n<div class=\\\"btn-toolbar\\\">\\n <button type=\\\"button\\\" (click)=\\\"onDelete()\\\" class=\\\"btn btn-danger\\\" style=\\\"margin-right: 10px;\\\">Yes</button>\\n <button type=\\\"button\\\" (click)=\\\"onCancel()\\\" class=\\\"btn btn-danger\\\">No</button>\\n</div>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i2.Router }]; } });\n\nclass FormioResourceCreateComponent {\n constructor(service, route, router, config) {\n this.service = service;\n this.route = route;\n this.router = router;\n this.config = config;\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n ngOnInit() {\n this.service.setContext(this.route);\n }\n onSubmit(submission) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err) => this.onError.emit(err));\n }\n}\nFormioResourceCreateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceCreateComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: FormioResourceConfig }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceCreateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceCreateComponent, selector: \"ng-component\", ngImport: i0, template: \"<h3 *ngIf=\\\"service.form\\\" style=\\\"margin-top:0;\\\">\\n <a routerLink=\\\"../\\\" class=\\\"back-button\\\">\\n <em class=\\\"fa fa-chevron-left glyphicon glyphicon-chevron-left\\\"></em>\\n </a> | New {{ service.form.title }}\\n</h3>\\n<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [refresh]=\\\"service.refresh\\\"\\n [error]=\\\"onError\\\"\\n [success]=\\\"onSuccess\\\"\\n (submit)=\\\"onSubmit($event)\\\"\\n></formio>\\n\", styles: [\".back-button{font-size:.8em}\\n\"], dependencies: [{ kind: \"directive\", type: i4.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"component\", type: i1$1.FormioComponent, selector: \"formio\" }, { kind: \"directive\", type: i2.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceCreateComponent, decorators: [{\n type: Component,\n args: [{ template: \"<h3 *ngIf=\\\"service.form\\\" style=\\\"margin-top:0;\\\">\\n <a routerLink=\\\"../\\\" class=\\\"back-button\\\">\\n <em class=\\\"fa fa-chevron-left glyphicon glyphicon-chevron-left\\\"></em>\\n </a> | New {{ service.form.title }}\\n</h3>\\n<formio\\n [form]=\\\"service.form\\\"\\n [submission]=\\\"service.resource\\\"\\n [refresh]=\\\"service.refresh\\\"\\n [error]=\\\"onError\\\"\\n [success]=\\\"onSuccess\\\"\\n (submit)=\\\"onSubmit($event)\\\"\\n></formio>\\n\", styles: [\".back-button{font-size:.8em}\\n\"] }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: FormioResourceConfig }]; } });\n\nclass FormioResourceIndexComponent {\n constructor(service, route, router, config, cdr, ngZone) {\n this.service = service;\n this.route = route;\n this.router = router;\n this.config = config;\n this.cdr = cdr;\n this.ngZone = ngZone;\n }\n ngOnInit() {\n this.gridQuery = {};\n this.service.setContext(this.route);\n this.service.formLoaded.then(() => {\n if (this.service &&\n this.config.parents &&\n this.config.parents.length) {\n this.service.loadParents().then((parents) => {\n each(parents, (parent) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n });\n }\n else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n this.cdr.detectChanges();\n });\n }\n onSelect(row) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\nFormioResourceIndexComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceIndexComponent, deps: [{ token: FormioResourceService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: FormioResourceConfig }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\nFormioResourceIndexComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.0.1\", type: FormioResourceIndexComponent, selector: \"ng-component\", ngImport: i0, template: \"<formio-alerts [alerts]=\\\"service.alerts\\\"></formio-alerts>\\n<formio-grid\\n [src]=\\\"gridSrc\\\"\\n [query]=\\\"gridQuery\\\"\\n [onForm]=\\\"service.formLoaded\\\"\\n (rowSelect)=\\\"onSelect($event)\\\"\\n (error)=\\\"service.onError($event)\\\"\\n (createItem)=\\\"onCreateItem()\\\"\\n [createText]=\\\"createText\\\"\\n></formio-grid>\\n\", dependencies: [{ kind: \"component\", type: i1$1.FormioAlertsComponent, selector: \"formio-alerts\", inputs: [\"alerts\"], outputs: [\"focusComponent\"] }, { kind: \"component\", type: i5.FormioGridComponent, selector: \"formio-grid\", inputs: [\"footerPosition\", \"src\", \"items\", \"onForm\", \"query\", \"refresh\", \"columns\", \"gridType\", \"size\", \"components\", \"formio\", \"label\", \"createText\", \"isActionAllowed\"], outputs: [\"select\", \"rowSelect\", \"rowAction\", \"createItem\", \"error\"] }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResourceIndexComponent, decorators: [{\n type: Component,\n args: [{ template: \"<formio-alerts [alerts]=\\\"service.alerts\\\"></formio-alerts>\\n<formio-grid\\n [src]=\\\"gridSrc\\\"\\n [query]=\\\"gridQuery\\\"\\n [onForm]=\\\"service.formLoaded\\\"\\n (rowSelect)=\\\"onSelect($event)\\\"\\n (error)=\\\"service.onError($event)\\\"\\n (createItem)=\\\"onCreateItem()\\\"\\n [createText]=\\\"createText\\\"\\n></formio-grid>\\n\" }]\n }], ctorParameters: function () { return [{ type: FormioResourceService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: FormioResourceConfig }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }]; } });\n\nfunction FormioResourceRoutes(config) {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n\nclass FormioResource {\n static forChild(config) {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config) {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\nFormioResource.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResource, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nFormioResource.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResource, declarations: [FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent], imports: [CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule] });\nFormioResource.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResource, providers: [\n FormioAlerts\n ], imports: [CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.0.1\", ngImport: i0, type: FormioResource, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n }]\n }] });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { FormioResource, FormioResourceComponent, FormioResourceConfig, FormioResourceCreateComponent, FormioResourceDeleteComponent, FormioResourceEditComponent, FormioResourceIndexComponent, FormioResourceRoutes, FormioResourceService, FormioResourceViewComponent, FormioResources };\n//# sourceMappingURL=formio-angular-resource.mjs.map\n//# sourceMappingURL=formio-angular-resource.mjs.map\n","map":{"version":3,"file":"formio-angular-resource.mjs","sources":["../../../projects/angular-formio/resource/src/resource.config.ts","../../../projects/angular-formio/resource/src/resources.service.ts","../../../projects/angular-formio/resource/src/resource.service.ts","../../../projects/angular-formio/resource/src/resource.component.ts","../../../projects/angular-formio/resource/src/resource.component.html","../../../projects/angular-formio/resource/src/view/view.component.ts","../../../projects/angular-formio/resource/src/view/view.component.html","../../../projects/angular-formio/resource/src/edit/edit.component.ts","../../../projects/angular-formio/resource/src/edit/edit.component.html","../../../projects/angular-formio/resource/src/delete/delete.component.ts","../../../projects/angular-formio/resource/src/delete/delete.component.html","../../../projects/angular-formio/resource/src/create/create.component.ts","../../../projects/angular-formio/resource/src/create/create.component.html","../../../projects/angular-formio/resource/src/index/index.component.ts","../../../projects/angular-formio/resource/src/index/index.component.html","../../../projects/angular-formio/resource/src/resource.routes.ts","../../../projects/angular-formio/resource/src/resource.module.ts","../../../projects/angular-formio/resource/src/formio-angular-resource.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nexport interface FormioResourceRouteConfig {\n index?: any;\n create?: any;\n resource?: any;\n view?: any;\n edit?: any;\n delete?: any;\n}\n\n@Injectable()\nexport class FormioResourceConfig {\n name = '';\n form = '';\n parents: any[] = [];\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { FormioAuthService } from '@formio/angular/auth';\n\nexport interface FormioResourceMap {\n [name: string]: any;\n}\n\n@Injectable()\nexport class FormioResources {\n resources: FormioResourceMap = {};\n error: EventEmitter<any>;\n onError: EventEmitter<any>;\n constructor(\n public auth?: FormioAuthService\n ) {\n this.error = new EventEmitter();\n this.onError = this.error;\n this.resources = {\n currentUser: {\n resourceLoaded: this.auth.userReady\n }\n };\n }\n}\n","import { ApplicationRef, EventEmitter, Injectable, Optional } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { FormioResourceConfig } from './resource.config';\nimport { FormioResources } from './resources.service';\nimport { FormioPromiseService } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioAppConfig } from '@formio/angular';\nimport { FormioRefreshValue } from '@formio/angular';\nimport Promise from 'native-promise-only';\nimport { Formio, Utils } from 'formiojs';\nimport _ from 'lodash';\n\n@Injectable()\nexport class FormioResourceService {\n public initialized = false;\n public form: any;\n public alerts: FormioAlerts;\n public resource: any;\n public resourceUrl?: string;\n public formUrl: string;\n public formFormio: FormioPromiseService;\n public formio: FormioPromiseService;\n public refresh: EventEmitter<FormioRefreshValue>;\n\n public resourceLoading?: Promise<any>;\n public resourceLoaded?: Promise<any>;\n public resourceId?: string;\n public resources: any;\n\n public formLoading?: Promise<any>;\n public formLoaded: Promise<any>;\n public formResolve: any;\n public formReject: any;\n public isLoading: boolean;\n\n constructor(\n public appConfig: FormioAppConfig,\n public config: FormioResourceConfig,\n @Optional() public resourcesService: FormioResources,\n public appRef: ApplicationRef,\n ) {\n this.isLoading = true;\n this.alerts = new FormioAlerts();\n this.refresh = new EventEmitter();\n this.formLoaded = new Promise((resolve: any, reject: any) => {\n this.formResolve = resolve;\n this.formReject = reject;\n });\n this.init();\n }\n\n initialize() {\n console.warn('FormioResourceService.initialize() has been deprecated.');\n }\n\n init() {\n if (this.initialized) {\n return;\n }\n this.initialized = true;\n if (this.appConfig && this.appConfig.appUrl) {\n Formio.setBaseUrl(this.appConfig.apiUrl);\n Formio.setProjectUrl(this.appConfig.appUrl);\n Formio.formOnly = this.appConfig.formOnly;\n } else {\n console.error('You must provide an AppConfig within your application!');\n }\n\n // Create the form url and load the resources.\n this.formUrl = this.appConfig.appUrl + '/' + this.config.form;\n this.resource = { data: {} };\n\n // Add this resource service to the list of all resources in context.\n if (this.resourcesService) {\n this.resources = this.resourcesService.resources;\n this.resources[this.config.name] = this;\n }\n\n return this.loadForm();\n }\n\n onError(error: any) {\n this.alerts.setAlert({\n type: 'danger',\n message: error.message || error\n });\n if (this.resourcesService) {\n this.resourcesService.error.emit(error);\n }\n throw error;\n }\n\n onFormError(err: any) {\n this.formReject(err);\n this.onError(err);\n }\n\n setContext(route: ActivatedRoute) {\n this.resourceId = route.snapshot.params['id'];\n this.resource = { data: {} };\n this.resourceUrl = this.appConfig.appUrl + '/' + this.config.form;\n if (this.resourceId) {\n this.resourceUrl += '/submission/' + this.resourceId;\n }\n this.formio = new FormioPromiseService(this.resourceUrl);\n if (this.resourcesService) {\n this.resources[this.config.name] = this;\n }\n this.loadParents();\n }\n\n loadForm() {\n this.formFormio = new FormioPromiseService(this.formUrl);\n this.isLoading = true;\n this.formLoading = this.formFormio\n .loadForm()\n .then(\n (form: any) => {\n this.form = form;\n this.formResolve(form);\n this.isLoading = false;\n this.loadParents();\n return form;\n },\n (err: any) => this.onFormError(err)\n )\n .catch((err: any) => this.onFormError(err));\n return this.formLoading;\n }\n\n loadParents() {\n if (!this.config.parents || !this.config.parents.length) {\n return Promise.resolve([]);\n }\n if (!this.resourcesService) {\n console.warn(\n 'You must provide the FormioResources within your application to use nested resources.'\n );\n return Promise.resolve([]);\n }\n return this.formLoading.then((form) => {\n // Iterate through the list of parents.\n const _parentsLoaded: Array<Promise<any>> = [];\n this.config.parents.forEach((parent: any) => {\n const resourceName = parent.resource || parent;\n const resourceField = parent.field || parent;\n const filterResource = parent.hasOwnProperty('filter') ? parent.filter : true;\n if (this.resources.hasOwnProperty(resourceName) && this.resources[resourceName].resourceLoaded) {\n _parentsLoaded.push(\n this.resources[resourceName].resourceLoaded.then((resource: any) => {\n let parentPath = '';\n Utils.eachComponent(form.components, (component, path) => {\n if (component.key === resourceField) {\n component.hidden = true;\n component.clearOnHide = false;\n _.set(this.resource.data, path, resource);\n parentPath = path;\n return true;\n }\n });\n return {\n name: parentPath,\n filter: filterResource,\n resource\n };\n })\n );\n }\n });\n\n // When all the parents have loaded, emit that to the onParents emitter.\n return Promise.all(_parentsLoaded).then((parents: any) => {\n this.refresh.emit({\n form: form,\n submission: this.resource\n });\n return parents;\n });\n });\n }\n\n onSubmissionError(err: any) {\n this.onError(err);\n }\n\n loadResource(route: ActivatedRoute) {\n this.setContext(route);\n this.isLoading = true;\n this.resourceLoading = this.resourceLoaded = this.formio\n .loadSubmission(null, {ignoreCache: true})\n .then(\n (resource: any) => {\n this.resource = resource;\n this.isLoading = false;\n this.refresh.emit({\n property: 'submission',\n value: this.resource\n });\n return resource;\n },\n (err: any) => this.onSubmissionError(err)\n )\n .catch((err: any) => this.onSubmissionError(err));\n return this.resourceLoading;\n }\n\n save(resource: any) {\n const formio = resource._id ? this.formio : this.formFormio;\n return formio\n .saveSubmission(resource)\n .then(\n (saved: any) => {\n this.resource = saved;\n return saved;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n\n remove() {\n return this.formio\n .deleteSubmission()\n .then(\n () => {\n this.resource = null;\n },\n (err: any) => this.onError(err)\n )\n .catch((err: any) => this.onError(err));\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { FormioAuthService } from '@formio/angular/auth';\nimport { FormioResourceService } from './resource.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n templateUrl: './resource.component.html'\n})\nexport class FormioResourceComponent implements OnInit, OnDestroy {\n private paramsSubscription: Subscription;\n public perms = {delete: false, edit: false};\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public auth: FormioAuthService,\n ) {\n // subscribe to the route param changes, so that we could re-load the submission if navigation happens from one submission to another\n this.paramsSubscription = this.route.params.subscribe((params) => {\n this.init();\n });\n }\n\n ngOnInit() {\n this.init();\n }\n\n init() {\n this.service.loadResource(this.route);\n this.service.formLoaded.then((form) => {\n this.auth.ready.then(() => {\n this.service.resourceLoaded.then((resource) => {\n this.service.formFormio.userPermissions(this.auth.user, form, resource).then((perms) => {\n this.perms.delete = perms.delete;\n this.perms.edit = perms.edit;\n });\n });\n });\n });\n }\n\n ngOnDestroy() {\n if (this.paramsSubscription) {\n this.paramsSubscription.unsubscribe();\n }\n }\n}\n","<ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li class=\"nav-item\"><a class=\"nav-link\" routerLink=\"../\"><em class=\"fa fa-chevron-left glyphicon glyphicon-chevron-left\"></em></a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\"><a class=\"nav-link\" routerLink=\"view\" routerLinkActive=\"active\">View</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.edit\"><a class=\"nav-link\" routerLink=\"edit\" routerLinkActive=\"active\">Edit</a></li>\n <li class=\"nav-item\" routerLinkActive=\"active\" *ngIf=\"perms.delete\"><a class=\"nav-link\" routerLink=\"delete\" routerLinkActive=\"active\"><span class=\"fa fa-trash glyphicon glyphicon-trash\"></span></a></li>\n</ul>\n<router-outlet></router-outlet>\n","import {Component, OnDestroy} from '@angular/core';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport {Formio} from 'formiojs';\n\n@Component({\n templateUrl: './view.component.html'\n})\nexport class FormioResourceViewComponent implements OnDestroy{\n constructor(\n public service: FormioResourceService,\n public config: FormioResourceConfig\n ) {}\n public submission = {data: {}};\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [hideComponents]=\"config.parents\"\n [readOnly]=\"true\"\n></formio>\n","import {Component, EventEmitter, OnDestroy} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { Formio } from 'formiojs';\n\n@Component({\n templateUrl: './edit.component.html'\n})\nexport class FormioResourceEditComponent implements OnDestroy {\n public triggerError: EventEmitter<any> = new EventEmitter();\n public submission = {data: {}};\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {}\n\n onSubmit(submission: any) {\n const edit = this.service.resource;\n edit.data = submission.data;\n this.service.save(edit)\n .then(() => {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n })\n .catch((err) => this.triggerError.emit(err));\n }\n\n ngOnDestroy() {\n Formio.clearCache();\n }\n}\n","<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [error]=\"triggerError\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\n\n@Component({\n templateUrl: './delete.component.html'\n})\nexport class FormioResourceDeleteComponent {\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router\n ) {}\n\n onDelete() {\n this.service.remove().then(() => {\n this.router.navigate(['../../'], { relativeTo: this.route });\n });\n }\n\n onCancel() {\n this.router.navigate(['../', 'view'], { relativeTo: this.route });\n }\n}\n","<h3>Are you sure you wish to delete this record?</h3>\n<div class=\"btn-toolbar\">\n <button type=\"button\" (click)=\"onDelete()\" class=\"btn btn-danger\" style=\"margin-right: 10px;\">Yes</button>\n <button type=\"button\" (click)=\"onCancel()\" class=\"btn btn-danger\">No</button>\n</div>\n","import { Component, EventEmitter, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\n\n@Component({\n styleUrls: ['./create.component.scss'],\n templateUrl: './create.component.html'\n})\nexport class FormioResourceCreateComponent implements OnInit {\n public onError: EventEmitter<any>;\n public onSuccess: EventEmitter<any>;\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig\n ) {\n this.onError = new EventEmitter();\n this.onSuccess = new EventEmitter();\n }\n\n ngOnInit() {\n this.service.setContext(this.route);\n }\n\n onSubmit(submission: any) {\n this.service\n .save(submission)\n .then(() => {\n this.router.navigate(['../', this.service.resource._id, 'view'], {\n relativeTo: this.route\n });\n })\n .catch((err: any) => this.onError.emit(err));\n }\n}\n","<h3 *ngIf=\"service.form\" style=\"margin-top:0;\">\n <a routerLink=\"../\" class=\"back-button\">\n <em class=\"fa fa-chevron-left glyphicon glyphicon-chevron-left\"></em>\n </a> | New {{ service.form.title }}\n</h3>\n<formio\n [form]=\"service.form\"\n [submission]=\"service.resource\"\n [refresh]=\"service.refresh\"\n [error]=\"onError\"\n [success]=\"onSuccess\"\n (submit)=\"onSubmit($event)\"\n></formio>\n","import { Component, OnInit, ChangeDetectorRef, NgZone } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormioResourceService } from '../resource.service';\nimport { FormioResourceConfig } from '../resource.config';\nimport { each } from 'lodash';\n\n@Component({\n templateUrl: './index.component.html'\n})\nexport class FormioResourceIndexComponent implements OnInit {\n public gridSrc?: string;\n public gridQuery: any;\n public createText: String;\n\n constructor(\n public service: FormioResourceService,\n public route: ActivatedRoute,\n public router: Router,\n public config: FormioResourceConfig,\n public cdr: ChangeDetectorRef,\n public ngZone: NgZone,\n ) {\n }\n\n ngOnInit() {\n this.gridQuery = {};\n this.service.setContext(this.route);\n this.service.formLoaded.then(() => {\n if (\n this.service &&\n this.config.parents &&\n this.config.parents.length\n ) {\n this.service.loadParents().then((parents: any) => {\n each(parents, (parent: any) => {\n if (parent && parent.filter) {\n this.gridQuery['data.' + parent.name + '._id'] =\n parent.resource._id;\n }\n });\n\n // Set the source to load the grid.\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n });\n } else if (this.service.formUrl) {\n this.gridSrc = this.service.formUrl;\n this.createText = `New ${this.service.form.title}`;\n }\n\n this.cdr.detectChanges();\n });\n }\n\n onSelect(row: any) {\n this.ngZone.run(() => {\n this.router.navigate([row._id, 'view'], { relativeTo: this.route });\n });\n }\n\n onCreateItem() {\n this.ngZone.run(() => {\n this.router.navigate(['new'], { relativeTo: this.route });\n });\n }\n}\n","<formio-alerts [alerts]=\"service.alerts\"></formio-alerts>\n<formio-grid\n [src]=\"gridSrc\"\n [query]=\"gridQuery\"\n [onForm]=\"service.formLoaded\"\n (rowSelect)=\"onSelect($event)\"\n (error)=\"service.onError($event)\"\n (createItem)=\"onCreateItem()\"\n [createText]=\"createText\"\n></formio-grid>\n","import { Routes } from '@angular/router';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nexport function FormioResourceRoutes(config?: FormioResourceRouteConfig): Routes {\n return [\n {\n path: '',\n component: config && config.index ? config.index : FormioResourceIndexComponent\n },\n {\n path: 'new',\n component: config && config.create ? config.create : FormioResourceCreateComponent\n },\n {\n path: ':id',\n component: config && config.resource ? config.resource : FormioResourceComponent,\n children: [\n {\n path: '',\n redirectTo: 'view',\n pathMatch: 'full'\n },\n {\n path: 'view',\n component: config && config.view ? config.view : FormioResourceViewComponent\n },\n {\n path: 'edit',\n component: config && config.edit ? config.edit : FormioResourceEditComponent\n },\n {\n path: 'delete',\n component: config && config.delete ? config.delete : FormioResourceDeleteComponent\n }\n ]\n }\n ];\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { FormioModule } from '@formio/angular';\nimport { FormioAlerts } from '@formio/angular';\nimport { FormioGrid } from '@formio/angular/grid';\nimport { FormioResourceComponent } from './resource.component';\nimport { FormioResourceViewComponent } from './view/view.component';\nimport { FormioResourceEditComponent } from './edit/edit.component';\nimport { FormioResourceDeleteComponent } from './delete/delete.component';\nimport { FormioResourceCreateComponent } from './create/create.component';\nimport { FormioResourceIndexComponent } from './index/index.component';\nimport { FormioResourceRouteConfig } from './resource.config';\nimport { FormioResourceRoutes } from './resource.routes';\nimport { extendRouter } from '@formio/angular';\n\n@NgModule({\n imports: [\n CommonModule,\n FormioModule,\n FormioGrid,\n RouterModule\n ],\n declarations: [\n FormioResourceComponent,\n FormioResourceCreateComponent,\n FormioResourceIndexComponent,\n FormioResourceViewComponent,\n FormioResourceEditComponent,\n FormioResourceDeleteComponent\n ],\n providers: [\n FormioAlerts\n ]\n})\nexport class FormioResource {\n static forChild(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n static forRoot(config?: FormioResourceRouteConfig): any {\n return extendRouter(FormioResource, config, FormioResourceRoutes);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Promise","i1","i2.FormioResourceConfig","i3.FormioResources","i1.FormioResourceService","i3","i3.FormioResourceConfig","i4","i5"],"mappings":"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"}}}
|