{"version":3,"file":"index.C8vnavKD.js","sources":["../../../../../../src/lib/utils/listing-page/types/index.ts","../../../../../../src/lib/utils/listing-page/mocks/listing-page.ts","../../../../../../src/lib/utils/listing-page/index.ts"],"sourcesContent":["import type { CourseLightList } from \"$lib/utils/course-utils\";\n\nexport enum ListingPage {\n // by course type\n CorsiExecutive,\n CorsiOnline,\n ExecutiveMaster,\n MasterPostLaureaConStage,\n Masterclass,\n ProfessionalMaster,\n MasterPartTime,\n MBA,\n ProfessionalMasterCFU,\n CorsiEuroconference,\n MasterAlwaysOn,\n \n All\n}\nexport interface IListingPageDetails {\n gtm: {\n pageCategory: string;\n };\n title: string;\n description: string;\n}\nexport interface IListingPageListCourses {\n types: CourseLightList[];\n}\nexport interface ITopCoursesByListingPage {\n bestSellerCourses: IListingPageListCourses;\n}","const listingsByCourseTypes = {\n\n \"corsi-executive\": {\n \"listingPage\": \"CorsiExecutive\",\n \"in\": {\n \"courseTypes\": [\"CorsiExecutive\"],\n \"filters\": {}\n },\n \"hero\": {\n \"type\": \"Corsi Executive\",\n \"title\": \"Individua il tema più in linea con le tue necessità di aggiornamento. Perfeziona, integra e sviluppa le tue competenze per svolgere al meglio il tuo ruolo.\",\n \"content\": \"I Corsi Executive permettono di consolidare e aggiornare competenze specifiche necessarie per crescere professionalmente nell'ambito desiderato. Si caratterizzano per formazione in aula e/o in live streaming nel weekend o in giornate infrasettimanali, con docenti qualificati ed esperti, esercitazioni pratiche con professionisti e manager di aziende, casi di studio e rilascio finale di un attestato.\"\n }\n },\n\n \"corsi-online\": {\n \"listingPage\": \"CorsiOnline\",\n \"in\": {\n \"courseTypes\": [\n \"CorsiOnline\", \n \"MasterOnline\"\n ],\n \"filters\": {\n \"lessionMode\": [\n \"On Demand\"\n ]\n }\n },\n \"hero\": {\n \"type\": \"Corsi Online\",\n \"title\": \"Videolezioni ed esercitazioni per studiare quando vuoi. Podcast e materiali didattici da tenere sempre con te.\",\n \"content\": \"24ORE Business School propone una vasta gamma di Corsi Online, pratici e veloci per studiare quando, dove e ovunque ci si trovi. I Corsi Online sono rivolti a Manager, Professionisti e Studenti che vogliono approfondire aree di business specifiche. Prevedono video lezioni, podcast, test di valutazione finale e il rilascio di un attestato.\"\n }\n },\n\n \"executive-master\": {\n \"listingPage\": \"ExecutiveMaster\",\n \"in\": {\n \"courseTypes\": [\"ExecutiveMaster\"],\n \"filters\": {}\n },\n \"hero\": {\n \"type\": \"Executive Master\",\n \"title\": \"Per sviluppare e consolidare skills tecniche e competenze manageriali.\",\n \"content\": \"Gli Executive Master sono percorsi innovativi e altamente professionalizzanti che garantiscono acquisizione e aggiornamento di skills tecniche e competenze manageriali necessarie a chi ricopre posizioni apicali nelle imprese e nel mondo professionale o a chi si prepara a farlo. Progettati in collaborazione con le più importanti e note aziende e società di consulenza, si caratterizzano per l'aggiornamento continuo e una didattica interattiva arricchita da esercitazioni, case studies e giornate di life skills. Le docenze si svolgono in aula e/o in Live Streaming, con accesso da qualsiasi dispositivo e con la possibilità di rivedere le lezioni registrate.\"\n }\n },\n\n \"master-full-time\": {\n \"listingPage\": \"MasterPostLaureaConStage\",\n \"in\": {\n \"courseTypes\": [\"MasterPostLaureaConStage\"],\n \"filters\": {}\n },\n \"hero\": {\n \"type\": \"Master Post Laurea con Stage garantito\",\n \"title\": \"Per giovani neolaureati che vogliono accelerare l’ingresso nel mondo del lavoro\",\n \"content\": \"I Master Post Laurea con Stage garantito ti permettono di accrescere le tue conoscenze e consolidare le tue basi per entrare nel mondo del lavoro. Puoi frequentare in aula oppure in live streaming, per seguire le lezioni da dove vuoi e dal device che preferisci (computer, smartphone, tablet e smart TV), mantenendo sempre un altissimo livello di interazione con docenti e colleghi, anche durante le simulazioni, i project work e le esercitazioni su casi reali. È previsto uno stage formativo presso le oltre 1.300 aziende partner. I Master, a tempo pieno, numero chiuso e frequenza obbligatoria, hanno una durata complessiva tra i 10 e i 12 mesi, di cui 6 di stage.\"\n }\n },\n\n \"masterclass\": {\n \"listingPage\": \"Masterclass\",\n \"in\": {\n \"courseTypes\": [\"Masterclass\"],\n \"filters\": {}\n },\n \"hero\": {\n \"type\": \"Masterclass\",\n \"title\": \"Formazione smart per aziende e professionisti\",\n \"content\": \"Con le Masterclass, 24ORE Business School vuole creare un’occasione unica per aziende, liberi professionisti o per chi vuole avvicinarsi alle diverse tematiche proposte, di incontrare i migliori esperti in materia attraverso sessioni formative brevi, smart, flessibili e orientate al business. Inoltre, saranno integrate da presentazioni di casi di successo e best practices da cui trarre spunto.\"\n }\n },\n\n \"professional-master\": {\n \"listingPage\": \"ProfessionalMaster\",\n \"in\": {\n \"courseTypes\": [\"ProfessionalMaster\"],\n \"filters\": {}\n },\n \"hero\": {\n \"type\": \"Professional Master\",\n \"title\": \"Un’occasione unica di crescita professionale. Scegli uno dei percorsi più affini alla tua carriera e arricchisci la tua formazione grazie a un network di professionisti.\",\n \"content\": \"I Professional Master sono percorsi di specializzazione in determinati ambiti disciplinari, settori professionali o funzioni aziendali. Sono pensati appositamente per conciliare formazione e lavoro grazie alla formula weekend, con lezioni il venerdì e il sabato, oppure in formula serale. Lezioni ed esercitazioni, project work e testimonianze di manager e professionisti possono essere seguiti in presenza o in live streaming, attraverso un'avanzata piattaforma di e-learning (fruibile da qualsiasi device) che permette di vivere un altissimo livello di interazione con docenti e colleghi.\"\n }\n },\n\n \"master-part-time\": {\n \"listingPage\": \"MasterPartTime\",\n \"in\": {\n \"courseTypes\": [\"ExecutiveMaster\", \"ProfessionalMaster\", \"CorsiExecutive\"],\n \"filters\": {}\n },\n \"hero\": {\n \"type\": \"Master Executive Part Time\",\n \"title\": \"15 aree tematiche, più di 200 master e un network di eccellenza per soddisfare tutte le esigenze di reskilling e upskillig e accelerare il proprio percorso di carriera.\",\n \"content\": \"I Master Executive Part Time sono progettati per consentire a manager e professionisti di aggiornarsi. La metodologia «business oriented» consente di acquisire strumenti avanzati subito spendibili nel proprio contesto lavorativo. Le diverse formule di fruizione, part time e online, in aula o in live streaming, garantiscono la massima flessibilità e conciliabilità con i propri impegni personali e professionali.\"\n }\n },\n\n \"mba-emba\": {\n \"listingPage\": \"MBA e EMBA\",\n \"in\": {\n \"courseTypes\": [\"MBAFullTime\", \"MBAPartTime\", \"ExecutiveMBA\"],\n \"filters\": {}\n },\n \"hero\": {\n \"type\": \"MBA e EMBA\",\n \"title\": \"Un’esperienza unica e irripetibile di trasformazione personale e professionale. Investi su te stesso e dai un boost alla tua carriera.\",\n \"content\": \"I Master in Business Administration sono percorsi innovativi e di alto profilo che garantiscono le competenze manageriali necessarie a chi ha l'ambizione di dirigere organizzazioni aziendali. Progettati in collaborazione con le aziende e società di consulenza partner si caratterizzano per l'aggiornamento continuo e l'aderenza ai cambiamenti globali. Il Network con manager e colleghi di master si integra con una didattica interattiva arricchita da Project Work, Case Studies, CEO Talks, Team Building e Company Visit. Le docenze si svolgono in aula e in Live Streaming, da qualsiasi dispositivo con la possibilità di rivedere le lezioni registrate.\"\n }\n },\n\n \"master-universitari-con-cfu\": {\n \"listingPage\": \"ProfessionalMasterCFU\",\n \"in\": {\n \"courseTypes\": [\n \"CorsiExecutive\",\n \"CorsiLaurea\",\n \"ExecutiveMaster\",\n \"ExecutiveMBA\",\n \"MasterPostLaureaConStage\",\n \"Masterclass\",\n \"MBAFullTime\",\n \"MBAPartTime\",\n \"ProfessionalMaster\",\n \"StudyTour\"\n ],\n \"filters\": {\n \"certificationReleaseEntity\": [\n \"UniMarconi - prodotto BS24\",\n \"UniMarconi - prodotto UniMarconi\",\n \"Unitelma\"\n ]\n }\n },\n \"hero\": {\n \"type\": \"Professional Master con CFU\",\n \"title\": \"Opportunità post-laurea per l'acquisizione di competenze e il consolidamento della propria carriera\",\n \"content\": \"I Professional Master Universitari, organizzati in partnership con l'Università Guglielmo Marconi e l'Università Unitelma Sapienza, sono percorsi di specializzazione, dedicati a coloro che hanno già conseguito una laurea triennale o magistrale. Costituiscono un'opportunità di crescita importante per associare a una formazione pratica e operativa il contributo scientifico universitario, con il conseguimento del Diploma universitario di 1° o 2° livello e 60 CFU. I Master universitari aiutano i neolaureati ad avvicinarsi al mondo del lavoro e a migliorare le proprie prospettive occupazionali e favoriscono i giovani professionisti che vogliono rilanciare il proprio percorso di carriera. Le formule Part Time sono disponibili in live-streaming, fruibili con la massima flessibilità nella scelta di come, dove e quando seguire le lezioni.\"\n }\n },\n\n \"master-euroconference\": {\n \"listingPage\": \"CorsiEuroconference\",\n \"in\": {\n \"courseTypes\": [\n \"CorsiExecutive\",\n \"CorsiLaurea\",\n \"CorsiOnline\",\n \"ExecutiveMaster\",\n \"ExecutiveMBA\",\n \"MasterPostLaureaConStage\",\n \"Masterclass\",\n \"MBAFullTime\",\n \"MBAPartTime\",\n \"ProfessionalMaster\",\n \"StudyTour\"\n ],\n \"filters\": {\n \"certificationReleaseEntity\": [\n \"Euroconference\"\n ]\n }\n },\n \"hero\": {\n \"type\": \"Corsi Euroconference\",\n \"title\": \"L'accesso privilegiato all'expertise dei migliori professionisti su Lavoro, Fisco e Legal, per il tuo successo professionale\",\n \"content\": \"Il catalogo prodotti Euroconference ti offre percorsi formativi di alta qualità suddivisi in tre aree tematiche: Legale, Fiscale e Lavoro. La nostra proposta ti permette di accelerare la tua crescita professionale, acquisire competenze specializzate e rimanere sempre aggiornato sulle ultime novità, ottenendo anche crediti formativi. La possibilità di interagire direttamente con i docenti e la flessibilità dei formati di fruizione rendono i prodotti Euroconference la scelta ideale per il tuo sviluppo professionale. Siamo il punto di riferimento per la tua formazione legale, fiscale e lavoro, e ti offriamo soluzioni formative all'avanguardia per restare sempre competente nel tuo settore.\"\n }\n },\n\n \"master-always-on\": {\n \"listingPage\": \"MasterAlwaysOn\",\n \"in\": {\n \"courseTypes\": [\n \"CorsiExecutive\",\n \"CorsiLaurea\",\n \"CorsiOnline\",\n \"ExecutiveMaster\",\n \"ExecutiveMBA\",\n \"MasterPostLaureaConStage\",\n \"Masterclass\",\n \"MBAFullTime\",\n \"MBAPartTime\",\n \"ProfessionalMaster\",\n \"StudyTour\",\n \"MasterOnline\"\n ],\n \"filters\": {\n \"lessionMode\": [\n \"Always On\"\n ]\n }\n },\n \"hero\": {\n \"type\": \"Master Always ON\",\n \"title\": \"Percorsi in live streaming e on demand flessibili e sempre disponibili per professionisti che vogliono crescere\",\n \"content\": \"I Master Always ON sono progettati per offrire aggiornamento e approfondimento su tematiche verticali, con una struttura flessibile che combina 26 ore di formazione on demand e 24 ore in live streaming. Pensati per specialist, manager, professionisti e giovani talenti, questi percorsi garantiscono massima autonomia grazie alla possibilità di iniziare la formazione in qualsiasi momento, senza vincoli sulla data di inizio, e completare il programma entro 6 mesi, alternando formazione asincrona e sessioni live mensili. Un'opportunità per rimanere al passo con le tendenze del mondo del lavoro e applicare da subito nel proprio contesto lavorativo le competenze acquisite.\"\n }\n }\n\n}\n\nexport const listingPageData = {\n ...listingsByCourseTypes\n}","import { CourseLightModel } from \"@24hbs/utils\";\nimport { CourseType, CourseTypeStore } from \"$lib/utils/courses/type-store\"\nimport { type IListingPageDetails, type IListingPageListCourses, type ITopCoursesByListingPage, ListingPage } from \"./types\";\nimport { listingPageData } from \"./mocks/listing-page\";\nimport { writable, type Writable } from \"svelte/store\";\nimport type { IFilters } from \"$lib/utils/filters/types\";\n\nconst listingPageSlugByCourseTypeMap = {\n \"corsi-executive\": ListingPage.CorsiExecutive,\n \"corsi-online\": ListingPage.CorsiOnline, \n \"executive-master\": ListingPage.ExecutiveMaster,\n \"master-full-time\": ListingPage.MasterPostLaureaConStage,\n \"masterclass\": ListingPage.Masterclass,\n \"professional-master\": ListingPage.ProfessionalMaster,\n \"master-part-time\": ListingPage.MasterPartTime,\n \"mba-emba\": ListingPage.MBA,\n \"master-universitari-con-cfu\": ListingPage.ProfessionalMasterCFU,\n \"master-euroconference\": ListingPage.CorsiEuroconference,\n \"master-always-on\": ListingPage.MasterAlwaysOn,\n}\n\n/**\n * Map listing page page with ListingPage\n */\nconst listingPageSlugMap = {\n ...listingPageSlugByCourseTypeMap,\n // ...listingPageSlugByCourseCategoryMap\n};\n\nconst listingPageMap = [\n // by course type\n ListingPage.CorsiExecutive,\n ListingPage.CorsiOnline,\n ListingPage.ExecutiveMaster,\n ListingPage.MasterPostLaureaConStage,\n ListingPage.Masterclass,\n ListingPage.ProfessionalMaster,\n ListingPage.MasterPartTime,\n ListingPage.MBA,\n ListingPage.ProfessionalMasterCFU,\n ListingPage.CorsiEuroconference,\n ListingPage.MasterAlwaysOn,\n];\n\n/**\n * Utility class for listing page\n */\nexport class ListingPageUtils {\n private static instance: ListingPageUtils | null;\n\n public listingPageBestSellerCourses: Writable = >writable(ListingPageUtils.initListingPageListCourses());\n \n private constructor() {}\n\n public static getInstance(): ListingPageUtils {\n if (!this.instance) {\n this.instance = new ListingPageUtils();\n }\n\n return this.instance;\n }\n\n /**\n * Load preloaded listing page best seller courses\n * @param topCoursesByListingPage top courses by listing page\n */\n public loadPreloadedListingPageBestSellerCourses (topCoursesByListingPage: ITopCoursesByListingPage) {\n this.listingPageBestSellerCourses.update( current => {\n current = topCoursesByListingPage.bestSellerCourses;\n return current;\n });\n }\n\n /**\n * Initialize top courses by listing page\n * @returns top courses by listing page\n */\n public static initTopCoursesByListingPage(): ITopCoursesByListingPage {\n return {\n bestSellerCourses: this.initListingPageListCourses(),\n };\n };\n\n /**\n * Initialize listing page list courses\n * @returns listing page list courses\n */\n public static initListingPageListCourses(): IListingPageListCourses {\n const listingPageListCourses: IListingPageListCourses = {\n types: [],\n };\n\n for (const listingPageKey of listingPageMap) {\n listingPageListCourses.types[listingPageKey] = {\n courses: [],\n };\n }\n\n return listingPageListCourses;\n };\n\n /**\n * fromJSON method for ITopCoursesByListingPage\n * @param topCoursesObj top courses by listing page object\n * @returns ITopCoursesByListingPage\n */\n public static fromJSON (topCoursesObj: ITopCoursesByListingPage): ITopCoursesByListingPage {\n const topCoursesByListingPage: ITopCoursesByListingPage = {\n bestSellerCourses: this.initListingPageListCourses(),\n };\n\n for (let i = 0; i < topCoursesObj.bestSellerCourses.types.length; i++) {\n if (topCoursesObj.bestSellerCourses.types[i]) {\n for (let k = 0; k < topCoursesObj.bestSellerCourses.types[i].courses.length; k++) {\n const course = CourseLightModel.fromJSON(topCoursesObj.bestSellerCourses.types[i].courses[k]);\n topCoursesByListingPage.bestSellerCourses.types[i].courses.push(course);\n }\n }\n }\n\n return topCoursesByListingPage;\n }\n\n /**\n * Get listing page full name by listing page slug\n * @param listingPageSlug listing page slug\n * @returns listing page full name\n */\n public static getListingPageFullNameByListingPageSlug (listingPageSlug: string): string {\n switch (listingPageSlugMap[listingPageSlug]) {\n case ListingPage.CorsiExecutive:\n return \"Corsi Executive\";\n\n case ListingPage.CorsiOnline:\n return \"Corsi Online\";\n\n case ListingPage.ExecutiveMaster:\n return \"Executive Master\";\n\n case ListingPage.MasterPostLaureaConStage:\n return \"Master Post Laurea con Stage garantito\";\n\n case ListingPage.Masterclass:\n return \"Masterclass\";\n\n case ListingPage.ProfessionalMaster:\n return \"Professional Master\";\n\n case ListingPage.MasterPartTime:\n return \"Master Part Time\";\n\n case ListingPage.MBA:\n return \"MBA e EMBA\";\n \n case ListingPage.ProfessionalMasterCFU:\n return \"Professional Master con CFU\";\n \n case ListingPage.CorsiEuroconference:\n return \"Corsi Euroconference\";\n\n case ListingPage.MasterAlwaysOn:\n return \"Master Always ON\";\n }\n }\n\n /**\n * Get course types by listing page slug\n * @param listingPageSlug listing page slug\n * @returns course types\n */\n public static getCourseTypesByListingPageSlug(listingPageSlug: string): { courseTypes: CourseType[], filters: IFilters } {\n return listingPageData ? listingPageData[listingPageSlug].in : { courseTypes: [], filters: {} };\n }\n\n /**\n * Get string array of course types slug by listing page\n * @param listingPage listing page\n * @returns string[] course types slug\n */\n public static getCourseTypesSlugByListingPageSlug(listingPageSlug: string): { courseTypeSlug: string[], filters: IFilters } {\n const { courseTypes, filters} = this.getCourseTypesByListingPageSlug(listingPageSlug);\n\n return {\n courseTypeSlug: courseTypes.map(courseType => CourseTypeStore.getCourseTypeSlugByCourseType(CourseType[courseType as keyof typeof CourseType])),\n filters: filters,\n };\n }\n\n /**\n * Get listing page details by listing page slug\n * @param listingPageSlug listing page slug\n * @returns listing page details\n */\n public static getListingPageDetailsByListingPageSlug(listingPageSlug: string): IListingPageDetails {\n // by course type\n switch (listingPageSlugMap[listingPageSlug]) {\n case ListingPage.CorsiExecutive:\n return {\n gtm: {\n pageCategory: \"Corsi - Executive\",\n },\n title: \"Corsi Executive\",\n description: \"Individua il tema più in linea con le tue necessità di aggiornamento. Perfeziona, integra e sviluppa le tue competenze per svolgere al meglio il tuo ruolo.\",\n }\n\n case ListingPage.CorsiOnline:\n return {\n gtm: {\n pageCategory: \"Corsi Online\",\n },\n title: \"Corsi Online\",\n description: \"Corsi Online description\", // TODO: TO DEFINE\n }\n\n case ListingPage.ExecutiveMaster:\n return {\n gtm: {\n pageCategory: \"Executive Master\",\n },\n title: \"Executive Master\",\n description: \"Per sviluppare e consolidare skills tecniche e competenze manageriali.\",\n }\n\n case ListingPage.MasterPostLaureaConStage:\n return {\n gtm: {\n pageCategory: \"Master Post Laurea con Stage garantito\",\n },\n title: \"Master Post Laurea con Stage garantito\",\n description: \"24ORE Business School propone una vasta scelta di Master Full Time con stage per giovani neolaureati che vogliono approfondire le loro conoscenze e consolidare le proprie basi per entrare nel mondo del lavoro. I Master prevedono la frequenza in aula e lezioni in live streaming di sei mesi e uno stage formativo equivalente presso aziende partner nazionali e multinazionali selezionate.\",\n }\n\n case ListingPage.Masterclass:\n return {\n gtm: {\n pageCategory: \"Masterclass\",\n },\n title: \"Masterclass\",\n description: \"Con le Masterclass, 24ORE Business School vuole creare un’occasione unica per aziende, liberi professionisti o per chi vuole avvicinarsi alle diverse tematiche proposte, di incontrare i migliori esperti in materia attraverso sessioni formative brevi, smart, flessibili e orientate al business. Inoltre, saranno integrate da presentazioni di casi di successo e best practices da cui trarre spunto.\",\n }\n\n case ListingPage.ProfessionalMaster:\n return {\n gtm: {\n pageCategory: \"Professional Master\",\n },\n title: \"Professional Master\",\n description: \"Un’occasione unica di crescita professionale. Scegli uno dei percorsi più affini alla tua carriera e arricchisci la tua formazione grazie a un network di professionisti.\",\n }\n\n case ListingPage.MasterPartTime:\n return {\n gtm: {\n pageCategory: \"Master Part Time\",\n },\n title: \"Master Part Time\",\n description: \"Master Part Time description\", // TODO: TO DEFINE\n }\n\n case ListingPage.MBA:\n return {\n gtm: {\n pageCategory: \"MBA e EMBA\",\n },\n title: \"MBA e EMBA\",\n description: \"MBA description\", // TODO: TO DEFINE\n }\n \n case ListingPage.ProfessionalMasterCFU:\n return {\n gtm: {\n pageCategory: \"Professional Master con CFU\",\n },\n title: \"Professional Master con CFU\",\n description: \"Professional Master con CFU description\", // TODO: TO DEFINE\n }\n \n case ListingPage.CorsiEuroconference:\n return {\n gtm: {\n pageCategory: \"Corsi Euroconference\",\n },\n title: \"Corsi Euroconference\",\n description: \"Il catalogo prodotti Euroconference ti offre percorsi formativi di alta qualità suddivisi in tre aree tematiche: Legale, Fiscale e Lavoro. La nostra proposta ti permette di accelerare la tua crescita professionale, acquisire competenze specializzate e rimanere sempre aggiornato sulle ultime novità, ottenendo anche crediti formativi\",\n }\n\n case ListingPage.MasterAlwaysOn:\n return {\n gtm: {\n pageCategory: \"Master Always On\",\n },\n title: \"Master Always On\",\n description: \"Percorsi in live streaming e on demand flessibili e sempre disponibili per professionisti che vogliono crescere.\",\n }\n\n default:\n return {\n gtm: {\n pageCategory: \"\",\n },\n title: \"\",\n description: \"\",\n };\n }\n }\n\n /**\n * Get listing page by listing page slug\n * @param listingPageSlug listing page slug\n * @returns listing page\n */\n public static getListingPageByListingPageSlug(listingPageSlug: string): ListingPage {\n return listingPageSlugMap[listingPageSlug];\n }\n\n /**\n * Get listing page slug by listing page\n * @param listingPage listing page\n * @returns listing page slug\n */\n public static getListingPageSlugByListingPage(listingPage: ListingPage): string | null {\n // search in listingPageSlugMap by value\n const listingPageSlug = Object.keys(listingPageSlugMap).find(key => listingPageSlugMap[key] === listingPage);\n return listingPageSlug ? listingPageSlug : null;\n }\n\n /**\n * Get all listing page types slug\n * @returns string[] listing page slug\n */\n public static getAllListingPageSlug(): string[] {\n return Object.keys(listingPageSlugMap);\n }\n\n /**\n * Get all listing page types slug by course type\n * @returns ListingPage[] listing page\n */\n public static getAllListingPageByCourseType(): string[] {\n return Object.keys(listingPageSlugByCourseTypeMap);\n }\n\n /**\n * Get all listing page types slug by course category\n * @returns ListingPage[] listing page\n */\n public static getAllListingPageByCourseCategory(): string[] {\n return Object.keys(listingPageSlugByCourseCategoryMap);\n }\n\n /**\n * Get listing page css class by listing page slug\n * @param listingPageSlug listing page slug\n * @return string\n */\n public static getListingPageCssClassByListingPageSlug (listingPageSlug: string): string {\n switch (listingPageSlugMap[listingPageSlug]) {\n case ListingPage.CorsiExecutive:\n return \"corsiExecutiveListingColor\";\n\n case ListingPage.CorsiOnline:\n return \"corsiOnlineListingColor\";\n\n case ListingPage.ExecutiveMaster:\n return \"executiveMasterListingColor\";\n\n case ListingPage.MasterPostLaureaConStage:\n return \"masterPostLaureaListingColor\";\n\n case ListingPage.Masterclass:\n return \"masterclassListingColor\";\n\n case ListingPage.ProfessionalMaster:\n return \"professionalMasterListingColor\";\n\n case ListingPage.MasterPartTime:\n return \"masterPartTimeListingColor\";\n\n case ListingPage.MBA:\n return \"mbaListingColor\";\n\n case ListingPage.ProfessionalMasterCFU:\n return \"professionalMasterCFUListingColor\";\n\n case ListingPage.CorsiEuroconference:\n return \"corsiEuroconferenceListingColor\";\n\n case ListingPage.MasterAlwaysOn:\n return \"masterAlwaysOnListingColor\";\n\n default:\n return \"defaultListingColor\";\n }\n }\n\n public static getListingPageByFieldName (remoteSettingsFieldName: string): number {\n switch (remoteSettingsFieldName) {\n case \"listingBestSellerCorsiExecutive\":\n return ListingPage.CorsiExecutive;\n\n case \"listingBestSellerCorsiOnline\":\n return ListingPage.CorsiOnline;\n\n case \"listingBestSellerExecutiveMaster\":\n return ListingPage.ExecutiveMaster;\n\n case \"listingBestSellerMasterPostLaureaConStage\":\n return ListingPage.MasterPostLaureaConStage;\n\n case \"listingBestSellerMasterclass\":\n return ListingPage.Masterclass;\n\n case \"listingBestSellerProfessionalMaster\":\n return ListingPage.ProfessionalMaster;\n\n case \"listingBestSellerMasterPartTime\":\n return ListingPage.MasterPartTime;\n\n case \"listingBestSellerMBAEMBA\":\n return ListingPage.MBA;\n\n case \"listingBestSellerMasterUniversitariConCfu\":\n return ListingPage.ProfessionalMasterCFU;\n\n case \"listingBestSellerMasterEuroconference\":\n return ListingPage.CorsiEuroconference;\n\n case \"listingBestSellerMasterAlwaysOn\":\n return ListingPage.MasterAlwaysOn;\n\n default:\n return -1;\n }\n }\n\n}"],"names":["ListingPage","ListingPage2","listingsByCourseTypes","listingPageData","listingPageSlugByCourseTypeMap","listingPageSlugMap","listingPageMap","_ListingPageUtils","__publicField","writable","topCoursesByListingPage","current","listingPageListCourses","listingPageKey","topCoursesObj","i","k","course","CourseLightModel","listingPageSlug","courseTypes","filters","courseType","CourseTypeStore","CourseType","listingPage","key","remoteSettingsFieldName","ListingPageUtils"],"mappings":"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"}