{"version":3,"file":"index-BUgeEZKb.js","sources":["../../Client/shared/Common/UrqHelpers/index.ts"],"sourcesContent":["import { createUpcomingRenewalQuote } from '@api/HOApi';\r\nimport { getPath, Path } from '@app/Views';\r\nimport { ProductLine } from '@business/CommonSets';\r\nimport { getRenewalTermFromPolicyNumber, handleGeneralError, isAdmin, navigate, normalizeError } from '@shared/Common';\r\nimport { ErrorCodes, pages } from '@shared/Constants';\r\n\r\n/** Creates a URQ from the provided quoteId.\r\n * Redirects to home for non-admin users and runs an optional callback if a urq already exists. */\r\nexport async function createUrqOrDefault(quoteId: string, urqExistsErrorCallback?: () => void) {\r\n if (!isAdmin()) {\r\n navigate(pages.Root);\r\n return '';\r\n }\r\n\r\n try {\r\n const urqId = await createUpcomingRenewalQuote(quoteId);\r\n return urqId;\r\n } catch (error) {\r\n const normalizedError = normalizeError(error);\r\n if (parseInt(normalizedError.subCode) === ErrorCodes.UpcomingRenewalQuoteAlreadyExists) {\r\n if (urqExistsErrorCallback) {\r\n urqExistsErrorCallback();\r\n return '';\r\n }\r\n }\r\n\r\n await handleGeneralError(error);\r\n }\r\n\r\n return '';\r\n}\r\n\r\n/** Handles navigating to URQ with either Classic or Enchilada quote page, depending on the feature flag. */\r\nexport function navigateToUrq(urqQuoteId: string, productLine: ProductLine) {\r\n const url = getPath(Path.UpcomingRenewalQuote, { quoteId: urqQuoteId, product: productLine.lowercaseName });\r\n navigate(url);\r\n}\r\n\r\n/** Gets a label for the URQ button that indicates if the policy has an existing URQ and shows the policy term for the URQ. */\r\nexport function getUrqButtonLabel(policyNumber: string, urqQuoteId?: string | null) {\r\n const renewalTerm = getRenewalTermFromPolicyNumber(policyNumber);\r\n return `${!!urqQuoteId ? 'View' : 'Create'} URQ (${renewalTerm})`;\r\n}\r\n\r\n/** Gets a tooltip message for the URQ button that indicates if the policy has an existing URQ and shows the policy term for the URQ. */\r\nexport function getUrqButtonTooltip(policyNumber: string, hasRenewalPolicy: boolean, urqQuoteId?: string | null) {\r\n if (hasRenewalPolicy && !urqQuoteId) {\r\n return 'Cannot create URQ because renewal policy is already in place';\r\n }\r\n const renewalTerm = getRenewalTermFromPolicyNumber(policyNumber);\r\n return `${!!urqQuoteId ? 'View existing' : 'Create new'} URQ for upcoming renewal term ${renewalTerm}`;\r\n}\r\n"],"names":["createUrqOrDefault","quoteId","urqExistsErrorCallback","isAdmin","navigate","pages","createUpcomingRenewalQuote","error","normalizedError","normalizeError","ErrorCodes","handleGeneralError","navigateToUrq","urqQuoteId","productLine","url","getPath","Path","getUrqButtonLabel","policyNumber","renewalTerm","getRenewalTermFromPolicyNumber","getUrqButtonTooltip","hasRenewalPolicy"],"mappings":"uIAQsB,eAAAA,EAAmBC,EAAiBC,EAAqC,CACvF,GAAA,CAACC,IACD,OAAAC,EAASC,EAAM,IAAI,EACZ,GAGP,GAAA,CAEO,OADO,MAAMC,EAA2BL,CAAO,QAEjDM,EAAO,CACN,MAAAC,EAAkBC,EAAeF,CAAK,EACxC,SAASC,EAAgB,OAAO,EAAME,EAAW,kCAOrD,MAAMC,EAAmBJ,CAAK,CAAA,CAG3B,MAAA,EACX,CAGgB,SAAAK,EAAcC,EAAoBC,EAA0B,CAClE,MAAAC,EAAMC,EAAQC,EAAK,qBAAsB,CAAE,QAASJ,EAAY,QAASC,EAAY,cAAe,EAC1GV,EAASW,CAAG,CAChB,CAGgB,SAAAG,EAAkBC,EAAsBN,EAA4B,CAC1E,MAAAO,EAAcC,EAA+BF,CAAY,EAC/D,MAAO,GAAKN,EAAa,OAAS,QAAQ,SAASO,CAAW,GAClE,CAGgB,SAAAE,EAAoBH,EAAsBI,EAA2BV,EAA4B,CACzG,GAAAU,GAAoB,CAACV,EACd,MAAA,+DAEL,MAAAO,EAAcC,EAA+BF,CAAY,EAC/D,MAAO,GAAKN,EAAa,gBAAkB,YAAY,kCAAkCO,CAAW,EACxG"}