{ "version": 3, "sources": ["apps/frontend/src/app/projects/services/sale-opportunities.service.ts"], "sourcesContent": ["import { Injectable } from '@angular/core';\nimport { UiPreferencesService } from '@proman/services/ui-preferences.service';\nimport { Entity } from '@proman/services/entity.service';\nimport { prepareRequest } from '@proman/utils';\nimport { pick } from 'lodash';\nimport { FilterService } from '@proman/services/filter.service';\nimport { ToastService } from '@proman/services/toast.service';\nimport { PromanStateService } from '@frontend/shared/services/proman-state.service';\nimport { SaleOpportunity } from '@proman/interfaces/entity-interfaces';\nimport { Dialog } from '@frontend/shared/services/dialog.service';\nimport moment from 'moment';\n\n@Injectable({ providedIn: 'root' })\nexport class SaleOpportunitiesService {\n\n public statuses: string[] = [\n 'active',\n 'won',\n 'archived',\n 'lost'\n ];\n customersQuery: any = { sort: { name: 'asc' } };\n\n saleOpportunityEntity: any;\n\n constructor(\n private promanState: PromanStateService,\n private Entity: Entity,\n private Filter: FilterService,\n private Toast: ToastService,\n private Dialog: Dialog,\n private UiPrefs: UiPreferencesService,\n ) {\n this.saleOpportunityEntity = this.Entity.get('sale_opportunity');\n }\n\n archive = (item: any) => {\n return new Promise((resolve) => {\n resolve(\n this.saleOpportunityEntity\n .update({\n id: item.id,\n status: this.statuses[2]\n })\n .then(() => {\n this.Toast.pop('success', 'moved_to_archive');\n this.promanState.to('SaleOpportunities');\n })\n )\n });\n };\n\n createOrder = (item: SaleOpportunity, newTab?: boolean) => {\n let data: any = prepareRequest(pick(item, ['name', 'manager', 'customer']));\n\n data.managerComments = item.comments;\n data.title = `${item.id} - ${item.name} - ${this.Filter.date(moment())}`;\n data.sale = item.id;\n\n return this.Entity.get('order_proposal')\n .create(data)\n .then((response: any) => {\n this.UiPrefs.set('activeOrderProposal', response.data);\n\n this.promanState.to('OrderCreate', null, { saleOpportunityId: item.id }, newTab);\n });\n };\n\n getStatuses() {\n let formattedStatuses = [];\n\n for (let status of this.statuses) {\n formattedStatuses.push({\n id: status,\n name: this.Filter.translate(status),\n type: status\n });\n }\n\n return formattedStatuses;\n };\n\n}\n"], "mappings": "+LAIA,IAAAA,EAAqB,OAMrB,IAAAC,EAAmB,OAGnB,IAAaC,GAAwB,IAAA,CAA/B,MAAOA,CAAwB,CAYjCC,YACYC,EACAC,EACAC,EACAC,EACAC,EACAC,EAA6B,CAL7B,KAAAL,YAAAA,EACA,KAAAC,OAAAA,EACA,KAAAC,OAAAA,EACA,KAAAC,MAAAA,EACA,KAAAC,OAAAA,EACA,KAAAC,QAAAA,EAhBL,KAAAC,SAAqB,CACxB,SACA,MACA,WACA,MAAM,EAEV,KAAAC,eAAsB,CAAEC,KAAM,CAAEC,KAAM,KAAK,CAAE,EAe7C,KAAAC,QAAWC,GACA,IAAIC,QAASC,GAAW,CAC3BA,EACI,KAAKC,sBACAC,OAAO,CACJC,GAAIL,EAAKK,GACTC,OAAQ,KAAKX,SAAS,CAAC,EAC1B,EACAY,KAAK,IAAK,CACP,KAAKf,MAAMgB,IAAI,UAAW,kBAAkB,EAC5C,KAAKnB,YAAYoB,GAAG,mBAAmB,CAC3C,CAAC,CAAC,CAEd,CAAC,EAGL,KAAAC,YAAc,CAACV,EAAuBW,IAAoB,CACtD,IAAIC,EAAYC,KAAeC,QAAKd,EAAM,CAAC,OAAQ,UAAW,UAAU,CAAC,CAAC,EAE1EY,OAAAA,EAAKG,gBAAkBf,EAAKgB,SAC5BJ,EAAKK,MAAQ,GAAGjB,EAAKK,EAAE,MAAML,EAAKF,IAAI,MAAM,KAAKP,OAAO2B,QAAKC,EAAAA,SAAM,CAAE,CAAC,GACtEP,EAAKQ,KAAOpB,EAAKK,GAEV,KAAKf,OAAO+B,IAAI,gBAAgB,EAClCC,OAAOV,CAAI,EACXL,KAAMgB,GAAiB,CACpB,KAAK7B,QAAQ8B,IAAI,sBAAuBD,EAASX,IAAI,EAErD,KAAKvB,YAAYoB,GAAG,cAAe,KAAM,CAAEgB,kBAAmBzB,EAAKK,EAAE,EAAIM,CAAM,CACnF,CAAC,CACT,EAjCI,KAAKR,sBAAwB,KAAKb,OAAO+B,IAAI,kBAAkB,CACnE,CAkCAK,aAAW,CACP,IAAIC,EAAoB,CAAA,EAExB,QAASrB,KAAU,KAAKX,SACpBgC,EAAkBC,KAAK,CACnBvB,GAAIC,EACJR,KAAM,KAAKP,OAAOsC,UAAUvB,CAAM,EAClCwB,KAAMxB,EACT,EAGL,OAAOqB,CACX,iDAnESxC,GAAwB4C,EAAAC,CAAA,EAAAD,EAAAzC,CAAA,EAAAyC,EAAAE,CAAA,EAAAF,EAAAG,CAAA,EAAAH,EAAAtC,CAAA,EAAAsC,EAAAI,CAAA,CAAA,CAAA,CAAA,iCAAxBhD,EAAwBiD,QAAxBjD,EAAwBkD,UAAAC,WADX,MAAM,CAAA,CAAA,SACnBnD,CAAwB,GAAA", "names": ["import_lodash", "import_moment", "SaleOpportunitiesService", "constructor", "promanState", "Entity", "Filter", "Toast", "Dialog", "UiPrefs", "statuses", "customersQuery", "sort", "name", "archive", "item", "Promise", "resolve", "saleOpportunityEntity", "update", "id", "status", "then", "pop", "to", "createOrder", "newTab", "data", "prepareRequest", "pick", "managerComments", "comments", "title", "date", "moment", "sale", "get", "create", "response", "set", "saleOpportunityId", "getStatuses", "formattedStatuses", "push", "translate", "type", "\u0275\u0275inject", "PromanStateService", "FilterService", "ToastService", "UiPreferencesService", "factory", "\u0275fac", "providedIn"] }