{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/Components/FH-Images/delete/delete.component.ts","./src/app/Components/FH-Images/delete/delete.component.html","./src/app/Components/FH-Images/fh-images.component.ts","./src/app/Components/FH-Images/fh-images.component.html","./src/app/Components/FH-Images/fh-images.module.ts","./src/app/Components/FH-Images/group/group.component.ts","./src/app/Components/FH-Images/group/group.component.html","./src/app/Components/FH-Images/image-upload-container/fh-image-upload-container.component.ts","./src/app/Components/FH-Images/image-upload-container/fh-image-upload-container.component.html","./src/app/Components/FH-Images/image/fh-image.component.ts","./src/app/Components/FH-Images/image/fh-image.component.html","./src/app/Components/FH-Images/images/batesville-image-list/batesville-image-list.component.ts","./src/app/Components/FH-Images/images/batesville-image-list/batesville-image-list.component.html","./src/app/Components/FH-Images/images/default-image-list/default-image-list.component.ts","./src/app/Components/FH-Images/images/default-image-list/default-image-list.component.html","./src/app/Components/FH-Images/images/image-list.component.ts","./src/app/Components/FH-Images/images/image-list.component.html","./src/app/Components/FH-Images/images/search-image-list/search-image-list.component.ts","./src/app/Components/FH-Images/images/search-image-list/search-image-list.component.html","./src/app/Components/FH-Images/ordering/ordering.component.ts","./src/app/Components/FH-Images/ordering/ordering.component.html","./src/app/Components/FH-Images/restore/restore.component.ts","./src/app/Components/FH-Images/restore/restore.component.html","./src/app/Components/FH-Images/router/fh-images-router.module.ts","./src/app/Components/admin/admin-routing.module.ts","./src/app/Components/admin/admin.component.ts","./src/app/Components/admin/admin.component.html","./src/app/Components/admin/admin.module.ts","./src/app/Components/admin/auth.guard.ts","./src/app/Components/admin/content/article/QuillHelper.ts","./src/app/Components/admin/content/article/QuillLinkExtended.ts","./src/app/Components/admin/content/article/article.component.ts","./src/app/Components/admin/content/article/article.component.html","./src/app/Components/admin/content/articles/articles.component.ts","./src/app/Components/admin/content/articles/articles.component.html","./src/app/Components/admin/content/choose-article-link/choose-article-link.component.ts","./src/app/Components/admin/content/choose-article-link/choose-article-link.component.html","./src/app/Components/admin/content/choose-article/choose-article.component.ts","./src/app/Components/admin/content/choose-article/choose-article.component.html","./src/app/Components/admin/content/choose-menu/choose-menu.component.ts","./src/app/Components/admin/content/choose-menu/choose-menu.component.html","./src/app/Components/admin/content/choose-video/MediaElement.ts","./src/app/Components/admin/content/choose-video/choose-video.component.ts","./src/app/Components/admin/content/choose-video/choose-video.component.html","./src/app/Components/admin/content/content-routing.module.ts","./src/app/Components/admin/content/content.component.ts","./src/app/Components/admin/content/content.component.html","./src/app/Components/admin/content/content.module.ts","./src/app/Components/admin/content/delete-article/delete-article.component.ts","./src/app/Components/admin/content/delete-article/delete-article.component.html","./src/app/Components/admin/content/delete-menu-item/delete-menu-item.component.ts","./src/app/Components/admin/content/delete-menu-item/delete-menu-item.component.html","./src/app/Components/admin/content/media-edit/media-edit.component.ts","./src/app/Components/admin/content/media-edit/media-edit.component.html","./src/app/Components/admin/content/menu-item/menu-item.component.ts","./src/app/Components/admin/content/menu-item/menu-item.component.html","./src/app/Components/admin/content/menu-items/menu-items.component.ts","./src/app/Components/admin/content/menu-items/menu-items.component.html","./src/app/Components/admin/content/models/Article.ts","./src/app/Components/admin/content/models/Guid.ts","./src/app/Components/admin/content/models/MenuItem.ts","./src/app/Components/admin/content/models/MenuItemType.ts","./src/app/Components/admin/delete-medallion/delete-medallion.component.ts","./src/app/Components/admin/delete-medallion/delete-medallion.component.html","./src/app/Components/admin/edit-medallions/edit-medallions.component.ts","./src/app/Components/admin/edit-medallions/edit-medallions.component.html","./src/app/Components/admin/medallions/medallions.component.ts","./src/app/Components/admin/medallions/medallions.component.html","./src/app/Components/admin/user-edit/user-edit.component.ts","./src/app/Components/admin/user-edit/user-edit.component.html","./src/app/Components/admin/user-search/user-search.component.ts","./src/app/Components/admin/user-search/user-search.component.html","./src/app/Components/alert-dialog/alert-dialog.component.ts","./src/app/Components/alert-dialog/alert-dialog.component.html","./src/app/Components/authenticating/authenticating.component.ts","./src/app/Components/authenticating/authenticating.component.html","./src/app/Components/confirm-dialog/confirm-dialog.component.ts","./src/app/Components/confirm-dialog/confirm-dialog.component.html","./src/app/Components/content/article/article-view.component.ts","./src/app/Components/content/article/article-view.component.html","./src/app/Components/content/content-view.component.ts","./src/app/Components/content/content-view.component.html","./src/app/Components/content/content-view.module.ts","./src/app/Components/content/menu-view-item/menu-view-item.component.ts","./src/app/Components/content/menu-view-item/menu-view-item.component.html","./src/app/Components/content/menu/menu.component.ts","./src/app/Components/content/menu/menu.component.html","./src/app/Components/content/router/content-view-router.module.ts","./src/app/Components/create-footer/create-footer.component.ts","./src/app/Components/create-footer/create-footer.component.html","./src/app/Components/create-header/create-header.component.ts","./src/app/Components/create-header/create-header.component.html","./src/app/Components/default/default.component.ts","./src/app/Components/default/default.component.html","./src/app/Components/designer/designer.component.ts","./src/app/Components/designer/designer.component.html","./src/app/Components/designer/medallion-editor/medallion-canvas-html/WorkSpaceElement.ts","./src/app/Components/designer/medallion-editor/medallion-canvas-html/editor-medallion-image/editor-medallion-image.component.ts","./src/app/Components/designer/medallion-editor/medallion-canvas-html/editor-medallion-image/editor-medallion-image.component.html","./src/app/Components/designer/medallion-editor/medallion-canvas-html/medallion-canvas-html.component.ts","./src/app/Components/designer/medallion-editor/medallion-canvas-html/medallion-canvas-html.component.html","./src/app/Components/designer/medallion-editor/medallion-canvas-html/workspace-overlay/workspace-overlay.component.ts","./src/app/Components/designer/medallion-editor/medallion-canvas-html/workspace-overlay/workspace-overlay.component.html","./src/app/Components/designer/medallion-editor/medallion-editor.component.ts","./src/app/Components/designer/medallion-editor/medallion-editor.component.html","./src/app/Components/designer/medallion-editor/medallion-properties/medallion-properties.component.ts","./src/app/Components/designer/medallion-editor/medallion-properties/medallion-properties.component.html","./src/app/Components/designer/medallion-editor/zoom-controller/zoom-controller.component.ts","./src/app/Components/designer/medallion-editor/zoom-controller/zoom-controller.component.html","./src/app/Components/designer/medallion-list/medallion-list.component.ts","./src/app/Components/designer/medallion-list/medallion-list.component.html","./src/app/Components/form-input-text/form-input-text.component.ts","./src/app/Components/form-input-text/form-input-text.component.html","./src/app/Components/image-dialog/family-supplied-photos/family-supplied-photos.component.ts","./src/app/Components/image-dialog/family-supplied-photos/family-supplied-photos.component.html","./src/app/Components/image-dialog/image-dialog.component.ts","./src/app/Components/image-dialog/image-dialog.component.html","./src/app/Components/image-dialog/image-list/image-display/image-display.component.ts","./src/app/Components/image-dialog/image-list/image-display/image-display.component.html","./src/app/Components/image-dialog/image-list/image-list.component.ts","./src/app/Components/image-dialog/image-list/image-list.component.html","./src/app/Components/image-dialog/image-properties/image-properties.component.ts","./src/app/Components/image-dialog/image-properties/image-properties.component.html","./src/app/Components/image-dialog/image-upload-container/image-upload-container.component.ts","./src/app/Components/image-dialog/image-upload-container/image-upload-container.component.html","./src/app/Components/image-dialog/my-stock-images/my-stock-images.component.ts","./src/app/Components/image-dialog/my-stock-images/my-stock-images.component.html","./src/app/Components/image-dialog/search/search.component.ts","./src/app/Components/image-dialog/search/search.component.html","./src/app/Components/image-dialog/stock-images/stock-images.component.ts","./src/app/Components/image-dialog/stock-images/stock-images.component.html","./src/app/Components/index.ts","./src/app/Components/logout/logout.component.ts","./src/app/Components/logout/logout.component.html","./src/app/Components/medallion-options-dialog/medallion-options-dialog.component.ts","./src/app/Components/medallion-options-dialog/medallion-options-dialog.component.html","./src/app/Components/not-found/not-found.component.ts","./src/app/Components/not-found/not-found.component.html","./src/app/Components/projects/projects.component.ts","./src/app/Components/projects/projects.component.html","./src/app/Components/shared/Services/CreateImageCategory.ts","./src/app/Components/shared/Services/application-service.service.ts","./src/app/Components/shared/Services/article.service.ts","./src/app/Components/shared/Services/authentication.service.ts","./src/app/Components/shared/Services/create-settings.service.ts","./src/app/Components/shared/Services/create.service.ts","./src/app/Components/shared/Services/help-docs.service.ts","./src/app/Components/shared/Services/image-manager.service.ts","./src/app/Components/shared/Services/medallion.service.ts","./src/app/Components/shared/Services/media.service.ts","./src/app/Components/shared/Services/menu-items.service.ts","./src/app/Components/shared/Services/sort-option.service.ts","./src/app/Components/shared/Services/template.service.ts","./src/app/Components/shared/Services/user.service.ts","./src/app/Components/shared/Services/video-manager.service.ts","./src/app/Components/shared/category-image-list-base/category-image-list-base.component.ts","./src/app/Components/shared/category-image-list-base/category-image-list-base.component.html","./src/app/Components/shared/category-image-list/category-image-list.component.ts","./src/app/Components/shared/category-image-list/category-image-list.component.html","./src/app/Components/shared/help-docs-button/help-docs-button.component.ts","./src/app/Components/shared/help-docs-button/help-docs-button.component.html","./src/app/Components/shared/help/help-docs/help-docs.component.ts","./src/app/Components/shared/help/help-docs/help-docs.component.html","./src/app/Components/shared/help/help.component.ts","./src/app/Components/shared/help/help.component.html","./src/app/Components/shared/pagination/pagination.component.ts","./src/app/Components/shared/pagination/pagination.component.html","./src/app/Components/shared/shared-image-list/shared-image-list.component.ts","./src/app/Components/shared/shared-image-list/shared-image-list.component.html","./src/app/Components/shared/shared-image/shared-image.component.ts","./src/app/Components/shared/shared-image/shared-image.component.html","./src/app/Components/shared/shared.module.ts","./src/app/Components/shared/sort-option/sort-option.component.ts","./src/app/Components/shared/sort-option/sort-option.component.html","./src/app/Components/shared/toggle-check/toggle-check.component.ts","./src/app/Components/shared/toggle-check/toggle-check.component.html","./src/app/Components/survey-dialog/survey-dialog.component.ts","./src/app/Components/survey-dialog/survey-dialog.component.html","./src/app/Directives/insertion.directive.ts","./src/app/Directives/provide-parent-form.directive.ts","./src/app/Interfaces/index.ts","./src/app/Models/CreateCanvasEvent.ts","./src/app/Models/CreateImage.ts","./src/app/Models/CreateRole.ts","./src/app/Models/DisplayType.ts","./src/app/Models/DragAction.ts","./src/app/Models/ImageProperties.ts","./src/app/Models/Location.ts","./src/app/Models/Medallion.ts","./src/app/Models/MedallionSize.ts","./src/app/Models/Point.ts","./src/app/Models/Rectangle.ts","./src/app/Models/Size.ts","./src/app/Models/index.ts","./src/app/Models/project.ts","./src/app/Models/user.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/pipes/html-trust.pipe.ts","./src/app/pipes/trust-style.pipe.ts","./src/environments/environment.ts","./src/main.ts"],"sourcesContent":["import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { CreateImage } from \"../../../Models/CreateImage\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\n\r\n@Component({\r\n selector: \"create-delete\",\r\n templateUrl: \"./delete.component.html\",\r\n styleUrls: [\"./delete.component.less\"]\r\n})\r\nexport class DeleteComponent implements OnInit {\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private imageManagerService: ImageManagerService) { }\r\n\r\n ngOnInit() {\r\n const id = +this.route.snapshot.paramMap.get(\"id\");\r\n this.imageManagerService.selectedTab = this.route.snapshot.paramMap.get(\"owner\");\r\n this.imageManagerService.getImage(id).subscribe(image => {\r\n this.image = image;\r\n });\r\n }\r\n delete() {\r\n this.imageManagerService.delete(this.image.id).subscribe(() => {\r\n this.router.navigate([\"/images\", \"images\", this.imageManagerService.selectedTab]);\r\n });\r\n }\r\n isNew: boolean;\r\n image: CreateImage = new CreateImage();\r\n\r\n}\r\n","
\r\n Are you sure you want to delete \"{{image.title}}\"?\r\n
\r\nCancel\r\nDelete\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"create-fh-images\",\r\n templateUrl: \"./fh-images.component.html\",\r\n styleUrls: [\"./fh-images.component.less\"]\r\n})\r\nexport class FHImagesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FHImagesRouterModule } from \"./router/fh-images-router.module\";\r\nimport { FHImageComponent } from \"./image/fh-image.component\";\r\nimport { FHGroupComponent } from \"./group/group.component\";\r\nimport { FHImagesComponent } from \"./fh-images.component\";\r\nimport { FHImageListComponent } from \"./images/image-list.component\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { DeleteComponent } from \"./delete/delete.component\";\r\nimport { UiSwitchModule } from \"ngx-ui-switch\";\r\nimport { RestoreComponent } from \"./restore/restore.component\";\r\nimport { FHImageUploadContainerComponent } from \"./image-upload-container/fh-image-upload-container.component\";\r\nimport { DefaultImageListComponent } from \"./images/default-image-list/default-image-list.component\";\r\nimport { BatesvilleImageListComponent } from \"./images/batesville-image-list/batesville-image-list.component\";\r\nimport { SearchImageListComponent } from \"./images/search-image-list/search-image-list.component\";\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\n\r\n@\r\nNgModule({\r\n declarations: [\r\n FHImageListComponent,\r\n FHImageComponent,\r\n FHGroupComponent,\r\n FHImagesComponent,\r\n DeleteComponent,\r\n RestoreComponent,\r\n FHImageUploadContainerComponent,\r\n DefaultImageListComponent,\r\n BatesvilleImageListComponent,\r\n SearchImageListComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FHImagesRouterModule,\r\n SharedModule,\r\n FormsModule,\r\n NgbModule,\r\n DragDropModule,\r\n UiSwitchModule.forRoot({\r\n size: \"small\",\r\n checkedLabel: \"yes\",\r\n uncheckedLabel: \"no\",\r\n color: \"#0B406B\"\r\n })\r\n ]\r\n})\r\nexport class FHImagesModule { }\r\n","import { Component, OnChanges, Input } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { CreateImage } from \"../../../Models/CreateImage\";\r\nimport { CreateRole } from \"../../../Models/CreateRole\";\r\nimport { moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport { AuthenticationService } from \"../../shared/Services/authentication.service\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { OrderingComponent } from \"../ordering/ordering.component\";\r\n\r\n@Component({\r\n selector: \"create-group\",\r\n templateUrl: \"./group.component.html\",\r\n styleUrls: [\"./group.component.less\"]\r\n})\r\nexport class FHGroupComponent implements OnChanges {\r\n @Input() categories;\r\n @Input() allowSort;\r\n constructor(private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private imageManagerService: ImageManagerService,\r\n private modalService: NgbModal) {\r\n }\r\n clickedImage(image: CreateImage) {\r\n if (this.imageManagerService.selectedTab !== \"default\" && this.authenticationService.user.role < CreateRole.Admin) {\r\n return;\r\n }\r\n this.router.navigate([\"images\", \"image\", image.id, this.imageManagerService.selectedTab]);\r\n }\r\n ngOnChanges() {\r\n }\r\n openSort(category) {\r\n var ref = this.modalService.open(OrderingComponent);\r\n ref.componentInstance.category = category;\r\n ref.result.then(result => {\r\n console.log(result);\r\n });\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, ViewChild, Output, EventEmitter, OnDestroy } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { CreateImage } from \"../../../Models/index\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ILocation } from \"../../../Interfaces/ILocation\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { AlertDialogComponent } from \"../../alert-dialog/alert-dialog.component\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\nimport { AuthenticationService } from \"../../shared/Services/authentication.service\";\r\n\r\n@Component({\r\n selector: \"create-image-upload-container\",\r\n templateUrl: \"./fh-image-upload-container.component.html\",\r\n styleUrls: [\"./fh-image-upload-container.component.less\"]\r\n})\r\nexport class FHImageUploadContainerComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"file\") file;\r\n @Output() imageSet = new EventEmitter();\r\n\r\n constructor(private createService: CreateService,\r\n private imageManager: ImageManagerService,\r\n public authenticationService: AuthenticationService,\r\n private http: HttpClient,\r\n private modalService: NgbModal) {\r\n }\r\n\r\n addFiles() {\r\n this.file.nativeElement.click();\r\n }\r\n\r\n clickedImage(currentImage) {\r\n this.createService.currentImage = currentImage;\r\n }\r\n\r\n onFilesAdded() {\r\n this.updateFile(this.file.nativeElement.files[0]);\r\n }\r\n\r\n onDrop(event: DragEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.dragOver = false;\r\n this.updateFile(event.dataTransfer.files[0]);\r\n return false;\r\n }\r\n\r\n onDragOver(event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.dragOver = true;\r\n }\r\n\r\n onMouseOut() {\r\n this.dragOver = false;\r\n }\r\n\r\n updateFile(file: File) {\r\n if (file.type !== \"image/jpeg\" && file.type !== \"image/png\") {\r\n this.modalService.open(AlertDialogComponent, { size: \"sm\" });\r\n return;\r\n }\r\n const formData = new FormData();\r\n formData.append(\"Image\", file, file.name);\r\n formData.append(\"locationId\", this.location.id.toString());\r\n this.http.post(\"/api/Image/UploadFile\", formData)\r\n .subscribe(data => {\r\n if (this.imageManager.images) {\r\n this.imageManager.images.push(data);\r\n }\r\n this.imageSet.emit(data);\r\n this.currentImage = data;\r\n this.imageUrl = `url(/uploaded-images/${data.url})`;\r\n },\r\n error => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.authenticationService.selectedLocation.subscribe(location => this.location = location);\r\n this.currentImage = this.createService.currentImage;\r\n console.log(this.currentImage);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n subscription: Subscription;\r\n location: ILocation;\r\n currentImage: CreateImage;\r\n dragOver: boolean;\r\n imageUrl: any = null;\r\n}\r\n","
\r\n
\r\n
Drop image here
\r\n
or
\r\n
\r\n
\r\n Click here to upload\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { CreateImage } from \"../../../Models/CreateImage\";\r\nimport { Location } from \"../../../Models/index\";\r\nimport { CreateRole } from \"../../../Models/CreateRole\";\r\nimport { AuthenticationService } from \"../../shared/Services/authentication.service\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\r\nimport * as _ from \"underscore\";\r\n@Component({\r\n selector: \"create-image\",\r\n templateUrl: \"./fh-image.component.html\",\r\n styleUrls: [\"./fh-image.component.less\"]\r\n})\r\nexport class FHImageComponent implements OnInit {\r\n title: string;\r\n categories: string[] = [];\r\n keywords: string[] = [];\r\n keywordList: string[] = [];\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private imageManagerService: ImageManagerService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.authenticationService.selectedLocation.subscribe(location => {\r\n this.location = location;\r\n });\r\n const id = +this.route.snapshot.paramMap.get(\"id\");\r\n this.imageManagerService.selectedTab = this.route.snapshot.paramMap.get(\"owner\");\r\n this.title = \"Edit Image\";\r\n this.image = new CreateImage();\r\n this.isNew = false;\r\n if (this.imageManagerService.selectedTab === \"batesville\") {\r\n this.imageManagerService.getBatesvilleCategories().subscribe(categories => {\r\n this.categories = categories;\r\n });\r\n this.imageManagerService.getBatesvilleKeywords().subscribe(keywords => {\r\n this.keywords = keywords;\r\n });\r\n } else {\r\n this.imageManagerService.getLocationCategories(this.authenticationService.selectedLocation.value.id).subscribe(categories => {\r\n this.categories = categories;\r\n });\r\n this.imageManagerService.getLocationKeywords(this.authenticationService.selectedLocation.value.id).subscribe(keywords => {\r\n this.keywords = keywords;\r\n });\r\n }\r\n if (id === 0) {\r\n this.isNew = true;\r\n this.title = \"New Image\";\r\n this.image.galleryView = true;\r\n this.image.isBatesville = false;\r\n return;\r\n }\r\n this.imageManagerService.getImage(id).subscribe(image => {\r\n this.image = image;\r\n });\r\n\r\n }\r\n search = (text$: Observable) => {\r\n return text$.pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n map((term: string) => term.length < 2\r\n ? []\r\n : this.categories.filter(v => v != null && v.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0, 10))\r\n );\r\n }\r\n currentSelectionEnd:number = 0;\r\n keywordSearch($event: KeyboardEvent) {\r\n const input: HTMLTextAreaElement = ($event.target) as HTMLTextAreaElement;\r\n this.currentSelectionEnd = input.selectionEnd;\r\n if (this.image.keywords.slice(this.currentSelectionEnd - 1, this.currentSelectionEnd).trim() === \"\") {\r\n this.keywordList = [];\r\n return;\r\n }\r\n const chunk = this.image.keywords.slice(0, this.currentSelectionEnd);\r\n const match = chunk.match(/([\\s\\r\\,])\\w+/g);\r\n const lastIndex = match ? chunk.lastIndexOf(match[match.length - 1]) + 1 : 0;\r\n var word = chunk.slice(lastIndex, this.currentSelectionEnd).trim().toLowerCase();\r\n if (word.length < 1) {\r\n this.keywordList = [];\r\n return;\r\n }\r\n this.keywordList = _.uniq(this.keywords.filter(v => v.toLowerCase().indexOf(word) > -1)).slice(0, 10);\r\n }\r\n setWord(word) {\r\n const chunk = this.image.keywords.slice(0, this.currentSelectionEnd);\r\n const match = chunk.match(/([\\s\\r\\,])\\w+/g);\r\n const lastIndex = match ? chunk.lastIndexOf(match[match.length - 1]) + 1 : 0;\r\n const startString = this.image.keywords.slice(0, lastIndex);\r\n const endString = this.image.keywords.slice(this.currentSelectionEnd, this.image.keywords.length);\r\n this.image.keywords = `${startString}${word}${endString}`;\r\n this.keywordList = [];\r\n\r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n imageSet(event: CreateImage) {\r\n this.image.url = event.url;\r\n }\r\n\r\n close() {\r\n switch (this.imageManagerService.selectedTab) {\r\n case \"batesville\":\r\n this.router.navigate([\"/images\", \"images\", \"batesville\"]);\r\n break;\r\n case \"search\":\r\n this.router.navigate([\"/images\", \"images\", \"search\", this.imageManagerService.searchValue]);\r\n break;\r\n default:\r\n this.router.navigate([\"/images\", \"images\", \"default\"]);\r\n break;\r\n }\r\n }\r\n\r\n save() {\r\n this.image.locationId = this.location.id;\r\n if (this.imageManagerService.selectedTab === \"batesville\" &&\r\n this.authenticationService.user.role > CreateRole.Default) {\r\n this.image.locationId = null;\r\n this.image.isBatesville = true;\r\n }\r\n\r\n let action;\r\n if (this.isNew) {\r\n action = this.imageManagerService.add(this.image);\r\n } else {\r\n action = this.imageManagerService.update(this.image);\r\n }\r\n action.subscribe(() => {\r\n this.close();\r\n });\r\n }\r\n\r\n isNew: boolean;\r\n image: CreateImage;\r\n location: Location;\r\n subscription;\r\n}\r\n","
\r\n

{{title}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Properties
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {{keyword}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Delete\r\n Restore\r\n |\r\n \r\n Close\r\n Save\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { CreateImageCategory } from \"../../../shared/Services/CreateImageCategory\";\r\nimport { ImageManagerService } from \"../../../shared/Services/image-manager.service\";\r\nimport { AuthenticationService } from \"../../../shared/Services/authentication.service\";\r\nimport { CreateRole } from \"../../../../Models/CreateRole\";\r\n\r\n@Component({\r\n selector: \"create-batesville-image-list\",\r\n templateUrl: \"./batesville-image-list.component.html\",\r\n styleUrls: [\"./batesville-image-list.component.less\"]\r\n})\r\nexport class BatesvilleImageListComponent implements OnInit, OnDestroy {\r\n images: Array = [];\r\n\r\n constructor(\r\n private imageManagerService: ImageManagerService,\r\n public authenticationService: AuthenticationService) {\r\n }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this.imageManagerService.selectedTab = \"batesville\";\r\n this.imageManagerService.searchValue = \"\";\r\n this.imageManagerService.searchText = \"\";\r\n });\r\n this.subscriptions.push(this.imageManagerService.showDeleted.subscribe(deleted => {\r\n if (this.authenticationService.user.role < CreateRole.Admin) {\r\n deleted = false;\r\n }\r\n this.subscriptions.push(this.imageManagerService.getBatesvilleImages(deleted).subscribe(images => {\r\n this.images = images;\r\n }));\r\n }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n subscriptions = new Array();\r\n}\r\n","99\">\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { CreateImageCategory } from \"../../../shared/Services/CreateImageCategory\";\r\nimport { ImageManagerService } from \"../../../shared/Services/image-manager.service\";\r\nimport { AuthenticationService } from \"../../../shared/Services/authentication.service\";\r\n\r\n@Component({\r\n selector: \"create-default-image-list\",\r\n templateUrl: \"./default-image-list.component.html\",\r\n styleUrls: [\"./default-image-list.component.less\"]\r\n})\r\nexport class DefaultImageListComponent implements OnInit, OnDestroy {\r\n subscriptions = new Array();\r\n images: Array = [];\r\n\r\n constructor(private route: ActivatedRoute,\r\n private imageManagerService: ImageManagerService,\r\n private router: Router,\r\n public authenticationService: AuthenticationService) {\r\n }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this.imageManagerService.selectedTab = \"default\";\r\n this.imageManagerService.searchValue = \"\";\r\n this.imageManagerService.searchText = \"\";\r\n });\r\n this.authenticationService.selectedLocation.subscribe(location => {\r\n if (location == null) {\r\n return;\r\n }\r\n this.subscriptions.push(this.imageManagerService.showDeleted.subscribe(deleted => {\r\n this.subscriptions.push(this.imageManagerService\r\n .getLocationImages(location.id, deleted).subscribe(images => {\r\n this.images = images;\r\n }));\r\n }));\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach(sub=>sub.unsubscribe());\r\n }\r\n\r\n filterCategory(category: CreateImageCategory): CreateImageCategory {\r\n var cat = new CreateImageCategory();\r\n cat.title = category.title;\r\n return cat;\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\nimport { AuthenticationService } from \"../../shared/Services/authentication.service\";\r\nimport { CreateImageCategory } from \"../../shared/Services/CreateImageCategory\";\r\n\r\n@Component({\r\n selector: \"create-images\",\r\n templateUrl: \"./image-list.component.html\",\r\n styleUrls: [\"./image-list.component.less\"]\r\n})\r\nexport class FHImageListComponent implements OnInit, OnDestroy {\r\n search() {\r\n this.router.navigate([\"/images\", \"images\", \"search\", this.imageManagerService.searchText]);\r\n }\r\n constructor(\r\n public imageManagerService: ImageManagerService,\r\n private router: Router,\r\n public authenticationService: AuthenticationService) {\r\n }\r\n ngOnInit() {\r\n this.authenticationService.selectedLocation.subscribe(location => {\r\n if (location == null) {\r\n return;\r\n }\r\n this.subscription = this.imageManagerService.getLocationImages(location.id, this.imageManagerService.deleted).subscribe(images => {\r\n this.unfilteredImageCategories = images;\r\n });\r\n });\r\n }\r\n inputChanged() {\r\n setTimeout(() => {\r\n this.imageManagerService.showDeleted.next(this.imageManagerService.deleted);\r\n this.ngOnInit();\r\n },\r\n 10);\r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n\r\n filterCategory(category: CreateImageCategory): CreateImageCategory {\r\n var cat = new CreateImageCategory();\r\n cat.title = category.title;\r\n return cat;\r\n }\r\n\r\n subscription: Subscription;\r\n images: Array = [];\r\n unfilteredImageCategories: CreateImageCategory[];\r\n \r\n}\r\n","
\r\n
\r\n
\r\n

Stock Images

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
99\">\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ImageManagerService } from \"../../../shared/Services/image-manager.service\";\r\nimport { AuthenticationService } from \"../../../shared/Services/authentication.service\";\r\nimport { CreateImageCategory } from \"../../../shared/Services/CreateImageCategory\";\r\n\r\n@Component({\r\n selector: \"create-search-image-list\",\r\n templateUrl: \"./search-image-list.component.html\",\r\n styleUrls: [\"./search-image-list.component.less\"]\r\n})\r\nexport class SearchImageListComponent implements OnInit {\r\n searchValue;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private imageManagerService: ImageManagerService,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n this.imageManagerService.selectedTab = \"search\";\r\n });\r\n this.routeSubscription = this.route.params.subscribe(params => {\r\n setTimeout(() => {\r\n let searchValue = params[\"searchValue\"];\r\n if (searchValue == null) {\r\n searchValue = \"\";\r\n }\r\n this.imageManagerService.searchValue = searchValue;\r\n this.imageManagerService.searchText = searchValue;\r\n\r\n this.authenticationService.selectedLocation.subscribe(location => {\r\n this.imageManagerService.getImagesSearch(searchValue, location.id)\r\n .subscribe(categories => {\r\n this.images = categories;\r\n });\r\n });\r\n });\r\n });\r\n }\r\n\r\n searchText;\r\n routeSubscription: Subscription;\r\n images: Array = [];\r\n}\r\n","\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'create-ordering',\r\n templateUrl: './ordering.component.html',\r\n styleUrls: ['./ordering.component.less']\r\n})\r\nexport class OrderingComponent implements OnInit {\r\n @Input() category;\r\n constructor(private imageManagerService: ImageManagerService,\r\n public activeModal: NgbActiveModal, ) {\r\n }\r\n\r\n drop(event, items) {\r\n moveItemInArray(items, event.previousIndex, event.currentIndex);\r\n var ordering = 1;\r\n items.forEach(item => {\r\n item.ordering = ordering++;\r\n });\r\n this.imageManagerService.saveOrdering(items);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n Order Images ({{category.title}})\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{image.title}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { CreateImage } from \"../../../Models/CreateImage\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\n\r\n@Component({\r\n selector: \"create-restore\",\r\n templateUrl: \"./restore.component.html\",\r\n styleUrls: [\"./restore.component.less\"]\r\n})\r\nexport class RestoreComponent implements OnInit {\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private imageManagerService: ImageManagerService) { }\r\n\r\n ngOnInit() {\r\n const id = +this.route.snapshot.paramMap.get(\"id\");\r\n this.imageManagerService.selectedTab = this.route.snapshot.paramMap.get(\"owner\");\r\n this.imageManagerService.getImage(id).subscribe(image => {\r\n this.image = image;\r\n });\r\n }\r\n restore() {\r\n this.imageManagerService.restore(this.image.id).subscribe(() => {\r\n this.router.navigate([\"/images\", \"images\", this.imageManagerService.selectedTab]);\r\n });\r\n }\r\n isNew: boolean;\r\n image: CreateImage = new CreateImage();\r\n\r\n}\r\n","
\r\n Are you sure you want to restore \"{{image.title}}\"?\r\n
\r\nCancel\r\nRestore\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { FHImagesComponent } from \"../fh-images.component\";\r\nimport { FHImageListComponent } from \"../images/image-list.component\";\r\nimport { FHImageComponent } from \"../image/fh-image.component\";\r\nimport { DeleteComponent } from \"../delete/delete.component\";\r\nimport { RestoreComponent } from \"../restore/restore.component\";\r\nimport { DefaultImageListComponent } from \"../images/default-image-list/default-image-list.component\";\r\nimport { BatesvilleImageListComponent } from \"../images/batesville-image-list/batesville-image-list.component\";\r\nimport { SearchImageListComponent } from \"../images/search-image-list/search-image-list.component\";\r\nconst routes: Routes = [\r\n {\r\n path: \"images\",\r\n component: FHImagesComponent,\r\n children: [\r\n { path: \"\", redirectTo: \"images\", pathMatch: \"full\" },\r\n {\r\n path: \"images\",\r\n component: FHImageListComponent,\r\n children: [\r\n { path: \"\", redirectTo: \"default\", pathMatch: \"full\" },\r\n { path: \"default\", component: DefaultImageListComponent },\r\n { path: \"batesville\", component: BatesvilleImageListComponent },\r\n { path: \"search/:searchValue\", component: SearchImageListComponent }\r\n ]\r\n },\r\n { path: \"image/:id\", component: FHImageComponent },\r\n { path: \"image/:id/:owner\", component: FHImageComponent },\r\n { path: \"delete/:id/:owner\", component: DeleteComponent },\r\n { path: \"restore/:id/:owner\", component: RestoreComponent }\r\n ]\r\n }\r\n];\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class FHImagesRouterModule { }\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { AdminMedallionsComponent } from \"./medallions/medallions.component\";\r\nimport { AdminEditMedallionsComponent } from \"./edit-medallions/edit-medallions.component\";\r\nimport { AdminComponent } from \"./admin.component\";\r\nimport { AuthGuard } from \"./auth.guard\";\r\nimport { UserEditComponent } from \"./user-edit/user-edit.component\";\r\nimport { UserSearchComponent } from \"./user-search/user-search.component\";\r\nimport { DeleteMedallionComponent } from \"./delete-medallion/delete-medallion.component\";\r\n\r\nconst routes: Routes = [\r\n {\r\n path: \"admin\",\r\n component: AdminComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: \"\", redirectTo: \"content\", pathMatch: \"full\" },\r\n { path: \"medallions\", component: AdminMedallionsComponent },\r\n { path: \"edit-medallion/:id\", component: AdminEditMedallionsComponent },\r\n { path: \"delete-medallion/:id\", component: DeleteMedallionComponent },\r\n { path: \"edit-user/:id\", component: UserEditComponent },\r\n { path: \"userSearch\", component: UserSearchComponent }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class AdminRoutingModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { AuthenticationService } from \"../shared/Services/authentication.service\";\r\n\r\n@Component({\r\n selector: \"yw-admin\",\r\n templateUrl: \"./admin.component.html\",\r\n styleUrls: [\"./admin.component.less\"]\r\n})\r\nexport class AdminComponent implements OnInit {\r\n\r\n constructor(public authentication: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n this.authentication.changeLocationAllowed = true;\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { AdminMedallionsComponent } from \"./medallions/medallions.component\";\r\nimport { AdminEditMedallionsComponent } from \"./edit-medallions/edit-medallions.component\";\r\nimport { AdminRoutingModule } from \"./admin-routing.module\";\r\nimport { AdminComponent } from \"./admin.component\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { UserSearchComponent } from \"./user-search/user-search.component\";\r\nimport { UserEditComponent } from \"./user-edit/user-edit.component\";\r\nimport { NgxPaginationModule } from \"ngx-pagination\";\r\nimport { DeleteMedallionComponent } from \"../../Components/admin/delete-medallion/delete-medallion.component\";\r\nimport { ContentModule } from \"./content/content.module\";\r\n@NgModule({\r\n declarations: [\r\n AdminComponent,\r\n AdminMedallionsComponent,\r\n AdminEditMedallionsComponent,\r\n UserSearchComponent,\r\n UserEditComponent,\r\n DeleteMedallionComponent\r\n ],\r\n imports: [\r\n SharedModule,\r\n CommonModule,\r\n ContentModule,\r\n FormsModule,\r\n NgxPaginationModule,\r\n NgbModule,\r\n AdminRoutingModule\r\n ]\r\n})\r\nexport class AdminModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { CreateRole } from '../../Models/CreateRole';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../shared/Services/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private authenticationService: AuthenticationService,\r\n private router: Router) {\r\n\r\n }\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n if (this.authenticationService.authenticating) {\r\n this.router.navigate(['authenticating'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n } else {\r\n if (this.authenticationService.user.role < CreateRole.Admin) {\r\n this.router.navigate(['projects']);\r\n return false;\r\n }\r\n return true;\r\n }\r\n }\r\n}\r\n","import { ChooseArticleLinkComponent } from \"../choose-article-link/choose-article-link.component\";\r\nimport Quill from \"quill\";\r\nimport { ChooseVideoComponent } from \"../choose-video/choose-video.component\";\r\nimport QuillLinkExtended from \"./QuillLinkExtended\";\r\nconst fontStyle = Quill.import(\"attributors/style/font\");\r\nfontStyle.whitelist = [\r\n \"Arial\",\r\n \"Open Sans\"\r\n];\r\nQuill.register(fontStyle, true);\r\n\r\nclass MyLink extends QuillLinkExtended {\r\n static create(value) {\r\n const node = super.create(value);\r\n value = super.sanitize(value);\r\n node.setAttribute(\"href\", value);\r\n if (!value.startsWith(\"https://\") || !value.startsWith(\"http://\")) {\r\n node.removeAttribute(\"target\");\r\n }\r\n return node;\r\n }\r\n}\r\n\r\nQuill.register(MyLink);\r\n\r\nexport class QuillHelper {\r\n constructor(private modalService,\r\n private quill) {\r\n const toolbar = quill.getModule(\"toolbar\");\r\n toolbar.addHandler(\"link\", this.showLinkDialog);\r\n toolbar.addHandler(\"image\", this.showImageDialog);\r\n toolbar.addHandler(\"video\", this.showVideoDialog);\r\n }\r\n\r\n showLinkDialog = (value) => {\r\n if (value) {\r\n const selection = this.quill.getSelection(false);\r\n const articleDialog = this.modalService.open(ChooseArticleLinkComponent, { size: \"lg\" });\r\n articleDialog\r\n .result\r\n .then((result: any) => {\r\n if (result == null) {\r\n return;\r\n }\r\n this.quill.setSelection(selection.index, selection.length);\r\n this.quill.format(\"link\", result.link, \"user\");\r\n this.quill.update();\r\n },\r\n () => {});\r\n } else {\r\n this.quill.format(\"link\", false);\r\n }\r\n };\r\n\r\n showVideoDialog = (value) => {\r\n if (value) {\r\n const selection = this.quill.getSelection(false);\r\n const articleDialog = this.modalService.open(ChooseVideoComponent, { size: \"lg\" });\r\n articleDialog.componentInstance.mediaType = \"video\";\r\n articleDialog\r\n .result\r\n .then((result: any) => {\r\n if (result == null) {\r\n return;\r\n }\r\n this.quill.setSelection(selection.index, selection.length);\r\n this.quill.format(\"video\", result.source, \"user\");\r\n },\r\n () => {});\r\n } else {\r\n this.quill.format(\"video\", false);\r\n }\r\n };\r\n showImageDialog = (value) => {\r\n if (value) {\r\n const selection = this.quill.getSelection(false);\r\n const articleDialog = this.modalService.open(ChooseVideoComponent, { size: \"lg\" });\r\n articleDialog.componentInstance.mediaType = \"image\";\r\n articleDialog\r\n .result\r\n .then((result: any) => {\r\n if (result == null) {\r\n return;\r\n }\r\n this.quill.setSelection(selection.index, selection.length);\r\n this.quill.format(\"image\", result.source, \"user\");\r\n },\r\n () => {});\r\n } else {\r\n this.quill.format(\"image\", false);\r\n }\r\n };\r\n\r\n static register(modalService, quill) {\r\n // ReSharper disable once WrongExpressionStatement\r\n new QuillHelper(modalService, quill);\r\n }\r\n}\r\n","import Quill from \"quill\";\r\n\r\nconst QuillLinkFormat: any = Quill.import(\"formats/link\");\r\n\r\nexport default class QuillLinkExtended extends QuillLinkFormat {\r\n static create(value): any {\r\n //ts-ignore\r\n// ReSharper disable once TsResolvedFromInaccessibleModule\r\n return super.create(value);\r\n }\r\n\r\n static sanitize(value) {\r\n //ts-ignore\r\n// ReSharper disable once TsResolvedFromInaccessibleModule\r\n return super.sanitize(value);\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\";\r\nimport { Article } from \"../models/Article\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { QuillHelper } from \"./QuillHelper\";\r\nimport * as QuillNamespace from \"quill\";\r\nimport BlotFormatter from \"quill-blot-formatter\";\r\nimport { ArticleService } from \"../../../shared/Services/article.service\";\r\n\r\nlet Quill: any = QuillNamespace;\r\nQuill.register(\"modules/blotFormatter\", BlotFormatter);\r\n\r\n@Component({\r\n selector: \"create-article\",\r\n templateUrl: \"./article.component.html\",\r\n styleUrls: [\"./article.component.less\"]\r\n})\r\nexport class ArticleComponent implements OnInit {\r\n title: string;\r\n article;\r\n isNew: boolean = false;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private articleService: ArticleService,\r\n private modalService: NgbModal) {\r\n \r\n }\r\n\r\n ngOnInit() {\r\n const id = this.route.snapshot.paramMap.get(\"id\");\r\n this.title = \"Edit Article\";\r\n this.article = new Article();\r\n this.isNew = false;\r\n if (id === \"0\") {\r\n this.isNew = true;\r\n this.title = \"New Article\";\r\n return;\r\n }\r\n this.articleService.getArticle(id).subscribe(article => {\r\n this.article = article;\r\n });\r\n }\r\n save() {\r\n var post;\r\n if (this.isNew) {\r\n post = this.articleService.add(this.article);\r\n } else {\r\n post = this.articleService.update(this.article);\r\n }\r\n post.subscribe(() => {\r\n this.router.navigate([\"admin\", \"content\", \"articles\"]);\r\n });\r\n }\r\n defaultModules = {\r\n toolbar: [\r\n [\"bold\", \"italic\", \"underline\", \"strike\"], \r\n [\"blockquote\", \"code-block\"],\r\n [{ list: \"ordered\" }, { list: \"bullet\" }],\r\n [{ script: \"sub\" }, { script: \"super\" }], \r\n [{ indent: \"-1\" }, { indent: \"+1\" }],\r\n [{ direction: \"rtl\" }],\r\n [{ size: [\"small\", false, \"large\", \"huge\"] }],\r\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\r\n [{ color: [] },{ background: [] }], \r\n [{ font: [\"Arial\",\"Open Sans\"] }],\r\n [{ align: [] }], \r\n [\"link\", \"image\", \"video\"], \r\n [\"clean\"]\r\n ],\r\n blotFormatter: {}\r\n };\r\n created(quill) {\r\n QuillHelper.register(this.modalService, quill);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Cancel\r\n \r\n Save\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Article } from \"../models/Article\";\r\nimport { ArticleService } from \"../../../shared/Services/article.service\";\r\n\r\n@Component({\r\n selector: \"create-articles\",\r\n templateUrl: \"./articles.component.html\",\r\n styleUrls: [\"./articles.component.less\"]\r\n})\r\nexport class ArticlesComponent implements OnInit {\r\n\r\n constructor(\r\n private articleService: ArticleService) {\r\n }\r\n\r\n articles: Article[] = [];\r\n\r\n ngOnInit() {\r\n this.articleService.loadArticles().subscribe(articles => {\r\n this.articles = articles;\r\n });\r\n }\r\n toggleMainPage(article: Article) {\r\n article.mainPage = !article.mainPage;\r\n this.articleService.update(article);\r\n }\r\n togglePublished(article: Article) {\r\n article.published = !article.published;\r\n this.articleService.update(article);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Articles

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TitleActions
\r\n {{article.title}}\r\n \r\n view |\r\n edit |\r\n delete\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Article } from \"../models/Article\";\r\nimport { NgbActiveModal, NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ChooseVideoComponent } from \"../choose-video/choose-video.component\";\r\nimport { ArticleService } from \"../../../shared/Services/article.service\";\r\n\r\n@Component({\r\n selector: \"create-choose-article-link\",\r\n templateUrl: \"./choose-article-link.component.html\",\r\n styleUrls: [\"./choose-article-link.component.less\"]\r\n})\r\nexport class ChooseArticleLinkComponent implements OnInit {\r\n articles: Article[];\r\n showAlert = false;\r\n constructor(public activeModal: NgbActiveModal,\r\n private modalService: NgbModal,\r\n private articleService: ArticleService) {\r\n }\r\n chooseMedia() {\r\n const articleDialog = this.modalService.open(ChooseVideoComponent, { size: \"lg\" });\r\n articleDialog.componentInstance.mediaType = \"\";\r\n articleDialog\r\n .result\r\n .then((result: any) => {\r\n if (result == null) {\r\n return;\r\n }\r\n this.link = result.source;\r\n }, () => { });\r\n }\r\n toggleSelected(article: Article) {\r\n let isSelected = !article.isSelected;\r\n if (isSelected) {\r\n this.showAlert = false;\r\n }\r\n this.articles.forEach(art => art.isSelected = false);\r\n article.isSelected = isSelected;\r\n this.link = `#/content-view/article/${article.id}`;\r\n }\r\n ngOnInit() {\r\n this.articleService.loadArticles().subscribe(articles => {\r\n this.articles = articles;\r\n });\r\n }\r\n ok() {\r\n var option = {\r\n link: this.link,\r\n target: this.target\r\n }\r\n this.activeModal.close(option);\r\n }\r\n\r\n link: string;\r\n target = \"\";\r\n}\r\n","
\r\n
\r\n
\r\n
Link Builder
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Link to an article.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{article.title}}\r\n
\r\n
\r\n
Choose Media
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Article } from \"../models/Article\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport * as _ from \"underscore\";\r\nimport { ArticleService } from \"../../../shared/Services/article.service\";\r\n\r\n@Component({\r\n selector: \"create-choose-article\",\r\n templateUrl: \"./choose-article.component.html\",\r\n styleUrls: [\"./choose-article.component.less\"]\r\n})\r\nexport class ChooseArticleComponent implements OnInit {\r\n articles: Article[];\r\n showAlert = false;\r\n constructor(public activeModal: NgbActiveModal,\r\n private articleService: ArticleService) {\r\n }\r\n toggleSelected(article: Article) {\r\n let isSelected = !article.isSelected;\r\n if (isSelected) {\r\n this.showAlert = false;\r\n }\r\n this.articles.forEach(art => art.isSelected = false);\r\n article.isSelected = isSelected;\r\n }\r\n ngOnInit() {\r\n this.articleService.loadArticles().subscribe(articles => {\r\n this.articles = articles;\r\n });\r\n }\r\n ok() {\r\n let selectedArticle = _.findWhere(this.articles, { isSelected: true });\r\n if (!selectedArticle) {\r\n this.showAlert = true;\r\n return;\r\n }\r\n this.activeModal.close(selectedArticle);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
Articles
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Please choose an article before continuing.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{article.title}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { MenuItem } from \"../models/MenuItem\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport * as _ from \"underscore\";\r\nimport { MenuItemsService } from \"../../../shared/Services/menu-items.service\";\r\n\r\n@Component({\r\n selector: \"create-choose-menu\",\r\n templateUrl: \"./choose-menu.component.html\",\r\n styleUrls: [\"./choose-menu.component.less\"]\r\n})\r\nexport class ChooseMenuComponent implements OnInit {\r\n\r\n articles: MenuItem[];\r\n showAlert = false;\r\n constructor(public activeModal: NgbActiveModal,\r\n private menuItemsService: MenuItemsService) {\r\n }\r\n toggleSelected(article: MenuItem) {\r\n let isSelected = !article.isSelected;\r\n if (isSelected) {\r\n this.showAlert = false;\r\n }\r\n this.articles.forEach(art => art.isSelected = false);\r\n article.isSelected = isSelected;\r\n }\r\n ngOnInit() {\r\n this.menuItemsService.getMenuItems().subscribe(articles => {\r\n this.articles = articles;\r\n });\r\n }\r\n ok() {\r\n let selectedArticle = _.findWhere(this.articles, { isSelected: true });\r\n if (!selectedArticle) {\r\n this.showAlert = true;\r\n return;\r\n }\r\n this.activeModal.close(selectedArticle);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
Articles
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Please choose an article before continuing.\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{article.title}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","export class MediaElement{\r\n id: number;\r\n isSelected: boolean = false;\r\n source: string;\r\n subtitle: string;\r\n thumb: string;\r\n title: string;\r\n fileType: string;\r\n}\r\n","import { Component, OnInit, OnDestroy, ViewChild, Input } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { NgbModal, NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MediaEditComponent } from \"../media-edit/media-edit.component\";\r\nimport { MediaElement } from \"./MediaElement\";\r\nimport * as _ from \"underscore\";\r\nimport { MediaService } from \"../../../shared/Services/media.service\";\r\n\r\n@Component({\r\n selector: \"create-choose-video\",\r\n templateUrl: \"./choose-video.component.html\",\r\n styleUrls: [\"./choose-video.component.less\"]\r\n})\r\nexport class ChooseVideoComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"file\") file;\r\n @Input() mediaType: \"video\" | \"image\" | \"\" = \"video\";\r\n page:number;\r\n subscription: Subscription;\r\n\r\n constructor(\r\n private mediaService: MediaService,\r\n private modalService: NgbModal,\r\n public activeService: NgbActiveModal) {\r\n }\r\n addMedia() {\r\n const mediaEditDialog = this.modalService.open(MediaEditComponent);\r\n mediaEditDialog.result.then((media) => {\r\n this.ngOnInit();\r\n });\r\n }\r\n editMedia(media) {\r\n const mediaEditDialog = this.modalService.open(MediaEditComponent);\r\n mediaEditDialog.componentInstance.loadMedia(media);\r\n mediaEditDialog.result.then((media) => {\r\n this.ngOnInit();\r\n });\r\n }\r\n ngOnInit() {\r\n this.subscription = this.mediaService.getMedia().subscribe(medium => {\r\n switch (this.mediaType) {\r\n case \"video\":\r\n this.medium = medium.filter(m => m.fileType.startsWith(\"video\"));\r\n break;\r\n case \"image\":\r\n this.medium = medium.filter(m => m.fileType.startsWith(\"image\"));\r\n break;\r\n default:\r\n this.medium = medium;\r\n break;\r\n }\r\n });\r\n }\r\n toggleMedia(mediaItem: MediaElement) {\r\n const isSelected = !mediaItem.isSelected;\r\n this.medium.forEach((media: MediaElement) => media.isSelected = false);\r\n mediaItem.isSelected = isSelected;\r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n ok() {\r\n let media = _.findWhere(this.medium, { isSelected: true });\r\n if (media == null) {\r\n\r\n return;\r\n }\r\n this.activeService.close(media);\r\n }\r\n medium: MediaElement[];\r\n}\r\n","
\r\n
\r\n
\r\n
Choose Media
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n \r\n
    \r\n
    Add Media
    \r\n
  • \r\n
  • \r\n
    \r\n edit\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    {{media.title}}
    \r\n
    {{media.subtitle}}
    \r\n
  • \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { ContentComponent } from \"./content.component\";\r\nimport { ArticlesComponent } from \"./articles/articles.component\";\r\nimport { ArticleComponent } from \"./article/article.component\";\r\nimport { AdminComponent } from \"./../admin.component\";\r\nimport { DeleteArticleComponent } from \"./delete-article/delete-article.component\";\r\nimport { MenuItemsComponent } from \"./menu-items/menu-items.component\";\r\nimport { MenuItemComponent } from \"./menu-item/menu-item.component\";\r\nimport { DeleteMenuItemComponent } from \"./delete-menu-item/delete-menu-item.component\";\r\nconst routes: Routes = [\r\n {\r\n path: \"admin\", \r\n component: AdminComponent,\r\n children: [\r\n {\r\n path: \"content\",\r\n component: ContentComponent,\r\n children: [\r\n { path: \"\", redirectTo: \"articles\", pathMatch: \"full\" },\r\n { path: \"articles\", component: ArticlesComponent },\r\n { path: \"article/:id\", component: ArticleComponent },\r\n { path: \"delete-article/:id\", component: DeleteArticleComponent },\r\n { path: \"menu-items\", component: MenuItemsComponent },\r\n { path: \"menu-item/:id\", component: MenuItemComponent },\r\n { path: \"delete-menu-item/:id\", component: DeleteMenuItemComponent }\r\n ]\r\n }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ContentRoutingModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\nimport Quill from \"quill\"\r\n\r\nconst parchment = Quill.import(\"parchment\");\r\nconst block = parchment.query(\"block\");\r\nblock.tagName = \"DIV\";\r\nQuill.register(block, true);\r\n\r\n@Component({\r\n selector: \"create-content\",\r\n templateUrl: \"./content.component.html\",\r\n styleUrls: [\"./content.component.less\"]\r\n})\r\nexport class ContentComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ContentComponent } from \"../../../Components/admin/content/content.component\";\r\nimport { ArticleComponent } from \"../../../Components/admin/content/article/article.component\";\r\nimport { ArticlesComponent } from \"./articles/articles.component\";\r\nimport { ContentRoutingModule } from \"./content-routing.module\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { QuillModule } from \"ngx-quill\";\r\nimport { DeleteArticleComponent } from \"../../../Components/admin/content/delete-article/delete-article.component\";\r\nimport { SharedModule } from \"../../shared/shared.module\";\r\nimport { MenuItemsComponent } from \"../../../Components/admin/content/menu-items/menu-items.component\";\r\nimport { MenuItemComponent } from \"../../../Components/admin/content/menu-item/menu-item.component\";\r\nimport { DeleteMenuItemComponent } from \"../../../Components/admin/content/delete-menu-item/delete-menu-item.component\";\r\nimport { ChooseArticleComponent } from \"../../../Components/admin/content/choose-article/choose-article.component\";\r\nimport { ChooseMenuComponent } from \"../../../Components/admin/content/choose-menu/choose-menu.component\";\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { ChooseArticleLinkComponent } from \"./choose-article-link/choose-article-link.component\";\r\nimport { ChooseVideoComponent } from \"./choose-video/choose-video.component\";\r\nimport { NgxPaginationModule } from \"ngx-pagination\";\r\nimport { MediaEditComponent } from \"./media-edit/media-edit.component\";\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ContentComponent,\r\n ArticleComponent,\r\n ArticlesComponent,\r\n DeleteArticleComponent,\r\n MenuItemsComponent,\r\n MenuItemComponent,\r\n DeleteMenuItemComponent,\r\n ChooseArticleComponent,\r\n ChooseMenuComponent,\r\n ChooseArticleLinkComponent,\r\n ChooseVideoComponent,\r\n MediaEditComponent\r\n ],\r\n imports: [\r\n ContentRoutingModule,\r\n SharedModule,\r\n CommonModule,\r\n FormsModule,\r\n DragDropModule,\r\n NgxPaginationModule,\r\n QuillModule.forRoot({\r\n modules: {},\r\n theme: \"snow\"\r\n })\r\n ]\r\n})\r\nexport class ContentModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Article } from \"../models/Article\";\r\nimport { ArticleService } from \"../../../shared/Services/article.service\";\r\n\r\n@Component({\r\n selector: \"create-delete-article\",\r\n templateUrl: \"./delete-article.component.html\",\r\n styleUrls: [\"./delete-article.component.less\"]\r\n})\r\nexport class DeleteArticleComponent implements OnInit {\r\n\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private articleService: ArticleService) { }\r\n\r\n\r\n ngOnInit() {\r\n const id = this.route.snapshot.paramMap.get(\"id\");\r\n this.article = new Article();\r\n if (id === \"0\") {\r\n return;\r\n }\r\n this.articleService.getArticle(id).subscribe(article => {\r\n this.article = article;\r\n });\r\n }\r\n delete() {\r\n this.articleService.delete(this.article.id).subscribe(() => {\r\n this.router.navigate([\"admin\", \"content\", \"articles\"]);\r\n });\r\n }\r\n article;\r\n}\r\n","
\r\n
Delete \"{{article.title}}\"?
\r\n
\r\n Cancel\r\n Delete\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { MenuItem } from \"../models/MenuItem\";\r\nimport { MenuItemsService } from \"../../../shared/Services/menu-items.service\";\r\n\r\n@Component({\r\n selector: \"create-delete-menu-item\",\r\n templateUrl: \"./delete-menu-item.component.html\",\r\n styleUrls: [\"./delete-menu-item.component.less\"]\r\n})\r\nexport class DeleteMenuItemComponent implements OnInit {\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private menuItemsService: MenuItemsService) { }\r\n\r\n\r\n ngOnInit() {\r\n const id = this.route.snapshot.paramMap.get(\"id\");\r\n this.menuItem = new MenuItem();\r\n if (id === \"0\") {\r\n return;\r\n }\r\n this.menuItemsService.getMenuItem(id).subscribe(menuItem => {\r\n this.menuItem = menuItem;\r\n });\r\n }\r\n delete() {\r\n this.menuItemsService.delete(this.menuItem.id).subscribe(() => {\r\n this.router.navigate([\"admin\", \"content\", \"menu-items\"]);\r\n });\r\n }\r\n menuItem: MenuItem;\r\n}\r\n","
\r\n
Delete \"{{menuItem.title}}\"?
\r\n
\r\n Cancel\r\n Delete\r\n
\r\n
\r\n","import { Component, OnInit, Input, ViewChild } from \"@angular/core\";\r\nimport { MediaElement } from \"../choose-video/MediaElement\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport * as _ from \"underscore\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { MediaService } from \"../../../shared/Services/media.service\";\r\n\r\n@Component({\r\n selector: \"create-media-edit\",\r\n templateUrl: \"./media-edit.component.html\",\r\n styleUrls: [\"./media-edit.component.less\"]\r\n})\r\nexport class MediaEditComponent implements OnInit {\r\n @Input() media: MediaElement;\r\n @ViewChild(\"sourceFile\") sourceFile;\r\n @ViewChild(\"thumbnailFile\") thumbnailFile;\r\n @ViewChild(\"videoPlayer\") videoPlayer;\r\n constructor(\r\n public modalService: NgbActiveModal,\r\n private mediaService: MediaService,\r\n private domSanitizer: DomSanitizer) { }\r\n\r\n addSource() {\r\n this.sourceFile.nativeElement.click();\r\n }\r\n onChangeSource($event) {\r\n var file: File = _.first(this.sourceFile.nativeElement.files);\r\n console.log(file);\r\n this.media.fileType = file.type;\r\n if (file.type.startsWith(\"image\")) {\r\n var reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n this.imageData = e.target.result;\r\n };\r\n reader.readAsDataURL(file);\r\n } else if (file.type.startsWith(\"video\")) {\r\n this.videoUrl = this.domSanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\r\n if (this.videoPlayer != null) {\r\n this.videoPlayer.nativeElement.load();\r\n }\r\n }\r\n if (this.media.title === \"\" || this.media.title == null) {\r\n this.media.title = file.name;\r\n }\r\n }\r\n\r\n addThumbnail() {\r\n this.thumbnailFile.nativeElement.click();\r\n }\r\n onChangeThumbnail($event) {\r\n var file: File = _.first(this.thumbnailFile.nativeElement.files);\r\n if (file.type.startsWith(\"image\")) {\r\n var reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n this.thumbnailData = e.target.result;\r\n };\r\n reader.readAsDataURL(file);\r\n } \r\n }\r\n ngOnInit() {\r\n if (this.media == null) {\r\n this.media = new MediaElement();\r\n }\r\n }\r\n loadMedia(media: MediaElement) {\r\n this.media = media;\r\n console.log(this.media);\r\n this.thumbnailData = this.domSanitizer.bypassSecurityTrustUrl(media.thumb);\r\n this.videoUrl = this.domSanitizer.bypassSecurityTrustUrl(media.source);\r\n if (this.videoPlayer != null) {\r\n this.videoPlayer.nativeElement.load();\r\n }\r\n }\r\n post(mediaElement: MediaElement) {\r\n if (mediaElement.id === 0 || mediaElement.id == null) {\r\n this.mediaService.putMediaElement(mediaElement).subscribe(() => {\r\n this.modalService.close(mediaElement);\r\n });\r\n } else {\r\n this.mediaService.postMediaElement(mediaElement).subscribe(() => {\r\n this.modalService.close(mediaElement);\r\n });\r\n }\r\n }\r\n postThumb(mediaElement: MediaElement) {\r\n if (this.thumbnailFile!=null && _.first(this.thumbnailFile.nativeElement.files) != null && this.media.fileType.startsWith(\"video\")) {\r\n this.mediaService.putMedia(_.first(this.thumbnailFile.nativeElement.files)).subscribe(thumbnail => {\r\n mediaElement.thumb = thumbnail;\r\n this.post(mediaElement);\r\n });\r\n\r\n } else {\r\n mediaElement.thumb = this.media.thumb;\r\n this.post(mediaElement);\r\n }\r\n }\r\n ok() {\r\n var newMediaElement = new MediaElement();\r\n newMediaElement.id = this.media.id;\r\n newMediaElement.fileType = this.media.fileType;\r\n newMediaElement.title = this.media.title;\r\n newMediaElement.subtitle = this.media.subtitle;\r\n if (_.first(this.sourceFile.nativeElement.files) != null) {\r\n this.mediaService.putMedia(_.first(this.sourceFile.nativeElement.files)).subscribe(path => {\r\n newMediaElement.source = path;\r\n this.postThumb(newMediaElement);\r\n });\r\n } else {\r\n newMediaElement.source = this.media.source;\r\n this.postThumb(newMediaElement);\r\n }\r\n }\r\n imageData = \"\";\r\n videoUrl;\r\n thumbnailData;\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
Choose Media
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Add Media\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { MenuItem } from \"../models/MenuItem\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ChooseArticleComponent } from \"../choose-article/choose-article.component\";\r\nimport { TemplateService } from \"../../../shared/Services/template.service\";\r\nimport { MenuItemsService } from \"../../../shared/Services/menu-items.service\";\r\nimport { MenuItemType } from \"../models/MenuItemType\";\r\n\r\n@Component({\r\n selector: \"create-menu-item\",\r\n templateUrl: \"./menu-item.component.html\",\r\n styleUrls: [\"./menu-item.component.less\"]\r\n})\r\nexport class MenuItemComponent implements OnInit {\r\n menuTypeDisabled: boolean;\r\n title: string;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private menuItemsService: MenuItemsService,\r\n public templateService: TemplateService,\r\n private modalService: NgbModal) { }\r\n\r\n\r\n ngOnInit() {\r\n const id = this.route.snapshot.paramMap.get(\"id\");\r\n this.title = \"Edit Menu Item\";\r\n this.menuItem = new MenuItem();\r\n this.isNew = false;\r\n if (id === \"0\") {\r\n this.isNew = true; \r\n this.title = \"New Menu Item\";\r\n return;\r\n }\r\n this.menuItemsService.getMenuItem(id).subscribe(menuItem => {\r\n this.menuItem = menuItem;\r\n this.updated();\r\n });\r\n }\r\n updated() {\r\n this.menuTypeDisabled = false;\r\n if (this.menuItem.menuPosition === \"survey-dialog\") {\r\n this.menuItem.menuItemType = MenuItemType.Article;\r\n this.menuTypeDisabled = true;\r\n }\r\n }\r\n getArticle() {\r\n let articleDialog = this.modalService.open(ChooseArticleComponent, { size: \"lg\" });\r\n articleDialog\r\n .result\r\n .then((result) => {\r\n this.menuItem.article = result;\r\n\r\n },() => {});\r\n }\r\n save() {\r\n let results;\r\n if (this.isNew) {\r\n results = this.menuItemsService.add(this.menuItem);\r\n } else {\r\n results = this.menuItemsService.update(this.menuItem);\r\n }\r\n results.subscribe(() => {\r\n this.router.navigate([\"admin\", \"content\", \"menu-items\"]);\r\n });\r\n }\r\n menuItem: MenuItem;\r\n isNew: boolean = false;\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{menuItem.article.title}}
\r\n Choose article\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Properties
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Cancel\r\n \r\n Save\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { MenuItem } from \"../models/MenuItem\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport * as _ from \"underscore\";\r\nimport { MenuItemsService } from \"../../../shared/Services/menu-items.service\";\r\n\r\n@Component({\r\n selector: \"create-menu-items\",\r\n templateUrl: \"./menu-items.component.html\",\r\n styleUrls: [\"./menu-items.component.less\"]\r\n})\r\nexport class MenuItemsComponent implements OnInit {\r\n menuItems: MenuItem[];\r\n\r\n constructor(\r\n private menuItemsService: MenuItemsService) {\r\n }\r\n\r\n drop(event: CdkDragDrop>) {\r\n moveItemInArray(this.menuItems, event.previousIndex, event.currentIndex);\r\n let z = 1;\r\n this.menuItems.forEach(layer => {\r\n layer.ordering = z++;\r\n });\r\n this.menuItemsService.saveOrdering(this.menuItems);\r\n }\r\n togglePublished(menuItem: MenuItem) {\r\n menuItem.published = !menuItem.published;\r\n this.menuItemsService.update(menuItem);\r\n }\r\n toggleDefault(menuItem: MenuItem) {\r\n this.menuItems.forEach(item => item.default = false);\r\n menuItem.default = true;\r\n this.menuItemsService.toggleDefault(menuItem).subscribe(item => {\r\n\r\n });\r\n }\r\n ngOnInit() {\r\n this.menuItemsService.getMenuItems().subscribe(menuItems => {\r\n this.menuItems = _.sortBy(menuItems, menuItem=>menuItem.ordering);\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

Menu Items

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Title
\r\n
Menu Position
\r\n
Default
\r\n
Menu Type
\r\n
Active
\r\n
Actions
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n edit |\r\n delete\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","export class Article {\r\n id: string;\r\n title: string;\r\n isSelected: boolean;\r\n published: boolean;\r\n mainPage: boolean;\r\n document: string;\r\n}\r\n","export class Guid {\r\n static newGuid() {\r\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, c => {\r\n var r = Math.random() * 16 | 0, v = c == \"x\" ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n}\r\n","import { Article } from \"./Article\";\r\nimport { MenuItemType } from \"./MenuItemType\";\r\n\r\nexport class MenuItem {\r\n id: string = \"\";\r\n title = \"\";\r\n articleId: string = null;\r\n article: Article;\r\n componentName = \"\";\r\n url = \"\";\r\n published = true;\r\n menuItemType = MenuItemType.Article;\r\n parent: MenuItem = null;\r\n isSelected: boolean;\r\n ordering: number;\r\n menuPosition = \"header\";\r\n default: boolean = false;\r\n allowOptOut: boolean = false;\r\n}\r\n","export enum MenuItemType {\r\n Article = 1,\r\n Component = 2,\r\n ExternalLink = 3\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { MedallionSize } from \"../../../Models\";\r\nimport { MedallionService } from \"../../shared/Services/medallion.service\";\r\n\r\n@Component({\r\n selector: \"create-delete-medallion\",\r\n templateUrl: \"./delete-medallion.component.html\",\r\n styleUrls: [\"./delete-medallion.component.less\"]\r\n})\r\nexport class DeleteMedallionComponent implements OnInit {\r\n medallionSize = new MedallionSize();\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private medallionService: MedallionService) {\r\n const id = +this.route.snapshot.paramMap.get(\"id\");\r\n this.medallionService.getMedallionSize(id).subscribe(medallionSize => {\r\n this.medallionSize = medallionSize;\r\n });\r\n }\r\n deleteMedallion() {\r\n this.medallionService.deleteMedallionSize(this.medallionSize).subscribe(() => {\r\n this.router.navigate([\"admin\", \"medallions\"]);\r\n });\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
Are you sure you want to remove {{medallionSize.title}}?
\r\n Delete | Back\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { MedallionSize } from \"../../../Models/index\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { MedallionService } from \"../../shared/Services/medallion.service\";\r\n\r\n@Component({\r\n selector: \"yw-edit-medallions\",\r\n templateUrl: \"./edit-medallions.component.html\",\r\n styleUrls: [\"./edit-medallions.component.less\"]\r\n})\r\nexport class AdminEditMedallionsComponent implements OnInit {\r\n medallion: MedallionSize = new MedallionSize();\r\n\r\n constructor(private route: ActivatedRoute,\r\n private router: Router,\r\n private medallionService: MedallionService) {\r\n const id = +this.route.snapshot.paramMap.get(\"id\");\r\n if (id === 0) {\r\n this.medallionService.addMedallionSize().subscribe(image => {\r\n this.medallion = image;\r\n });\r\n return;\r\n }\r\n this.medallionService.getMedallionSize(id).subscribe(image => {\r\n this.medallion = image;\r\n });\r\n \r\n }\r\n onSubmit() {\r\n this.medallionService.updateMedallionSize(this.medallion).subscribe(() => {\r\n this.router.navigate([\"/admin/medallions\"]);\r\n });\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
This is representative only and not completely accurate.
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { MedallionSize } from \"../../../Models/index\";\r\nimport { MedallionService } from \"../../shared/Services/medallion.service\";\r\n\r\n@Component({\r\n selector: \"yw-medallions\",\r\n templateUrl: \"./medallions.component.html\",\r\n styleUrls: [\"./medallions.component.less\"]\r\n})\r\nexport class AdminMedallionsComponent implements OnInit {\r\n medallionSizes: MedallionSize[];\r\n\r\n constructor(private medallionService: MedallionService) { }\r\n\r\n ngOnInit() {\r\n this.medallionService.loadMedallionSizes().subscribe(medallionSizes => {\r\n this.medallionSizes = medallionSizes;\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

Medallions

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TitleWidthHeightBleed SizeMultiplierAllow BleedMedallion CountPublishedActions
\r\n {{medallion.title}}\r\n \r\n {{medallion.width}}\"\r\n \r\n {{medallion.height}}\"\r\n \r\n {{medallion.bleedSize}}\"\r\n \r\n {{medallion.multiplier}} ×\r\n \r\n \r\n \r\n \r\n \r\n {{medallion.medallionCount}}\r\n \r\n \r\n \r\n \r\n \r\n edit\r\n 0\"\r\n [routerLink]=\"['../delete-medallion', medallion.id]\">delete\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { User } from \"../../../Models/index\";\r\nimport * as _ from \"underscore\";\r\nimport { UserService } from \"../../shared/Services/user.service\";\r\nimport { AuthenticationService } from \"../../shared/Services/authentication.service\";\r\n\r\n@Component({\r\n selector: \"create-user-edit\",\r\n templateUrl: \"./user-edit.component.html\",\r\n styleUrls: [\"./user-edit.component.less\"]\r\n})\r\nexport class UserEditComponent implements OnInit {\r\n user: User;\r\n userRoles = [{ name: \"Basic User\", id: 0 }, { name: \"Admin\", id: 100 }, { name: \"User Admin\", id: 150 }, { name: \"QA Admin\", id: 150 }, { name: \"System Admin\", id: 1000 }];\r\n constructor(private route: ActivatedRoute,\r\n private userService: UserService,\r\n private router: Router,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n const id = +this.route.snapshot.paramMap.get(\"id\");\r\n if (id === 0) {\r\n this.user = new User();\r\n return;\r\n }\r\n this.userService.getUser(id).subscribe(user => {\r\n this.user = user;\r\n });\r\n this.userRoles = _.filter(this.userRoles, role => this.valueRole(role));\r\n }\r\n\r\n valueRole(role):boolean {\r\n if (this.authenticationService.user.role < 1000) {\r\n return role.id < this.authenticationService.user.role;\r\n }\r\n return true;\r\n }\r\n saveUser() {\r\n this.userService.saveUser(this.user).subscribe(() => {\r\n this.router.navigate([\"admin\", \"userSearch\"]);\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Edit User

\r\n
\r\n
\r\n
\r\n
Id
\r\n
{{user.id}}
\r\n
\r\n
\r\n
Name
\r\n
{{user.name}}
\r\n
\r\n
\r\n
Email
\r\n
{{user.email}}
\r\n
\r\n
\r\n
Role
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Opt Out
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { User } from \"../../../Models/index\";\r\nimport * as _ from \"underscore\";\r\nimport { UserService } from \"../../shared/Services/user.service\";\r\n\r\n@Component({\r\n selector: \"create-user-search\",\r\n templateUrl: \"./user-search.component.html\",\r\n styleUrls: [\"./user-search.component.less\"]\r\n})\r\nexport class UserSearchComponent implements OnInit {\r\n constructor(private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n this.userService.getUsers().subscribe(users => {\r\n this.users = users;\r\n this.filterUsers();\r\n });\r\n }\r\n sort(event: string) {\r\n this.sortProperty = event;\r\n }\r\n filterUsers() {\r\n let filteredUsers = this.users;\r\n if (this.search.length > 0) {\r\n let search = this.search.toLowerCase();\r\n filteredUsers = _.filter(filteredUsers, user => this.searchUser(search, user));\r\n }\r\n this.filteredUsers = filteredUsers;\r\n }\r\n searchClicked() {\r\n this.filterUsers();\r\n }\r\n resetSurvey(user: User) {\r\n user.surveyDate = new Date(\"1900-01-01T01:00:00\");\r\n this.userService.saveUser(user).subscribe();\r\n console.log(user);\r\n }\r\n searchUser(search: string, user: User) {\r\n return user.name.indexOf(search) > -1 ||\r\n user.email.indexOf(search) > -1 ||\r\n user.id.toString().indexOf(search) > -1;\r\n }\r\n filteredUsers: User[];\r\n users: User[];\r\n search: string = \"\";\r\n sortProperty: string;\r\n page: number = 0;\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Id Name Email LocationsAction
\r\n {{user.id}}\r\n \r\n {{user.name}}\r\n \r\n {{user.email}}\r\n \r\n
\r\n
\r\n {{location.id}} - {{location.name}}\r\n
\r\n
\r\n
\r\n \r\n Reset Survey\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@Component({\r\n selector: \"create-alert-dialog\",\r\n templateUrl: \"./alert-dialog.component.html\",\r\n styleUrls: [\"./alert-dialog.component.less\"]\r\n})\r\nexport class AlertDialogComponent implements OnInit {\r\n\r\n constructor(public activeModal: NgbActiveModal, ) {\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

\r\n Invalid Image Type\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n Only valid types are jpeg or png.\r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AuthenticationService } from \"../shared/Services/authentication.service\";\r\n\r\n@Component({\r\n selector: \"create-authenticating\",\r\n templateUrl: \"./authenticating.component.html\",\r\n styleUrls: [\"./authenticating.component.less\"]\r\n})\r\nexport class AuthenticatingComponent implements OnInit {\r\n\r\n constructor(private route: ActivatedRoute,\r\n private authentication: AuthenticationService,\r\n private router: Router) { }\r\n\r\n ngOnInit() {\r\n const returnUrl = this.route.snapshot.queryParamMap.get(\"returnUrl\");\r\n this.authentication.getUser().subscribe(user => {\r\n if(!this.authentication.authenticating) {\r\n this.router.navigate([returnUrl]);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n Authenticating \r\n
\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@Component({\r\n selector: \"create-confirm-dialog\",\r\n templateUrl: \"./confirm-dialog.component.html\",\r\n styleUrls: [\"./confirm-dialog.component.less\"]\r\n})\r\nexport class ConfirmDialogComponent implements OnInit {\r\n\r\n @Input()\r\n title: string = \"Are you sure?\";\r\n @Input()\r\n message: string = \"This is a permanent change, are you sure?\";\r\n @Input()\r\n btnOkText: string = \"Ok\";\r\n @Input()\r\n btnCancelText: string= \"Cancel\";\r\n\r\n constructor(public activeModal: NgbActiveModal,) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n decline() {\r\n this.activeModal.close(false);\r\n }\r\n\r\n accept() {\r\n this.activeModal.close(true);\r\n }\r\n}\r\n","
\r\n
\r\n

{{ title }}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ message }}\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { Article } from \"../../admin/content/models/Article\";\r\nimport { ArticleService } from \"../../shared/Services/article.service\";\r\n\r\n@Component({\r\n selector: \"create-article-view\",\r\n templateUrl: \"./article-view.component.html\",\r\n styleUrls: [\"./article-view.component.less\"]\r\n})\r\nexport class ArticleViewComponent implements OnInit, OnDestroy {\r\n constructor(private route: ActivatedRoute,\r\n private articleService: ArticleService) { }\r\n\r\n\r\n ngOnInit() {\r\n this.subscribe = this.route.params.subscribe(params => {\r\n const id = params[\"id\"];\r\n this.article = new Article();\r\n if (id === \"0\") {\r\n return;\r\n }\r\n this.articleService.getArticle(id).subscribe(article => {\r\n this.article = article;\r\n });\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.subscribe.unsubscribe();\r\n }\r\n subscribe;\r\n article: Article;\r\n}\r\n","
\r\n

\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"create-content-view\",\r\n templateUrl: \"./content-view.component.html\",\r\n styleUrls: [\"./content-view.component.less\"]\r\n})\r\nexport class ContentViewComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { ContentRouterModule } from \"./router/content-view-router.module\";\r\nimport { ArticleViewComponent } from \"./article/article-view.component\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ContentViewComponent } from \"./content-view.component\";\r\nimport { SharedModule } from \"../shared/shared.module\";\r\nimport { MenuComponent } from \"../../Components/content/menu/menu.component\";\r\nimport { MenuViewItemComponent } from \"../../Components/content/menu-view-item/menu-view-item.component\";\r\n\r\n@NgModule({\r\n declarations: [\r\n ContentViewComponent,\r\n ArticleViewComponent,\r\n MenuComponent,\r\n MenuViewItemComponent\r\n ],\r\n imports: [\r\n SharedModule,\r\n CommonModule,\r\n NgbModule,\r\n ContentRouterModule\r\n ],\r\n exports: [MenuComponent]\r\n})\r\nexport class ContentViewModule { }\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { MenuItem } from \"../../admin/content/models/MenuItem\";\r\nimport { MenuItemsService } from \"../../shared/Services/menu-items.service\";\r\n\r\n@Component({\r\n selector: \"create-menu-view-item\",\r\n templateUrl: \"./menu-view-item.component.html\",\r\n styleUrls: [\"./menu-view-item.component.less\"]\r\n})\r\nexport class MenuViewItemComponent implements OnInit {\r\n @Input() menuItem: MenuItem = new MenuItem();\r\n constructor(private menuItemsService: MenuItemsService) { }\r\n\r\n ngOnInit() {\r\n }\r\n activateLink() {\r\n this.menuItemsService.navigate(this.menuItem);\r\n }\r\n}\r\n","\r\n {{menuItem.title}}\r\n\r\n\r\n {{menuItem.title}}\r\n\r\n\r\n {{menuItem.title}}\r\n\r\n","import { Component, OnInit, OnDestroy,HostListener, Input } from \"@angular/core\";\r\nimport { MenuItem } from \"../../admin/content/models/MenuItem\";\r\nimport * as _ from \"underscore\";\r\nimport { MenuItemsService } from \"../../shared/Services/menu-items.service\";\r\n\r\n@Component({\r\n selector: \"create-menu\",\r\n templateUrl: \"./menu.component.html\",\r\n styleUrls: [\"./menu.component.less\"]\r\n})\r\nexport class MenuComponent implements OnInit, OnDestroy {\r\n menuItems: MenuItem[];\r\n isOpen: boolean = false;\r\n @Input() menuPosition = \"header\";\r\n @Input() type: \"dropdown\" | \"navbar\" = \"dropdown\";\r\n @HostListener(\"document:click\", [\"$event\"])\r\n outerClick(event: MouseEvent) {\r\n var target = (event.target as HTMLElement);\r\n if (target.id !== \"dropdownMenuButton\" && target.id !== \"dropdownMenuButtonIcon\") {\r\n this.isOpen = false;\r\n }\r\n }\r\n constructor(private menuItemsService: MenuItemsService) {}\r\n\r\n closeMenu() {\r\n setTimeout(() => {\r\n this.isOpen = false;\r\n }, 10);\r\n }\r\n\r\n ngOnInit() { \r\n this.menuItemsService.getMenuItems();\r\n this.subscribe = this.menuItemsService.menuItems.subscribe(menuItems => {\r\n if (menuItems == null) {\r\n return;\r\n }\r\n let filtered = menuItems.filter(menuItem => menuItem.menuPosition === this.menuPosition);\r\n this.menuItems = _.sortBy(filtered.filter(m => m.published), menuItem => menuItem.ordering);\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.subscribe.unsubscribe();\r\n }\r\n\r\n subscribe;\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { ArticleViewComponent } from \"../article/article-view.component\";\r\nimport { ContentViewComponent } from \"../content-view.component\";\r\nconst routes: Routes = [\r\n {\r\n path: \"content-view\",\r\n component: ContentViewComponent,\r\n children: [\r\n { path: \"\", redirectTo: \"article\", pathMatch: \"full\" },\r\n { path: \"article\", component: ArticleViewComponent },\r\n { path: \"article/:id\", component: ArticleViewComponent }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class ContentRouterModule { }\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { ApplicationService } from \"../shared/Services/application-service.service\";\r\n\r\n@Component({\r\n selector: \"app-create-footer\",\r\n templateUrl: \"./create-footer.component.html\",\r\n styleUrls: [\"./create-footer.component.css\"]\r\n})\r\nexport class CreateFooterComponent implements OnInit {\r\n currentYear = 0;\r\n currentVersion = \"\";\r\n\r\n constructor(public applicationService: ApplicationService) {\r\n this.currentYear = (new Date()).getFullYear();\r\n this.currentVersion = \"1.0\";\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\"Batesville
\r\n
© 2023 Batesville Services,LLC
\r\n
One Batesville Boulevard
\r\n
Batesville, IN 47006
\r\n
812.934.7500
\r\n \r\n
\r\n
\r\n
© 2023 Batesville Services, LLC
\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ILocation, IUser} from \"../../Interfaces/index\";\r\nimport { CreateService } from \"../shared/Services/create.service\";\r\nimport { AuthenticationService } from \"../shared/Services/authentication.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport * as _ from 'underscore';\r\n\r\n@Component({\r\n selector: \"app-create-header\",\r\n templateUrl: \"./create-header.component.html\",\r\n styleUrls: [\"./create-header.component.less\"]\r\n})\r\nexport class CreateHeaderComponent implements OnInit, OnDestroy {\r\n locationList: any[] = [];\r\n locationSearch: string = '';\r\n filteredLocations: any[];\r\n page = 1;\r\n pageSize = 10;\r\n subscription;\r\n selectedLocation: ILocation;\r\n ngOnInit(): void {\r\n\r\n // this.authenticationService.getUser().subscribe(data => {\r\n this.filteredLocations = this.authenticationService.user.locations;\r\n this.locationList = this.authenticationService.user.locations;\r\n // });\r\n \r\n this.filterLocations();\r\n this.subscription = this.authenticationService.selectedLocation.subscribe(location => {\r\n this.selectedLocation = location;\r\n });\r\n //YW - 132 - Add return to Batesville.com button\r\n this.subscription2 = this.createService.appSettings.subscribe(Url => {\r\n if (Url == null)\r\n return\r\n this.returnUrl = Url.url; console.log(Url);\r\n //YW - 132 - Add return to Batesville.com button\r\n })\r\n }\r\n userSearch = \"\";\r\n //YW - 132 - Add return to Batesville.com button\r\n subscription2: any;\r\n returnUrl = \"\";\r\n updateSearch() {\r\n\r\n }\r\n cancelBubble($event: Event) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n //YW - 132 - Add return to Batesville.com button\r\n this.subscription2.unsubscribe();\r\n }\r\n\r\n constructor(private router: Router,\r\n public createService: CreateService,\r\n public authenticationService: AuthenticationService) {\r\n console.log(\"abc\",authenticationService.user.locations)\r\n }\r\n\r\n selectLocation(location) {\r\n this.authenticationService.selectedLocation.next(location);\r\n }\r\n\r\n clickInput($event:MouseEvent) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n filterLocations() {\r\n var search = this.locationSearch.toLowerCase();\r\n this.page = 1;\r\n this.filteredLocations = _.filter(this.locationList,\r\n location => location.name.toLowerCase().indexOf(search) > -1 ||\r\n location.id.toString().indexOf(search) > -1);\r\n } \r\n}\r\n","
\r\n
\r\n \r\n \r\n \"Batesville\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Viewing: {{ selectedLocation.id }} - {{ selectedLocation.name }} \r\n
\r\n
\r\n \r\n
10\">\r\n \r\n
\r\n {{location.id}}-{{location.name}}\r\n
No locations found!
\r\n
10\">\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{ authenticationService.user.name }} \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Login \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport * as _ from \"underscore\";\r\nimport { MenuItemsService } from \"../shared/Services/menu-items.service\";\r\n\r\n@Component({\r\n selector: \"create-default\",\r\n templateUrl: \"./default.component.html\",\r\n styleUrls: [\"./default.component.less\"]\r\n})\r\nexport class DefaultComponent implements OnInit, OnDestroy {\r\n subscription: Subscription;\r\n\r\n constructor(private menuItemsService: MenuItemsService) {}\r\n\r\n ngOnInit() {\r\n this.subscription = this.menuItemsService.menuItems.subscribe(menuItems => {\r\n if (menuItems == null) return;\r\n const defaultMenuItem = _.findWhere(menuItems, { default: true });\r\n this.menuItemsService.navigate(defaultMenuItem);\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n}\r\n","
Loading
\r\n","import { Component, OnInit, OnDestroy, HostListener, ViewChild } from \"@angular/core\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Size } from \"../../Models/Size\";\r\nimport { Project, Medallion } from \"../../Models/index\";\r\nimport { MedallionEditorComponent } from \"./medallion-editor/medallion-editor.component\";\r\nimport { Subscription } from \"rxjs\";\r\nimport * as $ from \"jquery\";\r\nimport { CreateService } from \"../shared/Services/create.service\";\r\nimport { CreateSettingsService } from \"../shared/Services/create-settings.service\";\r\nimport { AuthenticationService } from \"../shared/Services/authentication.service\";\r\nimport { MedallionService } from \"../shared/Services/medallion.service\";\r\nimport { ApplicationService } from \"../shared/Services/application-service.service\";\r\nimport { MenuItemsService } from \"../shared/Services/menu-items.service\";\r\n\r\n@Component({\r\n selector: \"app-designer\",\r\n templateUrl: \"./designer.component.html\",\r\n styleUrls: [\"./designer.component.css\"],\r\n host: { \"id\": \"project-container\" }\r\n})\r\nexport class DesignerComponent implements OnInit, OnDestroy {\r\n private sub: any;\r\n container = new Size();\r\n project: Project = null;\r\n\r\n\r\n @ViewChild(MedallionEditorComponent) medallionEditorChild: MedallionEditorComponent;\r\n\r\n @HostListener(\"window:resize\", [\"$event\"])\r\n onResize(event) {\r\n this.setSize();\r\n }\r\n\r\n constructor(public createService: CreateService,\r\n private createSettingsService: CreateSettingsService,\r\n private authenticationService: AuthenticationService,\r\n private medallionService: MedallionService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private menuItemsService: MenuItemsService,\r\n private applicationService: ApplicationService) {\r\n\r\n }\r\n checkName() {\r\n if (this.project.title === \"\" || this.project.title == null) {\r\n this.project.title = \"Unnamed Project\";\r\n this.titleChanged();\r\n }\r\n }\r\n openedFull(isOpen: boolean) {\r\n this.medallionEditorChild.resetOverlay();\r\n }\r\n setSize() {\r\n let headerHeight = 61;\r\n if ($(\"body\").hasClass(\"has-nav-bar\")) {\r\n headerHeight += 32;\r\n }\r\n const footerHeight = 35;\r\n const padding = 30;\r\n const w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\r\n const h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\r\n this.container.height = h - headerHeight - footerHeight - padding;\r\n this.container.width = w;\r\n }\r\n titleChanged() {\r\n this.createService.updateProject(this.project);\r\n }\r\n medallionChanged(event) {\r\n //console.log(JSON.stringify(this.project));\r\n //this.CreateService.updateProject(this.project);\r\n }\r\n completeProject() {\r\n this.project.completed = true;\r\n window.open('/Print/ViewPrint/' + this.project.id);\r\n setTimeout(() => {\r\n this.router.navigate([\"projects\"]);\r\n },\r\n 500);\r\n }\r\n ngOnInit() {\r\n this.createService.currentMedallion.next(null);\r\n this.applicationService.condensedFooter = true;\r\n //this.authenticationService.changeLocationAllowed = false;\r\n this.setSize();\r\n const id = this.route.snapshot.paramMap.get(\"id\");\r\n this.subscriptions.push(this.medallionService.loadMedallionSizes().subscribe(() => {\r\n this.subscriptions.push(this.createService.getProject(id).subscribe(project => {\r\n if (project.medallions == null) {\r\n project.medallions = new Array();\r\n }\r\n for (let i = 0; i < project.medallions.length; i++) {\r\n const size = this.medallionService.getSize(project.medallions[i].size.id);\r\n project.medallions[i] = Medallion.bindMedallion(project.medallions[i], this.createSettingsService);\r\n project.medallions[i].size = size;\r\n }\r\n this.project = project;\r\n this.createService.project$.next(project);\r\n this.createService.currentProject = project;\r\n }));\r\n }));\r\n this.subscriptions.push(this.menuItemsService.menuItems.subscribe(() => {\r\n this.setSize();\r\n }));\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n subscriptions: Subscription[] = [];\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Saving!\r\n \r\n Preview\r\n \r\n Print\r\n \r\n |\r\n Close\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { CreateCanvasEvent } from \"../../../../Models/CreateCanvasEvent\";\r\nimport { Point, Medallion } from \"../../../../Models/index\";\r\nimport { CreateSettingsService } from \"../../../shared/Services/create-settings.service\";\r\n\r\nexport class WorkSpaceElement {\r\n constructor(private workspace,\r\n private createSettings: CreateSettingsService) {\r\n this.container = this.workspace.find(\".canvas-container\");\r\n return;\r\n }\r\n\r\n mouseDown(event: MouseEvent) {\r\n var cameraEvent = this.createEvent(event);\r\n this.dragging = true;\r\n this.offset = new Point(cameraEvent.pageX, cameraEvent.pageY);\r\n this.originalPan = new Point(this.pan.x, this.pan.y);\r\n }\r\n\r\n mouseUp() {\r\n this.dragging = false;\r\n }\r\n\r\n mouseMove(event: MouseEvent) {\r\n if (this.dragging) {\r\n var cameraEvent = this.createEvent(event);\r\n this.pan.x = this.originalPan.x + (cameraEvent.pageX - this.offset.x);\r\n this.pan.y = this.originalPan.y + (cameraEvent.pageY - this.offset.y);\r\n }\r\n }\r\n\r\n createEvent(mouseEvent: MouseEvent) {\r\n var event = new CreateCanvasEvent();\r\n let workspaceWidth = this.workspace.width();\r\n let workspaceHeight = this.workspace.height();\r\n let halfWidth = (workspaceWidth / 2);\r\n let halfHeight = (workspaceHeight / 2);\r\n var zoom = this.createSettings.zoom.current;\r\n var trueOffset = this.getOffset(mouseEvent);\r\n var newPageOffset = new Point(\r\n (((workspaceWidth - trueOffset.x - halfWidth) / zoom) - this.canvasOffset.x) * -1,\r\n (((workspaceHeight - trueOffset.y - halfHeight) / zoom) - this.canvasOffset.y) * -1\r\n );\r\n event.pageX = newPageOffset.x;\r\n event.pageY = newPageOffset.y;\r\n event.shiftKey = mouseEvent.shiftKey;\r\n event.ctrlKey = mouseEvent.ctrlKey;\r\n event.altKey = mouseEvent.altKey;\r\n return event;\r\n }\r\n\r\n setOffset(point: Point) {\r\n this.canvasOffset = point;\r\n }\r\n\r\n private getOffset(mouseEvent: MouseEvent): Point {\r\n var offset = this.workspace.offset();\r\n var offsetPoint = new Point(offset.left, offset.top);\r\n var page = new Point(mouseEvent.pageX, mouseEvent.pageY);\r\n return new Point(\r\n page.x - offsetPoint.x,\r\n page.y - offsetPoint.y\r\n );\r\n }\r\n capture(medallion: Medallion) {\r\n if (medallion.size == null) {\r\n return;\r\n }\r\n var current = JSON.stringify(medallion);\r\n if (this.currentMedallion !== current) {\r\n this.currentMedallion = current;\r\n this.history.push(current);\r\n var canvas = document.createElement(\"canvas\");\r\n if (medallion.bleeding) {\r\n canvas.height = medallion.size.printHeight * this.createSettings.pixelsPerInch;\r\n canvas.width = medallion.size.printWidth * this.createSettings.pixelsPerInch;\r\n }\r\n else {\r\n canvas.height = medallion.size.height * this.createSettings.pixelsPerInch;\r\n canvas.width = medallion.size.width * this.createSettings.pixelsPerInch;\r\n }\r\n var ctx = canvas.getContext(\"2d\");\r\n ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n ctx.fillStyle = medallion.backgroundColor;\r\n ctx.fillRect(0, 0, canvas.width, canvas.height);\r\n if (medallion.layout) {\r\n medallion.layout.forEach(layer => {\r\n ctx.drawImage(layer.image, layer.x, layer.y, layer.width, layer.height);\r\n });\r\n }\r\n medallion.thumbnail = canvas.toDataURL();\r\n }\r\n }\r\n dragging: boolean = false;\r\n container;\r\n canvasOffset = new Point(0, 0);\r\n pan = new Point(0, 0);\r\n offset = new Point(0, 0);\r\n originalPan = new Point(0, 0);\r\n currentMedallion: string;\r\n history = new Array();\r\n\r\n resetPan() {\r\n this.pan = new Point(this.pan.x, this.pan.y);\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges, HostListener, EventEmitter, Output } from \"@angular/core\";\r\nimport { WorkSpaceElement } from \"../WorkSpaceElement\";\r\nimport { MedallionImage } from \"../../../../../Models/MedallionImage\";\r\nimport { DragAction } from \"../../../../../Models/DragAction\";\r\nimport { Rectangle } from \"../../../../../Models/Rectangle\";\r\nimport { Medallion, Point } from \"../../../../../Models/index\";\r\n\r\n@Component({\r\n selector: \"yw-editor-medallion-image\",\r\n templateUrl: \"./editor-medallion-image.component.html\",\r\n styleUrls: [\"./editor-medallion-image.component.less\"]\r\n})\r\nexport class EditorMedallionImageComponent implements OnInit, OnChanges {\r\n @Input()\r\n zoom: number = .16;\r\n @Input()\r\n layer: MedallionImage;\r\n @Input()\r\n imageX: number;\r\n @Input()\r\n imageY: number;\r\n @Input()\r\n imageHeight: number;\r\n @Input()\r\n imageWidth: number;\r\n @Input()\r\n workspace: WorkSpaceElement;\r\n @Input()\r\n medallion: Medallion;\r\n\r\n @Output() changed = new EventEmitter();\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.ngOnInit();\r\n }\r\n\r\n ngOnInit() {\r\n this.width = this.imageWidth * this.zoom;\r\n this.height = this.imageHeight * this.zoom;\r\n this.x = this.imageX * this.zoom;\r\n this.y = this.imageY * this.zoom;\r\n }\r\n mousedown(event: MouseEvent, action: DragAction) {\r\n if (event.ctrlKey) {\r\n return;\r\n }\r\n if (!this.layer.active) {\r\n this.medallion.layout.forEach(layer => layer.active = false);\r\n this.layer.active = true;\r\n }\r\n this.currentAction = action;\r\n this.pageOffset = new Point(event.pageX, event.pageY);\r\n this.startOffset = new Point(event.pageX, event.pageY);\r\n this.startRect = new Rectangle(this.x, this.y, this.width, this.height);\r\n event.preventDefault();\r\n event.cancelBubble = true;\r\n }\r\n\r\n @HostListener(\"document:mousemove\", [\"$event\"])\r\n mouseMove(event: MouseEvent) {\r\n switch (this.currentAction) {\r\n case DragAction.None:\r\n return;\r\n case DragAction.Move:\r\n this.moveEvent(event);\r\n break;\r\n case DragAction.ScaleBottom:\r\n case DragAction.ScaleBottomLeft:\r\n case DragAction.ScaleBottomRight:\r\n case DragAction.ScaleTop:\r\n case DragAction.ScaleTopLeft:\r\n case DragAction.ScaleTopRight:\r\n case DragAction.ScaleLeft:\r\n case DragAction.ScaleRight:\r\n this.scaleEvent(event);\r\n }\r\n }\r\n\r\n @HostListener(\"document:mouseup\", [])\r\n mouseUp() {\r\n if (this.currentAction !== DragAction.None) {\r\n this.changed.emit({ action: this.currentAction, element: this });\r\n this.currentAction = DragAction.None;\r\n }\r\n }\r\n\r\n scaleEvent(event: MouseEvent) {\r\n let rect = new Rectangle(0, 0, 0, 0);\r\n\r\n var offset = new Point(event.pageX, event.pageY);\r\n var diff = new Point(offset.x - this.pageOffset.x, offset.y - this.pageOffset.y);\r\n\r\n switch (this.currentAction) {\r\n case DragAction.ScaleBottom:\r\n case DragAction.ScaleBottomLeft:\r\n case DragAction.ScaleBottomRight:\r\n rect.height = this.startRect.height + diff.y;\r\n rect.y = this.startRect.y;\r\n break;\r\n case DragAction.ScaleTop:\r\n case DragAction.ScaleTopLeft:\r\n case DragAction.ScaleTopRight:\r\n rect.height = this.startRect.height - diff.y;\r\n rect.y = this.startRect.y + diff.y;\r\n break;\r\n default:\r\n rect.height = this.startRect.height;\r\n rect.y = this.startRect.y;\r\n }\r\n switch (this.currentAction) {\r\n case DragAction.ScaleBottomRight:\r\n case DragAction.ScaleTopRight:\r\n case DragAction.ScaleRight:\r\n rect.width = this.startRect.width + diff.x;\r\n rect.x = this.startRect.x;\r\n break;\r\n case DragAction.ScaleTopLeft:\r\n case DragAction.ScaleBottomLeft:\r\n case DragAction.ScaleLeft:\r\n rect.width = this.startRect.width - diff.x;\r\n rect.x = this.startRect.x + diff.x;\r\n break;\r\n default:\r\n rect.width = this.startRect.width;\r\n rect.x = this.startRect.x;\r\n break;\r\n }\r\n\r\n if (event.shiftKey) {\r\n this.updateLayer(rect);\r\n }\r\n else {\r\n let wPercent = rect.width / this.width;\r\n let hPercent = rect.height / this.height;\r\n var minPercent = Math.min(wPercent, hPercent);\r\n rect.width = this.width * minPercent;\r\n rect.height = this.height * minPercent;\r\n this.updateLayer(rect);\r\n }\r\n }\r\n updateLayer(rect: Rectangle) {\r\n this.layer.x = rect.x / this.zoom;\r\n this.layer.y = rect.y / this.zoom;\r\n this.layer.width = rect.width / this.zoom;\r\n this.layer.height = rect.height / this.zoom;\r\n }\r\n moveEvent(event: MouseEvent) {\r\n let snapSize = 3;\r\n var offset = new Point(event.pageX, event.pageY);\r\n var diff = new Point(offset.x - this.pageOffset.x, offset.y - this.pageOffset.y);\r\n this.pageOffset = offset;\r\n let x = this.x + diff.x;\r\n let y = this.y + diff.y;\r\n //check for snap\r\n if (x < snapSize && x > -snapSize) {\r\n x = 0;\r\n }\r\n if (y < snapSize && y > -snapSize) {\r\n y = 0;\r\n }\r\n if (this.medallion.bleeding) {\r\n if (((x + this.width) - ((this.medallion.size.printWidth * 300) * this.zoom)) < snapSize &&\r\n ((x + this.width) - ((this.medallion.size.printWidth * 300) * this.zoom)) > -snapSize) {\r\n x = ((this.medallion.size.printWidth * 300) * this.zoom) - this.width;\r\n }\r\n if (((y + this.height) - ((this.medallion.size.printHeight * 300) * this.zoom)) < snapSize &&\r\n ((y + this.height) - ((this.medallion.size.printHeight * 300) * this.zoom)) > -snapSize) {\r\n y = ((this.medallion.size.printHeight * 300) * this.zoom) - this.height;\r\n }\r\n }\r\n else {\r\n if (((x + this.width) - ((this.medallion.size.width * 300) * this.zoom)) < snapSize &&\r\n ((x + this.width) - ((this.medallion.size.width * 300) * this.zoom)) > -snapSize) {\r\n x = ((this.medallion.size.width * 300) * this.zoom) - this.width;\r\n }\r\n if (((y + this.height) - ((this.medallion.size.height * 300) * this.zoom)) < snapSize &&\r\n ((y + this.height) - ((this.medallion.size.height * 300) * this.zoom)) > -snapSize) {\r\n y = ((this.medallion.size.height * 300) * this.zoom) - this.height;\r\n }\r\n }\r\n this.layer.x = x / this.zoom;\r\n this.layer.y = y / this.zoom;\r\n }\r\n\r\n\r\n width: number;\r\n height: number;\r\n x: number;\r\n y: number;\r\n currentAction: DragAction = DragAction.None;\r\n offset: Point;\r\n pageOffset: Point;\r\n startRect: Rectangle;\r\n startOffset: Point;\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges, HostListener, EventEmitter, Output, ViewChild } from \"@angular/core\";\r\nimport * as _ from \"underscore\";\r\nimport * as $ from \"jquery\";\r\nimport { WorkSpaceElement } from \"./WorkSpaceElement\";\r\nimport { WorkspaceOverlayComponent } from \"./workspace-overlay/workspace-overlay.component\";\r\nimport { ZoomLevel } from \"../../../../Models/ZoomLevel\";\r\nimport { MedallionImage } from \"../../../../Models/MedallionImage\";\r\nimport { Rectangle } from \"../../../../Models/Rectangle\";\r\nimport { DragAction } from \"../../../../Models/DragAction\";\r\nimport { CreateCanvasEvent } from \"../../../../Models/CreateCanvasEvent\";\r\nimport { Medallion, MedallionSize, Point } from \"../../../../Models/index\";\r\nimport { CreateSettingsService } from \"../../../shared/Services/create-settings.service\";\r\nimport { CreateService } from \"../../../shared/Services/create.service\";\r\n\r\n@Component({\r\n selector: \"yw-medallion-canvas-html\",\r\n templateUrl: \"./medallion-canvas-html.component.html\",\r\n styleUrls: [\"./medallion-canvas-html.component.less\"]\r\n})\r\nexport class MedallionCanvasHtmlComponent implements OnInit, OnChanges {\r\n @ViewChild(WorkspaceOverlayComponent) workspaceOverlayChild: WorkspaceOverlayComponent;\r\n @Input() zoom: ZoomLevel;\r\n @Input() medallion = new Medallion(this.createSettings);\r\n @Input() size = new MedallionSize();\r\n @Input() bleeding = false;\r\n @Output() changed = new EventEmitter();\r\n\r\n @HostListener(\"window:resize\", [])\r\n resize() {\r\n this.refresh();\r\n this.workspace.resetPan();\r\n }\r\n constructor(private createSettings: CreateSettingsService,\r\n private createService: CreateService) {\r\n }\r\n\r\n refreshOverlay() {\r\n setTimeout(() => {\r\n this.refresh();\r\n this.workspace.resetPan();\r\n this.workspaceOverlayChild.setElementSize();\r\n },\r\n 5);\r\n }\r\n\r\n updateImage() {\r\n this.workspace.capture(this.medallion);\r\n }\r\n imageChanged(event) {\r\n this.changed.emit(event);\r\n }\r\n\r\n deleteActiveLayer() {\r\n var activeLayer: MedallionImage = _.findWhere(this.medallion.layout, { active: true });\r\n if (activeLayer) {\r\n this.createService.deleteMedallionImage(activeLayer).subscribe(() => {\r\n this.medallion.layout = _.without(this.medallion.layout, activeLayer);\r\n this.changed.emit({ action: \"Remove Layer\", element: activeLayer });\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n var canvas = $(\".outer-container\");\r\n this.workspace = new WorkSpaceElement(canvas, this.createSettings);\r\n }\r\n refresh() {\r\n if (this.size) {\r\n let canvasWidth: number;\r\n let canvasHeight: number;\r\n if (this.bleeding) {\r\n canvasWidth = this.size.printWidth * this.createSettings.pixelsPerInch;\r\n canvasHeight = this.size.printHeight * this.createSettings.pixelsPerInch;\r\n }\r\n else {\r\n canvasWidth = this.size.width * this.createSettings.pixelsPerInch;\r\n canvasHeight = this.size.height * this.createSettings.pixelsPerInch;\r\n }\r\n this.canvas = new Rectangle(\r\n canvasWidth / 2 * -1,\r\n canvasHeight / 2 * -1,\r\n canvasWidth,\r\n canvasHeight);\r\n var printWidth = this.size.width * this.createSettings.pixelsPerInch;\r\n var printHeight = this.size.height * this.createSettings.pixelsPerInch;\r\n this.printContainer = new Rectangle(\r\n (canvasWidth - printWidth) / 2,\r\n (canvasHeight - printHeight) / 2,\r\n printWidth,\r\n printHeight);\r\n if (this.workspace) {\r\n this.workspace.setOffset(new Point(canvasWidth / 2, canvasWidth / 2));\r\n }\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.refresh();\r\n }\r\n waitEmit:any;\r\n updateActive(x: number, y: number) {\r\n var activeLayer: MedallionImage = _.findWhere(this.medallion.layout, { active: true });\r\n if (activeLayer) {\r\n activeLayer.x += (x / this.zoom.current);\r\n activeLayer.y += (y / this.zoom.current);\r\n if (this.waitEmit) {\r\n clearTimeout(this.waitEmit);\r\n }\r\n this.waitEmit = setTimeout(() => {\r\n this.changed.emit({ action: DragAction.Move, element: activeLayer });\r\n },\r\n 500);\r\n }\r\n else {\r\n this.workspace.pan.x += (x / this.zoom.current);\r\n this.workspace.pan.y += (y / this.zoom.current);\r\n }\r\n }\r\n\r\n setActive(image) {\r\n this.medallion.layout.forEach(img => img.active = false);\r\n if (image) {\r\n image.active = true;\r\n }\r\n }\r\n\r\n getActiveLayer(event: CreateCanvasEvent): MedallionImage {\r\n var layers = _.sortBy(this.medallion.layout, layer => layer.zIndex).reverse();\r\n var mousePoint = new Point(event.pageX, event.pageY);\r\n var activeLayer = _.first(layers.filter(layer => {\r\n var rect = new Rectangle(layer.x, layer.y, layer.width, layer.height);\r\n return rect.pointInside(mousePoint);\r\n }));\r\n this.setActive(activeLayer);\r\n return activeLayer;\r\n }\r\n\r\n @HostListener(\"mousedown\", [\"$event\"])\r\n mouseDown(event: MouseEvent) {\r\n this.workspace.mouseDown(event);\r\n this.medallion.setActive(null);\r\n }\r\n\r\n @HostListener(\"document:mouseup\", [\"$event\"])\r\n mouseUp(event: MouseEvent) {\r\n this.workspace.mouseUp();\r\n }\r\n \r\n mouseMove(event: MouseEvent) {\r\n this.workspace.mouseMove(event);\r\n }\r\n\r\n @HostListener(\"wheel\", [\"$event\"])\r\n panScroll(event: WheelEvent) {\r\n let stepAmount = 1;\r\n if (event.shiftKey) {\r\n stepAmount = 10;\r\n }\r\n if (event.ctrlKey) {\r\n event.preventDefault();\r\n if (event.deltaY > 0) {\r\n this.workspace.pan.x -= this.panAmount * stepAmount;\r\n }\r\n else if (event.deltaY < 0) {\r\n this.workspace.pan.x += this.panAmount * stepAmount;\r\n }\r\n }\r\n else if (!event.altKey) {\r\n if (event.deltaY > 0) {\r\n this.workspace.pan.y += this.panAmount * stepAmount;\r\n }\r\n else if (event.deltaY < 0) {\r\n this.workspace.pan.y -= this.panAmount * stepAmount;\r\n }\r\n }\r\n }\r\n\r\n @HostListener(\"document:keydown\", [\"$event\"])\r\n keyDown(event: KeyboardEvent) {\r\n let stepAmount = 1;\r\n if (event.shiftKey) {\r\n stepAmount = 10;\r\n }\r\n switch (event.key) {\r\n case \"ArrowUp\":\r\n this.updateActive(0, -stepAmount);\r\n break;\r\n case \"ArrowDown\":\r\n this.updateActive(0, stepAmount);\r\n break;\r\n case \"ArrowLeft\":\r\n this.updateActive(-stepAmount, 0);\r\n break;\r\n case \"ArrowRight\":\r\n this.updateActive(stepAmount, 0);\r\n break;\r\n case \"Delete\":\r\n this.deleteActiveLayer();\r\n break;\r\n }\r\n }\r\n\r\n canvas: Rectangle;\r\n workspace: WorkSpaceElement;\r\n printContainer: Rectangle;\r\n panAmount = 53;\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit, Input, ElementRef, OnChanges, SimpleChanges, HostListener } from \"@angular/core\";\r\nimport * as $ from \"jquery\";\r\nimport { Point } from \"../../../../../Models/index\";\r\n\r\n@Component({\r\n selector: \"yw-workspace-overlay\",\r\n templateUrl: \"./workspace-overlay.component.html\",\r\n styleUrls: [\"./workspace-overlay.component.less\"]\r\n})\r\nexport class WorkspaceOverlayComponent implements OnInit, OnChanges {\r\n @Input()\r\n panX: number;\r\n @Input()\r\n panY: number;\r\n @Input()\r\n canvasX: number;\r\n @Input()\r\n canvasY: number;\r\n @Input()\r\n canvasWidth: number;\r\n @Input()\r\n canvasHeight: number;\r\n @Input()\r\n zoom: number;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n setElementSize() {\r\n var elem = ($(this.el.nativeElement).find(\"canvas\")[0] as HTMLCanvasElement);\r\n elem.height = $(elem).height();\r\n elem.width = $(elem).width();\r\n this.drawOverlay();\r\n }\r\n\r\n @HostListener(\"window:resize\", [])\r\n resize() {\r\n this.setElementSize();\r\n }\r\n ngOnInit() {\r\n var elem = ($(this.el.nativeElement).find(\"canvas\")[0] as HTMLCanvasElement);\r\n this.context = elem.getContext(\"2d\");\r\n this.setElementSize();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.setElementSize();\r\n }\r\n\r\n drawOverlay() {\r\n if (this.context == null) {\r\n return;\r\n }\r\n this.offset = new Point(this.context.canvas.width / 2, this.context.canvas.height / 2);\r\n this.context.clearRect(0, 0, this.context.canvas.width, this.context.canvas.height);\r\n this.context.fillStyle = \"rgba(0, 0, 0, 0.5)\";\r\n\r\n this.context.beginPath();\r\n this.context.moveTo(0, 0);\r\n this.context.lineTo(0, this.context.canvas.height);\r\n this.context.lineTo(this.context.canvas.width, this.context.canvas.height);\r\n this.context.lineTo(this.context.canvas.width, 0);\r\n\r\n this.context.rect(this.getCanvasX(), this.getCanvasY(), this.getCanvasWidth(), this.getCanvasHeight());\r\n this.context.fill();\r\n }\r\n getCanvasX(): number {\r\n return (this.canvasX + this.panX) * this.zoom + this.offset.x;\r\n }\r\n getCanvasY(): number {\r\n return (this.canvasY + this.panY) * this.zoom + this.offset.y;\r\n }\r\n getCanvasWidth(): number {\r\n return this.canvasWidth * this.zoom;\r\n }\r\n getCanvasHeight(): number {\r\n return this.canvasHeight * this.zoom;\r\n }\r\n\r\n context: CanvasRenderingContext2D;\r\n offset: Point;\r\n}\r\n","\r\n\r\n","import {\r\n Component, OnInit, Input, OnDestroy, HostListener,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { IProject } from \"../../../Interfaces/index\";\r\nimport { MedallionImage } from \"../../../Models/MedallionImage\";\r\nimport { Medallion, Point, Size } from \"../../../Models/index\";\r\nimport { ZoomLevel } from \"../../../Models/ZoomLevel\";\r\nimport { Rectangle } from \"../../../Models/Rectangle\";\r\nimport { MedallionCanvasHtmlComponent } from \"./medallion-canvas-html/medallion-canvas-html.component\";\r\nimport { MedallionService } from \"../../shared/Services/medallion.service\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\nimport { CreateSettingsService } from \"../../shared/Services/create-settings.service\";\r\n\r\n@Component({\r\n selector: \"yw-medallion-editor\",\r\n templateUrl: \"./medallion-editor.component.html\",\r\n styleUrls: [\"./medallion-editor.component.css\"]\r\n})\r\nexport class MedallionEditorComponent implements OnInit, OnDestroy {\r\n @Input() project: IProject;\r\n @Output() changed = new EventEmitter();\r\n\r\n @ViewChild(MedallionCanvasHtmlComponent) canvasHtmlChild: MedallionCanvasHtmlComponent;\r\n \r\n constructor(public medallionService: MedallionService,\r\n public createService: CreateService,\r\n public createSettings: CreateSettingsService) {\r\n }\r\n\r\n resetOverlay() {\r\n this.canvasHtmlChild.refreshOverlay();\r\n }\r\n medallionChanged(event) {\r\n if (event.action === \"StyleChanged\") {\r\n setTimeout(() => {\r\n this.resetCanvas();\r\n },\r\n 750);\r\n }\r\n this.canvasHtmlChild.updateImage();\r\n this.createService.updateMedallion(this.medallion);\r\n this.changed.emit(event);\r\n }\r\n @HostListener(\"wheel\", [\"$event\"])\r\n zoomScroll($event: WheelEvent) {\r\n let stepAmount = 1;\r\n if ($event.shiftKey) {\r\n stepAmount = 10;\r\n }\r\n if ($event.altKey) {\r\n $event.preventDefault();\r\n $event.cancelBubble = true;\r\n if ($event.deltaY > 0) {\r\n this.createSettings.zoom.current += .0125 * stepAmount;\r\n }\r\n else if ($event.deltaY < 0) {\r\n this.createSettings.zoom.current -= .0125 * stepAmount;\r\n }\r\n\r\n if (this.createSettings.zoom.current > this.maxZoomLevel) {\r\n this.createSettings.zoom.current = this.maxZoomLevel;\r\n }\r\n else if (this.createSettings.zoom.current < this.createSettings.zoom.min) {\r\n this.createSettings.zoom.current = this.createSettings.zoom.min;\r\n }\r\n this.createSettings.zoom = ({ max: this.createSettings.zoom.max, min: this.createSettings.zoom.min, current: this.createSettings.zoom.current} as ZoomLevel);\r\n }\r\n }\r\n resetCanvas() {\r\n const padding = 200;\r\n if (this.canvasHtmlChild == null) {\r\n return;\r\n }\r\n this.canvasHtmlChild.workspace.pan = new Point(0, 0);\r\n\r\n var rect = new Rectangle(0, 0, this.medallion.size.width * this.createSettings.pixelsPerInch, this.medallion.size.height * this.createSettings.pixelsPerInch);\r\n rect.right = this.medallion.size.width * this.createSettings.pixelsPerInch;\r\n rect.bottom = this.medallion.size.height * this.createSettings.pixelsPerInch;\r\n\r\n this.medallion.layout.forEach(layer => {\r\n rect.x = Math.min(layer.x, rect.x);\r\n rect.y = Math.min(layer.y, rect.y);\r\n rect.right = Math.max(layer.x + layer.width, rect.right);\r\n rect.bottom = Math.max(layer.y + layer.height, rect.bottom);\r\n });\r\n\r\n rect.width = rect.right + (rect.x * -1);\r\n rect.height = rect.bottom + (rect.y * -1);\r\n const canvasSize = new Size((this.canvasHtmlChild.workspace as any).workspace.width() - padding, (this.canvasHtmlChild.workspace as any).workspace.height() - padding);\r\n const newSize = new Size(canvasSize.width / rect.width, canvasSize.height / rect.height);\r\n const current = Math.min(newSize.width, newSize.height);\r\n this.createSettings.zoom = ({ max: this.createSettings.zoom.max, min: this.createSettings.zoom.min, current: current } as ZoomLevel);\r\n }\r\n ngOnInit() {\r\n this.medallion = null;\r\n this.subscribe = this.createService.currentMedallion.subscribe(medallion => {\r\n this.medallion = medallion;\r\n if (medallion == null) {\r\n return;\r\n }\r\n if (this.medallion.isNew) {\r\n //we need to give time for the page to render before updating the thumbnail\r\n setTimeout(() => {\r\n this.medallionChanged({ event: \"new medallion\", option: this.medallion });\r\n this.medallion.isNew = false;\r\n },\r\n 100);\r\n }\r\n setTimeout(() => {\r\n this.resetCanvas();\r\n }, 50);\r\n });\r\n }\r\n\r\n zoomChanged(zoomLevel) {\r\n this.createSettings.zoom.current = zoomLevel;\r\n }\r\n setActive(image: MedallionImage) {\r\n this.medallion.layout.forEach(img => img.active = false);\r\n image.active = true;\r\n }\r\n ngOnDestroy() {\r\n this.subscribe.unsubscribe();\r\n }\r\n transformScaleSafe;\r\n subscribe: any;\r\n medallion: Medallion;\r\n maxZoomLevel:number = 4;\r\n\r\n}\r\n","
\r\n
\r\n
Medallion Editor
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges, HostBinding } from \"@angular/core\";\r\nimport { Medallion, MedallionSize } from \"../../../../Models/index\";\r\nimport { ImageDialogComponent } from \"../../../image-dialog/image-dialog.component\";\r\nimport { MedallionImage } from \"../../../../Models/MedallionImage\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport * as _ from \"underscore\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport { DisplayType } from \"../../../../Models/DisplayType\";\r\nimport { MedallionService } from \"../../../shared/Services/medallion.service\";\r\nimport { CreateService } from \"../../../shared/Services/create.service\";\r\nimport { AuthenticationService } from \"../../../shared/Services/authentication.service\";\r\n\r\n@Component({\r\n selector: \"yw-medallion-properties\",\r\n templateUrl: \"./medallion-properties.component.html\",\r\n styleUrls: [\"./medallion-properties.component.less\"]\r\n})\r\nexport class MedallionPropertiesComponent implements OnInit, OnChanges {\r\n @Input() medallion: Medallion;\r\n @Output() changed = new EventEmitter();\r\n @HostBinding(\"class.open\") isOpen: boolean = false;\r\n @Output() resetOverlay = new EventEmitter();\r\n presetColors = [\r\n \"#dac89f\",\r\n \"#c6dae8\",\r\n \"#d7cacc\",\r\n \"#f2e5b3\",\r\n \"#f8dbe1\",\r\n \"#d7d2cb\",\r\n \"#040404\",\r\n \"#ffffff\"];\r\n constructor(public medallionService: MedallionService,\r\n private createService: CreateService,\r\n private authentication: AuthenticationService,\r\n private modalService: NgbModal) {\r\n }\r\n\r\n toggleOpen() {\r\n this.isOpen = !this.isOpen;\r\n setTimeout(() => {\r\n this.resetOverlay.emit();\r\n },\r\n 300);\r\n }\r\n\r\n drop(event: CdkDragDrop>) {\r\n moveItemInArray(this.medallion.layout, event.previousIndex, event.currentIndex);\r\n let z = 1;\r\n this.medallion.layout.forEach(layer => {\r\n layer.zIndex = z++;\r\n });\r\n this.changed.emit({ action: \"Ordering Changed\", element: this.medallion });\r\n }\r\n setActive(image) {\r\n var active = image.active;\r\n this.medallion.layout.forEach(i => i.active = false);\r\n image.active = !active;\r\n }\r\n inputChanged($event) {\r\n setTimeout(() => {\r\n this.changed.emit({ action: \"PropertyChanged\", element: this.medallion });\r\n }, 10);\r\n }\r\n sizeChanged(event) {\r\n if (this.medallion.size == null) {\r\n return;\r\n }\r\n var medallionSize = this.medallionSize;\r\n this.medallionSize = this.medallion.size;\r\n\r\n let heightPercentage = this.medallionSize.height / medallionSize.height;\r\n let widthPercentage = this.medallionSize.width / medallionSize.width;\r\n\r\n this.medallion.layout.forEach(l => {\r\n l.height = l.height * heightPercentage;\r\n l.width = l.width * widthPercentage;\r\n l.x = l.x * widthPercentage;\r\n l.y = l.y * heightPercentage;\r\n });\r\n\r\n setTimeout(() => {\r\n this.changed.emit({ action: \"StyleChanged\", element: this.medallion });\r\n }, 10);\r\n }\r\n removeLayer(image) {\r\n this.createService.deleteMedallionImage(image).subscribe(() => {\r\n this.medallion.layout = _.without(this.medallion.layout, image);\r\n this.changed.emit({ action: \"Remove Layer\", element: image });\r\n });\r\n } \r\n\r\n openAddImageModal() {\r\n this.modalService\r\n .open(ImageDialogComponent, { windowClass: \"fullscreen-modal\" })\r\n .result\r\n .then((result) => {\r\n this.createService.newMedallionImage(this.medallion, result).subscribe(medallionImage => {\r\n medallionImage.imageObject = result;\r\n medallionImage.zIndex = this.medallion.layout ? this.medallion.layout.length : 0;\r\n var img = new Image();\r\n img.onload = () => {\r\n if (medallionImage.zIndex === 0) {\r\n var color = this.getColor(img);\r\n var hex = this.rgbToHex(color[0], color[1], color[2]);\r\n this.medallion.backgroundColor = hex;\r\n }\r\n medallionImage.width = img.width;\r\n medallionImage.height = img.height;\r\n medallionImage.image = img;\r\n this.createService.updateMedallionImage(medallionImage);\r\n if (this.authentication.user.displayType === DisplayType.Cover) {\r\n this.medallion.addCover(medallionImage);\r\n }\r\n else{\r\n this.medallion.addContain(medallionImage);\r\n }\r\n this.changed.emit({ action: \"AddedImage\", element: medallionImage });\r\n }\r\n img.src = `uploaded-images/${result.url}`;\r\n });\r\n },\r\n (reason) => {\r\n //do nothing\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.medallionSizes = this.medallionService.medallionSizes.filter(s => s.published);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n setTimeout(() => {\r\n var size = this.medallionService.getSize(this.medallion.size.id);\r\n if (size == null) {\r\n return;\r\n }\r\n this.medallion.size = size;\r\n this.medallionSize = this.medallion.size;\r\n\r\n if (this.medallion.layout.length < 1) {\r\n setTimeout(() => {\r\n this.openAddImageModal();\r\n },\r\n 10);\r\n }\r\n },\r\n 50);\r\n }\r\n\r\n imageDialogTimeout: any;\r\n medallionSizes: MedallionSize[];\r\n medallionSize: MedallionSize;\r\n\r\n componentToHex(c) {\r\n var hex = c.toString(16);\r\n return hex.length === 1 ? \"0\" + hex : hex;\r\n }\r\n\r\n rgbToHex(r, g, b) {\r\n return \"#\" + this.componentToHex(r) + this.componentToHex(g) + this.componentToHex(b);\r\n }\r\n getColor(img: HTMLImageElement, x: number = 0, y: number = 0) {\r\n var canvas = document.createElement('canvas');\r\n canvas.width = img.width;\r\n canvas.height = img.height;\r\n canvas.getContext('2d').drawImage(img, 0, 0, img.width, img.height);\r\n return canvas.getContext('2d').getImageData(x, y, 1, 1).data;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Image Editing Tools
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Images
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n
    \r\n
    \r\n {{image.imageObject.title}}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n Add Image\r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, ElementRef, HostListener, EventEmitter, Output, OnChanges, SimpleChanges\r\n} from \"@angular/core\";\r\nimport * as $ from \"jquery\";\r\nimport { ZoomLevel } from \"../../../../Models/ZoomLevel\";\r\nimport { CreateSettingsService } from \"../../../shared/Services/create-settings.service\";\r\n\r\n@Component({\r\n selector: \"yw-zoom-controller\",\r\n templateUrl: \"./zoom-controller.component.html\",\r\n styleUrls: [\"./zoom-controller.component.css\"]\r\n})\r\nexport class ZoomControllerComponent implements OnInit, OnChanges {\r\n @Input() zoom: ZoomLevel;\r\n @Output() zoomChanged = new EventEmitter();\r\n\r\n constructor(private element: ElementRef,\r\n private createSettings: CreateSettingsService) { }\r\n @HostListener(\"body:mouseup\", [\"$event\"])\r\n mouseUp() {\r\n this.dragZoom = false;\r\n }\r\n\r\n zoomHandleMouseDown() {\r\n this.dragZoom = true;\r\n }\r\n\r\n updateZoom() {\r\n if (this.createSettings.zoom.current !== this.zoom.current ||\r\n this.createSettings.zoom.min !== this.zoom.min ||\r\n this.createSettings.zoom.max !== this.zoom.max) {\r\n this.createSettings.zoom = ({ max: this.zoom.max, min: this.zoom.min, current: this.zoom.current } as ZoomLevel);\r\n }\r\n }\r\n\r\n updatePercentageDisplay(percentage) {\r\n this.zoomLevelPercentage = ((percentage * 100) * this.zoom.max).toFixed(1) + \"%\";\r\n }\r\n mousemove(event) {\r\n if (this.dragZoom) {\r\n let element = $(this.element.nativeElement);\r\n let zoomSlideBar = element.find(\"#zoomSlideBar\");\r\n let totalWidth = zoomSlideBar.width();\r\n let newX = event.pageX - zoomSlideBar.offset().left;\r\n if (newX < 0 ) {\r\n newX = 0;\r\n }\r\n else if (newX > totalWidth) {\r\n newX = totalWidth;\r\n }\r\n let percentage = newX / totalWidth;\r\n percentage = Math.max(percentage, this.zoom.min * 100 / (100 * this.zoom.max));\r\n this.updatePercentageDisplay(percentage);\r\n this.zoom.current = percentage * this.zoom.max;\r\n this.setHandle(newX);\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n setHandle(position: number) {\r\n let element = $(this.element.nativeElement);\r\n let zoomHandle = element.find(\"#zoomSlideHandle\");\r\n let offsetAmount = (zoomHandle.width() / 2);\r\n this.sliderLeft = position - offsetAmount;\r\n\r\n this.updateZoom();\r\n }\r\n setZoomLevel(changeAmount: number) {\r\n this.zoom.current += changeAmount;\r\n if (this.zoom.current > this.zoom.max) {\r\n this.zoom.current = this.zoom.max;\r\n }\r\n else if (this.zoom.current < this.zoom.min) {\r\n this.zoom.current = this.zoom.min;\r\n }\r\n\r\n let percentage = this.zoom.current * 100 / (100 * this.zoom.max);\r\n this.setByPercentage(percentage);\r\n }\r\n setByPercentage(percentage) {\r\n let element = $(this.element.nativeElement);\r\n let zoomSlideBar = element.find(\"#zoomSlideBar\");\r\n let totalWidth = zoomSlideBar.width();\r\n this.updatePercentageDisplay(percentage);\r\n this.setHandle(totalWidth * percentage);\r\n\r\n }\r\n changePercentage() {\r\n this.zoom.current = parseFloat(this.zoomLevelPercentage) / 100;\r\n var percentage = this.zoom.current / this.zoom.max;\r\n this.setByPercentage(percentage);\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.setZoomLevel(0);\r\n }\r\n ngOnInit() {\r\n this.setZoomLevel(0);\r\n }\r\n sliderLeft: number;\r\n dragZoom = false;\r\n zoomLevelPercentage: string;\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { Component, Input, HostBinding, OnChanges, SimpleChanges, OnInit, Output, EventEmitter } from \"@angular/core\";\r\nimport { Medallion, Project, MedallionSize } from \"../../../Models/index\";\r\nimport { IMedallion } from \"../../../Interfaces/index\";\r\nimport { NgbModal, NgbModalRef } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport * as _ from \"underscore\";\r\nimport { MedallionOptionsDialogComponent } from \"../../medallion-options-dialog/medallion-options-dialog.component\";\r\nimport { MedallionService } from \"../../shared/Services/medallion.service\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\nimport { CreateSettingsService } from \"../../shared/Services/create-settings.service\";\r\n\r\n@Component({\r\n selector: \"yw-medallion-list\",\r\n templateUrl: \"./medallion-list.component.html\",\r\n styleUrls: [\"./medallion-list.component.css\"]\r\n})\r\nexport class MedallionListComponent implements OnInit, OnChanges {\r\n subscribe: any;\r\n currentMedallion: IMedallion;\r\n @HostBinding(\"class.collapsed\")\r\n collapsed: boolean = false;\r\n @Input()\r\n project: Project;\r\n filterMedallions: MedallionSize = null;\r\n\r\n @Output() openedFull = new EventEmitter();\r\n\r\n constructor(public medallionService: MedallionService,\r\n public createService: CreateService,\r\n private createSettings: CreateSettingsService,\r\n private modalService: NgbModal) {\r\n }\r\n\r\n ngOnInit() {\r\n this.subscribe = this.createService.currentMedallion.subscribe(medallion => {\r\n this.currentMedallion = medallion;\r\n });\r\n }\r\n toggleOpen() {\r\n this.collapsed = !this.collapsed;\r\n this.openedFull.emit(this.collapsed);\r\n }\r\n ngOnDestroy() {\r\n this.subscribe.unsubscribe();\r\n }\r\n filterMedallionsChanged() {\r\n this.project.medallions.forEach(medallion => medallion.filtered = true);\r\n var activeMedallions = this.project.medallions.filter(medallion => this.filterMedallions == null ||\r\n medallion.size.id === this.filterMedallions.id);\r\n activeMedallions.forEach(medallion => medallion.filtered = false);\r\n this.setActive(_.first(activeMedallions));\r\n }\r\n setActive(medallion) {\r\n this.createService.setMedallion(medallion);\r\n }\r\n\r\n newMedallion() {\r\n this.createService.newMedallion(this.project).subscribe(med => {\r\n var medallion = new Medallion(this.createSettings);\r\n medallion.id = med.id;\r\n medallion.quantity = med.quantity;\r\n medallion.backgroundColor = med.backgroundColor;\r\n medallion.size = this.medallionService.getSize( med.size.id);\r\n this.newMedallionDialog = this.modalService.open(MedallionOptionsDialogComponent, { size: \"sm\" });\r\n this.newMedallionDialog.componentInstance.medallion = medallion;\r\n this.newMedallionDialog\r\n .result\r\n .then((result) => {\r\n if (this.project.medallions == null) {\r\n this.project.medallions = new Array();\r\n }\r\n medallion.layout = [];\r\n medallion.isNew = true;\r\n this.project.medallions.push(medallion);\r\n this.newMedallionDialogOpen = false;\r\n this.createService.setMedallion(medallion);\r\n },\r\n () => {\r\n this.newMedallionDialogOpen = false;\r\n this.createService.deleteMedallion(medallion);\r\n });\r\n });\r\n }\r\n removeMedallion(medallion: Medallion, event: MouseEvent) {\r\n this.createService.deleteMedallion(medallion);\r\n this.project.medallions = _.without(this.project.medallions, medallion);\r\n event.preventDefault();\r\n }\r\n cloneMedallion(medallion: Medallion, event: MouseEvent) {\r\n this.createService.cloneMedallion(medallion).subscribe(currentMedallion => {\r\n let newMedallion = Medallion.bindMedallion(currentMedallion, this.createSettings);\r\n this.createService.setMedallion(newMedallion);\r\n newMedallion.size = this.medallionService.getSize(currentMedallion.sizeId);\r\n this.project.medallions.push(newMedallion);\r\n });\r\n event.preventDefault();\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.project != null) {\r\n if (this.project.medallions.length < 1 && !this.newMedallionDialogOpen) {\r\n this.newMedallionDialogOpen = true;\r\n if (this.newMedallionTimeout) {\r\n clearTimeout(this.newMedallionTimeout);\r\n }\r\n this.newMedallionTimeout = setTimeout(() => {\r\n this.newMedallion();\r\n },\r\n 250);\r\n }\r\n else {\r\n this.createService.setMedallion(_.first(this.project.medallions));\r\n }\r\n }\r\n }\r\n newMedallionDialogOpen: boolean = false;\r\n newMedallionDialog: NgbModalRef;\r\n newMedallionTimeout: any;\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
Medallions
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input, EventEmitter, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"create-form-input-text\",\r\n templateUrl: \"./form-input-text.component.html\",\r\n styleUrls: [\"./form-input-text.component.less\"]\r\n})\r\nexport class FormInputTextComponent {\r\n @Input() label: string;\r\n\r\n currentValue: string = \"\";\r\n @Output() currentValueChange = new EventEmitter();\r\n\r\n @Input()\r\n get value() {\r\n return this.currentValue;\r\n }\r\n set value(val) {\r\n this.currentValue = val;\r\n this.currentValueChange.emit(this.currentValue);\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { CreateImage } from \"../../../Models/CreateImage\";\r\nimport { CategoryImageListBaseComponent } from\r\n \"../../shared/category-image-list-base/category-image-list-base.component\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\n\r\n@Component({\r\n selector: \"yw-family-supplied-photos\",\r\n templateUrl: \"./family-supplied-photos.component.html\",\r\n styleUrls: [\"./family-supplied-photos.component.less\"]\r\n})\r\nexport class FamilySuppliedPhotosComponent extends CategoryImageListBaseComponent implements OnInit {\r\n images: CreateImage[];\r\n\r\n constructor(private imageManager: ImageManagerService,\r\n public createService: CreateService) {\r\n super(createService);\r\n }\r\n clicked(image) {\r\n this.imageUpdated(image);\r\n }\r\n imageSet(image) {\r\n this.images.push(image);\r\n }\r\n ngOnInit() {\r\n this.createService.project$.subscribe(project => {\r\n this.imageManager.getProjectImages(project.id).subscribe(images => {\r\n this.images = images;\r\n });\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit, ComponentFactoryResolver, ViewChild, Type, OnDestroy, ChangeDetectorRef, AfterViewInit, ComponentRef } from \"@angular/core\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ImageProperties } from \"../../Models/ImageProperties\";\r\nimport { CreateImage } from \"../../Models/CreateImage\";\r\nimport { InsertionDirective } from \"../../Directives/insertion.directive\";\r\nimport { StockImagesComponent } from \"./stock-images/stock-images.component\";\r\nimport { MyStockImagesComponent } from \"./my-stock-images/my-stock-images.component\";\r\nimport * as _ from \"underscore\";\r\nimport { CreateTab } from \"./CreateTab\";\r\nimport { Observable } from \"rxjs\";\r\nimport { debounceTime, distinctUntilChanged, map } from \"rxjs/operators\";\r\nimport { SearchComponent } from \"./search/search.component\";\r\nimport { FamilySuppliedPhotosComponent } from \"./family-supplied-photos/family-supplied-photos.component\";\r\nimport { CategoryImageListBaseComponent } from \"../shared/category-image-list-base/category-image-list-base.component\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { CreateService } from \"../shared/Services/create.service\";\r\nimport { ImageManagerService } from \"../shared/Services/image-manager.service\";\r\nimport { AuthenticationService } from \"../shared/Services/authentication.service\";\r\n\r\n@Component({\r\n selector: \"yw-image-dialog\",\r\n templateUrl: \"./image-dialog.component.html\",\r\n styleUrls: [\"./image-dialog.component.css\"]\r\n})\r\nexport class ImageDialogComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(InsertionDirective) insertionPoint: InsertionDirective;\r\n\r\n constructor(public activeModal: NgbActiveModal,\r\n public createService: CreateService,\r\n private imageManager: ImageManagerService,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private cd: ChangeDetectorRef,\r\n private authentication: AuthenticationService,\r\n private httpClient: HttpClient) {\r\n this.authentication.selectedLocation.subscribe(location => {\r\n httpClient.get>(\"api/image/getCategoriesLocation/\" + location.id).subscribe(categories => {\r\n this.categories = categories;\r\n console.log(this.categories);\r\n });\r\n });\r\n }\r\n\r\n searchClick() {\r\n this.tabs.forEach(t => t.active = false);\r\n this.tabs = _.without(this.tabs, this.searchTab);\r\n this.tabs.push(this.searchTab);\r\n this.searchTab.active = true;\r\n this.loadChildComponent();\r\n this.componentRef.instance.search = this.search;\r\n }\r\n setImage(base64Url: string) {\r\n this.base64Url = base64Url;\r\n }\r\n\r\n setActive(tab: CreateTab) {\r\n this.tabs.forEach(t => t.active = false);\r\n this.tabs = _.without(this.tabs, this.searchTab);\r\n tab.active = true;\r\n this.search = \"\";\r\n this.imageManager.setActive(null);\r\n this.createService.currentImage = new CreateImage();\r\n this.loadChildComponent();\r\n }\r\n\r\n setProperties(imageProperties: ImageProperties) {\r\n this.imageProperties = imageProperties;\r\n }\r\n\r\n doubleClicked(image: CreateImage) {\r\n this.imageManager.setActive(image);\r\n this.createService.currentImage = image;\r\n this.ok();\r\n }\r\n\r\n ok() {\r\n if (this.createService.currentImage.galleryView) {\r\n if (this.createService.currentImage.title === \"\" || this.createService.currentImage.title === \"\") {\r\n return true;\r\n }\r\n }\r\n this.createService.currentImage.projectId = this.createService.currentProject.id;\r\n this.imageManager.add(this.createService.currentImage).subscribe(() => {\r\n this.activeModal.close(this.createService.currentImage);\r\n });\r\n return false;\r\n }\r\n ngAfterViewInit() {\r\n this.loadChildComponent();\r\n this.cd.detectChanges();\r\n }\r\n ngOnInit() {\r\n this.createService.currentImage = new CreateImage();\r\n this.imageManager.setActive(null);\r\n this.imageManager.getLocationKeywords(this.authentication.selectedLocation.value.id).subscribe(keywords => {\r\n this.keywords = keywords;\r\n });\r\n }\r\n ngOnDestroy() {\r\n if (this.componentRef) {\r\n this.componentRef.destroy();\r\n }\r\n }\r\n loadChildComponent() {\r\n var activeTab = _.findWhere(this.tabs, { active: true });\r\n var componentType = activeTab.component;\r\n let componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n let viewContainerRef = this.insertionPoint.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n this.componentRef.instance.imageUpdated = this.imageUpdated;\r\n }\r\n imageUpdated(image: CreateImage) {\r\n this.createService.selectedImage.next(image);\r\n this.createService.currentImage = image;\r\n }\r\n \r\n imageChanged() {\r\n this.createService.currentImage.projectId = this.createService.currentProject.id;\r\n this.imageManager.add(this.createService.currentImage);\r\n }\r\n\r\n searchTab = { title: \"Search\", component: SearchComponent, active: false } as CreateTab;\r\n tabs = [\r\n {\r\n title: \"Batesville Stock Images\",\r\n component: StockImagesComponent,\r\n active: true,\r\n helpDoc: \"2ED23E70-78BA-4330-BFC0-01964AE15B96\"\r\n },\r\n {\r\n title: \"Funeral Home Stock Images\",\r\n component: MyStockImagesComponent,\r\n active: false,\r\n helpDoc: \"9972CB9D-6B0B-404A-88DD-E852791D847F\"\r\n },\r\n {\r\n title: \"Family Supplied Photos\",\r\n component: FamilySuppliedPhotosComponent,\r\n active: false,\r\n helpDoc: \"EC8D6B3F-7B79-4F5F-860B-64F713B18822\"\r\n }\r\n ] as CreateTab[];\r\n\r\n searchOptions = (text$: Observable) => {\r\n return text$.pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n map((term: string) => term.length < 2\r\n ? []\r\n : this.categories.filter(v => v.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0, 10))\r\n );\r\n }\r\n\r\n currentSelectionEnd: number = 0;\r\n keywordSearch($event: KeyboardEvent) {\r\n const input: HTMLTextAreaElement = ($event.target) as HTMLTextAreaElement;\r\n this.currentSelectionEnd = input.selectionEnd;\r\n if (this.createService.currentImage.keywords.slice(this.currentSelectionEnd - 1, this.currentSelectionEnd).trim() === \"\") {\r\n this.keywordList = [];\r\n return;\r\n }\r\n const chunk = this.createService.currentImage.keywords.slice(0, this.currentSelectionEnd);\r\n const match = chunk.match(/([\\s\\r\\,])\\w+/g);\r\n const lastIndex = match ? chunk.lastIndexOf(match[match.length - 1]) + 1 : 0;\r\n var word = chunk.slice(lastIndex, this.currentSelectionEnd).trim().toLowerCase();\r\n if (word.length < 1) {\r\n this.keywordList = [];\r\n return;\r\n }\r\n console.log(word);\r\n this.keywordList = _.uniq(this.keywords.filter(v => v.toLowerCase().indexOf(word) > -1)).slice(0, 10);\r\n }\r\n setWord(word) {\r\n const chunk = this.createService.currentImage.keywords.slice(0, this.currentSelectionEnd);\r\n const match = chunk.match(/([\\s\\r\\,])\\w+/g);\r\n const lastIndex = match ? chunk.lastIndexOf(match[match.length - 1]) + 1 : 0;\r\n const startString = this.createService.currentImage.keywords.slice(0, lastIndex);\r\n const endString = this.createService.currentImage.keywords.slice(this.currentSelectionEnd, this.createService.currentImage.keywords.length);\r\n this.createService.currentImage.keywords = `${startString}${word}${endString}`;\r\n this.keywordList = [];\r\n\r\n }\r\n childComponentType: Type;\r\n search:string;\r\n base64Url: string;\r\n imageProperties: ImageProperties;\r\n componentRef: ComponentRef;\r\n categories: string[];\r\n keywords: string[];\r\n keywordList: string[];\r\n}\r\n","
\r\n
\r\n
Select an image
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{tab.title}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {{keyword}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { CreateImage } from \"../../../../Models/index\";\r\n\r\n@Component({\r\n selector: \"yw-image-display\",\r\n templateUrl: \"./image-display.component.html\",\r\n styleUrls: [\"./image-display.component.less\"]\r\n})\r\nexport class ImageDisplayComponent implements OnInit {\r\n @Input() image: CreateImage;\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n this.imageUrl = this.sanitizer.bypassSecurityTrustStyle(`url(uploaded-images/${this.image.url})`);\r\n }\r\n imageUrl;\r\n}\r\n","
\r\n
\r\n","import { Component, OnInit, Input, HostBinding, Output, EventEmitter } from \"@angular/core\";\r\nimport { IProject } from \"../../../Interfaces/index\";\r\nimport { CreateImage, Medallion } from \"../../../Models/index\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\n\r\n@Component({\r\n selector: \"yw-image-list\",\r\n templateUrl: \"./image-list.component.html\",\r\n styleUrls: [\"./image-list.component.css\"]\r\n})\r\nexport class ImageListComponent implements OnInit {\r\n @Input() project: IProject;\r\n @HostBinding(\"class.collapsed\") collapsed: boolean = false;\r\n\r\n @Output() doubleClicked = new EventEmitter();\r\n constructor(private CreateService: CreateService,\r\n public imageManager: ImageManagerService) {\r\n }\r\n ok(image: CreateImage) {\r\n this.doubleClicked.emit(image);\r\n }\r\n imageClick(image: CreateImage) {\r\n this.imageManager.setActive(image);\r\n this.CreateService.currentImage = image;\r\n }\r\n ngOnInit() {\r\n this.imageManager.getImages();\r\n this.CreateService.currentMedallion.subscribe(medallion => {\r\n this.medallion = medallion;\r\n });\r\n }\r\n\r\n closeResult: string;\r\n medallion: Medallion;\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Output, EventEmitter } from \"@angular/core\";\r\nimport { ImageProperties } from \"../../../Models/index\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\n\r\n@Component({\r\n selector: \"yw-image-properties\",\r\n templateUrl: \"./image-properties.component.html\",\r\n styleUrls: [\"./image-properties.component.less\"]\r\n})\r\nexport class ImagePropertiesComponent implements OnInit {\r\n category: string;\r\n title: string;\r\n\r\n @Output() propertiesSet = new EventEmitter();\r\n\r\n constructor(public CreateService: CreateService) {\r\n\r\n }\r\n changed() {\r\n var imageProperties = new ImageProperties();\r\n imageProperties.category = this.category;\r\n imageProperties.title = this.title;\r\n this.propertiesSet.emit(imageProperties);\r\n }\r\n ngOnInit() {\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n","import { Component, OnInit, ViewChild, Output, EventEmitter, Input, OnDestroy } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { CreateImage } from \"../../../Models/index\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { AlertDialogComponent } from \"../../alert-dialog/alert-dialog.component\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\nimport { AuthenticationService } from \"../../shared/Services/authentication.service\";\r\nimport { Location } from \"../../../Models/Location\";\r\n@Component({\r\n selector: \"yw-image-upload-container\",\r\n templateUrl: \"./image-upload-container.component.html\",\r\n styleUrls: [\"./image-upload-container.component.less\"]\r\n})\r\nexport class ImageUploadContainerComponent implements OnInit, OnDestroy {\r\n @ViewChild(\"file\") file;\r\n @Output() imageSet = new EventEmitter();\r\n @Input() isBatesville = false;\r\n @Input() overlayImage = false;\r\n constructor(private createService: CreateService,\r\n private imageManager: ImageManagerService,\r\n public authenticationService: AuthenticationService,\r\n private http: HttpClient,\r\n private modalService: NgbModal) {\r\n }\r\n\r\n addFiles() {\r\n this.file.nativeElement.click();\r\n }\r\n clickedImage(currentImage) {\r\n this.createService.currentImage = currentImage;\r\n }\r\n onFilesAdded() {\r\n for (var i = 0; i < this.file.nativeElement.files.length; i++) {\r\n let file = this.file.nativeElement.files[i];\r\n this.updateFile(file);\r\n }\r\n }\r\n\r\n onDrop(event: DragEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.dragOver = false;\r\n for (var i = 0; i < event.dataTransfer.files.length; i++) {\r\n let file = event.dataTransfer.files[i];\r\n this.updateFile(file);\r\n }\r\n return false;\r\n }\r\n\r\n onDragOver(event) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.dragOver = true;\r\n }\r\n\r\n onMouseOut() {\r\n this.dragOver = false;\r\n }\r\n\r\n updateFile(file: File) {\r\n if (file.type !== \"image/jpeg\" && file.type !== \"image/png\") {\r\n this.modalService.open(AlertDialogComponent, { size: \"sm\" });\r\n return;\r\n }\r\n const formData = new FormData();\r\n formData.append(\"Image\", file, file.name);\r\n formData.append(\"isBatesville\", this.isBatesville ? \"true\" : \"false\");\r\n formData.append(\"projectId\", this.createService.currentProject.id);\r\n if (!this.isBatesville) {\r\n formData.append(\"locationId\", this.location.id.toString());\r\n }\r\n this.http.post(\"/api/Image/Upload\", formData)\r\n .subscribe(data => {\r\n if (this.imageManager.images) {\r\n this.imageManager.images.push(data);\r\n }\r\n this.imageSet.emit(data);\r\n this.currentImage = data;\r\n this.createService.currentImage = data;\r\n this.createService.selectedImage.next(data);\r\n this.imageUrl = `url(/uploaded-images/${data.url})`;\r\n },\r\n error => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.authenticationService.selectedLocation.subscribe(location => this.location = location);\r\n this.currentImage = this.createService.currentImage;\r\n console.log(this.currentImage);\r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n subscription:Subscription;\r\n location:Location;\r\n currentImage: CreateImage;\r\n dragOver: boolean;\r\n imageUrl: any = null;\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
Drop image here
\r\n
or
\r\n
\r\n
\r\n Click here to upload\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { CreateImage } from \"../../../Models/CreateImage\";\r\nimport { Subscription } from \"rxjs\";\r\nimport * as _ from \"underscore\";\r\nimport { CategoryImageListBaseComponent } from\r\n \"../../shared/category-image-list-base/category-image-list-base.component\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\nimport { AuthenticationService } from \"../../shared/Services/authentication.service\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\nimport { CreateImageCategory } from \"../../shared/Services/CreateImageCategory\";\r\n\r\n@Component({\r\n selector: \"yw-my-stock-images\",\r\n templateUrl: \"./my-stock-images.component.html\",\r\n styleUrls: [\"./my-stock-images.component.less\"]\r\n})\r\nexport class MyStockImagesComponent extends CategoryImageListBaseComponent implements OnInit {\r\n constructor(private imageManagerService: ImageManagerService,\r\n private authenticationService: AuthenticationService,\r\n public createService: CreateService) {\r\n super(createService);\r\n }\r\n\r\n ngOnInit() {\r\n this.authenticationService.selectedLocation.subscribe(location => {\r\n this.subscription = this.imageManagerService.getLocationImages(location.id).subscribe(images => {\r\n this.unfilteredImageCategories = images;\r\n this.filterItems();\r\n });\r\n });\r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n clicked(image) {\r\n this.imageUpdated(image);\r\n }\r\n\r\n filterItems() {\r\n if (this.search.length > 0) {\r\n this.images = _.map(this.unfilteredImageCategories, category => this.filterCategory(category))\r\n .filter(cat => cat.images.length > 0);\r\n }\r\n else {\r\n this.images = this.unfilteredImageCategories;\r\n }\r\n }\r\n\r\n filterCategory(category: CreateImageCategory): CreateImageCategory {\r\n var cat = new CreateImageCategory();\r\n cat.title = category.title;\r\n cat.images = _.filter(category.images, image => this.searchImage(image));\r\n return cat;\r\n }\r\n\r\n searchImage(image: CreateImage) {\r\n var search = this.search.toLowerCase();\r\n return (image.title && image.title.toLowerCase().indexOf(search) > -1) || (image.category && image.category.toLowerCase().indexOf(search) > -1);\r\n }\r\n subscription: Subscription;\r\n search: string = \"\";\r\n images: Array = [];\r\n unfilteredImageCategories: CreateImageCategory[];\r\n}\r\n","\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { CategoryImageListBaseComponent } from\r\n \"../../shared/category-image-list-base/category-image-list-base.component\";\r\nimport { CreateImageCategory } from \"../../shared/Services/CreateImageCategory\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\nimport { AuthenticationService } from \"../../shared/Services/authentication.service\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\n\r\n@Component({\r\n selector: \"yw-search\",\r\n templateUrl: \"./search.component.html\",\r\n styleUrls: [\"./search.component.less\"]\r\n})\r\nexport class SearchComponent extends CategoryImageListBaseComponent implements OnInit{\r\n categories: CreateImageCategory[];\r\n\r\n constructor(\r\n private imageManagerService: ImageManagerService,\r\n private authenticationService: AuthenticationService,\r\n public CreateService: CreateService) {\r\n super(CreateService);\r\n }\r\n clicked(image) {\r\n this.imageUpdated(image);\r\n }\r\n ngOnInit() {\r\n this.authenticationService.selectedLocation.subscribe(location => {\r\n this.imageManagerService.getImagesSearch(this.search, location.id)\r\n .subscribe(categories => {\r\n this.categories = categories;\r\n });\r\n });\r\n }\r\n\r\n search: string;\r\n}\r\n","\r\n\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { CreateImage } from \"../../../Models/CreateImage\";\r\nimport { Subscription } from \"rxjs\";\r\nimport * as _ from \"underscore\";\r\nimport { CategoryImageListBaseComponent } from\r\n \"../../shared/category-image-list-base/category-image-list-base.component\";\r\nimport { ImageManagerService } from \"../../shared/Services/image-manager.service\";\r\nimport { CreateService } from \"../../shared/Services/create.service\";\r\nimport { CreateImageCategory } from \"../../shared/Services/CreateImageCategory\";\r\n\r\n@Component({\r\n selector: \"yw-stock-images\",\r\n templateUrl: \"./stock-images.component.html\",\r\n styleUrls: [\"./stock-images.component.less\"]\r\n})\r\nexport class StockImagesComponent extends CategoryImageListBaseComponent implements OnInit, OnDestroy {\r\n constructor(private imageManagerService: ImageManagerService,\r\n public createService: CreateService) {\r\n super(createService);\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription = this.imageManagerService.getBatesvilleImages(false).subscribe(images => {\r\n this.unfilteredImageCategories = images;\r\n this.filterItems();\r\n });\r\n }\r\n searchClick(search) {\r\n this.filterItems();\r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n clicked(image) {\r\n this.imageUpdated(image);\r\n }\r\n filterItems() {\r\n if (this.search.length > 0) {\r\n this.images = _.map(this.unfilteredImageCategories, category => this.filterCategory(category))\r\n .filter(cat => cat.images.length > 0);\r\n }\r\n else {\r\n this.images = this.unfilteredImageCategories;\r\n }\r\n }\r\n\r\n filterCategory(category: CreateImageCategory): CreateImageCategory {\r\n var cat = new CreateImageCategory();\r\n cat.title = category.title;\r\n cat.images = _.filter(category.images, image => this.searchImage(image));\r\n return cat;\r\n }\r\n\r\n searchImage(image: CreateImage) {\r\n var search = this.search.toLowerCase();\r\n return (image.title && image.title.toLowerCase().indexOf(search) > -1) || (image.category && image.category.toLowerCase().indexOf(search) > -1);\r\n }\r\n subscription: Subscription;\r\n search: string = \"\";\r\n images: Array = [];\r\n unfilteredImageCategories: CreateImageCategory[];\r\n}\r\n","\r\n","export { ProjectsComponent } from \"./projects/projects.component\";\r\nexport { CreateHeaderComponent } from \"./create-header/create-header.component\";\r\nexport { CreateFooterComponent } from \"./create-footer/create-footer.component\";\r\nexport { DesignerComponent } from \"./designer/designer.component\";\r\nexport { MedallionListComponent } from \"./designer/medallion-list/medallion-list.component\";\r\nexport { MedallionEditorComponent } from \"./designer/medallion-editor/medallion-editor.component\";\r\nexport { ImageListComponent } from \"./image-dialog/image-list/image-list.component\";\r\nexport { NotFoundComponent } from \"./not-found/not-found.component\";\r\nexport { ZoomControllerComponent } from \"./designer/medallion-editor/zoom-controller/zoom-controller.component\";\r\nexport { ImageDialogComponent } from \"./image-dialog/image-dialog.component\";\r\nexport { ImageUploadContainerComponent } from \"./image-dialog/image-upload-container/image-upload-container.component\";\r\nexport { ImagePropertiesComponent } from \"./image-dialog/image-properties/image-properties.component\";\r\nexport { ImageDisplayComponent } from \"./image-dialog/image-list/image-display/image-display.component\";\r\nexport { MedallionOptionsDialogComponent } from \"./medallion-options-dialog/medallion-options-dialog.component\";\r\nexport { MedallionPropertiesComponent } from \"./designer/medallion-editor/medallion-properties/medallion-properties.component\";\r\nexport { LogoutComponent } from \"./logout/logout.component\";\r\nexport { MedallionCanvasHtmlComponent } from \"./designer/medallion-editor/medallion-canvas-html/medallion-canvas-html.component\";\r\nexport { EditorMedallionImageComponent } from \"./designer/medallion-editor/medallion-canvas-html/editor-medallion-image/editor-medallion-image.component\";\r\nexport { WorkspaceOverlayComponent } from \"./designer/medallion-editor/medallion-canvas-html/workspace-overlay/workspace-overlay.component\";\r\n","import { Component, OnInit } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"yw-logout\",\r\n templateUrl: \"./logout.component.html\",\r\n styleUrls: [\"./logout.component.less\"]\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","

\r\n logout works!\r\n

\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Medallion } from \"../../Models/Medallion\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MedallionSize } from \"../../Models/index\";\r\nimport * as $ from \"jquery\";\r\nimport * as bowser from \"bowser\";\r\nimport { MedallionService } from \"../shared/Services/medallion.service\";\r\n\r\n@Component({\r\n selector: \"yw-medallion-options-dialog\",\r\n templateUrl: \"./medallion-options-dialog.component.html\",\r\n styleUrls: [\"./medallion-options-dialog.component.less\"]\r\n})\r\nexport class MedallionOptionsDialogComponent implements OnInit {\r\n constructor(public medallionService: MedallionService,\r\n public activeModal: NgbActiveModal) {\r\n }\r\n\r\n ngOnInit() {\r\n this.medallionSizes = this.medallionService.medallionSizes.filter(s=>s.published);\r\n }\r\n openColorPicker($event) {\r\n const browser = bowser.getParser(window.navigator.userAgent);\r\n var info = browser.getBrowser();\r\n// ReSharper disable once InconsistentNaming\r\n const isIE11 = info.name === \"Internet Explorer\" && info.version === \"11.0\";\r\n if (isIE11) {\r\n this.IEFix();\r\n $(window).on(\"resize\",\r\n () => {\r\n this.IEFix();\r\n });\r\n }\r\n }\r\n medallion: Medallion;\r\n medallionSizes: MedallionSize[];\r\n\r\n// ReSharper disable once InconsistentNaming\r\n IEFix() {\r\n let left = $(\"body\").width() / 2;\r\n let halfWidth = ($(\".color-picker\").width() / 2) + 40;\r\n $(\".color-picker\").css({ \"transform\": `translate(${left - halfWidth}px, 20px)` });\r\n }\r\n}\r\n","
\r\n
Medallion Options
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n@Component({\r\n selector: \"yw-not-found\",\r\n templateUrl: \"./not-found.component.html\",\r\n styleUrls: [\"./not-found.component.css\"]\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n\r\n constructor(\r\n private location: Location) { }\r\n\r\n ngOnInit() {\r\n }\r\n goBack() {\r\n this.location.back();\r\n }\r\n}\r\n","
\r\n

404 Not Found!

\r\n

Something went wrong, please hit the back button, or check the url you entered.

\r\n
\r\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { IProject } from \"../../Interfaces/index\";\r\nimport { Location, Project } from \"../../Models/Index\";\r\nimport { Router } from \"@angular/router\";\r\nimport * as _ from \"lodash\";\r\nimport { ConfirmDialogComponent } from \"../confirm-dialog/confirm-dialog.component\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { CreateService } from \"../shared/Services/create.service\";\r\nimport { AuthenticationService } from \"../shared/Services/authentication.service\";\r\nimport { ApplicationService } from \"../shared/Services/application-service.service\";\r\n\r\n@Component({\r\n selector: \"app-projects\",\r\n templateUrl: \"./projects.component.html\", \r\n styleUrls: [\"./projects.component.css\"],\r\n host: { \"id\": \"project-container\" }\r\n})\r\nexport class ProjectsComponent implements OnInit, OnDestroy {\r\n subscription;\r\n unfilteredProjects: IProject[] = [];\r\n projects: IProject[] = [];\r\n loading = true;\r\n constructor(private createService: CreateService,\r\n public authenticationService: AuthenticationService,\r\n private router: Router,\r\n private modalService: NgbModal,\r\n private applicationService: ApplicationService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.locationSubscription = this.authenticationService.selectedLocation.subscribe(location => {\r\n if (location == null) {\r\n return;\r\n }\r\n this.createService.getProjects(location);\r\n this.currentLocation = location;\r\n });\r\n this.subscription = this.createService.projects$\r\n .subscribe(projects => {\r\n this.loading = true;\r\n this.unfilteredProjects = projects;\r\n this.loadFilteredProjects();\r\n });\r\n this.applicationService.condensedFooter = false;\r\n this.authenticationService.changeLocationAllowed = true;\r\n }\r\n copy(id: string) {\r\n this.createService.copyProject(id, this.currentLocation).subscribe(project => {\r\n this.router.navigate([\"designer\", project.id]);\r\n });\r\n }\r\n onSelect(project: Project) {\r\n const isSelected = !project.isSelected;\r\n this.projects.forEach((pro: Project) => pro.isSelected = false);\r\n project.isSelected = isSelected;\r\n }\r\n delete(id: string) {\r\n const modalRef = this.modalService.open(ConfirmDialogComponent, { size: \"sm\" });\r\n modalRef.componentInstance.title = \"Delete Order?\";\r\n modalRef.componentInstance.message = \"Do you want to delete this order?\";\r\n modalRef.componentInstance.btnOkText = \"Yes\";\r\n modalRef.componentInstance.btnCancelText = \"No\";\r\n modalRef.result.then(confirm => {\r\n if (confirm) {\r\n this.createService.deleteProject(id).subscribe((project) => {\r\n if (project == null) {\r\n return;\r\n }\r\n this.projects = _.without(this.projects, project);\r\n });\r\n }\r\n },() => {});\r\n \r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n this.locationSubscription.unsubscribe();\r\n }\r\n sort(sortEvent) {\r\n this.sortOption = sortEvent;\r\n this.loadFilteredProjects();\r\n }\r\n newProject() {\r\n this.createService.getNewProject(this.currentLocation).subscribe(project => {\r\n this.authenticationService.changeLocationAllowed = false;\r\n this.router.navigate([\"designer\", project.id]);\r\n });\r\n }\r\n searchClick(search: string) {\r\n this.searchValue = search.toLowerCase();\r\n this.loadFilteredProjects();\r\n }\r\n keyDownFunction(event: KeyboardEvent) {\r\n if (event.keyCode === 13) {\r\n this.searchClick(this.search);\r\n }\r\n }\r\n searchProject(project: IProject):boolean {\r\n if (this.searchValue === \"\") {\r\n return true;\r\n }\r\n return project.title.toLowerCase().indexOf(this.searchValue) > -1 ||\r\n project.user.name.toLowerCase().indexOf(this.searchValue) > -1;\r\n }\r\n loadFilteredProjects() {\r\n var searchedProjects = _.filter(this.unfilteredProjects, project => this.searchProject(project));\r\n this.projects = _.sortBy(searchedProjects, [this.sortOption.property]);\r\n let asc = this.sortOption.ascending;\r\n if (this.sortOption.property === \"completed\") {\r\n asc = !asc;\r\n }\r\n if (!asc) {\r\n this.projects = this.projects.reverse();\r\n }\r\n\r\n this.loading = false;\r\n }\r\n search=\"\";\r\n locationSubscription;\r\n currentLocation: Location;\r\n sortOption: any = { property: \"dateCreated\", ascending: false };\r\n searchValue: string = \"\";\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Projects

\r\n
\r\n
0\">\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Name Status Created By Created Date Actions\r\n \r\n
{{project.title}}{{project.completed?\"Completed\":\"Open\"}}
{{project.user.name}}
{{project.dateCreated | date:'short'}}\r\n Edit\r\n View\r\n Copy\r\n Delete\r\n
\r\n \r\n
\r\n
0\" class=\"text-center\">\r\n

No results found for your search criteria, go back

\r\n
\r\n
\r\n

Let's get started

\r\n
\r\n
\r\n
\r\n
\r\n","import { CreateImage } from \"../../../Models/index\";\r\n\r\nexport class CreateImageCategory {\r\n title: string;\r\n images: Array;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\n\r\nclass ApplicationSettings {\r\n baseOAuthUri: string;\r\n oAuthClientId: string;\r\n isSSO: boolean = false;\r\n}\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ApplicationService {\r\n condensedFooter: boolean = false;\r\n constructor(private http: HttpClient) { }\r\n started: boolean = false;\r\n getSettings() {\r\n if (this.started) {\r\n return new Observable();\r\n }\r\n this.started = true;\r\n var observable = this.http.get(\"/api/application/GetSettings\");\r\n observable.subscribe(applicationSettings => {\r\n this.applicationSettings = applicationSettings;\r\n });\r\n return observable;\r\n }\r\n\r\n applicationSettings: ApplicationSettings;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { share } from \"rxjs/operators\";\r\nimport * as _ from \"underscore\";\r\nimport { Article } from \"../../admin/content/models/Article\";\r\nimport { Guid } from \"../../admin/content/models/Guid\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class ArticleService {\r\n constructor(private http: HttpClient) { } \r\n articles: Article[] = [];\r\n getArticle(id: string): Observable
{\r\n var result = this.http.get
(`/api/article/get/${id}`).pipe(share());\r\n return result;\r\n }\r\n\r\n delete(id: string): Observable
{\r\n var result = this.http.delete
(`/api/article/delete/${id}`).pipe(share());\r\n result.subscribe(() => {\r\n var currentArticle = _.findWhere(this.articles, { id: id });\r\n this.articles = _.without(this.articles, currentArticle);\r\n });\r\n return result;\r\n }\r\n\r\n add(article): Observable
{\r\n article.id = Guid.newGuid();\r\n var result = this.http.put
(\"/api/article/\", article).pipe(share());\r\n result.subscribe(resultArticle => {\r\n this.articles.push(resultArticle);\r\n });\r\n return result;\r\n }\r\n\r\n update(article: Article): Observable
{\r\n var result = this.http.post
(\"/api/article/\", article).pipe(share());\r\n\r\n return result;\r\n }\r\n loadArticles(): Observable {\r\n var result = this.http.get(\"/api/article/getAll/\").pipe(share());\r\n result.subscribe(articles => {\r\n this.articles = articles;\r\n }); \r\n return result;\r\n }\r\n getArticles(): Article[] {\r\n return this.articles;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable, } from \"rxjs\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\n\r\nimport * as _ from \"underscore\";\r\nimport { share } from \"rxjs/operators\";\r\nimport { IUser } from \"../../../Interfaces/index\";\r\nimport { User } from \"../../../Models/index\";\r\nimport { Location } from \"../../../Models/Location\";\r\n//import { stringify } from \"querystring\";\r\n\r\ndeclare let gigya: any;\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class AuthenticationService {\r\n user = new User();\r\n selectedLocation = new BehaviorSubject(new Location());\r\n initTimer: any;\r\n authenticating: boolean = true;\r\n changeLocationAllowed: boolean = true;\r\n constructor(private http: HttpClient) { }\r\n \r\n getQueryVariable(variable) {\r\n const query = window.location.search.substring(1);\r\n const vars = query.split(\"&\");\r\n for (let i = 0; i < vars.length; i++) {\r\n const pair = vars[i].split(\"=\");\r\n if (pair[0] === variable) {\r\n return pair[1];\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n getUser(): Observable {\r\n\r\n \r\n var observable = this.http.get(`/api/users/GetUser`).pipe(share());\r\n observable.subscribe((user) => {\r\n \r\n this.user = user;\r\n \r\n let selectedLocation = _.findWhere(user.locations, { id: user.defaultLocationId });\r\n if (selectedLocation == null) {\r\n selectedLocation = _.first(user.locations);\r\n }\r\n this.selectedLocation.next(selectedLocation);\r\n });\r\n return observable;\r\n }\r\n\r\n surveyUpdate(neverAgain): Observable {\r\n var observable = this.http.post(`/api/users/updateSurvey/`, { optOut: neverAgain}).pipe(share());\r\n return observable;\r\n }\r\n \r\n ssoLogin() {\r\n\r\n const gigyaData = JSON.parse(window.sessionStorage.getItem(\"UID\"));\r\n const userData = JSON.parse(window.sessionStorage.getItem(\"userProfile\"));\r\n if (gigyaData != null) {\r\n var data = {\r\n UID: gigyaData,\r\n email: userData.email,\r\n lastName: userData.lastName,\r\n firstName: userData.firstName,\r\n defaultAccount: JSON.parse(window.sessionStorage.getItem(\"defaultAccount\"))\r\n }\r\n \r\n return this.http.post(`/Home/storeCookie`, data);\r\n \r\n \r\n }\r\n var result = new BehaviorSubject({ data: false });\r\n return result;\r\n \r\n\r\n }\r\n\r\n gigyaparam() {\r\n\r\n var idsParams = {\r\n include: 'profile, data',\r\n\r\n callback: function (res) {\r\n \r\n if (res.errorCode == 0) {\r\n var isOnIOS = navigator.userAgent.match(/Macintosh/i) || navigator.userAgent.match(/iPhone/i);\r\n if (isOnIOS != null) {\r\n window.onunload = function () {\r\n console.log(\"after windows unload\");\r\n sessionStorage.setItem(\"UID\", JSON.stringify(res.UID));\r\n sessionStorage.setItem(\"userProfile\", JSON.stringify(res.profile));\r\n sessionStorage.setItem(\"defaultAccount\", JSON.stringify(res.data.accountNumber));\r\n\r\n }\r\n }\r\n else {\r\n window.onbeforeunload = function () {\r\n sessionStorage.setItem(\"UID\", JSON.stringify(res.UID));\r\n sessionStorage.setItem(\"userProfile\", JSON.stringify(res.profile));\r\n sessionStorage.setItem(\"defaultAccount\", JSON.stringify(res.data.accountNumber));\r\n }\r\n }\r\n window.location.reload();\r\n }\r\n else {\r\n window.status = 'Error :' + res.errorMessage;\r\n var returnUrl = window.location.origin;\r\n gigya.sso.login(\r\n {\r\n authFlow: 'redirect',\r\n redirectURL: returnUrl,\r\n context: {\r\n myCustomLang: 'ar',\r\n myCustomSessionExpiration: 60 * 60 * 24 * 3\r\n }\r\n });\r\n\r\n\r\n }\r\n }\r\n\r\n };\r\n gigya.accounts.getAccountInfo(idsParams);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ZoomLevel } from '../../../Models/ZoomLevel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreateSettingsService {\r\n zoom: ZoomLevel = { min: .16, max: 4, current: .25 };\r\n pixelsPerInch = 300;\r\n constructor() { }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Observable, throwError, BehaviorSubject } from \"rxjs\";\r\nimport { share } from \"rxjs/operators\";\r\nimport * as _ from \"underscore\";\r\nimport { CreateImage, Project, Medallion, User } from \"../../../Models\";\r\nimport { MedallionImage } from \"../../../Models/MedallionImage\";\r\nimport { Location } from \"../../../Models/Location\";\r\nimport { ILocation } from \"../../../Interfaces/index\";\r\n\r\nconst httpOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': \"application/json\" })\r\n};\r\n\r\n //YW - 132 - Add return to Batesville.com button\r\nexport class AppSettings {\r\n url = \"\";\r\n}\r\n //YW - 132 - Add return to Batesville.com button\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CreateService {\r\n selectedImage = new BehaviorSubject( new CreateImage());\r\n appSettings = new BehaviorSubject(null);\r\n saving: boolean = false;\r\n constructor(private http: HttpClient) {\r\n //YW - 132 - Add return to Batesville.com button\r\n http.get(\"/api/application/getsettings\").subscribe(appSettings => { this.appSettings.next(appSettings) })\r\n //YW - 132 - Add return to Batesville.com button\r\n }\r\n\r\n project$ = new BehaviorSubject(new Project());\r\n\r\n projects$ = new BehaviorSubject(Array());\r\n private projects = new Array();\r\n\r\n newMedallion(project: Project): Observable {\r\n this.saving = true;\r\n if (project.id == null) {\r\n return new Observable();\r\n }\r\n var result = this.http.get(`api/medallions/create?projectId=${project.id}`).pipe(share());\r\n result.subscribe(i => {\r\n this.saving = false;\r\n });\r\n return result;\r\n }\r\n updateMedallion(medallion: Medallion) {\r\n this.saving = true;\r\n var post = this.http.put(\"/api/medallions/update\", medallion).pipe(share());\r\n post.subscribe((med: Medallion) => {\r\n this.saving = false;\r\n medallion.url = med.url;\r\n medallion.thumbnailUrl = med.thumbnailUrl;\r\n });\r\n return post;\r\n }\r\n cloneMedallion(medallion: Medallion): Observable {\r\n this.saving = true;\r\n var post = this.http.post(\"/api/medallions/clone\", medallion).pipe(share());\r\n post.subscribe((med: Medallion) => {\r\n this.saving = false;\r\n medallion.url = med.url;\r\n medallion.thumbnailUrl = med.thumbnailUrl;\r\n });\r\n return post;\r\n }\r\n deleteMedallion(medallion: Medallion) {\r\n this.saving = true;\r\n this.http.delete(`/api/medallions/delete/${medallion.id}`).subscribe(med => {\r\n this.saving = false;\r\n this.currentMedallion.next(null);\r\n });\r\n }\r\n\r\n newMedallionImage(medallion: Medallion, image: CreateImage): Observable {\r\n this.saving = true;\r\n if (medallion.id == null) {\r\n return new Observable();\r\n }\r\n var result = this.http.get(`api/medallionImages/create?medallionId=${medallion.id}&imageId=${image.id}`).pipe(share());\r\n result.subscribe(i => {\r\n this.saving = false;\r\n });\r\n return result;\r\n }\r\n deleteMedallionImage(medallionImage: MedallionImage): Observable {\r\n return this.http.delete(`/api/medallionImages/delete/${medallionImage.id}`);\r\n }\r\n updateMedallionImage(medallion: MedallionImage) {\r\n this.saving = true;\r\n this.http.put(\"/api/medallionImages/update\", medallion).pipe(share()).subscribe(med => {\r\n this.saving = false;\r\n });\r\n }\r\n updateProject(project: Project) {\r\n this.saving = true;\r\n this.http.put(\"api/projects/update\", project).subscribe(proj => {\r\n this.saving = false;\r\n });\r\n }\r\n updateProjects() {\r\n this.projects$.next(this.projects); // Calls/pushes to subscribe\r\n }\r\n\r\n //////// Get methods //////////\r\n getProjects(location: ILocation): Observable {\r\n if (location == null || location.id == null) {\r\n this.projects = [];\r\n this.updateProjects();\r\n }\r\n else {\r\n this.http.get(`/api/Projects/GetProjects/${location.id}`)\r\n .subscribe(result => {\r\n this.projects = result;\r\n this.updateProjects();\r\n },\r\n () => {\r\n this.projects = [];\r\n this.updateProjects();\r\n });\r\n }\r\n return this.projects$;\r\n }\r\n\r\n getProject(id: any): Observable {\r\n var result = this.http.get(`/api/Projects/GetProject?projectID=${id}`);\r\n return result;\r\n }\r\n\r\n\r\n getUser(): Observable {\r\n return this.http.get(\"/api/Designs/GetUser/\");\r\n }\r\n\r\n\r\n createProject(project): Observable {\r\n var result = this.http.post(\"/api/Projects/CreateProject\", project, httpOptions).pipe(share());\r\n result.subscribe((data : Project) => {\r\n this.projects.push(data);\r\n this.updateProjects();\r\n },\r\n error => {\r\n this.handleError(error);\r\n });\r\n return result;\r\n }\r\n\r\n\r\n private handleError(err: HttpErrorResponse) {\r\n let errorMessage = \"\";\r\n if (err.error instanceof ErrorEvent) {\r\n errorMessage = `An error occurred: ${err.error.message}`;\r\n } else {\r\n errorMessage = `Server returned code: ${err.status}, error message is: ${err.message}`;\r\n }\r\n console.error(errorMessage);\r\n return throwError(errorMessage);\r\n }\r\n\r\n getNewProject(location: Location): Observable {\r\n var project = new Project();\r\n let d = new Date();\r\n project.title = `New Project ${d.getFullYear()}${d.getMonth() + 1}${d.getDate()}${d.getHours()}${d.getMinutes()}${d.getSeconds()}`;\r\n project.locationId = location.id;\r\n return this.createProject(project);\r\n }\r\n copyProject(id: string, currentLocation: Location): Observable {\r\n var postObject = {\r\n projectId: id,\r\n locationId: currentLocation.id\r\n }\r\n var post = this.http.post(\"/api/Projects/CopyProject\", postObject).pipe(share());\r\n post.subscribe((data: Project) => {\r\n this.projects.push(data);\r\n this.updateProjects();\r\n },\r\n error => {\r\n this.handleError(error);\r\n });\r\n return post;\r\n }\r\n\r\n setProject(newProject: Project) {\r\n this.currentProject = newProject;\r\n }\r\n\r\n setMedallion(medallion) {\r\n this.currentMedallion.next(medallion);\r\n }\r\n\r\n currentProject: Project;\r\n\r\n currentMedallion = new BehaviorSubject(null);\r\n currentImage = new CreateImage();\r\n\r\n deleteProject(id: string): Observable {\r\n const project = _.findWhere(this.projects, { id: id });\r\n var postProject = new BehaviorSubject(null);\r\n var post = this.http.delete(`/api/Projects/deleteProject/${id}`).pipe(share());\r\n post.subscribe((data: Project) => {\r\n postProject.next(project);\r\n },\r\n error => {\r\n this.handleError(error);\r\n });\r\n return postProject;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable } from \"rxjs\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { share } from \"rxjs/operators\";\r\nimport { HelpDocument } from \"../help/help-docs/HelpDocument\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class HelpDocsService {\r\n currentTarget = new BehaviorSubject(null);\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.loadHelpDocs().subscribe(helpDocs => this.helpDocs.next(helpDocs));\r\n }\r\n\r\n loadHelpDocs(): Observable {\r\n return this.httpClient.get(\"api/help\");\r\n }\r\n\r\n createHelpDoc(guid): Observable {\r\n return this.httpClient.post(\"api/help/create\", { id: guid });\r\n }\r\n\r\n updateDoc(document: HelpDocument): Observable {\r\n var result = this.httpClient.post(\"api/help/update\", document).pipe(share());\r\n return result;\r\n }\r\n\r\n helpDocs = new BehaviorSubject(null);\r\n\r\n updateOrdering(helpDocs: HelpDocument[]): Observable {\r\n var documents = helpDocs.map(doc => {\r\n return { id: doc.id, ordering: doc.ordering }\r\n });\r\n var result = this.httpClient.post(\"api/help/updateOrdering\", documents).pipe(share());\r\n return result;\r\n }\r\n\r\n zIndex: number = 990;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport * as _ from \"underscore\";\r\nimport { CreateImageCategory } from \"./CreateImageCategory\";\r\nimport { Observable, BehaviorSubject } from \"rxjs\";\r\nimport { share } from \"rxjs/operators\";\r\nimport { CreateImage } from \"../../../Models/index\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class ImageManagerService { \r\n \r\n deleted = false;\r\n images: CreateImage[];\r\n categories: Set = new Set();\r\n \r\n showDeleted = new BehaviorSubject(false);\r\n searchValue = \"\";\r\n searchText = \"\";\r\n selectedTab = \"default\";\r\n batesvilleImages: CreateImageCategory[];\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n updateImageCategories() {\r\n this.images.forEach(image => {\r\n this.categories.add(image.category);\r\n });\r\n }\r\n\r\n add(createImage: CreateImage): BehaviorSubject {\r\n var result = new BehaviorSubject(new CreateImage());\r\n this.http.post(\"api/image/post\", createImage).subscribe(image => {\r\n if (_.any(this.images, i => i.id === image.id)) {\r\n let img: CreateImage = _.findWhere(this.images, {id:image.id});\r\n img.url = image.url;\r\n img.category = image.category;\r\n img.title = image.title;\r\n img.isBatesville = image.isBatesville;\r\n img.locationId = image.locationId;\r\n img.galleryView = image.galleryView;\r\n }\r\n else {\r\n if (!this.images) {\r\n this.images = [];\r\n }\r\n this.images.push(image);\r\n }\r\n this.updateImageCategories();\r\n result.next(image);\r\n },\r\n error => {\r\n result.error(error);\r\n });\r\n return result;\r\n }\r\n put(createImage: CreateImage): Observable {\r\n let result = this.http.post(\"api/image/put\", createImage).pipe(share());\r\n result.subscribe(image => {},error => {});\r\n return result;\r\n }\r\n\r\n update(createImage: CreateImage): Observable {\r\n var result = this.http.post(\"api/image/update\", createImage).pipe(share());\r\n return result;\r\n }\r\n getImages() {\r\n this.http.get>(\"api/image\").subscribe(images => {\r\n this.images = images;\r\n this.updateImageCategories();\r\n });\r\n }\r\n\r\n setActive(image: CreateImage) {\r\n if (this.images) {\r\n this.images.forEach(i => i.active = false);\r\n }\r\n if (image) {\r\n image.active = true;\r\n }\r\n }\r\n\r\n getBatesvilleImages(deleted: boolean):Observable> {\r\n var request = this.http.get>(`api/image/getBatesville?showDeleted=${deleted}`).pipe(share());\r\n request.subscribe(images => this.batesvilleImages = images, error => console.log(error));\r\n return request;\r\n }\r\n\r\n getImage(id: number): Observable {\r\n var request = this.http.get(`api/image/getImage/${id}`).pipe(share());\r\n request.subscribe(image => console.log(image), error => console.log(error));\r\n return request;\r\n }\r\n\r\n getImagesSearch(search: string, id: number): Observable> {\r\n var request = this.http.get>(`api/image/getSearchImages?locationId=${id}&search=${search}`).pipe(share());\r\n request.subscribe(images => this.batesvilleImages = images, error => console.log(error));\r\n return request;\r\n }\r\n delete(id: number): Observable> {\r\n var request = this.http.delete>(`api/image/delete/${id}`).pipe(share());\r\n request.subscribe(() => {}, error => console.log(error));\r\n return request;\r\n }\r\n getLocationImages(id: number, showDelete: boolean = false) {\r\n if (id == null) return new Observable>();\r\n var request = this.http.get>(`api/image/getLocationImages/${id}?showDeleted=${showDelete}`).pipe(share());\r\n request.subscribe(images => this.batesvilleImages = images, error => console.log(error));\r\n return request;\r\n }\r\n\r\n getProjectImages(id: string): Observable> {\r\n var request = this.http.get>(`api/image/getProjectImages/${id}`).pipe(share());\r\n return request;\r\n }\r\n\r\n restore(id: number): Observable {\r\n var request = this.http.get(`api/image/restore/${id}`).pipe(share());\r\n request.subscribe(() => { }, error => console.log(error));\r\n return request;\r\n }\r\n\r\n saveOrdering(items) {\r\n var request = this.http.post(\"/api/image/saveOrdering\", items).pipe(share());\r\n request.subscribe(() => { }, error => console.log(error));\r\n return request;\r\n }\r\n\r\n getBatesvilleCategories(): Observable {\r\n var request = this.http.get(`api/image/batesvilleCategories`).pipe(share());\r\n request.subscribe(() => { }, error => console.log(error));\r\n return request;\r\n }\r\n\r\n getLocationCategories(id: number): Observable {\r\n var request = this.http.get(`api/image/locationCategories/${id}`).pipe(share());\r\n request.subscribe(() => { }, error => console.log(error));\r\n return request;\r\n }\r\n\r\n getBatesvilleKeywords(): Observable {\r\n var request = this.http.get(`api/image/getBatesvilleKeywords`).pipe(share());\r\n request.subscribe(() => { }, error => console.log(error));\r\n return request;\r\n }\r\n\r\n getLocationKeywords(id: number): Observable {\r\n var request = this.http.get(`api/image/getLocationKeywords/${id}`).pipe(share());\r\n request.subscribe(() => { }, error => console.log(error));\r\n return request;\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport * as _ from 'underscore';\r\nimport {Observable} from 'rxjs';\r\nimport {MedallionSize} from '../../../Models';\r\nimport {IMedallionSize} from '../../../Interfaces';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MedallionService {\r\n medallionSizes = new Array();\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n loadMedallionSizes(): Observable {\r\n const result = this.http.get('/api/MedallionSizes/GetMedallionSizes');\r\n result.subscribe(results => {\r\n this.medallionSizes = results;\r\n });\r\n return result;\r\n }\r\n\r\n getSize(id: number): MedallionSize {\r\n const result = _.findWhere(this.medallionSizes, {id: id});\r\n return result;\r\n }\r\n\r\n getMedallionSize(id: number): Observable {\r\n const result = this.http.get(`/api/MedallionSizes/GetMedallionSize/${id}`);\r\n return result;\r\n }\r\n\r\n updateMedallionSize(medallionSize: MedallionSize) {\r\n const result = this.http.put('/api/MedallionSizes/updateMedallionSize', medallionSize);\r\n return result;\r\n }\r\n\r\n addMedallionSize() {\r\n const result = this.http.post('/api/MedallionSizes/addMedallionSize', new MedallionSize());\r\n return result;\r\n }\r\n\r\n deleteMedallionSize(medallionSize: MedallionSize): Observable {\r\n const result = this.http.delete('/api/MedallionSizes/deleteMedallionSize/' + medallionSize.id);\r\n return result;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { share } from \"rxjs/operators\";\r\nimport { MediaElement } from \"../../admin/content/choose-video/MediaElement\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class MediaService {\r\n constructor(private http: HttpClient) { }\r\n\r\n putMedia(media: File): Observable {\r\n const formData = new FormData();\r\n formData.append(\"Image\", media, media.name);\r\n const result = this.http.put(\"/api/media/upload/\", formData).pipe(share());\r\n return result;\r\n }\r\n\r\n getMedia(): Observable {\r\n const result = this.http.get(\"/api/media/getAll/\").pipe(share());\r\n result.subscribe(media => { console.log(media); });\r\n return result;\r\n }\r\n\r\n putMediaElement(media): Observable {\r\n const result = this.http.put(\"/api/media/put/\", media).pipe(share());\r\n return result;\r\n }\r\n\r\n postMediaElement(media: MediaElement): Observable {\r\n const result = this.http.post(\"/api/media/post/\", media).pipe(share());\r\n return result;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Observable, BehaviorSubject } from \"rxjs\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { share } from \"rxjs/operators\";\r\nimport * as _ from \"underscore\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MenuItem } from \"../../admin/content/models/MenuItem\";\r\nimport { Guid } from \"../../admin/content/models/Guid\";\r\nimport { MenuItemType } from \"../../admin/content/models/MenuItemType\";\r\nconst $window: Window = window;\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class MenuItemsService {\r\n constructor(private http: HttpClient,\r\n private router: Router) { }\r\n menuItems = new BehaviorSubject( new Array());\r\n //menuItems = new BehaviorSubject>(new Array());\r\n getMenuItem(id: string): Observable {\r\n var result = this.http.get(`/api/menuItem/get/${id}`).pipe(share());\r\n return result;\r\n }\r\n\r\n delete(id: string): Observable {\r\n var result = this.http.delete(`/api/menuItem/delete/${id}`).pipe(share());\r\n result.subscribe(() => {\r\n // var currentArticle= _.findWhere(this.menuItems, {id=id} );\r\n // var currentArticle:string[]=[];\r\n var currentArticle= _.findWhere(this.menuItems.value, {id:id} );\r\n this.menuItems.next(_.without(this.menuItems.value, currentArticle));\r\n //var currentArticle = _.findWhere(this.menuItems, { id: id });\r\n //this.menuItems = _.without(this.menuItems, currentArticle);\r\n });\r\n return result;\r\n }\r\n\r\n add(menuItem: MenuItem): Observable {\r\n menuItem.id = Guid.newGuid();\r\n var result = this.http.put(\"/api/menuItem/put\", menuItem).pipe(share());\r\n result.subscribe(resultArticle => {\r\n let articles: MenuItem[] = this.menuItems.value;\r\n articles.push(resultArticle);\r\n this.menuItems.next(articles);\r\n });\r\n return result;\r\n }\r\n\r\n update(menuItem: MenuItem): Observable {\r\n var result = this.http.post(\"/api/menuItem/post\", menuItem).pipe(share());\r\n result.subscribe(menuItem => {\r\n let menuItems: MenuItem[] = this.menuItems.value;\r\n let item: MenuItem = _.findWhere(menuItems, { id: menuItem.id });\r\n item.published = menuItem.published;\r\n item.menuPosition = menuItem.menuPosition;\r\n item.ordering = menuItem.ordering;\r\n this.menuItems.next(menuItems);\r\n\r\n });\r\n return result;\r\n }\r\n getMenuItems(): Observable {\r\n var result = this.http.get(\"/api/menuItem/getAll/\").pipe(share());\r\n result.subscribe(menuItems => {\r\n this.menuItems.next(menuItems);\r\n });\r\n return result;\r\n }\r\n\r\n saveOrdering(menuItems: MenuItem[]) {\r\n var orderMenuItems = menuItems.map(i => {\r\n return {\r\n id: i.id,\r\n ordering: i.ordering\r\n };\r\n });\r\n var result = this.http.post(\"/api/menuItem/updateOrdering/\", orderMenuItems).pipe(share());\r\n result.subscribe(menuItems => {\r\n let articles: MenuItem[] = this.menuItems.value;\r\n this.menuItems.next(articles);\r\n });\r\n return result;\r\n }\r\n\r\n toggleDefault(menuItem: MenuItem): Observable {\r\n var result = this.http.post(\"/api/menuItem/toggleDefault\", menuItem).pipe(share());\r\n result.subscribe(() => {\r\n let menuItems: MenuItem[] = this.menuItems.value;\r\n let item: MenuItem = _.findWhere(menuItems, { id: menuItem.id });\r\n item.default = menuItem.default;\r\n this.menuItems.next(menuItems);\r\n\r\n });\r\n return result;\r\n }\r\n\r\n navigate(menuItem: MenuItem) {\r\n if (menuItem == null) {\r\n return;\r\n }\r\n switch (menuItem.menuItemType) {\r\n case MenuItemType.Article:\r\n this.router.navigate([\"content-view\", \"article\", menuItem.articleId]);\r\n break;\r\n case MenuItemType.Component:\r\n this.router.navigate([menuItem.componentName]);\r\n break;\r\n case MenuItemType.ExternalLink:\r\n $window.open(menuItem.url, \"_blank\");\r\n break;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SortOptionService {\r\n currentProperty = 'dateCreated';\r\n\r\n constructor() { }\r\n\r\n ascending = false;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class TemplateService {\r\n\r\n constructor() {}\r\n\r\n menuPositions = [\r\n {\r\n title: \"Header\",\r\n value: \"header\"\r\n }, {\r\n title: \"Navigation Bar\",\r\n value: \"nav-bar\"\r\n }, {\r\n title: \"Survey Dialog\",\r\n value: \"survey-dialog\"\r\n }\r\n ];\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { share } from \"rxjs/operators\";\r\nimport { User } from \"../../../Models/index\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class UserService {\r\n constructor(private http: HttpClient) { }\r\n\r\n getUsers(): Observable {\r\n var userRequest = this.http.get(\"/api/users/getAll\").pipe(share());\r\n return userRequest;\r\n }\r\n\r\n getUser(id: number): Observable {\r\n var userRequest = this.http.get(`/api/users/getUserById/${id}`).pipe(share());\r\n return userRequest;\r\n }\r\n\r\n saveUser(user: User): Observable {\r\n var userRequest = this.http.post(\"/api/users/updateUser\", user).pipe(share());\r\n return userRequest;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { Observable, BehaviorSubject } from \"rxjs\";\r\nimport { share } from \"rxjs/operators\";\r\nimport { CreateVideo } from \"./CreateVideo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class VideoManagerService {\r\n videos = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n getVideos(): Observable> {\r\n if (this.videos.value == null) {\r\n this.loadVideos();\r\n }\r\n return this.videos;\r\n }\r\n private loadVideos(): Observable> {\r\n var request = this.http.get>(\"api/video/getAll\").pipe(share());\r\n request.subscribe(videos => this.videos.next(videos), error => console.log(error));\r\n return request;\r\n }\r\n}\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { CreateImage } from \"../../../Models/CreateImage\";\r\nimport { CreateService } from \"../Services/create.service\";\r\n\r\n@Component({\r\n selector: \"yw-category-image-list-base\",\r\n templateUrl: \"./category-image-list-base.component.html\",\r\n styleUrls: [\"./category-image-list-base.component.less\"]\r\n})\r\nexport class CategoryImageListBaseComponent implements OnInit {\r\n imageUpdated: (image: CreateImage) => void;\r\n\r\n constructor(public createService: CreateService) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n search: string;\r\n}\r\n","

\r\n category-image-list-base works!\r\n

\r\n","import { Component, OnInit, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { DisplayType } from \"../../../Models/DisplayType\";\r\nimport { CreateImageCategory } from \"../Services/CreateImageCategory\";\r\nimport { CreateService } from \"../Services/create.service\";\r\nimport { AuthenticationService } from \"../Services/authentication.service\";\r\nimport { UserService } from \"../Services/user.service\";\r\n\r\n@Component({\r\n selector: \"yw-category-image-list\",\r\n templateUrl: \"./category-image-list.component.html\",\r\n styleUrls: [\"./category-image-list.component.less\"]\r\n})\r\nexport class CategoryImageListComponent implements OnInit {\r\n @Input() categories: CreateImageCategory;\r\n @Output() clicked = new EventEmitter();\r\n constructor(public createService: CreateService,\r\n public authentication: AuthenticationService,\r\n private userService: UserService) { }\r\n clickedImage(image) {\r\n this.clicked.emit(image);\r\n }\r\n setDisplayType(displayType: DisplayType) {\r\n this.authentication.user.displayType = displayType;\r\n this.userService.saveUser(this.authentication.user).subscribe(user => user);\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
{{category.title}}
\r\n \r\n
\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport * as _ from \"underscore\";\r\nimport { HelpDocument } from \"../help/help-docs/HelpDocument\";\r\nimport { HelpDocsService } from \"../Services/help-docs.service\";\r\nimport { AuthenticationService } from \"../Services/authentication.service\";\r\n\r\n@Component({\r\n selector: \"create-help-docs-button\",\r\n templateUrl: \"./help-docs-button.component.html\",\r\n styleUrls: [\"./help-docs-button.component.less\"]\r\n})\r\nexport class HelpDocsButtonComponent implements OnInit {\r\n @Input() target: string;\r\n @Input() zIndex: number = 990;\r\n constructor(private helpDocsService: HelpDocsService,\r\n public authentication: AuthenticationService) { }\r\n\r\n ngOnInit() {\r\n this.helpDocsService.helpDocs.subscribe(docs => {\r\n var doc: HelpDocument = _.findWhere(docs, { id: this.target });\r\n this.exist = doc != null;\r\n this.published = doc != null && doc.published;\r\n });\r\n }\r\n clicked() {\r\n console.log(this.zIndex);\r\n this.helpDocsService.zIndex = this.zIndex;\r\n this.helpDocsService.currentTarget.next(this.target);\r\n }\r\n\r\n exist:boolean;\r\n published: boolean;\r\n}\r\n","= 100\" href=\"javascript:void(0)\" (click)=\"clicked()\">\r\n \r\n\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { HelpDocument } from \"./HelpDocument\";\r\nimport { AuthenticationService } from \"../../Services/authentication.service\";\r\nimport { HelpDocsService } from \"../../Services/help-docs.service\";\r\n\r\n@Component({\r\n selector: \"create-help-docs\",\r\n templateUrl: \"./help-docs.component.html\",\r\n styleUrls: [\"./help-docs.component.less\"]\r\n})\r\nexport class HelpDocsComponent implements OnInit {\r\n @Input() document: HelpDocument;\r\n @Input() sorting: boolean;\r\n editDocument: boolean;\r\n roleOptions = [\r\n { id: 0, name: \"Default\" },\r\n { id: 100, name: \"Admin\" },\r\n { id: 1000, name: \"System Admin\" }\r\n ];\r\n constructor(public authentication: AuthenticationService,\r\n private helpDocsService: HelpDocsService) { }\r\n changed() {\r\n this.helpDocsService.updateDoc(this.document).subscribe(docs => {\r\n //console.log(docs);\r\n });\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
{{document.title}}
\r\n
=100 && !sorting\">\r\n
Edit
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
Done Editing
\r\n
\r\n
\r\n","import { Component, OnInit, ElementRef, HostBinding } from \"@angular/core\";\r\nimport { HelpDocument } from \"./help-docs/HelpDocument\";\r\nimport * as _ from \"underscore\";\r\nimport * as $ from \"jquery\";\r\nimport { CdkDragDrop, moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport { CreateRole } from \"../../../Models/CreateRole\";\r\n\r\nimport Quill from \"quill\"\r\nimport { HelpDocsService } from \"../Services/help-docs.service\";\r\nimport { AuthenticationService } from \"../Services/authentication.service\";\r\n\r\nconst parchment = Quill.import(\"parchment\");\r\nconst block = parchment.query(\"block\");\r\nblock.tagName = \"DIV\";\r\nQuill.register(block /* or NewBlock */, true);\r\n\r\n@Component({\r\n selector: \"create-help\",\r\n templateUrl: \"./help.component.html\",\r\n styleUrls: [\"./help.component.less\"],\r\n host: { '[class.open]': \"helpOpen\" }\r\n})\r\nexport class HelpComponent implements OnInit {\r\n helpOpen: boolean = false;\r\n allowOrdering: boolean = false;\r\n sorting = false;\r\n @HostBinding(\"style.z-index\") zIndex: number = 990;\r\n toggleSorting() {\r\n this.sorting = !this.sorting;\r\n }\r\n constructor(private helpDocsService: HelpDocsService,\r\n private authentication: AuthenticationService,\r\n private element: ElementRef) { }\r\n drop(event: CdkDragDrop>) {\r\n moveItemInArray(this.helpDocs, event.previousIndex, event.currentIndex);\r\n let z = 0;\r\n this.helpDocs.forEach(layer => {\r\n layer.ordering = z++;\r\n });\r\n this.helpDocsService.updateOrdering(this.helpDocs).subscribe(docs => console.log(docs));\r\n }\r\n ngOnInit() {\r\n this.helpDocsService.currentTarget.subscribe(guid => {\r\n this.zIndex = this.helpDocsService.zIndex;\r\n if (guid == null) {\r\n return;\r\n }\r\n this.moveToHelp(guid);\r\n });\r\n this.authentication.getUser().subscribe(user => {\r\n this.helpDocsService.helpDocs.subscribe(docs => {\r\n if (docs == null) {\r\n return;\r\n }\r\n this.allowOrdering = user.role >= CreateRole.Admin;\r\n this.helpDocs = docs.filter(doc => doc.role <= user.role);\r\n if (this.authentication.user.role < 100) {\r\n this.helpDocs = this.helpDocs.filter(doc => doc.published);\r\n }\r\n this.helpDocs = _.sortBy(this.helpDocs, doc => doc.ordering);\r\n });\r\n });\r\n }\r\n toggleOpen() {\r\n if (this.helpOpen === false) {\r\n this.helpOpen = true;\r\n return;\r\n }\r\n this.close();\r\n }\r\n close() {\r\n this.zIndex = this.helpDocsService.zIndex = 990;\r\n this.helpOpen = false;\r\n this.helpDocs.forEach(doc => {\r\n doc.edit = false;\r\n });\r\n }\r\n moveToHelp(guid) {\r\n this.helpDocs.forEach(h => h.active = false);\r\n var helpDoc: HelpDocument = _.findWhere(this.helpDocs, { id: guid });\r\n if (helpDoc == null) {\r\n this.createHelpDoc(guid);\r\n return;\r\n }\r\n\r\n helpDoc.active = true;\r\n this.scrollTo(helpDoc);\r\n }\r\n\r\n\r\n createHelpDoc(guid) {\r\n this.helpDocsService.createHelpDoc(guid).subscribe(helpDoc => {\r\n this.helpDocs.push(helpDoc);\r\n helpDoc.active = true;\r\n this.scrollTo(helpDoc);\r\n });\r\n }\r\n\r\n scrollTo(helpDocument: HelpDocument) {\r\n this.helpOpen = true;\r\n var padding = 10;\r\n let helpDocTag = $(this.element.nativeElement).find(`#${helpDocument.id}`);\r\n let helpContent = $(this.element.nativeElement).find(\".help-content\");\r\n if (helpDocTag.length > 0) {\r\n helpContent.animate({\r\n scrollTop: helpContent[0].scrollTop + (helpDocTag.offset().top - helpContent.offset().top - padding)\r\n },\r\n 2000);\r\n }\r\n }\r\n helpDocs:HelpDocument[];\r\n}\r\n","
\r\n
Help
\r\n
\r\n
\r\n

\r\n Help\r\n

\r\n
\r\n
\r\n \r\n Sort\r\n \r\n Close\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnChanges, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'pagination',\r\n templateUrl: './pagination.component.html',\r\n styleUrls: ['./pagination.component.scss']\r\n})\r\nexport class PaginationComponent implements OnChanges {\r\n pageList: number[];\r\n\r\n @Input()\r\n get page() { return this.pageValue; }\r\n @Output() pageChange = new EventEmitter();\r\n set page(value: number) {\r\n this.pageValue = value; \r\n this.pageChange.emit(this.pageValue);\r\n }\r\n\r\n @Input()\r\n set pageSize(value: number) {\r\n this.pageSizeValue = value;\r\n this.updateNumberOfPages();\r\n }\r\n\r\n @Input()\r\n set collectionSize(value: number) {\r\n this.collectionSizeValue = value;\r\n this.updateNumberOfPages();\r\n }\r\n @Input()\r\n maxSize: number = 5;\r\n\r\n constructor() {}\r\n setPage(pageId, event: MouseEvent) {\r\n this.page = pageId;\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n ngOnChanges() {\r\n \r\n let pageNumber = Math.floor((this.pageValue) - (this.maxSize / 2));\r\n \r\n if (pageNumber < 0) {\r\n pageNumber = 0;\r\n }\r\n if (pageNumber >= (this.numberOfPages - 1) - this.maxSize) {\r\n pageNumber = this.numberOfPages - this.maxSize;\r\n }\r\n\r\n this.displayPages = this.pageList.slice(pageNumber, pageNumber + this.maxSize);\r\n \r\n }\r\n\r\n pageValue: number;\r\n numberOfPages: number;\r\n pageSizeValue: number;\r\n collectionSizeValue: number;\r\n\r\n updateNumberOfPages() {\r\n this.pageList = [];\r\n this.numberOfPages = Math.ceil(this.collectionSizeValue / this.pageSizeValue);\r\n for (let i = 1; i <= this.numberOfPages; i++) {\r\n this.pageList.push(i);\r\n }\r\n this.ngOnChanges();\r\n }\r\n\r\n displayPages: number[];\r\n}\r\n","
    1\">\r\n
  • 1\">\r\n \r\n
  • \r\n
  • 1\"\r\n (click)=\"setPage(1, $event)\">\r\n 1\r\n
  • \r\n
  • 2\">\r\n ...\r\n
  • \r\n
  • \r\n {{pageId}}\r\n
  • \r\n
  • 0\">\r\n ...\r\n
  • \r\n
  • 0\"\r\n (click)=\"setPage(numberOfPages, $event)\">\r\n {{numberOfPages}}\r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n\r\n","import { Component, OnInit, Input, EventEmitter, Output } from \"@angular/core\";\r\nimport { DisplayType } from \"../../../Models/DisplayType\";\r\nimport { CreateImage } from \"../../../Models/index\";\r\nimport { CreateService } from \"../Services/create.service\";\r\nimport { AuthenticationService } from \"../Services/authentication.service\";\r\nimport { UserService } from \"../Services/user.service\";\r\n\r\n@Component({\r\n selector: \"yw-shared-image-list\",\r\n templateUrl: \"./shared-image-list.component.html\",\r\n styleUrls: [\"./shared-image-list.component.less\"]\r\n})\r\nexport class SharedImageListComponent implements OnInit {\r\n @Input() images: Array;\r\n @Output() clicked = new EventEmitter();\r\n constructor(public createService: CreateService,\r\n public authentication: AuthenticationService,\r\n private userService: UserService) { }\r\n clickedImage(image) {\r\n this.clicked.emit(image);\r\n }\r\n setDisplayType(displayType: DisplayType) {\r\n this.authentication.user.displayType = displayType;\r\n this.userService.saveUser(this.authentication.user).subscribe(user => user);\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\nimport { DisplayType } from \"../../../Models/DisplayType\";\r\nimport { CreateImage } from \"../../../Models/index\";\r\nimport { CreateService } from \"../Services/create.service\";\r\nimport { AuthenticationService } from \"../Services/authentication.service\";\r\nimport { UserService } from \"../Services/user.service\";\r\n\r\n@Component({\r\n selector: \"yw-shared-image\",\r\n templateUrl: \"./shared-image.component.html\",\r\n styleUrls: [\"./shared-image.component.less\"]\r\n})\r\nexport class SharedImageComponent implements OnInit {\r\n @Input() image: CreateImage;\r\n constructor(public createService: CreateService,\r\n public authentication: AuthenticationService,\r\n private userService: UserService) {\r\n }\r\n setDisplayType(displayType: DisplayType) {\r\n this.authentication.user.displayType = displayType;\r\n this.userService.saveUser(this.authentication.user).subscribe(user => user);\r\n }\r\n ngOnInit() {\r\n var image = new Image();\r\n image.onload = (img) => {\r\n this.image.width = image.naturalWidth;\r\n this.image.height = image.naturalHeight;\r\n }\r\n image.src = `/uploaded-images/${this.image.url}`;\r\n this.createService.selectedImage.subscribe(image => {\r\n this.selectedImage = image;\r\n });\r\n }\r\n\r\n selectedImage: CreateImage;\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n Fit\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Maximize\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{image.title}}\r\n
\r\n
\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { ColorPickerModule } from \"ngx-color-picker\";\r\nimport { QuillModule } from \"ngx-quill\";\r\nimport { ApplicationService } from \"./Services/application-service.service\";\r\nimport { AuthenticationService } from \"./Services/authentication.service\";\r\nimport { ImageManagerService } from \"./Services/image-manager.service\";\r\nimport { MedallionService } from \"./Services/medallion.service\";\r\nimport { SortOptionService } from \"./Services/sort-option.service\";\r\nimport { CreateService } from \"./Services/create.service\";\r\nimport { ImageUploadContainerComponent } from \"../image-dialog/image-upload-container/image-upload-container.component\";\r\nimport { CategoryImageListComponent } from \"../../Components/shared/category-image-list/category-image-list.component\";\r\nimport { CategoryImageListBaseComponent } from \"../../Components/shared/category-image-list-base/category-image-list-base.component\";\r\nimport { CreateSettingsService } from \"./Services/create-settings.service\";\r\nimport { HelpDocsComponent } from \"./help/help-docs/help-docs.component\";\r\nimport { HelpDocsButtonComponent } from \"./help-docs-button/help-docs-button.component\";\r\nimport { HelpDocsService } from \"./Services/help-docs.service\";\r\nimport { HelpComponent } from \"./help/help.component\";\r\nimport { UserService } from \"./Services/user.service\";\r\nimport { SortOptionComponent } from \"./sort-option/sort-option.component\";\r\nimport { NgxPaginationModule } from \"ngx-pagination\";\r\nimport { SharedImageComponent } from \"./shared-image/shared-image.component\";\r\nimport { SharedImageListComponent } from \"./shared-image-list/shared-image-list.component\";\r\nimport { ToggleCheckComponent } from \"./toggle-check/toggle-check.component\";\r\nimport { FormInputTextComponent } from \"../form-input-text/form-input-text.component\";\r\nimport { TemplateService } from \"./Services/template.service\";\r\nimport { ArticleService } from \"./Services/article.service\";\r\nimport { MenuItemsService } from \"./Services/menu-items.service\";\r\nimport { MediaService } from \"./Services/media.service\";\r\nimport { VideoManagerService } from \"./Services/video-manager.service\";\r\nimport { HtmlTrustPipe } from \"../../pipes/html-trust.pipe\";\r\nimport { PaginationComponent } from \"./pagination/pagination.component\";\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ImageUploadContainerComponent,\r\n CategoryImageListComponent,\r\n CategoryImageListBaseComponent,\r\n HelpComponent,\r\n HelpDocsComponent,\r\n HelpDocsButtonComponent,\r\n SortOptionComponent,\r\n SharedImageListComponent,\r\n SharedImageComponent,\r\n ToggleCheckComponent,\r\n FormInputTextComponent,\r\n HtmlTrustPipe,\r\n PaginationComponent \r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgbModule,\r\n DragDropModule,\r\n NgxPaginationModule,\r\n QuillModule.forRoot(({\r\n theme: \"snow\"\r\n }) as Object),\r\n ColorPickerModule\r\n ],\r\n providers: [\r\n ApplicationService,\r\n ArticleService,\r\n AuthenticationService,\r\n CreateSettingsService,\r\n CreateService,\r\n HelpDocsService,\r\n ImageManagerService,\r\n MedallionService,\r\n MediaService,\r\n MenuItemsService,\r\n SortOptionService,\r\n NgxPaginationModule,\r\n TemplateService,\r\n UserService,\r\n VideoManagerService\r\n ],\r\n exports: [\r\n ImageUploadContainerComponent,\r\n CategoryImageListComponent,\r\n HelpComponent,\r\n HelpDocsComponent,\r\n HelpDocsButtonComponent,\r\n SortOptionComponent,\r\n SharedImageListComponent,\r\n SharedImageComponent,\r\n ColorPickerModule,\r\n ToggleCheckComponent,\r\n FormInputTextComponent,\r\n HtmlTrustPipe,\r\n PaginationComponent \r\n ]\r\n})\r\nexport class SharedModule {}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { SortOptionService } from \"../Services/sort-option.service\";\r\n\r\n@Component({\r\n selector: \"yw-sort-option\",\r\n templateUrl: \"./sort-option.component.html\",\r\n styleUrls: [\"./sort-option.component.less\"]\r\n})\r\nexport class SortOptionComponent implements OnInit {\r\n\r\n @Output() sort = new EventEmitter();\r\n @Input() sortProperty: string;\r\n constructor(public sortOptionService: SortOptionService) { }\r\n\r\n ngOnInit() {\r\n }\r\n clicked() {\r\n if (this.sortOptionService.currentProperty === this.sortProperty) {\r\n this.sortOptionService.ascending = !this.sortOptionService.ascending;\r\n }\r\n else {\r\n this.sortOptionService.currentProperty = this.sortProperty;\r\n this.sortOptionService.ascending = false;\r\n }\r\n this.sort.emit({ property: this.sortOptionService.currentProperty, ascending: this.sortOptionService.ascending});\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"create-toggle-check\",\r\n templateUrl: \"./toggle-check.component.html\",\r\n styleUrls: [\"./toggle-check.component.less\"]\r\n})\r\nexport class ToggleCheckComponent implements OnInit {\r\n @Input() value: boolean;\r\n @Input() displayType: \"check\"|\"star\"|\"radio\" = \"check\";\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n","import { Component, OnChanges, Input, OnInit, OnDestroy } from \"@angular/core\";\r\nimport { MenuItem } from \"../admin/content/models/MenuItem\";\r\nimport { ArticleService } from \"../shared/Services/article.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { NgbActiveModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { MenuItemType } from \"../admin/content/models/MenuItemType\";\r\n\r\n@Component({\r\n selector: \"create-survey-dialog\",\r\n templateUrl: \"./survey-dialog.component.html\",\r\n styleUrls: [\"./survey-dialog.component.less\"]\r\n})\r\nexport class SurveyDialogComponent implements OnChanges, OnInit, OnDestroy {\r\n @Input()\r\n menuItem: MenuItem;\r\n trustedHtml: string;\r\n subscription: Subscription;\r\n neverAgain: boolean = false;\r\n\r\n constructor(private articleService: ArticleService,\r\n private activeModal: NgbActiveModal) {\r\n this.load();\r\n }\r\n\r\n load() {\r\n if (this.menuItem == null) {\r\n return;\r\n }\r\n if (this.menuItem.menuItemType === MenuItemType.Article) {\r\n\r\n this.subscription = this.articleService.getArticle(this.menuItem.articleId).subscribe(article => {\r\n this.trustedHtml = article.document;\r\n });\r\n }\r\n\r\n }\r\n\r\n close() {\r\n this.activeModal.close(this.neverAgain);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.subscription != null) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.load();\r\n }\r\n\r\n ngOnChanges() {\r\n this.load();\r\n }\r\n}\r\n","
\r\n
{{menuItem.title}}
\r\n
×
\r\n
\r\n
\r\n
\r\n \r\n \r\n Never Again\r\n \r\n
\r\n
\r\n
Dismiss
\r\n
\r\n","import { Directive, ViewContainerRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[ywInsertion]\"\r\n})\r\nexport class InsertionDirective {\r\n\r\n constructor(public viewContainerRef: ViewContainerRef) { }\r\n\r\n}\r\n","import { Directive } from \"@angular/core\";\r\nimport { ControlContainer, NgForm } from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: \"[provide-parent-form]\",\r\n providers: [\r\n {\r\n provide: ControlContainer,\r\n useFactory: (form: NgForm) => form,\r\n deps: [NgForm]\r\n }\r\n ]\r\n})\r\nexport class ProvideParentFormDirective {\r\n\r\n constructor() { }\r\n\r\n}\r\n","export { IMedallion } from \"./medallion\";\r\nexport { IMedallionSize } from \"./IMedallionSize\";\r\nexport { IProject } from \"./IProject\";\r\nexport { IUser } from \"./user\";\r\nexport { ILocation } from \"./ILocation\";\r\n","import { Point } from \"./Point\";\r\n\r\nexport class CreateCanvasEvent {\r\n pageX:number;\r\n pageY:number;\r\n shiftKey: boolean;\r\n ctrlKey: boolean;\r\n altKey: boolean;\r\n offset: Point;\r\n page: Point;\r\n}\r\n","export class CreateImage {\r\n id: number;\r\n title: string;\r\n category: string;\r\n url: string;\r\n active: boolean = false;\r\n galleryView: boolean = false;\r\n isBatesville: boolean = false;\r\n locationId: number = null;\r\n width: number;\r\n height: number;\r\n deleted: boolean;\r\n keywords: string;\r\n projectId: string;\r\n}\r\n","export enum CreateRole {\r\n Default = 0,\r\n Admin = 100,\r\n UserAdmin = 125,\r\n QaAdmin = 150,\r\n SystemAdmin = 1000\r\n}\r\n","export enum DisplayType {\r\n Contain = 1,\r\n Cover = 2\r\n}","export enum DragAction {\r\n None = 0,\r\n Move,\r\n ScaleTopLeft,\r\n ScaleTop,\r\n ScaleTopRight,\r\n ScaleRight,\r\n ScaleBottomRight,\r\n ScaleBottom,\r\n ScaleBottomLeft,\r\n ScaleLeft\r\n}\r\n","export class ImageProperties {\r\n title: string;\r\n category: string;\r\n}\r\n","import { ILocation } from \"../Interfaces/index\";\r\n\r\nexport class Location implements ILocation {\r\n id: number;\r\n name: string;\r\n}\r\n","import { MedallionSize } from \"./MedallionSize\";\r\nimport { IMedallion } from \"../Interfaces/index\";\r\nimport { MedallionImage } from \"./MedallionImage\";\r\nimport { CreateSettingsService } from \"../Components/shared/Services/create-settings.service\";\r\n\r\nexport class Medallion implements IMedallion {\r\n id: number;\r\n size: MedallionSize;\r\n backgroundColor: string;\r\n quantity: number;\r\n layout: Array;\r\n thumbnail: string;\r\n url:string;\r\n bleeding: boolean = true;\r\n static bindMedallion(medallion: Medallion, createSettingsService: CreateSettingsService): Medallion {\r\n const result = new Medallion(createSettingsService);\r\n result.id = medallion.id;\r\n result.backgroundColor = medallion.backgroundColor;\r\n result.quantity = medallion.quantity;\r\n result.layout = medallion.layout;\r\n result.bleeding = medallion.bleeding;\r\n result.url = medallion.url;\r\n result.thumbnailUrl = medallion.thumbnailUrl;\r\n result.layout.forEach(layer => {\r\n var image = new Image();\r\n image.onload = ev => {\r\n layer.image = image;\r\n }\r\n image.src = `uploaded-images/${layer.imageObject.url}`;\r\n });\r\n return result;\r\n }\r\n constructor(private createSettings: CreateSettingsService) {\r\n }\r\n\r\n addCover(image: MedallionImage) {\r\n const multiplier = this.size.multiplier || 1;\r\n const medallionWidth = this.size.printWidth * this.createSettings.pixelsPerInch * multiplier;\r\n const medallionHeight = this.size.printHeight * this.createSettings.pixelsPerInch * multiplier;\r\n if (image.width === image.height) {\r\n image.width = this.size.printWidth * this.createSettings.pixelsPerInch;\r\n image.height = this.size.printHeight * this.createSettings.pixelsPerInch;\r\n image.y = 0;\r\n image.x = 0;\r\n } else {\r\n if (image.width > image.height) {\r\n const percentageHeight = medallionHeight / image.height;\r\n image.width = image.width * percentageHeight;\r\n image.height = medallionHeight;\r\n\r\n } else {\r\n const percentageWidth = medallionWidth / image.width;\r\n image.height = image.height * percentageWidth;\r\n image.width = medallionWidth;\r\n }\r\n image.y = ((medallionHeight / multiplier) - image.height) / 2;\r\n image.x = ((medallionWidth / multiplier) - image.width) / 2;\r\n }\r\n if (this.layout == null) {\r\n this.layout = new Array();\r\n }\r\n this.layout.push(image);\r\n }\r\n\r\n addContain(image: MedallionImage) {\r\n if (image.width > image.height) {\r\n const medallionWidth = this.size.printWidth * this.createSettings.pixelsPerInch;\r\n const ph = medallionWidth / image.width;\r\n\r\n image.width = medallionWidth;\r\n image.height = image.height * ph;\r\n image.y = ((this.size.printHeight * this.createSettings.pixelsPerInch) - image.height) / 2;\r\n }\r\n else {\r\n const medallionHeight = this.size.printHeight * this.createSettings.pixelsPerInch;\r\n const pw = medallionHeight / image.height;\r\n\r\n image.height = medallionHeight;\r\n image.width = image.width * pw;\r\n image.x = ((this.size.printWidth * this.createSettings.pixelsPerInch) - image.width) / 2;\r\n }\r\n if (this.layout == null) {\r\n this.layout = new Array();\r\n }\r\n console.log(this.layout, image);\r\n this.layout.push(image);\r\n }\r\n\r\n\r\n setActive(medallionImage: MedallionImage) {\r\n this.layout.forEach(l => l.active = false);\r\n if (medallionImage) {\r\n medallionImage.active = true;\r\n }\r\n }\r\n\r\n filtered: boolean = false;\r\n\r\n thumbnailUrl: string;\r\n isNew: boolean = false;\r\n sizeId: number;\r\n}\r\n","import { IMedallionSize } from \"../Interfaces/index\";\r\n\r\nexport class MedallionSize implements IMedallionSize {\r\n title: string;\r\n id: number;\r\n printWidth: number;\r\n printHeight: number;\r\n width: number;\r\n height: number;\r\n medallionCount: number;\r\n published: boolean;\r\n allowBleed: boolean;\r\n bleedSize: number;\r\n multiplier: number = 1;\r\n}\r\n","export class Point {\r\n x;\r\n y;\r\n constructor(x, y) {\r\n this.x = x;\r\n this.y = y;\r\n }\r\n\r\n minus(b: Point): Point {\r\n return new Point(this.x - b.x, this.y - b.y);\r\n }\r\n}","import { Point } from \"./Point\";\r\n\r\nexport class Rectangle {\r\n constructor(x: number, y: number, width: number, height: number) {\r\n this.x = x;\r\n this.y = y;\r\n this.height = height;\r\n this.width = width;\r\n }\r\n\r\n x: number;\r\n y: number;\r\n height: number;\r\n width: number;\r\n right: number;\r\n bottom: number;\r\n\r\n pointInside(point: Point): boolean {\r\n this.right = this.x + this.width;\r\n this.bottom = this.y + this.height;\r\n var result = (\r\n point.x >= this.x &&\r\n point.x <= this.right &&\r\n point.y >= this.y &&\r\n point.y <= this.bottom\r\n );\r\n return result;\r\n }\r\n\r\n bind(rect: any) {\r\n rect.x = this.x;\r\n rect.y = this.y;\r\n rect.width = this.width;\r\n rect.height = this.height;\r\n }\r\n\r\n offSet(offsetRect: Rectangle): Rectangle {\r\n return new Rectangle(\r\n this.x + offsetRect.x,\r\n this.y + offsetRect.y,\r\n this.width,\r\n this.height\r\n );\r\n }\r\n}\r\n","export class Size {\r\n constructor(width?: number, height?: number) {\r\n this.width = width || 0;\r\n this.height = height || 0;\r\n }\r\n height: number;\r\n width: number;\r\n}\r\n","export { Project } from \"./project\";\r\nexport { User } from \"./user\";\r\nexport { Medallion } from \"./Medallion\";\r\nexport { MedallionSize } from \"./MedallionSize\";\r\nexport { Location } from \"./Location\";\r\nexport { ImageProperties } from \"./ImageProperties\";\r\nexport { Point } from \"./Point\";\r\nexport { Size } from \"./Size\";\r\nexport { CreateImage } from \"./CreateImage\";\r\n","import { Medallion, Location } from \"./index\";\r\nimport { IProject } from \"../Interfaces/index\";\r\nimport { IUser } from \"../Interfaces/user\";\r\n\r\nexport class Project implements IProject {\r\n user: IUser;\r\n completed: boolean;\r\n medallions = new Array();\r\n id: string;\r\n title: string;\r\n location: Location;\r\n dateCreated: string;\r\n locationId: number;\r\n userId: number;\r\n isSelected: boolean;\r\n}\r\n","import { IUser } from \"../Interfaces/user\";\r\nimport { ILocation } from \"../Interfaces/ILocation\";\r\nimport { CreateRole } from \"./CreateRole\";\r\nimport { DisplayType } from \"./DisplayType\";\r\n\r\nexport class User implements IUser {\r\n defaultLocationId: number;\r\n locations: ILocation[];\r\n id: number;\r\n name: string;\r\n email: string;\r\n locationId: number;\r\n role: CreateRole = CreateRole.Default;\r\n displayType: DisplayType = 1;\r\n optOut: boolean = false;\r\n surveyDate: Date = new Date(\"1900-01-01T01:00:00\");\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\n\r\nimport { ProjectsComponent, DesignerComponent, NotFoundComponent } from \"./Components\";\r\nimport { AuthenticatingComponent } from \"./Components/authenticating/authenticating.component\";\r\nimport { DefaultComponent } from \"./Components/default/default.component\";\r\n\r\nconst routes: Routes = [\r\n { path: \"designer/:id\", component: DesignerComponent, data: { page: \"designer\" } },\r\n { path: \"projects\", component: ProjectsComponent, data: { page: \"projects\" } },\r\n { path: \"authenticating\", component: AuthenticatingComponent, data: { page: \"authenticating\" } },\r\n { path: \"default\", component: DefaultComponent, data: { page: \"default\" } },\r\n { path: \"\", redirectTo: \"/default\", pathMatch: \"full\" },\r\n { path: \"**\", component: NotFoundComponent }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes,\r\n {\r\n enableTracing: false,\r\n useHash: true,\r\n relativeLinkResolution: 'legacy'\r\n})],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class AppRoutingModule {}\r\n\r\n","import { Component, OnInit, ViewContainerRef, OnDestroy } from \"@angular/core\";\r\nimport { Router, NavigationEnd, NavigationStart } from \"@angular/router\";\r\nimport objectFitImages from \"object-fit-images\";\r\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { SurveyDialogComponent } from \"./Components/survey-dialog/survey-dialog.component\";\r\nimport * as _ from \"underscore\";\r\nimport { MenuItem } from \"./Components/admin/content/models/MenuItem\";\r\nimport { first } from \"rxjs/operators\";\r\nimport { MedallionService } from \"./Components/shared/Services/medallion.service\";\r\nimport { AuthenticationService } from \"./Components/shared/Services/authentication.service\";\r\nimport { ApplicationService } from \"./Components/shared/Services/application-service.service\";\r\nimport { MenuItemsService } from \"./Components/shared/Services/menu-items.service\";\r\nimport { User } from \"./Models/index\";\r\nimport { Gtag } from \"angular-gtag\";\r\n\r\n@Component({\r\n selector: \"app-root\",\r\n templateUrl: \"./app.component.html\",\r\n styleUrls: [\"./app.component.css\"]\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(private medallionService: MedallionService,\r\n public viewContainerRef: ViewContainerRef,\r\n private router: Router,\r\n gtag: Gtag,\r\n private modalService: NgbModal,\r\n public authenticationService: AuthenticationService,\r\n private menuItemsService: MenuItemsService,\r\n private applicationService: ApplicationService) {\r\n objectFitImages();\r\n }\r\n\r\n getPage(outlet) {\r\n return outlet.activatedRouteData[\"page\"] || \"projects\";\r\n }\r\n ngOnInit(): void {\r\n\r\n this.applicationService.getSettings().subscribe(settings => {\r\n if (settings.isSSO) {\r\n this.authenticationService.ssoLogin().subscribe(result => {\r\n if (result.data==true) {\r\n this.authenticationService.getUser().subscribe(user => {\r\n this.authenticationService.authenticating = false;\r\n this.launchSurvey(user);\r\n this.medallionService.loadMedallionSizes();\r\n });\r\n }\r\n else if (result.data ==\"location not found\") {\r\n window.location.href = window.location.origin + \"/Error/\";\r\n }\r\n else {\r\n this.authenticationService.gigyaparam();\r\n }\r\n });\r\n }\r\n else {\r\n this.authenticationService.getUser().subscribe(user => {\r\n this.authenticationService.authenticating = false;\r\n this.launchSurvey(user);\r\n this.medallionService.loadMedallionSizes();\r\n });\r\n }\r\n });\r\n this.router.events.subscribe((evt) => {\r\n if (!(evt instanceof NavigationEnd)) {\r\n return;\r\n }\r\n window.scrollTo(0, 0);\r\n });\r\n this.menuItemsService.menuItems.subscribe(menuItems => {\r\n var filtered = menuItems.filter(menuItem => menuItem.menuPosition === \"nav-bar\");\r\n this.hasNavBar = filtered.length > 0;\r\n if (this.hasNavBar) {\r\n document.body.classList.add(\"has-nav-bar\");\r\n } else {\r\n document.body.classList.remove(\"has-nav-bar\");\r\n }\r\n });\r\n }\r\n\r\n hasNavBar: boolean = false;\r\n\r\n launchSurvey(user: User) {\r\n var thirtyDaysAgo = new Date().getTime() - (30 * 24 * 60 * 60 * 1000);\r\n var surveyDate = new Date(user.surveyDate);\r\n if (surveyDate.getTime() > thirtyDaysAgo || user.optOut) {\r\n return;\r\n }\r\n this.menuItemsService.menuItems.pipe(first()).subscribe(menuItems => {\r\n var menuItem: MenuItem = _.findWhere(menuItems, { menuPosition: \"survey-dialog\" });\r\n if (menuItem == null || !menuItem.published) {\r\n return;\r\n }\r\n let modalInstance = this.modalService.open(SurveyDialogComponent);\r\n modalInstance.componentInstance.menuItem = menuItem;\r\n modalInstance.result.then(neverAgain => {\r\n this.authenticationService.surveyUpdate(neverAgain).subscribe(() => {\r\n });\r\n },\r\n () => {});\r\n });\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n","import { BrowserModule } from \"@angular/platform-browser\";\r\n//import { NgModule } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { UiSwitchModule } from \"ngx-ui-switch\";\r\nimport { NgxPaginationModule } from \"ngx-pagination\";\r\nimport { GtagModule } from 'angular-gtag';\r\n\r\n//import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport {\r\n DesignerComponent,\r\n ProjectsComponent,\r\n CreateHeaderComponent, \r\n CreateFooterComponent,\r\n MedallionListComponent,\r\n MedallionEditorComponent,\r\n ImageListComponent,\r\n NotFoundComponent,\r\n ZoomControllerComponent,\r\n ImageDialogComponent,\r\n ImageUploadContainerComponent,\r\n ImagePropertiesComponent,\r\n ImageDisplayComponent,\r\n MedallionCanvasHtmlComponent,\r\n EditorMedallionImageComponent,\r\n WorkspaceOverlayComponent,\r\n MedallionOptionsDialogComponent,\r\n MedallionPropertiesComponent,\r\n LogoutComponent\r\n} from \"./Components\";\r\n\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\n\r\nimport { TrustStylePipe } from \"./pipes/trust-style.pipe\";\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { ProvideParentFormDirective } from \"./Directives/provide-parent-form.directive\";\r\nimport { StockImagesComponent } from \"./Components/image-dialog/stock-images/stock-images.component\";\r\nimport { MyStockImagesComponent } from \"./Components/image-dialog/my-stock-images/my-stock-images.component\";\r\nimport { InsertionDirective } from \"./Directives/insertion.directive\";\r\nimport { AdminModule } from \"./Components/admin/admin.module\";\r\nimport { SharedModule } from \"./Components/shared/shared.module\";\r\nimport { SearchComponent } from \"./Components/image-dialog/search/search.component\";\r\nimport { FamilySuppliedPhotosComponent } from \"./Components/image-dialog/family-supplied-photos/family-supplied-photos.component\";\r\nimport { ConfirmDialogComponent } from \"./Components/confirm-dialog/confirm-dialog.component\";\r\nimport { AlertDialogComponent } from \"./Components/alert-dialog/alert-dialog.component\";\r\nimport { AuthenticatingComponent } from \"./Components/authenticating/authenticating.component\";\r\nimport { ContentViewModule } from \"./Components/content/content-view.module\";\r\nimport { FHImagesModule } from \"./Components/FH-Images/fh-images.module\";\r\nimport { DefaultComponent } from \"./Components/default/default.component\";\r\nimport { SurveyDialogComponent } from \"./Components/survey-dialog/survey-dialog.component\";\r\nimport { OrderingComponent } from \"./Components/FH-Images/ordering/ordering.component\";\r\nimport { NgModule } from \"@angular/core\";\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n DesignerComponent,\r\n ProjectsComponent,\r\n CreateHeaderComponent,\r\n CreateFooterComponent,\r\n MedallionListComponent,\r\n MedallionEditorComponent,\r\n ImageListComponent,\r\n NotFoundComponent,\r\n ZoomControllerComponent,\r\n ImageDialogComponent,\r\n ImagePropertiesComponent,\r\n ImageDisplayComponent,\r\n TrustStylePipe,\r\n MedallionCanvasHtmlComponent,\r\n EditorMedallionImageComponent,\r\n WorkspaceOverlayComponent,\r\n MedallionOptionsDialogComponent,\r\n MedallionPropertiesComponent,\r\n ProvideParentFormDirective,\r\n LogoutComponent,\r\n StockImagesComponent,\r\n MyStockImagesComponent,\r\n InsertionDirective,\r\n SearchComponent,\r\n FamilySuppliedPhotosComponent,\r\n ConfirmDialogComponent,\r\n AlertDialogComponent,\r\n AuthenticatingComponent,\r\n DefaultComponent,\r\n SurveyDialogComponent,\r\n OrderingComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AdminModule,\r\n ContentViewModule,\r\n FHImagesModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AppRoutingModule,\r\n NgbModule,\r\n HttpClientModule, \r\n DragDropModule,\r\n NgxPaginationModule,\r\n SharedModule,\r\n GtagModule.forRoot({ trackingId: 'UA-26419965-14', trackPageviews: true }),\r\n UiSwitchModule.forRoot({\r\n size: \"small\",\r\n checkedLabel: \"yes\",\r\n uncheckedLabel: \"no\",\r\n color: \"#0B406B\"\r\n })\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: \"htmlTrust\"\r\n})\r\nexport class HtmlTrustPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(value: any, args?: any): any {\r\n return this.sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DomSanitizer, SafeStyle } from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: \"trustStyle\"\r\n})\r\nexport class TrustStylePipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(value: any, args?: any): SafeStyle {\r\n return this.sanitizer.bypassSecurityTrustStyle(value);\r\n }\r\n\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from \"@angular/core\";\r\nimport { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\r\n\r\nimport { AppModule } from \"./app/app.module\";\r\nimport { environment } from \"./environments/environment\";\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[]}