{"version":3,"sources":["./src/app/modules/crop-stages/crop-stages-.routing.ts","./src/app/modules/crop-stages/crop-stages.module.ts","./src/app/modules/crop-stages/crop-stages.page.html","./src/app/modules/crop-stages/crop-stages.page.ts","./src/app/modules/crop-stages/crop-stages.update.service.ts","./src/app/modules/crop-stages/delete-confirmation.dialog.html","./src/app/modules/crop-stages/delete-confirmation.dialog.ts","./src/app/modules/crop-stages/edit.dialog.html","./src/app/modules/crop-stages/edit.dialog.ts"],"names":[],"mappings":"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","file":"modules-crop-stages-crop-stages-module-ngfactory.973311e5828008c09e38.js","sourcesContent":["import { Routes, RouterModule } from '@angular/router';\r\nimport { NgModule } from '@angular/core';\r\nimport { CropStagesPage } from './crop-stages.page';\r\n\r\nconst routes: Routes = [\r\n\t{ path: '', component: CropStagesPage }\r\n];\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forChild(routes)],\r\n\texports: [RouterModule]\r\n})\r\n\r\nexport class CropStagesRoutingModule { }\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { CropStagesRoutingModule } from './crop-stages-.routing';\r\nimport { CropStagesPage } from './crop-stages.page';\r\nimport { CropStagesUpdateService } from './crop-stages.update.service';\r\nimport { CropStageService } from '../../models/crop-stage/cropStage.service';\r\nimport { CropStageDeleteConfirmationDialog } from './delete-confirmation.dialog';\r\nimport { CropStageDialog } from './edit.dialog';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tMatDialogModule,\r\n\t\tCommonModule,\r\n\t\tSharedModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFormsModule,\r\n\t\tCropStagesRoutingModule,\r\n\t\tMatTableModule,\r\n\t\tMatPaginatorModule,\r\n\t\tMatSortModule,\r\n\t],\r\n\tdeclarations: [\r\n\t\tCropStagesPage,\r\n\t\tCropStageDeleteConfirmationDialog,\r\n\t\tCropStageDialog,\r\n\t],\r\n\texports: [\r\n\t],\r\n\tproviders: [\r\n\t\tCropStagesUpdateService,\r\n\t\tNotificationService,\r\n\t\tCropStageService,\r\n\t],\r\n\tentryComponents: [\r\n\t\tCropStageDeleteConfirmationDialog,\r\n\t\tCropStageDialog\r\n\t]\r\n})\r\n\r\nexport class CropStagesModule {\r\n\tstatic forRoot(): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: CropStagesModule,\r\n\t\t\tproviders: [\r\n\t\t\t\tCropStageService,\r\n\t\t\t]\r\n\t\t}\r\n\t}\r\n}\r\n","<admin-nav></admin-nav>\r\n<div class=\"bk-admin__page\">\r\n\r\n <h5 class=\"bk-text--gray\">\r\n {{'Crop Stages' | translate }}\r\n </h5>\r\n\r\n <div class=\"bk-data-table bk-data-table__weather-stations\">\r\n <div class=\"bk-data-table__head\">\r\n\t\t\t<div class=\"bk-data-table__title\">\r\n \r\n\t\t\t\t<button class=\"bk-button bk-data-table__title--button-right\"\r\n\t\t\t\t\t(click)=\"create()\">\r\n\t\t\t\t\t<span class=\"bk-data-table__plus-icon\">+</span> {{ 'Create Crop Stage' | translate}}\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n <div class=\"bk-data-table__search\">\r\n <label class=\"bk-data-table__search--label\">\r\n {{ 'Filter By' | translate }}\r\n <input class=\"bk-data-table__search--input\"\r\n (keyup)=\"search($event.target.value)\"\r\n placeholder=\"Name\"\r\n [(ngModel)]=\"query\"/>\r\n </label>\r\n <select class=\"bk-data-table__search--select\"\r\n [(ngModel)]=\"commodityTypeId\" (ngModelChange)=\"filterByCommodityType(commodityTypeId)\">\r\n <option [ngValue]=\"null\">\r\n {{ 'All Commodity Types' | translate}}\r\n </option>\r\n <option *ngFor=\"let commodityType of commodityTypes\"\r\n [ngValue]=\"commodityType.Id\">\r\n {{commodityType.Name}} ({{ commodityType.CropStagesCount}})</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"bk-data-table__content\">\r\n <mat-table [dataSource]=\"dataSource\" matSort>\r\n\r\n\t\t\t\t<ng-container matColumnDef=\"Id\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>\r\n {{ 'Id' | translate }}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\">\r\n {{row.Id}}\r\n </mat-cell>\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t\r\n <ng-container matColumnDef=\"Name\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>\r\n {{ 'Name' | translate }}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\">\r\n {{ row.Name }}\r\n </mat-cell>\r\n </ng-container>\r\n\t\t\t\t\r\n\t\t\t\t<ng-container matColumnDef=\"CommodityTypeCount\">\r\n\t\t\t\t\t<mat-header-cell *matHeaderCellDef mat-sort-header>\r\n\t\t\t\t\t\t{{ 'Number of Associated Commodity Types' | translate }}\r\n\t\t\t\t\t</mat-header-cell>\r\n\t\t\t\t\t<mat-cell *matCellDef=\"let row\">\r\n\t\t\t\t\t\t{{ row.CommodityTypeCount }}\r\n\t\t\t\t\t</mat-cell>\r\n\t\t\t\t</ng-container>\r\n\r\n <!--\r\n\t\t\t\t<ng-container matColumnDef=\"AssociatedEventsCount\">\r\n\t\t\t\t\t\t<mat-header-cell *matHeaderCellDef mat-sort-header>\r\n\t\t\t\t\t\t\t{{ 'Number of Associated Events' | translate }}\r\n\t\t\t\t\t\t</mat-header-cell>\r\n\t\t\t\t\t\t<mat-cell *matCellDef=\"let row\">\r\n\t\t\t\t\t\t\t{{ row.AssociatedEventsCount }}\r\n\t\t\t\t\t\t</mat-cell>\r\n </ng-container>\r\n -->\r\n\r\n <ng-container matColumnDef=\"Action\">\r\n <mat-header-cell *matHeaderCellDef>\r\n {{ 'Actions' | translate }}\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\"\r\n class=\"bk-data-table__cell-overflow\">\r\n \r\n <button type=\"button\"\r\n class=\"bk-button bk-admin__button\"\r\n (click)=\"edit(row)\">\r\n {{ 'Edit' | translate }}\r\n </button>\r\n <button \r\n *ngIf=\"row.CommodityTypeCount === 0\"\r\n type=\"button\"\r\n class=\"bk-button bk-admin__button\"\r\n (click)=\"delete(row)\">\r\n {{ 'Delete' | translate }}\r\n </button>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\"></mat-row>\r\n\r\n </mat-table>\r\n\r\n <div class=\"bk-data-table__empty\"\r\n *ngIf=\"results && results.length && dataSource && dataSource.filteredData\r\n && dataSource.filteredData.length === 0\">\r\n {{ 'There are no results matching' | translate }} \r\n <span class=\"bk-data-table__empty--filter\">\"{{dataSource.filter}}\"</span>\r\n </div>\r\n\r\n <mat-paginator [pageSizeOptions]=\"[10, 25]\"></mat-paginator>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TokenService } from '../../services/token.service';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ObjectUtility } from '../../classes/objectUtility';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { NotificationService } from '../../services/notification.service';\r\n\r\nimport { ICropStageTableRow } from './interfaces';\r\nimport { CropStagesUpdateService } from './crop-stages.update.service';\r\nimport { CropStageService } from '../../models/crop-stage/cropStage.service';\r\nimport { CropStageDeleteConfirmationDialog } from './delete-confirmation.dialog';\r\nimport { CommodityService } from '../../models/commodity-type/service';\r\nimport { ICommodityType, ICommodityTypeCropStageDropDownItem } from '../../models/commodity-type/interfaces';\r\nimport { CropStageDialog } from './edit.dialog';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n\tselector: 'app-crop-stages-page',\r\n\ttemplateUrl: 'crop-stages.page.html',\r\n\tstyleUrls: []\r\n})\r\nexport class CropStagesPage implements OnInit, OnDestroy {\r\n\t@ViewChild(MatPaginator, { static: true}) paginator: MatPaginator;\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\tpublic dataSource: MatTableDataSource<ICropStageTableRow>;\r\n\tpublic results: ICropStageTableRow[] = new Array();\r\n\tpublic originalResults: ICropStageTableRow[] = new Array();\r\n\r\n\tpublic displayedColumns: string[] = ['Id', 'Name', 'CommodityTypeCount', 'Action'];\r\n\tpublic query = '';\r\n\tpublic commodityTypes: ICommodityTypeCropStageDropDownItem[];\r\n\tpublic commodityTypeId: number;\r\n\tprivate _subscriptions$: Subject<boolean>;\r\n\r\n\tconstructor(\r\n\t\tprivate _notificationService: NotificationService,\r\n\t\tprivate _dialog: MatDialog,\r\n\t\tprivate _service: CropStageService,\r\n\t\tprivate _commodityTypeService: CommodityService,\r\n\t\tprivate _tokenService: TokenService,\r\n\t\tprivate _router: Router,\r\n\t\tprivate _updateService: CropStagesUpdateService\r\n\t) {\r\n\t\t// redirect to login page if not logged in\r\n\t\tif (!this._tokenService.isAuthenticated()) {\r\n\t\t\tthis._router.navigate(['/login']);\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis._subscriptions$ = new Subject();\r\n\t\tthis._list();\r\n\r\n\t\tif (this.sort) {\r\n\t\t\tif (this.sort.sortChange) {\r\n\t\t\t\tthis.sort.sortChange.pipe(takeUntil(this._subscriptions$)).subscribe(() => {\r\n\t\t\t\t\tif (!this.paginator) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twhile (this.paginator.hasPreviousPage()) {\r\n\t\t\t\t\t\tthis.paginator.previousPage();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthis.sort.sort({ id: 'Id', start: 'asc', disableClear: false });\r\n\t\t}\r\n\r\n\t\tthis._updateService.updated.pipe(takeUntil(this._subscriptions$)).subscribe((data) => {\r\n\t\t\t// if user is edited or deleted, refresh the view\r\n\t\t\tthis._list();\r\n\t\t\tthis.filterByCommodityType(this.commodityTypeId);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _getCommodityTypes(): void {\r\n\t\tthis._commodityTypeService.list().then(response => {\r\n\t\t\tthis.commodityTypes = new Array();\r\n\r\n\t\t\tfor (let item of response) {\r\n\t\t\t\tthis.commodityTypes.push({\r\n\t\t\t\t\tId: item.Id,\r\n\t\t\t\t\tName: item.Name,\r\n\t\t\t\t\tCropStagesCount: this.originalResults ?\r\n\t\t\t\t\t\tthis.originalResults.filter(x => x.CommodityTypes.indexOf(item.Id) !== -1).length : 0,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tthis.commodityTypeId = null;\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tif (!this._subscriptions$) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._subscriptions$.next(true);\r\n\t\tthis._subscriptions$.complete();\r\n\t}\r\n\r\n\tpublic filterByCommodityType(commodityTypeId: number): void {\r\n\t\tif (commodityTypeId) {\r\n\t\t\tthis.results = this.originalResults.filter(x => x.CommodityTypes.indexOf(commodityTypeId) !== -1);\r\n\t\t} else {\r\n\t\t\tthis.results = ObjectUtility.copyArray(this.originalResults);\r\n\t\t}\r\n\r\n\t\tthis._setDataSource(this.results);\r\n\t}\r\n\r\n\tpublic search(query: string): void {\r\n\t\tif (!this.dataSource) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (query === null) {\r\n\t\t\tquery = '';\r\n\t\t}\r\n\r\n\t\tquery = query.trim();\r\n\t\tquery = query.toLowerCase();\r\n\r\n\t\tthis.dataSource.filter = query;\r\n\t}\r\n\r\n\tpublic create(): void {\r\n\t\tthis._dialog.open(CropStageDialog, {\r\n\t\t\tdisableClose: true,\r\n\t\t\tdata: {},\r\n\t\t\tmaxWidth: 'unset'\r\n\t\t});\r\n\t}\r\n\r\n\tpublic edit(row: ICropStageTableRow): void {\r\n\t\tlet data: {\r\n\t\t\tcropStageId: number,\r\n\t\t\tname: string\r\n\t\t\tcommodityTypes: number[]\r\n\t\t};\r\n\r\n\t\tdata = {\r\n\t\t\tcropStageId: row.Id,\r\n\t\t\tname: row.Name,\r\n\t\t\tcommodityTypes: row.CommodityTypes\r\n\t\t};\r\n\r\n\t\tthis._dialog.open(CropStageDialog, {\r\n\t\t\tdisableClose: true,\r\n\t\t\tdata: data,\r\n\t\t\tmaxWidth: 'unset'\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\tpublic delete(row: ICropStageTableRow): void {\r\n\r\n\t\tlet data: {\r\n\t\t\tcropStageId: number,\r\n\t\t\tname: string\r\n\t\t};\r\n\r\n\t\tdata = {\r\n\t\t\tcropStageId: row.Id,\r\n\t\t\tname: row.Name\r\n\t\t};\r\n\r\n\t\tthis._dialog.open(CropStageDeleteConfirmationDialog, {\r\n\t\t\tdisableClose: true,\r\n\t\t\tdata: data,\r\n\t\t\tmaxWidth: 'unset'\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _list(): void {\r\n\t\tthis._service.listAdmin().then((response) => {\r\n\t\t\tthis.originalResults = response;\r\n\t\t\tthis.results = ObjectUtility.copyArray(this.originalResults);\r\n\t\t\tthis._setDataSource(this.results);\r\n\r\n\t\t\tthis._getCommodityTypes();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate _setDataSource(results: ICropStageTableRow[]): void {\r\n\t\tthis.dataSource = new MatTableDataSource(results);\r\n\t\tthis.dataSource.paginator = this.paginator;\r\n\t\tthis.dataSource.sort = this.sort;\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CropStagesUpdateService {\r\n\tprivate _updated: Subject<null> = new Subject<null>();\r\n\tpublic updated = this._updated.asObservable();\r\n\r\n\t/**\r\n\t * Triggers when a user is edited or deleted\r\n\t * @param userId\r\n\t */\r\n\tpublic update(): void {\r\n\t\tthis._updated.next();\r\n\t}\r\n}\r\n","<div class=\"bk-dialog\">\r\n\t<h4 mat-dialog-title>\r\n\t\t{{'Delete' | translate }} {{'Crop Stage' | translate }}\r\n\t</h4>\r\n\r\n\t<div mat-dialog-content>\r\n\t\t<div class=\"bk-modal__remove-text\">\r\n\t\t\t{{'Are you sure you want to delete' | translate }}: <strong>{{ name }}</strong>?\r\n\t\t</div>\r\n\t\t<div class=\"bk-modal__remove-text\">\r\n\t\t\t{{'This crop stage will be deleted permanently.' | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div mat-dialog-actions align=\"end\">\r\n\r\n\t\t<button class=\"bk-button bk-button--medium bk-button--text-only\"\r\n\t\t\t(click)=\"close()\">\r\n\t\t\t{{'Cancel' | translate }}\r\n\t\t</button>\r\n\t\t<button class=\"bk-button bk-button--medium\"\r\n\t\t\t(click)=\"delete()\">\r\n\t\t\t{{'Delete' | translate }} {{ 'Crop Stage' | translate }}\r\n\t\t</button>\r\n\t</div>\r\n</div>","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { CMError } from '../../interfaces/interfaces';\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { eNotificationTypes } from '../../interfaces/constants';\r\nimport { CropStageService } from '../../models/crop-stage/cropStage.service';\r\nimport { CropStagesUpdateService } from './crop-stages.update.service';\r\n\r\n@Component({\r\n\tmoduleId: module.id,\r\n\tselector: 'ap-crop-stage-delete-confirmation-dialog',\r\n\ttemplateUrl: 'delete-confirmation.dialog.html'\r\n})\r\n\r\nexport class CropStageDeleteConfirmationDialog implements OnInit {\r\n\r\n\tpublic cropStageId: number;\r\n\tpublic name: string;\r\n\r\n\tpublic constructor(\r\n\t\tprivate _dialog: MatDialog,\r\n\t\tprivate _dialogRef: MatDialogRef<CropStageDeleteConfirmationDialog>,\r\n\t\t@Inject(MAT_DIALOG_DATA) private _data: { cropStageId: number, name: string },\r\n\t\tprivate _service: CropStageService,\r\n\t\tprivate _updateService: CropStagesUpdateService,\r\n\t\tprivate _notificationService: NotificationService\r\n\t) {\r\n\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.name = this._data.name;\r\n\t\tthis.cropStageId = this._data.cropStageId;\r\n\t}\r\n\r\n\tpublic delete(): void {\r\n\t\tthis._service.delete(this.cropStageId)\r\n\t\t.then((response: CMError) => {\r\n\t\t\tif (response && response.message) {\r\n\t\t\t\tthis._notificationService.generateNotifcation({\r\n\t\t\t\t\ttype: eNotificationTypes.ERROR,\r\n\t\t\t\t\tmessage: response.message\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis._notificationService.generateNotifcation({\r\n\t\t\t\t\ttype: eNotificationTypes.UPDATE,\r\n\t\t\t\t\tmessage: 'Crop stage was deleted successfully'\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis._updateService.update(); // refresh parent view\r\n\t\t\t}\r\n\r\n\t\t\tthis._dialog.closeAll();\r\n\t\t});\r\n\t}\r\n\r\n\tpublic close() {\r\n\t\tthis._dialogRef.close();\r\n\t}\r\n}\r\n","<div class=\"bk-dialog\">\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\tclass=\"bk-button bk-dialog__close\"\r\n\t\t(click)=\"close()\">\r\n\r\n\t\t×\r\n\t</button>\r\n\r\n\t<h4 mat-dialog-title>\r\n\t\t{{ cropStageId ? ('Edit' | translate) : ( 'Create' | translate ) }} {{'Crop Stage' | translate }}\r\n\t</h4>\r\n\r\n\t<div mat-dialog-content>\r\n\t\t<label class=\"bk-modal__label\">\r\n\t\t\t{{'Name' | translate }}\r\n\t\t</label>\r\n\t\t<input class=\"bk-modal__field\"\r\n\t\t\tid=\"name\"\r\n\t\t\ttype=\"text\"\r\n\t\t\trequired\r\n\t\t\t[(ngModel)]=\"name\">\r\n\r\n\t\t<!-- a list of available commodity types -->\r\n\r\n\t\t<ng-container *ngFor=\"let commodityType of commodityTypes\">\r\n\t\t\t<div class=\"bk-modal__row bk-modal__row--no-border\">\r\n\t\t\t\t<input type=\"checkbox\"\r\n\t\t\t\t\tclass=\"bk-modal__checkbox\"\r\n\t\t\t\t\tname=\"commodityType\"\r\n\t\t\t\t\tvalue=\"commodityType\"\r\n\t\t\t\t\t[(ngModel)]=\"commodityType.IsSelected\" />\r\n\t\t\t\r\n\t\t\t\t<span>\r\n\t\t\t\t\t{{commodityType.Name}} \r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</div>\r\n\r\n\t<div mat-dialog-actions align=\"end\">\r\n\r\n\t\t<button class=\"bk-button bk-button--medium bk-button--text-only\"\r\n\t\t\t(click)=\"close()\">\r\n\t\t\t{{'Cancel' | translate }}\r\n\t\t</button>\r\n\t\t<button class=\"bk-button bk-button--medium\"\r\n\t\t\t(click)=\"save()\">\r\n\t\t\t{{'Save' | translate }} {{ 'Crop Stage' | translate }}\r\n\t\t</button>\r\n\t</div>\r\n</div>","import { Component, OnInit, Inject, OnDestroy } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\nimport { CMError } from '../../interfaces/interfaces';\r\nimport { NotificationService } from '../../services/notification.service';\r\nimport { eNotificationTypes } from '../../interfaces/constants';\r\nimport { CropStageService } from '../../models/crop-stage/cropStage.service';\r\nimport { CropStagesUpdateService } from './crop-stages.update.service';\r\nimport { CommodityService } from '../../models/commodity-type/service';\r\nimport { ICommodityType, ICommodityTypeCropStageDropDownItem } from '../../models/commodity-type/interfaces';\r\nimport { ICropStageTableRow } from './interfaces';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n\tmoduleId: module.id,\r\n\tselector: 'ap-crop-stage-dialog',\r\n\ttemplateUrl: 'edit.dialog.html'\r\n})\r\n\r\nexport class CropStageDialog implements OnInit, OnDestroy {\r\n\r\n\tpublic cropStageId: number;\r\n\tpublic name: string;\r\n\tpublic commodityTypeIds: number[];\r\n\tpublic commodityTypes: ICommodityTypeCropStageDropDownItem[];\r\n\tprivate _subscriptions$: Subject<boolean>;\r\n\r\n\tpublic constructor(\r\n\t\tprivate _dialog: MatDialog,\r\n\t\tprivate _dialogRef: MatDialogRef<CropStageDialog>,\r\n\t\t@Inject(MAT_DIALOG_DATA) private _data: { cropStageId: number, name: string, commodityTypes: number[] },\r\n\t\tprivate _service: CropStageService,\r\n\t\tprivate _commodityService: CommodityService,\r\n\t\tprivate _updateService: CropStagesUpdateService,\r\n\t\tprivate _notificationService: NotificationService\r\n\t) {\r\n\t\tthis._subscriptions$ = new Subject();\r\n\t\tthis._dialogRef.disableClose = true;\r\n\r\n\t\tthis._dialogRef.backdropClick().pipe(takeUntil(this._subscriptions$)).subscribe(() => {\r\n\t\t\t// Close the dialog or show keep/discard\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tif (this._data) {\r\n\t\t\tthis.name = this._data.name;\r\n\t\t\tthis.cropStageId = this._data.cropStageId;\r\n\t\t\tthis.commodityTypeIds = this._data.commodityTypes;\r\n\t\t}\r\n\r\n\t\tthis._commodityService.list().then(response => {\r\n\t\t\tthis.commodityTypes = new Array();\r\n\r\n\t\t\tfor (let item of response) {\r\n\t\t\t\tthis.commodityTypes.push({\r\n\t\t\t\t\tId: item.Id,\r\n\t\t\t\t\tName: item.Name,\r\n\t\t\t\t\tIsSelected: this.commodityTypeIds ? this.commodityTypeIds.indexOf(item.Id) !== -1 : false\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tif (!this._subscriptions$) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis._subscriptions$.next(true);\r\n\t\tthis._subscriptions$.complete();\r\n\t}\r\n\r\n\tpublic save(): void {\r\n\t\tlet model: ICropStageTableRow;\r\n\t\tlet commodityTypeIds: number[];\r\n\r\n\t\tcommodityTypeIds = [];\r\n\r\n\t\tfor (let commodityType of this.commodityTypes) {\r\n\t\t\tif (commodityType.IsSelected) {\r\n\t\t\t\tcommodityTypeIds.push(commodityType.Id);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tmodel = {\r\n\t\t\tId: this.cropStageId,\r\n\t\t\tName: this.name,\r\n\t\t\tCommodityTypes: commodityTypeIds,\r\n\t\t\tCommodityTypeCount: null,\r\n\t\t}\r\n\r\n\t\tif (this.cropStageId) {\r\n\r\n\t\t\tthis._service.update(model)\r\n\t\t\t.then((response: CMError) => {\r\n\t\t\t\tthis.notifyAfterSave(response);\r\n\r\n\t\t\t\tif (!response || !response.message) {\r\n\t\t\t\t\tthis._updateService.update(); // refresh parent view\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._dialog.closeAll();\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis._service.create(model)\r\n\t\t\t.then((response: CMError) => {\r\n\r\n\t\t\t\tthis.notifyAfterSave(response);\r\n\r\n\t\t\t\tif (!response || !response.message) {\r\n\t\t\t\t\tthis._updateService.update(); // refresh parent view\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._dialog.closeAll();\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic notifyAfterSave(response: CMError) {\r\n\t\tif (response && response.message) {\r\n\t\t\tthis._notificationService.generateNotifcation({\r\n\t\t\t\ttype: eNotificationTypes.ERROR,\r\n\t\t\t\tmessage: response.message\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis._notificationService.generateNotifcation({\r\n\t\t\t\ttype: eNotificationTypes.UPDATE,\r\n\t\t\t\tmessage: 'Crop stage was saved successfully'\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic close() {\r\n\t\tthis._dialogRef.close();\r\n\t}\r\n}\r\n"],"sourceRoot":"webpack:///"}