{"version":3,"sources":["utils/url-utils.ts"],"names":["ArchiveType","getModuleRelativePath","moduleUrl","relativePath","URL","pathname","appendUrlParams","url","params","name","result","document","baseURI","value","searchParams","has","set","append","logicalUrl","getLogicalUrl","archiveType","pageId","itemId","additionalParams","Page","PageID","Product","Document","Event","ItemID","Image","File","getImageUrl","imageId","this","getProductUrl","getDownloadItemsAsZipUrl","itemIds","ids","toString"],"mappings":"OAASA,WAAkE,KAA/C,gDAEtB,SAAUC,sBAAsBC,EAAmBC,GAErD,OADY,IAAIC,IAAID,EAAcD,CAAS,EAChCG,QACf,CAEM,SAAUC,gBAAgBC,EAAaC,GACzC,IAESC,EAFHC,EAAS,IAAIN,IAAIG,EAAKI,SAASC,OAAO,EAE5C,IAASH,KAAQD,EAAQ,CACrB,IAAMK,EAAQL,EAAOC,GACrBC,EAAOI,aAAaC,IAAIN,CAAI,EACxBC,EAAOI,aAAaE,IAAIP,EAAMI,CAAK,EACnCH,EAAOI,aAAaG,OAAOR,EAAMI,CAAK,C,CAG9C,OAAUH,EAAOL,SAAV,IAAsBK,EAAOI,YACxC,OAEaI,WACFC,qBAAqBC,EAA0BC,EAAeC,EAAeC,GAEhF,OAAQH,GAEJ,KAAKpB,YAAYwB,KACb,OAAKH,EACEf,gBAAgB,IAAK,CAAKmB,OAAQJ,EAAS,GAAGE,CAAgB,CAAC,EADhD,GAE1B,KAAKvB,YAAY0B,QACjB,KAAK1B,YAAY2B,SACjB,KAAK3B,YAAY4B,MACb,OAAKN,EACEhB,gBAAgB,+BAAgC,CAAKuB,OAAQP,EAAS,GAAGC,CAAgB,CAAC,EAD3E,GAE1B,KAAKvB,YAAY8B,MACb,OAAKR,EACEhB,gBAAgB,kBAAmB,CAAKuB,OAAQP,EAAS,GAAGC,CAAgB,CAAC,EAD9D,GAE1B,KAAKvB,YAAY+B,KACb,OAAKT,EACEhB,gBAAgB,iBAAkB,CAAKuB,OAAQP,EAAS,GAAGC,CAAgB,CAAC,EAD7D,GAE1B,QACI,MAAO,E,CAEnB,CAEOS,mBAAmBC,EAAiBV,GACvC,OAAOW,KAAKf,cAAcnB,YAAY8B,MAAO,EAAGG,EAASV,CAAgB,CAC7E,CAEOY,qBAAqBb,GACxB,OAAOY,KAAKf,cAAcnB,YAAY0B,QAAS,EAAGJ,CAAM,CAC5D,CAEOc,gCAAgCC,GACnC,OAAO/B,gBAAgB,iBAAkB,CAACgC,QAASD,EAAQE,SAAQ,IAAK,CAAC,CAC7E,C,QApDYtC,sBAKAK,gBAaHY,U","file":"url-utils.js","sourcesContent":["import { ArchiveType } from \"../../components-shared/enums/archive-type.js\";\n\nexport function getModuleRelativePath(moduleUrl: string, relativePath: string) {\n const url = new URL(relativePath, moduleUrl);\n return url.pathname;\n}\n\nexport function appendUrlParams(url: string, params: any): string {\n const result = new URL(url, document.baseURI);\n \n for (let name in params) {\n const value = params[name];\n result.searchParams.has(name) ? \n result.searchParams.set(name, value) : \n result.searchParams.append(name, value);\n }\n\n return `${result.pathname}?${result.searchParams}`;\n}\n\nexport class logicalUrl {\n public static getLogicalUrl(archiveType: ArchiveType, pageId:number, itemId:number, additionalParams?: any): string\n {\n switch (archiveType)\n {\n case ArchiveType.Page:\n if (!pageId) { return '';}\n return appendUrlParams('/', {...{PageID: pageId}, ...additionalParams});\n case ArchiveType.Product:\n case ArchiveType.Document:\n case ArchiveType.Event:\n if (!itemId) { return '';}\n return appendUrlParams('/Startup/Common/Default.aspx', {...{ItemID: itemId}, ...additionalParams});\n case ArchiveType.Image:\n if (!itemId) { return '';}\n return appendUrlParams('/ViewImage.aspx', {...{ItemID: itemId}, ...additionalParams});\n case ArchiveType.File:\n if (!itemId) { return '';}\n return appendUrlParams('/ViewFile.aspx', {...{ItemID: itemId}, ...additionalParams});\n default:\n return '';\n }\n }\n\n public static getImageUrl(imageId: number, additionalParams?: any): string {\n return this.getLogicalUrl(ArchiveType.Image, 0, imageId, additionalParams);\n }\n\n public static getProductUrl(itemId: number): string {\n return this.getLogicalUrl(ArchiveType.Product, 0, itemId);\n }\n\n public static getDownloadItemsAsZipUrl(itemIds: number[]): string {\n return appendUrlParams('/ViewFile.aspx', {ids: `[${itemIds.toString()}]`});\n }\n}\n"]}