1import { a as c } from "./index-C44AX5GR.js"; 2import { A as o } from "./alpine.container-DspSCfjM.js"; 3import "./popover.directive-CK8g3Qyq.js"; 4import "./purifier-DwKNMBJW.js"; 5import "./tinymce-config-DsR_gYMT.js"; 6class h { 7 constructor(t) { 8 this.attendeeLink = t.attendeeLink || "", this.cdcCompliant = t.cdcCompliant || "", this.cdcState = t.cdcState || {}, this.certification = t.certification || {}, this.europeanLanguageLevel = t.europeanLanguageLevel || "", this.examinationDate = t.examinationDate || "", this.expirationDate = t.expirationDate || "", this.externalId = t.externalId || "", this.gradePass = t.gradePass || "", this.id = t.id || "", this.permalink = t.permalink || "", this.state = t.state || "", this.stateLastUpdate = t.stateLastUpdate || ""; 9 } 10} 11const e = "formation", n = "certification", a = "certification_folder"; 12class l extends o { 13 constructor(t = "", i = false, r = null) { 14 super(), this.showed_tab = e, this.is_loading = false, this.certification = null, this.certification_folder = null, this.certification_folder_uri = t.trim(), this.has_certification_api_access = i, this.certification = this.buildCertification(r); 15 } 16 init() { 17 super.init(); 18 } 19 switchTab(t) { 20 if (t === this.showed_tab) switch (this.showed_tab) { 21 case e: 22 this.withCertification() ? this.showed_tab = n : this.withCertificationFolder() ? this.showed_tab = a : this.showed_tab = e; 23 break; 24 case n: 25 this.withCertificationFolder() ? this.showed_tab = a : this.showed_tab = e; 26 break; 27 case a: 28 this.showed_tab = e; 29 break; 30 } 31 else this.showed_tab = t; 32 this.showed_tab === a && this.loadCertificationFolder(); 33 } 34 withCertification() { 35 return !!this.certification?.name || !!this.certification?.code; 36 } 37 withCertificationFolder() { 38 return this.hasCertificationFolderUri() && this.hasCertificationApiAccess(); 39 } 40 hasCertificationFolderUri() { 41 return !!this.certification_folder_uri; 42 } 43 hasCertificationApiAccess() { 44 return this.has_certification_api_access; 45 } 46 buildCertification(t) { 47 return !t || !t.name && !t.code ? null : { ...t, url: this.buildFranceCompetencesUrl(t.code ?? "") }; 48 } 49 buildFranceCompetencesUrl(t) { 50 const i = t.match(/^(RS|RNCP)\s?(\d+)$/i); 51 return i ? `https://www.francecompetences.fr/recherche/${i[1].toLowerCase() === "rncp" ? "rncp" : "rs"}/${i[2]}/` : ""; 52 } 53 async loadCertificationFolder() { 54 if (!(!this.withCertificationFolder() || this.certification_folder)) { 55 this.is_loading = true; 56 try { 57 const t = await c.get(this.certification_folder_uri); 58 this.certification_folder = new h(t.data.certification_folder); 59 } catch (t) { 60 console.error(t); 61 } finally { 62 this.is_loading = false; 63 } 64 } 65 } 66} 67const w = (s, t = false, i = null) => new l(s, t, i); 68export { 69 w as default 70};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.