{"version":3,"sources":["./src/app/editor/editor.module.ts","./src/app/editor/editable-article-resolver.service.ts","./src/app/editor/editor-routing.module.ts","./src/app/editor/editor.component.ts","./src/app/editor/editor.component.html"],"names":[],"mappings":"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","file":"editor-editor-module-es2015.js","sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { EditorComponent } from './editor.component';\nimport { EditableArticleResolver } from './editable-article-resolver.service';\nimport { AuthGuard } from '../core';\nimport { SharedModule } from '../shared';\nimport { EditorRoutingModule } from './editor-routing.module';\n\n@NgModule({\n imports: [SharedModule, EditorRoutingModule],\n declarations: [EditorComponent],\n providers: [EditableArticleResolver]\n})\nexport class EditorModule {}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve, Router, RouterStateSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { Article, ArticlesService, UserService } from '../core';\nimport { catchError , map } from 'rxjs/operators';\n\n@Injectable()\nexport class EditableArticleResolver implements Resolve
{\n constructor(\n private articlesService: ArticlesService,\n private router: Router,\n private userService: UserService\n ) { }\n\n resolve(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable {\n\n return this.articlesService.get(route.params['slug'])\n .pipe(\n map(\n article => {\n if (this.userService.getCurrentUser().username === article.author.username) {\n return article;\n } else {\n this.router.navigateByUrl('/');\n }\n }\n ),\n catchError((err) => this.router.navigateByUrl('/'))\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { EditorComponent } from './editor.component';\nimport { EditableArticleResolver } from './editable-article-resolver.service';\nimport { AuthGuard } from '../core';\nimport { SharedModule } from '../shared';\n\nconst routes: Routes = [\n {\n path: '',\n component: EditorComponent,\n canActivate: [AuthGuard]\n },\n {\n path: ':slug',\n component: EditorComponent,\n canActivate: [AuthGuard],\n resolve: {\n article: EditableArticleResolver\n }\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class EditorRoutingModule {}\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, FormControl } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { Article, ArticlesService } from '../core';\n\n@Component({\n selector: 'app-editor-page',\n templateUrl: './editor.component.html'\n})\nexport class EditorComponent implements OnInit {\n article: Article = {} as Article;\n articleForm: FormGroup;\n tagField = new FormControl();\n errors: Object = {};\n isSubmitting = false;\n\n constructor(\n private articlesService: ArticlesService,\n private route: ActivatedRoute,\n private router: Router,\n private fb: FormBuilder\n ) {\n // use the FormBuilder to create a form group\n this.articleForm = this.fb.group({\n title: '',\n description: '',\n body: ''\n });\n\n // Initialized tagList as empty array\n this.article.tagList = [];\n\n // Optional: subscribe to value changes on the form\n // this.articleForm.valueChanges.subscribe(value => this.updateArticle(value));\n }\n\n ngOnInit() {\n // If there's an article prefetched, load it\n this.route.data.subscribe((data: { article: Article }) => {\n if (data.article) {\n this.article = data.article;\n this.articleForm.patchValue(data.article);\n }\n });\n }\n\n addTag() {\n // retrieve tag control\n const tag = this.tagField.value;\n // only add tag if it does not exist yet\n if (this.article.tagList.indexOf(tag) < 0) {\n this.article.tagList.push(tag);\n }\n // clear the input\n this.tagField.reset('');\n }\n\n removeTag(tagName: string) {\n this.article.tagList = this.article.tagList.filter(tag => tag !== tagName);\n }\n\n submitForm() {\n this.isSubmitting = true;\n\n // update the model\n this.updateArticle(this.articleForm.value);\n\n // post the changes\n this.articlesService.save(this.article).subscribe(\n article => this.router.navigateByUrl('/article/' + article.slug),\n err => {\n this.errors = err;\n this.isSubmitting = false;\n }\n );\n }\n\n updateArticle(values: Object) {\n Object.assign(this.article, values);\n }\n}\n","
\n
\n
\n
\n\n \n\n
\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n\n
\n \n \n {{ tag }}\n \n
\n
\n\n \n\n
\n
\n\n
\n
\n
\n
\n"],"sourceRoot":"webpack:///"}