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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gunsmith-common.mjs","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/types/gun-part-option.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/services/status-history.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/notification.service.ts","../../../projects/gunsmith-common/src/notification/fade-out.animation.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\nimport { GunPartOption } from './gun-part-option';\r\n\r\nexport class GunPart {\r\n id: number;\r\n name: string;\r\n coatings: Coating[] = [];\r\n options: GunPartOption[] = [];\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\nimport { GunPartOption } from './gun-part-option';\r\n\r\nexport class RefinishDetail {\r\n id: number;\r\n gunPart: GunPart;\r\n option: GunPartOption;\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 { GunPartOption } from './gun-part-option';\r\nimport { Vendor } from './vendor';\r\n\r\nexport class WorkOrderRefinishItem {\r\n id: number;\r\n gunPart: GunPart;\r\n option: GunPartOption;\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\nimport { GunPartOption } from './gun-part-option';\r\n\r\nexport class PurchaseOrderRefinishItem {\r\n id: number;\r\n gunPart: GunPart;\r\n option: GunPartOption;\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\nimport { GunPartOption } from \"./gun-part-option\";\r\n\r\nexport class ReportRefinishItem {\r\n id: number;\r\n gunPart: GunPart;\r\n option: GunPartOption;\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 data: any;\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 { Material } from \"./material\";\r\n\r\nexport class GunPartOption {\r\n id: number;\r\n name: string;\r\n value: string;\r\n material: Material;\r\n active: boolean;\r\n timestamp: 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 { HttpClient } from '@angular/common/http';\r\nimport { Inject } from '@angular/core';\r\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\r\nimport { Total } from '../types';\r\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StatusHistoryService {\n\n private url: string;\n \n\n constructor(\n private http: HttpClient,\n @Inject('env') private env: any\n ) {\n this.url = this.env.baseUrl + 'api/status-histories'; \n }\n\n readStatusByUser(user: string, startDate: Date, endDate: Date): Observable<Total[]> {\n return this.http.get<Total[]>(`${this.url}/by-user`, {\r\n params: {\r\n user: user,\r\n startDate: startDate.toUTCString(),\r\n endDate: endDate.toUTCString()\r\n }\r\n });\r\n }\n\n readStatusByDate(date: Date): Observable<Total[]> {\n return this.http.get<Total[]>(`${this.url}/by-date`, {\r\n params: {\r\n date: date.toUTCString()\r\n }\r\n })\r\n }\n}\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 } from \"@angular/forms\";\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 controlValue = formArray.controls[i].value;\r\n if (controlValue.coating.value && controlValue.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 { 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 { 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 { 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=\"ms-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":["i1","i1.NotificationService"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gunsmith-common",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.21",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/animations": ">= 6.1.10",
|
|
6
6
|
"@angular/common": ">= 6.1.10",
|
|
@@ -14,11 +14,24 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"tslib": "^2.0.0"
|
|
16
16
|
},
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"fesm2015": "fesm2015/gunsmith-common.
|
|
17
|
+
"module": "fesm2015/gunsmith-common.mjs",
|
|
18
|
+
"es2020": "fesm2020/gunsmith-common.mjs",
|
|
19
|
+
"esm2020": "esm2020/gunsmith-common.mjs",
|
|
20
|
+
"fesm2020": "fesm2020/gunsmith-common.mjs",
|
|
21
|
+
"fesm2015": "fesm2015/gunsmith-common.mjs",
|
|
22
22
|
"typings": "gunsmith-common.d.ts",
|
|
23
|
+
"exports": {
|
|
24
|
+
"./package.json": {
|
|
25
|
+
"default": "./package.json"
|
|
26
|
+
},
|
|
27
|
+
".": {
|
|
28
|
+
"types": "./gunsmith-common.d.ts",
|
|
29
|
+
"esm2020": "./esm2020/gunsmith-common.mjs",
|
|
30
|
+
"es2020": "./fesm2020/gunsmith-common.mjs",
|
|
31
|
+
"es2015": "./fesm2015/gunsmith-common.mjs",
|
|
32
|
+
"node": "./fesm2015/gunsmith-common.mjs",
|
|
33
|
+
"default": "./fesm2020/gunsmith-common.mjs"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
23
36
|
"sideEffects": false
|
|
24
37
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { Total } from '../types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class StatusHistoryService {
|
|
6
|
+
private http;
|
|
7
|
+
private env;
|
|
8
|
+
private url;
|
|
9
|
+
constructor(http: HttpClient, env: any);
|
|
10
|
+
readStatusByUser(user: string, startDate: Date, endDate: Date): Observable<Total[]>;
|
|
11
|
+
readStatusByDate(date: Date): Observable<Total[]>;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<StatusHistoryService, never>;
|
|
13
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<StatusHistoryService>;
|
|
14
|
+
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Coating } from './coating';
|
|
2
|
+
import { GunPartOption } from './gun-part-option';
|
|
2
3
|
export declare class GunPart {
|
|
3
4
|
id: number;
|
|
4
5
|
name: string;
|
|
5
6
|
coatings: Coating[];
|
|
7
|
+
options: GunPartOption[];
|
|
6
8
|
defaultControl: boolean;
|
|
7
9
|
customer: boolean;
|
|
8
10
|
gunsmith: boolean;
|
package/shared/types/index.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Coating } from './coating';
|
|
2
2
|
import { CoatingValue } from './coating-value';
|
|
3
3
|
import { GunPart } from './gun-part';
|
|
4
|
+
import { GunPartOption } from './gun-part-option';
|
|
4
5
|
export declare class PurchaseOrderRefinishItem {
|
|
5
6
|
id: number;
|
|
6
7
|
gunPart: GunPart;
|
|
8
|
+
option: GunPartOption;
|
|
7
9
|
quantity: number;
|
|
8
10
|
coating: Coating;
|
|
9
11
|
coatingValue: CoatingValue;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Coating } from './coating';
|
|
2
2
|
import { CoatingValue } from './coating-value';
|
|
3
3
|
import { GunPart } from './gun-part';
|
|
4
|
+
import { GunPartOption } from './gun-part-option';
|
|
4
5
|
export declare class RefinishDetail {
|
|
5
6
|
id: number;
|
|
6
7
|
gunPart: GunPart;
|
|
8
|
+
option: GunPartOption;
|
|
7
9
|
coating: Coating;
|
|
8
10
|
coatingValue: CoatingValue;
|
|
9
11
|
coatingDescription: string;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Coating } from "./coating";
|
|
2
2
|
import { CoatingValue } from "./coating-value";
|
|
3
3
|
import { GunPart } from "./gun-part";
|
|
4
|
+
import { GunPartOption } from "./gun-part-option";
|
|
4
5
|
export declare class ReportRefinishItem {
|
|
5
6
|
id: number;
|
|
6
7
|
gunPart: GunPart;
|
|
8
|
+
option: GunPartOption;
|
|
7
9
|
quantity: number;
|
|
8
10
|
coating: Coating;
|
|
9
11
|
coatingValue: CoatingValue;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Coating } from './coating';
|
|
2
2
|
import { CoatingValue } from './coating-value';
|
|
3
3
|
import { GunPart } from './gun-part';
|
|
4
|
+
import { GunPartOption } from './gun-part-option';
|
|
4
5
|
import { Vendor } from './vendor';
|
|
5
6
|
export declare class WorkOrderRefinishItem {
|
|
6
7
|
id: number;
|
|
7
8
|
gunPart: GunPart;
|
|
9
|
+
option: GunPartOption;
|
|
8
10
|
quantity: number;
|
|
9
11
|
coating: Coating;
|
|
10
12
|
coatingValue: CoatingValue;
|