gunsmith-common 2.1.11

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.
Files changed (213) hide show
  1. package/bundles/gunsmith-common.umd.js +2093 -0
  2. package/bundles/gunsmith-common.umd.js.map +1 -0
  3. package/esm2015/gunsmith-common.js +5 -0
  4. package/esm2015/notification/fade-out.animation.js +10 -0
  5. package/esm2015/notification/index.js +4 -0
  6. package/esm2015/notification/notification-bar/notification-bar.component.js +48 -0
  7. package/esm2015/notification/notification-message.js +3 -0
  8. package/esm2015/notification/notification-type.enum.js +6 -0
  9. package/esm2015/notification/notification.module.js +26 -0
  10. package/esm2015/notification/notification.service.js +21 -0
  11. package/esm2015/public_api.js +12 -0
  12. package/esm2015/shared/directives/disable-control.directive.js +24 -0
  13. package/esm2015/shared/directives/index.js +3 -0
  14. package/esm2015/shared/directives/refinish-details-validators.js +45 -0
  15. package/esm2015/shared/pipes/enum.pipe.js +16 -0
  16. package/esm2015/shared/pipes/file-name.pipe.js +16 -0
  17. package/esm2015/shared/pipes/frame-material.pipe.js +24 -0
  18. package/esm2015/shared/pipes/index.js +6 -0
  19. package/esm2015/shared/pipes/new-line.pipe.js +16 -0
  20. package/esm2015/shared/pipes/phone.pipe.js +19 -0
  21. package/esm2015/shared/services/coating.service.js +63 -0
  22. package/esm2015/shared/services/configuration.service.js +29 -0
  23. package/esm2015/shared/services/cosmetic-milling.service.js +42 -0
  24. package/esm2015/shared/services/customer.service.js +47 -0
  25. package/esm2015/shared/services/dealer.service.js +45 -0
  26. package/esm2015/shared/services/file-upload.service.js +39 -0
  27. package/esm2015/shared/services/firearm-series.service.js +45 -0
  28. package/esm2015/shared/services/firearm.service.js +48 -0
  29. package/esm2015/shared/services/gun-part.service.js +52 -0
  30. package/esm2015/shared/services/index.js +25 -0
  31. package/esm2015/shared/services/inventory.service.js +32 -0
  32. package/esm2015/shared/services/material.service.js +30 -0
  33. package/esm2015/shared/services/milling-type.service.js +44 -0
  34. package/esm2015/shared/services/optic.service.js +42 -0
  35. package/esm2015/shared/services/product.service.js +29 -0
  36. package/esm2015/shared/services/purchase-order.service.js +87 -0
  37. package/esm2015/shared/services/state.service.js +26 -0
  38. package/esm2015/shared/services/totals.service.js +50 -0
  39. package/esm2015/shared/services/user.service.js +26 -0
  40. package/esm2015/shared/services/vendor.service.js +42 -0
  41. package/esm2015/shared/services/waitlist-customer.service.js +38 -0
  42. package/esm2015/shared/services/waitlist-project.service.js +38 -0
  43. package/esm2015/shared/services/waitlist.service.js +83 -0
  44. package/esm2015/shared/services/work-holiday.service.js +32 -0
  45. package/esm2015/shared/services/work-order.service.js +150 -0
  46. package/esm2015/shared/shared.module.js +46 -0
  47. package/esm2015/shared/types/bundle-item.js +6 -0
  48. package/esm2015/shared/types/change-order-status.js +9 -0
  49. package/esm2015/shared/types/coating-value.js +6 -0
  50. package/esm2015/shared/types/coating.js +8 -0
  51. package/esm2015/shared/types/configuration.js +3 -0
  52. package/esm2015/shared/types/cosmetic-milling.js +6 -0
  53. package/esm2015/shared/types/customer.js +6 -0
  54. package/esm2015/shared/types/dealer-contact.js +3 -0
  55. package/esm2015/shared/types/dealer-coupon.js +3 -0
  56. package/esm2015/shared/types/dealer.js +7 -0
  57. package/esm2015/shared/types/filter-options.js +9 -0
  58. package/esm2015/shared/types/firearm-series-optic.js +9 -0
  59. package/esm2015/shared/types/firearm-series.js +8 -0
  60. package/esm2015/shared/types/firearm.js +6 -0
  61. package/esm2015/shared/types/frame-material.js +8 -0
  62. package/esm2015/shared/types/gun-caliber.js +7 -0
  63. package/esm2015/shared/types/gun-part.js +10 -0
  64. package/esm2015/shared/types/index.js +56 -0
  65. package/esm2015/shared/types/inventory-item.js +6 -0
  66. package/esm2015/shared/types/j-file.js +3 -0
  67. package/esm2015/shared/types/material.js +6 -0
  68. package/esm2015/shared/types/milling-detail.js +7 -0
  69. package/esm2015/shared/types/milling-item.js +3 -0
  70. package/esm2015/shared/types/milling-type.js +6 -0
  71. package/esm2015/shared/types/mount-type.js +6 -0
  72. package/esm2015/shared/types/optic-status.js +7 -0
  73. package/esm2015/shared/types/optic.js +6 -0
  74. package/esm2015/shared/types/product.js +3 -0
  75. package/esm2015/shared/types/project-type.js +7 -0
  76. package/esm2015/shared/types/purchase-order-refinish-item.js +3 -0
  77. package/esm2015/shared/types/purchase-order-status.js +8 -0
  78. package/esm2015/shared/types/purchase-order.js +9 -0
  79. package/esm2015/shared/types/rear-sight-position.js +6 -0
  80. package/esm2015/shared/types/refinish-detail.js +3 -0
  81. package/esm2015/shared/types/report-milling-item.js +3 -0
  82. package/esm2015/shared/types/report-refinish-item.js +3 -0
  83. package/esm2015/shared/types/sight-type.js +6 -0
  84. package/esm2015/shared/types/state.js +3 -0
  85. package/esm2015/shared/types/total-item.js +3 -0
  86. package/esm2015/shared/types/total.js +3 -0
  87. package/esm2015/shared/types/vendor-contact.js +3 -0
  88. package/esm2015/shared/types/vendor.js +7 -0
  89. package/esm2015/shared/types/waitlist-action.js +9 -0
  90. package/esm2015/shared/types/waitlist-gun.js +12 -0
  91. package/esm2015/shared/types/waitlist-history.js +3 -0
  92. package/esm2015/shared/types/waitlist-item.js +12 -0
  93. package/esm2015/shared/types/waitlist-status.js +15 -0
  94. package/esm2015/shared/types/work-change-order.js +3 -0
  95. package/esm2015/shared/types/work-holiday.js +3 -0
  96. package/esm2015/shared/types/work-order-action.js +7 -0
  97. package/esm2015/shared/types/work-order-history.js +3 -0
  98. package/esm2015/shared/types/work-order-refinish-item.js +3 -0
  99. package/esm2015/shared/types/work-order-status.js +14 -0
  100. package/esm2015/shared/types/work-order-type.js +8 -0
  101. package/esm2015/shared/types/work-order.js +18 -0
  102. package/esm2015/shared/utils/coating-helpers.js +22 -0
  103. package/esm2015/shared/utils/enum-object.js +10 -0
  104. package/esm2015/shared/utils/finish-date-calculator.js +30 -0
  105. package/esm2015/shared/utils/index.js +5 -0
  106. package/esm2015/shared/utils/invalid-form-control-toucher.js +7 -0
  107. package/fesm2015/gunsmith-common.js +1767 -0
  108. package/fesm2015/gunsmith-common.js.map +1 -0
  109. package/gunsmith-common.d.ts +5 -0
  110. package/notification/fade-out.animation.d.ts +2 -0
  111. package/notification/index.d.ts +3 -0
  112. package/notification/notification-bar/notification-bar.component.d.ts +18 -0
  113. package/notification/notification-message.d.ts +6 -0
  114. package/notification/notification-type.enum.d.ts +4 -0
  115. package/notification/notification.module.d.ts +8 -0
  116. package/notification/notification.service.d.ts +12 -0
  117. package/package.json +24 -0
  118. package/public_api.d.ts +8 -0
  119. package/shared/directives/disable-control.directive.d.ts +9 -0
  120. package/shared/directives/index.d.ts +2 -0
  121. package/shared/directives/refinish-details-validators.d.ts +4 -0
  122. package/shared/pipes/enum.pipe.d.ts +7 -0
  123. package/shared/pipes/file-name.pipe.d.ts +7 -0
  124. package/shared/pipes/frame-material.pipe.d.ts +11 -0
  125. package/shared/pipes/index.d.ts +5 -0
  126. package/shared/pipes/new-line.pipe.d.ts +7 -0
  127. package/shared/pipes/phone.pipe.d.ts +7 -0
  128. package/shared/services/coating.service.d.ts +22 -0
  129. package/shared/services/configuration.service.d.ts +14 -0
  130. package/shared/services/cosmetic-milling.service.d.ts +17 -0
  131. package/shared/services/customer.service.d.ts +17 -0
  132. package/shared/services/dealer.service.d.ts +19 -0
  133. package/shared/services/file-upload.service.d.ts +14 -0
  134. package/shared/services/firearm-series.service.d.ts +18 -0
  135. package/shared/services/firearm.service.d.ts +20 -0
  136. package/shared/services/gun-part.service.d.ts +18 -0
  137. package/shared/services/index.d.ts +24 -0
  138. package/shared/services/inventory.service.d.ts +13 -0
  139. package/shared/services/material.service.d.ts +13 -0
  140. package/shared/services/milling-type.service.d.ts +17 -0
  141. package/shared/services/optic.service.d.ts +17 -0
  142. package/shared/services/product.service.d.ts +15 -0
  143. package/shared/services/purchase-order.service.d.ts +27 -0
  144. package/shared/services/state.service.d.ts +13 -0
  145. package/shared/services/totals.service.d.ts +15 -0
  146. package/shared/services/user.service.d.ts +12 -0
  147. package/shared/services/vendor.service.d.ts +17 -0
  148. package/shared/services/waitlist-customer.service.d.ts +15 -0
  149. package/shared/services/waitlist-project.service.d.ts +17 -0
  150. package/shared/services/waitlist.service.d.ts +24 -0
  151. package/shared/services/work-holiday.service.d.ts +15 -0
  152. package/shared/services/work-order.service.d.ts +41 -0
  153. package/shared/shared.module.d.ts +12 -0
  154. package/shared/types/bundle-item.d.ts +11 -0
  155. package/shared/types/change-order-status.d.ts +7 -0
  156. package/shared/types/coating-value.d.ts +6 -0
  157. package/shared/types/coating.d.ts +11 -0
  158. package/shared/types/configuration.d.ts +11 -0
  159. package/shared/types/cosmetic-milling.d.ts +6 -0
  160. package/shared/types/customer.d.ts +14 -0
  161. package/shared/types/dealer-contact.d.ts +9 -0
  162. package/shared/types/dealer-coupon.d.ts +5 -0
  163. package/shared/types/dealer.d.ts +24 -0
  164. package/shared/types/filter-options.d.ts +6 -0
  165. package/shared/types/firearm-series-optic.d.ts +12 -0
  166. package/shared/types/firearm-series.d.ts +9 -0
  167. package/shared/types/firearm.d.ts +10 -0
  168. package/shared/types/frame-material.d.ts +6 -0
  169. package/shared/types/gun-caliber.d.ts +5 -0
  170. package/shared/types/gun-part.d.ts +11 -0
  171. package/shared/types/index.d.ts +55 -0
  172. package/shared/types/inventory-item.d.ts +8 -0
  173. package/shared/types/j-file.d.ts +5 -0
  174. package/shared/types/material.d.ts +6 -0
  175. package/shared/types/milling-detail.d.ts +17 -0
  176. package/shared/types/milling-item.d.ts +8 -0
  177. package/shared/types/milling-type.d.ts +8 -0
  178. package/shared/types/mount-type.d.ts +4 -0
  179. package/shared/types/optic-status.d.ts +5 -0
  180. package/shared/types/optic.d.ts +6 -0
  181. package/shared/types/product.d.ts +7 -0
  182. package/shared/types/project-type.d.ts +5 -0
  183. package/shared/types/purchase-order-refinish-item.d.ts +16 -0
  184. package/shared/types/purchase-order-status.d.ts +6 -0
  185. package/shared/types/purchase-order.d.ts +11 -0
  186. package/shared/types/rear-sight-position.d.ts +4 -0
  187. package/shared/types/refinish-detail.d.ts +11 -0
  188. package/shared/types/report-milling-item.d.ts +16 -0
  189. package/shared/types/report-refinish-item.d.ts +16 -0
  190. package/shared/types/sight-type.d.ts +4 -0
  191. package/shared/types/state.d.ts +4 -0
  192. package/shared/types/total-item.d.ts +4 -0
  193. package/shared/types/total.d.ts +5 -0
  194. package/shared/types/vendor-contact.d.ts +9 -0
  195. package/shared/types/vendor.d.ts +20 -0
  196. package/shared/types/waitlist-action.d.ts +7 -0
  197. package/shared/types/waitlist-gun.d.ts +22 -0
  198. package/shared/types/waitlist-history.d.ts +8 -0
  199. package/shared/types/waitlist-item.d.ts +25 -0
  200. package/shared/types/waitlist-status.d.ts +13 -0
  201. package/shared/types/work-change-order.d.ts +10 -0
  202. package/shared/types/work-holiday.d.ts +4 -0
  203. package/shared/types/work-order-action.d.ts +5 -0
  204. package/shared/types/work-order-history.d.ts +8 -0
  205. package/shared/types/work-order-refinish-item.d.ts +16 -0
  206. package/shared/types/work-order-status.d.ts +12 -0
  207. package/shared/types/work-order-type.d.ts +6 -0
  208. package/shared/types/work-order.d.ts +31 -0
  209. package/shared/utils/coating-helpers.d.ts +5 -0
  210. package/shared/utils/enum-object.d.ts +5 -0
  211. package/shared/utils/finish-date-calculator.d.ts +2 -0
  212. package/shared/utils/index.d.ts +4 -0
  213. package/shared/utils/invalid-form-control-toucher.d.ts +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gunsmith-common.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/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: number;\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 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 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';\nimport { Observable } from 'rxjs';\r\nimport { Material } from '../types';\r\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MaterialService {\n private url: string;\n\n constructor(\n private http: HttpClient,\n @Inject('env') private env: any\n ) {\n this.url = this.env.baseUrl + 'api/materials';\n }\n\n readMaterials(includeInactive = false): Observable<Material[]> {\n return this.http.get<Material[]>(this.url, {\r\n params: {\r\n includeInactive: includeInactive.toString()\r\n }\r\n });\r\n }\n}\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;\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';\nimport { Observable } from 'rxjs';\r\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n private url: string;\n\n constructor(\n private http: HttpClient,\n @Inject('env') private env: any\n ) {\n this.url = this.env.baseUrl + 'api/users';\n }\n\n readUsers(): Observable<string[]> {\n return this.http.get<string[]>(this.url);\r\n }\n}\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';\nimport { Observable } from 'rxjs';\r\nimport { InventoryItem } from '../types';\r\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InventoryService {\n private url: string;\n\n constructor(\n private http: HttpClient,\n @Inject('env') private env: any\n ) {\n this.url = this.env.baseUrl + 'api/inventory-items';\n }\n\n readInventoryItems(includeInactive: boolean = false, search: string = null): Observable<InventoryItem[]> {\n const params = {\n includeInactive: includeInactive.toString()\r\n }\n\n if (search !== null) {\n params['search'] = search\r\n }\n\n return this.http.get<InventoryItem[]>(this.url, { params: params });\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';\n\n@Pipe({\n name: 'newLine'\n})\nexport class NewLinePipe implements PipeTransform {\n\n transform(value: string, args?: any): any {\n return value ? value.replace(/(?:\\r\\n|\\r|\\n)/g, '<br>') : '';\n }\n\n}\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 { 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=\"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":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="gunsmith-common" />
5
+ export * from './public_api';
@@ -0,0 +1,2 @@
1
+ import { AnimationTriggerMetadata } from '@angular/animations';
2
+ export declare const fadeOutAnimation: AnimationTriggerMetadata;
@@ -0,0 +1,3 @@
1
+ export * from './notification-bar/notification-bar.component';
2
+ export * from './notification-type.enum';
3
+ export * from './notification.service';
@@ -0,0 +1,18 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { NotificationService } from '../notification.service';
3
+ import { NotificationMessage } from '../notification-message';
4
+ import * as i0 from "@angular/core";
5
+ export declare class NotificationBarComponent implements OnInit {
6
+ private notificationService;
7
+ messages: NotificationMessage[];
8
+ get viewMessages(): NotificationMessage[];
9
+ constructor(notificationService: NotificationService);
10
+ ngOnInit(): void;
11
+ getIconClass(message: NotificationMessage): {
12
+ 'fa-exclamation-triangle': boolean;
13
+ 'fa-info-circle': boolean;
14
+ };
15
+ shouldFade(): boolean;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationBarComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<NotificationBarComponent, "app-notification-bar", never, {}, {}, never, never>;
18
+ }
@@ -0,0 +1,6 @@
1
+ import { NotificationType } from './notification-type.enum';
2
+ export declare class NotificationMessage {
3
+ index: number;
4
+ type: NotificationType;
5
+ message: string;
6
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum NotificationType {
2
+ Info = 0,
3
+ Error = 1
4
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./notification-bar/notification-bar.component";
3
+ import * as i2 from "@angular/common";
4
+ export declare class NotificationModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NotificationModule, [typeof i1.NotificationBarComponent], [typeof i2.CommonModule], [typeof i1.NotificationBarComponent]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<NotificationModule>;
8
+ }
@@ -0,0 +1,12 @@
1
+ import { Observable } from 'rxjs';
2
+ import { NotificationType } from './notification-type.enum';
3
+ import { NotificationMessage } from './notification-message';
4
+ import * as i0 from "@angular/core";
5
+ export declare class NotificationService {
6
+ private messageUpdatedSource;
7
+ messageUpdated: Observable<NotificationMessage>;
8
+ constructor();
9
+ addMessage(type: NotificationType, message: string): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
12
+ }
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "gunsmith-common",
3
+ "version": "2.1.11",
4
+ "peerDependencies": {
5
+ "@angular/animations": ">= 6.1.10",
6
+ "@angular/common": ">= 6.1.10",
7
+ "@angular/compiler": ">= 6.1.10",
8
+ "@angular/core": ">= 6.1.10",
9
+ "@angular/forms": ">= 6.1.10",
10
+ "rxjs": ">= 6.0.0",
11
+ "rxjs-compat": ">= 6.0.0",
12
+ "zone.js": ">= 0.8.26"
13
+ },
14
+ "dependencies": {
15
+ "tslib": "^2.0.0"
16
+ },
17
+ "main": "bundles/gunsmith-common.umd.js",
18
+ "module": "fesm2015/gunsmith-common.js",
19
+ "es2015": "fesm2015/gunsmith-common.js",
20
+ "esm2015": "esm2015/gunsmith-common.js",
21
+ "fesm2015": "fesm2015/gunsmith-common.js",
22
+ "typings": "gunsmith-common.d.ts",
23
+ "sideEffects": false
24
+ }
@@ -0,0 +1,8 @@
1
+ export * from './shared/utils';
2
+ export * from './shared/types';
3
+ export * from './shared/services';
4
+ export * from './shared/pipes';
5
+ export * from './shared/directives';
6
+ export * from './shared/shared.module';
7
+ export * from './notification/notification.module';
8
+ export * from './notification';
@@ -0,0 +1,9 @@
1
+ import { NgControl } from '@angular/forms';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DisableControlDirective {
4
+ private ngControl;
5
+ set disableControl(condition: boolean);
6
+ constructor(ngControl: NgControl);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DisableControlDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DisableControlDirective, "[disableControl]", never, { "disableControl": "disableControl"; }, {}, never>;
9
+ }
@@ -0,0 +1,2 @@
1
+ export * from './disable-control.directive';
2
+ export * from './refinish-details-validators';
@@ -0,0 +1,4 @@
1
+ import { ValidatorFn } from "@angular/forms";
2
+ export declare function coatingValueValidator(): ValidatorFn;
3
+ export declare function coatingDescriptionValidator(): ValidatorFn;
4
+ export declare function refinishDetailsValidator(): ValidatorFn;
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class EnumPipe implements PipeTransform {
4
+ transform(value: string, args?: any): any;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<EnumPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<EnumPipe, "enum">;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FileNamePipe implements PipeTransform {
4
+ transform(value: string, args?: any): string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileNamePipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<FileNamePipe, "fileName">;
7
+ }
@@ -0,0 +1,11 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FrameMaterialPipe implements PipeTransform {
4
+ frameMaterial: {
5
+ id: number;
6
+ name: string;
7
+ }[];
8
+ transform(value: number, args?: any): any;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<FrameMaterialPipe, never>;
10
+ static ɵpipe: i0.ɵɵPipeDeclaration<FrameMaterialPipe, "frameMaterial">;
11
+ }
@@ -0,0 +1,5 @@
1
+ export * from './phone.pipe';
2
+ export * from './file-name.pipe';
3
+ export * from './enum.pipe';
4
+ export * from './new-line.pipe';
5
+ export * from './frame-material.pipe';
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class NewLinePipe implements PipeTransform {
4
+ transform(value: string, args?: any): any;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<NewLinePipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<NewLinePipe, "newLine">;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PhonePipe implements PipeTransform {
4
+ transform(value: string, args?: any): any;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhonePipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<PhonePipe, "phone">;
7
+ }
@@ -0,0 +1,22 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { Coating, CoatingValue } from '../types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CoatingService {
6
+ private http;
7
+ private env;
8
+ private url;
9
+ constructor(http: HttpClient, env: any);
10
+ readCoatings(includeInactive?: boolean): Observable<Coating[]>;
11
+ readCoating(id: number): Observable<Coating>;
12
+ createCoating(coating: Coating): Observable<Coating>;
13
+ updateCoating(id: number, coating: Coating): Observable<Coating>;
14
+ deleteCoating(id: number): Observable<any>;
15
+ readCoatingValues(coatingId: number, includeInactive?: boolean): Observable<CoatingValue[]>;
16
+ readCoatingValue(coatingId: number, coatingValueId: number): Observable<CoatingValue>;
17
+ createCoatingValue(coatingId: number, coatingValue: CoatingValue): Observable<CoatingValue>;
18
+ updateCoatingValue(coatingId: number, coatingValueId: number, coatingValue: CoatingValue): Observable<CoatingValue>;
19
+ deleteCoatingValue(coatingId: number, coatingValueId: number): Observable<any>;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<CoatingService, never>;
21
+ static ɵprov: i0.ɵɵInjectableDeclaration<CoatingService>;
22
+ }
@@ -0,0 +1,14 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { Configuration } from '../types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ConfigurationService {
6
+ private http;
7
+ private env;
8
+ private url;
9
+ constructor(http: HttpClient, env: any);
10
+ readConfigs(): Observable<Configuration>;
11
+ updateConfigs(configuration: Configuration): Observable<Configuration>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationService>;
14
+ }
@@ -0,0 +1,17 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { CosmeticMilling } from '../types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CosmeticMillingService {
6
+ private http;
7
+ private env;
8
+ private url;
9
+ constructor(http: HttpClient, env: any);
10
+ readCosmeticMillings(includeInactive?: boolean): Observable<CosmeticMilling[]>;
11
+ readCosmeticMilling(id: number): Observable<CosmeticMilling>;
12
+ createCosmeticMilling(cosmeticMilling: CosmeticMilling): Observable<CosmeticMilling>;
13
+ updateCosmeticMilling(id: number, cosmeticMilling: CosmeticMilling): Observable<CosmeticMilling>;
14
+ deleteCosmeticMilling(id: number): Observable<any>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<CosmeticMillingService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<CosmeticMillingService>;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { Observable } from 'rxjs';
2
+ import { Customer } from '../types/customer';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CustomerService {
6
+ private http;
7
+ private env;
8
+ private url;
9
+ constructor(http: HttpClient, env: any);
10
+ readCustomers(includeInactive?: boolean, filter?: string): Observable<Customer[]>;
11
+ readCustomer(id: number): Observable<Customer>;
12
+ createCustomer(customer: Customer): Observable<Customer>;
13
+ updateCustomer(id: number, customer: Customer): Observable<Customer>;
14
+ deleteCustomer(id: number): Observable<any>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomerService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<CustomerService>;
17
+ }
@@ -0,0 +1,19 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { Dealer } from '../types/dealer';
4
+ import { DealerCoupon } from '../types';
5
+ import * as i0 from "@angular/core";
6
+ export declare class DealerService {
7
+ private http;
8
+ private env;
9
+ private url;
10
+ constructor(http: HttpClient, env: any);
11
+ readDealers(includeInactive?: boolean): Observable<Dealer[]>;
12
+ readDealer(id: number): Observable<Dealer>;
13
+ createDealer(dealer: Dealer): Observable<Dealer>;
14
+ updateDealer(id: number, dealer: Dealer): Observable<Dealer>;
15
+ deleteDealer(id: number): Observable<any>;
16
+ updateDealerCoupon(dealerId: number, couponId: number, dealerCoupon: DealerCoupon): Observable<Dealer>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<DealerService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<DealerService>;
19
+ }
@@ -0,0 +1,14 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class FileUploadService {
5
+ private http;
6
+ private env;
7
+ private url;
8
+ constructor(http: HttpClient, env: any);
9
+ deleteFile(fileName: string): Observable<any>;
10
+ saveFile(file: File): Observable<string>;
11
+ retrieveFile(fileName: string): Observable<File>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileUploadService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<FileUploadService>;
14
+ }