{ "version": 3, "sources": ["src/app/root-store/cart-store/selectors.ts"], "sourcesContent": ["import { createFeatureSelector, createSelector } from '@ngrx/store';\r\nimport { EntryType, Order } from 'src/app/cart/cart.model';\r\nimport { CartState } from './state';\r\n\r\nexport const selectCart = createFeatureSelector('cart');\r\n\r\nexport const selectCartEditingItem = createSelector(\r\n selectCart,\r\n cart => cart.editCartItem,\r\n);\r\n\r\nexport const selectCartModel = createSelector(\r\n selectCart,\r\n cart => cart.cart\r\n)\r\n\r\nexport const selectOrder = createSelector(\r\n selectCart,\r\n cart => cart.order\r\n)\r\n\r\nexport const selectHasCartItems = createSelector(\r\n selectCart,\r\n cart => cart.cart?.items && cart.cart.items.length > 0\r\n)\r\n\r\nexport const selectCartItemCount = createSelector(\r\n selectCart,\r\n cart => cart.cart?.items.filter(i =>\r\n // don't count discount as an item\r\n i.entryType !== EntryType.Discount &&\r\n // don't count recurrence group, except if it's collapsed\r\n (i.entryType !== EntryType.RecurrenceGroup || i.collapseRecurrence)\r\n ).length\r\n)\r\n\r\nexport const selectCheckoutGenericFields = createSelector(\r\n selectCart,\r\n cart => cart.checkoutFields\r\n)\r\n\r\nexport const selectOrderFormModel = createSelector(\r\n selectOrder,\r\n order => {\r\n if (!order) return null\r\n\r\n return MapOrderToOrderFormModel(order)\r\n }\r\n)\r\n\r\nexport function MapOrderToOrderFormModel(order: Order): { [key: string]: string | boolean } {\r\n const model = {\r\n ...order.customer,\r\n additionalNotes: order.additionalNotes,\r\n purpose: order.purpose,\r\n adminComment: order.adminComment,\r\n state: order.status,\r\n paymentMethod: order.paymentMethod,\r\n readonly: order.readonly\r\n } as { [key: string]: string | boolean }\r\n\r\n Object.entries(order.orderFields).forEach(([fieldId, value]) => model[fieldId] = value)\r\n\r\n return model\r\n}\r\n"], "mappings": "sIAIO,IAAMA,EAAaC,EAAiC,MAAM,EAEpDC,EAAwBC,EACnCH,EACAI,GAAQA,EAAKC,YAAY,EAGdC,EAAkBH,EAC7BH,EACAI,GAAQA,EAAKA,IAAI,EAGNG,EAAcJ,EACzBH,EACAI,GAAQA,EAAKI,KAAK,EAGPC,EAAqBN,EAChCH,EACAI,GAAQA,EAAKA,MAAMM,OAASN,EAAKA,KAAKM,MAAMC,OAAS,CAAC,EAG3CC,EAAsBT,EACjCH,EACAI,GAAQA,EAAKA,MAAMM,MAAMG,OAAOC,GAE9BA,EAAEC,YAAcC,EAAUC,WAEzBH,EAAEC,YAAcC,EAAUE,iBAAmBJ,EAAEK,mBAAmB,EACnER,MAAM,EAGGS,EAA8BjB,EACzCH,EACAI,GAAQA,EAAKiB,cAAc,EAGhBC,EAAuBnB,EAClCI,EACAC,GACOA,EAEEe,EAAyBf,CAAK,EAFlB,IAGpB,EAGG,SAAUe,EAAyBf,EAAY,CACnD,IAAMgB,EAAQC,EAAAC,EAAA,GACTlB,EAAMmB,UADG,CAEZC,gBAAiBpB,EAAMoB,gBACvBC,QAASrB,EAAMqB,QACfC,aAActB,EAAMsB,aACpBC,MAAOvB,EAAMwB,OACbC,cAAezB,EAAMyB,cACrBC,SAAU1B,EAAM0B,WAGlBC,cAAOC,QAAQ5B,EAAM6B,WAAW,EAAEC,QAAQ,CAAC,CAACC,EAASC,CAAK,IAAMhB,EAAMe,CAAO,EAAIC,CAAK,EAE/EhB,CACT", "names": ["selectCart", "createFeatureSelector", "selectCartEditingItem", "createSelector", "cart", "editCartItem", "selectCartModel", "selectOrder", "order", "selectHasCartItems", "items", "length", "selectCartItemCount", "filter", "i", "entryType", "EntryType", "Discount", "RecurrenceGroup", "collapseRecurrence", "selectCheckoutGenericFields", "checkoutFields", "selectOrderFormModel", "MapOrderToOrderFormModel", "model", "__spreadProps", "__spreadValues", "customer", "additionalNotes", "purpose", "adminComment", "state", "status", "paymentMethod", "readonly", "Object", "entries", "orderFields", "forEach", "fieldId", "value"] }