{"version":3,"file":"static/js/34.f69c9b6d26972b973c55.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/b2b/utilities/download-document-util.tsx?22c9","webpack://Msdyn365.Commerce.Online/./src/themes/b2b/utilities/propertyTypeEnum.ts?c903","webpack://Msdyn365.Commerce.Online/./src/themes/b2b/utilities/render-saleslines-address.tsx?9c93","webpack://Msdyn365.Commerce.Online/./node_modules/moment/locale/ sync ^\\.\\/.*$?b2df"],"sourcesContent":["import { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { AttributeValueBase } from '@msdyn365-commerce/retail-proxy';\r\nimport React from 'react';\r\nimport {\r\n IAddress,\r\n IAllDocuments,\r\n IAnticapteIssues,\r\n IAppalentInformation,\r\n IAppealAgainst,\r\n IBringingWitness,\r\n ICustomerInformation,\r\n IDateAndReasonForAppealReadOnly,\r\n IDocumentAvailibility,\r\n ILCSABAgentInformaitonReadOnly,\r\n ILCSABAppellantInformationReadOnly,\r\n ILCSABCustomerInformationReadOnly,\r\n ILegalDescription,\r\n ILegalDescriptionCondo,\r\n ILineDocument\r\n} from './types/order';\r\nimport { IGroup, IGroups, ISalesLine } from '@msdyn365-commerce-modules/order-management';\r\nimport { PropertyType } from './propertyTypeEnum';\r\nimport { getDocumentBlobSecureUrlAsync } from '../../../customProxy/retailExtension/DataActionExtension.g';\r\nimport { getAttributeValuesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\n\r\nexport const _downloadDocument = async (context: ICoreContext, fileName: string, secureURL: string | undefined) => {\r\n try {\r\n const link = document.createElement('a');\r\n link.href = secureURL || '';\r\n // TODO: Need to get file Extension from API response in future.\r\n link.setAttribute('download', `${fileName}`);\r\n link.setAttribute('target', `_blank`);\r\n // Append to html link element page\r\n document.body.appendChild(link);\r\n // Start download\r\n link.click();\r\n // Clean up and remove the link\r\n link.parentNode && link.parentNode.removeChild(link);\r\n return;\r\n } catch (error) {\r\n context.telemetry.error(`Failed to download the file \"${fileName}\" ${error}`);\r\n return null;\r\n }\r\n};\r\n\r\n/* This method is use to render download button for document download */\r\nexport const renderDownloadDocumentButton = (\r\n lineAttributes: AttributeValueBase[] | undefined,\r\n customContext: ICoreContext | undefined,\r\n productName: string,\r\n downloadLabel: string,\r\n lineDocument: ILineDocument[],\r\n fetchTimeoutLabel?: string,\r\n fetchRetryLabel?: string,\r\n processingLabel?: string,\r\n retry?: () => void,\r\n noOfRetries?: number,\r\n maxRetries?: number,\r\n): React.ReactNode => {\r\n const { searchKeyNameAttribute, searchKeyValueAttribute, documentAttribute } = customContext?.request.app.config;\r\n\r\n const createDownloadButton = (matchedDocument: ILineDocument, documentName: string): React.ReactNode => {\r\n return matchedDocument.isError ? (\r\n \r\n ) : (\r\n _downloadDocument(customContext!, `${documentName}`, matchedDocument?.secureURL)}\r\n >\r\n {!matchedDocument.isSet ? (\r\n <>\r\n {' '}\r\n {processingLabel}\r\n \r\n ) : (\r\n downloadLabel\r\n )}\r\n \r\n );\r\n };\r\n\r\n if (lineAttributes) {\r\n const attributeName = lineAttributes.find(line => line.Name === searchKeyNameAttribute);\r\n const attributeValue = lineAttributes.find(line => line.Name === searchKeyValueAttribute);\r\n // @ts-ignore\r\n const atributeNameText = attributeName?.TextValue?.trim();\r\n const linePropertyType = atributeNameText ? +atributeNameText : PropertyType.default;\r\n // @ts-ignore\r\n const lineValue = attributeValue?.TextValue!;\r\n\r\n switch (linePropertyType) {\r\n case PropertyType.address:\r\n case PropertyType.legalDescription:\r\n case PropertyType.legalDescriptionCondo:\r\n {\r\n const addressValue = createName(createName(lineValue, '||'), ' ');\r\n const documentName = createDownloadDocName(createName(productName, ' '), addressValue);\r\n const matchedDocument = lineDocument.find(line => line.documentName === documentName);\r\n if (matchedDocument) {\r\n return createDownloadButton(matchedDocument, documentName);\r\n }\r\n }\r\n break;\r\n case PropertyType.sdab:\r\n case PropertyType.lcsab:\r\n return;\r\n // below all cases have same implementation\r\n case PropertyType.quadrant:\r\n case PropertyType.blockProfile:\r\n case PropertyType.ats:\r\n case PropertyType.cityWide:\r\n case PropertyType.none:\r\n case PropertyType.community:\r\n {\r\n const attributeDocument = lineAttributes.find(line => line.Name === documentAttribute);\r\n // @ts-ignore\r\n const lineDocumentValue: string = attributeDocument?.TextValue! || '';\r\n const documentName = lineDocumentValue\r\n .split('||')[1]\r\n .trim()\r\n .toLowerCase();\r\n const matchedDocument = lineDocument.find(line => line.documentName.toLowerCase() === documentName);\r\n if (matchedDocument) {\r\n return createDownloadButton(matchedDocument, documentName);\r\n }\r\n }\r\n break;\r\n case PropertyType.cpid:\r\n case PropertyType.rollNumber:\r\n case PropertyType.lincNumber:\r\n case PropertyType.titleNumber:\r\n {\r\n const documentName = createDownloadDocName(createName(productName, ' '), lineValue?.trim());\r\n const matchedDocument = lineDocument.find(line => line.documentName === documentName);\r\n if (matchedDocument) {\r\n return createDownloadButton(matchedDocument, documentName);\r\n }\r\n }\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n return;\r\n};\r\n// function is to keep requesting after specific interval of time to Azure blob to check if doc is available or not.\r\nexport function checkDocumentAvailibility(docs: IDocumentAvailibility) {\r\n const { groups, lineDocument, setLineDocument, allDocuments, context, channelReferenceId } = docs;\r\n // getting app level configs\r\n const config = context?.request.app.config;\r\n const interval = setInterval(() => {\r\n if (allDocuments.isAvailable) {\r\n groups?.groups.forEach((group: IGroup) => {\r\n group.salesLines.forEach((salesLine: ISalesLine, index: number) => {\r\n const { searchKeyNameAttribute } = config;\r\n const attributeName =\r\n salesLine.data.salesLine.AttributeValues &&\r\n salesLine.data.salesLine.AttributeValues.find(line => line.Name === searchKeyNameAttribute);\r\n // @ts-ignore\r\n const linePropertyType: number = parseInt(attributeName?.TextValue!);\r\n let name: string = '';\r\n name = createDocumentName(salesLine, config);\r\n if (name != '') {\r\n if (\r\n linePropertyType != PropertyType.community &&\r\n linePropertyType != PropertyType.blockProfile &&\r\n linePropertyType != PropertyType.quadrant &&\r\n linePropertyType != PropertyType.ats &&\r\n linePropertyType != PropertyType.none &&\r\n linePropertyType != PropertyType.cityWide\r\n ) {\r\n name = createDownloadDocName(createName(salesLine.data.product?.Name!, ' '), name);\r\n }\r\n\r\n // getting line from the state whoes doc is still not received\r\n const stateLine = lineDocument.find(line => line.documentName === name && line.isSet === false);\r\n if (stateLine?.documentName === name && stateLine.isSet === false) {\r\n let nameWithExtension = name;\r\n if (\r\n linePropertyType != PropertyType.community &&\r\n linePropertyType != PropertyType.blockProfile &&\r\n linePropertyType != PropertyType.quadrant &&\r\n linePropertyType != PropertyType.ats &&\r\n linePropertyType != PropertyType.none &&\r\n linePropertyType != PropertyType.cityWide\r\n ) {\r\n nameWithExtension = `${nameWithExtension}${stateLine.documentType}`;\r\n }\r\n const uniqueId = new Date().toString();\r\n getDocumentBlobSecureUrlAsync(\r\n { callerContext: context.actionContext },\r\n channelReferenceId || '',\r\n nameWithExtension,\r\n uniqueId\r\n )\r\n .then(response => {\r\n if (response.Status) {\r\n const docIndex = lineDocument.indexOf(lineDocument.find(line => line.documentName === name)!);\r\n lineDocument[docIndex].secureURL = response.SecureBlobUrl;\r\n lineDocument[docIndex].isSet = true;\r\n \r\n setLineDocument([...lineDocument]);\r\n }\r\n })\r\n .catch(error => {\r\n lineDocument.find(line => line.documentName === name)!.isError = true;\r\n \r\n setLineDocument([...lineDocument]);\r\n context.telemetry.error(`Failed to download the file ${error}`);\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }, config.requestInterval);\r\n\r\n // This represents the unmount function, in which you need to clear your interval to prevent memory leaks.\r\n return interval;\r\n}\r\nexport function createName(name: string, strDelimeter: string) {\r\n return name\r\n .trim()\r\n .split(strDelimeter)\r\n .map((val: string) => val?.trim())\r\n .filter(val => val != '')\r\n .join('_')\r\n .trim();\r\n}\r\nexport function createDownloadDocName(productName: string, searchKey: string) {\r\n return `${searchKey.toUpperCase()}_${productName}`;\r\n}\r\n// function to set initial state of lines\r\nexport async function setLineDocumentState(\r\n groups: IGroups | undefined,\r\n context: ICoreContext<{\r\n [x: string]: any;\r\n }>,\r\n lineDocument: ILineDocument[],\r\n setLineDocument: React.Dispatch>\r\n) {\r\n const {\r\n searchKeyNameAttribute,\r\n searchKeyValueAttribute,\r\n azureBlobFileFormat,\r\n documentAttribute,\r\n folioNumberValueAttribute,\r\n productTypePA,\r\n colCDLICProductID\r\n } = context.app.config;\r\n const {\r\n customerFirstName,\r\n customerLastName,\r\n customerEmail,\r\n customerEmailConfirm,\r\n productOwnerEmail,\r\n customerAddress,\r\n customerAddress2,\r\n customerCity,\r\n customerProvince,\r\n customerPostalCode,\r\n customerResidentialPhone,\r\n customerCountry,\r\n siteMunicipalAddressOfSite,\r\n siteOtherDocuments,\r\n appelantFirstName,\r\n appelantLastName,\r\n appelantAgentName,\r\n appelantEmailAddress,\r\n appelantEmailConfirmAddress,\r\n appelantAddress,\r\n appelantAddress2,\r\n appelantCity,\r\n appelantProvince,\r\n appelantPostalCode,\r\n appelantResidentialPhone,\r\n appealDevelopmentPermitType,\r\n appealReasonForAppeal,\r\n appealEstimatedPresentationTime,\r\n appealUsingAgent,\r\n appealAnticipateIssues,\r\n appealReason,\r\n appealBringingWitness,\r\n appealNumberOfWitness,\r\n customerInfoDPN,\r\n customerInfoSPN,\r\n appellantInfoDPN,\r\n appellantInfoSPN,\r\n usingAgentInfo,\r\n lcsabAgentName,\r\n lcsabAgentEmailAddress,\r\n lcsabAgentAddress1,\r\n lcsabAgentAddress2,\r\n lcsabAgentCity,\r\n lcsabAgentProvince,\r\n lcsabAgentPostalCode,\r\n lcsabAgentDPN,\r\n lcsabAgentSPN,\r\n lcsabAgentDecisionDate,\r\n lcsabAppealType\r\n } = context.app.config;\r\n let lineDocs: ILineDocument[] = [];\r\n for (let gourpIndex = 0; gourpIndex < groups?.groups.length! || 0; gourpIndex++) {\r\n const group = groups?.groups[gourpIndex];\r\n for (let saleLineIndex = 0; saleLineIndex < group?.salesLines.length! || 0; saleLineIndex++) {\r\n const salesLine = group?.salesLines[saleLineIndex];\r\n if (\r\n salesLine?.data.salesLine.AttributeValues &&\r\n !lineDocument.some(line => line.lineNumber === salesLine?.data.salesLine.LineNumber)\r\n ) {\r\n const attributeName = salesLine.data.salesLine.AttributeValues.find(line => line.Name === searchKeyNameAttribute);\r\n const attributeValue = salesLine.data.salesLine.AttributeValues.find(line => line.Name === searchKeyValueAttribute);\r\n const attributeDocument = salesLine.data.salesLine.AttributeValues.find(line => line.Name === documentAttribute);\r\n const attributeFolioNumber = salesLine.data.salesLine.AttributeValues.find(line => line.Name === folioNumberValueAttribute);\r\n // @ts-ignore\r\n const atributeNameText = attributeName?.TextValue?.trim();\r\n const linePropertyType = atributeNameText ? +atributeNameText : PropertyType.default;\r\n // @ts-ignore\r\n const lineValue = attributeValue?.TextValue! || '';\r\n // @ts-ignore\r\n const lineDocumentValue: string = attributeDocument?.TextValue! || '';\r\n // @ts-ignore\r\n const lineFolioNumber: string = attributeFolioNumber?.TextValue! || '';\r\n\r\n let lineDoc: ILineDocument = { documentName: '', lineNumber: 0, isSet: false };\r\n \r\n const productName = salesLine.data.product?.Name;\r\n const productDetails = salesLine.data.product;\r\n\r\n // getting product attributes\r\n const attributeValues = await getAttributeValuesAsync(\r\n { callerContext: context.actionContext, queryResultSettings: {} },\r\n productDetails?.RecordId!,\r\n context.request.apiSettings.channelId,\r\n 0\r\n );\r\n const prodType = attributeValues.find(attr => attr.Name === productTypePA)?.TextValue || '';\r\n const rateId = parseInt(attributeValues.find(attr => attr.Name === colCDLICProductID)?.TextValue!) || 0;\r\n const productOwnerEmailValue = attributeValues.find(attr => attr.Name === productOwnerEmail)?.TextValue || '';\r\n\r\n // we are sending address with all orders save address from server\r\n // default is for Roll number, LINC, CPID and Title Number as it is only a string array\r\n switch (linePropertyType) {\r\n case PropertyType.address:\r\n {\r\n const addressArr = lineValue.split('||');\r\n let lineSuite, lineNumber, lineStreetName, lineStreetType, lineQuadrant;\r\n // check if address length is 5, it means address contain suite. if length is 4 it doesnot have suite\r\n if (addressArr.length === 5) {\r\n [lineSuite, lineNumber, lineStreetName, lineStreetType, lineQuadrant] = lineValue\r\n .split('||')\r\n .map((val: string) => val?.trim().toLowerCase());\r\n } else if (addressArr.length === 4) {\r\n [lineNumber, lineStreetName, lineStreetType, lineQuadrant] = lineValue\r\n .split('||')\r\n .map((val: string) => val?.trim().toLowerCase());\r\n }\r\n const address: IAddress = {\r\n suite: lineSuite,\r\n number: lineNumber,\r\n streetName: lineStreetName,\r\n streetType: lineStreetType,\r\n quadrant: lineQuadrant\r\n };\r\n lineDoc = {\r\n documentName: `${createDownloadDocName(\r\n createName(productName!, ' '),\r\n createName(createName(lineValue, '||'), ' ')\r\n )}`,\r\n lineNumber: salesLine.data.salesLine.LineNumber!,\r\n isSet: false,\r\n documentType: azureBlobFileFormat,\r\n productType: prodType,\r\n propertyType: linePropertyType,\r\n address: { ...address },\r\n productName: productName,\r\n folioNumber: lineFolioNumber,\r\n rateId: rateId,\r\n productID: salesLine.data.product?.RecordId?.toString()\r\n };\r\n }\r\n break;\r\n\r\n case PropertyType.legalDescription:\r\n {\r\n let plan, block, lot;\r\n [plan, block, lot] = lineValue.split('||').map((val: string) => val?.trim().toLowerCase());\r\n let docName = '';\r\n let legalDesc: ILegalDescription = {\r\n plan: plan\r\n };\r\n docName = plan;\r\n // check if block and lot is valid and have some value in it\r\n if (block && block != '') {\r\n legalDesc.block = block;\r\n docName = `${docName}_${block}`;\r\n }\r\n if (lot && lot != '') {\r\n legalDesc.lot = lot;\r\n docName = `${docName}_${lot}`;\r\n }\r\n const productName = salesLine.data.product?.Name;\r\n lineDoc = {\r\n documentName: `${createDownloadDocName(createName(productName!, ' '), docName.trim())}`,\r\n lineNumber: salesLine.data.salesLine.LineNumber!,\r\n isSet: false,\r\n documentType: azureBlobFileFormat,\r\n propertyType: linePropertyType,\r\n productType: prodType,\r\n legalDesc: { ...legalDesc },\r\n productName: productName,\r\n folioNumber: lineFolioNumber,\r\n rateId: rateId,\r\n productID: salesLine.data.product?.RecordId?.toString()\r\n };\r\n }\r\n break;\r\n\r\n case PropertyType.legalDescriptionCondo:\r\n {\r\n const addressArr = lineValue.split('||');\r\n let plan, unit;\r\n // check if address length is 2, it means address contain unit. if length is 1 it doesnot have unit\r\n if (addressArr.length === 2) {\r\n [plan, unit] = lineValue.split('||').map((val: string) => val?.trim().toLowerCase());\r\n } else {\r\n [plan] = lineValue.trim().toLowerCase();\r\n }\r\n const legalDescCondo: ILegalDescriptionCondo = {\r\n plan: plan,\r\n unit: unit\r\n };\r\n const productName = salesLine.data.product?.Name;\r\n lineDoc = {\r\n documentName: `${createDownloadDocName(createName(productName!, ' '), createName(lineValue, '||'))}`,\r\n lineNumber: salesLine.data.salesLine.LineNumber!,\r\n productID: salesLine.data.product?.RecordId?.toString(),\r\n isSet: false,\r\n documentType: azureBlobFileFormat,\r\n propertyType: linePropertyType,\r\n productType: prodType,\r\n legalDescCondo: { ...legalDescCondo },\r\n productName: productName,\r\n folioNumber: lineFolioNumber,\r\n rateId: rateId\r\n };\r\n }\r\n break;\r\n case PropertyType.lcsab:\r\n const attributes = [...salesLine.data.salesLine.AttributeValues];\r\n const lcsabCustomerInfo: ILCSABCustomerInformationReadOnly = {\r\n //@ts-ignore\r\n firstName: attributes.find(line => line.Name === customerFirstName)?.TextValue!,\r\n //@ts-ignore\r\n lastName: attributes.find(line => line.Name === customerLastName)?.TextValue!,\r\n //@ts-ignore\r\n email: attributes.find(line => line.Name === customerEmail)?.TextValue!,\r\n\r\n productOwnerEmail: productOwnerEmailValue,\r\n \r\n //@ts-ignore \r\n emailConfirm: attributes.find(line => line.Name === customerEmailConfirm)?.TextValue!,\r\n //@ts-ignore\r\n address1: attributes.find(line => line.Name === customerAddress)?.TextValue!,\r\n //@ts-ignore\r\n address2: attributes.find(line => line.Name === customerAddress2)?.TextValue!,\r\n //@ts-ignore\r\n city: attributes.find(line => line.Name === customerCity)?.TextValue!,\r\n //@ts-ignore\r\n province: attributes.find(line => line.Name === customerProvince)?.TextValue!,\r\n //@ts-ignore\r\n postalCode: attributes.find(line => line.Name === customerPostalCode)?.TextValue!,\r\n //@ts-ignore\r\n dayTimePhoneNumber: attributes.find(line => line.Name === customerInfoDPN)?.TextValue!,\r\n //@ts-ignore\r\n secondaryPhoneNumber: attributes.find(line => line.Name === customerInfoSPN)?.TextValue!\r\n };\r\n const lcsabAppellantInfo: ILCSABAppellantInformationReadOnly = {\r\n //@ts-ignore\r\n firstName: attributes.find(line => line.Name === appelantFirstName)?.TextValue!,\r\n //@ts-ignore\r\n lastName: attributes.find(line => line.Name === appelantLastName)?.TextValue!,\r\n //@ts-ignore\r\n email: attributes.find(line => line.Name === appelantEmailAddress)?.TextValue!,\r\n productOwnerEmail: productOwnerEmailValue,\r\n //@ts-ignore\r\n emailConfirm: attributes.find(line => line.Name === appelantEmailConfirmAddress)?.TextValue!,\r\n //@ts-ignore\r\n address1: attributes.find(line => line.Name === appelantAddress)?.TextValue!,\r\n //@ts-ignore\r\n address2: attributes.find(line => line.Name === appelantAddress2)?.TextValue!,\r\n //@ts-ignore\r\n city: attributes.find(line => line.Name === appelantCity)?.TextValue!,\r\n //@ts-ignore\r\n province: attributes.find(line => line.Name === appelantProvince)?.TextValue!,\r\n //@ts-ignore\r\n postalCode: attributes.find(line => line.Name === appelantPostalCode)?.TextValue!,\r\n //@ts-ignore\r\n dayTimePhoneNumber: attributes.find(line => line.Name === appellantInfoDPN)?.TextValue!,\r\n //@ts-ignore\r\n secondaryPhoneNumber: attributes.find(line => line.Name === appellantInfoSPN)?.TextValue!,\r\n //@ts-ignore\r\n municipalAddress: attributes.find(line => line.Name === siteMunicipalAddressOfSite)?.TextValue!\r\n };\r\n //@ts-ignore\r\n const usingAgentInformation: string = attributes.find(line => line.Name === usingAgentInfo)?.TextValue! as String;\r\n const lcsabAgentInformation: ILCSABAgentInformaitonReadOnly = {\r\n // Agent doeesn't have first and last name\r\n firstName: '',\r\n lastName: '',\r\n //@ts-ignore\r\n agentName: attributes.find(line => line.Name === lcsabAgentName)?.TextValue!,\r\n //@ts-ignore\r\n email: attributes.find(line => line.Name === lcsabAgentEmailAddress)?.TextValue!,\r\n productOwnerEmail: productOwnerEmailValue,\r\n //@ts-ignore\r\n emailConfirm: attributes.find(line => line.Name === lcsabAgentEmailAddress)?.TextValue!,\r\n //@ts-ignore\r\n address1: attributes.find(line => line.Name === lcsabAgentAddress1)?.TextValue!,\r\n //@ts-ignore\r\n address2: attributes.find(line => line.Name === lcsabAgentAddress2)?.TextValue!,\r\n //@ts-ignore\r\n city: attributes.find(line => line.Name === lcsabAgentCity)?.TextValue!,\r\n //@ts-ignore\r\n province: attributes.find(line => line.Name === lcsabAgentProvince)?.TextValue!,\r\n //@ts-ignore\r\n postalCode: attributes.find(line => line.Name === lcsabAgentPostalCode)?.TextValue!,\r\n //@ts-ignore\r\n dayTimePhoneNumber: attributes.find(line => line.Name === lcsabAgentDPN)?.TextValue!,\r\n //@ts-ignore\r\n secondaryPhoneNumber: attributes.find(line => line.Name === lcsabAgentSPN)?.TextValue!\r\n };\r\n const lcsabDateAndReasonForAppeal: IDateAndReasonForAppealReadOnly = {\r\n //@ts-ignore\r\n date: attributes.find(line => line.Name === lcsabAgentDecisionDate)?.TextValue!,\r\n //@ts-ignore\r\n reasonForAppeal: attributes.find(line => line.Name === appealReasonForAppeal)?.TextValue!\r\n };\r\n //@ts-ignore\r\n const categoryAppealType = attributes.find(line => line.Name === lcsabAppealType)?.TextValue! as string;\r\n lineDoc = {\r\n lcsab: {\r\n customerInformation: lcsabCustomerInfo,\r\n appellantInformation: lcsabAppellantInfo,\r\n agentInformation: lcsabAgentInformation,\r\n usingAgent: usingAgentInformation,\r\n dateAndReasonForAppeal: lcsabDateAndReasonForAppeal,\r\n categoryAppealTypeForCRT: categoryAppealType\r\n },\r\n documentName: '',\r\n lineNumber: salesLine.data.salesLine.LineNumber!,\r\n isSet: false,\r\n documentType: azureBlobFileFormat,\r\n propertyType: linePropertyType,\r\n productName,\r\n productID: salesLine.data.product?.RecordId?.toString(),\r\n productType: prodType,\r\n folioNumber: lineFolioNumber,\r\n };\r\n break;\r\n case PropertyType.sdab:\r\n const attributeValues = [...salesLine.data.salesLine.AttributeValues];\r\n\r\n const appealAgainstType = attributeValues.find(line => line.Name === appealDevelopmentPermitType) //@ts-ignore\r\n ?.TextValue! as string;\r\n const [developmentPermit, subdivisionPermit, noticeOrder] = appealAgainstType.split('||');\r\n const customerInformation: ICustomerInformation = {\r\n //@ts-ignore\r\n firstName: attributeValues.find(line => line.Name === customerFirstName)?.TextValue!,\r\n //@ts-ignore\r\n lastName: attributeValues.find(line => line.Name === customerLastName)?.TextValue!,\r\n //@ts-ignore\r\n email: attributeValues.find(line => line.Name === customerEmail)?.TextValue!,\r\n productOwnerEmail: productOwnerEmailValue,\r\n //@ts-ignore\r\n emailConfirm: attributeValues.find(line => line.Name === customerEmailConfirm)?.TextValue!,\r\n //@ts-ignore\r\n address1: attributeValues.find(line => line.Name === customerAddress)?.TextValue!,\r\n //@ts-ignore\r\n address2: attributeValues.find(line => line.Name === customerAddress2)?.TextValue!,\r\n //@ts-ignore\r\n city: attributeValues.find(line => line.Name === customerCity)?.TextValue!,\r\n //@ts-ignore\r\n province: attributeValues.find(line => line.Name === customerProvince)?.TextValue!,\r\n //@ts-ignore\r\n postalCode: attributeValues.find(line => line.Name === customerPostalCode)?.TextValue!,\r\n //@ts-ignore\r\n residentialPhone: attributeValues.find(line => line.Name === customerResidentialPhone)?.TextValue!,\r\n //@ts-ignore\r\n country: attributeValues.find(line => line.Name === customerCountry)?.TextValue!,\r\n //@ts-ignore\r\n municipalAddress: attributeValues.find(line => line.Name === siteMunicipalAddressOfSite)?.TextValue!,\r\n //@ts-ignore\r\n otherDocuments: attributeValues.find(line => line.Name === siteOtherDocuments)?.TextValue!\r\n };\r\n const appelantInformation: IAppalentInformation = {\r\n //@ts-ignore\r\n firstName: attributeValues.find(line => line.Name === appelantFirstName)?.TextValue!,\r\n //@ts-ignore\r\n lastName: attributeValues.find(line => line.Name === appelantLastName)?.TextValue!,\r\n //@ts-ignore\r\n agentName: attributeValues.find(line => line.Name === appelantAgentName)?.TextValue!,\r\n //@ts-ignore\r\n email: attributeValues.find(line => line.Name === appelantEmailAddress)?.TextValue!,\r\n productOwnerEmail: productOwnerEmailValue,\r\n \r\n //@ts-ignore\r\n emailConfirm: attributeValues.find(line => line.Name === appelantEmailConfirmAddress)?.TextValue!,\r\n // @ts-ignore\r\n address1: attributeValues.find(line => line.Name === appelantAddress)?.TextValue!,\r\n //@ts-ignore\r\n address2: attributeValues.find(line => line.Name === appelantAddress2)?.TextValue!,\r\n //@ts-ignore\r\n city: attributeValues.find(line => line.Name === appelantCity)?.TextValue!,\r\n //@ts-ignore\r\n province: attributeValues.find(line => line.Name === appelantProvince)?.TextValue!,\r\n //@ts-ignore\r\n postalCode: attributeValues.find(line => line.Name === appelantPostalCode)?.TextValue!,\r\n //@ts-ignore\r\n residentialPhone: attributeValues.find(line => line.Name === appelantResidentialPhone)?.TextValue!\r\n };\r\n const appealAgainst: IAppealAgainst = {\r\n appeal: '',\r\n appealAgainstDevelopment: developmentPermit.trim(),\r\n appealAgainstSubDivisionApplication: subdivisionPermit.trim(),\r\n appealAgainstNoticOrder: noticeOrder.trim(),\r\n //@ts-ignore\r\n reasonOfAppeal: attributeValues.find(line => line.Name === appealReasonForAppeal)?.TextValue!,\r\n //@ts-ignore\r\n presentationTime: attributeValues.find(line => line.Name === appealEstimatedPresentationTime)?.TextValue!,\r\n //@ts-ignore\r\n usingAgentOrLegalCounsel: attributeValues.find(line => line.Name === appealUsingAgent)?.TextValue!\r\n };\r\n const anticipateIssues: IAnticapteIssues = {\r\n isAnticipateIssuesWithYourAppeal:\r\n //@ts-ignore\r\n attributeValues.find(line => line.Name === appealAnticipateIssues)?.TextValue!,\r\n isAnticipateIssuesWithYourAppealDescription:\r\n //@ts-ignore\r\n attributeValues.find(line => line.Name === appealReason)?.TextValue!\r\n };\r\n const witness: IBringingWitness = {\r\n //@ts-ignore\r\n bringingWitness: attributeValues.find(line => line.Name === appealBringingWitness)?.TextValue!,\r\n //@ts-ignore\r\n howManyWitness: attributeValues.find(line => line.Name === appealNumberOfWitness)?.TextValue!\r\n };\r\n lineDoc = {\r\n sdab: {\r\n anticipateIssues: anticipateIssues,\r\n appealAgainst: appealAgainst,\r\n appelantInformation: appelantInformation,\r\n customerInformation: customerInformation,\r\n witness: witness\r\n },\r\n documentName: '',\r\n lineNumber: salesLine.data.salesLine.LineNumber!,\r\n isSet: false,\r\n documentType: azureBlobFileFormat,\r\n propertyType: linePropertyType,\r\n productName,\r\n productID: salesLine.data.product?.RecordId?.toString(),\r\n productType: prodType,\r\n folioNumber: lineFolioNumber\r\n };\r\n break;\r\n // below all cases have same implementation\r\n case PropertyType.community:\r\n case PropertyType.quadrant:\r\n case PropertyType.blockProfile:\r\n case PropertyType.cityWide:\r\n case PropertyType.none:\r\n case PropertyType.ats:\r\n {\r\n const productName = salesLine.data.product?.Name;\r\n const doc = lineDocumentValue.split('||');\r\n lineDoc = {\r\n documentName: doc[1].trim(),\r\n lineNumber: salesLine.data.salesLine.LineNumber!,\r\n documentId: doc[0].trim(),\r\n isSet: false,\r\n propertyType: linePropertyType,\r\n productType: prodType,\r\n lookFor: lineValue,\r\n productName: productName,\r\n folioNumber: lineFolioNumber,\r\n documentType: '',\r\n rateId: rateId,\r\n productID: salesLine.data.product?.RecordId?.toString()\r\n };\r\n }\r\n break;\r\n case PropertyType.cpid:\r\n case PropertyType.rollNumber:\r\n case PropertyType.lincNumber:\r\n case PropertyType.titleNumber:\r\n {\r\n const productName = salesLine.data.product?.Name;\r\n lineDoc = {\r\n documentName: createDownloadDocName(createName(productName!, ' '), lineValue?.trim()),\r\n lineNumber: salesLine.data.salesLine.LineNumber!,\r\n isSet: false,\r\n documentType: azureBlobFileFormat,\r\n propertyType: linePropertyType,\r\n productType: prodType,\r\n lookFor: lineValue,\r\n productName: productName,\r\n folioNumber: lineFolioNumber,\r\n rateId: rateId,\r\n productID: salesLine.data.product?.RecordId?.toString()\r\n };\r\n }\r\n break;\r\n default:\r\n {\r\n const productName = salesLine.data.product?.Name;\r\n lineDoc = {\r\n documentName: '',\r\n lineNumber: salesLine.data.salesLine.LineNumber!,\r\n isSet: false,\r\n documentType: '',\r\n propertyType: PropertyType.default,\r\n productType: '',\r\n productName: productName,\r\n folioNumber: lineFolioNumber,\r\n rateId: rateId,\r\n productID: salesLine.data.product?.RecordId?.toString()\r\n };\r\n }\r\n break;\r\n }\r\n lineDocs.push({ ...lineDoc });\r\n }\r\n }\r\n }\r\n if (lineDocs.length > 0) {\r\n setLineDocument(prevState => [...prevState, ...lineDocs]);\r\n }\r\n}\r\n\r\n// function is to create a name for document\r\nfunction createDocumentName(salesLine: ISalesLine, config: any) {\r\n let name: string = '';\r\n const { searchKeyNameAttribute, searchKeyValueAttribute, documentAttribute } = config;\r\n if (salesLine.data.salesLine.AttributeValues) {\r\n // Extracting Property type and value from line attributes\r\n const attributeName = salesLine.data.salesLine.AttributeValues.find(line => line.Name === searchKeyNameAttribute);\r\n const attributeValue = salesLine.data.salesLine.AttributeValues.find(line => line.Name === searchKeyValueAttribute);\r\n const attributeDocument = salesLine.data.salesLine.AttributeValues.find(line => line.Name === documentAttribute);\r\n // @ts-ignore\r\n const atributeNameText = attributeName?.TextValue?.trim();\r\n const linePropertyType = atributeNameText ? +atributeNameText : PropertyType.default;\r\n // @ts-ignore\r\n const lineValue = attributeValue?.TextValue! || '';\r\n // @ts-ignore\r\n const lineDocumentValue: string = attributeDocument?.TextValue! || '';\r\n\r\n // default is for Roll number, LINC, CPID and Title Number as it is only a string array\r\n switch (linePropertyType) {\r\n case PropertyType.address:\r\n case PropertyType.legalDescription:\r\n case PropertyType.legalDescriptionCondo:\r\n name = createName(createName(lineValue, '||'), ' ');\r\n break;\r\n case PropertyType.sdab:\r\n case PropertyType.lcsab:\r\n name = '';\r\n break;\r\n case PropertyType.community:\r\n case PropertyType.quadrant:\r\n case PropertyType.blockProfile:\r\n case PropertyType.ats:\r\n case PropertyType.cityWide:\r\n case PropertyType.none:\r\n name = lineDocumentValue.split('||')[1].trim();\r\n break;\r\n case PropertyType.cpid:\r\n case PropertyType.rollNumber:\r\n case PropertyType.lincNumber:\r\n case PropertyType.titleNumber:\r\n name = lineValue;\r\n break;\r\n default:\r\n name = '';\r\n break;\r\n }\r\n }\r\n return name;\r\n}\r\n\r\n// this function is to check and get zip file from azure blob\r\nexport function checkZipDocument(\r\n allDocuments: IAllDocuments,\r\n channelReferenceId: string,\r\n setAllDocuments: React.Dispatch>,\r\n context: ICoreContext<{ [x: string]: any }>,\r\n setBarWidth: React.Dispatch>,\r\n downloadableFiles: number\r\n) {\r\n const { requestInterval } = context?.request.app.config;\r\n const interval = setInterval(async () => {\r\n if (!allDocuments.isAvailable && allDocuments.zipStatus) {\r\n try {\r\n const uniqueId = new Date().toString();\r\n const response = await getDocumentBlobSecureUrlAsync(\r\n { callerContext: context.actionContext },\r\n channelReferenceId,\r\n '',\r\n uniqueId\r\n );\r\n let bar = 1;\r\n const fileCount = response.FileCount;\r\n bar = ((fileCount === 0 ? 1 : fileCount) / downloadableFiles) * 100;\r\n if (response.Status && response.ZipStatus) {\r\n allDocuments.isAvailable = true;\r\n setAllDocuments(prevSt => ({\r\n ...prevSt,\r\n isAvailable: true,\r\n zipStatus: true,\r\n zipDocumentSecureURL: response.SecureBlobUrl\r\n }));\r\n // complete the progress bar\r\n bar = 100;\r\n } else if (response.Status && !response.ZipStatus) {\r\n allDocuments.isAvailable = false;\r\n setAllDocuments(prevSt => ({\r\n ...prevSt,\r\n isAvailable: false,\r\n zipStatus: false,\r\n zipDocumentSecureURL: response.SecureBlobUrl,\r\n isError: true\r\n }));\r\n }\r\n setBarWidth(bar);\r\n } catch (error) {\r\n context.telemetry.error(`Failed to download the zip file ${error}`);\r\n }\r\n }\r\n }, requestInterval);\r\n return interval;\r\n}\r\n","export enum PropertyType {\r\n none = 0,\r\n address = 1,\r\n legalDescription = 2,\r\n legalDescriptionCondo = 3,\r\n rollNumber = 4,\r\n lincNumber = 5,\r\n titleNumber = 6,\r\n cpid = 7,\r\n community = 8,\r\n sdab = 9,\r\n quadrant = 10,\r\n blockProfile = 11,\r\n ats = 12,\r\n cityWide = 13,\r\n document = 14,\r\n lcsab = 15,\r\n ptweb = 16,\r\n //exit case\r\n default = 17\r\n}\r\n\r\nexport enum PropertyMaxLength {\r\n rollNumber = 9,\r\n lincNumber = 10,\r\n cpid = 10,\r\n titleNumber = 12,\r\n default = 12\r\n}\r\nexport enum PropertyMinLength {\r\n rollNumber = 8,\r\n lincNumber = 8,\r\n cpid = 8,\r\n titleNumber = 5,\r\n default = 10\r\n}\r\nexport enum PropertyInformationSearchTypes {\r\n address = PropertyType.address,\r\n legalDescription = PropertyType.legalDescription,\r\n legalDescriptionCondo = PropertyType.legalDescriptionCondo,\r\n rollNumber = PropertyType.rollNumber,\r\n lincNumber = PropertyType.lincNumber,\r\n titleNumber = PropertyType.titleNumber,\r\n cpid = PropertyType.cpid\r\n}\r\nexport enum WithDocumentNamePropertyType {\r\n none = PropertyType.none,\r\n ats = PropertyType.ats,\r\n community = PropertyType.community,\r\n quadrant = PropertyType.quadrant,\r\n blockProfile = PropertyType.blockProfile,\r\n cityWide = PropertyType.cityWide\r\n}\r\n\r\nexport enum nonDownloadableProperty {\r\n lcsab = PropertyType.lcsab,\r\n sdab = PropertyType.sdab,\r\n default = PropertyType.default\r\n}\r\n\r\nexport enum TaxPropertyAttributeName {\r\n propertyTaxInformation = 'Property_Tax_Information',\r\n propertyTaxStatementOfAccount = 'Property_Tax_Statement_of_Account',\r\n propertyTaxCertificateRequestByEmail = 'Property_Tax_Certificate',\r\n}","import { AttributeValueBase } from '@msdyn365-commerce/retail-proxy';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport React from 'react';\r\nimport { IAddress, IPropertyTypeLabels } from './types/order';\r\nimport { PropertyType, WithDocumentNamePropertyType } from './propertyTypeEnum';\r\n\r\n/* this method is use to show Search criteria used to add the product into the cart */\r\nexport default (salesLine: AttributeValueBase[] | undefined, context: ICoreContext, propertyTypeLabels: IPropertyTypeLabels) => {\r\n // copying line attribute from app config\r\n const { searchKeyNameAttribute, searchKeyValueAttribute, folioNumberValueAttribute, documentAttribute } = context?.request.app.config;\r\n const {\r\n rollNumberLabel,\r\n lincNumberLabel,\r\n addressLabel,\r\n cpidLabel,\r\n legalDescriptionLabel,\r\n legalDescriptionCondoLabel,\r\n titleNumberLabel,\r\n communityLabel,\r\n quadrantLabel,\r\n blockProfileLabel,\r\n atsLabel,\r\n folioNumberLabel,\r\n documentNameLabel,\r\n municipalAddressLabel\r\n } = propertyTypeLabels;\r\n // length 2 is for Roll and LINC number because we are sending address in a line attribute with them so their attribute length will be 2.\r\n // length 1 is for Address because we are only sending address in a line attribute. So, it's length will be 1.\r\n if (salesLine) {\r\n //@ts-ignore\r\n const linePropertyType = parseInt(salesLine.find(line => line.Name === searchKeyNameAttribute)?.TextValue!);\r\n //@ts-ignore\r\n const lineValue = salesLine.find(line => line.Name === searchKeyValueAttribute)?.TextValue!;\r\n //@ts-ignore\r\n const folioValue = salesLine.find(line => line.Name === folioNumberValueAttribute)?.TextValue!;\r\n //@ts-ignore\r\n const documentAttributeValue: string = salesLine.find(line => line.Name === documentAttribute)?.TextValue || '';\r\n const documentName = linePropertyType in WithDocumentNamePropertyType ? documentAttributeValue.split('||')[1]?.trim() : undefined;\r\n switch (linePropertyType) {\r\n case PropertyType.rollNumber:\r\n return _renderAddressAndFolio(rollNumberLabel, lineValue, folioNumberLabel, folioValue);\r\n\r\n case PropertyType.lincNumber:\r\n return _renderAddressAndFolio(lincNumberLabel, lineValue, folioNumberLabel, folioValue);\r\n\r\n case PropertyType.titleNumber:\r\n return _renderAddressAndFolio(titleNumberLabel, lineValue, folioNumberLabel, folioValue);\r\n\r\n case PropertyType.cpid:\r\n return _renderAddressAndFolio(cpidLabel, lineValue, folioNumberLabel, folioValue);\r\n\r\n case PropertyType.community:\r\n return _renderAddressAndFolio(communityLabel, lineValue, folioNumberLabel, folioValue, documentNameLabel, documentName);\r\n\r\n case PropertyType.quadrant:\r\n return _renderAddressAndFolio(quadrantLabel, lineValue, folioNumberLabel, folioValue, documentNameLabel, documentName);\r\n\r\n case PropertyType.blockProfile:\r\n return _renderAddressAndFolio(blockProfileLabel, lineValue, folioNumberLabel, folioValue, documentNameLabel, documentName);\r\n\r\n case PropertyType.ats:\r\n return _renderAddressAndFolio(atsLabel, lineValue, folioNumberLabel, folioValue, documentNameLabel, documentName);\r\n // below case have same implementations\r\n case PropertyType.cityWide:\r\n case PropertyType.none:\r\n return _renderAddressAndFolio(undefined, undefined, folioNumberLabel, folioValue, documentNameLabel, documentName);\r\n\r\n case PropertyType.address: {\r\n const addressArr = lineValue.split('||');\r\n let lineSuite, lineNumber, lineStreetName, lineStreetType, lineQuadrant;\r\n // check if address length is 5, it means address contain suite. if length is 4 it doesnot have suite\r\n if (addressArr.length === 5) {\r\n [lineSuite, lineNumber, lineStreetName, lineStreetType, lineQuadrant] = lineValue\r\n .split('||')\r\n .map((val: string) => val?.trim().toLowerCase());\r\n } else if (addressArr.length === 4) {\r\n [lineNumber, lineStreetName, lineStreetType, lineQuadrant] = lineValue\r\n .split('||')\r\n .map((val: string) => val?.trim().toLowerCase());\r\n }\r\n const address: IAddress = {\r\n suite: lineSuite,\r\n number: lineNumber,\r\n streetName: lineStreetName,\r\n streetType: lineStreetType,\r\n quadrant: lineQuadrant\r\n };\r\n const addressToShow = `${address.suite ? address.suite : ''} ${address.number} ${address.streetName} ${\r\n address.streetType\r\n } ${address.quadrant}`.toUpperCase();\r\n\r\n return _renderAddressAndFolio(addressLabel, addressToShow, folioNumberLabel, folioValue);\r\n }\r\n case PropertyType.legalDescription: {\r\n let plan, block, lot;\r\n [plan, block, lot] = lineValue.split('||').map((val: string) => val?.trim().toLowerCase());\r\n let docName = '';\r\n docName = plan;\r\n // check if block and lot is valid and have some value in it\r\n if (block && block != '') {\r\n docName = `${docName} ${block}`;\r\n }\r\n if (lot && lot != '') {\r\n docName = `${docName} ${lot}`;\r\n }\r\n return _renderAddressAndFolio(legalDescriptionLabel, docName, folioNumberLabel, folioValue);\r\n }\r\n case PropertyType.legalDescriptionCondo: {\r\n const legalDescCondo = lineValue.split('||');\r\n let plan, unit;\r\n // check if address length is 2, it means address contain unit. if length is 1 it doesnot have unit\r\n if (legalDescCondo.length === 2) {\r\n [plan, unit] = lineValue.split('||').map((val: string) => val?.trim().toLowerCase());\r\n } else {\r\n [plan] = lineValue.trim().toLowerCase();\r\n }\r\n return _renderAddressAndFolio(legalDescriptionCondoLabel, `${plan} ${unit ? unit : ''}`, folioNumberLabel, folioValue);\r\n }\r\n default:\r\n const folioArr = folioValue.split('||');\r\n return folioArr.length > 1\r\n ? _renderAddressAndFolio(\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n undefined,\r\n folioArr[1],\r\n municipalAddressLabel\r\n )\r\n : _renderAddressAndFolio(undefined, undefined, folioNumberLabel, folioArr[0]);\r\n }\r\n }\r\n\r\n return;\r\n};\r\nfunction _renderAddressAndFolio(\r\n propertyTypeLabel?: string,\r\n lineValue?: string,\r\n folioLabel?: string,\r\n folioValue?: string,\r\n documentNameLabel?: string,\r\n documentName?: string,\r\n municipalAddress?: string,\r\n municipalAddressLabel?: string\r\n) {\r\n return (\r\n
\r\n
\r\n \r\n {lineValue && (\r\n \r\n {propertyTypeLabel}: {lineValue}\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {documentName && (\r\n \r\n {documentNameLabel}: {documentName}\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {folioValue && (\r\n \r\n {folioLabel}: {folioValue}\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {municipalAddress && (\r\n \r\n {municipalAddressLabel}: {municipalAddress}\r\n \r\n )}\r\n \r\n
\r\n
\r\n );\r\n}\r\n","var map = {\n\t\"./af\": 719,\n\t\"./af.js\": 719,\n\t\"./ar\": 720,\n\t\"./ar-dz\": 721,\n\t\"./ar-dz.js\": 721,\n\t\"./ar-kw\": 722,\n\t\"./ar-kw.js\": 722,\n\t\"./ar-ly\": 723,\n\t\"./ar-ly.js\": 723,\n\t\"./ar-ma\": 724,\n\t\"./ar-ma.js\": 724,\n\t\"./ar-sa\": 725,\n\t\"./ar-sa.js\": 725,\n\t\"./ar-tn\": 726,\n\t\"./ar-tn.js\": 726,\n\t\"./ar.js\": 720,\n\t\"./az\": 727,\n\t\"./az.js\": 727,\n\t\"./be\": 728,\n\t\"./be.js\": 728,\n\t\"./bg\": 729,\n\t\"./bg.js\": 729,\n\t\"./bm\": 730,\n\t\"./bm.js\": 730,\n\t\"./bn\": 731,\n\t\"./bn-bd\": 732,\n\t\"./bn-bd.js\": 732,\n\t\"./bn.js\": 731,\n\t\"./bo\": 733,\n\t\"./bo.js\": 733,\n\t\"./br\": 734,\n\t\"./br.js\": 734,\n\t\"./bs\": 735,\n\t\"./bs.js\": 735,\n\t\"./ca\": 736,\n\t\"./ca.js\": 736,\n\t\"./cs\": 737,\n\t\"./cs.js\": 737,\n\t\"./cv\": 738,\n\t\"./cv.js\": 738,\n\t\"./cy\": 739,\n\t\"./cy.js\": 739,\n\t\"./da\": 740,\n\t\"./da.js\": 740,\n\t\"./de\": 741,\n\t\"./de-at\": 742,\n\t\"./de-at.js\": 742,\n\t\"./de-ch\": 743,\n\t\"./de-ch.js\": 743,\n\t\"./de.js\": 741,\n\t\"./dv\": 744,\n\t\"./dv.js\": 744,\n\t\"./el\": 745,\n\t\"./el.js\": 745,\n\t\"./en-au\": 746,\n\t\"./en-au.js\": 746,\n\t\"./en-ca\": 747,\n\t\"./en-ca.js\": 747,\n\t\"./en-gb\": 748,\n\t\"./en-gb.js\": 748,\n\t\"./en-ie\": 749,\n\t\"./en-ie.js\": 749,\n\t\"./en-il\": 750,\n\t\"./en-il.js\": 750,\n\t\"./en-in\": 751,\n\t\"./en-in.js\": 751,\n\t\"./en-nz\": 752,\n\t\"./en-nz.js\": 752,\n\t\"./en-sg\": 753,\n\t\"./en-sg.js\": 753,\n\t\"./eo\": 754,\n\t\"./eo.js\": 754,\n\t\"./es\": 755,\n\t\"./es-do\": 756,\n\t\"./es-do.js\": 756,\n\t\"./es-mx\": 757,\n\t\"./es-mx.js\": 757,\n\t\"./es-us\": 758,\n\t\"./es-us.js\": 758,\n\t\"./es.js\": 755,\n\t\"./et\": 759,\n\t\"./et.js\": 759,\n\t\"./eu\": 760,\n\t\"./eu.js\": 760,\n\t\"./fa\": 761,\n\t\"./fa.js\": 761,\n\t\"./fi\": 762,\n\t\"./fi.js\": 762,\n\t\"./fil\": 763,\n\t\"./fil.js\": 763,\n\t\"./fo\": 764,\n\t\"./fo.js\": 764,\n\t\"./fr\": 765,\n\t\"./fr-ca\": 766,\n\t\"./fr-ca.js\": 766,\n\t\"./fr-ch\": 767,\n\t\"./fr-ch.js\": 767,\n\t\"./fr.js\": 765,\n\t\"./fy\": 768,\n\t\"./fy.js\": 768,\n\t\"./ga\": 769,\n\t\"./ga.js\": 769,\n\t\"./gd\": 770,\n\t\"./gd.js\": 770,\n\t\"./gl\": 771,\n\t\"./gl.js\": 771,\n\t\"./gom-deva\": 772,\n\t\"./gom-deva.js\": 772,\n\t\"./gom-latn\": 773,\n\t\"./gom-latn.js\": 773,\n\t\"./gu\": 774,\n\t\"./gu.js\": 774,\n\t\"./he\": 775,\n\t\"./he.js\": 775,\n\t\"./hi\": 776,\n\t\"./hi.js\": 776,\n\t\"./hr\": 777,\n\t\"./hr.js\": 777,\n\t\"./hu\": 778,\n\t\"./hu.js\": 778,\n\t\"./hy-am\": 779,\n\t\"./hy-am.js\": 779,\n\t\"./id\": 780,\n\t\"./id.js\": 780,\n\t\"./is\": 781,\n\t\"./is.js\": 781,\n\t\"./it\": 782,\n\t\"./it-ch\": 783,\n\t\"./it-ch.js\": 783,\n\t\"./it.js\": 782,\n\t\"./ja\": 784,\n\t\"./ja.js\": 784,\n\t\"./jv\": 785,\n\t\"./jv.js\": 785,\n\t\"./ka\": 786,\n\t\"./ka.js\": 786,\n\t\"./kk\": 787,\n\t\"./kk.js\": 787,\n\t\"./km\": 788,\n\t\"./km.js\": 788,\n\t\"./kn\": 789,\n\t\"./kn.js\": 789,\n\t\"./ko\": 790,\n\t\"./ko.js\": 790,\n\t\"./ku\": 791,\n\t\"./ku.js\": 791,\n\t\"./ky\": 792,\n\t\"./ky.js\": 792,\n\t\"./lb\": 793,\n\t\"./lb.js\": 793,\n\t\"./lo\": 794,\n\t\"./lo.js\": 794,\n\t\"./lt\": 795,\n\t\"./lt.js\": 795,\n\t\"./lv\": 796,\n\t\"./lv.js\": 796,\n\t\"./me\": 797,\n\t\"./me.js\": 797,\n\t\"./mi\": 798,\n\t\"./mi.js\": 798,\n\t\"./mk\": 799,\n\t\"./mk.js\": 799,\n\t\"./ml\": 800,\n\t\"./ml.js\": 800,\n\t\"./mn\": 801,\n\t\"./mn.js\": 801,\n\t\"./mr\": 802,\n\t\"./mr.js\": 802,\n\t\"./ms\": 803,\n\t\"./ms-my\": 804,\n\t\"./ms-my.js\": 804,\n\t\"./ms.js\": 803,\n\t\"./mt\": 805,\n\t\"./mt.js\": 805,\n\t\"./my\": 806,\n\t\"./my.js\": 806,\n\t\"./nb\": 807,\n\t\"./nb.js\": 807,\n\t\"./ne\": 808,\n\t\"./ne.js\": 808,\n\t\"./nl\": 809,\n\t\"./nl-be\": 810,\n\t\"./nl-be.js\": 810,\n\t\"./nl.js\": 809,\n\t\"./nn\": 811,\n\t\"./nn.js\": 811,\n\t\"./oc-lnc\": 812,\n\t\"./oc-lnc.js\": 812,\n\t\"./pa-in\": 813,\n\t\"./pa-in.js\": 813,\n\t\"./pl\": 814,\n\t\"./pl.js\": 814,\n\t\"./pt\": 815,\n\t\"./pt-br\": 816,\n\t\"./pt-br.js\": 816,\n\t\"./pt.js\": 815,\n\t\"./ro\": 817,\n\t\"./ro.js\": 817,\n\t\"./ru\": 818,\n\t\"./ru.js\": 818,\n\t\"./sd\": 819,\n\t\"./sd.js\": 819,\n\t\"./se\": 820,\n\t\"./se.js\": 820,\n\t\"./si\": 821,\n\t\"./si.js\": 821,\n\t\"./sk\": 822,\n\t\"./sk.js\": 822,\n\t\"./sl\": 823,\n\t\"./sl.js\": 823,\n\t\"./sq\": 824,\n\t\"./sq.js\": 824,\n\t\"./sr\": 825,\n\t\"./sr-cyrl\": 826,\n\t\"./sr-cyrl.js\": 826,\n\t\"./sr.js\": 825,\n\t\"./ss\": 827,\n\t\"./ss.js\": 827,\n\t\"./sv\": 828,\n\t\"./sv.js\": 828,\n\t\"./sw\": 829,\n\t\"./sw.js\": 829,\n\t\"./ta\": 830,\n\t\"./ta.js\": 830,\n\t\"./te\": 831,\n\t\"./te.js\": 831,\n\t\"./tet\": 832,\n\t\"./tet.js\": 832,\n\t\"./tg\": 833,\n\t\"./tg.js\": 833,\n\t\"./th\": 834,\n\t\"./th.js\": 834,\n\t\"./tk\": 835,\n\t\"./tk.js\": 835,\n\t\"./tl-ph\": 836,\n\t\"./tl-ph.js\": 836,\n\t\"./tlh\": 837,\n\t\"./tlh.js\": 837,\n\t\"./tr\": 838,\n\t\"./tr.js\": 838,\n\t\"./tzl\": 839,\n\t\"./tzl.js\": 839,\n\t\"./tzm\": 840,\n\t\"./tzm-latn\": 841,\n\t\"./tzm-latn.js\": 841,\n\t\"./tzm.js\": 840,\n\t\"./ug-cn\": 842,\n\t\"./ug-cn.js\": 842,\n\t\"./uk\": 843,\n\t\"./uk.js\": 843,\n\t\"./ur\": 844,\n\t\"./ur.js\": 844,\n\t\"./uz\": 845,\n\t\"./uz-latn\": 846,\n\t\"./uz-latn.js\": 846,\n\t\"./uz.js\": 845,\n\t\"./vi\": 847,\n\t\"./vi.js\": 847,\n\t\"./x-pseudo\": 848,\n\t\"./x-pseudo.js\": 848,\n\t\"./yo\": 849,\n\t\"./yo.js\": 849,\n\t\"./zh-cn\": 850,\n\t\"./zh-cn.js\": 850,\n\t\"./zh-hk\": 851,\n\t\"./zh-hk.js\": 851,\n\t\"./zh-mo\": 852,\n\t\"./zh-mo.js\": 852,\n\t\"./zh-tw\": 853,\n\t\"./zh-tw.js\": 853\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1212;"],"names":["_downloadDocument","async","context","fileName","secureURL","link","document","createElement","href","setAttribute","body","appendChild","click","parentNode","removeChild","error","telemetry","renderDownloadDocumentButton","lineAttributes","customContext","productName","downloadLabel","lineDocument","fetchTimeoutLabel","fetchRetryLabel","processingLabel","retry","noOfRetries","maxRetries","searchKeyNameAttribute","searchKeyValueAttribute","documentAttribute","request","app","config","createDownloadButton","matchedDocument","documentName","isError","React","className","disabled","onClick","isSet","role","_attributeName$TextVa","attributeName","find","line","Name","attributeValue","atributeNameText","TextValue","trim","linePropertyType","PropertyType","default","lineValue","address","legalDescription","legalDescriptionCondo","addressValue","createName","createDownloadDocName","sdab","lcsab","quadrant","blockProfile","ats","cityWide","none","community","attributeDocument","split","toLowerCase","cpid","rollNumber","lincNumber","titleNumber","checkDocumentAvailibility","docs","groups","setLineDocument","allDocuments","channelReferenceId","setInterval","isAvailable","forEach","group","salesLines","salesLine","index","data","AttributeValues","parseInt","name","_attributeName$TextVa3","lineDocumentValue","createDocumentName","_salesLine$data$produ","product","stateLine","nameWithExtension","documentType","uniqueId","Date","toString","getDocumentBlobSecureUrlAsync","callerContext","actionContext","then","response","Status","docIndex","indexOf","SecureBlobUrl","catch","requestInterval","strDelimeter","map","val","filter","join","searchKey","toUpperCase","setLineDocumentState","_attributes$find","_attributes$find2","_attributes$find3","_attributes$find4","_attributes$find5","_attributes$find6","_attributes$find7","_attributes$find8","_attributes$find9","_attributes$find10","_attributes$find11","_attributes$find12","_attributes$find13","_attributes$find14","_attributes$find15","_attributes$find16","_attributes$find17","_attributes$find18","_attributes$find19","_attributes$find20","_attributes$find21","_attributes$find22","_attributes$find23","_attributes$find24","_attributes$find25","_attributes$find26","_attributes$find27","_attributes$find28","_attributes$find29","_attributes$find30","_attributes$find31","_attributes$find32","_attributes$find33","_attributes$find34","_attributes$find35","_attributes$find36","_attributes$find37","_salesLine$data$produ8","_attributeValues$find4","_attributeValues$find5","_attributeValues$find6","_attributeValues$find7","_attributeValues$find8","_attributeValues$find9","_attributeValues$find10","_attributeValues$find11","_attributeValues$find12","_attributeValues$find13","_attributeValues$find14","_attributeValues$find15","_attributeValues$find16","_attributeValues$find17","_attributeValues$find18","_attributeValues$find19","_attributeValues$find20","_attributeValues$find21","_attributeValues$find22","_attributeValues$find23","_attributeValues$find24","_attributeValues$find25","_attributeValues$find26","_attributeValues$find27","_attributeValues$find28","_attributeValues$find29","_attributeValues$find30","_attributeValues$find31","_attributeValues$find32","_attributeValues$find33","_attributeValues$find34","_attributeValues$find35","_salesLine$data$produ9","azureBlobFileFormat","folioNumberValueAttribute","productTypePA","colCDLICProductID","customerFirstName","customerLastName","customerEmail","customerEmailConfirm","productOwnerEmail","customerAddress","customerAddress2","customerCity","customerProvince","customerPostalCode","customerResidentialPhone","customerCountry","siteMunicipalAddressOfSite","siteOtherDocuments","appelantFirstName","appelantLastName","appelantAgentName","appelantEmailAddress","appelantEmailConfirmAddress","appelantAddress","appelantAddress2","appelantCity","appelantProvince","appelantPostalCode","appelantResidentialPhone","appealDevelopmentPermitType","appealReasonForAppeal","appealEstimatedPresentationTime","appealUsingAgent","appealAnticipateIssues","appealReason","appealBringingWitness","appealNumberOfWitness","customerInfoDPN","customerInfoSPN","appellantInfoDPN","appellantInfoSPN","usingAgentInfo","lcsabAgentName","lcsabAgentEmailAddress","lcsabAgentAddress1","lcsabAgentAddress2","lcsabAgentCity","lcsabAgentProvince","lcsabAgentPostalCode","lcsabAgentDPN","lcsabAgentSPN","lcsabAgentDecisionDate","lcsabAppealType","lineDocs","gourpIndex","length","saleLineIndex","some","lineNumber","LineNumber","_attributeName$TextVa2","_salesLine$data$produ2","_attributeValues$find","_attributeValues$find2","_attributeValues$find3","attributeFolioNumber","lineFolioNumber","lineDoc","productDetails","attributeValues","getAttributeValuesAsync","queryResultSettings","RecordId","apiSettings","channelId","prodType","attr","rateId","productOwnerEmailValue","_salesLine$data$produ3","addressArr","lineSuite","lineStreetName","lineStreetType","lineQuadrant","suite","number","streetName","streetType","productType","propertyType","_objectSpread","folioNumber","productID","_salesLine$data$produ4","_salesLine$data$produ5","plan","block","lot","docName","legalDesc","_salesLine$data$produ6","_salesLine$data$produ7","unit","legalDescCondo","attributes","lcsabCustomerInfo","firstName","lastName","email","emailConfirm","address1","address2","city","province","postalCode","dayTimePhoneNumber","secondaryPhoneNumber","lcsabAppellantInfo","municipalAddress","usingAgentInformation","customerInformation","appellantInformation","agentInformation","agentName","usingAgent","dateAndReasonForAppeal","date","reasonForAppeal","categoryAppealTypeForCRT","appealAgainstType","developmentPermit","subdivisionPermit","noticeOrder","residentialPhone","country","otherDocuments","appelantInformation","appealAgainst","appeal","appealAgainstDevelopment","appealAgainstSubDivisionApplication","appealAgainstNoticOrder","reasonOfAppeal","presentationTime","usingAgentOrLegalCounsel","anticipateIssues","isAnticipateIssuesWithYourAppeal","isAnticipateIssuesWithYourAppealDescription","witness","bringingWitness","howManyWitness","_salesLine$data$produ10","_salesLine$data$produ11","doc","documentId","lookFor","_salesLine$data$produ12","_salesLine$data$produ13","_salesLine$data$produ14","_salesLine$data$produ15","push","prevState","checkZipDocument","setAllDocuments","setBarWidth","downloadableFiles","zipStatus","bar","fileCount","FileCount","ZipStatus","prevSt","zipDocumentSecureURL","PropertyMaxLength","PropertyMinLength","PropertyInformationSearchTypes","WithDocumentNamePropertyType","nonDownloadableProperty","TaxPropertyAttributeName","propertyTypeLabels","rollNumberLabel","lincNumberLabel","addressLabel","cpidLabel","legalDescriptionLabel","legalDescriptionCondoLabel","titleNumberLabel","communityLabel","quadrantLabel","blockProfileLabel","atsLabel","folioNumberLabel","documentNameLabel","municipalAddressLabel","_salesLine$find","_salesLine$find2","_salesLine$find3","_salesLine$find4","_documentAttributeVal","folioValue","documentAttributeValue","undefined","_renderAddressAndFolio","folioArr","propertyTypeLabel","folioLabel","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports"],"sourceRoot":""}