gunsmith-common 2.1.16 → 2.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2015/gunsmith-common.js → esm2020/gunsmith-common.mjs} +0 -0
- package/{esm2015/notification/fade-out.animation.js → esm2020/notification/fade-out.animation.mjs} +0 -0
- package/{esm2015/notification/index.js → esm2020/notification/index.mjs} +0 -0
- package/esm2020/notification/notification-bar/notification-bar.component.mjs +43 -0
- package/{esm2015/notification/notification-message.js → esm2020/notification/notification-message.mjs} +0 -0
- package/{esm2015/notification/notification-type.enum.js → esm2020/notification/notification-type.enum.mjs} +0 -0
- package/{esm2015/notification/notification.module.js → esm2020/notification/notification.module.mjs} +5 -5
- package/{esm2015/notification/notification.service.js → esm2020/notification/notification.service.mjs} +4 -4
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/{esm2015/shared/directives/disable-control.directive.js → esm2020/shared/directives/disable-control.directive.mjs} +4 -4
- package/{esm2015/shared/directives/index.js → esm2020/shared/directives/index.mjs} +0 -0
- package/{esm2015/shared/directives/refinish-details-validators.js → esm2020/shared/directives/refinish-details-validators.mjs} +3 -3
- package/{esm2015/shared/pipes/enum.pipe.js → esm2020/shared/pipes/enum.pipe.mjs} +4 -4
- package/{esm2015/shared/pipes/file-name.pipe.js → esm2020/shared/pipes/file-name.pipe.mjs} +4 -4
- package/{esm2015/shared/pipes/frame-material.pipe.js → esm2020/shared/pipes/frame-material.pipe.mjs} +4 -4
- package/{esm2015/shared/pipes/index.js → esm2020/shared/pipes/index.mjs} +0 -0
- package/{esm2015/shared/pipes/new-line.pipe.js → esm2020/shared/pipes/new-line.pipe.mjs} +4 -4
- package/{esm2015/shared/pipes/phone.pipe.js → esm2020/shared/pipes/phone.pipe.mjs} +4 -4
- package/{esm2015/shared/services/coating.service.js → esm2020/shared/services/coating.service.mjs} +4 -4
- package/{esm2015/shared/services/configuration.service.js → esm2020/shared/services/configuration.service.mjs} +4 -4
- package/{esm2015/shared/services/cosmetic-milling.service.js → esm2020/shared/services/cosmetic-milling.service.mjs} +4 -4
- package/{esm2015/shared/services/customer.service.js → esm2020/shared/services/customer.service.mjs} +4 -4
- package/{esm2015/shared/services/dealer.service.js → esm2020/shared/services/dealer.service.mjs} +4 -4
- package/{esm2015/shared/services/file-upload.service.js → esm2020/shared/services/file-upload.service.mjs} +4 -4
- package/{esm2015/shared/services/firearm-series.service.js → esm2020/shared/services/firearm-series.service.mjs} +4 -4
- package/{esm2015/shared/services/firearm.service.js → esm2020/shared/services/firearm.service.mjs} +4 -4
- package/{esm2015/shared/services/gun-part.service.js → esm2020/shared/services/gun-part.service.mjs} +4 -4
- package/{esm2015/shared/services/index.js → esm2020/shared/services/index.mjs} +2 -1
- package/{esm2015/shared/services/inventory.service.js → esm2020/shared/services/inventory.service.mjs} +4 -4
- package/{esm2015/shared/services/material.service.js → esm2020/shared/services/material.service.mjs} +4 -4
- package/{esm2015/shared/services/milling-type.service.js → esm2020/shared/services/milling-type.service.mjs} +4 -4
- package/{esm2015/shared/services/optic.service.js → esm2020/shared/services/optic.service.mjs} +4 -4
- package/{esm2015/shared/services/product.service.js → esm2020/shared/services/product.service.mjs} +4 -4
- package/{esm2015/shared/services/purchase-order.service.js → esm2020/shared/services/purchase-order.service.mjs} +4 -4
- package/{esm2015/shared/services/state.service.js → esm2020/shared/services/state.service.mjs} +4 -4
- package/esm2020/shared/services/status-history.service.mjs +40 -0
- package/{esm2015/shared/services/totals.service.js → esm2020/shared/services/totals.service.mjs} +4 -4
- package/{esm2015/shared/services/user.service.js → esm2020/shared/services/user.service.mjs} +4 -4
- package/{esm2015/shared/services/vendor.service.js → esm2020/shared/services/vendor.service.mjs} +4 -4
- package/{esm2015/shared/services/waitlist-customer.service.js → esm2020/shared/services/waitlist-customer.service.mjs} +4 -4
- package/{esm2015/shared/services/waitlist-project.service.js → esm2020/shared/services/waitlist-project.service.mjs} +4 -4
- package/{esm2015/shared/services/waitlist.service.js → esm2020/shared/services/waitlist.service.mjs} +4 -4
- package/{esm2015/shared/services/work-holiday.service.js → esm2020/shared/services/work-holiday.service.mjs} +4 -4
- package/{esm2015/shared/services/work-order.service.js → esm2020/shared/services/work-order.service.mjs} +4 -4
- package/{esm2015/shared/shared.module.js → esm2020/shared/shared.module.mjs} +5 -5
- package/{esm2015/shared/types/bundle-item.js → esm2020/shared/types/bundle-item.mjs} +0 -0
- package/{esm2015/shared/types/change-order-status.js → esm2020/shared/types/change-order-status.mjs} +0 -0
- package/{esm2015/shared/types/coating-value.js → esm2020/shared/types/coating-value.mjs} +0 -0
- package/{esm2015/shared/types/coating.js → esm2020/shared/types/coating.mjs} +0 -0
- package/{esm2015/shared/types/configuration.js → esm2020/shared/types/configuration.mjs} +0 -0
- package/{esm2015/shared/types/cosmetic-milling.js → esm2020/shared/types/cosmetic-milling.mjs} +0 -0
- package/{esm2015/shared/types/customer.js → esm2020/shared/types/customer.mjs} +0 -0
- package/{esm2015/shared/types/dealer-contact.js → esm2020/shared/types/dealer-contact.mjs} +0 -0
- package/{esm2015/shared/types/dealer-coupon.js → esm2020/shared/types/dealer-coupon.mjs} +0 -0
- package/{esm2015/shared/types/dealer.js → esm2020/shared/types/dealer.mjs} +0 -0
- package/{esm2015/shared/types/filter-options.js → esm2020/shared/types/filter-options.mjs} +0 -0
- package/{esm2015/shared/types/firearm-series-optic.js → esm2020/shared/types/firearm-series-optic.mjs} +0 -0
- package/{esm2015/shared/types/firearm-series.js → esm2020/shared/types/firearm-series.mjs} +0 -0
- package/{esm2015/shared/types/firearm.js → esm2020/shared/types/firearm.mjs} +0 -0
- package/{esm2015/shared/types/frame-material.js → esm2020/shared/types/frame-material.mjs} +0 -0
- package/{esm2015/shared/types/gun-caliber.js → esm2020/shared/types/gun-caliber.mjs} +0 -0
- package/esm2020/shared/types/gun-part-option.mjs +3 -0
- package/esm2020/shared/types/gun-part.mjs +11 -0
- package/{esm2015/shared/types/index.js → esm2020/shared/types/index.mjs} +2 -1
- package/{esm2015/shared/types/inventory-item.js → esm2020/shared/types/inventory-item.mjs} +0 -0
- package/{esm2015/shared/types/j-file.js → esm2020/shared/types/j-file.mjs} +0 -0
- package/{esm2015/shared/types/material.js → esm2020/shared/types/material.mjs} +0 -0
- package/{esm2015/shared/types/milling-detail.js → esm2020/shared/types/milling-detail.mjs} +0 -0
- package/{esm2015/shared/types/milling-item.js → esm2020/shared/types/milling-item.mjs} +0 -0
- package/{esm2015/shared/types/milling-type.js → esm2020/shared/types/milling-type.mjs} +0 -0
- package/{esm2015/shared/types/mount-type.js → esm2020/shared/types/mount-type.mjs} +0 -0
- package/{esm2015/shared/types/optic-status.js → esm2020/shared/types/optic-status.mjs} +0 -0
- package/{esm2015/shared/types/optic.js → esm2020/shared/types/optic.mjs} +0 -0
- package/{esm2015/shared/types/product.js → esm2020/shared/types/product.mjs} +0 -0
- package/{esm2015/shared/types/project-type.js → esm2020/shared/types/project-type.mjs} +0 -0
- package/esm2020/shared/types/purchase-order-refinish-item.mjs +3 -0
- package/{esm2015/shared/types/purchase-order-status.js → esm2020/shared/types/purchase-order-status.mjs} +0 -0
- package/{esm2015/shared/types/purchase-order.js → esm2020/shared/types/purchase-order.mjs} +0 -0
- package/{esm2015/shared/types/rear-sight-position.js → esm2020/shared/types/rear-sight-position.mjs} +0 -0
- package/{esm2015/shared/types/refinish-detail.js → esm2020/shared/types/refinish-detail.mjs} +1 -1
- package/{esm2015/shared/types/report-milling-item.js → esm2020/shared/types/report-milling-item.mjs} +0 -0
- package/esm2020/shared/types/report-refinish-item.mjs +3 -0
- package/{esm2015/shared/types/sight-type.js → esm2020/shared/types/sight-type.mjs} +0 -0
- package/{esm2015/shared/types/state.js → esm2020/shared/types/state.mjs} +0 -0
- package/{esm2015/shared/types/total-item.js → esm2020/shared/types/total-item.mjs} +1 -1
- package/{esm2015/shared/types/total.js → esm2020/shared/types/total.mjs} +0 -0
- package/{esm2015/shared/types/vendor-contact.js → esm2020/shared/types/vendor-contact.mjs} +0 -0
- package/{esm2015/shared/types/vendor.js → esm2020/shared/types/vendor.mjs} +0 -0
- package/{esm2015/shared/types/waitlist-action.js → esm2020/shared/types/waitlist-action.mjs} +0 -0
- package/{esm2015/shared/types/waitlist-gun.js → esm2020/shared/types/waitlist-gun.mjs} +0 -0
- package/{esm2015/shared/types/waitlist-history.js → esm2020/shared/types/waitlist-history.mjs} +0 -0
- package/{esm2015/shared/types/waitlist-item.js → esm2020/shared/types/waitlist-item.mjs} +0 -0
- package/{esm2015/shared/types/waitlist-status.js → esm2020/shared/types/waitlist-status.mjs} +0 -0
- package/{esm2015/shared/types/work-change-order.js → esm2020/shared/types/work-change-order.mjs} +0 -0
- package/{esm2015/shared/types/work-holiday.js → esm2020/shared/types/work-holiday.mjs} +0 -0
- package/{esm2015/shared/types/work-order-action.js → esm2020/shared/types/work-order-action.mjs} +0 -0
- package/{esm2015/shared/types/work-order-history.js → esm2020/shared/types/work-order-history.mjs} +0 -0
- package/esm2020/shared/types/work-order-refinish-item.mjs +3 -0
- package/{esm2015/shared/types/work-order-status.js → esm2020/shared/types/work-order-status.mjs} +0 -0
- package/{esm2015/shared/types/work-order-type.js → esm2020/shared/types/work-order-type.mjs} +0 -0
- package/{esm2015/shared/types/work-order.js → esm2020/shared/types/work-order.mjs} +0 -0
- package/{esm2015/shared/utils/coating-helpers.js → esm2020/shared/utils/coating-helpers.mjs} +0 -0
- package/{esm2015/shared/utils/enum-object.js → esm2020/shared/utils/enum-object.mjs} +0 -0
- package/{esm2015/shared/utils/finish-date-calculator.js → esm2020/shared/utils/finish-date-calculator.mjs} +0 -0
- package/{esm2015/shared/utils/index.js → esm2020/shared/utils/index.mjs} +0 -0
- package/{esm2015/shared/utils/invalid-form-control-toucher.js → esm2020/shared/utils/invalid-form-control-toucher.mjs} +0 -0
- package/fesm2015/gunsmith-common.mjs +1855 -0
- package/fesm2015/gunsmith-common.mjs.map +1 -0
- package/{fesm2015/gunsmith-common.js → fesm2020/gunsmith-common.mjs} +148 -114
- package/fesm2020/gunsmith-common.mjs.map +1 -0
- package/package.json +19 -6
- package/shared/services/index.d.ts +1 -0
- package/shared/services/status-history.service.d.ts +14 -0
- package/shared/types/gun-part-option.d.ts +9 -0
- package/shared/types/gun-part.d.ts +2 -0
- package/shared/types/index.d.ts +1 -0
- package/shared/types/purchase-order-refinish-item.d.ts +2 -0
- package/shared/types/refinish-detail.d.ts +2 -0
- package/shared/types/report-refinish-item.d.ts +2 -0
- package/shared/types/total-item.d.ts +1 -1
- package/shared/types/work-order-refinish-item.d.ts +2 -0
- package/bundles/gunsmith-common.umd.js +0 -2097
- package/bundles/gunsmith-common.umd.js.map +0 -1
- package/esm2015/notification/notification-bar/notification-bar.component.js +0 -48
- package/esm2015/shared/types/gun-part.js +0 -10
- package/esm2015/shared/types/purchase-order-refinish-item.js +0 -3
- package/esm2015/shared/types/report-refinish-item.js +0 -3
- package/esm2015/shared/types/work-order-refinish-item.js +0 -3
- package/fesm2015/gunsmith-common.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gunsmith-common.umd.js","sources":["../../../projects/gunsmith-common/src/shared/utils/invalid-form-control-toucher.ts","../../../projects/gunsmith-common/src/shared/utils/enum-object.ts","../../../projects/gunsmith-common/src/shared/utils/coating-helpers.ts","../../../projects/gunsmith-common/src/shared/types/configuration.ts","../../../projects/gunsmith-common/src/shared/types/customer.ts","../../../projects/gunsmith-common/src/shared/types/dealer.ts","../../../projects/gunsmith-common/src/shared/types/dealer-contact.ts","../../../projects/gunsmith-common/src/shared/types/dealer-coupon.ts","../../../projects/gunsmith-common/src/shared/types/filter-options.ts","../../../projects/gunsmith-common/src/shared/types/gun-caliber.ts","../../../projects/gunsmith-common/src/shared/types/firearm.ts","../../../projects/gunsmith-common/src/shared/types/gun-part.ts","../../../projects/gunsmith-common/src/shared/types/vendor.ts","../../../projects/gunsmith-common/src/shared/types/vendor-contact.ts","../../../projects/gunsmith-common/src/shared/types/state.ts","../../../projects/gunsmith-common/src/shared/types/waitlist-action.ts","../../../projects/gunsmith-common/src/shared/types/project-type.ts","../../../projects/gunsmith-common/src/shared/types/waitlist-gun.ts","../../../projects/gunsmith-common/src/shared/types/waitlist-history.ts","../../../projects/gunsmith-common/src/shared/types/waitlist-status.ts","../../../projects/gunsmith-common/src/shared/types/work-order-type.ts","../../../projects/gunsmith-common/src/shared/types/waitlist-item.ts","../../../projects/gunsmith-common/src/shared/types/work-change-order.ts","../../../projects/gunsmith-common/src/shared/types/work-holiday.ts","../../../projects/gunsmith-common/src/shared/types/work-order-status.ts","../../../projects/gunsmith-common/src/shared/types/work-order.ts","../../../projects/gunsmith-common/src/shared/types/work-order-history.ts","../../../projects/gunsmith-common/src/shared/types/refinish-detail.ts","../../../projects/gunsmith-common/src/shared/types/coating.ts","../../../projects/gunsmith-common/src/shared/types/coating-value.ts","../../../projects/gunsmith-common/src/shared/types/work-order-action.ts","../../../projects/gunsmith-common/src/shared/types/optic.ts","../../../projects/gunsmith-common/src/shared/types/optic-status.ts","../../../projects/gunsmith-common/src/shared/types/product.ts","../../../projects/gunsmith-common/src/shared/types/bundle-item.ts","../../../projects/gunsmith-common/src/shared/types/change-order-status.ts","../../../projects/gunsmith-common/src/shared/types/mount-type.ts","../../../projects/gunsmith-common/src/shared/types/sight-type.ts","../../../projects/gunsmith-common/src/shared/types/milling-detail.ts","../../../projects/gunsmith-common/src/shared/types/rear-sight-position.ts","../../../projects/gunsmith-common/src/shared/types/firearm-series.ts","../../../projects/gunsmith-common/src/shared/types/firearm-series-optic.ts","../../../projects/gunsmith-common/src/shared/types/frame-material.ts","../../../projects/gunsmith-common/src/shared/types/milling-type.ts","../../../projects/gunsmith-common/src/shared/types/cosmetic-milling.ts","../../../projects/gunsmith-common/src/shared/types/milling-item.ts","../../../projects/gunsmith-common/src/shared/types/work-order-refinish-item.ts","../../../projects/gunsmith-common/src/shared/types/purchase-order-refinish-item.ts","../../../projects/gunsmith-common/src/shared/types/material.ts","../../../projects/gunsmith-common/src/shared/types/purchase-order-status.ts","../../../projects/gunsmith-common/src/shared/types/purchase-order.ts","../../../projects/gunsmith-common/src/shared/types/report-milling-item.ts","../../../projects/gunsmith-common/src/shared/types/report-refinish-item.ts","../../../projects/gunsmith-common/src/shared/types/total.ts","../../../projects/gunsmith-common/src/shared/types/total-item.ts","../../../projects/gunsmith-common/src/shared/types/inventory-item.ts","../../../projects/gunsmith-common/src/shared/types/j-file.ts","../../../projects/gunsmith-common/src/shared/utils/finish-date-calculator.ts","../../../projects/gunsmith-common/src/shared/services/customer.service.ts","../../../projects/gunsmith-common/src/shared/services/firearm.service.ts","../../../projects/gunsmith-common/src/shared/services/gun-part.service.ts","../../../projects/gunsmith-common/src/shared/services/state.service.ts","../../../projects/gunsmith-common/src/shared/services/vendor.service.ts","../../../projects/gunsmith-common/src/shared/services/totals.service.ts","../../../projects/gunsmith-common/src/shared/services/work-holiday.service.ts","../../../projects/gunsmith-common/src/shared/services/work-order.service.ts","../../../projects/gunsmith-common/src/shared/services/dealer.service.ts","../../../projects/gunsmith-common/src/shared/services/file-upload.service.ts","../../../projects/gunsmith-common/src/shared/services/waitlist.service.ts","../../../projects/gunsmith-common/src/shared/services/configuration.service.ts","../../../projects/gunsmith-common/src/shared/services/waitlist-customer.service.ts","../../../projects/gunsmith-common/src/shared/services/optic.service.ts","../../../projects/gunsmith-common/src/shared/services/product.service.ts","../../../projects/gunsmith-common/src/shared/services/firearm-series.service.ts","../../../projects/gunsmith-common/src/shared/services/milling-type.service.ts","../../../projects/gunsmith-common/src/shared/services/cosmetic-milling.service.ts","../../../projects/gunsmith-common/src/shared/services/coating.service.ts","../../../projects/gunsmith-common/src/shared/services/material.service.ts","../../../projects/gunsmith-common/src/shared/services/purchase-order.service.ts","../../../projects/gunsmith-common/src/shared/services/user.service.ts","../../../projects/gunsmith-common/src/shared/services/waitlist-project.service.ts","../../../projects/gunsmith-common/src/shared/services/inventory.service.ts","../../../projects/gunsmith-common/src/shared/pipes/phone.pipe.ts","../../../projects/gunsmith-common/src/shared/pipes/file-name.pipe.ts","../../../projects/gunsmith-common/src/shared/pipes/enum.pipe.ts","../../../projects/gunsmith-common/src/shared/pipes/new-line.pipe.ts","../../../projects/gunsmith-common/src/shared/pipes/frame-material.pipe.ts","../../../projects/gunsmith-common/src/shared/directives/disable-control.directive.ts","../../../projects/gunsmith-common/src/shared/directives/refinish-details-validators.ts","../../../projects/gunsmith-common/src/shared/shared.module.ts","../../../projects/gunsmith-common/src/notification/fade-out.animation.ts","../../../projects/gunsmith-common/src/notification/notification.service.ts","../../../projects/gunsmith-common/src/notification/notification-bar/notification-bar.component.ts","../../../projects/gunsmith-common/src/notification/notification-bar/notification-bar.component.html","../../../projects/gunsmith-common/src/notification/notification.module.ts","../../../projects/gunsmith-common/src/notification/notification-type.enum.ts","../../../projects/gunsmith-common/src/public_api.ts","../../../projects/gunsmith-common/src/gunsmith-common.ts"],"sourcesContent":["import { FormGroup, FormArray } from \"@angular/forms\";\r\n\r\nexport function touchControls(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n control.markAsTouched({ onlySelf: true });\r\n });\r\n}\r\n","export function convertEnumToObjectArray(value: any): EnumObject[] {\r\n let enumObject: EnumObject[] = [];\r\n for (let n in value) {\r\n if (typeof value[n] === 'number') {\r\n enumObject.push({ id: <any>value[n], name: n.replace(/([A-Z])/g, ' $1').trim() });\r\n }\r\n }\r\n return enumObject;\r\n}\r\n\r\nexport interface EnumObject {\r\n id: number;\r\n name: string;\r\n}\r\n","import { Coating, CoatingValue, GunPart, Material } from '../types';\r\n\r\nexport function getCoatings(part: GunPart, coatings: Coating[], material: Material): Coating[] {\r\n if (part && part.id === 1)\r\n return coatings.filter(c => part.coatings.map(pc => pc.id).includes(c.id)\r\n && c.materials.map(m => m.id).includes(material.id));\r\n else if (part)\r\n return coatings.filter(c => part.coatings.map(pc => pc.id).includes(c.id));\r\n else\r\n return [];\r\n}\r\n\r\nexport function getCoatingValues(coating: Coating): CoatingValue[] {\r\n if (coating)\r\n return coating.coatingValues;\r\n else\r\n return [];\r\n}\r\n\r\nexport function hasCoatingValues(coating: Coating): boolean {\r\n return coating && coating.coatingValues && coating.coatingValues.length > 0;\r\n}\r\n\r\nexport function hasCoatingDescription(coating: Coating): boolean {\r\n return coating && coating.valueLabel && (!coating.coatingValues || !coating.coatingValues.length);\r\n}\r\n","export class Configuration {\r\n id: number;\r\n standardWeeks: number;\r\n newInBoxWeeks: number;\r\n expeditedWeeks: number;\r\n warrantyWeeks: number;\r\n maxInHouseGuns: number;\r\n waitlistWeeks: number;\r\n waitlistErrorEmail: string;\r\n timestamp: string;\r\n}\r\n","export class Customer {\r\n id: number;\r\n name: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n stateAbbrev: string;\r\n stateName: string;\r\n postalCode: string;\r\n active = true;\r\n phone: string;\r\n email: string;\r\n timestamp: string;\r\n}\r\n","import { DealerContact } from \"./dealer-contact\";\r\nimport { JFile } from \"./j-file\";\r\n\r\nexport class Dealer {\r\n constructor() {\r\n this.contacts = [];\r\n }\r\n\r\n id: number;\r\n name: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n stateAbbrev: string;\r\n stateName: string;\r\n postalCode: string;\r\n fflDate: Date;\r\n fflFile: JFile;\r\n fflFileName: string;\r\n resaleCertFile: JFile;\r\n resaleTaxCertificateFileName: string;\r\n couponId: number;\r\n couponCode: string;\r\n couponDiscount = 20;\r\n active = true;\r\n contacts: DealerContact[];\r\n timestamp: string;\r\n}\r\n\r\n","export class DealerContact {\r\n id: number;\r\n firstName: string;\r\n lastName: string;\r\n primaryPhone: string;\r\n secondaryPhone: string;\r\n email: string;\r\n timestamp: string;\r\n}\r\n","export class DealerCoupon {\r\n couponId: number;\r\n couponCode: string;\r\n couponDiscount: number;\r\n}\r\n","export class FilterOptions {\r\n workOrderType: boolean = true;\r\n status: boolean = true;\r\n warranty: boolean = true;\r\n specialOrder: boolean = true;\r\n}\r\n","export enum GunCaliber {\r\n \"9mm\",\r\n \"40Caliber\",\r\n \"45Caliber\"\r\n}\r\n","import { FirearmSeries } from './firearm-series';\r\nimport { Material } from './material';\r\n\r\nexport class Firearm {\r\n id: number;\r\n name: string;\r\n material: Material;\r\n firearmSeries: FirearmSeries;\r\n active = true;\r\n timestamp: string;\r\n}\r\n","import { Coating } from './coating';\r\n\r\nexport class GunPart {\r\n id: number;\r\n name: string;\r\n coatings: Coating[] = [];\r\n defaultControl = false;\r\n customer = false;\r\n gunsmith = false;\r\n active = true;\r\n timestamp: string;\r\n}\r\n","import { JFile } from \"./j-file\";\r\nimport { VendorContact } from \"./vendor-contact\";\r\n\r\nexport class Vendor {\r\n constructor() {\r\n this.contacts = [];\r\n }\r\n\r\n id: number;\r\n name: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n stateAbbrev: string;\r\n stateName: string;\r\n postalCode: string;\r\n fflDate: Date;\r\n fflFile: JFile;\r\n fflFileName: string;\r\n notes: string;\r\n contacts: VendorContact[];\r\n active = true;\r\n timestamp: string;\r\n}\r\n","export class VendorContact {\r\n id: number;\r\n firstName: string;\r\n lastName: string;\r\n primaryPhone: string;\r\n secondaryPhone: string;\r\n email: string;\r\n timestamp: string;\r\n}\r\n","export class State {\r\n abbrev: string;\r\n name: string;\r\n}\r\n","export enum WaitlistAction {\r\n SendShipmentEmail = 0,\r\n SendShipmentNoResponse = 2,\r\n SendWaitingOnShipmentEmail = 3,\r\n SendWaitingOnShipmentNoResponse = 5,\r\n SendInShopEmail = 6\r\n}\r\n","export enum ProjectType {\r\n Firearm,\r\n SlideOnly,\r\n PartsOnly\r\n}\r\n","import { Firearm } from './firearm';\r\nimport { GunCaliber } from \"./gun-caliber\";\r\nimport { MillingDetail } from './milling-detail';\r\nimport { ProjectType } from './project-type';\r\nimport { RefinishDetail } from './refinish-detail';\r\n\r\nexport class WaitlistGun {\r\n id: number;\r\n firearm: Firearm;\r\n serialNumber: string;\r\n caliber: GunCaliber;\r\n condition: string;\r\n workDescription: string;\r\n shipmentInfo: string;\r\n projectType = ProjectType.Firearm;\r\n logo = false;\r\n refinish = false;\r\n milling = false;\r\n specialOrder = false;\r\n refinishDetails: RefinishDetail[] = [];\r\n millingDetail: MillingDetail;\r\n timestamp: string;\r\n}\r\n","import { WaitlistStatus } from \"./waitlist-status\";\r\n\r\nexport class WaitlistHistory {\r\n id: number;\r\n status: WaitlistStatus;\r\n date: Date;\r\n user: string;\r\n timestamp: string;\r\n}\r\n","export enum WaitlistStatus {\r\n NewRequest,\r\n ShipmentEmailSent,\r\n ShipmentEmailReminderSent,\r\n ShipmentEmailNoResponse,\r\n WaitingOnShipment,\r\n WaitingOnShipmentReminderSent,\r\n WaitingOnShipmentNoResponse,\r\n InShop,\r\n Cancelled,\r\n OnHold,\r\n Voided\r\n}\r\n","export enum WorkOrderType {\r\n Standard,\r\n NewInBox,\r\n Expedited,\r\n Warranty = 5\r\n}\r\n","import { WaitlistStatus } from \"./waitlist-status\";\r\nimport { WaitlistGun } from \"./waitlist-gun\";\r\nimport { WaitlistHistory } from \"./waitlist-history\";\r\nimport { Customer } from \"./customer\";\r\nimport { WorkOrderType } from './work-order-type';\r\n\r\nexport class WaitlistItem {\r\n id: number;\r\n requestDate = new Date();\r\n lastStatusDate: Date;\r\n customer: Customer;\r\n name: string;\r\n address1: string;\r\n address2: string;\r\n city: string;\r\n stateAbbrev: string;\r\n stateName: string;\r\n postalCode: string;\r\n status: WaitlistStatus = WaitlistStatus.NewRequest;\r\n phone: string;\r\n email: string;\r\n workOrderType: WorkOrderType = WorkOrderType.Standard;\r\n guns: WaitlistGun[] = [];\r\n histories: WaitlistHistory[] = [];\r\n timestamp: string;\r\n}\r\n","import { ChangeOrderStatus } from './change-order-status';\r\n\r\nexport class WorkChangeOrder {\r\n id: number;\r\n workOrderId: number;\r\n description: string;\r\n date: Date;\r\n user: string;\r\n status: ChangeOrderStatus;\r\n timestamp: string;\r\n}\r\n","export class WorkHoliday {\r\n id: number;\r\n holiday: Date;\r\n}\r\n","export enum WorkOrderStatus {\r\n InShop = 0,\r\n OnBench = 1,\r\n OutOfShop = 2,\r\n WaitingOnCustomer = 3,\r\n CustomerNotified = 4,\r\n ShippingPostponed = 10,\r\n FflNeeded = 11,\r\n InspectionNeeded = 12,\r\n ReadyToShip = 5,\r\n Completed = 6,\r\n Cancelled = 7,\r\n Voided = 8,\r\n OnHold = 9\r\n}\r\n","import { WorkOrderStatus } from \"./work-order-status\";\r\nimport { WorkOrderHistory } from './work-order-history';\r\nimport { WorkOrderType } from \"./work-order-type\";\r\nimport { Customer } from \"./customer\";\r\nimport { Firearm } from './firearm';\r\nimport { GunCaliber } from './gun-caliber';\r\nimport { ProjectType } from './project-type';\r\n\r\nexport class WorkOrder {\r\n constructor() { }\r\n\r\n id = 0;\r\n customer: Customer;\r\n firearm: Firearm;\r\n serialNumber: string;\r\n caliber: GunCaliber;\r\n receivedDate = new Date();\r\n estimatedFinishDate: Date;\r\n lastStatusDate: Date;\r\n workOrderType: WorkOrderType = WorkOrderType.Standard;\r\n refinish = false;\r\n logo = false;\r\n milling = false;\r\n specialOrder = false;\r\n condition: string;\r\n workDescription: string;\r\n shipmentInfo: string;\r\n projectType: ProjectType = ProjectType.Firearm;\r\n status: WorkOrderStatus = WorkOrderStatus.InShop;\r\n histories: WorkOrderHistory[] = [];\r\n notes: string;\r\n timestamp: string;\r\n}\r\n","import { WorkOrderStatus } from \"./work-order-status\";\r\n\r\nexport class WorkOrderHistory {\r\n id: number;\r\n status: WorkOrderStatus;\r\n date: Date;\r\n user: string;\r\n timestamp: string;\r\n}\r\n","import { Coating } from './coating';\r\nimport { CoatingValue } from './coating-value';\r\nimport { GunPart } from './gun-part';\r\n\r\nexport class RefinishDetail {\r\n id: number;\r\n gunPart: GunPart;\r\n coating: Coating;\r\n coatingValue: CoatingValue;\r\n coatingDescription: string;\r\n timestamp: string;\r\n}\r\n","import { CoatingValue } from './coating-value';\r\nimport { Material } from './material';\r\n\r\nexport class Coating {\r\n id: number;\r\n name: string;\r\n valueLabel: string;\r\n coatingValues: CoatingValue[] = [];\r\n materials: Material[] = [];\r\n active = true;\r\n timestamp: string;\r\n}\r\n","export class CoatingValue {\r\n id: number;\r\n name: string;\r\n active = true;\r\n timestamp: string;\r\n}\r\n","export enum WorkOrderAction {\r\n SendOnBenchEmail = 1,\r\n SendWaitingOnCustomerEmail = 3,\r\n SendCustomerNotification = 4\r\n}\r\n","export class Optic {\r\n id: number;\r\n name: string;\r\n active = true;\r\n timestamp: string;\r\n}\r\n","export enum OpticStatus {\r\n Included,\r\n NotIncluded,\r\n Supply\r\n}\r\n","export class Product {\r\n id: number;\r\n sku: string;\r\n name: string;\r\n price: number;\r\n type: string;\r\n}\r\n","export class BundleItem {\r\n id: number;\r\n bundleId: number;\r\n name: string;\r\n sku: string;\r\n type: string;\r\n quantity: number;\r\n optional: boolean;\r\n overrideVariations: boolean;\r\n allowedVariations: number[] = [];\r\n}\r\n","export enum ChangeOrderStatus {\r\n WaitingOnCustomer,\r\n Confirmed,\r\n Cancelled,\r\n NoResponse,\r\n Unconfirmed\r\n}\r\n","export enum MountType {\r\n Direct,\r\n Plate\r\n}\r\n","export enum SightType {\r\n Black,\r\n Tritium\r\n}\r\n","import { SightType } from './sight-type';\r\nimport { RearSightPosition } from './rear-sight-position';\r\nimport { Optic } from './optic';\r\nimport { CosmeticMilling } from './cosmetic-milling';\r\nimport { OpticStatus } from './optic-status';\r\n\r\nexport class MillingDetail {\r\n id: number;\r\n optic: Optic;\r\n opticStatus: OpticStatus;\r\n frontSightType: SightType;\r\n rearSightType: SightType;\r\n rearSightPosition: RearSightPosition;\r\n cosmeticMilling: CosmeticMilling;\r\n barrelCrown = false;\r\n bushingInstallation = false;\r\n timestamp: string;\r\n}\r\n","export enum RearSightPosition {\r\n InFront,\r\n Behind\r\n}\r\n","import { FirearmSeriesOptic } from './firearm-series-optic';\r\n\r\nexport class FirearmSeries {\r\n id: number;\r\n name: string;\r\n active = true;\r\n millingFrontSights = false;\r\n firearmSeriesOptics: FirearmSeriesOptic[] = [];\r\n timestamp: string;\r\n}\r\n","import { MountType } from './mount-type';\r\nimport { Optic } from './optic';\r\n\r\nexport class FirearmSeriesOptic {\r\n id: number;\r\n optic: Optic;\r\n mountType: MountType;\r\n rearFrontSightBlack = false;\r\n rearFrontSightTritium = false;\r\n rearBehindSightBlack = false;\r\n rearBehindSightTritium = false;\r\n timestamp: string;\r\n}\r\n","export enum FrameMaterial {\r\n All,\r\n Polymer,\r\n Aluminum,\r\n Steel\r\n}\r\n","import { GunPart } from './gun-part';\r\n\r\nexport class MillingType {\r\n id: number;\r\n name: string;\r\n gunPart: GunPart;\r\n active = true;\r\n timestamp: string;\r\n}\r\n","export class CosmeticMilling {\r\n id: number;\r\n name: string;\r\n active = true;\r\n timestamp: string;\r\n}\r\n","import { MillingType } from './milling-type';\r\n\r\nexport class MillingItem {\r\n id: number;\r\n millingType: MillingType;\r\n description: string;\r\n completedDate: Date;\r\n timestamp: string;\r\n}\r\n","import { Coating } from './coating';\r\nimport { CoatingValue } from './coating-value';\r\nimport { GunPart } from './gun-part';\r\nimport { Vendor } from './vendor';\r\n\r\nexport class WorkOrderRefinishItem {\r\n id: number;\r\n gunPart: GunPart;\r\n quantity: number;\r\n coating: Coating;\r\n coatingValue: CoatingValue;\r\n coatingDescription: string;\r\n vendor: Vendor;\r\n outDate: Date;\r\n inDate: Date;\r\n timestamp: string;\r\n}\r\n","import { Coating } from './coating';\r\nimport { CoatingValue } from './coating-value';\r\nimport { GunPart } from './gun-part';\r\n\r\nexport class PurchaseOrderRefinishItem {\r\n id: number;\r\n gunPart: GunPart;\r\n quantity: number;\r\n coating: Coating;\r\n coatingValue: CoatingValue;\r\n coatingDescription: string;\r\n serialNumber: string;\r\n customerName: string;\r\n inDate: Date;\r\n isMillingCompleted: boolean;\r\n timestamp: string;\r\n}\r\n","export class Material {\r\n id: number;\r\n name: string;\r\n active = true;\r\n timestamp: string;\r\n}\r\n","export enum PurchaseOrderStatus {\r\n Open,\r\n Closed,\r\n Cancelled,\r\n Voided\r\n}\r\n","import { PurchaseOrderRefinishItem } from './purchase-order-refinish-item';\r\nimport { PurchaseOrderStatus } from './purchase-order-status';\r\nimport { Vendor } from './vendor';\r\n\r\nexport class PurchaseOrder {\r\n id: number;\r\n vendor: Vendor;\r\n date = new Date();\r\n status = PurchaseOrderStatus.Open;\r\n refinishItems: PurchaseOrderRefinishItem[] = [];\r\n timestamp: string;\r\n}\r\n","import { MillingType } from './milling-type';\r\nimport { ProjectType } from './project-type';\r\nimport { WorkOrderType } from './work-order-type';\r\n\r\nexport class ReportMillingItem {\r\n id: number;\r\n customerName: string;\r\n serialNumber: string;\r\n firearmName: string;\r\n receivedDate: Date;\r\n estimatedFinishDate: Date;\r\n workOrderType: WorkOrderType;\r\n projectType: ProjectType;\r\n millingType: MillingType;\r\n description: string;\r\n hasRefinish: boolean;\r\n}\r\n","import { Coating } from \"./coating\";\r\nimport { CoatingValue } from \"./coating-value\";\r\nimport { GunPart } from \"./gun-part\";\r\n\r\nexport class ReportRefinishItem {\r\n id: number;\r\n gunPart: GunPart;\r\n quantity: number;\r\n coating: Coating;\r\n coatingValue: CoatingValue;\r\n coatingDescription: string;\r\n serialNumber: string;\r\n customerName: string;\r\n vendorName: string;\r\n receivedDate: Date;\r\n outDate: Date;\r\n timestamp: string;\r\n}\r\n","import { TotalItem } from \"./total-item\";\r\n\r\nexport class Total {\r\n name: string;\r\n items: TotalItem[];\r\n}\r\n","export class TotalItem {\r\n date: Date;\r\n total: number;\r\n}\r\n","export class InventoryItem {\r\n id: number;\r\n name: string;\r\n sku: string;\r\n count: number;\r\n active: boolean = true;\r\n timestamp: string;\r\n}\r\n","export class JFile {\r\n bytes: string;\r\n name: string;\r\n type: string;\r\n}\r\n","import { WorkOrderType, Configuration, WorkHoliday } from \"../types\";\r\nimport { DateTime } from 'luxon';\r\n\r\nfunction adjustHoliday(finishDate: Date, holidays: WorkHoliday[]) {\r\n while (holidays.map(h => new Date(h.holiday)).findIndex(h => DateTime.fromJSDate(h) === DateTime.fromJSDate(finishDate)) !== -1) {\r\n do {\r\n finishDate = DateTime.fromJSDate(finishDate).plus({ days: 1 }).toJSDate();\r\n } while (finishDate.getDay() === 0 || finishDate.getDay() === 6)\r\n }\r\n return finishDate;\r\n}\r\n\r\nexport function calculateFinishDate(receivedDate: Date, workOrderType: WorkOrderType, configs: Configuration, holidays: WorkHoliday[]): Date {\r\n if (!receivedDate) {\r\n return null;\r\n }\r\n let finishDate = DateTime.fromJSDate(receivedDate).startOf(\"day\");\r\n if (workOrderType === WorkOrderType.Warranty) {\r\n finishDate = finishDate.plus({ weeks: configs.warrantyWeeks});\r\n }\r\n else if (workOrderType === WorkOrderType.Expedited) {\r\n finishDate = finishDate.plus({ weeks: configs.expeditedWeeks });\r\n }\r\n else if (workOrderType === WorkOrderType.NewInBox) {\r\n finishDate = finishDate.plus({ weeks: configs.newInBoxWeeks });\r\n }\r\n else {\r\n finishDate = finishDate.plus({ weeks: configs.standardWeeks });\r\n }\r\n\r\n return adjustHoliday(finishDate.toJSDate(), holidays);\r\n}\r\n\r\n\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Customer } from '../types/customer';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomerService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/customers';\r\n }\r\n\r\n readCustomers(includeInactive = false, filter: string = null): Observable<Customer[]> {\r\n const params = {};\r\n\r\n if (includeInactive) {\r\n params['includeInactive'] = includeInactive.toString();\r\n }\r\n if (filter) {\r\n params['filter'] = filter;\r\n }\r\n return this.http.get<Customer[]>(this.url, {\r\n params: params\r\n });\r\n }\r\n\r\n readCustomer(id: number): Observable<Customer> {\r\n return this.http.get<Customer>(`${this.url}/${id}`);\r\n }\r\n\r\n createCustomer(customer: Customer): Observable<Customer> {\r\n return this.http.post<Customer>(this.url, customer);\r\n }\r\n\r\n updateCustomer(id: number, customer: Customer): Observable<Customer> {\r\n return this.http.put<Customer>(`${this.url}/${id}`, customer);\r\n }\r\n\r\n deleteCustomer(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Firearm } from '../types/firearm';\r\nimport { Observable } from 'rxjs';\r\nimport { FirearmSeries, Material } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FirearmService {\r\n private url: string; \r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/firearms';\r\n }\r\n\r\n readFirearms(includeInactive = false): Observable<Firearm[]> {\r\n return this.http.get<Firearm[]>(this.url, {\r\n params: {\r\n includeInactive: includeInactive.toString()\r\n }\r\n });\r\n }\r\n\r\n readFirearm(firearmId: number): Observable<Firearm> {\r\n return this.http.get<Firearm>(`${this.url}/${firearmId}`);\r\n }\r\n\r\n createFirearm(firearm: Firearm): Observable<Firearm> {\r\n return this.http.post<Firearm>(this.url, firearm);\r\n }\r\n\r\n updateFirearm(firearmId: number, firearm: Firearm): Observable<Firearm> {\r\n return this.http.put<Firearm>(`${this.url}/${firearmId}`, firearm);\r\n }\r\n\r\n deleteFirearm(firearmId: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${firearmId}`);\r\n }\r\n\r\n readFirearmSeries(firearmId: number): Observable<FirearmSeries> {\r\n return this.http.get<FirearmSeries>(`${this.url}/${firearmId}/series`);\r\n }\r\n\r\n readFirearmMaterial(firearmId: number): Observable<Material> {\r\n return this.http.get<Material>(`${this.url}/${firearmId}/material`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Coating, GunPart } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GunPartService {\r\n private url: string; \r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/gun-parts';\r\n }\r\n\r\n readGunParts(includeInactive = false, gunsmith: boolean = null, customer: boolean = null): Observable<GunPart[]> {\r\n const params = {\r\n includeInactive: includeInactive.toString()\r\n };\r\n\r\n if (gunsmith !== null) {\r\n params['gunsmith'] = gunsmith.toString();\r\n }\r\n\r\n if (customer !== null) {\r\n params['customer'] = customer.toString();\r\n }\r\n\r\n return this.http.get<GunPart[]>(this.url, {\r\n params: params\r\n });\r\n }\r\n\r\n readGunPart(id: number): Observable<GunPart> {\r\n return this.http.get<GunPart>(`${this.url}/${id}`);\r\n }\r\n\r\n createGunPart(gunPart: GunPart): Observable<GunPart> {\r\n return this.http.post<GunPart>(this.url, gunPart);\r\n }\r\n\r\n updateGunPart(id: number, gunPart: GunPart): Observable<GunPart> {\r\n return this.http.put<GunPart>(`${this.url}/${id}`, gunPart);\r\n }\r\n\r\n deleteGunPart(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n\r\n readPartCoatings(id: number): Observable<Coating[]> {\r\n return this.http.get<Coating[]>(`${this.url}/${id}/coatings`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { State } from '../types/state';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StateService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/states';\r\n }\r\n\r\n getStates(): Observable<State[]> {\r\n return this.http.get<State[]>(this.url);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Vendor } from '../types/vendor';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VendorService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/vendors';\r\n }\r\n\r\n readVendors(includeInactive: boolean = false): Observable<Vendor[]> {\r\n return this.http.get<Vendor[]>(this.url, {\r\n params: {\r\n includeInactive: includeInactive.toString()\r\n }\r\n });\r\n }\r\n\r\n readVendor(id: number): Observable<Vendor> {\r\n return this.http.get<Vendor>(`${this.url}/${id}`);\r\n }\r\n\r\n createVendor(Vendor: Vendor): Observable<Vendor> {\r\n return this.http.post<Vendor>(this.url, Vendor);\r\n }\r\n\r\n updateVendor(id: number, Vendor: Vendor): Observable<Vendor> {\r\n return this.http.put<Vendor>(`${this.url}/${id}`, Vendor);\r\n }\r\n\r\n deleteVendor(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Total } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TotalsService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/';\r\n }\r\n\r\n readTotals(startDate: Date, endDate: Date, groupBy: number):Observable<Total[]> {\r\n return this.http.get<Total[]>(this.url + 'work-orders/totals', {\r\n params: {\r\n startDate: startDate.toUTCString(),\r\n endDate: endDate.toUTCString(),\r\n groupBy: groupBy.toString()\r\n }\r\n });\r\n }\r\n\r\n readMillingTotals(startDate: Date, endDate: Date, groupBy: number): Observable<Total[]> {\r\n return this.http.get<Total[]>(this.url + 'milling-totals', {\r\n params: {\r\n startDate: startDate.toUTCString(),\r\n endDate: endDate.toUTCString(),\r\n groupBy: groupBy.toString()\r\n }\r\n })\r\n }\r\n\r\n readRefinishTotals(startDate: Date, endDate: Date, groupBy: number): Observable<Total[]> {\r\n return this.http.get<Total[]>(this.url + 'refinish-totals', {\r\n params: {\r\n startDate: startDate.toUTCString(),\r\n endDate: endDate.toUTCString(),\r\n groupBy: groupBy.toString()\r\n }\r\n })\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { WorkHoliday } from '../types/work-holiday';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WorkHolidayService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/holidays';\r\n }\r\n\r\n readHolidays(): Observable<WorkHoliday[]> {\r\n return this.http.get<WorkHoliday[]>(this.url);\r\n }\r\n\r\n createHoliday(holiday: WorkHoliday): Observable<WorkHoliday> {\r\n return this.http.post<WorkHoliday>(this.url, holiday);\r\n }\r\n\r\n deleteHoliday(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { WorkOrderStatus } from '../types/work-order-status';\r\nimport { WorkOrder, WorkOrderType, WorkChangeOrder, ReportMillingItem, ProjectType, ReportRefinishItem, WorkOrderRefinishItem, MillingItem } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WorkOrderService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/work-orders';\r\n }\r\n\r\n doWorkOrderAction(id: number, actionId: number): Observable<WorkOrder> {\r\n return this.http.get<WorkOrder>(`${this.url}/${id}/actions/${actionId}`);\r\n }\r\n\r\n readWorkOrders(\r\n statuses: WorkOrderStatus[] = null,\r\n id: number = null,\r\n customerName: string = null,\r\n customerEmail: string = null,\r\n serialNumber: string = null,\r\n orderTypes: WorkOrderType[] = null,\r\n projectTypes: ProjectType[] = null,\r\n users: string[] = null,\r\n specialOrder: boolean = null): Observable<WorkOrder[]> {\r\n\r\n const params = {};\r\n\r\n if (statuses) {\r\n params['statuses'] = statuses.map(status => status.toString());\r\n }\r\n\r\n if (id) {\r\n params['id'] = id.toString();\r\n }\r\n\r\n if (customerName) {\r\n params['customerName'] = customerName;\r\n }\r\n\r\n if (customerEmail) {\r\n params['customerEmail'] = customerEmail;\r\n }\r\n\r\n if (serialNumber) {\r\n params['serialNumber'] = serialNumber;\r\n }\r\n\r\n if (orderTypes !== null) {\r\n params['orderTypes'] = orderTypes.map(type => type.toString());\r\n }\r\n\r\n if (projectTypes) {\r\n params['projectTypes'] = projectTypes.map(t => t.toString());\r\n }\r\n\r\n if (users) {\r\n params['users'] = users;\r\n }\r\n\r\n if (specialOrder) {\r\n params['specialOrder'] = specialOrder.toString()\r\n }\r\n\r\n return this.http.get<WorkOrder[]>(this.url, {\r\n params: params\r\n });\r\n }\r\n\r\n readWorkOrder(workOrderId: number): Observable<WorkOrder> {\r\n return this.http.get<WorkOrder>(`${this.url}/${workOrderId}`);\r\n }\r\n\r\n createWorkOrder(workOrder: WorkOrder): Observable<WorkOrder> {\r\n return this.http.post<WorkOrder>(this.url, workOrder);\r\n }\r\n\r\n updateWorkOrder(workOrderId: number, workOrder: WorkOrder): Observable<WorkOrder> {\r\n return this.http.put<WorkOrder>(`${this.url}/${workOrderId}`, workOrder);\r\n }\r\n\r\n deleteWorkOrder(workOrderId: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${workOrderId}`);\r\n }\r\n\r\n recalcWorkDates() {\r\n return this.http.get(`${this.url}/recalc-dates`);\r\n }\r\n\r\n // Change Orders\r\n\r\n readChangeOrders(workOrderId: number): Observable<WorkChangeOrder[]> {\r\n return this.http.get<WorkChangeOrder[]>(`${this.url}/${workOrderId}/change-orders`);\r\n }\r\n\r\n readChangeOrder(workOrderId: number, changeOrderId: number): Observable<WorkChangeOrder> {\r\n return this.http.get<WorkChangeOrder>(`${this.url}/${workOrderId}/change-orders/${changeOrderId}`);\r\n }\r\n\r\n createChangeOrder(workOrderId: number, changeOrder: WorkChangeOrder): Observable<WorkChangeOrder> {\r\n return this.http.post<WorkChangeOrder>(`${this.url}/${workOrderId}/change-orders`, changeOrder);\r\n }\r\n\r\n updateChangeOrder(workOrderId: number, changeOrderId: number, changeOrder: WorkChangeOrder): Observable<WorkChangeOrder> {\r\n return this.http.put<WorkChangeOrder>(`${this.url}/${workOrderId}/change-orders/${changeOrderId}`, changeOrder);\r\n }\r\n\r\n deleteChangeOrder(workOrderId: number, changeOrderId: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${workOrderId}/change-orders/${changeOrderId}`);\r\n }\r\n\r\n confirmChangeOrder(token: string): Observable<void> {\r\n return this.http.get<void>(`${this.env.baseUrl}api/change-orders/customer`, {\r\n params: {\r\n token: token\r\n }\r\n });\r\n }\r\n\r\n cancelChangeOrder(token: string): Observable<any> {\r\n return this.http.delete(`${this.env.baseUrl}api/change-orders/customer`, {\r\n params: {\r\n token: token\r\n }\r\n });\r\n }\r\n\r\n // Checklist\r\n\r\n createChecklists(workOrderId: number, refinishItemIds: number[]): Observable<Blob> {\r\n return this.http.get<Blob>(`${this.url}/${workOrderId}/refinish-items/` + refinishItemIds.join(',') + '/pdfs',\r\n { responseType: \"blob\" as \"json\"});\r\n }\r\n\r\n // Refinish Items\r\n\r\n readRefinishItems(workOrderId: number): Observable<WorkOrderRefinishItem[]> {\r\n return this.http.get<WorkOrderRefinishItem[]>(`${this.url}/${workOrderId}/refinish-items`);\r\n }\r\n\r\n readRefinishItemCollection(workOrderId: number, itemIds: number[]): Observable<WorkOrderRefinishItem[]> {\r\n return this.http.get<WorkOrderRefinishItem[]>(`${this.url}/${workOrderId}/refinish-items/collection/${itemIds.join(',')}`)\r\n }\r\n\r\n readRefinishItem(workOrderId: number, refinishItemId: number): Observable<WorkOrderRefinishItem> {\r\n return this.http.get<WorkOrderRefinishItem>(`${this.url}/${workOrderId}/refinish-items/${refinishItemId}`);\r\n }\r\n\r\n createRefinishItems(workOrderId: number, refinishItems: WorkOrderRefinishItem[]): Observable<WorkOrderRefinishItem[]> {\r\n return this.http.post<WorkOrderRefinishItem[]>(`${this.url}/${workOrderId}/refinish-items/collection`, refinishItems);\r\n }\r\n\r\n updateRefinishItem(workOrderId: number, refinishItemId: number, refinishItem: WorkOrderRefinishItem): Observable<WorkOrderRefinishItem> {\r\n return this.http.put<WorkOrderRefinishItem>(`${this.url}/${workOrderId}/refinish-items/${refinishItemId}`, refinishItem);\r\n }\r\n\r\n deleteRefinishItem(workOrderId: number, refinishItemId: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${workOrderId}/refinish-items/${refinishItemId}`);\r\n }\r\n\r\n // Milling Items\r\n\r\n readMillingItems(workOrderId: number): Observable<MillingItem[]> {\r\n return this.http.get<MillingItem[]>(`${this.url}/${workOrderId}/milling-items`);\r\n }\r\n\r\n readMillingItem(workOrderId: number, millingItemId: number): Observable<MillingItem> {\r\n return this.http.get<MillingItem>(`${this.url}/${workOrderId}/milling-items/${millingItemId}`);\r\n }\r\n\r\n createMillingItem(workOrderId: number, millingItem: MillingItem): Observable<MillingItem> {\r\n return this.http.post<MillingItem>(`${this.url}/${workOrderId}/milling-items`, millingItem);\r\n }\r\n\r\n updateMillingItem(workOrderId: number, millingItemId: number, millingItem: MillingItem): Observable<MillingItem> {\r\n return this.http.put<MillingItem>(`${this.url}/${workOrderId}/milling-items/${millingItemId}`, millingItem);\r\n }\r\n\r\n deleteMillingItem(workOrderId: number, millingItemId: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${workOrderId}/milling-items/${millingItemId}`);\r\n }\r\n\r\n // Report Items\r\n\r\n readReportMillingItems(): Observable<ReportMillingItem[]> {\r\n return this.http.get<ReportMillingItem[]>(`${this.env.baseUrl}api/report-milling-items`);\r\n }\r\n\r\n readReportRefinishItems(): Observable<ReportRefinishItem[]> {\r\n return this.http.get<ReportRefinishItem[]>(`${this.env.baseUrl}api/report-refinish-items`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Dealer } from '../types/dealer';\r\nimport { DealerCoupon } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DealerService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env:any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/dealers';\r\n }\r\n\r\n readDealers(includeInactive: boolean = false): Observable<Dealer[]> {\r\n return this.http.get<Dealer[]>(this.url, {\r\n params: {\r\n includeInactive: includeInactive.toString()\r\n }\r\n });\r\n }\r\n\r\n readDealer(id: number): Observable<Dealer> {\r\n return this.http.get<Dealer>(`${this.url}/${id}`);\r\n }\r\n\r\n createDealer(dealer: Dealer): Observable<Dealer> {\r\n return this.http.post<Dealer>(this.url, dealer);\r\n }\r\n\r\n updateDealer(id: number, dealer: Dealer): Observable<Dealer> {\r\n return this.http.put<Dealer>(`${this.url}/${id}`, dealer);\r\n }\r\n\r\n deleteDealer(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n\r\n updateDealerCoupon(dealerId: number, couponId: number, dealerCoupon: DealerCoupon): Observable<Dealer> {\r\n return this.http.put<Dealer>(`${this.url}/${dealerId}/coupons/${couponId}`, dealerCoupon);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileUploadService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/uploads';\r\n }\r\n\r\n deleteFile(fileName: string):Observable<any> {\r\n return this.http.delete(`${this.url}/${fileName}`);\r\n }\r\n\r\n saveFile(file: File) {\r\n const formData = new FormData();\r\n formData.append('fileKey', file, file.name);\r\n return this.http.post<string>(this.url, formData, {responseType: \"text\" as 'json' });\r\n }\r\n\r\n retrieveFile(fileName: string): Observable<File> {\r\n return this.http.get(`${this.url}/${fileName}`, { responseType: 'blob'})\r\n .pipe<File>(\r\n switchMap((response: Blob) => {\r\n return of(new File([response], fileName, { type: response.type }));\r\n })\r\n )\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ProjectType, WaitlistGun, WaitlistItem, WaitlistStatus, WorkOrderType } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WaitlistService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/waitlist-items';\r\n }\r\n\r\n retrieveWaitlistItems(statuses: WaitlistStatus[] = null,\r\n id: number = null,\r\n customerName: string = null,\r\n customerEmail: string = null,\r\n serialNumber: string = null,\r\n workOrderTypes: WorkOrderType[] = null,\r\n projectTypes: ProjectType[] = null): Observable<WaitlistItem[]> {\r\n const params = {};\r\n\r\n if (statuses) {\r\n params['statuses'] = statuses.map(status => status.toString());\r\n }\r\n\r\n if (id) {\r\n params['id'] = id.toString();\r\n }\r\n\r\n if (customerName) {\r\n params['customerName'] = customerName;\r\n }\r\n\r\n if (customerEmail) {\r\n params['customerEmail'] = customerEmail;\r\n }\r\n\r\n if (serialNumber) {\r\n params['serialNumber'] = serialNumber;\r\n }\r\n\r\n if (workOrderTypes) {\r\n params['workOrderTypes'] = workOrderTypes.map(t => t.toString());\r\n }\r\n\r\n if (projectTypes) {\r\n params['projectTypes'] = projectTypes.map(t => t.toString());\r\n }\r\n\r\n return this.http.get<WaitlistItem[]>(this.url, {\r\n params: params\r\n });\r\n }\r\n\r\n retrieveWaitlistItem(id: number): Observable<WaitlistItem> {\r\n return this.http.get<WaitlistItem>(`${this.url}/${id}`);\r\n }\r\n\r\n createWaitlistItem(waitlistItem: WaitlistItem): Observable<WaitlistItem> {\r\n return this.http.post<WaitlistItem>(this.url, waitlistItem);\r\n }\r\n\r\n updateWaitlistItem(id: number, waitlistItem: WaitlistItem): Observable<WaitlistItem> {\r\n return this.http.put<WaitlistItem>(`${this.url}/${id}`, waitlistItem);\r\n }\r\n\r\n deleteWaitlistItem(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n\r\n doWaitlistAction(id: number, actionId: number): Observable<WaitlistItem> {\r\n return this.http.get<WaitlistItem>(`${this.url}/${id}/actions/${actionId}`);\r\n }\r\n\r\n retrieveProjectPdf(id: number, projectId: number): Observable<Blob> {\r\n return this.http.get<Blob>(`${this.url}/${id}/projects/${projectId}/pdf`, { responseType: \"blob\" as 'json' });\r\n }\r\n\r\n retrieveProjects(waitlistId: number): Observable<WaitlistGun[]> {\r\n return this.http.get<WaitlistGun[]>(`${this.url}/${waitlistId}/projects`);\r\n }\r\n\r\n retrieveProject(waitlistId: number, projectId: number): Observable<WaitlistGun> {\r\n return this.http.get<WaitlistGun>(`${this.url}/${waitlistId}/projects/${projectId}`);\r\n }\r\n\r\n createProject(waitlistId: number, project: WaitlistGun): Observable<WaitlistGun> {\r\n return this.http.post<WaitlistGun>(`${this.url}/${waitlistId}/projects`, project);\r\n }\r\n\r\n updateProject(waitlistId: number, projectId: number, project: WaitlistGun): Observable<WaitlistGun> {\r\n return this.http.put<WaitlistGun>(`${this.url}/${waitlistId}/projects/${projectId}`, project);\r\n }\r\n\r\n deleteProject(waitlistId: number, projectId: number): Observable<void> {\r\n return this.http.delete<void>(`${this.url}/${waitlistId}/projects/${projectId}`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Configuration } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigurationService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/configs';\r\n }\r\n\r\n readConfigs(): Observable<Configuration> {\r\n return this.http.get<Configuration>(this.url);\r\n }\r\n\r\n updateConfigs(configuration: Configuration) {\r\n return this.http.put<Configuration>(`${this.url}/1`, configuration);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { WaitlistItem } from '../types/waitlist-item';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WaitlistCustomerService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/waitlist-items/customer';\r\n }\r\n\r\n readWaitlistItem(token: string): Observable<WaitlistItem> {\r\n return this.http.get<WaitlistItem>(this.url, {\r\n params: { token: token }\r\n });\r\n }\r\n\r\n updateWaitlistItem(token: string, waitlistItem: WaitlistItem): Observable<WaitlistItem> {\r\n return this.http.put<WaitlistItem>(`${this.url}/${waitlistItem.id}`, waitlistItem, {\r\n params: { token: token }\r\n });\r\n }\r\n\r\n cancelWaitlistItem(token: string):Observable<void> {\r\n return this.http.delete<void>(`${this.url}`, {\r\n params: { token: token }\r\n });\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Optic } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OpticService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/optics';\r\n }\r\n\r\n readOptics(includeInactive = false): Observable<Optic[]> {\r\n return this.http.get<Optic[]>(this.url, {\r\n params: {\r\n includeInactive: includeInactive.toString()\r\n }\r\n });\r\n }\r\n\r\n readOptic(opticId: number): Observable<Optic> {\r\n return this.http.get<Optic>(`${this.url}/${opticId}`);\r\n }\r\n\r\n createOptic(optic: Optic): Observable<Optic> {\r\n return this.http.post<Optic>(this.url, optic);\r\n }\r\n\r\n updateOptic(opticId: number, optic: Optic): Observable<Optic> {\r\n return this.http.put<Optic>(`${this.url}/${opticId}`, optic);\r\n }\r\n\r\n deleteOptic(opticId: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${opticId}`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Product } from '../types';\r\nimport { BundleItem } from '../types/bundle-item';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/products';\r\n }\r\n\r\n readProducts(sku: string): Observable<Product[]> {\r\n return this.http.get<Product[]>(this.url, { params: { sku: sku } });\r\n }\r\n\r\n readProductBundleItems(id: number): Observable<BundleItem[]> {\r\n return this.http.get<BundleItem[]>(`${this.url}/${id}/bundle-items`);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { FirearmSeries, FirearmSeriesOptic } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FirearmSeriesService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/firearm-serieses'\r\n }\r\n\r\n readSerieses(includeInactive = false): Observable<FirearmSeries[]> {\r\n return this.http.get<FirearmSeries[]>(this.url, {\r\n params: {\r\n includeInactive: includeInactive.toString()\r\n }\r\n })\r\n }\r\n\r\n readSeries(firearmSeriesId: number): Observable<FirearmSeries> {\r\n return this.http.get<FirearmSeries>(`${this.url}/${firearmSeriesId}`);\r\n }\r\n\r\n createSeries(firearmSeries: FirearmSeries): Observable<FirearmSeries> {\r\n return this.http.post<FirearmSeries>(this.url, firearmSeries);\r\n }\r\n\r\n updateSeries(firearmSeriesId: number, firearmSeries: FirearmSeries): Observable<FirearmSeries> {\r\n return this.http.put<FirearmSeries>(`${this.url}/${firearmSeriesId}`, firearmSeries);\r\n }\r\n\r\n deleteSeries(firearmSeriesId: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${firearmSeriesId}`);\r\n }\r\n\r\n readSeriesOptics(firearmSeriesId: number): Observable<FirearmSeriesOptic[]> {\r\n return this.http.get<FirearmSeriesOptic[]>(`${this.url}/${firearmSeriesId}/optics`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { MillingType } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MillingTypeService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/milling-types';\r\n }\r\n\r\n readMillingTypes(includeInactive = false): Observable<MillingType[]> {\r\n const params = {}\r\n\r\n if (includeInactive) {\r\n params['includeInactive'] = includeInactive.toString();\r\n }\r\n\r\n return this.http.get<MillingType[]>(this.url, {\r\n params: params\r\n })\r\n }\r\n\r\n readMillingType(id: number): Observable<MillingType> {\r\n return this.http.get<MillingType>(`${this.url}/${id}`);\r\n }\r\n\r\n createMillingType(millingType: MillingType): Observable<MillingType> {\r\n return this.http.post<MillingType>(this.url, millingType);\r\n }\r\n\r\n updateMillingType(id: number, millingType: MillingType): Observable<MillingType> {\r\n return this.http.put<MillingType>(`${this.url}/${id}`, millingType);\r\n }\r\n\r\n deleteMillingType(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CosmeticMilling } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CosmeticMillingService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/cosmetic-millings';\r\n }\r\n\r\n readCosmeticMillings(includeInactive = false): Observable<CosmeticMilling[]> {\r\n return this.http.get<CosmeticMilling[]>(this.url, {\r\n params: {\r\n includeInactive: includeInactive.toString()\r\n }\r\n })\r\n }\r\n\r\n readCosmeticMilling(id: number): Observable<CosmeticMilling> {\r\n return this.http.get<CosmeticMilling>(`${this.url}/${id}`);\r\n }\r\n\r\n createCosmeticMilling(cosmeticMilling: CosmeticMilling): Observable<CosmeticMilling> {\r\n return this.http.post<CosmeticMilling>(this.url, cosmeticMilling);\r\n }\r\n\r\n updateCosmeticMilling(id: number, cosmeticMilling: CosmeticMilling): Observable<CosmeticMilling> {\r\n return this.http.put<CosmeticMilling>(`${this.url}/${id}`, cosmeticMilling);\r\n }\r\n\r\n deleteCosmeticMilling(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Coating, CoatingValue } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CoatingService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/coatings';\r\n }\r\n\r\n readCoatings(includeInactive = false): Observable<Coating[]> {\r\n const params = {\r\n includeInactive: includeInactive.toString()\r\n };\r\n\r\n return this.http.get<Coating[]>(this.url, {\r\n params: params\r\n })\r\n }\r\n\r\n readCoating(id: number): Observable<Coating> {\r\n return this.http.get<Coating>(`${this.url}/${id}`);\r\n }\r\n\r\n createCoating(coating: Coating): Observable<Coating> {\r\n return this.http.post<Coating>(this.url, coating);\r\n }\r\n\r\n updateCoating(id: number, coating: Coating): Observable<Coating> {\r\n return this.http.put<Coating>(`${this.url}/${id}`, coating);\r\n }\r\n\r\n deleteCoating(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n\r\n // Coating Values\r\n\r\n readCoatingValues(coatingId: number, includeInactive = false): Observable<CoatingValue[]> {\r\n return this.http.get<CoatingValue[]>(`${this.url}/${coatingId}/coating-values`, {\r\n params: {\r\n includeInactive: includeInactive.toString()\r\n }\r\n })\r\n }\r\n\r\n readCoatingValue(coatingId: number, coatingValueId: number): Observable<CoatingValue> {\r\n return this.http.get<CoatingValue>(`${this.url}/${coatingId}/coating-values/${coatingValueId}`);\r\n }\r\n\r\n createCoatingValue(coatingId: number, coatingValue: CoatingValue): Observable<CoatingValue> {\r\n return this.http.post<CoatingValue>(`${this.url}/${coatingId}/coating-values`, coatingValue);\r\n }\r\n\r\n updateCoatingValue(coatingId: number, coatingValueId: number, coatingValue: CoatingValue): Observable<CoatingValue> {\r\n return this.http.put<CoatingValue>(`${this.url}/${coatingId}/coating-values/${coatingValueId}`, coatingValue);\r\n }\r\n\r\n deleteCoatingValue(coatingId: number, coatingValueId: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${coatingId}/coating-values/${coatingValueId}`);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Material } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MaterialService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/materials';\r\n }\r\n\r\n readMaterials(includeInactive = false): Observable<Material[]> {\r\n return this.http.get<Material[]>(this.url, {\r\n params: {\r\n includeInactive: includeInactive.toString()\r\n }\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { PurchaseOrder, PurchaseOrderRefinishItem, PurchaseOrderStatus } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PurchaseOrderService {\r\n private url: string;\r\n\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/purchase-orders';\r\n }\r\n\r\n readPurchaseOrders(statuses: PurchaseOrderStatus[] = null,\r\n id: number = null,\r\n date: Date = null,\r\n vendorId: number = null,\r\n serialNumber: string = null\r\n ): Observable<PurchaseOrder[]> {\r\n const params = {};\r\n\r\n if (statuses) {\r\n params['statuses'] = statuses.map(s => s.toString());\r\n }\r\n\r\n if (id) {\r\n params['id'] = id;\r\n }\r\n\r\n if (date) {\r\n params['date'] = date.toUTCString();\r\n }\r\n\r\n if (vendorId) {\r\n params['vendorId'] = vendorId;\r\n }\r\n\r\n if (serialNumber) {\r\n params['serialNumber'] = serialNumber;\r\n }\r\n\r\n return this.http.get<PurchaseOrder[]>(this.url, {\r\n params: params\r\n });\r\n }\r\n\r\n readPurchaseOrder(id: number): Observable<PurchaseOrder> {\r\n return this.http.get<PurchaseOrder>(`${this.url}/${id}`);\r\n }\r\n\r\n createPurchaseOrder(purchaseOrder: PurchaseOrder): Observable<PurchaseOrder> {\r\n return this.http.post<PurchaseOrder>(this.url, purchaseOrder);\r\n }\r\n\r\n updatePurchaseOrder(id: number, purchaseOrder: PurchaseOrder): Observable<PurchaseOrder> {\r\n return this.http.put<PurchaseOrder>(`${this.url}/${id}`, purchaseOrder);\r\n }\r\n\r\n deletePurchaseOrder(id: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${id}`);\r\n }\r\n\r\n getRefinishItems(): Observable<PurchaseOrderRefinishItem[]> {\r\n return this.http.get<PurchaseOrderRefinishItem[]>(`${this.env.baseUrl}api/purchase-order-refinish-items`);\r\n }\r\n\r\n // Refinish Items\r\n\r\n readRefinishItemCollection(purchaseOrderId: number, itemIds: number[]): Observable<PurchaseOrderRefinishItem[]> {\r\n return this.http.get<PurchaseOrderRefinishItem[]>(`${this.url}/${purchaseOrderId}/refinish-items/collection/${itemIds.join(',')}`)\r\n }\r\n\r\n readRefinishItem(purchaseOrderId: number, refinishItemId: number): Observable<PurchaseOrderRefinishItem> {\r\n return this.http.get<PurchaseOrderRefinishItem>(`${this.url}/${purchaseOrderId}/refinish-items/${refinishItemId}`);\r\n }\r\n\r\n createRefinishItem(purchaseOrderId: number, refinishItem: PurchaseOrderRefinishItem): Observable<PurchaseOrderRefinishItem> {\r\n return this.http.post<PurchaseOrderRefinishItem>(`${this.url}/${purchaseOrderId}/refinish-items`, refinishItem);\r\n }\r\n\r\n createRefinishItemCollection(purchaseOrderId: number, refinishItems: PurchaseOrderRefinishItem[]): Observable<PurchaseOrderRefinishItem[]> {\r\n return this.http.post<PurchaseOrderRefinishItem[]>(`${this.url}/${purchaseOrderId}/refinish-items/collection`, refinishItems);\r\n }\r\n\r\n updateRefinishItem(purchaseOrderId: number, refinishItemId: number, refinishItem: PurchaseOrderRefinishItem): Observable<PurchaseOrderRefinishItem> {\r\n return this.http.put<PurchaseOrderRefinishItem>(`${this.url}/${purchaseOrderId}/refinish-items/${refinishItemId}`, refinishItem);\r\n }\r\n\r\n updateRefinishItemCollection(purchaseOrderId: number, itemIds: number[], refinishItems: PurchaseOrderRefinishItem[]): Observable<PurchaseOrderRefinishItem[]> {\r\n return this.http.put<PurchaseOrderRefinishItem[]>(`${this.url}/${purchaseOrderId}/refinish-items/collection/${itemIds.join(',')}`, refinishItems);\r\n }\r\n\r\n deleteRefinishItem(purchaseOrderId: number, refinishItemId: number): Observable<any> {\r\n return this.http.delete(`${this.url}/${purchaseOrderId}/refinish-items/${refinishItemId}`);\r\n }\r\n\r\n getPdf(purchaseOrderId: number): Observable<Blob> {\r\n return this.http.get<Blob>(`${this.url}/${purchaseOrderId}/pdf`, { responseType: \"blob\" as \"json\" });\r\n }\r\n\r\n getBatf(purchaseOrderId: number): Observable<Blob> {\r\n return this.http.get<Blob>(`${this.url}/${purchaseOrderId}/batf`, { responseType: \"blob\" as \"json\" });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/users';\r\n }\r\n\r\n readUsers(): Observable<string[]> {\r\n return this.http.get<string[]>(this.url);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { MillingDetail, RefinishDetail } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WaitlistProjectService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/waitlist-projects';\r\n }\r\n\r\n readRefinishDetails(projectId: number): Observable<RefinishDetail[]> {\r\n return this.http.get<RefinishDetail[]>(`${this.url}/${projectId}/refinish-details`);\r\n }\r\n\r\n updateRefinishDetails(projectId: number, details: RefinishDetail[]): Observable<RefinishDetail[]> {\r\n return this.http.put<RefinishDetail[]>(`${this.url}/${projectId}/refinish-details`, details);\r\n }\r\n\r\n readMillingDetail(projectId: number): Observable<MillingDetail> {\r\n return this.http.get<MillingDetail>(`${this.url}/${projectId}/milling-details`)\r\n }\r\n\r\n createMillingDetail(projectId: number, detail: MillingDetail): Observable<MillingDetail> {\r\n return this.http.post<MillingDetail>(`${this.url}/${projectId}/milling-details`, detail);\r\n }\r\n\r\n updateMillingDetail(projectId: number, detailId: number, detail: MillingDetail): Observable<MillingDetail> {\r\n return this.http.put<MillingDetail>(`${this.url}/${projectId}/milling-details/${detailId}`, detail);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { InventoryItem } from '../types';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InventoryService {\r\n private url: string;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n @Inject('env') private env: any\r\n ) {\r\n this.url = this.env.baseUrl + 'api/inventory-items';\r\n }\r\n\r\n readInventoryItems(includeInactive: boolean = false, search: string = null): Observable<InventoryItem[]> {\r\n const params = {\r\n includeInactive: includeInactive.toString()\r\n }\r\n\r\n if (search !== null) {\r\n params['search'] = search\r\n }\r\n\r\n return this.http.get<InventoryItem[]>(this.url, { params: params });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'phone'\r\n})\r\nexport class PhonePipe implements PipeTransform {\r\n\r\n transform(value: string, args?: any): any {\r\n if (value && value.length >= 10) {\r\n return `(${value.slice(0, 3)}) ${value.slice(3, 6)}-${value.slice(6)}`;\r\n }\r\n return '';\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'fileName'\r\n})\r\nexport class FileNamePipe implements PipeTransform {\r\n\r\n transform(value: string, args?: any): string {\r\n return value.replace(/(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}-/, '');\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'enum'\r\n})\r\nexport class EnumPipe implements PipeTransform {\r\n\r\n transform(value: string, args?: any): any {\r\n return value.replace(/([A-Z])/g, ' $1').trim();\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'newLine'\r\n})\r\nexport class NewLinePipe implements PipeTransform {\r\n\r\n transform(value: string, args?: any): any {\r\n return value ? value.replace(/(?:\\r\\n|\\r|\\n)/g, '<br>') : '';\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'frameMaterial'\r\n})\r\nexport class FrameMaterialPipe implements PipeTransform {\r\n frameMaterial = [\r\n { id: 0, name: 'All' },\r\n { id: 1, name: 'Polymer' },\r\n { id: 2, name: 'Aluminum' },\r\n { id: 3, name: 'Steel' },\r\n ]\r\n\r\n transform(value: number, args?: any): any {\r\n return this.frameMaterial.find(fm => fm.id == value).name;\r\n }\r\n\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[disableControl]'\r\n})\r\nexport class DisableControlDirective {\r\n @Input() set disableControl(condition: boolean) {\r\n const action = condition ? 'disable' : 'enable';\r\n this.ngControl.control[action]();\r\n }\r\n\r\n\r\n constructor(private ngControl: NgControl) { }\r\n\r\n}\r\n","import { ValidatorFn, AbstractControl, FormArray, FormGroup } from \"@angular/forms\";\r\nimport { GunPart } from '../types';\r\n\r\nexport function coatingValueValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n if (!control.parent) {\r\n return null;\r\n }\r\n const coatingControl = control.parent.get('coating');\r\n if (!coatingControl) {\r\n return null;\r\n }\r\n const coating = coatingControl.value;\r\n return coating && coating.valueLabel && coating.coatingValues && coating.coatingValues.length &&\r\n !control.value ? { value: control.value } : null;\r\n }\r\n}\r\n\r\nexport function coatingDescriptionValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n if (!control.parent) {\r\n return null;\r\n }\r\n const coatingControl = control.parent.get('coating');\r\n if (!coatingControl) {\r\n return null;\r\n }\r\n const coating = coatingControl.value;\r\n return coating && coating.valueLabel && (!coating.coatingValues || !coating.coatingValues.length) &&\r\n !control.value ? { value: control.value } : null;\r\n }\r\n}\r\n\r\nexport function refinishDetailsValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const formArray = control as FormArray;\r\n let isValid = false;\r\n if (!formArray.controls.length) {\r\n isValid = true;\r\n }\r\n for (let i = 0; i < formArray.controls.length; i++) {\r\n const formGroup = formArray.controls[i] as FormGroup;\r\n if (formGroup.get('coating').value && formGroup.get('coating').value.id) {\r\n isValid = true;\r\n }\r\n }\r\n return !isValid ? { 'allNone': { value: true } } : null;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PhonePipe } from './pipes/phone.pipe';\r\nimport { FileNamePipe } from './pipes/file-name.pipe';\r\nimport { EnumPipe } from './pipes/enum.pipe';\r\nimport { DisableControlDirective } from './directives/disable-control.directive';\r\nimport { NewLinePipe } from './pipes/new-line.pipe';\r\nimport { FrameMaterialPipe } from './pipes/frame-material.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n PhonePipe,\r\n FileNamePipe,\r\n EnumPipe,\r\n DisableControlDirective,\r\n NewLinePipe,\r\n FrameMaterialPipe\r\n ],\r\n imports: [],\r\n exports: [\r\n PhonePipe,\r\n FileNamePipe,\r\n EnumPipe,\r\n NewLinePipe,\r\n DisableControlDirective,\r\n FrameMaterialPipe\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","import { trigger, animate, style, transition, AnimationTriggerMetadata } from '@angular/animations';\r\n\r\nexport const fadeOutAnimation: AnimationTriggerMetadata =\r\n trigger('fadeOutAnimation', [\r\n transition('true => void', [\r\n style({\r\n opacity: 1\r\n }),\r\n animate(\r\n '0.2s',\r\n style({ opacity: 0})\r\n ),\r\n ])\r\n ]);\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { NotificationType } from './notification-type.enum';\r\nimport { NotificationMessage } from './notification-message';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationService {\r\n private messageUpdatedSource = new Subject<NotificationMessage>();\r\n messageUpdated: Observable<NotificationMessage> = this.messageUpdatedSource.asObservable();\r\n\r\n constructor() { }\r\n\r\n addMessage(type: NotificationType, message: string) {\r\n this.messageUpdatedSource.next({ index: 0, type: type, message: message });\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NotificationService } from '../notification.service';\r\nimport { fadeOutAnimation } from '../fade-out.animation';\r\nimport { NotificationMessage } from '../notification-message'\r\n\r\n@Component({\r\n selector: 'app-notification-bar',\r\n templateUrl: './notification-bar.component.html',\r\n styleUrls: ['./notification-bar.component.scss'],\r\n animations: [fadeOutAnimation],\r\n})\r\nexport class NotificationBarComponent implements OnInit {\r\n\r\n messages: NotificationMessage[] = [];\r\n\r\n get viewMessages(): NotificationMessage[] {\r\n if (this.messages.length > 3) {\r\n return this.messages.slice(0).reverse().slice(0, 2);\r\n }\r\n return this.messages.slice(0).reverse();\r\n };\r\n\r\n constructor(private notificationService: NotificationService) { }\r\n\r\n ngOnInit() {\r\n this.notificationService.messageUpdated.subscribe(message => {\r\n this.messages.push(message);\r\n setTimeout(() => {\r\n this.messages.shift();\r\n }, 4000);\r\n })\r\n }\r\n\r\n getIconClass(message: NotificationMessage) {\r\n return {\r\n 'fa-exclamation-triangle': message.type == 1,\r\n 'fa-info-circle': message.type == 0,\r\n };\r\n }\r\n\r\n shouldFade() {\r\n return this.messages.length < 3;\r\n }\r\n\r\n}\r\n","<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ml-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NotificationBarComponent } from './notification-bar/notification-bar.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n NotificationBarComponent\r\n ],\r\n declarations: [\r\n NotificationBarComponent\r\n ]\r\n})\r\nexport class NotificationModule { }\r\n","export enum NotificationType {\r\n Info,\r\n Error\r\n}\r\n","/*\r\n * Public API Surface of gunsmith-common\r\n */\r\n\r\nexport * from './shared/utils';\r\nexport * from './shared/types';\r\nexport * from './shared/services';\r\nexport * from './shared/pipes';\r\nexport * from './shared/directives';\r\nexport * from './shared/shared.module';\r\nexport * from './notification/notification.module';\r\nexport * from './notification';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["GunCaliber","WaitlistAction","ProjectType","WaitlistStatus","WorkOrderType","WorkOrderStatus","WorkOrderAction","OpticStatus","ChangeOrderStatus","MountType","SightType","RearSightPosition","FrameMaterial","PurchaseOrderStatus","DateTime","Injectable","Inject","switchMap","of","Pipe","Directive","Input","NgModule","trigger","transition","style","animate","Subject","Component","CommonModule","NotificationType"],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { NotificationService } from '../notification.service';
|
|
3
|
-
import { fadeOutAnimation } from '../fade-out.animation';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../notification.service";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
export class NotificationBarComponent {
|
|
8
|
-
constructor(notificationService) {
|
|
9
|
-
this.notificationService = notificationService;
|
|
10
|
-
this.messages = [];
|
|
11
|
-
}
|
|
12
|
-
get viewMessages() {
|
|
13
|
-
if (this.messages.length > 3) {
|
|
14
|
-
return this.messages.slice(0).reverse().slice(0, 2);
|
|
15
|
-
}
|
|
16
|
-
return this.messages.slice(0).reverse();
|
|
17
|
-
}
|
|
18
|
-
;
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this.notificationService.messageUpdated.subscribe(message => {
|
|
21
|
-
this.messages.push(message);
|
|
22
|
-
setTimeout(() => {
|
|
23
|
-
this.messages.shift();
|
|
24
|
-
}, 4000);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
getIconClass(message) {
|
|
28
|
-
return {
|
|
29
|
-
'fa-exclamation-triangle': message.type == 1,
|
|
30
|
-
'fa-info-circle': message.type == 0,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
shouldFade() {
|
|
34
|
-
return this.messages.length < 3;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
NotificationBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: NotificationBarComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
NotificationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.2", type: NotificationBarComponent, selector: "app-notification-bar", ngImport: i0, template: "<div class=\"notification-bar\" *ngIf=\"messages.length\">\r\n <div *ngFor=\"let message of viewMessages\" class=\"notification-pill\" [class.error]=\"message.type == 1\" [@fadeOutAnimation]=\"shouldFade()\">\r\n <i class=\"fa\" [ngClass]=\"getIconClass(message)\"></i> <span class=\"ml-1\">{{message.message}}</span>\r\n </div>\r\n <div *ngIf=\"messages.length > 3\" class=\"notification-pill\">{{messages.length - 2}} more...</div>\r\n</div>\r\n", styles: [".notification-bar{position:fixed;top:0;left:0;right:0;z-index:10001;pointer-events:none}.notification-bar .notification-pill{max-width:300px;margin:10px auto;border-radius:20px;color:#2a2b4b;background:#f2f2f2;padding:8px;text-align:center;box-shadow:inset 0 2px 4px hsla(0,0%,100%,.5),inset 0 -2px 4px rgba(0,0,0,.9),0 2px 4px rgba(0,0,0,.5)}.notification-bar .error{color:#711e16!important;background:#f8d8d4!important}"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [fadeOutAnimation] });
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: NotificationBarComponent, decorators: [{
|
|
40
|
-
type: Component,
|
|
41
|
-
args: [{
|
|
42
|
-
selector: 'app-notification-bar',
|
|
43
|
-
templateUrl: './notification-bar.component.html',
|
|
44
|
-
styleUrls: ['./notification-bar.component.scss'],
|
|
45
|
-
animations: [fadeOutAnimation],
|
|
46
|
-
}]
|
|
47
|
-
}], ctorParameters: function () { return [{ type: i1.NotificationService }]; } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tYmFyL25vdGlmaWNhdGlvbi1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWJhci9ub3RpZmljYXRpb24tYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBU3pELE1BQU0sT0FBTyx3QkFBd0I7SUFXbkMsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFUNUQsYUFBUSxHQUEwQixFQUFFLENBQUM7SUFTMkIsQ0FBQztJQVBqRSxJQUFJLFlBQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFBQSxDQUFDO0lBSUYsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN4QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBNEI7UUFDdkMsT0FBTztZQUNMLHlCQUF5QixFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQztZQUM1QyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7cUhBL0JVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDREQ1hyQyx1Y0FNQSxxdEJER2MsQ0FBQyxnQkFBZ0IsQ0FBQzsyRkFFbkIsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFdBQVcsRUFBRSxtQ0FBbUM7b0JBQ2hELFNBQVMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUNoRCxVQUFVLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZmFkZU91dEFuaW1hdGlvbiB9IGZyb20gJy4uL2ZhZGUtb3V0LmFuaW1hdGlvbic7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1lc3NhZ2UgfSBmcm9tICcuLi9ub3RpZmljYXRpb24tbWVzc2FnZSdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW5vdGlmaWNhdGlvbi1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RpZmljYXRpb24tYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ub3RpZmljYXRpb24tYmFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW2ZhZGVPdXRBbmltYXRpb25dLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgbWVzc2FnZXM6IE5vdGlmaWNhdGlvbk1lc3NhZ2VbXSA9IFtdO1xyXG5cclxuICBnZXQgdmlld01lc3NhZ2VzKCk6IE5vdGlmaWNhdGlvbk1lc3NhZ2VbXSB7XHJcbiAgICBpZiAodGhpcy5tZXNzYWdlcy5sZW5ndGggPiAzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VzLnNsaWNlKDApLnJldmVyc2UoKS5zbGljZSgwLCAyKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VzLnNsaWNlKDApLnJldmVyc2UoKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5tZXNzYWdlVXBkYXRlZC5zdWJzY3JpYmUobWVzc2FnZSA9PiB7XHJcbiAgICAgIHRoaXMubWVzc2FnZXMucHVzaChtZXNzYWdlKTtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlcy5zaGlmdCgpO1xyXG4gICAgICB9LCA0MDAwKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRJY29uQ2xhc3MobWVzc2FnZTogTm90aWZpY2F0aW9uTWVzc2FnZSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJ2ZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlJzogbWVzc2FnZS50eXBlID09IDEsXHJcbiAgICAgICdmYS1pbmZvLWNpcmNsZSc6IG1lc3NhZ2UudHlwZSA9PSAwLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNob3VsZEZhZGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlcy5sZW5ndGggPCAzO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1iYXJcIiAqbmdJZj1cIm1lc3NhZ2VzLmxlbmd0aFwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2Ygdmlld01lc3NhZ2VzXCIgY2xhc3M9XCJub3RpZmljYXRpb24tcGlsbFwiIFtjbGFzcy5lcnJvcl09XCJtZXNzYWdlLnR5cGUgPT0gMVwiIFtAZmFkZU91dEFuaW1hdGlvbl09XCJzaG91bGRGYWRlKClcIj5cclxuICAgIDxpIGNsYXNzPVwiZmFcIiBbbmdDbGFzc109XCJnZXRJY29uQ2xhc3MobWVzc2FnZSlcIj48L2k+IDxzcGFuIGNsYXNzPVwibWwtMVwiPnt7bWVzc2FnZS5tZXNzYWdlfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cIm1lc3NhZ2VzLmxlbmd0aCA+IDNcIiBjbGFzcz1cIm5vdGlmaWNhdGlvbi1waWxsXCI+e3ttZXNzYWdlcy5sZW5ndGggLSAyfX0gbW9yZS4uLjwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export class GunPart {
|
|
2
|
-
constructor() {
|
|
3
|
-
this.coatings = [];
|
|
4
|
-
this.defaultControl = false;
|
|
5
|
-
this.customer = false;
|
|
6
|
-
this.gunsmith = false;
|
|
7
|
-
this.active = true;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VuLXBhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC90eXBlcy9ndW4tcGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sT0FBTztJQUFwQjtRQUdFLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFDekIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFFaEIsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29hdGluZyB9IGZyb20gJy4vY29hdGluZyc7XHJcblxyXG5leHBvcnQgY2xhc3MgR3VuUGFydCB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgY29hdGluZ3M6IENvYXRpbmdbXSA9IFtdO1xyXG4gIGRlZmF1bHRDb250cm9sID0gZmFsc2U7XHJcbiAgY3VzdG9tZXIgPSBmYWxzZTtcclxuICBndW5zbWl0aCA9IGZhbHNlO1xyXG4gIGFjdGl2ZSA9IHRydWU7XHJcbiAgdGltZXN0YW1wOiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class PurchaseOrderRefinishItem {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyY2hhc2Utb3JkZXItcmVmaW5pc2gtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1bnNtaXRoLWNvbW1vbi9zcmMvc2hhcmVkL3R5cGVzL3B1cmNoYXNlLW9yZGVyLXJlZmluaXNoLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLHlCQUF5QjtDQVlyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvYXRpbmcgfSBmcm9tICcuL2NvYXRpbmcnO1xyXG5pbXBvcnQgeyBDb2F0aW5nVmFsdWUgfSBmcm9tICcuL2NvYXRpbmctdmFsdWUnO1xyXG5pbXBvcnQgeyBHdW5QYXJ0IH0gZnJvbSAnLi9ndW4tcGFydCc7XHJcblxyXG5leHBvcnQgY2xhc3MgUHVyY2hhc2VPcmRlclJlZmluaXNoSXRlbSB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBndW5QYXJ0OiBHdW5QYXJ0O1xyXG4gIHF1YW50aXR5OiBudW1iZXI7XHJcbiAgY29hdGluZzogQ29hdGluZztcclxuICBjb2F0aW5nVmFsdWU6IENvYXRpbmdWYWx1ZTtcclxuICBjb2F0aW5nRGVzY3JpcHRpb246IHN0cmluZztcclxuICBzZXJpYWxOdW1iZXI6IHN0cmluZztcclxuICBjdXN0b21lck5hbWU6IHN0cmluZztcclxuICBpbkRhdGU6IERhdGU7XHJcbiAgaXNNaWxsaW5nQ29tcGxldGVkOiBib29sZWFuO1xyXG4gIHRpbWVzdGFtcDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class ReportRefinishItem {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJlZmluaXNoLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndW5zbWl0aC1jb21tb24vc3JjL3NoYXJlZC90eXBlcy9yZXBvcnQtcmVmaW5pc2gtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sa0JBQWtCO0NBYTlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29hdGluZyB9IGZyb20gXCIuL2NvYXRpbmdcIjtcclxuaW1wb3J0IHsgQ29hdGluZ1ZhbHVlIH0gZnJvbSBcIi4vY29hdGluZy12YWx1ZVwiO1xyXG5pbXBvcnQgeyBHdW5QYXJ0IH0gZnJvbSBcIi4vZ3VuLXBhcnRcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRSZWZpbmlzaEl0ZW0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgZ3VuUGFydDogR3VuUGFydDtcclxuICBxdWFudGl0eTogbnVtYmVyO1xyXG4gIGNvYXRpbmc6IENvYXRpbmc7XHJcbiAgY29hdGluZ1ZhbHVlOiBDb2F0aW5nVmFsdWU7XHJcbiAgY29hdGluZ0Rlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgc2VyaWFsTnVtYmVyOiBzdHJpbmc7XHJcbiAgY3VzdG9tZXJOYW1lOiBzdHJpbmc7XHJcbiAgdmVuZG9yTmFtZTogc3RyaW5nO1xyXG4gIHJlY2VpdmVkRGF0ZTogRGF0ZTtcclxuICBvdXREYXRlOiBEYXRlO1xyXG4gIHRpbWVzdGFtcDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class WorkOrderRefinishItem {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1vcmRlci1yZWZpbmlzaC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Vuc21pdGgtY29tbW9uL3NyYy9zaGFyZWQvdHlwZXMvd29yay1vcmRlci1yZWZpbmlzaC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxxQkFBcUI7Q0FXakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2F0aW5nIH0gZnJvbSAnLi9jb2F0aW5nJztcclxuaW1wb3J0IHsgQ29hdGluZ1ZhbHVlIH0gZnJvbSAnLi9jb2F0aW5nLXZhbHVlJztcclxuaW1wb3J0IHsgR3VuUGFydCB9IGZyb20gJy4vZ3VuLXBhcnQnO1xyXG5pbXBvcnQgeyBWZW5kb3IgfSBmcm9tICcuL3ZlbmRvcic7XHJcblxyXG5leHBvcnQgY2xhc3MgV29ya09yZGVyUmVmaW5pc2hJdGVtIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIGd1blBhcnQ6IEd1blBhcnQ7XHJcbiAgcXVhbnRpdHk6IG51bWJlcjtcclxuICBjb2F0aW5nOiBDb2F0aW5nO1xyXG4gIGNvYXRpbmdWYWx1ZTogQ29hdGluZ1ZhbHVlO1xyXG4gIGNvYXRpbmdEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIHZlbmRvcjogVmVuZG9yO1xyXG4gIG91dERhdGU6IERhdGU7XHJcbiAgaW5EYXRlOiBEYXRlO1xyXG4gIHRpbWVzdGFtcDogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|