{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/domain/administrative-division/AdministrativeDivisionTypes.ts","webpack:///./src/domain/AdministrativeLevels.ts","webpack:///./src/domain/AttendanceType.ts","webpack:///./src/primary/breadcrumb/BreadcrumbDataSet.ts","webpack:///./src/primary/breadcrumb/Breadcrumb.component.ts","webpack:///./src/primary/breadcrumb/Breadcrumb.vue?3da3","webpack:///./src/primary/breadcrumb/Breadcrumb.component.ts?d0a9","webpack:///./src/primary/ComponentState.ts","webpack:///./src/primary/breadcrumb/Breadcrumb.component.ts?bc3e","webpack:///./src/primary/breadcrumb/Breadcrumb.vue","webpack:///./src/primary/dropdown/Dropdown.component.ts","webpack:///./src/primary/dropdown/Dropdown.vue?241f","webpack:///./src/primary/dropdown/Dropdown.component.ts?4305","webpack:///./src/primary/HistoricType.ts","webpack:///./src/primary/dropdown/Dropdown.component.ts?8101","webpack:///./src/primary/dropdown/Dropdown.vue","webpack:///./src/primary/common/PercentageDataSet.ts","webpack:///./src/primary/absence-details/AbsenceDetailsDataSet.ts","webpack:///./src/primary/absence-details/PieChart.ts","webpack:///./src/primary/absence-details/AbsenceDetails.component.ts","webpack:///./src/primary/absence-details/AbsenceDetails.vue?2224","webpack:///./src/primary/absence-details/AbsenceDetails.component.ts?23b4","webpack:///./src/primary/absence-details/AbsenceDetails.component.ts?58fe","webpack:///./src/primary/absence-details/AbsenceDetails.vue","webpack:///./src/primary/common/NumericDataSet.ts","webpack:///./src/primary/common/AdministrativeDivisionDataSet.ts","webpack:///./src/primary/administrative-division-details/AdministrativeDivisionDetails.component.ts","webpack:///./src/primary/administrative-division-details/AdministrativeDivisionDetails.vue?235a","webpack:///./src/primary/administrative-division-details/AdministrativeDivisionDetails.component.ts?24f2","webpack:///./src/primary/administrative-division-details/AdministrativeDivisionDetails.component.ts?e0bd","webpack:///./src/primary/administrative-division-details/AdministrativeDivisionDetails.vue","webpack:///./src/primary/administrative-division-historic/AdministrativeDivisionHistoricDataSet.ts","webpack:///./src/primary/historic-info-modal/HistoricInfoModal.component.ts","webpack:///./src/primary/historic-info-modal/HistoricInfoModal.vue?d8e7","webpack:///./src/primary/historic-info-modal/HistoricInfoModal.component.ts?ef4e","webpack:///./src/primary/historic-info-modal/HistoricInfoModal.component.ts?0552","webpack:///./src/primary/historic-info-modal/HistoricInfoModal.vue","webpack:///./src/primary/administrative-division-historic/AdministrativeDivisionHistoric.component.ts","webpack:///./src/primary/administrative-division-historic/AdministrativeDivisionHistoric.vue?48ae","webpack:///./src/primary/administrative-division-historic/AdministrativeDivisionHistoric.component.ts?4e29","webpack:///./src/primary/administrative-division-historic/AdministrativeDivisionHistoric.component.ts?14d2","webpack:///./src/primary/administrative-division-historic/AdministrativeDivisionHistoric.vue","webpack:///./src/primary/administrative-division-indicators/AdministrativeDivisionIndicators.component.ts","webpack:///./src/primary/administrative-division-indicators/AdministrativeDivisionIndicators.vue?7df9","webpack:///./src/primary/administrative-division-indicators/AdministrativeDivisionIndicators.component.ts?c48d","webpack:///./src/primary/administrative-division-indicators/AdministrativeDivisionIndicators.component.ts?2242","webpack:///./src/primary/administrative-division-indicators/AdministrativeDivisionIndicators.vue","webpack:///./src/primary/attendance-list/AttendanceListDataSet.ts","webpack:///./src/primary/attendance-list/AttendanceList.component.ts","webpack:///./src/primary/attendance-list/AttendanceList.vue?add4","webpack:///./src/primary/attendance-list/AttendanceList.component.ts?f5ec","webpack:///./src/primary/attendance-list/AttendanceList.component.ts?dc01","webpack:///./src/primary/attendance-list/AttendanceList.vue","webpack:///./src/primary/ChartUtils.ts","webpack:///./src/primary/attendance-map/attendance-card/AttendanceChart.ts","webpack:///./src/primary/attendance-map/attendance-card/AttendanceCard.component.ts","webpack:///./src/primary/attendance-map/attendance-card/AttendanceCard.vue?dfb8","webpack:///./src/primary/attendance-map/attendance-card/AttendanceCard.component.ts?5e3e","webpack:///./src/primary/RateTypes.ts","webpack:///./src/primary/attendance-map/attendance-card/AttendanceCard.component.ts?0d0c","webpack:///./src/primary/attendance-map/attendance-card/AttendanceCard.vue","webpack:///./src/primary/common/AttendanceDataSet.ts","webpack:///./src/primary/common/SummaryDataSet.ts","webpack:///./src/primary/attendance-map/attendance-tabs/AttendanceTabs.component.ts","webpack:///./src/primary/attendance-map/attendance-tabs/AttendanceTabs.vue?b4f7","webpack:///./src/primary/attendance-map/attendance-tabs/AttendanceTabs.component.ts?0351","webpack:///./src/primary/attendance-map/attendance-tabs/AttendanceTabs.component.ts?96cf","webpack:///./src/primary/attendance-map/attendance-tabs/AttendanceTabs.vue","webpack:///./src/primary/attendance-map/popup/Popup.component.ts","webpack:///./src/primary/attendance-map/popup/Popup.vue?2965","webpack:///./src/primary/attendance-map/popup/Popup.component.ts?cde3","webpack:///./src/primary/attendance-map/popup/Popup.component.ts?d705","webpack:///./src/primary/attendance-map/popup/Popup.vue","webpack:///./src/primary/attendance-map/AttendanceMap.component.ts","webpack:///./src/primary/attendance-map/AttendanceMap.vue?13f6","webpack:///./src/primary/attendance-map/AttendanceMap.component.ts?4728","webpack:///./src/primary/attendance-map/AttendanceMap.component.ts?cfb7","webpack:///./src/primary/attendance-map/AttendanceMap.vue","webpack:///./src/primary/common/SchoolDataSet.ts","webpack:///./src/primary/school-details/SchoolDetails.component.ts","webpack:///./src/primary/school-details/SchoolDetails.vue?1e35","webpack:///./src/primary/school-details/SchoolDetails.component.ts?6a46","webpack:///./src/primary/school-details/SchoolDetails.component.ts?9b83","webpack:///./src/primary/school-details/SchoolDetails.vue","webpack:///./src/primary/school-historic/SchoolHistoricDataSet.ts","webpack:///./src/primary/school-historic/SchoolHistoric.component.ts","webpack:///./src/primary/school-historic/SchoolHistoric.vue?dce7","webpack:///./src/primary/school-historic/SchoolHistoric.component.ts?1f31","webpack:///./src/primary/school-historic/SchoolHistoric.component.ts?6481","webpack:///./src/primary/school-historic/SchoolHistoric.vue","webpack:///./src/primary/school-indicators/SchoolIndicators.component.ts","webpack:///./src/primary/school-indicators/SchoolIndicators.vue?6ddc","webpack:///./src/primary/school-indicators/SchoolIndicators.component.ts?b3ae","webpack:///./src/primary/school-indicators/SchoolIndicators.component.ts?9a54","webpack:///./src/primary/school-indicators/SchoolIndicators.vue","webpack:///./src/primary/templates/template-print/TemplatePrint.component.ts","webpack:///./src/primary/templates/template-print/TemplatePrint.vue?0ba1","webpack:///./src/primary/templates/template-print/TemplatePrint.component.ts?2342","webpack:///./src/primary/templates/template-print/TemplatePrint.component.ts?cfe6","webpack:///./src/primary/templates/template-print/TemplatePrint.vue","webpack:///./src/primary/details-info-modal/DetailsInfoModal.component.ts","webpack:///./src/primary/details-info-modal/DetailsInfoModal.vue?2db5","webpack:///./src/primary/details-info-modal/DetailsInfoModal.component.ts?c20b","webpack:///./src/primary/details-info-modal/DetailsInfoModal.component.ts?c5ef","webpack:///./src/primary/details-info-modal/DetailsInfoModal.vue","webpack:///./src/primary/export-dropdown/AdministrativeDivisionCsvExportContent.ts","webpack:///./src/primary/export-dropdown/SchoolCsvExportContent.ts","webpack:///./src/primary/export-dropdown/ExportDropdown.component.ts","webpack:///./src/primary/export-dropdown/ExportDropdown.vue?997d","webpack:///./src/primary/export-dropdown/ExportDropdown.component.ts?73c4","webpack:///./src/primary/export-dropdown/ExportDropdown.component.ts?224c","webpack:///./src/primary/export-dropdown/ExportDropdown.vue","webpack:///./src/primary/info-modal/InfoModal.component.ts","webpack:///./src/primary/info-modal/InfoModal.vue?68ae","webpack:///./src/primary/info-modal/InfoModal.component.ts?03c0","webpack:///./src/primary/info-modal/InfoModal.component.ts?7346","webpack:///./src/primary/info-modal/InfoModal.vue","webpack:///./src/primary/templates/template-web/TemplateWeb.component.ts","webpack:///./src/primary/templates/template-web/TemplateWeb.vue?f5f7","webpack:///./src/primary/templates/template-web/TemplateWeb.component.ts?540d","webpack:///./src/primary/templates/template-web/TemplateWeb.component.ts?736f","webpack:///./src/primary/templates/template-web/TemplateWeb.vue","webpack:///./src/primary/dashboard/Dashboard.component.ts","webpack:///./src/primary/dashboard/Dashboard.vue?9d21","webpack:///./src/primary/dashboard/Dashboard.component.ts?7339","webpack:///./src/primary/dashboard/Dashboard.component.ts?33f7","webpack:///./src/primary/dashboard/Dashboard.vue","webpack:///./src/primary/app/App.component.ts","webpack:///./src/primary/app/App.vue?ba12","webpack:///./src/primary/app/App.component.ts?5276","webpack:///./src/primary/app/App.component.ts?0906","webpack:///./src/primary/app/App.vue","webpack:///./src/primary/app/AppStore.ts","webpack:///./src/primary/app/appStoreOptions.ts","webpack:///./src/primary/attendance-webmapping/styles/colors.ts","webpack:///./src/primary/attendance-webmapping/styles/municipalities/MunicipalityStyle.ts","webpack:///./src/primary/attendance-webmapping/styles/schools/SchoolStyler.ts","webpack:///./src/primary/attendance-webmapping/styles/states/StateStyle.ts","webpack:///./src/primary/WebmappingUtils.ts","webpack:///./src/primary/attendance-webmapping/AttendanceWebmapping.ts","webpack:///./src/primary/AttendanceTypeBus.ts","webpack:///./src/primary/constants.ts","webpack:///./src/primary/CsvParser.ts","webpack:///./src/primary/Delayer.ts","webpack:///./src/primary/FileDownloader.ts","webpack:///./src/primary/HistoricChart.ts","webpack:///./src/primary/navigation/NavigationBus.ts","webpack:///./src/domain/CartONGError.ts","webpack:///./src/domain/NotFound.ts","webpack:///./src/secondary/administrative-division-daily-report/RestAdministrativeDivisionDailyReport.ts","webpack:///./src/secondary/administrative-division-daily-report/RestAdministrativeDivisionDailyReportRepository.ts","webpack:///./src/domain/date/InvalidDate.ts","webpack:///./src/domain/date/LocalDate.ts","webpack:///./src/secondary/administrative-division/RestAdministrativeDivision.ts","webpack:///./src/secondary/administrative-division/RestAdministrativeDivisionSummary.ts","webpack:///./src/secondary/administrative-division/RestAdministrativeDivisionRepository.ts","webpack:///./src/secondary/ConsoleLogger.ts","webpack:///./src/secondary/LocalFetcher.ts","webpack:///./src/secondary/Printer.ts","webpack:///./src/secondary/school-daily-report/RestSchoolDailyReport.ts","webpack:///./src/secondary/school-daily-report/RestSchoolDailyReportRepository.ts","webpack:///./src/secondary/school/RestSchool.ts","webpack:///./src/secondary/school/RestSchoolSummary.ts","webpack:///./src/secondary/school/RestSchoolRepository.ts","webpack:///./src/main.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","AdministrativeDivisionTypes","AdministrativeLevels","AttendanceType","toBreadcrumbDataSet","navigation","country","id","active","visible","state","undefined","municipality","school","this","navigationBus","backToCountry","navigationParams","backToState","backToMunicipality","default","type","Boolean","_vm","_h","$createElement","_c","_self","staticClass","attrs","class","printable","breadcrumbDataSet","on","$event","stopPropagation","preventDefault","_v","_s","_e","staticRenderFns","ComponentState","component","text","item","administrativeLevel","COUNTRY","goToState","STATE","goToMunicipality","MUNICIPALITY","SCHOOL","goToSchool","items","sort","item1","item2","sortedItems","filter","toLowerCase","indexOf","Array","filteredItems","selectItem","scopedSlots","_u","fn","props","option","turn","model","callback","$$v","expression","slot","HistoricType","validNumber","toValid","isNaN","validRate","rate","Math","round","toString","toColor","toPercentageDataSet","color","defaultAbsenceReasonsPercentages","studentAbsenceMainReasonsPercentages","teacherAbsenceMainReasonsPercentages","adminAbsenceMainReasonsPercentages","absenceReasonsPercentages","attendanceType","validAbsenceReasons","mainReasons","STUDENT","TEACHER","studentsPartialLegendItems","teachersAndAdminsPartialLegendItems","legendItemsForAttendance","dataForAttendance","map","studentsLegendItems","teachersAndAdminsLegendItems","legendItems","chart","colors","appendix","PERSONAL","radius","margins","svg","d3","right","left","append","attr","chartColors","g","duration","pie","arc","innerRadius","outerRadius","pieData","selection","selectAll","arcTween","a","index","startAngle","endAngle","padAngle","transition","attrTween","enter","exit","remove","absenceDetailsDataSet","top","bottom","$emit","absenceDetails","administrativeDivisionLevel","administrativeDivision","_m","change","_l","legendItem","toNumericDataSet","numericValue","rawText","toLocaleString","support","private","public","studentAttendance","teacherAttendance","adminAttendance","maleStudentAbsencePercentageOverStudentAbsence","femaleStudentAbsencePercentageOverStudentAbsence","schools","students","femaleStudents","maleStudents","femaleStudentPercentage","maleStudentPercentage","teachers","assistants","directors","subDirectors","technicalPedagogicalAdvisers","physicalEducationTeachers","admins","quartermasters","others","schoolGivingClasses","schoolGivingClassesPercentages","schoolWaterSupply","schoolWaterSupplyPercentages","schoolWaterServiceContinuity","schoolWaterServiceContinuityPercentages","schoolWithWaterForHandWashing","schoolWithWaterForHandWashingPercentages","schoolFunctionalSinkCount","schoolSoapSufficiency","schoolSoapSufficiencyPercentages","schoolTowelSufficiency","schoolTowelSufficiencyPercentages","schoolSanitizerSufficiency","schoolSanitizerSufficiencyPercentages","schoolBinSufficiency","schoolBinSufficiencyPercentages","schoolWithSepticSystem","schoolWithSepticSystemPercentages","schoolWithAbilityToReorganizeSpace","schoolWithAbilityToReorganizeSpacePercentages","hygieneCommittee","hygieneCommitteePercentages","alternatesAttendance","alternatesAttendancePercentages","absentFemaleStudents","absentMaleStudents","studentAbsenceMainReasons","absentTeachers","teacherAbsenceMainReasons","absentAdmins","adminsAbsenceMainReasons","adminAbsenceMainReasons","adminsAbsenceMainReasonsPercentages","takenActions","visits","calls","scholarship","none","takenActionsPercentages","drinkers","maleStudentToilets","femaleStudentToilets","foodSupport","foodSupportPercentages","foodSupportType","dif","fullTimeProgram","foodSupportTypePercentages","theSchoolIsOurs","theSchoolIsOursPercentages","electricitySources","electricitySourcesPercentages","internetAccess","internetAccessPercentages","required","open","administrativeDivisionDataSet","toChartData","administrativeDivisionDailyReports","date","giveClasses","maleStudentAbsence","femaleStudentAbsence","historicType","animationDuration","GIVES_CLASSES","chartData","chartOptions","stackedKeys","legend","STUDENT_ABSENCE","TEACHER_ATTENDANCE","update","administrativeDivisionHistoricDataSet","historicInterval","historicChart","transformStackedBarChartToImage","makeStackedBarChart","updateStackedChart","parseDate","Date","components","HistoricInfoModalVue","tooltipLabel","ATTENDANCE_TYPE_LABELS","ADMINISTRATIVE_LEVEL_LABELS","toEntityColumnName","label","toUpperCase","substring","summary","toItem","percentage","toAttendanceListDataSet","summaries","header","entityColumnName","field","order","attendanceListDataSet","attendanceListSortOptions","stickyHeader","goTo","row","schoolId","selectorId","size","svgString","getSVGString","node","svgNode","serializer","XMLSerializer","setAttribute","serializeToString","replace","width","height","imgsrc","btoa","unescape","encodeURIComponent","image","Image","onload","document","querySelector","src","HEXA_COLORS","danger","warning","success","unknown","attendance","container","formerAttendance","sortValues","formerPieData","style","join","newAttendance","oldAttendance","newAttendanceValue","formerAttendanceValue","animationDelayer","afterDelay","chartSelectorId","imagePath","precededByLabel","RateTypes","labels","precededByLabels","imagePaths","attendanceTypeBus","switchAttendanceType","AttendanceCardVue","selectAttendanceType","summaryDataSet","inline","close","PENDING","schoolItems","stateId","attendanceWebmapping","setSchoolsFeatures","schoolsSummaries","adjust","mapExtent","onSelectState","onSelectMunicipality","onSelectSchoolCluster","onSelectSchool","onBackToCountry","fitToCountry","onGoToState","fitToState","onBackToState","onGoToMunicipality","fitToMunicipality","onBackToMunicipality","onGoToSchool","fitToSchool","popupElement","getElementById","addControls","setMapTarget","setPopupElement","extent","getExtent","removeControls","schoolItem","PopupVue","AttendanceTabsVue","AttendanceTabs","pickSchool","closePopup","goBackToCountry","turnTexts","waterSupplyTexts","waterServiceContinuityTexts","waterForHandWashingTexts","shortText","longText","soapSufficiencyTexts","towelSufficiencyTexts","sanitizerSufficiencyTexts","binSufficiencyTexts","hasSepticSystemTexts","hasAbilityToReorganizeSpaceTexts","hasHygieneCommitteeTexts","alternatesAttendanceTexts","givesClassesText","electricitySourceTexts","internetAccessTexts","toTakenActions","actions","toFoodSupportTypes","types","locality","level","workCenterKey","givesClasses","modality","address","femaleStudent","maleStudent","waterSupply","waterServiceContinuity","waterForHandWashing","functionalSinkCount","soapSufficiency","towelSufficiency","sanitizerSufficiency","binSufficiency","hasSepticSystem","hasAbilityToReorganizeSpace","hasHygieneCommittee","studentAbsenceOtherReason","teacherAbsenceOtherReason","adminAbsenceOtherReason","comments","foodSupportComment","electricitySource","schoolDataSet","schoolDailyReport","schoolDailyReports","schoolHistoricDataSet","mapReady","chartReady","printer","print","onAfterPrint","offAfterPrint","entity","currentAdministrativeDivision","lastUpdateDate","toHuman","sortAsc","val1","val2","sortDesc","sorter","valueToSort","currentSummaryList","summary1","summary2","chunkLength","chunksLength","ceil","fill","AttendanceMapVue","AttendanceMap","AdministrativeDivisionIndicatorsVue","SchoolIndicatorsVue","AttendanceListVue","AttendanceList","AbsenceDetailsVue","AbsenceDetails","AdministrativeDivisionDetailsVue","SchoolDetailsVue","AdministrativeDivisionHistoricVue","AdministrativeDivisionHistoric","SchoolHistoricVue","schoolSummaryList","currentSummary","absenceDetailsAttendanceType","chunk","ID","Nombre","localityId","Localidad","municipalityId","Municipio","Nivel","buildingId","Comentarios","content","contentString","csvParser","toCsvString","filename","fileDownloader","download","downloadCsv","InfoModalVue","ExportDropdownVue","ExportDropdown","DetailsInfoModalVue","componentState","stateSummaryList","municipalitySummaryList","isPrinting","onNavigateToState","onNavigateToMunicipality","onSwitchAttendanceType","Promise","all","administrativeDivisionRepository","find","list","administrativeDivisionDailyReportRepository","listForAdministrativeDivision","fetcher","fetch","then","results","setStatesFeatures","setMunicipalitiesFeatures","appStore","addAdministrativeDivision","getAdministrativeDivision","addAdministrativeDivisionHistoric","start","SUCCESS","catch","error","logger","ERROR","getSchoolSummaries","setSchoolSummaries","schoolRepository","listSchoolError","updateStore","addSchoolSummaries","administrativeDivisionId","administrativeDivisionType","getSchool","addSchool","getAdministrativeDivisionHistoric","getSchoolHistoric","schoolDailyReportRepository","listForSchool","addSchoolHistoric","listAdministrativeDivisionDailyReport","findAdministrativeDivision","listSchool","findSchool","listSchoolDailyReport","TemplateWebVue","TemplatePrintVue","BreadcrumbVue","DropdownVue","DashboardVue","store","commit","reports","administrativeDivisions","administrativeDivisionHistories","schoolHistories","schoolSummaries","appStoreOptions","mutations","appState","options","addSchoolSummariesForMunicipality","schoolSummariesForMunicipality","LIGHT_GREY","RED","LIGHT_RED","ORANGE","LIGHT_GREEN","GREEN","noFill","Style","stroke","Stroke","Fill","zIndex","lightGrey","lightGreen","green","orange","lightRed","red","selected","feature","resolution","getId","highDangerFeatureStyle","Circle","dangerFeatureStyle","warningFeatureStyle","successFeatureStyle","highSuccessFeatureStyle","unknownFeatureStyle","highDangerSelectedFeatureStyle","dangerSelectedFeatureStyle","warningSelectedFeatureStyle","successSelectedFeatureStyle","highSuccessSelectedFeatureStyle","unknownSelectedFeatureStyle","totalFeatures","Text","textBaseline","offsetY","schoolStyler","cluster","features","topoJson","parser","TopoJSON","readOptions","dataProjection","featureProjection","readFeatures","setLayerFeature","layer","getSource","clear","addFeatures","setClusterLayerFeature","source","featureId","fitOptions","getFeatureById","defaultOptions","padding","getView","fit","getGeometry","addLayerSingleClickEvent","event","getFeaturesAtPixel","pixel","hitTolerance","forEachLayerAtPixel","dispatchEvent","layerFilter","hasFeature","eventType","attributes","target","interactionOptions","altShiftDragRotate","pinchRotate","controlOptions","attribution","rotate","controlExtensions","Attribution","collapsible","ScaleLine","viewOptions","center","enableRotation","showFullExtent","maxZoom","minZoom","zoom","mapOptions","controls","extend","interactions","loadTilesWhileAnimating","loadTilesWhileInteracting","moveTolerance","view","View","Map","sourceOptions","opacity","renderMode","renderBuffer","updateWhileAnimating","updateWhileInteracting","Vector","clusterSource","distance","Cluster","autoPan","offset","autoPanMargin","autoPanAnimation","Overlay","SINGLE_CLICK","SELECT_SCHOOL_CLUSTER","SELECT_SCHOOL","statesLayer","municipalitiesLayer","schoolsLayer","popup","initialized","municipalityFeaturesByState","addLayer","addOverlay","handlePopup","fallbackSummary","forEach","set","domainSchoolSummary","featureOptions","geometry","Point","coordinates","Feature","setId","accumulator","geometries","setPosition","setStyle","updateFeatures","setTarget","callable","clickEvent","selectEvent","element","setElement","recenterControlElement","refreshControlElement","recenterControl","Control","refreshControl","addControl","removeControl","stateSummaries","mapAdministrativeDivisionProperties","municipalitySummaries","reduce","municipalityReducer","toSchoolFeature","extentOnly","updateStatesLayer","updateMunicipalitiesLayer","updateSchoolsLayer","updateSize","renderSync","setMinZoom","getZoom","calculateExtent","getSize","SWITCH_ATTENDANCE_TYPE","bus","$on","ANIMATION_DURATION","UPDATE_MAP_VIEWPORT_DELAY","MAP_EXTENT","json","nativeWindow","delay","setTimeout","globalWindow","contentType","blob","Blob","link","createElement","body","appendChild","href","URL","createObjectURL","click","revokeObjectURL","removeChild","MARGIN_TOP","MARGIN_RIGHT","MARGIN_BOTTOM","MARGIN_LEFT","locale","dateTime","time","periods","days","shortDays","months","shortMonths","tickFormat","stepBreak","step","trunc","windowWidth","chartWidth","chartHeight","x","rangeRound","paddingInner","y","range","format","xAxis","yAxis","ticks","domain","yAxisSelector","group","keys","z","select","yAxisTitle","textLength","getComputedTextLength","xLegend","classed","bars","e","merge","bandwidth","BACK_TO_COUNTRY","BACK_TO_STATE","BACK_TO_MUNICIPALITY","GO_TO_STATE","GO_TO_MUNICIPALITY","GO_TO_SCHOOL","$destroy","stack","toAdministrativeDivisionHistory","restAdministrativeDivisionHistory","fecha","indiceClasesPresenciales","indiceAsistenciaDocentes","indiceInasistenciaAlumnos","indiceInasistenciaAlumnas","environment","axiosInstance","url","response","cause","isBadFormat","pattern","match","parse","InvalidDate","isoDate","assertValidity","year","month","day","LocalDate","genderPercentage","gender","otherGender","total","restAdministrativeDivision","entidadId","nombre","of","fechaUltimoReporte","sostenimiento","privado","publico","indiceAsistenciaAlumnado","indiceAsistenciaAdmin","sumaEscuelas","sumaAlumnado","sumaAlumnas","sumaAlumnos","sumaDocentes","sumaGrupos","sumaDirector","sumaSubdirector","sumaAtps","sumaEducfis","sumaAdmin","sumaIntenden","sumaOtros","sumaHayClases","hayClases","sumaTipoAbasAgua","tipoAbasAgua","sumaContServAgua","contServAgua","sumaAguaLavamanos","aguaLavamanos","sumaLavamanos","sumaJabon","jabon","sumaToallas","toallas","sumaSanitizante","sanitizante","sumaBotesBasura","botesBasura","sumaTipoDrenaje","tipoDrenaje","sumaEspacios","espacios","sumaComite","comite","sumaAlterna_asis","alterna_asis","sumaInaAlumnas","sumaInaAlumnos","sumaCausaInaAlum","causaInaAlum","sumaInaDocentes","sumaCausaInaDocente","causaInaDocente","sumaInaAdministrativos","sumaCausaInaAdmin","causaInaAdmin","sumaAccionvisita","sumaAccionllamada","sumaAccionbeca","sumaAccionninguna","accion","visita","llamada","beca","ninguna","sumaBebederos","sumaWcalumnos","sumaWcalumnas","sumaAlimentos","indiceAlimentos","sumaAlimentosdif","sumaAlimentosetc","sumaAlimentosedo","sumaAlimentosotro","alimentos","etc","edo","otro","sumaEscuelanuestra","indiceEscuelaNuestra","sumaContservelectrica","contservelectrica","sumaInternet","internet","toAdministrativeDivisionSummary","restAdministrativeDivisionSummary","message","file","BEFORE_PRINT_NATIVE_EVENT","AFTER_PRINT_NATIVE_EVENT","BEFORE_PRINT_EVENT","AFTER_PRINT_EVENT","navigator","userAgent","matchMedia","addEventListener","internalEvent","matches","emit","off","toSchoolDailyReport","restSchoolDailyReport","restSchoolId","split","toValidCount","count","toRate","restSchool","totalStudentAbsenceMainReasons","inaalum_causa1","inaalum_causa2","inaalum_causa3","inaalum_causa4","inaalum_causa5","totalTeachersAbsenceMainReasons","inadoc_causa1","inadoc_causa2","inadoc_causa3","inadoc_causa4","totalAdminAbsenceMainReasons","inaadm_causa1","inaadm_causa2","inaadm_causa3","inaadm_causa4","localidad","municipioId","nivel","cct","turno","modalidad","municipio","cod_localidad","domicilio","cod_inmueble","alumnas","alumnos","docentes","grupos","director","subdirector","atps","educfis","admin","intenden","otros","lavamanos","inaalumnas","inaalumnos","inaalum_causaotro","inadoc_causaotro","inaadm_causaotro","comentarios","maleStudentAbsenceProportion","indiceAlumnosSobreInasistencias","femaleStudentAbsenceProportion","indiceAlumnasSobreInasistencias","expectedStudents","alum_prog","accionvisita","accionllamada","accionbeca","accionninguna","bebederos","wcalumnos","wcalumnas","alimentosdif","alimentosetc","alimentosedo","alimentosotro","alimentosotro_txt","escuelanuestra","toTurn","restTurn","toSchoolSummary","restSchoolSummary","parseFloat","coordenadas","longitud","latitud","restMunicipalityId","restStateId","use","config","productionTip","restBaseUrl","localAxios","baseURL","restAxios","console","mitt","innerWidth","render","h","provide","updateMapViewportDelayer","$mount"],"mappings":"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","file":"js/app.69f02571.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export enum AdministrativeDivisionTypes {\r\n COUNTRY = 'COUNTRY',\r\n STATE = 'STATE',\r\n MUNICIPALITY = 'MUNICIPALITY',\r\n}\r\n","export enum AdministrativeLevels {\r\n COUNTRY = 'COUNTRY',\r\n STATE = 'STATE',\r\n MUNICIPALITY = 'MUNICIPALITY',\r\n SCHOOL = 'SCHOOL',\r\n}\r\n","export enum AttendanceType {\r\n STUDENT = 'STUDENT',\r\n TEACHER = 'TEACHER',\r\n PERSONAL = 'PERSONAL',\r\n}\r\n","import { NavigationParams } from '@/primary/navigation/NavigationParams';\r\n\r\nexport interface BreadcrumbItemDataSet {\r\n id: string;\r\n name: string;\r\n active: boolean;\r\n visible: boolean;\r\n}\r\n\r\nexport interface BreadcrumbDataSet {\r\n country: BreadcrumbItemDataSet;\r\n state: BreadcrumbItemDataSet;\r\n municipality: BreadcrumbItemDataSet;\r\n school: BreadcrumbItemDataSet;\r\n}\r\n\r\nexport const toBreadcrumbDataSet = (navigation: NavigationParams[]): BreadcrumbDataSet => ({\r\n country: {\r\n id: 'country',\r\n name: 'MÉXICO',\r\n active: navigation.length === 0,\r\n visible: true,\r\n },\r\n state: {\r\n id: navigation[0] ? navigation[0].id : 'state',\r\n name: navigation[0] ? navigation[0].name : 'name',\r\n active: navigation.length === 1,\r\n visible: navigation[0] !== undefined,\r\n },\r\n municipality: {\r\n id: navigation[1] ? navigation[1].id : 'state',\r\n name: navigation[1] ? navigation[1].name : 'name',\r\n active: navigation.length === 2,\r\n visible: navigation[1] !== undefined,\r\n },\r\n school: {\r\n id: navigation[2] ? navigation[2].id : 'state',\r\n name: navigation[2] ? navigation[2].name : 'name',\r\n active: true,\r\n visible: navigation[2] !== undefined,\r\n },\r\n});\r\n","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { toBreadcrumbDataSet } from '@/primary/breadcrumb/BreadcrumbDataSet';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\n\r\n@Component\r\nexport default class Breadcrumb extends Vue {\r\n @Inject()\r\n private navigationBus!: () => NavigationBus;\r\n\r\n @Prop()\r\n readonly navigation!: NavigationParams[];\r\n\r\n @Prop({ default: false, type: Boolean })\r\n readonly printable!: boolean;\r\n\r\n get breadcrumbDataSet() {\r\n return toBreadcrumbDataSet(this.navigation);\r\n }\r\n\r\n backToCountry() {\r\n this.navigationBus().backToCountry();\r\n }\r\n\r\n backToState(navigationParams: NavigationParams) {\r\n this.navigationBus().backToState(navigationParams);\r\n }\r\n\r\n backToMunicipality(navigationParams: NavigationParams) {\r\n this.navigationBus().backToMunicipality(navigationParams);\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"breadcrumb\",attrs:{\"aria-label\":\"breadcrumbs\"}},[_c('ul',{class:{ 'horizontal-scroll-mobile': !_vm.printable }},[_c('li',{class:[{ 'is-active': _vm.breadcrumbDataSet.country.active }, 'has-text-weight-bold', (\"is-size-\" + (_vm.printable ? '6' : '5'))]},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.backToCountry($event)}}},[_vm._v(\" \"+_vm._s(_vm.breadcrumbDataSet.country.name))])]),(_vm.breadcrumbDataSet.state.visible)?_c('li',{class:[{ 'is-active': _vm.breadcrumbDataSet.state.active }, 'has-text-weight-bold', (\"is-size-\" + (_vm.printable ? '6' : '5'))]},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.backToState({ id: _vm.breadcrumbDataSet.state.id, name: _vm.breadcrumbDataSet.state.name })}}},[_vm._v(\" \"+_vm._s(_vm.breadcrumbDataSet.state.name)+\" \")])]):_vm._e(),(_vm.breadcrumbDataSet.municipality.visible)?_c('li',{class:[{ 'is-active': _vm.breadcrumbDataSet.municipality.active }, 'has-text-weight-bold', (\"is-size-\" + (_vm.printable ? '6' : '5'))]},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.backToMunicipality({ id: _vm.breadcrumbDataSet.municipality.id, name: _vm.breadcrumbDataSet.municipality.name })}}},[_vm._v(\" \"+_vm._s(_vm.breadcrumbDataSet.municipality.name)+\" \")])]):_vm._e(),(_vm.breadcrumbDataSet.school.visible)?_c('li',{class:(\"is-active has-text-weight-bold is-size-\" + (_vm.printable ? '6' : '5'))},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[_vm._v(_vm._s(_vm.breadcrumbDataSet.school.name))])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { toBreadcrumbDataSet } from '@/primary/breadcrumb/BreadcrumbDataSet';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\n\r\n@Component\r\nexport default class Breadcrumb extends Vue {\r\n @Inject()\r\n private navigationBus!: () => NavigationBus;\r\n\r\n @Prop()\r\n readonly navigation!: NavigationParams[];\r\n\r\n @Prop({ default: false, type: Boolean })\r\n readonly printable!: boolean;\r\n\r\n get breadcrumbDataSet() {\r\n return toBreadcrumbDataSet(this.navigation);\r\n }\r\n\r\n backToCountry() {\r\n this.navigationBus().backToCountry();\r\n }\r\n\r\n backToState(navigationParams: NavigationParams) {\r\n this.navigationBus().backToState(navigationParams);\r\n }\r\n\r\n backToMunicipality(navigationParams: NavigationParams) {\r\n this.navigationBus().backToMunicipality(navigationParams);\r\n }\r\n}\r\n","export enum ComponentState {\r\n PENDING = 'PENDING',\r\n SUCCESS = 'SUCCESS',\r\n ERROR = 'ERROR',\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./Breadcrumb.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./Breadcrumb.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Breadcrumb.vue?vue&type=template&id=3959eb4a&\"\nimport script from \"./Breadcrumb.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./Breadcrumb.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\n\r\n@Component\r\nexport default class Dropdown extends Vue {\r\n text: string = '';\r\n\r\n @Inject()\r\n navigationBus!: () => NavigationBus;\r\n\r\n @Prop({ type: Array, default: [] })\r\n readonly items!: Summary[];\r\n\r\n @Prop()\r\n readonly administrativeLevel!: AdministrativeLevels;\r\n\r\n get sortedItems() {\r\n return [...this.items].sort((item1, item2) => (item1.name < item2.name ? -1 : 1));\r\n }\r\n\r\n get filteredItems() {\r\n return this.sortedItems.filter(item => item.name.toLowerCase().indexOf(this.text.toLowerCase()) >= 0);\r\n }\r\n\r\n selectItem(item: AdministrativeDivisionSummary | SchoolSummary | null) {\r\n if (item) {\r\n switch (this.administrativeLevel) {\r\n case AdministrativeLevels.COUNTRY:\r\n this.navigationBus().goToState({ id: item.id, name: item.name });\r\n break;\r\n case AdministrativeLevels.STATE:\r\n this.navigationBus().goToMunicipality({ id: item.id, name: item.name });\r\n break;\r\n case AdministrativeLevels.MUNICIPALITY:\r\n case AdministrativeLevels.SCHOOL:\r\n this.navigationBus().goToSchool({ id: item.id, name: item.name });\r\n }\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-autocomplete',{staticClass:\"wrap-item w300\",attrs:{\"data\":_vm.filteredItems,\"field\":\"name\",\"placeholder\":\"\",\"icon\":\"magnify\",\"clearable\":\"\",\"open-on-focus\":\"\",\"clear-on-select\":\"\"},on:{\"select\":_vm.selectItem},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_vm._v(\" \"+_vm._s(props.option.name)+\" \"),_c('span',[_vm._v(_vm._s(props.option.turn ? (\" - \" + (props.option.turn)) : ''))])]}}]),model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}},[_c('template',{slot:\"empty\"},[_vm._v(\"No se han encontrado resultados\")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\n\r\n@Component\r\nexport default class Dropdown extends Vue {\r\n text: string = '';\r\n\r\n @Inject()\r\n navigationBus!: () => NavigationBus;\r\n\r\n @Prop({ type: Array, default: [] })\r\n readonly items!: Summary[];\r\n\r\n @Prop()\r\n readonly administrativeLevel!: AdministrativeLevels;\r\n\r\n get sortedItems() {\r\n return [...this.items].sort((item1, item2) => (item1.name < item2.name ? -1 : 1));\r\n }\r\n\r\n get filteredItems() {\r\n return this.sortedItems.filter(item => item.name.toLowerCase().indexOf(this.text.toLowerCase()) >= 0);\r\n }\r\n\r\n selectItem(item: AdministrativeDivisionSummary | SchoolSummary | null) {\r\n if (item) {\r\n switch (this.administrativeLevel) {\r\n case AdministrativeLevels.COUNTRY:\r\n this.navigationBus().goToState({ id: item.id, name: item.name });\r\n break;\r\n case AdministrativeLevels.STATE:\r\n this.navigationBus().goToMunicipality({ id: item.id, name: item.name });\r\n break;\r\n case AdministrativeLevels.MUNICIPALITY:\r\n case AdministrativeLevels.SCHOOL:\r\n this.navigationBus().goToSchool({ id: item.id, name: item.name });\r\n }\r\n }\r\n }\r\n}\r\n","export enum HistoricType {\r\n GIVES_CLASSES = 'GIVES_CLASSES',\r\n TEACHER_ATTENDANCE = 'TEACHER_ABSENCE',\r\n STUDENT_ABSENCE = 'STUDENT_ABSENCE',\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./Dropdown.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./Dropdown.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Dropdown.vue?vue&type=template&id=b753df5a&\"\nimport script from \"./Dropdown.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./Dropdown.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export interface PercentageDataSet {\r\n text: string;\r\n color: string;\r\n value: number;\r\n}\r\n\r\nconst validNumber = (toValid: number) => !isNaN(toValid);\r\nconst validRate = (rate: number) => validNumber(rate) && rate >= 0 && rate <= 1;\r\nconst toText = (rate: number): string => (validRate(rate) ? `${(Math.round(rate * 100 * 10) / 10).toString()}%` : '-');\r\n\r\nconst toColor = (rate: number) => {\r\n if (rate >= 0 && rate <= 0.7) {\r\n return 'danger-darker';\r\n }\r\n if (rate > 0.7 && rate <= 0.8) {\r\n return 'danger';\r\n }\r\n if (rate > 0.8 && rate <= 0.9) {\r\n return 'warning';\r\n }\r\n if (rate > 0.9 && rate <= 0.95) {\r\n return 'success';\r\n }\r\n if (rate > 0.95 && rate <= 1) {\r\n return 'success-darker';\r\n }\r\n return 'unknown';\r\n};\r\n\r\nexport const toPercentageDataSet = (rate: number) => ({\r\n text: toText(rate),\r\n color: toColor(rate),\r\n value: validRate(rate) ? rate : 0,\r\n});\r\n","import { AttendanceType } from '@/domain/AttendanceType';\r\nimport { toPercentageDataSet } from '@/primary/common/PercentageDataSet';\r\n\r\nexport interface AbsenceReasonsPercentages {\r\n studentAbsenceMainReasonsPercentages: { [key: string]: number };\r\n teacherAbsenceMainReasonsPercentages: { [key: string]: number };\r\n adminAbsenceMainReasonsPercentages: { [key: string]: number };\r\n}\r\n\r\nexport interface AbsenceLegendItem {\r\n color: string;\r\n text: string;\r\n value: string;\r\n}\r\n\r\nexport interface AbsenceDetailsDataSet {\r\n legendItems: AbsenceLegendItem[];\r\n chart: {\r\n data: number[];\r\n colors: string[];\r\n };\r\n appendix: string;\r\n}\r\n\r\nconst toText = (rate: number) => toPercentageDataSet(rate).text;\r\nconst toValue = (rate: number) => toPercentageDataSet(rate).value;\r\n\r\nconst defaultAbsenceReasonsPercentages = {\r\n studentAbsenceMainReasonsPercentages: { '1': -1, '2': -1, '3': -1, '4': -1, '5': -1 },\r\n teacherAbsenceMainReasonsPercentages: { '1': -1, '2': -1, '3': -1, '4': -1 },\r\n adminAbsenceMainReasonsPercentages: { '1': -1, '2': -1, '3': -1, '4': -1 },\r\n};\r\n\r\nexport const toAbsenceDetailsDataSet = (\r\n absenceReasonsPercentages: AbsenceReasonsPercentages | null,\r\n attendanceType: AttendanceType\r\n): AbsenceDetailsDataSet => {\r\n const validAbsenceReasons = absenceReasonsPercentages || defaultAbsenceReasonsPercentages;\r\n\r\n const mainReasons =\r\n attendanceType === AttendanceType.STUDENT\r\n ? validAbsenceReasons.studentAbsenceMainReasonsPercentages\r\n : attendanceType === AttendanceType.TEACHER\r\n ? validAbsenceReasons.teacherAbsenceMainReasonsPercentages\r\n : validAbsenceReasons.adminAbsenceMainReasonsPercentages;\r\n\r\n const studentsPartialLegendItems = [\r\n { color: 'primary', text: 'Los padres de familia no enviaron a sus hijos a la escuela' },\r\n { color: 'secondary', text: 'Reportados con síntomas de contagio' },\r\n { color: 'tertiary', text: 'Casos de contagio (COVID 19) confirmados' },\r\n { color: 'grey', text: 'Se desconocen las causas' },\r\n { color: 'secondary-bis', text: 'Otras causas' },\r\n ];\r\n\r\n const teachersAndAdminsPartialLegendItems = [\r\n { color: 'primary', text: 'Casos de contagio (COVID 19) confirmados' },\r\n { color: 'tertiary', text: 'Se reportaron enfermos (NO COVID 19)' },\r\n { color: 'grey', text: 'Se desconocen las causas' },\r\n { color: 'secondary-bis', text: 'Otras causas' },\r\n ];\r\n\r\n const legendItemsForAttendance =\r\n attendanceType === AttendanceType.STUDENT ? studentsPartialLegendItems : teachersAndAdminsPartialLegendItems;\r\n\r\n const dataForAttendance =\r\n attendanceType === AttendanceType.STUDENT\r\n ? [mainReasons['1'], mainReasons['3'], mainReasons['4'], mainReasons['5']].map(toValue)\r\n : [mainReasons['1'], mainReasons['2'], mainReasons['3'], mainReasons['4']].map(toValue);\r\n\r\n const studentsLegendItems = [\r\n { ...legendItemsForAttendance[0], value: toText(mainReasons['1']) },\r\n { ...legendItemsForAttendance[2], value: toText(mainReasons['3']) },\r\n { ...legendItemsForAttendance[3], value: toText(mainReasons['4']) },\r\n { ...legendItemsForAttendance[4], value: toText(mainReasons['5']) },\r\n ];\r\n\r\n const teachersAndAdminsLegendItems = [\r\n { ...legendItemsForAttendance[0], value: toText(mainReasons['1']) },\r\n { ...legendItemsForAttendance[1], value: toText(mainReasons['2']) },\r\n { ...legendItemsForAttendance[2], value: toText(mainReasons['3']) },\r\n { ...legendItemsForAttendance[3], value: toText(mainReasons['4']) },\r\n ];\r\n\r\n const legendItems = attendanceType === AttendanceType.STUDENT ? studentsLegendItems : teachersAndAdminsLegendItems;\r\n\r\n return {\r\n legendItems,\r\n chart: {\r\n data: dataForAttendance,\r\n colors: ['#b38e5d', '#285c4d', '#C0C0C0', '#621132'],\r\n },\r\n appendix: attendanceType === AttendanceType.PERSONAL ? '*distinto a docentes' : '',\r\n };\r\n};\r\n","import * as d3 from 'd3';\r\n\r\nexport interface Margins {\r\n top: number;\r\n right: number;\r\n bottom: number;\r\n left: number;\r\n}\r\n\r\nexport const makeChart = (id: string, radius: number, margins: Margins) => {\r\n const svg = d3.select(`#${id}`);\r\n const pieWidth = radius * 2 - margins.right - margins.left;\r\n svg.append('g').attr('transform', 'translate(' + radius + ',' + radius + ')');\r\n};\r\n\r\nexport const updateChart = (id: string, radius: number, data: number[], colors: string[]) => {\r\n const chartColors = d3.scaleOrdinal(colors);\r\n const g = d3.select(`#${id} > g`);\r\n const t = d3.transition().duration(250);\r\n const pie = d3.pie();\r\n\r\n const arc = d3\r\n .arc()\r\n .innerRadius(0)\r\n .outerRadius(radius);\r\n\r\n const pieData = pie(data);\r\n const selection = g.selectAll('path').data(pieData);\r\n\r\n const arcTween = (a: any) => {\r\n const i = d3.interpolate({ data: 0, index: 0, value: 0, startAngle: 0, endAngle: 0, padAngle: 0 }, a);\r\n return (t: any) => arc(i(t));\r\n };\r\n\r\n selection\r\n .transition()\r\n .duration(500)\r\n .attrTween('d', arcTween as any);\r\n\r\n selection\r\n .enter()\r\n .append('path')\r\n .attr('fill', (d, i) => chartColors(i.toString()))\r\n .attr('d', arc as any)\r\n .attr('stroke', 'white')\r\n .attr('stroke-width', '1px');\r\n\r\n selection\r\n .exit()\r\n .transition(t as any)\r\n .remove();\r\n};\r\n","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { School } from '@/domain/school/School';\r\nimport { toAbsenceDetailsDataSet } from '@/primary/absence-details/AbsenceDetailsDataSet';\r\nimport { makeChart, updateChart } from '@/primary/absence-details/PieChart';\r\n\r\n@Component\r\nexport default class AbsenceReasonsDetails extends Vue {\r\n @Prop()\r\n readonly administrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n readonly school!: School;\r\n\r\n @Prop()\r\n readonly administrativeDivisionLevel!: boolean;\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Watch('absenceDetailsDataSet')\r\n absenceDetailsDataSetWatcher() {\r\n updateChart('absence-details-chart', 75, this.absenceDetailsDataSet.chart.data, this.absenceDetailsDataSet.chart.colors);\r\n }\r\n\r\n get absenceDetailsDataSet() {\r\n const absenceDetails = this.administrativeDivisionLevel ? this.administrativeDivision : this.school;\r\n return toAbsenceDetailsDataSet(absenceDetails, this.attendanceType);\r\n }\r\n\r\n mounted() {\r\n makeChart('absence-details-chart', 75, { top: 0, right: 0, bottom: 0, left: 0 });\r\n updateChart('absence-details-chart', 75, this.absenceDetailsDataSet.chart.data, this.absenceDetailsDataSet.chart.colors);\r\n }\r\n\r\n change(attendanceType: AttendanceType) {\r\n this.$emit('change', attendanceType);\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"has-background-white card\"},[_vm._m(0),_c('div',{staticClass:\"tabs\"},[_c('ul',[_c('li',{class:[{ 'is-active': _vm.attendanceType === 'STUDENT' }, 'is-size-6', 'has-text-weight-bold']},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.change('STUDENT')}}},[_vm._v(\"ALUMNOS\")])]),_c('li',{class:[{ 'is-active': _vm.attendanceType === 'TEACHER' }, 'is-size-6', 'has-text-weight-bold']},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.change('TEACHER')}}},[_vm._v(\"DOCENTES\")])]),_c('li',{class:[{ 'is-active': _vm.attendanceType === 'PERSONAL' }, 'is-size-6', 'has-text-weight-bold']},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.change('PERSONAL')}}},[_vm._v(\"PERSONAL*\")])])])]),_c('div',{staticClass:\"card-content\"},[_c('div',{staticClass:\"columns is-mobile\"},[_c('div',{staticClass:\"column is-4 has-text-centered\"},[_c('svg',{attrs:{\"id\":\"absence-details-chart\",\"viewBox\":\"0 0 150 150\",\"perserveAspectRatio\":\"xMinYMid meet\"}})]),_c('div',{staticClass:\"column is-8\"},[_c('table',{staticClass:\"table\"},_vm._l((_vm.absenceDetailsDataSet.legendItems),function(legendItem){return _c('tr',{key:legendItem.text},[_c('td',[_c('i',{class:(\"square-\" + (legendItem.color))})]),_c('td',[_vm._v(_vm._s(legendItem.text))]),_c('td',{staticClass:\"has-text-weight-bold has-text-centered has-text-secondary\"},[_vm._v(_vm._s(legendItem.value))])])}),0)])]),_c('div',{staticClass:\"h20 has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.absenceDetailsDataSet.appendix)+\" \")])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('h2',{staticClass:\"card-header-title\"},[_vm._v(\"Causas generales del total de inasistencia\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { School } from '@/domain/school/School';\r\nimport { toAbsenceDetailsDataSet } from '@/primary/absence-details/AbsenceDetailsDataSet';\r\nimport { makeChart, updateChart } from '@/primary/absence-details/PieChart';\r\n\r\n@Component\r\nexport default class AbsenceReasonsDetails extends Vue {\r\n @Prop()\r\n readonly administrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n readonly school!: School;\r\n\r\n @Prop()\r\n readonly administrativeDivisionLevel!: boolean;\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Watch('absenceDetailsDataSet')\r\n absenceDetailsDataSetWatcher() {\r\n updateChart('absence-details-chart', 75, this.absenceDetailsDataSet.chart.data, this.absenceDetailsDataSet.chart.colors);\r\n }\r\n\r\n get absenceDetailsDataSet() {\r\n const absenceDetails = this.administrativeDivisionLevel ? this.administrativeDivision : this.school;\r\n return toAbsenceDetailsDataSet(absenceDetails, this.attendanceType);\r\n }\r\n\r\n mounted() {\r\n makeChart('absence-details-chart', 75, { top: 0, right: 0, bottom: 0, left: 0 });\r\n updateChart('absence-details-chart', 75, this.absenceDetailsDataSet.chart.data, this.absenceDetailsDataSet.chart.colors);\r\n }\r\n\r\n change(attendanceType: AttendanceType) {\r\n this.$emit('change', attendanceType);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AbsenceDetails.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AbsenceDetails.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AbsenceDetails.vue?vue&type=template&id=110e4388&\"\nimport script from \"./AbsenceDetails.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./AbsenceDetails.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export interface NumericDataSet {\r\n text: string;\r\n value: number;\r\n}\r\n\r\nconst validNumber = (toValid: number) => !isNaN(toValid) && toValid >= 0;\r\n\r\nexport const toNumericDataSet = (numericValue: number) => ({\r\n rawText: validNumber(numericValue) ? numericValue.toString() : '-',\r\n text: validNumber(numericValue) ? numericValue.toLocaleString('es-MX') : '-',\r\n value: validNumber(numericValue) ? numericValue : 0,\r\n});\r\n","import { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { NumericDataSet, toNumericDataSet } from '@/primary/common/NumericDataSet';\r\nimport { PercentageDataSet, toPercentageDataSet } from '@/primary/common/PercentageDataSet';\r\n\r\nexport interface AdministrativeDivisionDataSet {\r\n support: { private: PercentageDataSet; public: PercentageDataSet };\r\n studentAttendance: PercentageDataSet;\r\n teacherAttendance: PercentageDataSet;\r\n adminAttendance: PercentageDataSet;\r\n maleStudentAbsencePercentageOverStudentAbsence: PercentageDataSet;\r\n femaleStudentAbsencePercentageOverStudentAbsence: PercentageDataSet;\r\n schools: string;\r\n students: NumericDataSet;\r\n femaleStudents: NumericDataSet;\r\n maleStudents: NumericDataSet;\r\n maleStudentPercentage: PercentageDataSet;\r\n femaleStudentPercentage: PercentageDataSet;\r\n teachers: string;\r\n assistants: string;\r\n directors: string;\r\n subDirectors: string;\r\n technicalPedagogicalAdvisers: string;\r\n physicalEducationTeachers: string;\r\n admins: string;\r\n quartermasters: string;\r\n others: string;\r\n schoolGivingClasses: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n '5': NumericDataSet;\r\n '6': NumericDataSet;\r\n '7': NumericDataSet;\r\n '8': NumericDataSet;\r\n };\r\n schoolGivingClassesPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n '5': PercentageDataSet;\r\n '6': PercentageDataSet;\r\n '7': PercentageDataSet;\r\n '8': PercentageDataSet;\r\n };\r\n schoolWaterSupply: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n };\r\n schoolWaterSupplyPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n };\r\n schoolWaterServiceContinuity: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n };\r\n schoolWaterServiceContinuityPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n };\r\n schoolWithWaterForHandWashing: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n };\r\n schoolWithWaterForHandWashingPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n };\r\n schoolFunctionalSinkCount: NumericDataSet;\r\n schoolSoapSufficiency: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n };\r\n schoolSoapSufficiencyPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n };\r\n schoolTowelSufficiency: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n };\r\n schoolTowelSufficiencyPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n };\r\n schoolSanitizerSufficiency: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n };\r\n schoolSanitizerSufficiencyPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n };\r\n schoolBinSufficiency: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n };\r\n schoolBinSufficiencyPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n };\r\n schoolWithSepticSystem: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n };\r\n schoolWithSepticSystemPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n };\r\n schoolWithAbilityToReorganizeSpace: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n };\r\n schoolWithAbilityToReorganizeSpacePercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n };\r\n hygieneCommittee: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n };\r\n hygieneCommitteePercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n };\r\n alternatesAttendance: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n };\r\n alternatesAttendancePercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n };\r\n absentFemaleStudents: string;\r\n absentMaleStudents: string;\r\n studentAbsenceMainReasons: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n '5': NumericDataSet;\r\n };\r\n studentAbsenceMainReasonsPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n '5': PercentageDataSet;\r\n };\r\n absentTeachers: string;\r\n teacherAbsenceMainReasons: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n };\r\n teacherAbsenceMainReasonsPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n };\r\n absentAdmins: string;\r\n adminsAbsenceMainReasons: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n };\r\n adminsAbsenceMainReasonsPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n };\r\n takenActions: {\r\n visits: NumericDataSet;\r\n calls: NumericDataSet;\r\n scholarship: NumericDataSet;\r\n none: NumericDataSet;\r\n };\r\n takenActionsPercentages: {\r\n visits: PercentageDataSet;\r\n calls: PercentageDataSet;\r\n scholarship: PercentageDataSet;\r\n none: PercentageDataSet;\r\n };\r\n drinkers: NumericDataSet;\r\n maleStudentToilets: NumericDataSet;\r\n femaleStudentToilets: NumericDataSet;\r\n foodSupport: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n };\r\n foodSupportPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n };\r\n foodSupportType: {\r\n dif: NumericDataSet;\r\n fullTimeProgram: NumericDataSet;\r\n state: NumericDataSet;\r\n others: NumericDataSet;\r\n };\r\n foodSupportTypePercentages: {\r\n dif: PercentageDataSet;\r\n fullTimeProgram: PercentageDataSet;\r\n state: PercentageDataSet;\r\n others: PercentageDataSet;\r\n };\r\n theSchoolIsOurs: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n };\r\n theSchoolIsOursPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n };\r\n electricitySources: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n '5': NumericDataSet;\r\n };\r\n electricitySourcesPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n '5': PercentageDataSet;\r\n };\r\n internetAccess: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n };\r\n internetAccessPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n };\r\n}\r\n\r\nexport const toAdministrativeDivisionDataset = (\r\n administrativeDivision: AdministrativeDivision | undefined\r\n): AdministrativeDivisionDataSet =>\r\n administrativeDivision\r\n ? {\r\n support: {\r\n private: toPercentageDataSet(administrativeDivision.support.private),\r\n public: toPercentageDataSet(administrativeDivision.support.public),\r\n },\r\n studentAttendance: toPercentageDataSet(administrativeDivision.studentAttendance),\r\n teacherAttendance: toPercentageDataSet(administrativeDivision.teacherAttendance),\r\n adminAttendance: toPercentageDataSet(administrativeDivision.adminAttendance),\r\n maleStudentAbsencePercentageOverStudentAbsence: toPercentageDataSet(\r\n administrativeDivision.maleStudentAbsencePercentageOverStudentAbsence\r\n ),\r\n femaleStudentAbsencePercentageOverStudentAbsence: toPercentageDataSet(\r\n administrativeDivision.femaleStudentAbsencePercentageOverStudentAbsence\r\n ),\r\n schools: administrativeDivision.schools.toLocaleString('es-MX'),\r\n students: toNumericDataSet(administrativeDivision.students),\r\n femaleStudents: toNumericDataSet(administrativeDivision.femaleStudents),\r\n maleStudents: toNumericDataSet(administrativeDivision.maleStudents),\r\n femaleStudentPercentage: toPercentageDataSet(administrativeDivision.femaleStudentPercentage),\r\n maleStudentPercentage: toPercentageDataSet(administrativeDivision.maleStudentPercentage),\r\n teachers: administrativeDivision.teachers.toLocaleString('es-MX'),\r\n assistants: administrativeDivision.assistants.toLocaleString('es-MX'),\r\n directors: administrativeDivision.directors.toLocaleString('es-MX'),\r\n subDirectors: administrativeDivision.subDirectors.toLocaleString('es-MX'),\r\n technicalPedagogicalAdvisers: administrativeDivision.technicalPedagogicalAdvisers.toLocaleString('es-MX'),\r\n physicalEducationTeachers: administrativeDivision.physicalEducationTeachers.toLocaleString('es-MX'),\r\n admins: administrativeDivision.admins.toLocaleString('es-MX'),\r\n quartermasters: administrativeDivision.quartermasters.toLocaleString('es-MX'),\r\n others: administrativeDivision.others.toLocaleString('es-MX'),\r\n schoolGivingClasses: {\r\n '1': toNumericDataSet(administrativeDivision.schoolGivingClasses['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolGivingClasses['2']),\r\n '3': toNumericDataSet(administrativeDivision.schoolGivingClasses['3']),\r\n '4': toNumericDataSet(administrativeDivision.schoolGivingClasses['4']),\r\n '5': toNumericDataSet(administrativeDivision.schoolGivingClasses['5']),\r\n '6': toNumericDataSet(administrativeDivision.schoolGivingClasses['6']),\r\n '7': toNumericDataSet(administrativeDivision.schoolGivingClasses['7']),\r\n '8': toNumericDataSet(administrativeDivision.schoolGivingClasses['8']),\r\n },\r\n schoolGivingClassesPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolGivingClassesPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolGivingClassesPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.schoolGivingClassesPercentages['3']),\r\n '4': toPercentageDataSet(administrativeDivision.schoolGivingClassesPercentages['4']),\r\n '5': toPercentageDataSet(administrativeDivision.schoolGivingClassesPercentages['5']),\r\n '6': toPercentageDataSet(administrativeDivision.schoolGivingClassesPercentages['6']),\r\n '7': toPercentageDataSet(administrativeDivision.schoolGivingClassesPercentages['7']),\r\n '8': toPercentageDataSet(administrativeDivision.schoolGivingClassesPercentages['8']),\r\n },\r\n schoolWaterSupply: {\r\n '1': toNumericDataSet(administrativeDivision.schoolWaterSupply['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolWaterSupply['2']),\r\n '3': toNumericDataSet(administrativeDivision.schoolWaterSupply['3']),\r\n '4': toNumericDataSet(administrativeDivision.schoolWaterSupply['4']),\r\n },\r\n schoolWaterSupplyPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolWaterSupplyPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolWaterSupplyPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.schoolWaterSupplyPercentages['3']),\r\n '4': toPercentageDataSet(administrativeDivision.schoolWaterSupplyPercentages['4']),\r\n },\r\n schoolWaterServiceContinuity: {\r\n '1': toNumericDataSet(administrativeDivision.schoolWaterServiceContinuity['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolWaterServiceContinuity['2']),\r\n '3': toNumericDataSet(administrativeDivision.schoolWaterServiceContinuity['3']),\r\n '4': toNumericDataSet(administrativeDivision.schoolWaterServiceContinuity['4']),\r\n },\r\n schoolWaterServiceContinuityPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolWaterServiceContinuityPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolWaterServiceContinuityPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.schoolWaterServiceContinuityPercentages['3']),\r\n '4': toPercentageDataSet(administrativeDivision.schoolWaterServiceContinuityPercentages['4']),\r\n },\r\n schoolWithWaterForHandWashing: {\r\n '1': toNumericDataSet(administrativeDivision.schoolWithWaterForHandWashing['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolWithWaterForHandWashing['2']),\r\n },\r\n schoolWithWaterForHandWashingPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolWithWaterForHandWashingPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolWithWaterForHandWashingPercentages['2']),\r\n },\r\n schoolFunctionalSinkCount: toNumericDataSet(administrativeDivision.schoolFunctionalSinkCount),\r\n schoolSoapSufficiency: {\r\n '1': toNumericDataSet(administrativeDivision.schoolSoapSufficiency['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolSoapSufficiency['2']),\r\n '3': toNumericDataSet(administrativeDivision.schoolSoapSufficiency['3']),\r\n },\r\n schoolSoapSufficiencyPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolSoapSufficiencyPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolSoapSufficiencyPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.schoolSoapSufficiencyPercentages['3']),\r\n },\r\n schoolTowelSufficiency: {\r\n '1': toNumericDataSet(administrativeDivision.schoolTowelSufficiency['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolTowelSufficiency['2']),\r\n '3': toNumericDataSet(administrativeDivision.schoolTowelSufficiency['3']),\r\n },\r\n schoolTowelSufficiencyPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolTowelSufficiencyPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolTowelSufficiencyPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.schoolTowelSufficiencyPercentages['3']),\r\n },\r\n schoolSanitizerSufficiency: {\r\n '1': toNumericDataSet(administrativeDivision.schoolSanitizerSufficiency['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolSanitizerSufficiency['2']),\r\n '3': toNumericDataSet(administrativeDivision.schoolSanitizerSufficiency['3']),\r\n },\r\n schoolSanitizerSufficiencyPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolSanitizerSufficiencyPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolSanitizerSufficiencyPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.schoolSanitizerSufficiencyPercentages['3']),\r\n },\r\n schoolBinSufficiency: {\r\n '1': toNumericDataSet(administrativeDivision.schoolBinSufficiency['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolBinSufficiency['2']),\r\n },\r\n schoolBinSufficiencyPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolBinSufficiencyPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolBinSufficiencyPercentages['2']),\r\n },\r\n schoolWithSepticSystem: {\r\n '1': toNumericDataSet(administrativeDivision.schoolWithSepticSystem['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolWithSepticSystem['2']),\r\n },\r\n schoolWithSepticSystemPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolWithSepticSystemPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolWithSepticSystemPercentages['2']),\r\n },\r\n schoolWithAbilityToReorganizeSpace: {\r\n '1': toNumericDataSet(administrativeDivision.schoolWithAbilityToReorganizeSpace['1']),\r\n '2': toNumericDataSet(administrativeDivision.schoolWithAbilityToReorganizeSpace['2']),\r\n },\r\n schoolWithAbilityToReorganizeSpacePercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.schoolWithAbilityToReorganizeSpacePercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.schoolWithAbilityToReorganizeSpacePercentages['2']),\r\n },\r\n hygieneCommittee: {\r\n '1': toNumericDataSet(administrativeDivision.hygieneCommittee['1']),\r\n '2': toNumericDataSet(administrativeDivision.hygieneCommittee['2']),\r\n },\r\n hygieneCommitteePercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.hygieneCommitteePercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.hygieneCommitteePercentages['2']),\r\n },\r\n alternatesAttendance: {\r\n '1': toNumericDataSet(administrativeDivision.alternatesAttendance['1']),\r\n '2': toNumericDataSet(administrativeDivision.alternatesAttendance['2']),\r\n },\r\n alternatesAttendancePercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.alternatesAttendancePercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.alternatesAttendancePercentages['2']),\r\n },\r\n absentFemaleStudents: administrativeDivision.absentFemaleStudents.toString(),\r\n absentMaleStudents: administrativeDivision.absentMaleStudents.toString(),\r\n studentAbsenceMainReasons: {\r\n '1': toNumericDataSet(administrativeDivision.studentAbsenceMainReasons['1']),\r\n '2': toNumericDataSet(administrativeDivision.studentAbsenceMainReasons['2']),\r\n '3': toNumericDataSet(administrativeDivision.studentAbsenceMainReasons['3']),\r\n '4': toNumericDataSet(administrativeDivision.studentAbsenceMainReasons['4']),\r\n '5': toNumericDataSet(administrativeDivision.studentAbsenceMainReasons['5']),\r\n },\r\n studentAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.studentAbsenceMainReasonsPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.studentAbsenceMainReasonsPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.studentAbsenceMainReasonsPercentages['3']),\r\n '4': toPercentageDataSet(administrativeDivision.studentAbsenceMainReasonsPercentages['4']),\r\n '5': toPercentageDataSet(administrativeDivision.studentAbsenceMainReasonsPercentages['5']),\r\n },\r\n absentTeachers: administrativeDivision.absentTeachers.toString(),\r\n teacherAbsenceMainReasons: {\r\n '1': toNumericDataSet(administrativeDivision.teacherAbsenceMainReasons['1']),\r\n '2': toNumericDataSet(administrativeDivision.teacherAbsenceMainReasons['2']),\r\n '3': toNumericDataSet(administrativeDivision.teacherAbsenceMainReasons['3']),\r\n '4': toNumericDataSet(administrativeDivision.teacherAbsenceMainReasons['4']),\r\n },\r\n teacherAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.teacherAbsenceMainReasonsPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.teacherAbsenceMainReasonsPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.teacherAbsenceMainReasonsPercentages['3']),\r\n '4': toPercentageDataSet(administrativeDivision.teacherAbsenceMainReasonsPercentages['4']),\r\n },\r\n absentAdmins: administrativeDivision.absentAdmins.toString(),\r\n adminsAbsenceMainReasons: {\r\n '1': toNumericDataSet(administrativeDivision.adminAbsenceMainReasons['1']),\r\n '2': toNumericDataSet(administrativeDivision.adminAbsenceMainReasons['2']),\r\n '3': toNumericDataSet(administrativeDivision.adminAbsenceMainReasons['3']),\r\n '4': toNumericDataSet(administrativeDivision.adminAbsenceMainReasons['4']),\r\n },\r\n adminsAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.adminAbsenceMainReasonsPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.adminAbsenceMainReasonsPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.adminAbsenceMainReasonsPercentages['3']),\r\n '4': toPercentageDataSet(administrativeDivision.adminAbsenceMainReasonsPercentages['4']),\r\n },\r\n takenActions: {\r\n visits: toNumericDataSet(administrativeDivision.takenActions.visits),\r\n calls: toNumericDataSet(administrativeDivision.takenActions.calls),\r\n scholarship: toNumericDataSet(administrativeDivision.takenActions.scholarship),\r\n none: toNumericDataSet(administrativeDivision.takenActions.none),\r\n },\r\n takenActionsPercentages: {\r\n visits: toPercentageDataSet(administrativeDivision.takenActionsPercentages.visits),\r\n calls: toPercentageDataSet(administrativeDivision.takenActionsPercentages.calls),\r\n scholarship: toPercentageDataSet(administrativeDivision.takenActionsPercentages.scholarship),\r\n none: toPercentageDataSet(administrativeDivision.takenActionsPercentages.none),\r\n },\r\n drinkers: toNumericDataSet(administrativeDivision.drinkers),\r\n maleStudentToilets: toNumericDataSet(administrativeDivision.maleStudentToilets),\r\n femaleStudentToilets: toNumericDataSet(administrativeDivision.femaleStudentToilets),\r\n foodSupport: {\r\n '1': toNumericDataSet(administrativeDivision.foodSupport['1']),\r\n '2': toNumericDataSet(administrativeDivision.foodSupport['2']),\r\n },\r\n foodSupportPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.foodSupportPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.foodSupportPercentages['2']),\r\n },\r\n foodSupportType: {\r\n dif: toNumericDataSet(administrativeDivision.foodSupportType.dif),\r\n fullTimeProgram: toNumericDataSet(administrativeDivision.foodSupportType.fullTimeProgram),\r\n state: toNumericDataSet(administrativeDivision.foodSupportType.state),\r\n others: toNumericDataSet(administrativeDivision.foodSupportType.others),\r\n },\r\n foodSupportTypePercentages: {\r\n dif: toPercentageDataSet(administrativeDivision.foodSupportTypePercentages.dif),\r\n fullTimeProgram: toPercentageDataSet(administrativeDivision.foodSupportTypePercentages.fullTimeProgram),\r\n state: toPercentageDataSet(administrativeDivision.foodSupportTypePercentages.state),\r\n others: toPercentageDataSet(administrativeDivision.foodSupportTypePercentages.others),\r\n },\r\n theSchoolIsOurs: {\r\n '1': toNumericDataSet(administrativeDivision.theSchoolIsOurs['1']),\r\n '2': toNumericDataSet(administrativeDivision.theSchoolIsOurs['2']),\r\n },\r\n theSchoolIsOursPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.theSchoolIsOursPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.theSchoolIsOursPercentages['2']),\r\n },\r\n electricitySources: {\r\n '1': toNumericDataSet(administrativeDivision.electricitySources['1']),\r\n '2': toNumericDataSet(administrativeDivision.electricitySources['2']),\r\n '3': toNumericDataSet(administrativeDivision.electricitySources['3']),\r\n '4': toNumericDataSet(administrativeDivision.electricitySources['4']),\r\n '5': toNumericDataSet(administrativeDivision.electricitySources['5']),\r\n },\r\n electricitySourcesPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.electricitySourcesPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.electricitySourcesPercentages['2']),\r\n '3': toPercentageDataSet(administrativeDivision.electricitySourcesPercentages['3']),\r\n '4': toPercentageDataSet(administrativeDivision.electricitySourcesPercentages['4']),\r\n '5': toPercentageDataSet(administrativeDivision.electricitySourcesPercentages['5']),\r\n },\r\n internetAccess: {\r\n '1': toNumericDataSet(administrativeDivision.internetAccess['1']),\r\n '2': toNumericDataSet(administrativeDivision.internetAccess['2']),\r\n },\r\n internetAccessPercentages: {\r\n '1': toPercentageDataSet(administrativeDivision.internetAccessPercentages['1']),\r\n '2': toPercentageDataSet(administrativeDivision.internetAccessPercentages['2']),\r\n },\r\n }\r\n : {\r\n support: { private: toPercentageDataSet(-1), public: toPercentageDataSet(-1) },\r\n studentAttendance: toPercentageDataSet(-1),\r\n teacherAttendance: toPercentageDataSet(-1),\r\n adminAttendance: toPercentageDataSet(-1),\r\n maleStudentAbsencePercentageOverStudentAbsence: toPercentageDataSet(-1),\r\n femaleStudentAbsencePercentageOverStudentAbsence: toPercentageDataSet(-1),\r\n schools: '-',\r\n students: toNumericDataSet(-1),\r\n femaleStudents: toNumericDataSet(-1),\r\n maleStudents: toNumericDataSet(-1),\r\n femaleStudentPercentage: toPercentageDataSet(-1),\r\n maleStudentPercentage: toPercentageDataSet(-1),\r\n teachers: '-',\r\n assistants: '-',\r\n directors: '-',\r\n subDirectors: '-',\r\n technicalPedagogicalAdvisers: '-',\r\n physicalEducationTeachers: '-',\r\n admins: '-',\r\n quartermasters: '-',\r\n others: '-',\r\n schoolGivingClasses: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n '5': toNumericDataSet(-1),\r\n '6': toNumericDataSet(-1),\r\n '7': toNumericDataSet(-1),\r\n '8': toNumericDataSet(-1),\r\n },\r\n schoolGivingClassesPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n '5': toPercentageDataSet(-1),\r\n '6': toPercentageDataSet(-1),\r\n '7': toPercentageDataSet(-1),\r\n '8': toPercentageDataSet(-1),\r\n },\r\n schoolWaterSupply: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n },\r\n schoolWaterSupplyPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n },\r\n schoolWaterServiceContinuity: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n },\r\n schoolWaterServiceContinuityPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n },\r\n schoolWithWaterForHandWashing: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n },\r\n schoolWithWaterForHandWashingPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n },\r\n schoolFunctionalSinkCount: toNumericDataSet(-1),\r\n schoolSoapSufficiency: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n },\r\n schoolSoapSufficiencyPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n },\r\n schoolTowelSufficiency: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n },\r\n schoolTowelSufficiencyPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n },\r\n schoolSanitizerSufficiency: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n },\r\n schoolSanitizerSufficiencyPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n },\r\n schoolBinSufficiency: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n },\r\n schoolBinSufficiencyPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n },\r\n schoolWithSepticSystem: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n },\r\n schoolWithSepticSystemPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n },\r\n schoolWithAbilityToReorganizeSpace: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n },\r\n schoolWithAbilityToReorganizeSpacePercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n },\r\n hygieneCommittee: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n },\r\n hygieneCommitteePercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n },\r\n alternatesAttendance: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n },\r\n alternatesAttendancePercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n },\r\n absentFemaleStudents: '-',\r\n absentMaleStudents: '-',\r\n studentAbsenceMainReasons: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n '5': toNumericDataSet(-1),\r\n },\r\n studentAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n '5': toPercentageDataSet(-1),\r\n },\r\n absentTeachers: '-',\r\n teacherAbsenceMainReasons: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n },\r\n teacherAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n },\r\n absentAdmins: '-',\r\n adminsAbsenceMainReasons: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n },\r\n adminsAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n },\r\n takenActions: {\r\n visits: toNumericDataSet(-1),\r\n calls: toNumericDataSet(-1),\r\n scholarship: toNumericDataSet(-1),\r\n none: toNumericDataSet(-1),\r\n },\r\n takenActionsPercentages: {\r\n visits: toPercentageDataSet(-1),\r\n calls: toPercentageDataSet(-1),\r\n scholarship: toPercentageDataSet(-1),\r\n none: toPercentageDataSet(-1),\r\n },\r\n drinkers: toNumericDataSet(-1),\r\n maleStudentToilets: toNumericDataSet(-1),\r\n femaleStudentToilets: toNumericDataSet(-1),\r\n foodSupport: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n },\r\n foodSupportPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n },\r\n foodSupportType: {\r\n dif: toNumericDataSet(-1),\r\n fullTimeProgram: toNumericDataSet(-1),\r\n state: toNumericDataSet(-1),\r\n others: toNumericDataSet(-1),\r\n },\r\n foodSupportTypePercentages: {\r\n dif: toPercentageDataSet(-1),\r\n fullTimeProgram: toPercentageDataSet(-1),\r\n state: toPercentageDataSet(-1),\r\n others: toPercentageDataSet(-1),\r\n },\r\n theSchoolIsOurs: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n },\r\n theSchoolIsOursPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n },\r\n electricitySources: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n '5': toNumericDataSet(-1),\r\n },\r\n electricitySourcesPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n '5': toPercentageDataSet(-1),\r\n },\r\n internetAccess: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n },\r\n internetAccessPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n },\r\n };\r\n","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { toAdministrativeDivisionDataset } from '@/primary/common/AdministrativeDivisionDataSet';\r\n\r\n@Component\r\nexport default class AdministrativeDivisionDetails extends Vue {\r\n @Prop()\r\n readonly administrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n get administrativeDivisionDataSet() {\r\n return toAdministrativeDivisionDataset(this.administrativeDivision);\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"estadísticaBásicaSobreMatricula\",\"open\":\"\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"estadísticaBásicaSobreMatricula\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Estadística básica sobre matricula\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6 break-word\"},[_vm._v(\"Número\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6 break-word\"},[_vm._v(\" Porcentaje \")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Total de alumnos\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.students.text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\"100%\")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"pl-2\"},[_vm._v(\"- de los cuales alumnas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.femaleStudents.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.femaleStudentPercentage.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"pl-2\"},[_vm._v(\"- de los cuales alumnos\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.maleStudents.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.maleStudentPercentage.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Grupos\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.assistants))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\"-\")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),_c('b-collapse',{staticClass:\"card mb-4\",attrs:{\"animation\":\"slide\",\"aria-id\":\"tasaDeAsistencia\",\"open\":\"\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"tasaDeAsistencia\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"ÍNDICES DE ASISTENCIA\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Asistencia del alumnado\")]),_c('td',{class:(\"w120 has-text-right has-text-weight-bold has-text-\" + (_vm.administrativeDivisionDataSet.studentAttendance.color))},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.studentAttendance.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"pl-2\"},[_vm._v(\"- Inasistencias de niñas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.femaleStudentAbsencePercentageOverStudentAbsence.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"pl-2\"},[_vm._v(\"- Inasistencias de niños\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.maleStudentAbsencePercentageOverStudentAbsence.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Asistencia de docentes\")]),_c('td',{class:(\"w120 has-text-right has-text-weight-bold has-text-\" + (_vm.administrativeDivisionDataSet.teacherAttendance.color))},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.teacherAttendance.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Asistencia de personal distinto a docentes\")]),_c('td',{class:(\"w120 has-text-right has-text-weight-bold has-text-\" + (_vm.administrativeDivisionDataSet.adminAttendance.color))},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.adminAttendance.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])]),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"causasDeInasistenciaDeAlumnos\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"causasDeInasistenciaDeAlumnos\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Causas de inasistencia de alumnos \")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Número\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Los padres de familia no enviaron a sus hijos a la escuela\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.studentAbsenceMainReasons['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.studentAbsenceMainReasonsPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Casos de contagio (COVID 19) confirmados\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.studentAbsenceMainReasons['3'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.studentAbsenceMainReasonsPercentages['3'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se desconocen las causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.studentAbsenceMainReasons['4'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.studentAbsenceMainReasonsPercentages['4'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otras causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.studentAbsenceMainReasons['5'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.studentAbsenceMainReasonsPercentages['5'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"causasDeInasistenciaDeDocentes\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"causasDeInasistenciaDeDocentes\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Causas de inasistencia de docentes \")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Número\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Casos de contagio (COVID 19) confirmados\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.teacherAbsenceMainReasons['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.teacherAbsenceMainReasonsPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se reportaron enfermos (NO COVID 19)\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.teacherAbsenceMainReasons['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.teacherAbsenceMainReasonsPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se desconocen las causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.teacherAbsenceMainReasons['3'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.teacherAbsenceMainReasonsPercentages['3'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otras causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.teacherAbsenceMainReasons['4'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.teacherAbsenceMainReasonsPercentages['4'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"causasDeInasistenciaDelPersonal\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"causasDeInasistenciaDelPersonal\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Causas de inasistencia del personal \")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Número\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Casos de contagio (COVID 19) confirmados\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.adminsAbsenceMainReasons['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.adminsAbsenceMainReasonsPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se reportaron enfermos (NO COVID 19)\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.adminsAbsenceMainReasons['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.adminsAbsenceMainReasonsPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se desconocen las causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.adminsAbsenceMainReasons['3'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.adminsAbsenceMainReasonsPercentages['3'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otras causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.adminsAbsenceMainReasons['4'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.adminsAbsenceMainReasonsPercentages['4'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"organizaciónEscolar\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"organizaciónEscolar\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Organización escolar\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6\"},[_vm._v(\"Número\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Escuelas que instalaron el comité participativo de salud escolar\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.hygieneCommittee['1'].text)+\" \")]),_c('td',{class:(\"w120 has-text-right has-text-weight-bold has-text-\" + (_vm.administrativeDivisionDataSet.hygieneCommitteePercentages['1'].color))},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.hygieneCommitteePercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Escuelas que pueden reorganizar los espacios para facilitar la sana distancia\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithAbilityToReorganizeSpace['1'].text)+\" \")]),_c('td',{class:(\"w120 has-text-right has-text-weight-bold has-text-\" + (_vm.administrativeDivisionDataSet.schoolWithAbilityToReorganizeSpacePercentages['1'].color))},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithAbilityToReorganizeSpacePercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Acciones para reincorporar a los alumnos con inasistencias \")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Visita domiciliaria\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.takenActions.visits.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.takenActionsPercentages.visits.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Llamada telefónica\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.takenActions.calls.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.takenActionsPercentages.calls.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Gestión de becas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.takenActions.scholarship.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.takenActionsPercentages.scholarship.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Ninguna\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.takenActions.none.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.takenActionsPercentages.none.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw500\",attrs:{\"animation\":\"slide\",\"aria-id\":\"principaleMotivosDeEscuelasSinClasesPresenciales\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"principaleMotivosDeEscuelasSinClasesPresenciales\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',{staticClass:\"wrap-words\"},[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde \")]),_c('td',{staticClass:\"w200 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6\"},[_vm._v(\"Número de escuelas\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Si, Personal y Alumnos realizan sus actividades en la escuela\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClasses['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClassesPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No, se está realizando la limpieza de espacios para poder iniciar con las clases\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClasses['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClassesPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No, todas las madres y los padres de familia determinarón no enviar a sus hijos a la escuela\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClasses['7'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClassesPercentages['7'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No, otras razones\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClasses['8'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClassesPercentages['8'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw500\",attrs:{\"animation\":\"slide\",\"aria-id\":\"condicionesSanitariasElementales\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"condicionesSanitariasElementales\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Condiciones sanitarias elementales en las escuelas \")]),_c('td',{staticClass:\"w200 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6\"},[_vm._v(\"Número de escuelas\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\"Abastecimiento de agua\")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Red municipal de agua potable\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolWaterSupply['1'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterSupplyPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Abastecimiento a través de pipas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolWaterSupply['2'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterSupplyPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otra fuente (pozo, río, lago, etc.)\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolWaterSupply['3'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterSupplyPercentages['3'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No cuenta con ningún tipo de abastecimiento\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolWaterSupply['4'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterSupplyPercentages['4'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\"Frecuencia del abastecimiento de agua\")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Todos los días\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterServiceContinuity['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterServiceContinuityPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"De 2 a 4 días a la semana\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterServiceContinuity['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterServiceContinuityPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Una sola vez por semana\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterServiceContinuity['3'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterServiceContinuityPercentages['3'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No cuenta con servicio de agua\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterServiceContinuity['4'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWaterServiceContinuityPercentages['4'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Disponibilidad de agua para el lavado frecuente de manos \")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Cuenta con agua para el lavado de manos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithWaterForHandWashing['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithWaterForHandWashingPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No cuenta con agua para lavado de manos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithWaterForHandWashing['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithWaterForHandWashingPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Lavamanos \")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Lavamanos funcionales\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolFunctionalSinkCount.text)+\" \")]),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Disponibilidad de jabón para el lavado de manos \")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Cuenta con suficiente jabón\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSoapSufficiency['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSoapSufficiencyPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No cuenta con suficiente jabón\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSoapSufficiency['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSoapSufficiencyPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No cuenta\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSoapSufficiency['3'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSoapSufficiencyPercentages['3'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),(!_vm.printable)?_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Disponibilidad de toallas para el secado de manos (papel o tela) \")]),_c('td'),_c('td'),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"Cuenta con suficientes toallas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiency['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiencyPercentages['1'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"No cuenta con suficientes toallas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiency['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiencyPercentages['2'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"No cuenta\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiency['3'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiencyPercentages['3'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Disponibilidad de alcohol en gel al 70% \")]),_c('td'),_c('td'),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"Cuenta con suficiente alcohol en gel\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiency['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiencyPercentages['1'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"No cuenta con suficiente alcohol en gel\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiency['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiencyPercentages['2'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"No cuenta\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiency['3'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiencyPercentages['3'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Disponibilidad de botes de basura \")]),_c('td'),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"Cuenta con botes de basura para el manejo de los residuos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolBinSufficiency['1'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolBinSufficiencyPercentages['1'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"No cuenta con botes de basura para el manejo de los residuos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolBinSufficiency['2'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolBinSufficiencyPercentages['2'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Existencia de drenaje \")]),_c('td'),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"Cuenta con Red de drenaje, fosa séptica para desalojo de aguas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithSepticSystem['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithSepticSystemPercentages['1'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"No cuenta con Red de drenaje, fosa séptica para desalojo de aguas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithSepticSystem['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithSepticSystemPercentages['2'].text)+\" \")]),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Bebederos \")]),_c('td'),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"Bebederos funcionales\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.drinkers.text))]),_c('td'),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Baños \")]),_c('td'),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"Baños funcionales, Alumnas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.femaleStudentToilets.text))]),_c('td'),_c('td',{staticClass:\"w40\"})]):_vm._e(),(!_vm.printable)?_c('tr',[_c('td',[_vm._v(\"Baños funcionales, Alumnos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.maleStudentToilets.text))]),_c('td'),_c('td',{staticClass:\"w40\"})]):_vm._e()])])])])],1),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),(_vm.printable)?_c('b-collapse',{staticClass:\"card mb-4\",attrs:{\"animation\":\"slide\",\"aria-id\":\"condicionesSanitariasElementales2\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"condicionesSanitariasElementales2\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Condiciones sanitarias elementales en las escuelas \")]),_c('td',{staticClass:\"w200 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6\"},[_vm._v(\"Número de escuelas\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}],null,false,4119952184)},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Disponibilidad de toallas para el secado de manos (papel o tela) \")]),_c('td'),_c('td')]),_c('tr',[_c('td',[_vm._v(\"Cuenta con suficientes toallas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiency['1'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiencyPercentages['1'].text)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"No cuenta con suficientes toallas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiency['2'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiencyPercentages['2'].text)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"No cuenta\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiency['3'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolTowelSufficiencyPercentages['3'].text)+\" \")])]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Disponibilidad de alcohol en gel al 70% \")]),_c('td'),_c('td')]),_c('tr',[_c('td',[_vm._v(\"Cuenta con suficiente alcohol en gel\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiency['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiencyPercentages['1'].text)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"No cuenta con suficiente alcohol en gel\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiency['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiencyPercentages['2'].text)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"No cuenta\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiency['3'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSanitizerSufficiencyPercentages['3'].text)+\" \")])]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Disponibilidad de botes de basura \")]),_c('td'),_c('td')]),_c('tr',[_c('td',[_vm._v(\"Cuenta con botes de basura para el manejo de los residuos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolBinSufficiency['1'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolBinSufficiencyPercentages['1'].text)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"No cuenta con botes de basura para el manejo de los residuos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolBinSufficiency['2'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolBinSufficiencyPercentages['2'].text)+\" \")])]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Existencia de drenaje \")]),_c('td'),_c('td')]),_c('tr',[_c('td',[_vm._v(\"Cuenta con Red de drenaje, fosa séptica para desalojo de aguas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolWithSepticSystem['1'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithSepticSystemPercentages['1'].text)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"No cuenta con Red de drenaje, fosa séptica para desalojo de aguas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.schoolWithSepticSystem['2'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithSepticSystemPercentages['2'].text)+\" \")])]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Bebederos \")]),_c('td'),_c('td')]),_c('tr',[_c('td',[_vm._v(\"Bebederos funcionales\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.drinkers.text))]),_c('td')]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Baños \")]),_c('td'),_c('td')]),_c('tr',[_c('td',[_vm._v(\"Baños funcionales, Alumnas\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.femaleStudentToilets.text))]),_c('td')]),_c('tr',[_c('td',[_vm._v(\"Baños funcionales, Alumnos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.maleStudentToilets.text))]),_c('td')])])])])]):_vm._e(),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"serviciosBasicos\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"serviciosBasicos\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Servicios básicos\")]),_c('td',{staticClass:\"w200 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6\"},[_vm._v(\"Número de escuelas\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6 break-word\"},[_vm._v(\" Porcentaje \")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Fuente principal de energía eléctrica \")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Conexión al servicio público\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySources['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySourcesPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Paneles o celdas solares\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySources['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySourcesPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Planta de luz propia\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySources['3'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySourcesPercentages['3'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otra\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySources['4'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySourcesPercentages['4'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No tiene\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySources['5'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.electricitySourcesPercentages['5'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Acceso a internet \")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"La escuela cuenta con accesso a internet para uso de de alumnos, docentes y directivos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.internetAccess['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.internetAccessPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"La escuela no cuenta con accesso a internet para uso de de alumnos, docentes y directivos\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.internetAccess['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.internetAccessPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"programasAdheridosALaEscuela\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"programasAdheridosALaEscuela\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Programas adheridos a la escuela\")]),_c('td',{staticClass:\"w200 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6\"},[_vm._v(\"Número de escuelas\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase has-text-right opacity-6 break-word\"},[_vm._v(\" Porcentaje \")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Reciben el apoyo de alimentación en la escuela \")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Si reciben algún apoyo de alimentación\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupport['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No recibe apoyo de alimentación\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupport['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" Quienes proporcionan los alimentos \")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Reciben alimentos por parte del DIF\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportType.dif.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportTypePercentages.dif.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Reciben alimentos por parte del Programa La Escuela es Nuestra\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportType.fullTimeProgram.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportTypePercentages.fullTimeProgram.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Reciben alimentos por parte del Estado\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportType.state.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportTypePercentages.state.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otros\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportType.others.text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.foodSupportTypePercentages.others.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"is-uppercase has-text-secondary-bis has-text-weight-bold\"},[_vm._v(\" La escuela pertenece al programa La Escuela es nuestra \")]),_c('td'),_c('td'),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Si pertenece\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.theSchoolIsOurs['1'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.theSchoolIsOursPercentages['1'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"No pertenece\")]),_c('td',{staticClass:\"w200 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.theSchoolIsOurs['2'].text)+\" \")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.theSchoolIsOursPercentages['2'].text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),_c('b-collapse',{staticClass:\"card mb-4\",attrs:{\"animation\":\"slide\",\"aria-id\":\"estadísticasBásicasDelPersonal\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"estadísticasBásicasDelPersonal\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Estadísticas básicas del personal \")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Número\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Docentes\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.teachers))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Directores\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.directors))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Subdirectores\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.subDirectors))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Total de maestros de Segunda lengua\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.technicalPedagogicalAdvisers))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Docentes de Educación Física\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.physicalEducationTeachers))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Personal Administrativo\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.admins))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Personal de intendencia\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.quartermasters))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otro tipo de personal\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.administrativeDivisionDataSet.others))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { toAdministrativeDivisionDataset } from '@/primary/common/AdministrativeDivisionDataSet';\r\n\r\n@Component\r\nexport default class AdministrativeDivisionDetails extends Vue {\r\n @Prop()\r\n readonly administrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n get administrativeDivisionDataSet() {\r\n return toAdministrativeDivisionDataset(this.administrativeDivision);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AdministrativeDivisionDetails.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AdministrativeDivisionDetails.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdministrativeDivisionDetails.vue?vue&type=template&id=87e5d8ee&\"\nimport script from \"./AdministrativeDivisionDetails.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./AdministrativeDivisionDetails.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { HistoricChartOptions } from '@/primary/HistoricChart';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\n\r\nexport interface AdministrativeDivisionHistoricDataSet {\r\n chartData: any[];\r\n chartOptions: HistoricChartOptions;\r\n}\r\n\r\nconst toPercentage = (value: number) => (isNaN(value) || value < 0 || value > 1 ? 0 : Math.round(value * 100));\r\n\r\nexport const toChartData = (administrativeDivisionDailyReports: AdministrativeDivisionDailyReport) => ({\r\n date: administrativeDivisionDailyReports.date,\r\n giveClasses: toPercentage(administrativeDivisionDailyReports.giveClasses),\r\n teacherAttendance: toPercentage(administrativeDivisionDailyReports.teacherAttendance),\r\n maleStudentAbsence: toPercentage(administrativeDivisionDailyReports.maleStudentAbsence),\r\n femaleStudentAbsence: toPercentage(administrativeDivisionDailyReports.femaleStudentAbsence),\r\n});\r\n\r\nexport const toAdministrativeDivisionHistoricDataSet = (\r\n administrativeDivisionDailyReports: AdministrativeDivisionDailyReport[],\r\n historicType: HistoricType,\r\n animationDuration = 0\r\n): AdministrativeDivisionHistoricDataSet => {\r\n switch (historicType) {\r\n case HistoricType.GIVES_CLASSES:\r\n return {\r\n chartData: administrativeDivisionDailyReports.map(toChartData),\r\n chartOptions: {\r\n stackedKeys: ['giveClasses'],\r\n colors: ['#285c4d'],\r\n name: 'Porcentaje de escuelas',\r\n legend: [],\r\n animationDuration: animationDuration,\r\n },\r\n };\r\n case HistoricType.STUDENT_ABSENCE:\r\n return {\r\n chartData: administrativeDivisionDailyReports.map(toChartData),\r\n chartOptions: {\r\n stackedKeys: ['femaleStudentAbsence', 'maleStudentAbsence'],\r\n colors: ['#9d2449', '#285c4d'],\r\n name: 'Índice de inasistencia de alumnos',\r\n legend: [\r\n { text: 'Niñas', color: '#9d2449' },\r\n { text: 'Niños', color: '#285c4d' },\r\n ],\r\n animationDuration: animationDuration,\r\n },\r\n };\r\n case HistoricType.TEACHER_ATTENDANCE:\r\n return {\r\n chartData: administrativeDivisionDailyReports.map(toChartData),\r\n chartOptions: {\r\n stackedKeys: ['teacherAttendance'],\r\n colors: ['#9d2449'],\r\n name: 'Tasa de asistencia de docentes',\r\n legend: [],\r\n animationDuration: animationDuration,\r\n },\r\n };\r\n }\r\n};\r\n","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class HistoricInfoModal extends Vue {\r\n active = false;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"is-inline\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.active = true}}},[_vm._m(0)]),_c('b-modal',{attrs:{\"active\":_vm.active},on:{\"close\":function($event){_vm.active = false}}},[_c('article',{staticClass:\"message px-2 has-no-background\"},[_c('div',{staticClass:\"message-body has-text-justified has-background-white content\"},[_c('p',[_vm._v(\" Coloque el cursor en la barra marrón ubicada bajo el gráfico y mueva a derecha o izquierda sus extremos circulares para elegir el periodo de interés. \")])])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"icon has-text-primary\"},[_c('i',{staticClass:\"mdi mdi-24px mdi-information-outline\"})])}]\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class HistoricInfoModal extends Vue {\r\n active = false;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./HistoricInfoModal.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./HistoricInfoModal.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HistoricInfoModal.vue?vue&type=template&id=718bd29e&\"\nimport script from \"./HistoricInfoModal.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./HistoricInfoModal.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import * as d3 from 'd3';\r\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { toAdministrativeDivisionHistoricDataSet } from '@/primary/administrative-division-historic/AdministrativeDivisionHistoricDataSet';\r\nimport { HistoricInfoModalVue } from '@/primary/historic-info-modal';\r\nimport { HistoricChart } from '@/primary/HistoricChart';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\n\r\n@Component({\r\n components: { HistoricInfoModalVue },\r\n})\r\nexport default class Historic extends Vue {\r\n @Inject()\r\n historicChart!: () => HistoricChart;\r\n\r\n @Prop()\r\n readonly administrativeDivisionDailyReports!: AdministrativeDivisionDailyReport[];\r\n\r\n @Prop()\r\n readonly historicType!: HistoricType;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Prop()\r\n readonly historicInterval!: [number, number];\r\n\r\n get animationDuration() {\r\n return this.printable ? 0 : 250;\r\n }\r\n\r\n get administrativeDivisionHistoricDataSet() {\r\n return toAdministrativeDivisionHistoricDataSet(this.administrativeDivisionDailyReports, this.historicType, this.animationDuration);\r\n }\r\n\r\n @Watch('administrativeDivisionHistoricDataSet')\r\n administrativeDivisionHistoricDataSetWatcher() {\r\n this.update();\r\n }\r\n\r\n @Watch('historicInterval')\r\n intervalWatcher() {\r\n this.update();\r\n }\r\n\r\n mounted() {\r\n const data = this.administrativeDivisionHistoricDataSet.chartData.slice(this.historicInterval[0], this.historicInterval[1] + 1);\r\n if (this.printable) {\r\n const callback = () => this.$emit('imageready');\r\n this.historicChart().transformStackedBarChartToImage(\r\n 'historic-stacked-chart',\r\n data,\r\n this.administrativeDivisionHistoricDataSet.chartOptions,\r\n callback\r\n );\r\n } else {\r\n this.historicChart().makeStackedBarChart('historic-stacked-chart', data, this.administrativeDivisionHistoricDataSet.chartOptions);\r\n }\r\n }\r\n\r\n update() {\r\n const data = this.administrativeDivisionHistoricDataSet.chartData.slice(this.historicInterval[0], this.historicInterval[1] + 1);\r\n if (!this.printable) {\r\n this.historicChart().updateStackedChart('historic-stacked-chart', data, this.administrativeDivisionHistoricDataSet.chartOptions);\r\n }\r\n }\r\n\r\n tooltipLabel(index: number) {\r\n const parseDate = d3.timeFormat('%d/%m');\r\n return parseDate(new Date(this.administrativeDivisionHistoricDataSet.chartData[index].date));\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"has-background-white card\"},[_c('header',{staticClass:\"card-header\"},[_c('h2',{staticClass:\"card-header-title has-text-primary\"},[_vm._v(\"Historial\")]),(!_vm.printable)?_c('HistoricInfoModalVue',{staticClass:\"m-1\"}):_vm._e()],1),_c('div',{staticClass:\"tabs\"},[(_vm.printable)?_c('ul',[(_vm.historicType === 'GIVES_CLASSES')?_c('li',{staticClass:\"is-active is-size-6 has-text-weight-bold is-uppercase\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'GIVES_CLASSES')}}},[_vm._v(\"escuelas con clases presenciales\")])]):_vm._e(),(_vm.historicType === 'STUDENT_ABSENCE')?_c('li',{staticClass:\"is-active is-size-6 has-text-weight-bold is-uppercase\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'STUDENT_ABSENCE')}}},[_vm._v(\"Índice de inasistencia de alumnos\")])]):_vm._e(),(_vm.historicType === 'TEACHER_ABSENCE')?_c('li',{staticClass:\"is-active is-size-6 has-text-weight-bold is-uppercase\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'TEACHER_ABSENCE')}}},[_vm._v(\"Índice de asistencia de docentes\")])]):_vm._e()]):_c('ul',[_c('li',{class:[{ 'is-active': _vm.historicType === 'GIVES_CLASSES' }, 'is-size-6', 'has-text-weight-bold', 'is-uppercase']},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'GIVES_CLASSES')}}},[_vm._v(\"escuelas con clases presenciales\")])]),_c('li',{class:[{ 'is-active': _vm.historicType === 'STUDENT_ABSENCE' }, 'is-size-6', 'has-text-weight-bold', 'is-uppercase']},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'STUDENT_ABSENCE')}}},[_vm._v(\"Índice de inasistencia de alumnos\")])]),_c('li',{class:[{ 'is-active': _vm.historicType === 'TEACHER_ABSENCE' }, 'is-size-6', 'has-text-weight-bold', 'is-uppercase']},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'TEACHER_ABSENCE')}}},[_vm._v(\"Índice de asistencia de docentes\")])])])]),_c('div',{staticClass:\"card-content\"},[_c('div',{attrs:{\"id\":\"historic-stacked-chart\"}}),(_vm.administrativeDivisionHistoricDataSet.chartData.length > 0 && !_vm.printable)?_c('b-field',[_c('b-slider',{attrs:{\"value\":_vm.historicInterval,\"min\":0,\"max\":_vm.administrativeDivisionHistoricDataSet.chartData.length - 1,\"step\":1,\"custom-formatter\":_vm.tooltipLabel,\"ticks\":\"\",\"rounded\":\"\"},on:{\"change\":function($event){return _vm.$emit('changehistoricinterval', $event)}}})],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import * as d3 from 'd3';\r\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { toAdministrativeDivisionHistoricDataSet } from '@/primary/administrative-division-historic/AdministrativeDivisionHistoricDataSet';\r\nimport { HistoricInfoModalVue } from '@/primary/historic-info-modal';\r\nimport { HistoricChart } from '@/primary/HistoricChart';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\n\r\n@Component({\r\n components: { HistoricInfoModalVue },\r\n})\r\nexport default class Historic extends Vue {\r\n @Inject()\r\n historicChart!: () => HistoricChart;\r\n\r\n @Prop()\r\n readonly administrativeDivisionDailyReports!: AdministrativeDivisionDailyReport[];\r\n\r\n @Prop()\r\n readonly historicType!: HistoricType;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Prop()\r\n readonly historicInterval!: [number, number];\r\n\r\n get animationDuration() {\r\n return this.printable ? 0 : 250;\r\n }\r\n\r\n get administrativeDivisionHistoricDataSet() {\r\n return toAdministrativeDivisionHistoricDataSet(this.administrativeDivisionDailyReports, this.historicType, this.animationDuration);\r\n }\r\n\r\n @Watch('administrativeDivisionHistoricDataSet')\r\n administrativeDivisionHistoricDataSetWatcher() {\r\n this.update();\r\n }\r\n\r\n @Watch('historicInterval')\r\n intervalWatcher() {\r\n this.update();\r\n }\r\n\r\n mounted() {\r\n const data = this.administrativeDivisionHistoricDataSet.chartData.slice(this.historicInterval[0], this.historicInterval[1] + 1);\r\n if (this.printable) {\r\n const callback = () => this.$emit('imageready');\r\n this.historicChart().transformStackedBarChartToImage(\r\n 'historic-stacked-chart',\r\n data,\r\n this.administrativeDivisionHistoricDataSet.chartOptions,\r\n callback\r\n );\r\n } else {\r\n this.historicChart().makeStackedBarChart('historic-stacked-chart', data, this.administrativeDivisionHistoricDataSet.chartOptions);\r\n }\r\n }\r\n\r\n update() {\r\n const data = this.administrativeDivisionHistoricDataSet.chartData.slice(this.historicInterval[0], this.historicInterval[1] + 1);\r\n if (!this.printable) {\r\n this.historicChart().updateStackedChart('historic-stacked-chart', data, this.administrativeDivisionHistoricDataSet.chartOptions);\r\n }\r\n }\r\n\r\n tooltipLabel(index: number) {\r\n const parseDate = d3.timeFormat('%d/%m');\r\n return parseDate(new Date(this.administrativeDivisionHistoricDataSet.chartData[index].date));\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AdministrativeDivisionHistoric.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AdministrativeDivisionHistoric.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdministrativeDivisionHistoric.vue?vue&type=template&id=7af3dd9d&\"\nimport script from \"./AdministrativeDivisionHistoric.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./AdministrativeDivisionHistoric.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { toAdministrativeDivisionDataset } from '@/primary/common/AdministrativeDivisionDataSet';\r\n\r\n@Component\r\nexport default class AdministrativeDivisionIndicators extends Vue {\r\n @Prop()\r\n readonly administrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n readonly inline!: boolean;\r\n\r\n get administrativeDivisionDataSet() {\r\n return toAdministrativeDivisionDataset(this.administrativeDivision);\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.inline)?_c('div',{staticClass:\"tile is-ancestor\"},[_c('div',{staticClass:\"tile\"},[_c('div',{staticClass:\"tile is-parent\"},[_c('div',{staticClass:\"tile is-child indicator-card card px-2 py-1\"},[_vm._m(0),_c('div',{staticClass:\"card-content has-text-centered\"},[_c('img',{attrs:{\"src\":\"/university.svg\",\"alt\":\"escuela\"}}),_c('p',{class:(\"has-text-\" + (_vm.administrativeDivisionDataSet.schools === '-' ? 'unknown' : 'secondary') + \" is-size-1 has-text-weight-bold\")},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schools)+\" \")]),_c('p',{staticClass:\"has-text-primary is-uppercase has-text-weight-bold is-size-7\"},[_vm._v(\" escuelas \")])])])]),_c('div',{staticClass:\"tile is-8 is-vertical\"},[_c('div',{staticClass:\"tile\"},[_c('div',{staticClass:\"tile is-parent\"},[_c('div',{staticClass:\"tile is-child indicator-card card px-2 py-1\"},[_vm._m(1),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/desk-copy.svg\",\"alt\":\"despacho\"}}),_c('p',{class:(\"title has-text-\" + (_vm.administrativeDivisionDataSet.schoolGivingClassesPercentages['1'].color) + \" has-text-centered is-size-2\")},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClassesPercentages['1'].text)+\" \")])])])])]),_c('div',{staticClass:\"tile\"},[_c('div',{staticClass:\"tile is-parent\"},[_c('div',{staticClass:\"tile is-child indicator-card card px-2 py-1\"},[_vm._m(2),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/hand-sanitizer.svg\",\"alt\":\"jabón\"}}),_c('p',{class:(\"title has-text-\" + (_vm.administrativeDivisionDataSet.schoolSoapSufficiencyPercentages['1'].color) + \" has-text-centered is-size-2\")},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSoapSufficiencyPercentages['1'].text)+\" \")])])])]),_c('div',{staticClass:\"tile is-parent\"},[_c('div',{staticClass:\"tile is-child indicator-card card px-2 py-1\"},[_vm._m(3),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/wudu.svg\",\"alt\":\"lavamano\"}}),_c('p',{class:(\"title has-text-\" + (_vm.administrativeDivisionDataSet.schoolWithWaterForHandWashingPercentages['1'].color) + \" has-text-centered is-size-2\")},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithWaterForHandWashingPercentages['1'].text)+\" \")])])])])])])])]):[_c('div',{staticClass:\"indicator-card card mb-4 px-2 py-1\"},[_vm._m(4),_c('div',{staticClass:\"card-content has-text-centered\"},[_c('img',{attrs:{\"src\":\"/university.svg\",\"alt\":\"escuela\"}}),_c('p',{class:(\"has-text-\" + (_vm.administrativeDivisionDataSet.schools === '-' ? 'unknown' : 'secondary') + \" is-size-1 has-text-weight-bold\")},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schools)+\" \")]),_c('p',{staticClass:\"has-text-primary is-uppercase has-text-weight-bold is-size-7\"},[_vm._v(\" escuelas \")])])]),_c('div',{staticClass:\"indicator-card card mb-3 px-2 py-1\"},[_vm._m(5),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/desk-copy.svg\",\"alt\":\"despacho\"}}),_c('p',{class:(\"title has-text-\" + (_vm.administrativeDivisionDataSet.schoolGivingClassesPercentages['1'].color) + \" has-text-centered is-size-2\")},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolGivingClassesPercentages['1'].text)+\" \")])])]),_c('div',{staticClass:\"indicator-card card mb-3 px-2 py-1\"},[_vm._m(6),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/wudu.svg\",\"alt\":\"lavamano\"}}),_c('p',{class:(\"title has-text-\" + (_vm.administrativeDivisionDataSet.schoolWithWaterForHandWashingPercentages['1'].color) + \" has-text-centered is-size-2\")},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolWithWaterForHandWashingPercentages['1'].text)+\" \")])])]),_c('div',{staticClass:\"indicator-card card px-2 py-1\"},[_vm._m(7),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/hand-sanitizer.svg\",\"alt\":\"jabón\"}}),_c('p',{class:(\"title has-text-\" + (_vm.administrativeDivisionDataSet.schoolSoapSufficiencyPercentages['1'].color) + \" has-text-centered is-size-2\")},[_vm._v(\" \"+_vm._s(_vm.administrativeDivisionDataSet.schoolSoapSufficiencyPercentages['1'].text)+\" \")])])])]],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Total de escuelas \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Escuelas con clases presenciales \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Escuelas con disposición de jabón para el lavado de manos \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Escuelas con disposición de agua para el lavado de manos \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Total de escuelas \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Escuelas con clases presenciales \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Escuelas con disposición de agua para el lavado de manos \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Escuelas con disposición de jabón para el lavado de manos \")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { toAdministrativeDivisionDataset } from '@/primary/common/AdministrativeDivisionDataSet';\r\n\r\n@Component\r\nexport default class AdministrativeDivisionIndicators extends Vue {\r\n @Prop()\r\n readonly administrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n readonly inline!: boolean;\r\n\r\n get administrativeDivisionDataSet() {\r\n return toAdministrativeDivisionDataset(this.administrativeDivision);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AdministrativeDivisionIndicators.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AdministrativeDivisionIndicators.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdministrativeDivisionIndicators.vue?vue&type=template&id=5880e9e4&\"\nimport script from \"./AdministrativeDivisionIndicators.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./AdministrativeDivisionIndicators.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { PercentageDataSet, toPercentageDataSet } from '@/primary/common/PercentageDataSet';\r\n\r\nexport interface AttendanceListDataSet {\r\n header: string;\r\n entityColumnName: string;\r\n items: { id: string; name: string; percentage: PercentageDataSet }[];\r\n}\r\n\r\nconst ATTENDANCE_TYPE_LABELS = {\r\n [AttendanceType.STUDENT]: 'alumnado presente',\r\n [AttendanceType.TEACHER]: 'docentes presentes',\r\n [AttendanceType.PERSONAL]: 'personal presente',\r\n};\r\n\r\nconst ADMINISTRATIVE_LEVEL_LABELS = {\r\n [AdministrativeLevels.COUNTRY]: 'entidad',\r\n [AdministrativeLevels.STATE]: 'municipio',\r\n [AdministrativeLevels.MUNICIPALITY]: 'escuela',\r\n [AdministrativeLevels.SCHOOL]: 'escuela',\r\n};\r\n\r\nconst toEntityColumnName = (administrativeLevel: AdministrativeLevels) => {\r\n const label = ADMINISTRATIVE_LEVEL_LABELS[administrativeLevel];\r\n return `${label[0].toUpperCase()}${label.substring(1)}`;\r\n};\r\n\r\nconst toPercentage = (attendanceType: AttendanceType, summary: Summary) => {\r\n switch (attendanceType) {\r\n case AttendanceType.STUDENT:\r\n return toPercentageDataSet(summary.studentAttendance);\r\n case AttendanceType.TEACHER:\r\n return toPercentageDataSet(summary.teacherAttendance);\r\n case AttendanceType.PERSONAL:\r\n return toPercentageDataSet(summary.adminAttendance);\r\n }\r\n};\r\n\r\nconst toItem = (attendanceType: AttendanceType, summary: Summary) => ({\r\n id: summary.id,\r\n name: summary.turn ? `${summary.name} - ${summary.turn}` : summary.name,\r\n percentage: toPercentage(attendanceType, summary),\r\n});\r\n\r\nexport const toAttendanceListDataSet = (\r\n administrativeLevel: AdministrativeLevels,\r\n attendanceType: AttendanceType,\r\n summaries: Summary[]\r\n): AttendanceListDataSet => ({\r\n header: `Porcentaje de ${ATTENDANCE_TYPE_LABELS[attendanceType]} por ${ADMINISTRATIVE_LEVEL_LABELS[administrativeLevel]}`,\r\n entityColumnName: toEntityColumnName(administrativeLevel),\r\n items: summaries.map(summary => toItem(attendanceType, summary)),\r\n});\r\n","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { toAttendanceListDataSet } from '@/primary/attendance-list/AttendanceListDataSet';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\n\r\n@Component\r\nexport default class RateList extends Vue {\r\n @Inject()\r\n private navigationBus!: () => NavigationBus;\r\n\r\n @Prop()\r\n readonly summaries!: Summary[];\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly navigation!: NavigationParams[];\r\n\r\n @Prop()\r\n readonly administrativeLevel!: AdministrativeLevels;\r\n\r\n @Prop()\r\n readonly attendanceListSortOptions!: [string, string];\r\n\r\n @Prop({ default: false, required: false })\r\n readonly stickyHeader!: boolean;\r\n\r\n get attendanceListDataSet() {\r\n return toAttendanceListDataSet(this.administrativeLevel, this.attendanceType, this.summaries);\r\n }\r\n\r\n get schoolId() {\r\n return this.navigation[2] && this.navigation[2].id ? this.navigation[2].id : '';\r\n }\r\n\r\n public goTo(id: string, name: string) {\r\n switch (this.administrativeLevel) {\r\n case AdministrativeLevels.COUNTRY:\r\n return this.navigationBus().goToState({ id, name });\r\n case AdministrativeLevels.STATE:\r\n return this.navigationBus().goToMunicipality({ id, name });\r\n case AdministrativeLevels.MUNICIPALITY:\r\n return this.navigationBus().goToSchool({ id, name });\r\n case AdministrativeLevels.SCHOOL:\r\n return this.navigationBus().goToSchool({ id, name });\r\n }\r\n }\r\n\r\n public sort(field: string, order: string) {\r\n this.$emit('sort', [field, order]);\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"has-background-white card\"},[_c('header',{staticClass:\"card-header\"},[_c('h2',{staticClass:\"card-header-title\"},[_vm._v(_vm._s(_vm.attendanceListDataSet.header))])]),_c('div',{staticClass:\"card-content px-0 py-0\"},[(_vm.attendanceListDataSet.items.length === 0)?_c('div',{staticClass:\"has-text-grey px-2 py-2\"},[_vm._v(\" No se han encontrado resultados \")]):_c('b-table',{staticClass:\"has-no-background\",attrs:{\"data\":_vm.attendanceListDataSet.items,\"default-sort\":_vm.attendanceListSortOptions,\"sticky-header\":_vm.stickyHeader,\"hoverable\":\"\"},on:{\"click\":function($event){return _vm.goTo($event.id, $event.name)},\"sort\":_vm.sort},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('b-table-column',{class:[\n {\n 'has-text-weight-bold': props.row.id === (\"\" + _vm.schoolId),\n 'has-background-light': props.row.id === (\"\" + _vm.schoolId),\n },\n 'is-clickable is-size-6' ],attrs:{\"field\":\"name\",\"label\":_vm.attendanceListDataSet.entityColumnName,\"header-class\":\"has-text-secondary-bis is-size-6 is-uppercase\",\"custom-key\":\"name\",\"sortable\":\"\"}},[_vm._v(\" \"+_vm._s(props.row.name)+\" \")]),_c('b-table-column',{class:(\"w150 is-clickable has-text-weight-bold\" + (props.row.id === _vm.schoolId ? ' has-background-light' : '') + \" has-text-centered\"),attrs:{\"field\":\"percentage.value\",\"label\":\"Asistencia\",\"header-class\":\"has-text-secondary-bis is-size-6 is-uppercase\",\"sortable\":\"\"}},[_c('span',{class:(\"has-text-\" + (props.row.percentage.color))},[_vm._v(\" \"+_vm._s(props.row.percentage.text)+\" \")])])]}}])})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { toAttendanceListDataSet } from '@/primary/attendance-list/AttendanceListDataSet';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\n\r\n@Component\r\nexport default class RateList extends Vue {\r\n @Inject()\r\n private navigationBus!: () => NavigationBus;\r\n\r\n @Prop()\r\n readonly summaries!: Summary[];\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly navigation!: NavigationParams[];\r\n\r\n @Prop()\r\n readonly administrativeLevel!: AdministrativeLevels;\r\n\r\n @Prop()\r\n readonly attendanceListSortOptions!: [string, string];\r\n\r\n @Prop({ default: false, required: false })\r\n readonly stickyHeader!: boolean;\r\n\r\n get attendanceListDataSet() {\r\n return toAttendanceListDataSet(this.administrativeLevel, this.attendanceType, this.summaries);\r\n }\r\n\r\n get schoolId() {\r\n return this.navigation[2] && this.navigation[2].id ? this.navigation[2].id : '';\r\n }\r\n\r\n public goTo(id: string, name: string) {\r\n switch (this.administrativeLevel) {\r\n case AdministrativeLevels.COUNTRY:\r\n return this.navigationBus().goToState({ id, name });\r\n case AdministrativeLevels.STATE:\r\n return this.navigationBus().goToMunicipality({ id, name });\r\n case AdministrativeLevels.MUNICIPALITY:\r\n return this.navigationBus().goToSchool({ id, name });\r\n case AdministrativeLevels.SCHOOL:\r\n return this.navigationBus().goToSchool({ id, name });\r\n }\r\n }\r\n\r\n public sort(field: string, order: string) {\r\n this.$emit('sort', [field, order]);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AttendanceList.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AttendanceList.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttendanceList.vue?vue&type=template&id=05982e40&\"\nimport script from \"./AttendanceList.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./AttendanceList.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import * as d3 from 'd3';\r\n\r\nexport const transformToImage = (selectorId: string, size: [number, number], callback: () => void) => {\r\n const svg = d3.select(`#${selectorId} > svg`);\r\n const svgString = getSVGString(svg.node() as HTMLElement);\r\n svgString2Image(selectorId, svgString, 2 * size[0], 2 * size[1], callback);\r\n};\r\n\r\nconst getSVGString = (svgNode: HTMLElement) => {\r\n const serializer = new XMLSerializer();\r\n svgNode.setAttribute('xlink', 'http://www.w3.org/1999/xlink');\r\n let svgString = serializer.serializeToString(svgNode);\r\n svgString = svgString.replace(/(\\w+)?:?xlink=/g, 'xmlns:xlink=');\r\n svgString = svgString.replace(/NS\\d+:href/g, 'xlink:href');\r\n return svgString;\r\n};\r\n\r\nconst svgString2Image = (selectorId: string, svgString: any, width: number, height: number, callback: () => void) => {\r\n const imgsrc = 'data:image/svg+xml;base64,' + btoa(unescape(encodeURIComponent(svgString)));\r\n d3.select(`#${selectorId} > svg`).remove();\r\n d3.select(`#${selectorId} > svg`).remove();\r\n const image = new Image();\r\n image.width = width;\r\n image.height = height;\r\n image.onload = function() {\r\n document.querySelector(`#${selectorId}`)!.append(image);\r\n callback();\r\n };\r\n image.src = imgsrc;\r\n};\r\n","import * as d3 from 'd3';\r\n\r\nimport { transformToImage } from '@/primary/ChartUtils';\r\n\r\nconst HEXA_COLORS: { [key: string]: string } = {\r\n 'danger-darker': '#d91d20',\r\n danger: '#ee8336',\r\n warning: '#ffc400',\r\n success: '#97d356',\r\n 'success-darker': '#1e9b47',\r\n unknown: '#7a7a7a',\r\n};\r\n\r\nexport const makeChart = (selectorId: string, attendance: number, color: string, unknown: boolean, animationDuration: number) => {\r\n const container = d3.select(`#${selectorId}`);\r\n\r\n const svg = container\r\n .append('svg')\r\n .attr('width', 88)\r\n .attr('height', 88)\r\n .attr('viewBox', '0 0 88 88');\r\n\r\n svg.append('g').attr('transform', 'translate(44, 44)');\r\n\r\n updateChart(selectorId, attendance, 0, color, unknown, animationDuration);\r\n};\r\n\r\nexport const updateChart = (\r\n selectorId: string,\r\n attendance: number,\r\n formerAttendance: number,\r\n color: string,\r\n unknown: boolean,\r\n animationDuration: number\r\n) => {\r\n const g = d3.select(`#${selectorId} > svg > g`);\r\n const t = d3.transition().duration(250);\r\n const pie = d3.pie().sortValues(null);\r\n\r\n const arc = d3\r\n .arc()\r\n .innerRadius(40)\r\n .outerRadius(44);\r\n\r\n const formerPieData = pie([formerAttendance, 1 - formerAttendance]);\r\n const pieData = pie([attendance, 1 - attendance]);\r\n const selection = g.selectAll('path').data(pieData);\r\n\r\n const arcTween = (a: any, index: number) => {\r\n const i = d3.interpolate(formerPieData[index], a);\r\n return (t: any) => arc(i(t));\r\n };\r\n\r\n selection\r\n .transition()\r\n .duration(animationDuration)\r\n .attr('fill', (d, i) => (i === 0 ? HEXA_COLORS[color] : '#dbdbdb'))\r\n .attrTween('d', arcTween as any);\r\n\r\n selection\r\n .enter()\r\n .append('path')\r\n .attr('fill', (d, i) => (i === 0 ? HEXA_COLORS[color] : '#dbdbdb'))\r\n .attr('d', arc as any)\r\n .attr('stroke', 'white')\r\n .attr('stroke-width', '1px');\r\n\r\n if (unknown) {\r\n g.selectAll('text')\r\n .attr('dy', '4px')\r\n .attr('dx', '0px')\r\n .style('font', '10px Montserrat-Regular, sans-serif')\r\n .style('max-width', '100%')\r\n .style('height', 'auto')\r\n .attr('text-anchor', 'middle')\r\n .attr('fill', HEXA_COLORS[color])\r\n .text('-')\r\n .attr('transform', `scale(${40 / 15})`);\r\n } else {\r\n g.selectAll('text')\r\n .data([Math.round(attendance * 100), '%'])\r\n .join('text')\r\n .attr('dy', '5px')\r\n .attr('dx', d => (attendance < 0.1 ? '2px' : attendance < 1 ? '5px' : '7px'))\r\n .style('font', (d, index) => `${index === 0 ? '10' : '6'}px Montserrat-Regular, sans-serif`)\r\n .style('max-width', '100%')\r\n .style('height', 'auto')\r\n .attr('text-anchor', (d, index) => (index === 0 ? 'end' : 'start'))\r\n .attr('fill', HEXA_COLORS[color])\r\n .text(d => d)\r\n .attr('transform', `scale(${40 / 15})`);\r\n }\r\n\r\n selection\r\n .exit()\r\n .transition(t as any)\r\n .remove();\r\n};\r\n\r\nexport const transformChartToImage = (selectorId: string, attendance: number, color: string, unknown: boolean) => {\r\n makeChart(selectorId, attendance, color, unknown, 0);\r\n transformToImage(selectorId, [44, 44], () => {});\r\n};\r\n","import { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { transformChartToImage, makeChart, updateChart } from '@/primary/attendance-map/attendance-card/AttendanceChart';\r\nimport { AttendanceDataSet } from '@/primary/common/AttendanceDataSet';\r\nimport { Delayer } from '@/primary/Delayer';\r\n\r\n@Component\r\nexport default class AttendanceCard extends Vue {\r\n @Inject()\r\n private animationDelayer!: () => Delayer;\r\n\r\n @Prop()\r\n readonly attendance!: AttendanceDataSet;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly inline!: boolean;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Watch('attendance')\r\n valueWatcher(newAttendance: AttendanceDataSet, oldAttendance: AttendanceDataSet) {\r\n const newAttendanceValue = newAttendance.percentage.value;\r\n const formerAttendanceValue = oldAttendance.percentage.value;\r\n const color = newAttendance.percentage.color;\r\n const unknown = newAttendance.percentage.text === '-';\r\n\r\n this.animationDelayer().afterDelay(() => {\r\n updateChart(this.chartSelectorId, newAttendanceValue, formerAttendanceValue, color, unknown, 500);\r\n });\r\n }\r\n\r\n get chartSelectorId() {\r\n return `${this.attendance.label}-attendance-chart`;\r\n }\r\n\r\n mounted() {\r\n const attendance = this.attendance.percentage.value;\r\n const color = this.attendance.percentage.color;\r\n\r\n if (this.printable) {\r\n transformChartToImage(this.chartSelectorId, attendance, color, this.attendance.percentage.text === '-');\r\n } else {\r\n makeChart(this.chartSelectorId, attendance, color, this.attendance.percentage.text === '-', 500);\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card attendance-card no-shadow\",on:{\"click\":function($event){return _vm.$emit('click')}}},[_c('div',{staticClass:\"card-content px-1 py-1\"},[(_vm.inline)?_c('div',{staticClass:\"columns is-vcentered is-desktop\"},[_c('div',{staticClass:\"column is-3 has-text-centered\"},[_c('img',{staticClass:\"is-inline-block\",attrs:{\"src\":_vm.attendance.imagePath,\"alt\":_vm.attendance.label}})]),_c('div',{staticClass:\"column is-5\"},[_c('p',{staticClass:\"has-text-grey is-size-6\"},[_vm._v(\"Asistencia \"+_vm._s(_vm.attendance.precededByLabel))]),_c('p',{class:(\"is-size-3 has-text-\" + (_vm.attendance.percentage.color))},[_vm._v(_vm._s(_vm.attendance.label))])]),_c('div',{staticClass:\"column is-4 has-text-centered\"},[_c('div',{staticClass:\"is-inline-block\",attrs:{\"id\":((_vm.attendance.label) + \"-attendance-chart\")}})])]):_c('div',[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12\"},[_c('img',{attrs:{\"src\":_vm.attendance.imagePath,\"alt\":_vm.attendance.label}}),_c('p',{staticClass:\"has-text-grey is-size-6\"},[_vm._v(\"Asistencia \"+_vm._s(_vm.attendance.precededByLabel))]),_c('p',{class:(\"is-size-3 has-text-\" + (_vm.attendance.percentage.color))},[_vm._v(_vm._s(_vm.attendance.label))]),_c('div',{attrs:{\"id\":((_vm.attendance.label) + \"-attendance-chart\")}})])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { transformChartToImage, makeChart, updateChart } from '@/primary/attendance-map/attendance-card/AttendanceChart';\r\nimport { AttendanceDataSet } from '@/primary/common/AttendanceDataSet';\r\nimport { Delayer } from '@/primary/Delayer';\r\n\r\n@Component\r\nexport default class AttendanceCard extends Vue {\r\n @Inject()\r\n private animationDelayer!: () => Delayer;\r\n\r\n @Prop()\r\n readonly attendance!: AttendanceDataSet;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly inline!: boolean;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Watch('attendance')\r\n valueWatcher(newAttendance: AttendanceDataSet, oldAttendance: AttendanceDataSet) {\r\n const newAttendanceValue = newAttendance.percentage.value;\r\n const formerAttendanceValue = oldAttendance.percentage.value;\r\n const color = newAttendance.percentage.color;\r\n const unknown = newAttendance.percentage.text === '-';\r\n\r\n this.animationDelayer().afterDelay(() => {\r\n updateChart(this.chartSelectorId, newAttendanceValue, formerAttendanceValue, color, unknown, 500);\r\n });\r\n }\r\n\r\n get chartSelectorId() {\r\n return `${this.attendance.label}-attendance-chart`;\r\n }\r\n\r\n mounted() {\r\n const attendance = this.attendance.percentage.value;\r\n const color = this.attendance.percentage.color;\r\n\r\n if (this.printable) {\r\n transformChartToImage(this.chartSelectorId, attendance, color, this.attendance.percentage.text === '-');\r\n } else {\r\n makeChart(this.chartSelectorId, attendance, color, this.attendance.percentage.text === '-', 500);\r\n }\r\n }\r\n}\r\n","export enum RateTypes {\r\n STUDENT = 'STUDENT',\r\n TEACHER = 'TEACHER',\r\n PERSONAL = 'PERSONAL',\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./AttendanceCard.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./AttendanceCard.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttendanceCard.vue?vue&type=template&id=51740e62&\"\nimport script from \"./AttendanceCard.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./AttendanceCard.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { PercentageDataSet, toPercentageDataSet } from '@/primary/common/PercentageDataSet';\r\nimport { RateTypes } from '@/primary/RateTypes';\r\n\r\nexport interface AttendanceDataSet {\r\n label: string;\r\n precededByLabel: string;\r\n imagePath: string;\r\n percentage: PercentageDataSet;\r\n}\r\n\r\nconst labels = {\r\n [RateTypes.STUDENT]: 'alumnos',\r\n [RateTypes.TEACHER]: 'docentes',\r\n [RateTypes.PERSONAL]: 'personal',\r\n};\r\n\r\nconst precededByLabels = {\r\n [RateTypes.STUDENT]: 'de',\r\n [RateTypes.TEACHER]: 'de',\r\n [RateTypes.PERSONAL]: 'del',\r\n};\r\n\r\nconst imagePaths = {\r\n [RateTypes.STUDENT]: '/student.svg',\r\n [RateTypes.TEACHER]: '/teacher.svg',\r\n [RateTypes.PERSONAL]: '/manager.svg',\r\n};\r\n\r\nexport const toAttendanceDataset = (rate: number, type: RateTypes): AttendanceDataSet => ({\r\n label: labels[type],\r\n precededByLabel: precededByLabels[type],\r\n imagePath: imagePaths[type],\r\n percentage: toPercentageDataSet(rate),\r\n});\r\n","import { Summary } from '@/domain/Summary';\r\nimport { AttendanceDataSet, toAttendanceDataset } from '@/primary/common/AttendanceDataSet';\r\nimport { RateTypes } from '@/primary/RateTypes';\r\n\r\nexport interface SummaryDataSet {\r\n id: string;\r\n name: string;\r\n studentAttendance: AttendanceDataSet;\r\n teacherAttendance: AttendanceDataSet;\r\n adminAttendance: AttendanceDataSet;\r\n}\r\n\r\nexport const toSummaryDataSet = (summary: Summary | undefined): SummaryDataSet =>\r\n summary\r\n ? {\r\n id: summary.id,\r\n name: summary.name,\r\n studentAttendance: toAttendanceDataset(summary.studentAttendance, RateTypes.STUDENT),\r\n teacherAttendance: toAttendanceDataset(summary.teacherAttendance, RateTypes.TEACHER),\r\n adminAttendance: toAttendanceDataset(summary.adminAttendance, RateTypes.PERSONAL),\r\n }\r\n : {\r\n id: '-',\r\n name: '-',\r\n studentAttendance: toAttendanceDataset(-1, RateTypes.STUDENT),\r\n teacherAttendance: toAttendanceDataset(-1, RateTypes.TEACHER),\r\n adminAttendance: toAttendanceDataset(-1, RateTypes.PERSONAL),\r\n };\r\n","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AttendanceCardVue } from '@/primary/attendance-map/attendance-card';\r\nimport { AttendanceTypeBus } from '@/primary/AttendanceTypeBus';\r\nimport { toSummaryDataSet } from '@/primary/common/SummaryDataSet';\r\n\r\n@Component({\r\n components: { AttendanceCardVue },\r\n})\r\nexport default class RateTabs extends Vue {\r\n @Inject()\r\n private attendanceTypeBus!: () => AttendanceTypeBus;\r\n\r\n @Prop()\r\n private summary!: Summary;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly inline!: boolean;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n get summaryDataSet() {\r\n return toSummaryDataSet(this.summary);\r\n }\r\n\r\n selectAttendanceType(attendanceType: AttendanceType) {\r\n this.attendanceTypeBus().switchAttendanceType(attendanceType);\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"tabs shadowless no-border attendance-tabs is-fullwidth\"},[_c('ul',[_c('li',{class:[{ 'is-active': _vm.attendanceType === 'STUDENT' }, 'is-full-height']},[_c('a',{staticClass:\"is-full-height\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.selectAttendanceType('STUDENT')}}},[_c('AttendanceCardVue',{attrs:{\"attendance\":_vm.summaryDataSet.studentAttendance,\"inline\":_vm.inline,\"printable\":_vm.printable}})],1)]),_c('li',{class:[{ 'is-active': _vm.attendanceType === 'TEACHER' }, 'is-full-height']},[_c('a',{staticClass:\"is-full-height\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.selectAttendanceType('TEACHER')}}},[_c('AttendanceCardVue',{attrs:{\"attendance\":_vm.summaryDataSet.teacherAttendance,\"inline\":_vm.inline,\"printable\":_vm.printable}})],1)]),_c('li',{class:[{ 'is-active': _vm.attendanceType === 'PERSONAL' }, 'is-full-height']},[_c('a',{staticClass:\"is-full-height\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.selectAttendanceType('PERSONAL')}}},[_c('AttendanceCardVue',{attrs:{\"attendance\":_vm.summaryDataSet.adminAttendance,\"inline\":_vm.inline,\"printable\":_vm.printable}})],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AttendanceCardVue } from '@/primary/attendance-map/attendance-card';\r\nimport { AttendanceTypeBus } from '@/primary/AttendanceTypeBus';\r\nimport { toSummaryDataSet } from '@/primary/common/SummaryDataSet';\r\n\r\n@Component({\r\n components: { AttendanceCardVue },\r\n})\r\nexport default class RateTabs extends Vue {\r\n @Inject()\r\n private attendanceTypeBus!: () => AttendanceTypeBus;\r\n\r\n @Prop()\r\n private summary!: Summary;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly inline!: boolean;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n get summaryDataSet() {\r\n return toSummaryDataSet(this.summary);\r\n }\r\n\r\n selectAttendanceType(attendanceType: AttendanceType) {\r\n this.attendanceTypeBus().switchAttendanceType(attendanceType);\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./AttendanceTabs.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./AttendanceTabs.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttendanceTabs.vue?vue&type=template&id=ec253c78&\"\nimport script from \"./AttendanceTabs.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./AttendanceTabs.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class Popup extends Vue {\r\n @Prop({ default: [] })\r\n readonly items!: { id: string; name: string }[];\r\n\r\n close() {\r\n this.$emit('close');\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"popup\"},[_c('div',{staticClass:\"is-clearfix\"},[_c('div',{staticClass:\"is-pulled-right\"},[_c('button',{staticClass:\"button is-white\",on:{\"click\":_vm.close}},[_vm._m(0)])]),_c('div',{staticClass:\"popup-title is-size-6 has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Escuelas\")])]),_c('div',{staticClass:\"popup-content\"},[_c('nav',{staticClass:\"panel\"},_vm._l((_vm.items),function(item){return _c('a',{key:item.id,staticClass:\"panel-block\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('pick', item)}}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])}),0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"icon is-medium has-text-primary\"},[_c('i',{staticClass:\"mdi mdi-24px mdi-close\"})])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class Popup extends Vue {\r\n @Prop({ default: [] })\r\n readonly items!: { id: string; name: string }[];\r\n\r\n close() {\r\n this.$emit('close');\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./Popup.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./Popup.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Popup.vue?vue&type=template&id=140ebf4c&\"\nimport script from \"./Popup.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./Popup.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AttendanceTabsVue } from '@/primary/attendance-map/attendance-tabs';\r\nimport { PopupVue } from '@/primary/attendance-map/popup';\r\nimport { AttendanceWebmapping } from '@/primary/attendance-webmapping/AttendanceWebmapping';\r\nimport { ComponentState } from '@/primary/ComponentState';\r\nimport { Delayer } from '@/primary/Delayer';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\n\r\n@Component({\r\n components: { PopupVue, AttendanceTabsVue },\r\n})\r\nexport default class ChoroplethMap extends Vue {\r\n state: ComponentState = ComponentState.PENDING;\r\n schoolItems: { id: string; name: string }[] = [];\r\n stateId = '';\r\n\r\n @Inject()\r\n private navigationBus!: () => NavigationBus;\r\n\r\n @Inject()\r\n private attendanceWebmapping!: () => AttendanceWebmapping;\r\n\r\n @Inject()\r\n private updateMapViewportDelayer!: () => Delayer;\r\n\r\n @Prop()\r\n private school!: School;\r\n\r\n @Prop()\r\n private schoolsSummaries!: SchoolSummary[];\r\n\r\n @Prop()\r\n private summary!: Summary[];\r\n\r\n @Prop({ default: false, required: false })\r\n readonly inline!: boolean;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly mapExtent!: [number, number, number, number] | null;\r\n\r\n @Watch('schoolsSummaries')\r\n schoolSummariesWatcher() {\r\n this.attendanceWebmapping().setSchoolsFeatures(this.schoolsSummaries);\r\n }\r\n\r\n @Watch('attendanceType')\r\n attendanceTypeWatcher(attendanceType: AttendanceType) {\r\n this.attendanceWebmapping().switchAttendanceType(attendanceType);\r\n }\r\n\r\n @Watch('mapExtent')\r\n mapExtentWatcher() {\r\n const callback = () => this.$emit('mapready');\r\n this.attendanceWebmapping().adjust(this.mapExtent, true, callback);\r\n }\r\n\r\n created() {\r\n this.attendanceWebmapping().onSelectState(navigationParams => this.navigationBus().goToState(navigationParams));\r\n this.attendanceWebmapping().onSelectMunicipality(navigationParams => this.navigationBus().goToMunicipality(navigationParams));\r\n this.attendanceWebmapping().onSelectSchoolCluster((schools: { id: string; name: string }[]) => (this.schoolItems = schools));\r\n this.attendanceWebmapping().onSelectSchool(navigationParams => this.navigationBus().goToSchool(navigationParams));\r\n this.navigationBus().onBackToCountry(() => this.attendanceWebmapping().fitToCountry(false));\r\n this.navigationBus().onGoToState(navigationParams => this.attendanceWebmapping().fitToState(navigationParams.id));\r\n this.navigationBus().onBackToState(navigationParams => this.attendanceWebmapping().fitToState(navigationParams.id));\r\n this.navigationBus().onGoToMunicipality(navigationParams => this.attendanceWebmapping().fitToMunicipality(navigationParams.id));\r\n this.navigationBus().onBackToMunicipality(navigationParams => this.attendanceWebmapping().fitToMunicipality(navigationParams.id));\r\n this.navigationBus().onGoToSchool((navigationParams: NavigationParams) => this.attendanceWebmapping().fitToSchool(navigationParams.id));\r\n }\r\n\r\n mounted() {\r\n const popupElement = document.getElementById('popup') || undefined;\r\n this.attendanceWebmapping().addControls();\r\n this.attendanceWebmapping().setMapTarget('map');\r\n this.attendanceWebmapping().setPopupElement(popupElement);\r\n this.attendanceWebmapping().switchAttendanceType(this.attendanceType);\r\n this.attendanceWebmapping().adjust(this.mapExtent, true);\r\n }\r\n\r\n beforeDestroy() {\r\n this.$emit('destroy', { extent: this.attendanceWebmapping().getExtent() });\r\n this.attendanceWebmapping().removeControls();\r\n this.attendanceWebmapping().setMapTarget(undefined);\r\n }\r\n\r\n public pickSchool(schoolItem: { id: string; name: string }) {\r\n this.navigationBus().goToSchool(schoolItem);\r\n }\r\n\r\n public goBackToCountry() {\r\n this.attendanceWebmapping().fitToCountry(false);\r\n this.navigationBus().backToCountry();\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card\"},[_vm._m(0),_c('div',{class:(\"card-content px-0 py-0\" + (_vm.printable ? '' : ' is-full-height is-flex-grow-1'))},[_c('div',{class:(\"is-full-height\" + (_vm.printable ? '' : ' is-direction-column'))},[_c('div',{class:(\"map has-background-white\" + (_vm.printable ? ' h10cm' : ' h500 h400-mobile')),attrs:{\"id\":\"map\"}}),_c('AttendanceTabsVue',{class:(\"my-0\" + (_vm.printable ? '' : ' is-flex-grow-1')),attrs:{\"summary\":_vm.summary,\"attendanceType\":_vm.attendanceType,\"inline\":_vm.inline,\"printable\":_vm.printable}})],1),_c('PopupVue',{attrs:{\"id\":\"popup\",\"items\":_vm.schoolItems},on:{\"pick\":_vm.pickSchool,\"close\":function($event){_vm.attendanceWebmapping().closePopup()}}}),_c('div',{staticClass:\"ol-control\",attrs:{\"id\":\"recenter-control\"}},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"centrar mapa\"},on:{\"click\":function($event){_vm.attendanceWebmapping().fitToCountry(true)}}},[_vm._m(1)])]),_c('div',{staticClass:\"ol-control\",attrs:{\"id\":\"refresh-control\"}},[_c('button',{attrs:{\"type\":\"button\",\"title\":\"Regresar a Federación\"},on:{\"click\":function($event){return _vm.goBackToCountry()}}},[_vm._m(2)])])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('h2',{staticClass:\"card-header-title\"},[_vm._v(\"Tasa de asistencia\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"icon\"},[_c('i',{staticClass:\"mdi mdi-arrow-collapse-all\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"icon\"},[_c('i',{staticClass:\"mdi mdi-refresh\"})])}]\n\nexport { render, staticRenderFns }","import { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AttendanceTabsVue } from '@/primary/attendance-map/attendance-tabs';\r\nimport { PopupVue } from '@/primary/attendance-map/popup';\r\nimport { AttendanceWebmapping } from '@/primary/attendance-webmapping/AttendanceWebmapping';\r\nimport { ComponentState } from '@/primary/ComponentState';\r\nimport { Delayer } from '@/primary/Delayer';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\n\r\n@Component({\r\n components: { PopupVue, AttendanceTabsVue },\r\n})\r\nexport default class ChoroplethMap extends Vue {\r\n state: ComponentState = ComponentState.PENDING;\r\n schoolItems: { id: string; name: string }[] = [];\r\n stateId = '';\r\n\r\n @Inject()\r\n private navigationBus!: () => NavigationBus;\r\n\r\n @Inject()\r\n private attendanceWebmapping!: () => AttendanceWebmapping;\r\n\r\n @Inject()\r\n private updateMapViewportDelayer!: () => Delayer;\r\n\r\n @Prop()\r\n private school!: School;\r\n\r\n @Prop()\r\n private schoolsSummaries!: SchoolSummary[];\r\n\r\n @Prop()\r\n private summary!: Summary[];\r\n\r\n @Prop({ default: false, required: false })\r\n readonly inline!: boolean;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly mapExtent!: [number, number, number, number] | null;\r\n\r\n @Watch('schoolsSummaries')\r\n schoolSummariesWatcher() {\r\n this.attendanceWebmapping().setSchoolsFeatures(this.schoolsSummaries);\r\n }\r\n\r\n @Watch('attendanceType')\r\n attendanceTypeWatcher(attendanceType: AttendanceType) {\r\n this.attendanceWebmapping().switchAttendanceType(attendanceType);\r\n }\r\n\r\n @Watch('mapExtent')\r\n mapExtentWatcher() {\r\n const callback = () => this.$emit('mapready');\r\n this.attendanceWebmapping().adjust(this.mapExtent, true, callback);\r\n }\r\n\r\n created() {\r\n this.attendanceWebmapping().onSelectState(navigationParams => this.navigationBus().goToState(navigationParams));\r\n this.attendanceWebmapping().onSelectMunicipality(navigationParams => this.navigationBus().goToMunicipality(navigationParams));\r\n this.attendanceWebmapping().onSelectSchoolCluster((schools: { id: string; name: string }[]) => (this.schoolItems = schools));\r\n this.attendanceWebmapping().onSelectSchool(navigationParams => this.navigationBus().goToSchool(navigationParams));\r\n this.navigationBus().onBackToCountry(() => this.attendanceWebmapping().fitToCountry(false));\r\n this.navigationBus().onGoToState(navigationParams => this.attendanceWebmapping().fitToState(navigationParams.id));\r\n this.navigationBus().onBackToState(navigationParams => this.attendanceWebmapping().fitToState(navigationParams.id));\r\n this.navigationBus().onGoToMunicipality(navigationParams => this.attendanceWebmapping().fitToMunicipality(navigationParams.id));\r\n this.navigationBus().onBackToMunicipality(navigationParams => this.attendanceWebmapping().fitToMunicipality(navigationParams.id));\r\n this.navigationBus().onGoToSchool((navigationParams: NavigationParams) => this.attendanceWebmapping().fitToSchool(navigationParams.id));\r\n }\r\n\r\n mounted() {\r\n const popupElement = document.getElementById('popup') || undefined;\r\n this.attendanceWebmapping().addControls();\r\n this.attendanceWebmapping().setMapTarget('map');\r\n this.attendanceWebmapping().setPopupElement(popupElement);\r\n this.attendanceWebmapping().switchAttendanceType(this.attendanceType);\r\n this.attendanceWebmapping().adjust(this.mapExtent, true);\r\n }\r\n\r\n beforeDestroy() {\r\n this.$emit('destroy', { extent: this.attendanceWebmapping().getExtent() });\r\n this.attendanceWebmapping().removeControls();\r\n this.attendanceWebmapping().setMapTarget(undefined);\r\n }\r\n\r\n public pickSchool(schoolItem: { id: string; name: string }) {\r\n this.navigationBus().goToSchool(schoolItem);\r\n }\r\n\r\n public goBackToCountry() {\r\n this.attendanceWebmapping().fitToCountry(false);\r\n this.navigationBus().backToCountry();\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AttendanceMap.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./AttendanceMap.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AttendanceMap.vue?vue&type=template&id=17f5f200&\"\nimport script from \"./AttendanceMap.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./AttendanceMap.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { School } from '@/domain/school/School';\r\nimport { NumericDataSet, toNumericDataSet } from '@/primary/common/NumericDataSet';\r\nimport { PercentageDataSet, toPercentageDataSet } from '@/primary/common/PercentageDataSet';\r\n\r\nexport interface SchoolDataSet {\r\n id: string;\r\n locality: string;\r\n name: string;\r\n studentAttendance: PercentageDataSet;\r\n maleStudentAbsencePercentageOverStudentAbsence: PercentageDataSet;\r\n femaleStudentAbsencePercentageOverStudentAbsence: PercentageDataSet;\r\n teacherAttendance: PercentageDataSet;\r\n adminAttendance: PercentageDataSet;\r\n level: string;\r\n workCenterKey: string;\r\n turn: string;\r\n givesClasses: { shortText: string; longText: string };\r\n modality: string;\r\n municipality: string;\r\n address: string;\r\n support: string;\r\n femaleStudent: NumericDataSet;\r\n maleStudent: NumericDataSet;\r\n maleStudentPercentage: PercentageDataSet;\r\n femaleStudentPercentage: PercentageDataSet;\r\n students: NumericDataSet;\r\n teachers: NumericDataSet;\r\n assistants: NumericDataSet;\r\n directors: NumericDataSet;\r\n subDirectors: NumericDataSet;\r\n technicalPedagogicalAdvisers: NumericDataSet;\r\n physicalEducationTeachers: NumericDataSet;\r\n admins: NumericDataSet;\r\n quartermasters: NumericDataSet;\r\n others: NumericDataSet;\r\n waterSupply: string;\r\n waterServiceContinuity: string;\r\n waterForHandWashing: { shortText: string; longText: string };\r\n functionalSinkCount: NumericDataSet;\r\n soapSufficiency: { shortText: string; longText: string };\r\n towelSufficiency: string;\r\n sanitizerSufficiency: string;\r\n binSufficiency: string;\r\n hasSepticSystem: string;\r\n hasAbilityToReorganizeSpace: string;\r\n hasHygieneCommittee: string;\r\n alternatesAttendance: string;\r\n absentFemaleStudents: string;\r\n absentMaleStudents: string;\r\n studentAbsenceMainReasons: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n '5': NumericDataSet;\r\n };\r\n studentAbsenceMainReasonsPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n '5': PercentageDataSet;\r\n };\r\n studentAbsenceOtherReason: string;\r\n absentTeachers: string;\r\n teacherAbsenceMainReasons: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n };\r\n teacherAbsenceMainReasonsPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n };\r\n teacherAbsenceOtherReason: string;\r\n absentAdmins: string;\r\n adminAbsenceMainReasons: {\r\n '1': NumericDataSet;\r\n '2': NumericDataSet;\r\n '3': NumericDataSet;\r\n '4': NumericDataSet;\r\n };\r\n adminAbsenceMainReasonsPercentages: {\r\n '1': PercentageDataSet;\r\n '2': PercentageDataSet;\r\n '3': PercentageDataSet;\r\n '4': PercentageDataSet;\r\n };\r\n adminAbsenceOtherReason: string;\r\n comments: string;\r\n takenActions: string;\r\n drinkers: NumericDataSet;\r\n maleStudentToilets: NumericDataSet;\r\n femaleStudentToilets: NumericDataSet;\r\n foodSupport: string;\r\n foodSupportType: string;\r\n foodSupportComment: string;\r\n theSchoolIsOurs: string;\r\n electricitySource: string;\r\n internetAccess: string;\r\n}\r\n\r\nconst turnTexts: { [key: string]: string } = {\r\n '1': 'matutino',\r\n '2': 'vespertino',\r\n '3': 'nocturno',\r\n '4': 'discontinuo',\r\n '5': 'continuo (tiempo completo)',\r\n '6': 'complementario',\r\n '7': 'continuo (jornada ampliada)',\r\n};\r\n\r\nconst waterSupplyTexts: string[] = [\r\n '-',\r\n 'Red municipal de agua potable',\r\n 'Abastecimiento a través de pipas',\r\n 'Otra fuente (pozo, río, lago, etc.)',\r\n 'No cuenta con ningún tipo de abastecimiento',\r\n];\r\n\r\nconst waterServiceContinuityTexts: string[] = [\r\n '-',\r\n 'Todos los días',\r\n 'De 2 a 4 días a la semana',\r\n 'Una sola vez por semana',\r\n 'No cuenta con servicio de agua',\r\n];\r\n\r\nconst waterForHandWashingTexts: { shortText: string; longText: string }[] = [\r\n { shortText: '-', longText: '-' },\r\n { shortText: 'Si', longText: 'Cuenta con agua para el lavado de manos' },\r\n { shortText: 'No', longText: 'No cuenta con agua para lavado de manos' },\r\n];\r\n\r\nconst soapSufficiencyTexts: { shortText: string; longText: string }[] = [\r\n { shortText: '-', longText: '-' },\r\n { shortText: 'Suficiente', longText: 'Cuenta con suficiente jabón' },\r\n { shortText: 'Insuficiente', longText: 'No cuenta con suficiente jabón' },\r\n { shortText: 'No', longText: 'No cuenta' },\r\n];\r\n\r\nconst towelSufficiencyTexts: string[] = ['-', 'Cuenta con suficientes toallas', 'No cuenta con suficientes toallas', 'No cuenta'];\r\n\r\nconst sanitizerSufficiencyTexts: string[] = [\r\n '-',\r\n 'Cuenta con suficiente alcohol en gel',\r\n 'No cuenta con suficiente alcohol en gel',\r\n 'No cuenta',\r\n];\r\n\r\nconst binSufficiencyTexts: string[] = [\r\n '-',\r\n 'Cuenta con botes de basura para el manejo de los residuos',\r\n 'No cuenta con botes de basura para el manejo de los residuos',\r\n];\r\n\r\nconst hasSepticSystemTexts: string[] = [\r\n '-',\r\n 'Cuenta con Red de drenaje, fosa séptica para desalojo de aguas',\r\n 'No cuenta con Red de drenaje, fosa séptica para desalojo de aguas',\r\n];\r\n\r\nconst hasAbilityToReorganizeSpaceTexts: string[] = ['-', 'Si', 'No'];\r\nconst hasHygieneCommitteeTexts: string[] = ['-', 'Si', 'No'];\r\nconst alternatesAttendanceTexts: string[] = ['-', 'Si', 'No'];\r\n\r\nconst givesClassesText: { shortText: string; longText: string }[] = [\r\n { shortText: '-', longText: '-' },\r\n { shortText: 'Si', longText: 'Personal y Alumnos realizan sus actividades en la escuela' },\r\n { shortText: 'No', longText: 'Se está realizando la limpieza de espacios para poder iniciar con las clases' },\r\n { shortText: 'No', longText: 'Existe la confirmación de al menos un caso de COVID-19 en la escuela' },\r\n { shortText: 'No', longText: 'La Autoridad Educativa Local determinó continuar con la suspensión de clases' },\r\n { shortText: 'No', longText: 'La comunidad escolar determinó continuar con la suspensión de clases' },\r\n { shortText: 'No', longText: 'El personal de la escuela decidió continuar con la suspensión de clases' },\r\n { shortText: 'No', longText: 'Todos las madres y los padres de familia determinarón no enviar a sus hijos a la escuela' },\r\n { shortText: 'No', longText: 'Otras razones' },\r\n];\r\n\r\nconst electricitySourceTexts: string[] = [\r\n '-',\r\n 'Conexión al servicio público',\r\n 'Paneles o celdas solares',\r\n 'Planta de luz propia',\r\n 'Otra',\r\n 'No tiene',\r\n];\r\n\r\nconst internetAccessTexts: string[] = [\r\n '-',\r\n 'La escuela cuenta con accesso a internet para uso de de alumnos, docentes y directivos',\r\n 'La escuela no cuenta con accesso a internet para uso de de alumnos, docentes y directivos',\r\n];\r\n\r\nconst toTakenActions = (takenActions: { [key: string]: boolean }): string => {\r\n const actions = [];\r\n\r\n if (takenActions.visits) {\r\n actions.push('Visita domiciliaria');\r\n }\r\n\r\n if (takenActions.calls) {\r\n actions.push('Llamada telefónica');\r\n }\r\n\r\n if (takenActions.scholarship) {\r\n actions.push('Gestión de becas');\r\n }\r\n\r\n if (takenActions.none) {\r\n actions.push('Ninguna');\r\n }\r\n\r\n return actions.join(', ');\r\n};\r\n\r\nconst toFoodSupportTypes = (foodSupportType: { [key: string]: boolean }): string => {\r\n const types = [];\r\n\r\n if (foodSupportType.dif) {\r\n types.push('Reciben alimentos por parte del DIF');\r\n }\r\n\r\n if (foodSupportType.fullTimeProgram) {\r\n types.push('Reciben alimentos por parte del Programa de Tiempo Completo');\r\n }\r\n\r\n if (foodSupportType.state) {\r\n types.push('Reciben alimentos por parte del Estado');\r\n }\r\n\r\n if (foodSupportType.others) {\r\n types.push('Quienes proporcionan los alimentos. Otros');\r\n }\r\n\r\n return types.join(' - ');\r\n};\r\n\r\nexport const toSchoolDataSet = (school: School | undefined): SchoolDataSet =>\r\n school\r\n ? {\r\n id: school.id,\r\n locality: school.locality,\r\n name: school.name,\r\n maleStudentAbsencePercentageOverStudentAbsence: toPercentageDataSet(school.maleStudentAbsencePercentageOverStudentAbsence),\r\n femaleStudentAbsencePercentageOverStudentAbsence: toPercentageDataSet(school.femaleStudentAbsencePercentageOverStudentAbsence),\r\n studentAttendance: toPercentageDataSet(school.studentAttendance),\r\n teacherAttendance: toPercentageDataSet(school.teacherAttendance),\r\n adminAttendance: toPercentageDataSet(school.adminAttendance),\r\n level: school.level,\r\n workCenterKey: school.workCenterKey,\r\n turn: turnTexts[school.turn] || '-',\r\n givesClasses: givesClassesText[school.givesClasses],\r\n modality: school.modality,\r\n municipality: school.municipality,\r\n address: school.address,\r\n support: school.support,\r\n femaleStudent: toNumericDataSet(school.femaleStudent),\r\n maleStudent: toNumericDataSet(school.maleStudent),\r\n maleStudentPercentage: toPercentageDataSet(school.maleStudentPercentage),\r\n femaleStudentPercentage: toPercentageDataSet(school.femaleStudentPercentage),\r\n students: toNumericDataSet(school.students),\r\n teachers: toNumericDataSet(school.teachers),\r\n assistants: toNumericDataSet(school.assistants),\r\n directors: toNumericDataSet(school.directors),\r\n subDirectors: toNumericDataSet(school.subDirectors),\r\n technicalPedagogicalAdvisers: toNumericDataSet(school.technicalPedagogicalAdvisers),\r\n physicalEducationTeachers: toNumericDataSet(school.physicalEducationTeachers),\r\n admins: toNumericDataSet(school.admins),\r\n quartermasters: toNumericDataSet(school.quartermasters),\r\n others: toNumericDataSet(school.others),\r\n waterSupply: waterSupplyTexts[school.waterSupply],\r\n waterServiceContinuity: waterServiceContinuityTexts[school.waterServiceContinuity],\r\n waterForHandWashing: waterForHandWashingTexts[school.waterForHandWashing],\r\n functionalSinkCount: toNumericDataSet(school.functionalSinkCount),\r\n soapSufficiency: soapSufficiencyTexts[school.soapSufficiency],\r\n towelSufficiency: towelSufficiencyTexts[school.towelSufficiency],\r\n sanitizerSufficiency: sanitizerSufficiencyTexts[school.sanitizerSufficiency],\r\n binSufficiency: binSufficiencyTexts[school.binSufficiency],\r\n hasSepticSystem: hasSepticSystemTexts[school.hasSepticSystem],\r\n hasAbilityToReorganizeSpace: hasAbilityToReorganizeSpaceTexts[school.hasAbilityToReorganizeSpace],\r\n hasHygieneCommittee: hasHygieneCommitteeTexts[school.hasHygieneCommittee],\r\n alternatesAttendance: alternatesAttendanceTexts[school.alternatesAttendance],\r\n absentFemaleStudents: school.absentFemaleStudents.toString(),\r\n absentMaleStudents: school.absentMaleStudents.toString(),\r\n studentAbsenceMainReasons: {\r\n '1': toNumericDataSet(school.studentAbsenceMainReasons['1']),\r\n '2': toNumericDataSet(school.studentAbsenceMainReasons['2']),\r\n '3': toNumericDataSet(school.studentAbsenceMainReasons['3']),\r\n '4': toNumericDataSet(school.studentAbsenceMainReasons['4']),\r\n '5': toNumericDataSet(school.studentAbsenceMainReasons['5']),\r\n },\r\n studentAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(school.studentAbsenceMainReasonsPercentages['1']),\r\n '2': toPercentageDataSet(school.studentAbsenceMainReasonsPercentages['2']),\r\n '3': toPercentageDataSet(school.studentAbsenceMainReasonsPercentages['3']),\r\n '4': toPercentageDataSet(school.studentAbsenceMainReasonsPercentages['4']),\r\n '5': toPercentageDataSet(school.studentAbsenceMainReasonsPercentages['5']),\r\n },\r\n studentAbsenceOtherReason: school.studentAbsenceOtherReason,\r\n absentTeachers: school.absentTeachers.toString(),\r\n teacherAbsenceMainReasons: {\r\n '1': toNumericDataSet(school.teacherAbsenceMainReasons['1']),\r\n '2': toNumericDataSet(school.teacherAbsenceMainReasons['2']),\r\n '3': toNumericDataSet(school.teacherAbsenceMainReasons['3']),\r\n '4': toNumericDataSet(school.teacherAbsenceMainReasons['4']),\r\n },\r\n teacherAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(school.teacherAbsenceMainReasonsPercentages['1']),\r\n '2': toPercentageDataSet(school.teacherAbsenceMainReasonsPercentages['2']),\r\n '3': toPercentageDataSet(school.teacherAbsenceMainReasonsPercentages['3']),\r\n '4': toPercentageDataSet(school.teacherAbsenceMainReasonsPercentages['4']),\r\n },\r\n teacherAbsenceOtherReason: school.teacherAbsenceOtherReason,\r\n absentAdmins: school.absentAdmins.toString(),\r\n adminAbsenceMainReasons: {\r\n '1': toNumericDataSet(school.adminAbsenceMainReasons['1']),\r\n '2': toNumericDataSet(school.adminAbsenceMainReasons['2']),\r\n '3': toNumericDataSet(school.adminAbsenceMainReasons['3']),\r\n '4': toNumericDataSet(school.adminAbsenceMainReasons['4']),\r\n },\r\n adminAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(school.adminAbsenceMainReasonsPercentages['1']),\r\n '2': toPercentageDataSet(school.adminAbsenceMainReasonsPercentages['2']),\r\n '3': toPercentageDataSet(school.adminAbsenceMainReasonsPercentages['3']),\r\n '4': toPercentageDataSet(school.adminAbsenceMainReasonsPercentages['4']),\r\n },\r\n adminAbsenceOtherReason: school.adminAbsenceOtherReason,\r\n comments: school.comments,\r\n takenActions: toTakenActions(school.takenActions),\r\n drinkers: toNumericDataSet(school.drinkers),\r\n maleStudentToilets: toNumericDataSet(school.maleStudentToilets),\r\n femaleStudentToilets: toNumericDataSet(school.femaleStudentToilets),\r\n foodSupport: school.foodSupport ? 'Sí, reciben algún apoyo de alimentación' : 'No, recibe apoyo de alimentación',\r\n foodSupportType: toFoodSupportTypes(school.foodSupportType),\r\n foodSupportComment: school.foodSupportComment,\r\n theSchoolIsOurs: school.theSchoolIsOurs === 1 ? 'Si pertenece' : school.theSchoolIsOurs === 2 ? 'No pertenece' : '-',\r\n electricitySource: electricitySourceTexts[school.electricitySource],\r\n internetAccess: internetAccessTexts[school.internetAccess],\r\n }\r\n : {\r\n id: '-',\r\n locality: '-',\r\n name: '-',\r\n studentAttendance: toPercentageDataSet(-1),\r\n maleStudentAbsencePercentageOverStudentAbsence: toPercentageDataSet(-1),\r\n femaleStudentAbsencePercentageOverStudentAbsence: toPercentageDataSet(-1),\r\n teacherAttendance: toPercentageDataSet(-1),\r\n adminAttendance: toPercentageDataSet(-1),\r\n level: '-',\r\n workCenterKey: '-',\r\n turn: '-',\r\n givesClasses: givesClassesText[0],\r\n modality: '-',\r\n municipality: '-',\r\n address: '-',\r\n support: '-',\r\n femaleStudent: toNumericDataSet(-1),\r\n maleStudent: toNumericDataSet(-1),\r\n maleStudentPercentage: toPercentageDataSet(-1),\r\n femaleStudentPercentage: toPercentageDataSet(-1),\r\n students: toNumericDataSet(-1),\r\n teachers: toNumericDataSet(-1),\r\n assistants: toNumericDataSet(-1),\r\n directors: toNumericDataSet(-1),\r\n subDirectors: toNumericDataSet(-1),\r\n technicalPedagogicalAdvisers: toNumericDataSet(-1),\r\n physicalEducationTeachers: toNumericDataSet(-1),\r\n admins: toNumericDataSet(-1),\r\n quartermasters: toNumericDataSet(-1),\r\n others: toNumericDataSet(-1),\r\n waterSupply: '-',\r\n waterServiceContinuity: '-',\r\n waterForHandWashing: waterForHandWashingTexts[0],\r\n functionalSinkCount: toNumericDataSet(-1),\r\n soapSufficiency: soapSufficiencyTexts[0],\r\n towelSufficiency: '-',\r\n sanitizerSufficiency: '-',\r\n binSufficiency: '-',\r\n hasSepticSystem: '-',\r\n hasAbilityToReorganizeSpace: '-',\r\n hasHygieneCommittee: '-',\r\n alternatesAttendance: '-',\r\n absentFemaleStudents: '-',\r\n absentMaleStudents: '-',\r\n studentAbsenceMainReasons: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n '5': toNumericDataSet(-1),\r\n },\r\n studentAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n '5': toPercentageDataSet(-1),\r\n },\r\n studentAbsenceOtherReason: '-',\r\n absentTeachers: '-',\r\n teacherAbsenceMainReasons: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n },\r\n teacherAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n },\r\n teacherAbsenceOtherReason: '-',\r\n absentAdmins: '-',\r\n adminAbsenceMainReasons: {\r\n '1': toNumericDataSet(-1),\r\n '2': toNumericDataSet(-1),\r\n '3': toNumericDataSet(-1),\r\n '4': toNumericDataSet(-1),\r\n },\r\n adminAbsenceMainReasonsPercentages: {\r\n '1': toPercentageDataSet(-1),\r\n '2': toPercentageDataSet(-1),\r\n '3': toPercentageDataSet(-1),\r\n '4': toPercentageDataSet(-1),\r\n },\r\n adminAbsenceOtherReason: '-',\r\n comments: '-',\r\n takenActions: toTakenActions({}),\r\n drinkers: toNumericDataSet(-1),\r\n maleStudentToilets: toNumericDataSet(-1),\r\n femaleStudentToilets: toNumericDataSet(-1),\r\n foodSupport: '-',\r\n foodSupportType: toFoodSupportTypes({}),\r\n foodSupportComment: '',\r\n theSchoolIsOurs: '-',\r\n electricitySource: '-',\r\n internetAccess: '-',\r\n };\r\n","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { School } from '@/domain/school/School';\r\nimport { toSchoolDataSet } from '@/primary/common/SchoolDataSet';\r\n\r\n@Component\r\nexport default class SchoolDetails extends Vue {\r\n @Prop()\r\n private school!: School;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n get schoolDataSet() {\r\n return toSchoolDataSet(this.school);\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"estadísticaBásicaSobreMatrícula\",\"open\":\"\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"estadísticaBásicaSobreMatrícula\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Estadística básica sobre matrícula \")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Número\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Total de alumnos\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.students.text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\"100%\")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"pl-2\"},[_vm._v(\"- de los cuales alumnas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.femaleStudent.text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.femaleStudentPercentage.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"pl-2\"},[_vm._v(\"- de los cuales alumnos\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.maleStudent.text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.maleStudentPercentage.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Grupos\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.assistants.text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\"-\")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),_c('div',{staticClass:\"has-background-white card mb-4\"},[_vm._m(0),_c('div',{staticClass:\"card-content px-0 py-0\"},[(_vm.schoolDataSet.givesClasses.shortText === 'Si')?_c('p',{staticClass:\"px-2 py-2\"},[_vm._v(\"No aplicable\")]):_c('p',{staticClass:\"px-2 py-2\"},[_vm._v(_vm._s(_vm.schoolDataSet.givesClasses.longText))])])]),_c('div',{staticClass:\"has-background-white card mb-4\"},[_vm._m(1),_c('div',{staticClass:\"card-content px-0 py-0\"},[(_vm.schoolDataSet.comments === '')?_c('p',{staticClass:\"px-2 py-2\"},[_vm._v(\"Sin comentarios\")]):[_c('p',{staticClass:\"px-2 py-2\"},[_vm._v(_vm._s(_vm.schoolDataSet.comments))]),_c('p',{staticClass:\"px-2 py-2 is-size-7 is-italic has-text-grey\"},[_vm._v(\" Las opiniones aquí vertidas no reflejan la posición de la Secretaría de Educación Pública o del Fondo de Naciones Unidas para la Infancia UNICEF \")])]],2)]),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),_c('b-collapse',{staticClass:\"card mb-4\",attrs:{\"animation\":\"slide\",\"aria-id\":\"indiceDeAsistencia\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"indiceDeAsistencia\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"índice de asistencia\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Asistencia del alumnado\")]),_c('td',{class:(\"w120 has-text-right has-text-weight-bold has-text-\" + (_vm.schoolDataSet.studentAttendance.color))},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.studentAttendance.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"pl-2\"},[_vm._v(\"- Inasistencia de niñas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.femaleStudentAbsencePercentageOverStudentAbsence.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',{staticClass:\"pl-2\"},[_vm._v(\"- Inasistencia de niños\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.maleStudentAbsencePercentageOverStudentAbsence.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Asistencia de docentes\")]),_c('td',{class:(\"w120 has-text-right has-text-weight-bold has-text-\" + (_vm.schoolDataSet.teacherAttendance.color))},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.teacherAttendance.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Asistencia de personal distinto a docentes\")]),_c('td',{class:(\"w120 has-text-right has-text-weight-bold has-text-\" + (_vm.schoolDataSet.adminAttendance.color))},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.adminAttendance.text)+\" \")]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])]),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"causasDeInasistenciaDeAlumnos\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"causasDeInasistenciaDeAlumnos\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Causas de inasistencia de alumnos \")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Número\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Los padres de familia no enviaron a sus hijos a la escuela\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.studentAbsenceMainReasons['1'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.studentAbsenceMainReasonsPercentages['1'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Casos de contagio (COVID 19) confirmados\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.studentAbsenceMainReasons['3'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.studentAbsenceMainReasonsPercentages['3'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se desconocen las causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.studentAbsenceMainReasons['4'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.studentAbsenceMainReasonsPercentages['4'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otras causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.studentAbsenceMainReasons['5'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.studentAbsenceMainReasonsPercentages['5'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"causasDeInasistenciaDeDocentes\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"causasDeInasistenciaDeDocentes\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Causas de inasistencia de docentes \")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Número\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Casos de contagio (COVID 19) confirmados\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.teacherAbsenceMainReasons['1'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.teacherAbsenceMainReasonsPercentages['1'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se reportaron enfermos (NO COVID 19)\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.teacherAbsenceMainReasons['2'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.teacherAbsenceMainReasonsPercentages['2'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se desconocen las causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.teacherAbsenceMainReasons['3'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.teacherAbsenceMainReasonsPercentages['3'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otras causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.teacherAbsenceMainReasons['4'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.teacherAbsenceMainReasonsPercentages['4'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),_c('div',{class:{ 'horizontal-scroll': !_vm.printable }},[_c('b-collapse',{staticClass:\"card mb-4 mw400\",attrs:{\"animation\":\"slide\",\"aria-id\":\"causasDeInasistenciaDelPersonal\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"causasDeInasistenciaDelPersonal\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Causas de inasistencia del personal \")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Número\")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Porcentaje\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Casos de contagio (COVID 19) confirmados\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.adminAbsenceMainReasons['1'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.adminAbsenceMainReasonsPercentages['1'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se reportaron enfermos (NO COVID 19)\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.adminAbsenceMainReasons['2'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.adminAbsenceMainReasonsPercentages['2'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Se desconocen las causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.adminAbsenceMainReasons['3'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.adminAbsenceMainReasonsPercentages['3'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otras causas\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.adminAbsenceMainReasons['4'].text))]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.adminAbsenceMainReasonsPercentages['4'].text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1),_c('b-collapse',{staticClass:\"card mb-4\",attrs:{\"animation\":\"slide\",\"aria-id\":\"organizaciónEscolar\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"organizaciónEscolar\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Organización escolar\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Se tiene instalado el comité participativo de salud escolar\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.hasHygieneCommittee)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"La escuela puede reorganizar los espacios educativos\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.hasAbilityToReorganizeSpace)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Acciones para reincorporar a los alumnos con inasistencias\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.takenActions)+\" \")])])])])])]),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),_c('b-collapse',{staticClass:\"card mb-4\",attrs:{\"animation\":\"slide\",\"aria-id\":\"conditioneSsanitariasElementales\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"conditioneSsanitariasElementales\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"condiciones sanitarias elementales en la escuela\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Abastecimiento de agua\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.waterSupply)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Frecuencia del abastecimiento de agua\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.waterServiceContinuity)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Disponibilidad de agua para el lavado frecuente de manos\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.waterForHandWashing.longText)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Disponibilidad de jabón para el lavado de manos\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.soapSufficiency.longText)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Disponibilidad de toallas para el secado de manos (papel o tela)\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.towelSufficiency)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Disponibilidad de alcohol en gel al 70%\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.sanitizerSufficiency)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Disponibilidad de botes de basura\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.binSufficiency)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Existencia de drenaje\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.hasSepticSystem)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Número de lavamanos funcionales\")]),_c('td',{staticClass:\"has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.functionalSinkCount.text)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Número de bebederos funcionales\")]),_c('td',{staticClass:\"has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.drinkers.text)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Número de baños funcionales para alumnas\")]),_c('td',{staticClass:\"has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.femaleStudentToilets.text)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Número de baños funcionales para alumnos\")]),_c('td',{staticClass:\"has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.maleStudentToilets.text)+\" \")])])])])])]),_c('b-collapse',{staticClass:\"card mb-4\",attrs:{\"animation\":\"slide\",\"aria-id\":\"serviciosBasicos\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"serviciosBasicos\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Servicios básicos\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Fuente principal de energía eléctrica\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.electricitySource)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Acceso a internet\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.internetAccess)+\" \")])])])])])]),_c('b-collapse',{staticClass:\"card mb-4\",attrs:{\"animation\":\"slide\",\"aria-id\":\"programasAdheridosALaEscuela\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"programasAdheridosALaEscuela\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Programas adheridos a la escuela\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Reciben el apoyo de alimentación en la escuela\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.foodSupport)+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Quienes proporcionan los alimentos\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.foodSupportType)+\" \")])]),(_vm.schoolDataSet.foodSupportComment !== '')?_c('tr',[_c('td',[_vm._v(\"Sí otros, quién da el apoyo de alimentación\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.foodSupportComment)+\" \")])]):_vm._e(),_c('tr',[_c('td',[_vm._v(\"La escuela pertenece al programa La Escuela es nuestra\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.theSchoolIsOurs)+\" \")])])])])])]),(_vm.printable)?_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})]):_vm._e(),_c('b-collapse',{staticClass:\"card mb-4\",attrs:{\"animation\":\"slide\",\"aria-id\":\"estadísticasBásicasDelPersonal\",\"open\":_vm.printable},scopedSlots:_vm._u([{key:\"trigger\",fn:function(props){return _c('div',{staticClass:\"card-header py-1\",attrs:{\"role\":\"button\",\"aria-controls\":\"estadísticasBásicasDelPersonal\"}},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\" Estadísticas básicas del personal \")]),_c('td',{staticClass:\"w120 has-text-weight-bold has-text-secondary-bis is-uppercase w80 has-text-right opacity-6\"},[_vm._v(\"Número\")]),(!_vm.printable)?_c('td',{staticClass:\"w40 has-text-right\"},[_c('a',{staticClass:\"card-header-icon px-0 py-0\"},[_c('span',{staticClass:\"icon is-small\"},[_c('i',{class:(\"mdi mdi-chevron-\" + (props.open ? 'down' : 'up') + \" is-size-3\")})])])]):_vm._e()])])])])}}])},[_c('div',{staticClass:\"card-content px-0 py-0\"},[_c('table',{staticClass:\"table is-fullwidth has-no-background\"},[_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Docentes\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.teachers.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Directores\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.directors.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Subdirectores\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.subDirectors.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Total de maestros de Segunda lengua\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.technicalPedagogicalAdvisers.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Docentes de Educación Física\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.physicalEducationTeachers.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Personal Administrativo\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.admins.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Personal de intendencia\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.quartermasters.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()]),_c('tr',[_c('td',[_vm._v(\"Otro tipo de personal\")]),_c('td',{staticClass:\"w120 has-text-right has-text-weight-bold\"},[_vm._v(_vm._s(_vm.schoolDataSet.others.text))]),(!_vm.printable)?_c('td',{staticClass:\"w40\"}):_vm._e()])])])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header py-2 px-2\"},[_c('h2',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Motivo por el que la escuela no tiene clases presenciales\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header py-2 px-2\"},[_c('h2',{staticClass:\"has-text-weight-bold has-text-primary is-uppercase\"},[_vm._v(\"Comentarios realizados por la escuela\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { School } from '@/domain/school/School';\r\nimport { toSchoolDataSet } from '@/primary/common/SchoolDataSet';\r\n\r\n@Component\r\nexport default class SchoolDetails extends Vue {\r\n @Prop()\r\n private school!: School;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n get schoolDataSet() {\r\n return toSchoolDataSet(this.school);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./SchoolDetails.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./SchoolDetails.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SchoolDetails.vue?vue&type=template&id=564717c0&\"\nimport script from \"./SchoolDetails.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./SchoolDetails.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { HistoricChartOptions } from '@/primary/HistoricChart';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\n\r\nexport interface SchoolHistoricDataSet {\r\n chartData: any[];\r\n chartOptions: HistoricChartOptions;\r\n}\r\n\r\nconst toPercentage = (value: number) => (isNaN(value) || value < 0 || value > 1 ? 0 : Math.round(value * 100));\r\n\r\nexport const toChartData = (schoolDailyReport: SchoolDailyReport) => ({\r\n date: schoolDailyReport.date,\r\n teacherAttendance: toPercentage(schoolDailyReport.teacherAttendance),\r\n maleStudentAbsence: toPercentage(schoolDailyReport.maleStudentAbsence),\r\n femaleStudentAbsence: toPercentage(schoolDailyReport.femaleStudentAbsence),\r\n});\r\n\r\nexport const toSchoolHistoricDataSet = (\r\n schoolDailyReports: SchoolDailyReport[],\r\n historicType: HistoricType,\r\n animationDuration = 0\r\n): SchoolHistoricDataSet => {\r\n switch (historicType) {\r\n case HistoricType.GIVES_CLASSES:\r\n return {\r\n chartData: [],\r\n chartOptions: {\r\n stackedKeys: [],\r\n colors: [],\r\n name: '',\r\n legend: [],\r\n animationDuration: animationDuration,\r\n },\r\n };\r\n case HistoricType.STUDENT_ABSENCE:\r\n return {\r\n chartData: schoolDailyReports.map(toChartData),\r\n chartOptions: {\r\n stackedKeys: ['femaleStudentAbsence', 'maleStudentAbsence'],\r\n colors: ['#9d2449', '#285c4d'],\r\n name: 'Índice de inasistencia de alumnos',\r\n legend: [\r\n { text: 'Niñas', color: '#9d2449' },\r\n { text: 'Niños', color: '#285c4d' },\r\n ],\r\n animationDuration: animationDuration,\r\n },\r\n };\r\n case HistoricType.TEACHER_ATTENDANCE:\r\n return {\r\n chartData: schoolDailyReports.map(toChartData),\r\n chartOptions: {\r\n stackedKeys: ['teacherAttendance'],\r\n colors: ['#9d2449'],\r\n name: 'Tasa de asistencia de docentes',\r\n legend: [],\r\n animationDuration: animationDuration,\r\n },\r\n };\r\n }\r\n};\r\n","import * as d3 from 'd3';\r\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { HistoricInfoModalVue } from '@/primary/historic-info-modal';\r\nimport { HistoricChart } from '@/primary/HistoricChart';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\nimport { toSchoolHistoricDataSet } from '@/primary/school-historic/SchoolHistoricDataSet';\r\n\r\n@Component({\r\n components: { HistoricInfoModalVue },\r\n})\r\nexport default class SchoolHistoric extends Vue {\r\n @Inject()\r\n historicChart!: () => HistoricChart;\r\n\r\n @Prop()\r\n readonly schoolDailyReports!: SchoolDailyReport[];\r\n\r\n @Prop()\r\n readonly historicType!: HistoricType;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Prop()\r\n readonly historicInterval!: [number, number];\r\n\r\n get animationDuration() {\r\n return this.printable ? 0 : 250;\r\n }\r\n\r\n get schoolHistoricDataSet() {\r\n return toSchoolHistoricDataSet(this.schoolDailyReports, this.historicType, this.animationDuration);\r\n }\r\n\r\n @Watch('schoolHistoricDataSet')\r\n schoolHistoricDataSetWatcher() {\r\n this.update();\r\n }\r\n\r\n @Watch('historicInterval')\r\n intervalWatcher() {\r\n this.update();\r\n }\r\n\r\n mounted() {\r\n const data = this.schoolHistoricDataSet.chartData.slice(this.historicInterval[0], this.historicInterval[1] + 1);\r\n if (this.printable) {\r\n const callback = () => this.$emit('imageready');\r\n this.historicChart().transformStackedBarChartToImage(\r\n 'historic-stacked-chart',\r\n data,\r\n this.schoolHistoricDataSet.chartOptions,\r\n callback\r\n );\r\n } else {\r\n this.historicChart().makeStackedBarChart('historic-stacked-chart', data, this.schoolHistoricDataSet.chartOptions);\r\n }\r\n }\r\n\r\n update() {\r\n const data = this.schoolHistoricDataSet.chartData.slice(this.historicInterval[0], this.historicInterval[1] + 1);\r\n if (!this.printable) {\r\n this.historicChart().updateStackedChart('historic-stacked-chart', data, this.schoolHistoricDataSet.chartOptions);\r\n }\r\n }\r\n\r\n tooltipLabel(index: number) {\r\n const parseDate = d3.timeFormat('%d/%m');\r\n return parseDate(new Date(this.schoolHistoricDataSet.chartData[index].date));\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"has-background-white card\"},[_c('header',{staticClass:\"card-header\"},[_c('h2',{staticClass:\"card-header-title has-text-primary\"},[_vm._v(\"Historial\")]),(!_vm.printable)?_c('HistoricInfoModalVue',{staticClass:\"m-1\"}):_vm._e()],1),_c('div',{staticClass:\"tabs\"},[(_vm.printable)?_c('ul',[(_vm.historicType === 'STUDENT_ABSENCE')?_c('li',{staticClass:\"is-active is-size-6 has-text-weight-bold is-uppercase\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'STUDENT_ABSENCE')}}},[_vm._v(\"Índice de inasistencia de alumnos\")])]):_vm._e(),(_vm.historicType === 'TEACHER_ABSENCE')?_c('li',{staticClass:\"is-active is-size-6 has-text-weight-bold is-uppercase\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'TEACHER_ABSENCE')}}},[_vm._v(\"Índice de asistencia de docentes\")])]):_vm._e()]):_c('ul',[_c('li',{class:[{ 'is-active': _vm.historicType === 'STUDENT_ABSENCE' }, 'is-size-6', 'has-text-weight-bold', 'is-uppercase']},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'STUDENT_ABSENCE')}}},[_vm._v(\"Índice de inasistencia de alumnos\")])]),_c('li',{class:[{ 'is-active': _vm.historicType === 'TEACHER_ABSENCE' }, 'is-size-6', 'has-text-weight-bold', 'is-uppercase']},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.$emit('changehistorictype', 'TEACHER_ABSENCE')}}},[_vm._v(\"Índice de asistencia de docentes\")])])])]),_c('div',{staticClass:\"card-content\"},[_c('div',{attrs:{\"id\":\"historic-stacked-chart\"}}),(_vm.schoolHistoricDataSet.chartData.length > 0 && !_vm.printable)?_c('b-field',[_c('b-slider',{attrs:{\"value\":_vm.historicInterval,\"min\":0,\"max\":_vm.schoolHistoricDataSet.chartData.length - 1,\"step\":1,\"custom-formatter\":_vm.tooltipLabel,\"ticks\":\"\",\"rounded\":\"\"},on:{\"change\":function($event){return _vm.$emit('changehistoricinterval', $event)}}})],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import * as d3 from 'd3';\r\nimport { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { HistoricInfoModalVue } from '@/primary/historic-info-modal';\r\nimport { HistoricChart } from '@/primary/HistoricChart';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\nimport { toSchoolHistoricDataSet } from '@/primary/school-historic/SchoolHistoricDataSet';\r\n\r\n@Component({\r\n components: { HistoricInfoModalVue },\r\n})\r\nexport default class SchoolHistoric extends Vue {\r\n @Inject()\r\n historicChart!: () => HistoricChart;\r\n\r\n @Prop()\r\n readonly schoolDailyReports!: SchoolDailyReport[];\r\n\r\n @Prop()\r\n readonly historicType!: HistoricType;\r\n\r\n @Prop({ default: false, required: false })\r\n readonly printable!: boolean;\r\n\r\n @Prop()\r\n readonly historicInterval!: [number, number];\r\n\r\n get animationDuration() {\r\n return this.printable ? 0 : 250;\r\n }\r\n\r\n get schoolHistoricDataSet() {\r\n return toSchoolHistoricDataSet(this.schoolDailyReports, this.historicType, this.animationDuration);\r\n }\r\n\r\n @Watch('schoolHistoricDataSet')\r\n schoolHistoricDataSetWatcher() {\r\n this.update();\r\n }\r\n\r\n @Watch('historicInterval')\r\n intervalWatcher() {\r\n this.update();\r\n }\r\n\r\n mounted() {\r\n const data = this.schoolHistoricDataSet.chartData.slice(this.historicInterval[0], this.historicInterval[1] + 1);\r\n if (this.printable) {\r\n const callback = () => this.$emit('imageready');\r\n this.historicChart().transformStackedBarChartToImage(\r\n 'historic-stacked-chart',\r\n data,\r\n this.schoolHistoricDataSet.chartOptions,\r\n callback\r\n );\r\n } else {\r\n this.historicChart().makeStackedBarChart('historic-stacked-chart', data, this.schoolHistoricDataSet.chartOptions);\r\n }\r\n }\r\n\r\n update() {\r\n const data = this.schoolHistoricDataSet.chartData.slice(this.historicInterval[0], this.historicInterval[1] + 1);\r\n if (!this.printable) {\r\n this.historicChart().updateStackedChart('historic-stacked-chart', data, this.schoolHistoricDataSet.chartOptions);\r\n }\r\n }\r\n\r\n tooltipLabel(index: number) {\r\n const parseDate = d3.timeFormat('%d/%m');\r\n return parseDate(new Date(this.schoolHistoricDataSet.chartData[index].date));\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./SchoolHistoric.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./SchoolHistoric.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SchoolHistoric.vue?vue&type=template&id=70a01204&\"\nimport script from \"./SchoolHistoric.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./SchoolHistoric.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { School } from '@/domain/school/School';\r\nimport { toSchoolDataSet } from '@/primary/common/SchoolDataSet';\r\n\r\n@Component\r\nexport default class SchoolIndicators extends Vue {\r\n @Prop()\r\n readonly school!: School;\r\n\r\n @Prop()\r\n readonly inline!: boolean;\r\n\r\n get schoolDataSet() {\r\n return toSchoolDataSet(this.school);\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.inline)?_c('div',{staticClass:\"tile is-ancestor\"},[_c('div',{staticClass:\"tile\"},[_c('div',{staticClass:\"tile is-parent\"},[_c('div',{staticClass:\"tile is-child indicator-card card mb-4\"},[_c('div',{staticClass:\"card-content has-text-centered\"},[_c('img',{staticClass:\"mb-1\",attrs:{\"src\":\"/university.svg\",\"alt\":\"escuela\"}}),_c('p',{staticClass:\"has-text-secondary-bis has-text-weight-bold is-size-7 is-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.name)+\" \")]),_c('p',{staticClass:\"has-text-secondary has-text-weight-bold is-size-3 mb-2\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.id)+\" \")]),_c('p',{staticClass:\"has-text-primary is-uppercase has-text-weight-bold is-size-7\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.level)+\" \")]),_c('p',{staticClass:\"has-text-grey is-capitalized has-text-weight-bold is-size-6\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.turn)+\" \")]),_c('p',{staticClass:\"has-text-grey is-capitalized has-text-weight-bold is-size-6\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.support)+\" \")])])])]),_c('div',{staticClass:\"tile is-8 is-vertical\"},[_c('div',{staticClass:\"tile\"},[_c('div',{staticClass:\"tile is-parent\"},[_c('div',{staticClass:\"tile is-child indicator-card card mb-3 px-2 py-1\"},[_vm._m(0),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/desk-copy.svg\",\"alt\":\"despacho\"}}),_c('p',{staticClass:\"title has-text-secondary has-text-centered is-size-2\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.givesClasses.shortText)+\" \")])])])])]),_c('div',{staticClass:\"tile\"},[_c('div',{staticClass:\"tile is-parent\"},[_c('div',{staticClass:\"tile is-child indicator-card card mb-3 px-2 py-1\"},[_vm._m(1),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/hand-sanitizer.svg\",\"alt\":\"jabón\"}}),_c('p',{staticClass:\"title has-text-secondary has-text-centered is-size-2\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.soapSufficiency.shortText)+\" \")])])])]),_c('div',{staticClass:\"tile is-parent\"},[_c('div',{staticClass:\"tile is-child indicator-card card mb-3 px-2 py-1\"},[_vm._m(2),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/wudu.svg\",\"alt\":\"lavamano\"}}),_c('p',{staticClass:\"title has-text-secondary has-text-centered is-size-2\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.waterForHandWashing.shortText)+\" \")])])])])])])])]):[_c('div',{staticClass:\"indicator-card card mb-4\"},[_c('div',{staticClass:\"card-content has-text-centered\"},[_c('img',{staticClass:\"mb-1\",attrs:{\"src\":\"/university.svg\",\"alt\":\"escuela\"}}),_c('p',{staticClass:\"has-text-secondary-bis has-text-weight-bold is-size-7 is-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.name)+\" \")]),_c('p',{staticClass:\"has-text-secondary has-text-weight-bold is-size-3 mb-2\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.id)+\" \")]),_c('p',{staticClass:\"has-text-primary is-uppercase has-text-weight-bold is-size-7\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.level)+\" \")]),_c('p',{staticClass:\"has-text-grey is-capitalized has-text-weight-bold is-size-6\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.turn)+\" \")]),_c('p',{staticClass:\"has-text-grey is-capitalized has-text-weight-bold is-size-6\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.support)+\" \")])])]),_c('div',{staticClass:\"indicator-card card mb-3 px-2 py-1\"},[_vm._m(3),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/desk-copy.svg\",\"alt\":\"despacho\"}}),_c('p',{staticClass:\"title has-text-secondary has-text-centered is-size-2\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.givesClasses.shortText)+\" \")])])]),_c('div',{staticClass:\"indicator-card card mb-3 px-2 py-1\"},[_vm._m(4),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/wudu.svg\",\"alt\":\"lavamano\"}}),_c('p',{staticClass:\"title has-text-secondary has-text-centered is-size-2\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.waterForHandWashing.shortText)+\" \")])])]),_c('div',{staticClass:\"indicator-card card px-2 py-1\"},[_vm._m(5),_c('div',{staticClass:\"card-content\"},[_c('img',{staticClass:\"is-pulled-left is-absolute\",attrs:{\"src\":\"/hand-sanitizer.svg\",\"alt\":\"jabón\"}}),_c('p',{staticClass:\"title has-text-secondary has-text-centered is-size-2\"},[_vm._v(\" \"+_vm._s(_vm.schoolDataSet.soapSufficiency.shortText)+\" \")])])])]],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Tiene clases presenciales \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Dispone de jabón para el lavado de manos \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Dispone de agua para el lavado de manos \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Tiene clases presenciales \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Dispone de agua para el lavado de manos \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:\"card-header\"},[_c('p',{staticClass:\"has-text-grey is-size-7 has-text-left has-text-weight-bold\"},[_vm._v(\" Dispone de jabón para el lavado de manos \")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { School } from '@/domain/school/School';\r\nimport { toSchoolDataSet } from '@/primary/common/SchoolDataSet';\r\n\r\n@Component\r\nexport default class SchoolIndicators extends Vue {\r\n @Prop()\r\n readonly school!: School;\r\n\r\n @Prop()\r\n readonly inline!: boolean;\r\n\r\n get schoolDataSet() {\r\n return toSchoolDataSet(this.school);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./SchoolIndicators.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./SchoolIndicators.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SchoolIndicators.vue?vue&type=template&id=0cdd3e57&\"\nimport script from \"./SchoolIndicators.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./SchoolIndicators.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AbsenceDetailsVue } from '@/primary/absence-details';\r\nimport { AdministrativeDivisionDetailsVue } from '@/primary/administrative-division-details';\r\nimport { AdministrativeDivisionHistoricVue } from '@/primary/administrative-division-historic';\r\nimport { AdministrativeDivisionIndicatorsVue } from '@/primary/administrative-division-indicators';\r\nimport { AttendanceListVue } from '@/primary/attendance-list';\r\nimport { AttendanceMapVue } from '@/primary/attendance-map';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\nimport { SchoolDetailsVue } from '@/primary/school-details';\r\nimport { SchoolHistoricVue } from '@/primary/school-historic';\r\nimport { SchoolIndicatorsVue } from '@/primary/school-indicators';\r\nimport { Printer } from '@/secondary/Printer';\r\n\r\n@Component({\r\n components: {\r\n AttendanceMapVue,\r\n AdministrativeDivisionIndicatorsVue,\r\n SchoolIndicatorsVue,\r\n AttendanceListVue,\r\n AbsenceDetailsVue,\r\n AdministrativeDivisionDetailsVue,\r\n SchoolDetailsVue,\r\n AdministrativeDivisionHistoricVue,\r\n SchoolHistoricVue,\r\n },\r\n})\r\nexport default class TemplatePrint extends Vue {\r\n mapReady = false;\r\n chartReady = false;\r\n\r\n @Inject()\r\n private printer!: () => Printer;\r\n\r\n @Prop()\r\n readonly currentSummaryList!: Summary[];\r\n\r\n @Prop()\r\n readonly stateSummaryList!: AdministrativeDivisionSummary[];\r\n\r\n @Prop()\r\n readonly municipalitySummaryList!: AdministrativeDivisionSummary[];\r\n\r\n @Prop()\r\n readonly schoolSummaryList!: SchoolSummary[];\r\n\r\n @Prop()\r\n readonly school!: School;\r\n\r\n @Prop()\r\n readonly schoolDailyReports!: SchoolDailyReport[];\r\n\r\n @Prop()\r\n readonly currentSummary!: Summary;\r\n\r\n @Prop()\r\n readonly administrativeDivisionLevel!: boolean;\r\n\r\n @Prop()\r\n readonly currentAdministrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n readonly administrativeDivisionDailyReports!: AdministrativeDivisionDailyReport[];\r\n\r\n @Prop()\r\n readonly navigation!: NavigationParams[];\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly administrativeLevel!: AdministrativeLevels;\r\n\r\n @Prop()\r\n readonly attendanceListSortOptions!: [string, string];\r\n\r\n @Prop()\r\n readonly absenceDetailsAttendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly historicType!: HistoricType;\r\n\r\n @Prop()\r\n readonly historicInterval!: [number, number];\r\n\r\n @Prop()\r\n readonly mapExtent!: [number, number, number, number] | null;\r\n\r\n @Watch('mapReady')\r\n mapReadyWatcher() {\r\n if (this.chartReady) {\r\n this.printer().print();\r\n }\r\n }\r\n\r\n @Watch('chartReady')\r\n chartReadyWatcher() {\r\n if (this.mapReady) {\r\n this.printer().print();\r\n }\r\n }\r\n\r\n get lastUpdateDate() {\r\n const entity = this.administrativeLevel === AdministrativeLevels.SCHOOL ? this.school : this.currentAdministrativeDivision;\r\n return entity ? `Información correspondiente al ${entity.lastUpdateDate.toHuman()}` : '';\r\n }\r\n\r\n get currentSummariesChunks() {\r\n const sortAsc = (val1: string | number, val2: string | number) => (val1 < val2 ? -1 : 1);\r\n const sortDesc = (val1: string | number, val2: string | number) => (val1 > val2 ? -1 : 1);\r\n const sorter = this.attendanceListSortOptions[1] === 'asc' ? sortAsc : sortDesc;\r\n\r\n const valueToSort = (summary: Summary) =>\r\n this.attendanceListSortOptions[0] === 'name'\r\n ? summary.name\r\n : this.attendanceType === AttendanceType.STUDENT\r\n ? summary.studentAttendance\r\n : this.attendanceType === AttendanceType.TEACHER\r\n ? summary.teacherAttendance\r\n : summary.adminAttendance;\r\n\r\n const summaries = [...this.currentSummaryList].sort((summary1, summary2) => sorter(valueToSort(summary1), valueToSort(summary2)));\r\n\r\n const chunkLength = 20;\r\n const chunksLength = Math.ceil(summaries.length / chunkLength);\r\n\r\n return Array(chunksLength)\r\n .fill(0)\r\n .map((value, index) => summaries.slice(index * chunkLength, (index + 1) * chunkLength));\r\n }\r\n\r\n created() {\r\n this.printer().onAfterPrint(this.onAfterPrint);\r\n }\r\n\r\n beforeDestroy() {\r\n this.printer().offAfterPrint(this.onAfterPrint);\r\n }\r\n\r\n onAfterPrint() {\r\n this.$emit('endprinting');\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._m(0),_c('section',{staticClass:\"section py-2 px-2\"},[_c('div',{staticClass:\"container w16cm\"},[_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12\"},[_c('h1',{staticClass:\"has-text-primary-bis title is-uppercase is-size-4 has-text-weight-bold\"},[_vm._v(\"Tablero de Análisis Integral\")]),_c('p',{staticClass:\"subtitle\"},[_vm._v(_vm._s(_vm.lastUpdateDate))])])]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12\"},[_c('AttendanceMapVue',{attrs:{\"schools-summaries\":_vm.schoolSummaryList,\"school\":_vm.school,\"summary\":_vm.currentSummary,\"attendanceType\":_vm.attendanceType,\"inline\":false,\"printable\":true,\"map-extent\":_vm.mapExtent},on:{\"mapready\":function($event){_vm.mapReady = true}}})],1)]),_vm._m(1),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12\"},[(_vm.administrativeDivisionLevel)?_c('AdministrativeDivisionIndicatorsVue',{attrs:{\"administrative-division\":_vm.currentAdministrativeDivision,\"inline\":true}}):_c('SchoolIndicatorsVue',{attrs:{\"school\":_vm.school,\"inline\":true}})],1)]),_c('div',{staticClass:\"columns is-desktop\"},[_c('div',{staticClass:\"column is-12\"},[_c('AbsenceDetailsVue',{attrs:{\"administrative-division\":_vm.currentAdministrativeDivision,\"school\":_vm.school,\"administrative-division-level\":_vm.administrativeDivisionLevel,\"attendance-type\":_vm.absenceDetailsAttendanceType}})],1)]),_vm._m(2),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12\"},[(_vm.administrativeDivisionLevel && _vm.administrativeDivisionDailyReports.length > 0)?_c('AdministrativeDivisionHistoricVue',{attrs:{\"administrative-division-daily-reports\":_vm.administrativeDivisionDailyReports,\"historic-type\":_vm.historicType,\"historic-interval\":_vm.historicInterval,\"printable\":true},on:{\"imageready\":function($event){_vm.chartReady = true}}}):_vm._e(),(!_vm.administrativeDivisionLevel && _vm.schoolDailyReports.length > 0)?_c('SchoolHistoricVue',{attrs:{\"school-daily-reports\":_vm.schoolDailyReports,\"historic-type\":_vm.historicType,\"historic-interval\":_vm.historicInterval,\"printable\":true},on:{\"imageready\":function($event){_vm.chartReady = true}}}):_vm._e()],1)]),_vm._m(3),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12\"},[(_vm.administrativeDivisionLevel)?_c('AdministrativeDivisionDetailsVue',{attrs:{\"administrative-division\":_vm.currentAdministrativeDivision,\"printable\":true}}):_c('SchoolDetailsVue',{attrs:{\"school\":_vm.school,\"printable\":true}})],1)]),_vm._m(4),_vm._m(5),_vm._l((_vm.currentSummariesChunks),function(chunk,index){return _c('div',{key:index},[_c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"},[_c('AttendanceListVue',{attrs:{\"summaries\":chunk,\"navigation\":_vm.navigation,\"attendanceType\":_vm.attendanceType,\"administrative-level\":_vm.administrativeLevel,\"attendance-list-sort-options\":_vm.attendanceListSortOptions}})],1)])])})],2)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"no-print obfuscator\"},[_c('div',{staticClass:\"hero is-white is-fullheight\"},[_c('div',{staticClass:\"hero-body\"},[_c('div',{staticClass:\"container has-text-centered pulse-color-primary\"},[_c('span',{staticClass:\"icon is-large\"},[_c('i',{staticClass:\"mdi mdi-48px mdi-download\"})])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"columns has-page-break-before\"},[_c('div',{staticClass:\"column is-12\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"columns has-page-break-before-ff\"},[_c('div',{staticClass:\"column is-12\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"columns has-page-break-before-ff\"},[_c('div',{staticClass:\"column is-12\"})])}]\n\nexport { render, staticRenderFns }","import { Component, Inject, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AbsenceDetailsVue } from '@/primary/absence-details';\r\nimport { AdministrativeDivisionDetailsVue } from '@/primary/administrative-division-details';\r\nimport { AdministrativeDivisionHistoricVue } from '@/primary/administrative-division-historic';\r\nimport { AdministrativeDivisionIndicatorsVue } from '@/primary/administrative-division-indicators';\r\nimport { AttendanceListVue } from '@/primary/attendance-list';\r\nimport { AttendanceMapVue } from '@/primary/attendance-map';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\nimport { SchoolDetailsVue } from '@/primary/school-details';\r\nimport { SchoolHistoricVue } from '@/primary/school-historic';\r\nimport { SchoolIndicatorsVue } from '@/primary/school-indicators';\r\nimport { Printer } from '@/secondary/Printer';\r\n\r\n@Component({\r\n components: {\r\n AttendanceMapVue,\r\n AdministrativeDivisionIndicatorsVue,\r\n SchoolIndicatorsVue,\r\n AttendanceListVue,\r\n AbsenceDetailsVue,\r\n AdministrativeDivisionDetailsVue,\r\n SchoolDetailsVue,\r\n AdministrativeDivisionHistoricVue,\r\n SchoolHistoricVue,\r\n },\r\n})\r\nexport default class TemplatePrint extends Vue {\r\n mapReady = false;\r\n chartReady = false;\r\n\r\n @Inject()\r\n private printer!: () => Printer;\r\n\r\n @Prop()\r\n readonly currentSummaryList!: Summary[];\r\n\r\n @Prop()\r\n readonly stateSummaryList!: AdministrativeDivisionSummary[];\r\n\r\n @Prop()\r\n readonly municipalitySummaryList!: AdministrativeDivisionSummary[];\r\n\r\n @Prop()\r\n readonly schoolSummaryList!: SchoolSummary[];\r\n\r\n @Prop()\r\n readonly school!: School;\r\n\r\n @Prop()\r\n readonly schoolDailyReports!: SchoolDailyReport[];\r\n\r\n @Prop()\r\n readonly currentSummary!: Summary;\r\n\r\n @Prop()\r\n readonly administrativeDivisionLevel!: boolean;\r\n\r\n @Prop()\r\n readonly currentAdministrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n readonly administrativeDivisionDailyReports!: AdministrativeDivisionDailyReport[];\r\n\r\n @Prop()\r\n readonly navigation!: NavigationParams[];\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly administrativeLevel!: AdministrativeLevels;\r\n\r\n @Prop()\r\n readonly attendanceListSortOptions!: [string, string];\r\n\r\n @Prop()\r\n readonly absenceDetailsAttendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly historicType!: HistoricType;\r\n\r\n @Prop()\r\n readonly historicInterval!: [number, number];\r\n\r\n @Prop()\r\n readonly mapExtent!: [number, number, number, number] | null;\r\n\r\n @Watch('mapReady')\r\n mapReadyWatcher() {\r\n if (this.chartReady) {\r\n this.printer().print();\r\n }\r\n }\r\n\r\n @Watch('chartReady')\r\n chartReadyWatcher() {\r\n if (this.mapReady) {\r\n this.printer().print();\r\n }\r\n }\r\n\r\n get lastUpdateDate() {\r\n const entity = this.administrativeLevel === AdministrativeLevels.SCHOOL ? this.school : this.currentAdministrativeDivision;\r\n return entity ? `Información correspondiente al ${entity.lastUpdateDate.toHuman()}` : '';\r\n }\r\n\r\n get currentSummariesChunks() {\r\n const sortAsc = (val1: string | number, val2: string | number) => (val1 < val2 ? -1 : 1);\r\n const sortDesc = (val1: string | number, val2: string | number) => (val1 > val2 ? -1 : 1);\r\n const sorter = this.attendanceListSortOptions[1] === 'asc' ? sortAsc : sortDesc;\r\n\r\n const valueToSort = (summary: Summary) =>\r\n this.attendanceListSortOptions[0] === 'name'\r\n ? summary.name\r\n : this.attendanceType === AttendanceType.STUDENT\r\n ? summary.studentAttendance\r\n : this.attendanceType === AttendanceType.TEACHER\r\n ? summary.teacherAttendance\r\n : summary.adminAttendance;\r\n\r\n const summaries = [...this.currentSummaryList].sort((summary1, summary2) => sorter(valueToSort(summary1), valueToSort(summary2)));\r\n\r\n const chunkLength = 20;\r\n const chunksLength = Math.ceil(summaries.length / chunkLength);\r\n\r\n return Array(chunksLength)\r\n .fill(0)\r\n .map((value, index) => summaries.slice(index * chunkLength, (index + 1) * chunkLength));\r\n }\r\n\r\n created() {\r\n this.printer().onAfterPrint(this.onAfterPrint);\r\n }\r\n\r\n beforeDestroy() {\r\n this.printer().offAfterPrint(this.onAfterPrint);\r\n }\r\n\r\n onAfterPrint() {\r\n this.$emit('endprinting');\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./TemplatePrint.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./TemplatePrint.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TemplatePrint.vue?vue&type=template&id=f6bb8f46&\"\nimport script from \"./TemplatePrint.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./TemplatePrint.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class DetailsInfoModal extends Vue {\r\n active = false;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"is-inline\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.active = true}}},[_vm._m(0)]),_c('b-modal',{attrs:{\"active\":_vm.active},on:{\"close\":function($event){_vm.active = false}}},[_c('article',{staticClass:\"message px-2 has-no-background\"},[_c('div',{staticClass:\"message-body has-text-justified has-background-white content\"},[_c('p',[_vm._v(\" Haga click con el cursor sobre la flecha marrón ( \"),_c('span',{staticClass:\"icon has-text-primary-bis\"},[_c('i',{staticClass:\"mdi mdi-24px mdi-chevron-up\"})]),_vm._v(\" ) para obtener más información y estadísticas. Haga click de nuevo sobre la flecha ( \"),_c('span',{staticClass:\"icon has-text-primary-bis\"},[_c('i',{staticClass:\"mdi mdi-24px mdi-chevron-down\"})]),_vm._v(\" ) para ocultar la tarjeta de información. \")])])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"icon has-text-primary-bis\"},[_c('i',{staticClass:\"mdi mdi-36px mdi-information-outline\"})])}]\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class DetailsInfoModal extends Vue {\r\n active = false;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./DetailsInfoModal.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./DetailsInfoModal.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DetailsInfoModal.vue?vue&type=template&id=8b6b6c54&\"\nimport script from \"./DetailsInfoModal.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./DetailsInfoModal.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionTypes } from '@/domain/administrative-division/AdministrativeDivisionTypes';\r\nimport { toNumericDataSet } from '@/primary/common/NumericDataSet';\r\nimport { toPercentageDataSet } from '@/primary/common/PercentageDataSet';\r\n\r\nexport interface AdministrativeDivisionCsvExportContent {\r\n ID?: string;\r\n 'Fecha ultimo reporte': string;\r\n Nombre: string;\r\n 'Total de escuelas': string;\r\n 'ID Entidad Federativa'?: string;\r\n 'Sostenimiento privado (% de escuelas)': string;\r\n 'Sostenimiento publico (% de escuelas)': string;\r\n 'Asistencia del alumnado': string;\r\n 'Inasistencias de niñas': string;\r\n 'Inasistencias de niños': string;\r\n 'Asistencia de docentes': string;\r\n 'Asistencia del personal': string;\r\n 'Total de inasistencias de alumnos porque: Los padres de familia no enviaron a sus hijos a la escuela': string;\r\n 'Total de inasistencias de alumnos porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Total de inasistencias de alumnos porque: Se desconocen las causas': string;\r\n 'Total de inasistencias de alumnos por otras causas': string;\r\n 'Porcentaje de inasistencias de alumnos porque: Los padres de familia no enviaron a sus hijos a la escuela': string;\r\n 'Porcentaje de inasistencias de alumnos porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Porcentaje de inasistencias de alumnos porque: Se desconocen las causas': string;\r\n 'Porcentaje de inasistencias de alumnos por otras causas': string;\r\n 'Total de inasistencias de docentes porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Total de inasistencias de docentes porque: Se reportaron enfermos (NO COVID 19)': string;\r\n 'Total de inasistencias de docentes porque: Se desconocen las causas': string;\r\n 'Total de inasistencias de docentes por otras causas': string;\r\n 'Porcentaje de inasistencias de docentes porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Porcentaje de inasistencias de docentes porque: Se reportaron enfermos (NO COVID 19)': string;\r\n 'Porcentaje de inasistencias de docentes porque: Se desconocen las causas': string;\r\n 'Porcentaje de inasistencias de docentes por otras causas': string;\r\n 'Total de inasistencias de personal administrativo porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Total de inasistencias de personal administrativo porque: Se reportaron enfermos (NO COVID 19)': string;\r\n 'Total de inasistencias de personal administrativo porque: Se desconocen las causas': string;\r\n 'Total de inasistencias de personal administrativo por otras causas de inasistencia': string;\r\n 'Porcentaje de inasistencias de personal administrativo porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Porcentaje de inasistencias de personal administrativo porque: Se reportaron enfermos (NO COVID 19)': string;\r\n 'Porcentaje de inasistencias de personal administrativo porque: Se desconocen las causas': string;\r\n 'Porcentaje de inasistencias de personal administrativo por otras causas de inasistencia': string;\r\n 'Total del alumnado': string;\r\n 'Total del alumnas': string;\r\n 'Total del alumnos': string;\r\n 'Alumnas (% del alumnado)': string;\r\n 'Alumnos (% del alumnado)': string;\r\n 'Total de Docentes frente a grupo': string;\r\n 'Total de grupos': string;\r\n 'Total de directores': string;\r\n 'Total de Subdirectores': string;\r\n 'Total de maestros de Segunda lengua': string;\r\n 'Total de docentes de Educación Física': string;\r\n 'Total de personal Administrativo': string;\r\n 'Total de personal de intendencia': string;\r\n 'Total de otro tipo de personal': string;\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : Si, Personal y Alumnos realizan sus actividades en la escuela': string;\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, se está realizando la limpieza de espacios para poder iniciar con las clases': string;\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, todas las madres y los padres de familia determinarón no enviar a sus hijos a la escuela': string;\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, otras razones': string;\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : Si, Personal y Alumnos realizan sus actividades en la escuela (% de escuelas)': string;\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, se está realizando la limpieza de espacios para poder iniciar con las clases (% de escuelas)': string;\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, todos las madres y los padres de familia determinarón no enviar a sus hijos a la escuela (% de escuelas)': string;\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, otras razones (% de escuelas)': string;\r\n 'Tipo de abastecimiento de agua : Red municipal de agua potable': string;\r\n 'Tipo de abastecimiento de agua : Abastecimiento a través de pipas': string;\r\n 'Tipo de abastecimiento de agua : Otra fuente (pozo, río, lago, etc.)': string;\r\n 'Tipo de abastecimiento de agua : No cuenta con ningún tipo de abastecimiento': string;\r\n 'Tipo de abastecimiento de agua : Red municipal de agua potable (% de escuelas)': string;\r\n 'Tipo de abastecimiento de agua : Abastecimiento a través de pipas (% de escuelas)': string;\r\n 'Tipo de abastecimiento de agua : Otra fuente (pozo, río, lago, etc.) (% de escuelas)': string;\r\n 'Tipo de abastecimiento de agua : No cuenta con ningún tipo de abastecimiento (% de escuelas)': string;\r\n 'Continuidad del servicio de agua : Todos los días': string;\r\n 'Continuidad del servicio de agua : De 2 a 4 días a la semana': string;\r\n 'Continuidad del servicio de agua : Una sola vez por semana': string;\r\n 'Continuidad del servicio de agua : No cuenta con servicio de agua': string;\r\n 'Continuidad del servicio de agua : Todos los días (% de escuelas)': string;\r\n 'Continuidad del servicio de agua : De 2 a 4 días a la semana (% de escuelas)': string;\r\n 'Continuidad del servicio de agua : Una sola vez por semana (% de escuelas)': string;\r\n 'Continuidad del servicio de agua : No cuenta con servicio de agua (% de escuelas)': string;\r\n 'Agua para el lavado de manos : Si': string;\r\n 'Agua para el lavado de manos : No': string;\r\n 'Agua para el lavado de manos : Si (% de escuelas)': string;\r\n 'Agua para el lavado de manos : No (% de escuelas)': string;\r\n 'Número de lavamanos funcionales': string;\r\n 'Existencia de Jabón para lavado de manos : Suficiente': string;\r\n 'Existencia de Jabón para lavado de manos : Insuficiente': string;\r\n 'Existencia de Jabón para lavado de manos : No cuenta': string;\r\n 'Existencia de Jabón para lavado de manos : Suficiente (% de escuelas)': string;\r\n 'Existencia de Jabón para lavado de manos : Insuficiente (% de escuelas)': string;\r\n 'Existencia de Jabón para lavado de manos : No cuenta (% de escuelas)': string;\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : Suficiente': string;\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : Insuficiente': string;\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : No cuenta': string;\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : Suficiente (% de escuelas)': string;\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : Insuficiente (% de escuelas)': string;\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : No cuenta (% de escuelas)': string;\r\n 'Sanitizante de alcohol : Suficiente': string;\r\n 'Sanitizante de alcohol : Insuficiente': string;\r\n 'Sanitizante de alcohol : No cuenta': string;\r\n 'Sanitizante de alcohol : Suficiente (% de escuelas)': string;\r\n 'Sanitizante de alcohol : Insuficiente (% de escuelas)': string;\r\n 'Sanitizante de alcohol : No cuenta (% de escuelas)': string;\r\n 'Botes de basura para el manejo de residuos : Cuenta con botes de basura para el manejo de los residuos': string;\r\n 'Botes de basura para el manejo de residuos : No cuenta con botes de basura para el manejo de los residuos': string;\r\n 'Botes de basura para el manejo de residuos : Cuenta con botes de basura para el manejo de los residuos (% de escuelas)': string;\r\n 'Botes de basura para el manejo de residuos : No cuenta con botes de basura para el manejo de los residuos (% de escuelas)': string;\r\n 'Red de drenaje, fosa séptica para desalojo de aguas : Si': string;\r\n 'Red de drenaje, fosa séptica para desalojo de aguas : No': string;\r\n 'Red de drenaje, fosa séptica para desalojo de aguas : Si (% de escuelas)': string;\r\n 'Red de drenaje, fosa séptica para desalojo de aguas : No (% de escuelas)': string;\r\n 'Escuelas que pueden reorganizar los espacios para facilitar la sana distancia : Si': string;\r\n 'Escuelas que pueden reorganizar los espacios para facilitar la sana distancia : No': string;\r\n 'Escuelas que pueden reorganizar los espacios para facilitar la sana distancia : Si (% de escuelas)': string;\r\n 'Escuelas que pueden reorganizar los espacios para facilitar la sana distancia : No (% de escuelas)': string;\r\n 'Escuelas que instalaron el comité participativo de salud escolar : Si': string;\r\n 'Escuelas que instalaron el comité participativo de salud escolar : No': string;\r\n 'Escuelas que instalaron el comité participativo de salud escolar : Si (% de escuelas)': string;\r\n 'Escuelas que instalaron el comité participativo de salud escolar : No (% de escuelas)': string;\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Visita domiciliaria': string;\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Llamada telefónica': string;\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Gestión de becas': string;\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Ninguna': string;\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Visita domiciliaria (% de escuelas)': string;\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Llamada telefónica (% de escuelas)': string;\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Gestión de becas (% de escuelas)': string;\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Ninguna (% de escuelas)': string;\r\n 'Bebederos funcionales': string;\r\n 'Baños funcionales, Alumnas': string;\r\n 'Baños funcionales, Alumnos': string;\r\n 'Reciben algún apoyo de alimentación': string;\r\n 'No recibe apoyo de alimentación': string;\r\n 'Reciben algún apoyo de alimentación (% de escuelas)': string;\r\n 'No recibe apoyo de alimentación (% de escuelas)': string;\r\n 'Reciben alimentos por parte del DIF': string;\r\n 'Reciben alimentos por parte del Programa de Tiempo Completo': string;\r\n 'Reciben alimentos por parte del Estado': string;\r\n 'Quienes proporcionan los alimentos. Otros': string;\r\n 'Reciben alimentos por parte del DIF (% de escuelas)': string;\r\n 'Reciben alimentos por parte del Programa de Tiempo Completo (% de escuelas)': string;\r\n 'Reciben alimentos por parte del Estado (% de escuelas)': string;\r\n 'Quienes proporcionan los alimentos. Otros (% de escuelas)': string;\r\n 'La escuela pertenece al programa La Escuela es nuestra': string;\r\n 'La escuela no pertenece al programa La Escuela es nuestra': string;\r\n 'La escuela pertenece al programa La Escuela es nuestra (% de escuelas)': string;\r\n 'La escuela no pertenece al programa La Escuela es nuestra (% de escuelas)': string;\r\n 'Fuente principal de energía eléctrica : Conexión al servicio público': string;\r\n 'Fuente principal de energía eléctrica : Paneles o celdas solares': string;\r\n 'Fuente principal de energía eléctrica : Planta de luz propia': string;\r\n 'Fuente principal de energía eléctrica : Otra': string;\r\n 'Fuente principal de energía eléctrica : No tiene': string;\r\n 'Fuente principal de energía eléctrica : Conexión al servicio público (% de escuelas)': string;\r\n 'Fuente principal de energía eléctrica : Paneles o celdas solares (% de escuelas)': string;\r\n 'Fuente principal de energía eléctrica : Planta de luz propia (% de escuelas)': string;\r\n 'Fuente principal de energía eléctrica : Otra (% de escuelas)': string;\r\n 'Fuente principal de energía eléctrica : No tiene (% de escuelas)': string;\r\n 'Acceso a internet : La escuela cuenta con accesso a internet para uso de de alumnos, docentes y directivos': string;\r\n 'Acceso a internet : La escuela no cuenta con accesso a internet para uso de de alumnos, docentes y directivos': string;\r\n 'Acceso a internet : La escuela cuenta con accesso a internet para uso de de alumnos, docentes y directivos (% de escuelas)': string;\r\n 'Acceso a internet : La escuela no cuenta con accesso a internet para uso de de alumnos, docentes y directivos (% de escuelas)': string;\r\n}\r\n\r\nexport const toAdministrativeDivisionCsvExportContent = (\r\n administrativeDivision: AdministrativeDivision\r\n): AdministrativeDivisionCsvExportContent => ({\r\n ID: administrativeDivision.type === AdministrativeDivisionTypes.COUNTRY ? 'N/A' : administrativeDivision.id,\r\n Nombre: administrativeDivision.type === AdministrativeDivisionTypes.COUNTRY ? 'México' : administrativeDivision.name,\r\n 'Fecha ultimo reporte': administrativeDivision.lastUpdateDate.toHuman(),\r\n 'ID Entidad Federativa':\r\n administrativeDivision.type === AdministrativeDivisionTypes.MUNICIPALITY ? administrativeDivision.stateId : 'N/A',\r\n 'Total de escuelas': toNumericDataSet(administrativeDivision.schools).rawText,\r\n 'Sostenimiento privado (% de escuelas)': toPercentageDataSet(administrativeDivision.support.private).text,\r\n 'Sostenimiento publico (% de escuelas)': toPercentageDataSet(administrativeDivision.support.public).text,\r\n 'Asistencia del alumnado': toPercentageDataSet(administrativeDivision.studentAttendance).text,\r\n 'Inasistencias de niñas': toPercentageDataSet(administrativeDivision.femaleStudentAbsencePercentageOverStudentAbsence).text,\r\n 'Inasistencias de niños': toPercentageDataSet(administrativeDivision.maleStudentAbsencePercentageOverStudentAbsence).text,\r\n 'Asistencia de docentes': toPercentageDataSet(administrativeDivision.teacherAttendance).text,\r\n 'Asistencia del personal': toPercentageDataSet(administrativeDivision.adminAttendance).text,\r\n 'Total de inasistencias de alumnos porque: Los padres de familia no enviaron a sus hijos a la escuela': toNumericDataSet(\r\n administrativeDivision.studentAbsenceMainReasons['1']\r\n ).rawText,\r\n 'Total de inasistencias de alumnos porque: Casos de contagio (COVID 19) confirmados': toNumericDataSet(\r\n administrativeDivision.studentAbsenceMainReasons['3']\r\n ).rawText,\r\n 'Total de inasistencias de alumnos porque: Se desconocen las causas': toNumericDataSet(\r\n administrativeDivision.studentAbsenceMainReasons['4']\r\n ).rawText,\r\n 'Total de inasistencias de alumnos por otras causas': toNumericDataSet(administrativeDivision.studentAbsenceMainReasons['5']).rawText,\r\n 'Porcentaje de inasistencias de alumnos porque: Los padres de familia no enviaron a sus hijos a la escuela': toPercentageDataSet(\r\n administrativeDivision.studentAbsenceMainReasonsPercentages['1']\r\n ).text,\r\n 'Porcentaje de inasistencias de alumnos porque: Casos de contagio (COVID 19) confirmados': toPercentageDataSet(\r\n administrativeDivision.studentAbsenceMainReasonsPercentages['3']\r\n ).text,\r\n 'Porcentaje de inasistencias de alumnos porque: Se desconocen las causas': toPercentageDataSet(\r\n administrativeDivision.studentAbsenceMainReasonsPercentages['4']\r\n ).text,\r\n 'Porcentaje de inasistencias de alumnos por otras causas': toPercentageDataSet(\r\n administrativeDivision.studentAbsenceMainReasonsPercentages['5']\r\n ).text,\r\n 'Total de inasistencias de docentes porque: Casos de contagio (COVID 19) confirmados': toNumericDataSet(\r\n administrativeDivision.teacherAbsenceMainReasons['1']\r\n ).rawText,\r\n 'Total de inasistencias de docentes porque: Se reportaron enfermos (NO COVID 19)': toNumericDataSet(\r\n administrativeDivision.teacherAbsenceMainReasons['2']\r\n ).rawText,\r\n 'Total de inasistencias de docentes porque: Se desconocen las causas': toNumericDataSet(\r\n administrativeDivision.teacherAbsenceMainReasons['3']\r\n ).rawText,\r\n 'Total de inasistencias de docentes por otras causas': toNumericDataSet(administrativeDivision.teacherAbsenceMainReasons['4']).rawText,\r\n 'Porcentaje de inasistencias de docentes porque: Casos de contagio (COVID 19) confirmados': toPercentageDataSet(\r\n administrativeDivision.teacherAbsenceMainReasonsPercentages['1']\r\n ).text,\r\n 'Porcentaje de inasistencias de docentes porque: Se reportaron enfermos (NO COVID 19)': toPercentageDataSet(\r\n administrativeDivision.teacherAbsenceMainReasonsPercentages['2']\r\n ).text,\r\n 'Porcentaje de inasistencias de docentes porque: Se desconocen las causas': toPercentageDataSet(\r\n administrativeDivision.teacherAbsenceMainReasonsPercentages['3']\r\n ).text,\r\n 'Porcentaje de inasistencias de docentes por otras causas': toPercentageDataSet(\r\n administrativeDivision.teacherAbsenceMainReasonsPercentages['4']\r\n ).text,\r\n 'Total de inasistencias de personal administrativo porque: Casos de contagio (COVID 19) confirmados': toNumericDataSet(\r\n administrativeDivision.adminAbsenceMainReasons['1']\r\n ).rawText,\r\n 'Total de inasistencias de personal administrativo porque: Se reportaron enfermos (NO COVID 19)': toNumericDataSet(\r\n administrativeDivision.adminAbsenceMainReasons['2']\r\n ).rawText,\r\n 'Total de inasistencias de personal administrativo porque: Se desconocen las causas': toNumericDataSet(\r\n administrativeDivision.adminAbsenceMainReasons['3']\r\n ).rawText,\r\n 'Total de inasistencias de personal administrativo por otras causas de inasistencia': toNumericDataSet(\r\n administrativeDivision.adminAbsenceMainReasons['4']\r\n ).rawText,\r\n 'Porcentaje de inasistencias de personal administrativo porque: Casos de contagio (COVID 19) confirmados': toPercentageDataSet(\r\n administrativeDivision.adminAbsenceMainReasonsPercentages['1']\r\n ).text,\r\n 'Porcentaje de inasistencias de personal administrativo porque: Se reportaron enfermos (NO COVID 19)': toPercentageDataSet(\r\n administrativeDivision.adminAbsenceMainReasonsPercentages['2']\r\n ).text,\r\n 'Porcentaje de inasistencias de personal administrativo porque: Se desconocen las causas': toPercentageDataSet(\r\n administrativeDivision.adminAbsenceMainReasonsPercentages['3']\r\n ).text,\r\n 'Porcentaje de inasistencias de personal administrativo por otras causas de inasistencia': toPercentageDataSet(\r\n administrativeDivision.adminAbsenceMainReasonsPercentages['4']\r\n ).text,\r\n 'Escuelas que instalaron el comité participativo de salud escolar : Si': toNumericDataSet(administrativeDivision.hygieneCommittee['1'])\r\n .rawText,\r\n 'Escuelas que instalaron el comité participativo de salud escolar : No': toNumericDataSet(administrativeDivision.hygieneCommittee['2'])\r\n .rawText,\r\n 'Escuelas que instalaron el comité participativo de salud escolar : Si (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.hygieneCommitteePercentages['1']\r\n ).text,\r\n 'Escuelas que instalaron el comité participativo de salud escolar : No (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.hygieneCommitteePercentages['2']\r\n ).text,\r\n 'Escuelas que pueden reorganizar los espacios para facilitar la sana distancia : Si': toNumericDataSet(\r\n administrativeDivision.schoolWithAbilityToReorganizeSpace['1']\r\n ).rawText,\r\n 'Escuelas que pueden reorganizar los espacios para facilitar la sana distancia : No': toNumericDataSet(\r\n administrativeDivision.schoolWithAbilityToReorganizeSpace['2']\r\n ).rawText,\r\n 'Escuelas que pueden reorganizar los espacios para facilitar la sana distancia : Si (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWithAbilityToReorganizeSpacePercentages['1']\r\n ).text,\r\n 'Escuelas que pueden reorganizar los espacios para facilitar la sana distancia : No (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWithAbilityToReorganizeSpacePercentages['1']\r\n ).text,\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Visita domiciliaria': toNumericDataSet(\r\n administrativeDivision.takenActions.visits\r\n ).text,\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Llamada telefónica': toNumericDataSet(\r\n administrativeDivision.takenActions.calls\r\n ).text,\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Gestión de becas': toNumericDataSet(\r\n administrativeDivision.takenActions.scholarship\r\n ).text,\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Ninguna': toNumericDataSet(administrativeDivision.takenActions.none).text,\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Visita domiciliaria (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.takenActionsPercentages.visits\r\n ).text,\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Llamada telefónica (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.takenActionsPercentages.calls\r\n ).text,\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Gestión de becas (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.takenActionsPercentages.scholarship\r\n ).text,\r\n 'Acciones para reincorporar a los alumnos con inasistencias : Ninguna (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.takenActionsPercentages.none\r\n ).text,\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : Si, Personal y Alumnos realizan sus actividades en la escuela': toNumericDataSet(\r\n administrativeDivision.schoolGivingClasses['1']\r\n ).rawText,\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, se está realizando la limpieza de espacios para poder iniciar con las clases': toNumericDataSet(\r\n administrativeDivision.schoolGivingClasses['2']\r\n ).rawText,\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, todas las madres y los padres de familia determinarón no enviar a sus hijos a la escuela': toNumericDataSet(\r\n administrativeDivision.schoolGivingClasses['7']\r\n ).rawText,\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, otras razones': toNumericDataSet(\r\n administrativeDivision.schoolGivingClasses['8']\r\n ).rawText,\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : Si, Personal y Alumnos realizan sus actividades en la escuela (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolGivingClassesPercentages['1']\r\n ).text,\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, se está realizando la limpieza de espacios para poder iniciar con las clases (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolGivingClassesPercentages['2']\r\n ).text,\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, todos las madres y los padres de familia determinarón no enviar a sus hijos a la escuela (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolGivingClassesPercentages['7']\r\n ).text,\r\n 'Principales motivos de escuelas sin clases presenciales en regiones con semáforo verde : No, otras razones (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolGivingClassesPercentages['8']\r\n ).text,\r\n 'Tipo de abastecimiento de agua : Red municipal de agua potable': toNumericDataSet(administrativeDivision.schoolWaterSupply['1']).rawText,\r\n 'Tipo de abastecimiento de agua : Abastecimiento a través de pipas': toNumericDataSet(administrativeDivision.schoolWaterSupply['2'])\r\n .rawText,\r\n 'Tipo de abastecimiento de agua : Otra fuente (pozo, río, lago, etc.)': toNumericDataSet(administrativeDivision.schoolWaterSupply['3'])\r\n .rawText,\r\n 'Tipo de abastecimiento de agua : No cuenta con ningún tipo de abastecimiento': toNumericDataSet(\r\n administrativeDivision.schoolWaterSupply['4']\r\n ).rawText,\r\n 'Tipo de abastecimiento de agua : Red municipal de agua potable (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWaterSupplyPercentages['1']\r\n ).text,\r\n 'Tipo de abastecimiento de agua : Abastecimiento a través de pipas (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWaterSupplyPercentages['2']\r\n ).text,\r\n 'Tipo de abastecimiento de agua : Otra fuente (pozo, río, lago, etc.) (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWaterSupplyPercentages['3']\r\n ).text,\r\n 'Tipo de abastecimiento de agua : No cuenta con ningún tipo de abastecimiento (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWaterSupplyPercentages['4']\r\n ).text,\r\n 'Continuidad del servicio de agua : Todos los días': toNumericDataSet(administrativeDivision.schoolWaterServiceContinuity['1']).rawText,\r\n 'Continuidad del servicio de agua : De 2 a 4 días a la semana': toNumericDataSet(\r\n administrativeDivision.schoolWaterServiceContinuity['2']\r\n ).rawText,\r\n 'Continuidad del servicio de agua : Una sola vez por semana': toNumericDataSet(administrativeDivision.schoolWaterServiceContinuity['3'])\r\n .rawText,\r\n 'Continuidad del servicio de agua : No cuenta con servicio de agua': toNumericDataSet(\r\n administrativeDivision.schoolWaterServiceContinuity['4']\r\n ).rawText,\r\n 'Continuidad del servicio de agua : Todos los días (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWaterServiceContinuityPercentages['1']\r\n ).text,\r\n 'Continuidad del servicio de agua : De 2 a 4 días a la semana (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWaterServiceContinuityPercentages['2']\r\n ).text,\r\n 'Continuidad del servicio de agua : Una sola vez por semana (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWaterServiceContinuityPercentages['3']\r\n ).text,\r\n 'Continuidad del servicio de agua : No cuenta con servicio de agua (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWaterServiceContinuityPercentages['4']\r\n ).text,\r\n 'Agua para el lavado de manos : Si': toNumericDataSet(administrativeDivision.schoolWithWaterForHandWashing['1']).rawText,\r\n 'Agua para el lavado de manos : No': toNumericDataSet(administrativeDivision.schoolWithWaterForHandWashing['2']).rawText,\r\n 'Agua para el lavado de manos : Si (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWithWaterForHandWashingPercentages['1']\r\n ).text,\r\n 'Agua para el lavado de manos : No (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWithWaterForHandWashingPercentages['2']\r\n ).text,\r\n 'Número de lavamanos funcionales': toNumericDataSet(administrativeDivision.schoolFunctionalSinkCount).rawText,\r\n 'Existencia de Jabón para lavado de manos : Suficiente': toNumericDataSet(administrativeDivision.schoolSoapSufficiency['1']).rawText,\r\n 'Existencia de Jabón para lavado de manos : Insuficiente': toNumericDataSet(administrativeDivision.schoolSoapSufficiency['2']).rawText,\r\n 'Existencia de Jabón para lavado de manos : No cuenta': toNumericDataSet(administrativeDivision.schoolSoapSufficiency['3']).rawText,\r\n 'Existencia de Jabón para lavado de manos : Suficiente (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolSoapSufficiencyPercentages['1']\r\n ).text,\r\n 'Existencia de Jabón para lavado de manos : Insuficiente (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolSoapSufficiencyPercentages['2']\r\n ).text,\r\n 'Existencia de Jabón para lavado de manos : No cuenta (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolSoapSufficiencyPercentages['3']\r\n ).text,\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : Suficiente': toNumericDataSet(\r\n administrativeDivision.schoolTowelSufficiency['1']\r\n ).rawText,\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : Insuficiente': toNumericDataSet(\r\n administrativeDivision.schoolTowelSufficiency['2']\r\n ).rawText,\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : No cuenta': toNumericDataSet(\r\n administrativeDivision.schoolTowelSufficiency['3']\r\n ).rawText,\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : Suficiente (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolTowelSufficiencyPercentages['1']\r\n ).text,\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : Insuficiente (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolTowelSufficiencyPercentages['2']\r\n ).text,\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos : No cuenta (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolTowelSufficiencyPercentages['3']\r\n ).text,\r\n 'Sanitizante de alcohol : Suficiente': toNumericDataSet(administrativeDivision.schoolSanitizerSufficiency['1']).rawText,\r\n 'Sanitizante de alcohol : Insuficiente': toNumericDataSet(administrativeDivision.schoolSanitizerSufficiency['2']).rawText,\r\n 'Sanitizante de alcohol : No cuenta': toNumericDataSet(administrativeDivision.schoolSanitizerSufficiency['3']).rawText,\r\n 'Sanitizante de alcohol : Suficiente (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolSanitizerSufficiencyPercentages['1']\r\n ).text,\r\n 'Sanitizante de alcohol : Insuficiente (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolSanitizerSufficiencyPercentages['2']\r\n ).text,\r\n 'Sanitizante de alcohol : No cuenta (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolSanitizerSufficiencyPercentages['3']\r\n ).text,\r\n 'Botes de basura para el manejo de residuos : Cuenta con botes de basura para el manejo de los residuos': toNumericDataSet(\r\n administrativeDivision.schoolBinSufficiency['1']\r\n ).rawText,\r\n 'Botes de basura para el manejo de residuos : No cuenta con botes de basura para el manejo de los residuos': toNumericDataSet(\r\n administrativeDivision.schoolBinSufficiency['2']\r\n ).rawText,\r\n 'Botes de basura para el manejo de residuos : Cuenta con botes de basura para el manejo de los residuos (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolBinSufficiencyPercentages['1']\r\n ).text,\r\n 'Botes de basura para el manejo de residuos : No cuenta con botes de basura para el manejo de los residuos (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolBinSufficiencyPercentages['2']\r\n ).text,\r\n 'Red de drenaje, fosa séptica para desalojo de aguas : Si': toNumericDataSet(administrativeDivision.schoolWithSepticSystem['1']).rawText,\r\n 'Red de drenaje, fosa séptica para desalojo de aguas : No': toNumericDataSet(administrativeDivision.schoolWithSepticSystem['2']).rawText,\r\n 'Red de drenaje, fosa séptica para desalojo de aguas : Si (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWithSepticSystemPercentages['1']\r\n ).text,\r\n 'Red de drenaje, fosa séptica para desalojo de aguas : No (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.schoolWithSepticSystemPercentages['2']\r\n ).text,\r\n 'Bebederos funcionales': toNumericDataSet(administrativeDivision.drinkers).rawText,\r\n 'Baños funcionales, Alumnas': toNumericDataSet(administrativeDivision.femaleStudentToilets).rawText,\r\n 'Baños funcionales, Alumnos': toNumericDataSet(administrativeDivision.maleStudentToilets).rawText,\r\n 'Reciben algún apoyo de alimentación': toNumericDataSet(administrativeDivision.foodSupport[1]).rawText,\r\n 'No recibe apoyo de alimentación': toNumericDataSet(administrativeDivision.foodSupport[2]).rawText,\r\n 'Reciben algún apoyo de alimentación (% de escuelas)': toPercentageDataSet(administrativeDivision.foodSupportPercentages[1]).text,\r\n 'No recibe apoyo de alimentación (% de escuelas)': toPercentageDataSet(administrativeDivision.foodSupportPercentages[2]).text,\r\n 'Reciben alimentos por parte del DIF': toNumericDataSet(administrativeDivision.foodSupportType.dif).rawText,\r\n 'Reciben alimentos por parte del Programa de Tiempo Completo': toNumericDataSet(administrativeDivision.foodSupportType.fullTimeProgram)\r\n .rawText,\r\n 'Reciben alimentos por parte del Estado': toNumericDataSet(administrativeDivision.foodSupportType.state).rawText,\r\n 'Quienes proporcionan los alimentos. Otros': toNumericDataSet(administrativeDivision.foodSupportType.others).rawText,\r\n 'Reciben alimentos por parte del DIF (% de escuelas)': toPercentageDataSet(administrativeDivision.foodSupportTypePercentages.dif).text,\r\n 'Reciben alimentos por parte del Programa de Tiempo Completo (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.foodSupportTypePercentages.fullTimeProgram\r\n ).text,\r\n 'Reciben alimentos por parte del Estado (% de escuelas)': toPercentageDataSet(administrativeDivision.foodSupportTypePercentages.state)\r\n .text,\r\n 'Quienes proporcionan los alimentos. Otros (% de escuelas)': toPercentageDataSet(administrativeDivision.foodSupportTypePercentages.others)\r\n .text,\r\n 'La escuela pertenece al programa La Escuela es nuestra': toNumericDataSet(administrativeDivision.theSchoolIsOurs['1']).rawText,\r\n 'La escuela no pertenece al programa La Escuela es nuestra': toNumericDataSet(administrativeDivision.theSchoolIsOurs['2']).rawText,\r\n 'La escuela pertenece al programa La Escuela es nuestra (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.theSchoolIsOursPercentages['1']\r\n ).text,\r\n 'La escuela no pertenece al programa La Escuela es nuestra (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.theSchoolIsOursPercentages['2']\r\n ).text,\r\n 'Total del alumnado': toNumericDataSet(administrativeDivision.students).rawText,\r\n 'Total del alumnas': toNumericDataSet(administrativeDivision.femaleStudents).rawText,\r\n 'Total del alumnos': toNumericDataSet(administrativeDivision.maleStudents).rawText,\r\n 'Alumnas (% del alumnado)': toPercentageDataSet(administrativeDivision.femaleStudentPercentage).text,\r\n 'Alumnos (% del alumnado)': toPercentageDataSet(administrativeDivision.maleStudentPercentage).text,\r\n 'Total de Docentes frente a grupo': toNumericDataSet(administrativeDivision.teachers).rawText,\r\n 'Total de grupos': toNumericDataSet(administrativeDivision.assistants).rawText,\r\n 'Total de directores': toNumericDataSet(administrativeDivision.directors).rawText,\r\n 'Total de Subdirectores': toNumericDataSet(administrativeDivision.subDirectors).rawText,\r\n 'Total de maestros de Segunda lengua': toNumericDataSet(administrativeDivision.technicalPedagogicalAdvisers).rawText,\r\n 'Total de docentes de Educación Física': toNumericDataSet(administrativeDivision.physicalEducationTeachers).rawText,\r\n 'Total de personal Administrativo': toNumericDataSet(administrativeDivision.admins).rawText,\r\n 'Total de personal de intendencia': toNumericDataSet(administrativeDivision.quartermasters).rawText,\r\n 'Total de otro tipo de personal': toNumericDataSet(administrativeDivision.others).rawText,\r\n 'Fuente principal de energía eléctrica : Conexión al servicio público': toNumericDataSet(administrativeDivision.electricitySources['1'])\r\n .rawText,\r\n 'Fuente principal de energía eléctrica : Paneles o celdas solares': toNumericDataSet(administrativeDivision.electricitySources['2'])\r\n .rawText,\r\n 'Fuente principal de energía eléctrica : Planta de luz propia': toNumericDataSet(administrativeDivision.electricitySources['3']).rawText,\r\n 'Fuente principal de energía eléctrica : Otra': toNumericDataSet(administrativeDivision.electricitySources['4']).rawText,\r\n 'Fuente principal de energía eléctrica : No tiene': toNumericDataSet(administrativeDivision.electricitySources['5']).rawText,\r\n 'Fuente principal de energía eléctrica : Conexión al servicio público (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.electricitySourcesPercentages['1']\r\n ).text,\r\n 'Fuente principal de energía eléctrica : Paneles o celdas solares (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.electricitySourcesPercentages['2']\r\n ).text,\r\n 'Fuente principal de energía eléctrica : Planta de luz propia (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.electricitySourcesPercentages['3']\r\n ).text,\r\n 'Fuente principal de energía eléctrica : Otra (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.electricitySourcesPercentages['4']\r\n ).text,\r\n 'Fuente principal de energía eléctrica : No tiene (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.electricitySourcesPercentages['5']\r\n ).text,\r\n 'Acceso a internet : La escuela cuenta con accesso a internet para uso de de alumnos, docentes y directivos': toNumericDataSet(\r\n administrativeDivision.internetAccess['1']\r\n ).rawText,\r\n 'Acceso a internet : La escuela no cuenta con accesso a internet para uso de de alumnos, docentes y directivos': toNumericDataSet(\r\n administrativeDivision.internetAccess['2']\r\n ).rawText,\r\n 'Acceso a internet : La escuela cuenta con accesso a internet para uso de de alumnos, docentes y directivos (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.internetAccessPercentages['1']\r\n ).text,\r\n 'Acceso a internet : La escuela no cuenta con accesso a internet para uso de de alumnos, docentes y directivos (% de escuelas)': toPercentageDataSet(\r\n administrativeDivision.internetAccessPercentages['2']\r\n ).text,\r\n});\r\n","import { School } from '@/domain/school/School';\r\nimport { toNumericDataSet } from '@/primary/common/NumericDataSet';\r\nimport { toPercentageDataSet } from '@/primary/common/PercentageDataSet';\r\n\r\nexport interface SchoolCsvExportContent {\r\n ID: string;\r\n Nombre: string;\r\n 'ID Localidad': string;\r\n Localidad: string;\r\n 'ID Municipio': string;\r\n Municipio: string;\r\n 'ID Entidad Federativa': string;\r\n 'Fecha ultimo reporte': string;\r\n Nivel: string;\r\n 'Clave del Centro de Trabajo': string;\r\n 'Clave del turno': string;\r\n 'Modalidad de atención': string;\r\n 'Domicilio de la escuela': string;\r\n 'Clave del inmueble': string;\r\n 'Tipo de Sostenimiento': string;\r\n 'Asistencia del alumnado': string;\r\n 'Inasistencias de niñas': string;\r\n 'Inasistencias de niños': string;\r\n 'Asistencia de docentes': string;\r\n 'Asistencia del personal': string;\r\n 'En la escuela se reiniciaron las clases presenciales': string;\r\n 'Total del alumnado': string;\r\n 'Total del alumnas': string;\r\n 'Total del alumnos': string;\r\n 'Alumnas (% del alumnado)': string;\r\n 'Alumnos (% del alumnado)': string;\r\n 'Total de Docentes frente a grupo': string;\r\n 'Total de grupos': string;\r\n 'Total de directores': string;\r\n 'Total de Subdirectores': string;\r\n 'Total de maestros de Segunda lengua': string;\r\n 'Total de docentes de Educación Física': string;\r\n 'Total de personal Administrativo': string;\r\n 'Total de personal de intendencia': string;\r\n 'Total de otro tipo de personal': string;\r\n 'Tipo de abastecimiento de agua': string;\r\n 'Continuidad del servicio de agua': string;\r\n 'Agua para el lavado de manos': string;\r\n 'Número de lavamanos funcionales': string;\r\n 'Existencia de Jabón para lavado de manos': string;\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos': string;\r\n 'Sanitizante de alcohol': string;\r\n 'Botes de basura para el manejo de residuos': string;\r\n 'Red de drenaje, fosa séptica para desalojo de aguas': string;\r\n 'La escuela puede reorganizar los espacios educativos': string;\r\n 'Se tiene instalado el comité participativo de salud escolar': string;\r\n 'Total de inasistencias de alumnos porque: Los padres de familia no enviaron a sus hijos a la escuela': string;\r\n 'Total de inasistencias de alumnos porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Total de inasistencias de alumnos porque: Se desconocen las causas': string;\r\n 'Total de inasistencias de alumnos por otras causas': string;\r\n 'Porcentaje de inasistencias de alumnos porque: Los padres de familia no enviaron a sus hijos a la escuela': string;\r\n 'Porcentaje de inasistencias de alumnos porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Porcentaje de inasistencias de alumnos porque: Se desconocen las causas': string;\r\n 'Porcentaje de inasistencias de alumnos por otras causas': string;\r\n 'Total de inasistencias de docentes porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Total de inasistencias de docentes porque: Se reportaron enfermos (NO COVID 19)': string;\r\n 'Total de inasistencias de docentes porque: Se desconocen las causas': string;\r\n 'Total de inasistencias de docentes por otras causas': string;\r\n 'Porcentaje de inasistencias de docentes porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Porcentaje de inasistencias de docentes porque: Se reportaron enfermos (NO COVID 19)': string;\r\n 'Porcentaje de inasistencias de docentes porque: Se desconocen las causas': string;\r\n 'Porcentaje de inasistencias de docentes por otras causas': string;\r\n 'Total de inasistencias de personal administrativo porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Total de inasistencias de personal administrativo porque: Se reportaron enfermos (NO COVID 19)': string;\r\n 'Total de inasistencias de personal administrativo porque: Se desconocen las causas': string;\r\n 'Total de inasistencias de personal administrativo por otras causas de inasistencia': string;\r\n 'Porcentaje de inasistencias de personal administrativo porque: Casos de contagio (COVID 19) confirmados': string;\r\n 'Porcentaje de inasistencias de personal administrativo porque: Se reportaron enfermos (NO COVID 19)': string;\r\n 'Porcentaje de inasistencias de personal administrativo porque: Se desconocen las causas': string;\r\n 'Porcentaje de inasistencias de personal administrativo por otras causas de inasistencia': string;\r\n Comentarios: string;\r\n 'Acciones para reincorporar a los alumnos con inasistencias': string;\r\n 'Número de bebederos funcionales': string;\r\n 'Número de baños funcionales para alumnas': string;\r\n 'Número de baños funcionales para alumnos': string;\r\n 'Reciben el apoyo de alimentación en la escuela': string;\r\n 'Quienes proporcionan los alimentos': string;\r\n 'Sí otros quién da el apoyo de alimentación': string;\r\n 'La escuela pertenece al programa La Escuela es nuestra': string;\r\n 'Fuente principal de energía eléctrica': string;\r\n 'Acceso a internet': string;\r\n}\r\n\r\nconst turnTexts: { [key: string]: string } = {\r\n '1': 'matutino',\r\n '2': 'vespertino',\r\n '3': 'nocturno',\r\n '4': 'discontinuo',\r\n '5': 'continuo (tiempo completo)',\r\n '6': 'complementario',\r\n '7': 'continuo (jornada ampliada)',\r\n};\r\n\r\nconst waterSupplyTexts: string[] = [\r\n '-',\r\n 'Red municipal de agua potable',\r\n 'Abastecimiento a través de pipas',\r\n 'Otra fuente (pozo, río, lago, etc.)',\r\n 'No cuenta con ningún tipo de abastecimiento',\r\n];\r\n\r\nconst waterServiceContinuityTexts: string[] = [\r\n '-',\r\n 'Todos los días',\r\n 'De 2 a 4 días a la semana',\r\n 'Una sola vez por semana',\r\n 'No cuenta con servicio de agua',\r\n];\r\n\r\nconst waterForHandWashingTexts: { shortText: string; longText: string }[] = [\r\n { shortText: '-', longText: '-' },\r\n { shortText: 'Si', longText: 'Cuenta con agua para el lavado de manos' },\r\n { shortText: 'No', longText: 'No cuenta con agua para lavado de manos' },\r\n];\r\n\r\nconst soapSufficiencyTexts: { shortText: string; longText: string }[] = [\r\n { shortText: '-', longText: '-' },\r\n { shortText: 'Suficiente', longText: 'Cuenta con suficiente jabón' },\r\n { shortText: 'Insuficiente', longText: 'No cuenta con suficiente jabón' },\r\n { shortText: 'No', longText: 'No cuenta' },\r\n];\r\n\r\nconst towelSufficiencyTexts: string[] = ['-', 'Cuenta con suficientes toallas', 'No cuenta con suficientes toallas', 'No cuenta'];\r\n\r\nconst sanitizerSufficiencyTexts: string[] = [\r\n '-',\r\n 'Cuenta con suficiente alcohol en gel',\r\n 'No cuenta con suficiente alcohol en gel',\r\n 'No cuenta',\r\n];\r\n\r\nconst binSufficiencyTexts: string[] = [\r\n '-',\r\n 'Cuenta con botes de basura para el manejo de los residuos',\r\n 'No cuenta con botes de basura para el manejo de los residuos',\r\n];\r\n\r\nconst hasSepticSystemTexts: string[] = [\r\n '-',\r\n 'Cuenta con Red de drenaje, fosa séptica para desalojo de aguas',\r\n 'No cuenta con Red de drenaje, fosa séptica para desalojo de aguas',\r\n];\r\n\r\nconst hasAbilityToReorganizeSpaceTexts: string[] = ['-', 'Si', 'No'];\r\nconst hasHygieneCommitteeTexts: string[] = ['-', 'Si', 'No'];\r\n\r\nconst givesClassesText: { shortText: string; longText: string }[] = [\r\n { shortText: '-', longText: '-' },\r\n { shortText: 'Si', longText: 'Si, Personal y Alumnos realizan sus actividades en la escuela' },\r\n { shortText: 'No', longText: 'No, Se está realizando la limpieza de espacios para poder iniciar con las clases' },\r\n { shortText: 'No', longText: 'No, Existe la confirmación de al menos un caso de COVID-19 en la escuela' },\r\n { shortText: 'No', longText: 'No, La Autoridad Educativa Local determinó continuar con la suspensión de clases' },\r\n { shortText: 'No', longText: 'No, La comunidad escolar determinó continuar con la suspensión de clases' },\r\n { shortText: 'No', longText: 'No, El personal de la escuela decidió continuar con la suspensión de clases' },\r\n { shortText: 'No', longText: 'No, Todos las madres y los padres de familia determinarón no enviar a sus hijos a la escuela' },\r\n { shortText: 'No', longText: 'No, Otras razones' },\r\n];\r\n\r\nconst electricitySourceTexts: string[] = [\r\n '-',\r\n 'Conexión al servicio público',\r\n 'Paneles o celdas solares',\r\n 'Planta de luz propia',\r\n 'Otra',\r\n 'No tiene',\r\n];\r\n\r\nconst internetAccessTexts: string[] = [\r\n '-',\r\n 'La escuela cuenta con accesso a internet para uso de de alumnos, docentes y directivos',\r\n 'La escuela no cuenta con accesso a internet para uso de de alumnos, docentes y directivos',\r\n];\r\n\r\nconst toTakenActions = (takenActions: { [key: string]: boolean }): string => {\r\n const actions = [];\r\n\r\n if (takenActions.visits) {\r\n actions.push('Visita domiciliaria');\r\n }\r\n\r\n if (takenActions.calls) {\r\n actions.push('Llamada telefónica');\r\n }\r\n\r\n if (takenActions.scholarship) {\r\n actions.push('Gestión de becas');\r\n }\r\n\r\n if (takenActions.none) {\r\n actions.push('Ninguna');\r\n }\r\n\r\n return actions.join(', ');\r\n};\r\n\r\nconst toFoodSupportTypes = (foodSupportType: { [key: string]: boolean }): string => {\r\n const types = [];\r\n\r\n if (foodSupportType.dif) {\r\n types.push('Reciben alimentos por parte del DIF');\r\n }\r\n\r\n if (foodSupportType.fullTimeProgram) {\r\n types.push('Reciben alimentos por parte del Programa de Tiempo Completo');\r\n }\r\n\r\n if (foodSupportType.state) {\r\n types.push('Reciben alimentos por parte del Estado');\r\n }\r\n\r\n if (foodSupportType.others) {\r\n types.push('Quienes proporcionan los alimentos. Otros');\r\n }\r\n\r\n return types.join(' - ');\r\n};\r\n\r\nexport const toSchoolCsvExportContent = (school: School): SchoolCsvExportContent => ({\r\n ID: school.id,\r\n Nombre: school.name,\r\n 'ID Localidad': school.localityId,\r\n Localidad: school.locality,\r\n 'ID Municipio': school.municipalityId,\r\n Municipio: school.municipality,\r\n 'ID Entidad Federativa': school.stateId,\r\n 'Fecha ultimo reporte': school.lastUpdateDate.toHuman(),\r\n Nivel: school.level,\r\n 'Clave del Centro de Trabajo': school.workCenterKey,\r\n 'Clave del turno': turnTexts[school.turn],\r\n 'Modalidad de atención': school.modality,\r\n 'Domicilio de la escuela': school.address,\r\n 'Clave del inmueble': school.buildingId,\r\n 'Tipo de Sostenimiento': school.support,\r\n 'En la escuela se reiniciaron las clases presenciales': givesClassesText[school.givesClasses].longText,\r\n Comentarios: school.comments,\r\n 'Asistencia del alumnado': toPercentageDataSet(school.studentAttendance).text,\r\n 'Inasistencias de niñas': toPercentageDataSet(school.femaleStudentAbsencePercentageOverStudentAbsence).text,\r\n 'Inasistencias de niños': toPercentageDataSet(school.maleStudentAbsencePercentageOverStudentAbsence).text,\r\n 'Asistencia de docentes': toPercentageDataSet(school.teacherAttendance).text,\r\n 'Asistencia del personal': toPercentageDataSet(school.adminAttendance).text,\r\n 'Total de inasistencias de alumnos porque: Los padres de familia no enviaron a sus hijos a la escuela': toNumericDataSet(\r\n school.studentAbsenceMainReasons['1']\r\n ).rawText,\r\n 'Total de inasistencias de alumnos porque: Casos de contagio (COVID 19) confirmados': toNumericDataSet(\r\n school.studentAbsenceMainReasons['3']\r\n ).rawText,\r\n 'Total de inasistencias de alumnos porque: Se desconocen las causas': toNumericDataSet(school.studentAbsenceMainReasons['4']).rawText,\r\n 'Total de inasistencias de alumnos por otras causas': toNumericDataSet(school.studentAbsenceMainReasons['5']).rawText,\r\n 'Porcentaje de inasistencias de alumnos porque: Los padres de familia no enviaron a sus hijos a la escuela': toPercentageDataSet(\r\n school.studentAbsenceMainReasonsPercentages['1']\r\n ).text,\r\n 'Porcentaje de inasistencias de alumnos porque: Casos de contagio (COVID 19) confirmados': toPercentageDataSet(\r\n school.studentAbsenceMainReasonsPercentages['3']\r\n ).text,\r\n 'Porcentaje de inasistencias de alumnos porque: Se desconocen las causas': toPercentageDataSet(\r\n school.studentAbsenceMainReasonsPercentages['4']\r\n ).text,\r\n 'Porcentaje de inasistencias de alumnos por otras causas': toPercentageDataSet(school.studentAbsenceMainReasonsPercentages['5']).text,\r\n 'Total de inasistencias de docentes porque: Casos de contagio (COVID 19) confirmados': toNumericDataSet(\r\n school.teacherAbsenceMainReasons['1']\r\n ).rawText,\r\n 'Total de inasistencias de docentes porque: Se reportaron enfermos (NO COVID 19)': toNumericDataSet(school.teacherAbsenceMainReasons['2'])\r\n .rawText,\r\n 'Total de inasistencias de docentes porque: Se desconocen las causas': toNumericDataSet(school.teacherAbsenceMainReasons['3']).rawText,\r\n 'Total de inasistencias de docentes por otras causas': toNumericDataSet(school.teacherAbsenceMainReasons['4']).rawText,\r\n 'Porcentaje de inasistencias de docentes porque: Casos de contagio (COVID 19) confirmados': toPercentageDataSet(\r\n school.teacherAbsenceMainReasonsPercentages['1']\r\n ).text,\r\n 'Porcentaje de inasistencias de docentes porque: Se reportaron enfermos (NO COVID 19)': toPercentageDataSet(\r\n school.teacherAbsenceMainReasonsPercentages['2']\r\n ).text,\r\n 'Porcentaje de inasistencias de docentes porque: Se desconocen las causas': toPercentageDataSet(\r\n school.teacherAbsenceMainReasonsPercentages['3']\r\n ).text,\r\n 'Porcentaje de inasistencias de docentes por otras causas': toPercentageDataSet(school.teacherAbsenceMainReasonsPercentages['4']).text,\r\n 'Total de inasistencias de personal administrativo porque: Casos de contagio (COVID 19) confirmados': toNumericDataSet(\r\n school.adminAbsenceMainReasons['1']\r\n ).rawText,\r\n 'Total de inasistencias de personal administrativo porque: Se reportaron enfermos (NO COVID 19)': toNumericDataSet(\r\n school.adminAbsenceMainReasons['2']\r\n ).rawText,\r\n 'Total de inasistencias de personal administrativo porque: Se desconocen las causas': toNumericDataSet(\r\n school.adminAbsenceMainReasons['3']\r\n ).rawText,\r\n 'Total de inasistencias de personal administrativo por otras causas de inasistencia': toNumericDataSet(\r\n school.adminAbsenceMainReasons['4']\r\n ).rawText,\r\n 'Porcentaje de inasistencias de personal administrativo porque: Casos de contagio (COVID 19) confirmados': toPercentageDataSet(\r\n school.adminAbsenceMainReasonsPercentages['1']\r\n ).text,\r\n 'Porcentaje de inasistencias de personal administrativo porque: Se reportaron enfermos (NO COVID 19)': toPercentageDataSet(\r\n school.adminAbsenceMainReasonsPercentages['2']\r\n ).text,\r\n 'Porcentaje de inasistencias de personal administrativo porque: Se desconocen las causas': toPercentageDataSet(\r\n school.adminAbsenceMainReasonsPercentages['3']\r\n ).text,\r\n 'Porcentaje de inasistencias de personal administrativo por otras causas de inasistencia': toPercentageDataSet(\r\n school.adminAbsenceMainReasonsPercentages['4']\r\n ).text,\r\n 'Se tiene instalado el comité participativo de salud escolar': hasHygieneCommitteeTexts[school.hasHygieneCommittee],\r\n 'La escuela puede reorganizar los espacios educativos': hasAbilityToReorganizeSpaceTexts[school.hasAbilityToReorganizeSpace],\r\n 'Acciones para reincorporar a los alumnos con inasistencias': toTakenActions(school.takenActions),\r\n 'Tipo de abastecimiento de agua': waterSupplyTexts[school.waterSupply],\r\n 'Continuidad del servicio de agua': waterServiceContinuityTexts[school.waterServiceContinuity],\r\n 'Agua para el lavado de manos': waterForHandWashingTexts[school.waterForHandWashing].longText,\r\n 'Número de lavamanos funcionales': toNumericDataSet(school.functionalSinkCount).rawText,\r\n 'Existencia de Jabón para lavado de manos': soapSufficiencyTexts[school.soapSufficiency].longText,\r\n 'Existencia de toallas de papel en la escuela, tela u otro material para el lavado de manos':\r\n towelSufficiencyTexts[school.towelSufficiency],\r\n 'Sanitizante de alcohol': sanitizerSufficiencyTexts[school.sanitizerSufficiency],\r\n 'Botes de basura para el manejo de residuos': binSufficiencyTexts[school.binSufficiency],\r\n 'Red de drenaje, fosa séptica para desalojo de aguas': hasSepticSystemTexts[school.hasSepticSystem],\r\n 'Número de bebederos funcionales': toNumericDataSet(school.drinkers).rawText,\r\n 'Número de baños funcionales para alumnas': toNumericDataSet(school.femaleStudentToilets).rawText,\r\n 'Número de baños funcionales para alumnos': toNumericDataSet(school.maleStudentToilets).rawText,\r\n 'Reciben el apoyo de alimentación en la escuela': school.foodSupport\r\n ? 'Sí, reciben algún apoyo de alimentación'\r\n : 'No, recibe apoyo de alimentación',\r\n 'Quienes proporcionan los alimentos': toFoodSupportTypes(school.foodSupportType),\r\n 'Sí otros quién da el apoyo de alimentación': school.foodSupportComment,\r\n 'La escuela pertenece al programa La Escuela es nuestra':\r\n school.theSchoolIsOurs === 1 ? 'Si pertenece' : school.theSchoolIsOurs === 2 ? 'No pertenece' : '-',\r\n 'Total del alumnado': toNumericDataSet(school.students).rawText,\r\n 'Total del alumnas': toNumericDataSet(school.femaleStudent).rawText,\r\n 'Total del alumnos': toNumericDataSet(school.maleStudent).rawText,\r\n 'Total de grupos': toNumericDataSet(school.assistants).rawText,\r\n 'Alumnas (% del alumnado)': toPercentageDataSet(school.femaleStudentPercentage).text,\r\n 'Alumnos (% del alumnado)': toPercentageDataSet(school.maleStudentPercentage).text,\r\n 'Total de Docentes frente a grupo': toNumericDataSet(school.teachers).rawText,\r\n 'Total de directores': toNumericDataSet(school.directors).rawText,\r\n 'Total de Subdirectores': toNumericDataSet(school.subDirectors).rawText,\r\n 'Total de maestros de Segunda lengua': toNumericDataSet(school.technicalPedagogicalAdvisers).rawText,\r\n 'Total de docentes de Educación Física': toNumericDataSet(school.physicalEducationTeachers).rawText,\r\n 'Total de personal Administrativo': toNumericDataSet(school.admins).rawText,\r\n 'Total de personal de intendencia': toNumericDataSet(school.quartermasters).rawText,\r\n 'Total de otro tipo de personal': toNumericDataSet(school.others).rawText,\r\n 'Fuente principal de energía eléctrica': electricitySourceTexts[school.electricitySource],\r\n 'Acceso a internet': internetAccessTexts[school.internetAccess],\r\n});\r\n","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { School } from '@/domain/school/School';\r\nimport { CsvParser } from '@/primary/CsvParser';\r\nimport { toAdministrativeDivisionCsvExportContent } from '@/primary/export-dropdown/AdministrativeDivisionCsvExportContent';\r\nimport { toSchoolCsvExportContent } from '@/primary/export-dropdown/SchoolCsvExportContent';\r\nimport { FileDownloader } from '@/primary/FileDownloader';\r\n\r\n@Component\r\nexport default class DownloadDropdown extends Vue {\r\n @Prop()\r\n administrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n school!: School;\r\n\r\n @Prop()\r\n administrativeDivisionLevel!: boolean;\r\n\r\n @Inject()\r\n csvParser!: () => CsvParser;\r\n\r\n @Inject()\r\n fileDownloader!: () => FileDownloader;\r\n\r\n downloadCsv() {\r\n const content = this.administrativeDivisionLevel\r\n ? toAdministrativeDivisionCsvExportContent(this.administrativeDivision)\r\n : toSchoolCsvExportContent(this.school);\r\n const contentString = this.csvParser().toCsvString(content);\r\n const filename = this.administrativeDivisionLevel ? `${this.administrativeDivision.name || 'México'}.csv` : `${this.school.name}.csv`;\r\n this.fileDownloader().download(filename, contentString, 'text/csv');\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-dropdown',{attrs:{\"aria-role\":\"list\",\"position\":\"is-bottom-left\"}},[_c('a',{attrs:{\"slot\":\"trigger\",\"href\":\"#\",\"role\":\"button\"},on:{\"click\":function($event){$event.preventDefault();}},slot:\"trigger\"},[_c('span',{staticClass:\"icon has-text-primary\"},[_c('i',{staticClass:\"mdi mdi-24px mdi-download\"})])]),_c('b-dropdown-item',{attrs:{\"aria-role\":\"listitem\"},on:{\"click\":function($event){return _vm.$emit('print')}}},[_vm._v(\"Descargar en PDF\")]),_c('b-dropdown-item',{attrs:{\"aria-role\":\"listitem\"},on:{\"click\":_vm.downloadCsv}},[_vm._v(\"Descargar en CSV\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Inject, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { School } from '@/domain/school/School';\r\nimport { CsvParser } from '@/primary/CsvParser';\r\nimport { toAdministrativeDivisionCsvExportContent } from '@/primary/export-dropdown/AdministrativeDivisionCsvExportContent';\r\nimport { toSchoolCsvExportContent } from '@/primary/export-dropdown/SchoolCsvExportContent';\r\nimport { FileDownloader } from '@/primary/FileDownloader';\r\n\r\n@Component\r\nexport default class DownloadDropdown extends Vue {\r\n @Prop()\r\n administrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n school!: School;\r\n\r\n @Prop()\r\n administrativeDivisionLevel!: boolean;\r\n\r\n @Inject()\r\n csvParser!: () => CsvParser;\r\n\r\n @Inject()\r\n fileDownloader!: () => FileDownloader;\r\n\r\n downloadCsv() {\r\n const content = this.administrativeDivisionLevel\r\n ? toAdministrativeDivisionCsvExportContent(this.administrativeDivision)\r\n : toSchoolCsvExportContent(this.school);\r\n const contentString = this.csvParser().toCsvString(content);\r\n const filename = this.administrativeDivisionLevel ? `${this.administrativeDivision.name || 'México'}.csv` : `${this.school.name}.csv`;\r\n this.fileDownloader().download(filename, contentString, 'text/csv');\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./ExportDropdown.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./ExportDropdown.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExportDropdown.vue?vue&type=template&id=3f4c56c4&\"\nimport script from \"./ExportDropdown.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./ExportDropdown.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class InfoModal extends Vue {\r\n active = false;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"is-inline\"},[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();_vm.active = true}}},[_vm._m(0)]),_c('b-modal',{attrs:{\"active\":_vm.active},on:{\"close\":function($event){_vm.active = false}}},[_c('article',{staticClass:\"message px-2 has-no-background\"},[_c('div',{staticClass:\"message-header has-background-secondary\"},[_c('p',[_vm._v(\"Información\")])]),_c('div',{staticClass:\"message-body has-text-justified has-background-white content\"},[_c('p',[_vm._v(\" La educación es un derecho humano fundamental, que se debe garantizar en todo momento. Además, en situaciones de emergencia, la educación puede ser tanto para salvar vidas como para sustentarlas, brindando protección física y psicosocial. Los espacios seguros para el aprendizaje y apoyo para niñas, niños y adolescentes mitigan las repercusiones psicosociales de los conflictos y los desastres al ofrecer un sentimiento de normalidad, estabilidad, estructura y esperanza para el futuro. \")]),_c('p',[_vm._v(\" Para tomar decisiones informadas en el sector educativo que permitan organizar la respuesta a la emergencia, preparar la fase de recuperación y reducir futuros riesgos, es crucial contar con evidencia actualizada desde las comunidades educativas a través de un sistema de información. \")]),_c('p',[_vm._v(\" Por ello, el Fondo de Naciones Unidas para la Infancia (UNICEF) y la Secretaría de Educación Pública (SEP) desarrollaron conjuntamente este \"),_c('em',[_c('strong',[_vm._v(\"Tablero de Análisis Integral para el Seguimiento al Regreso a Clases\")])]),_vm._v(\" en el contexto de la pandemia de COVID-19. Esta herramienta brinda información, de acuerdo con los marcos y estándares internacionales, para guiar intervenciones en las fases de prevención y preparación, respuesta y recuperación ante un desastre o emergencia. \")]),_c('p',[_vm._v(\" El tablero está dirigido a tomadores de decisión del sector, a las comunidades educativas y a padres, madres de familia y niñas, niños y adolescentes y al público en general. Les permite acceder a información actualizada sobre la reapertura de escuelas, las condiciones de agua, saneamiento e higiene y las causas, si las hubiera, para postergar el regreso a clases. Pero lo más importante, brinda por primera vez información sobre docentes, personal de la escuela y matricula desagregada por niñas, niños y adolescentes que regresa a clases desde preescolar hasta secundaria a nivel nacional. Es fundamental que el estatus de recuperación de actividades sea de acceso público y transparente y que tome en cuenta las circunstancias particulares de cada una de las comunidades educativas. \")]),_c('p',[_vm._v(\" Esta herramienta es un esfuerzo sin precedentes y pone a México en la vanguardia en la gestión de la información en caso de emergencias en el sector educativo. La información aquí contenida permitirá una mejor coordinación, planeación, asignación de recursos y el desarrollo de mecanismos de respuesta más rápidos y efectivos. \")]),_c('p',[_vm._v(\" Los colores en el mapa siguen la semaforización a continuación, de acuerdo a la reapertura de escuelas reportadas. \")]),_c('p',[_c('strong',[_vm._v(\"Leyenda\")])]),_c('p',[_c('span',{staticClass:\"ml-1\"},[_c('i',{staticClass:\"square-danger-darker\"}),_vm._v(\" 0% - 70%\")])]),_c('p',[_c('span',{staticClass:\"ml-1\"},[_c('i',{staticClass:\"square-danger\"}),_vm._v(\" 71% - 80%\")])]),_c('p',[_c('span',{staticClass:\"ml-1\"},[_c('i',{staticClass:\"square-warning\"}),_vm._v(\" 81% - 90%\")])]),_c('p',[_c('span',{staticClass:\"ml-1\"},[_c('i',{staticClass:\"square-success\"}),_vm._v(\" 91% - 95%\")])]),_c('p',[_c('span',{staticClass:\"ml-1\"},[_c('i',{staticClass:\"square-success-darker\"}),_vm._v(\" 96% - 100%\")])]),_c('p',[_c('span',{staticClass:\"ml-1\"},[_c('i',{staticClass:\"square-grey\"}),_vm._v(\" Desconocido\")])])])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"icon has-text-primary\"},[_c('i',{staticClass:\"mdi mdi-24px mdi-information-outline\"})])}]\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class InfoModal extends Vue {\r\n active = false;\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./InfoModal.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./InfoModal.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InfoModal.vue?vue&type=template&id=483856c3&\"\nimport script from \"./InfoModal.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./InfoModal.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AbsenceDetailsVue } from '@/primary/absence-details';\r\nimport { AdministrativeDivisionDetailsVue } from '@/primary/administrative-division-details';\r\nimport { AdministrativeDivisionHistoricVue } from '@/primary/administrative-division-historic';\r\nimport { AdministrativeDivisionIndicatorsVue } from '@/primary/administrative-division-indicators';\r\nimport { AttendanceListVue } from '@/primary/attendance-list';\r\nimport { AttendanceMapVue } from '@/primary/attendance-map';\r\nimport { DetailsInfoModalVue } from '@/primary/details-info-modal';\r\nimport { ExportDropdownVue } from '@/primary/export-dropdown';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\nimport { InfoModalVue } from '@/primary/info-modal';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\nimport { SchoolDetailsVue } from '@/primary/school-details';\r\nimport { SchoolHistoricVue } from '@/primary/school-historic';\r\nimport { SchoolIndicatorsVue } from '@/primary/school-indicators';\r\n\r\n@Component({\r\n components: {\r\n InfoModalVue,\r\n AttendanceMapVue,\r\n AdministrativeDivisionIndicatorsVue,\r\n SchoolIndicatorsVue,\r\n AttendanceListVue,\r\n AbsenceDetailsVue,\r\n AdministrativeDivisionDetailsVue,\r\n SchoolDetailsVue,\r\n AdministrativeDivisionHistoricVue,\r\n ExportDropdownVue,\r\n SchoolHistoricVue,\r\n DetailsInfoModalVue,\r\n },\r\n})\r\nexport default class TemplateWeb extends Vue {\r\n @Prop()\r\n readonly currentSummaryList!: Summary[];\r\n\r\n @Prop()\r\n readonly stateSummaryList!: AdministrativeDivisionSummary[];\r\n\r\n @Prop()\r\n readonly municipalitySummaryList!: AdministrativeDivisionSummary[];\r\n\r\n @Prop()\r\n readonly schoolSummaryList!: SchoolSummary[];\r\n\r\n @Prop()\r\n readonly school!: School;\r\n\r\n @Prop()\r\n readonly schoolDailyReports!: AdministrativeDivisionDailyReport[];\r\n\r\n @Prop()\r\n readonly currentSummary!: Summary;\r\n\r\n @Prop()\r\n readonly administrativeDivisionLevel!: boolean;\r\n\r\n @Prop()\r\n readonly currentAdministrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n readonly administrativeDivisionDailyReports!: AdministrativeDivisionDailyReport[];\r\n\r\n @Prop()\r\n readonly navigation!: NavigationParams[];\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly administrativeLevel!: AdministrativeLevels;\r\n\r\n @Prop()\r\n readonly attendanceListSortOptions!: [string, string];\r\n\r\n @Prop()\r\n readonly absenceDetailsAttendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly historicType!: HistoricType;\r\n\r\n @Prop()\r\n readonly historicInterval!: [number, number];\r\n\r\n @Prop()\r\n readonly mapExtent!: [number, number, number, number] | null;\r\n\r\n get lastUpdateDate() {\r\n const entity = this.administrativeLevel === AdministrativeLevels.SCHOOL ? this.school : this.currentAdministrativeDivision;\r\n return entity ? `Información correspondiente al ${entity.lastUpdateDate.toHuman()}` : '';\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('section',{staticClass:\"section py-2 px-2\"},[_c('div',{staticClass:\"container is-fluid\"},[_c('div',{staticClass:\"columns is-hidden-desktop\"},[_c('div',{staticClass:\"column is-12\"},[_c('ExportDropdownVue',{staticClass:\"shift-bottom\",on:{\"print\":function($event){return _vm.$emit('startprinting')}}}),_c('InfoModalVue',{staticClass:\"ml-5 mr-3\"})],1)]),_c('div',{staticClass:\"columns is-hidden-desktop\"},[_c('div',{staticClass:\"column is-12 has-text-primary-bis has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.lastUpdateDate)+\" \")])]),_c('div',{staticClass:\"columns\"},[_vm._m(0),_c('div',{staticClass:\"column is-4 has-text-right has-text-primary-bis has-text-weight-bold is-hidden-touch\"},[_vm._v(\" \"+_vm._s(_vm.lastUpdateDate)+\" \")]),_c('div',{staticClass:\"column is-2 has-text-right is-hidden-touch\"},[_c('ExportDropdownVue',{staticClass:\"shift-bottom\",attrs:{\"administrative-division-level\":_vm.administrativeDivisionLevel,\"administrative-division\":_vm.currentAdministrativeDivision,\"school\":_vm.school},on:{\"print\":function($event){return _vm.$emit('startprinting')}}}),_c('InfoModalVue',{staticClass:\"ml-5 mr-3\"})],1)]),_c('div',{staticClass:\"columns is-desktop\"},[_c('div',{staticClass:\"column is-10-desktop is-12-tablet\"},[_c('AttendanceMapVue',{staticClass:\"is-full-height is-direction-column\",attrs:{\"schools-summaries\":_vm.schoolSummaryList,\"school\":_vm.school,\"summary\":_vm.currentSummary,\"attendanceType\":_vm.attendanceType,\"inline\":true,\"printable\":false,\"map-extent\":_vm.mapExtent},on:{\"destroy\":function($event){return _vm.$emit('savemapextent', $event.extent)}}})],1),_c('div',{staticClass:\"column is-2-desktop is-12-tablet\"},[(_vm.administrativeDivisionLevel)?_c('AdministrativeDivisionIndicatorsVue',{attrs:{\"administrative-division\":_vm.currentAdministrativeDivision,\"inline\":false}}):_c('SchoolIndicatorsVue',{attrs:{\"school\":_vm.school}})],1)]),_c('div',{staticClass:\"tile is-ancestor\"},[_c('div',{staticClass:\"tile is-parent\"},[_c('AttendanceListVue',{staticClass:\"tile is-child\",attrs:{\"summaries\":_vm.currentSummaryList,\"navigation\":_vm.navigation,\"attendanceType\":_vm.attendanceType,\"administrative-level\":_vm.administrativeLevel,\"attendance-list-sort-options\":_vm.attendanceListSortOptions,\"sticky-header\":true},on:{\"sort\":function($event){return _vm.$emit('sortattendancelist', $event)}}})],1),_c('div',{staticClass:\"tile is-parent is-vertical\"},[_c('AbsenceDetailsVue',{staticClass:\"tile is-child\",attrs:{\"administrative-division\":_vm.currentAdministrativeDivision,\"school\":_vm.school,\"administrative-division-level\":_vm.administrativeDivisionLevel,\"attendance-type\":_vm.absenceDetailsAttendanceType},on:{\"change\":function($event){return _vm.$emit('changeabsenceattendance', $event)}}})],1)]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12\"},[(_vm.administrativeDivisionLevel && _vm.administrativeDivisionDailyReports.length > 0)?_c('AdministrativeDivisionHistoricVue',{attrs:{\"administrative-division-daily-reports\":_vm.administrativeDivisionDailyReports,\"historic-type\":_vm.historicType,\"historic-interval\":_vm.historicInterval,\"printable\":false},on:{\"changehistorictype\":function($event){return _vm.$emit('changehistorictype', $event)},\"changehistoricinterval\":function($event){return _vm.$emit('changehistoricinterval', $event)}}}):_vm._e(),(!_vm.administrativeDivisionLevel && _vm.schoolDailyReports.length > 0)?_c('SchoolHistoricVue',{attrs:{\"school-daily-reports\":_vm.schoolDailyReports,\"historic-type\":_vm.historicType,\"historic-interval\":_vm.historicInterval,\"printable\":false},on:{\"changehistorictype\":function($event){return _vm.$emit('changehistorictype', $event)},\"changehistoricinterval\":function($event){return _vm.$emit('changehistoricinterval', $event)}}}):_vm._e()],1)]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12 has-text-right\"},[_c('DetailsInfoModalVue')],1)]),_c('div',{staticClass:\"columns\"},[_c('div',{staticClass:\"column is-12\"},[(_vm.administrativeDivisionLevel)?_c('AdministrativeDivisionDetailsVue',{attrs:{\"administrative-division\":_vm.currentAdministrativeDivision,\"printable\":false}}):_c('SchoolDetailsVue',{attrs:{\"school\":_vm.school,\"printable\":false}})],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"column is-6\"},[_c('h1',{staticClass:\"has-text-primary-bis title is-uppercase is-size-4 has-text-weight-bold\"},[_vm._v(\"Tablero de Análisis Integral\")])])}]\n\nexport { render, staticRenderFns }","import { Component, Prop, Vue } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AbsenceDetailsVue } from '@/primary/absence-details';\r\nimport { AdministrativeDivisionDetailsVue } from '@/primary/administrative-division-details';\r\nimport { AdministrativeDivisionHistoricVue } from '@/primary/administrative-division-historic';\r\nimport { AdministrativeDivisionIndicatorsVue } from '@/primary/administrative-division-indicators';\r\nimport { AttendanceListVue } from '@/primary/attendance-list';\r\nimport { AttendanceMapVue } from '@/primary/attendance-map';\r\nimport { DetailsInfoModalVue } from '@/primary/details-info-modal';\r\nimport { ExportDropdownVue } from '@/primary/export-dropdown';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\nimport { InfoModalVue } from '@/primary/info-modal';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\nimport { SchoolDetailsVue } from '@/primary/school-details';\r\nimport { SchoolHistoricVue } from '@/primary/school-historic';\r\nimport { SchoolIndicatorsVue } from '@/primary/school-indicators';\r\n\r\n@Component({\r\n components: {\r\n InfoModalVue,\r\n AttendanceMapVue,\r\n AdministrativeDivisionIndicatorsVue,\r\n SchoolIndicatorsVue,\r\n AttendanceListVue,\r\n AbsenceDetailsVue,\r\n AdministrativeDivisionDetailsVue,\r\n SchoolDetailsVue,\r\n AdministrativeDivisionHistoricVue,\r\n ExportDropdownVue,\r\n SchoolHistoricVue,\r\n DetailsInfoModalVue,\r\n },\r\n})\r\nexport default class TemplateWeb extends Vue {\r\n @Prop()\r\n readonly currentSummaryList!: Summary[];\r\n\r\n @Prop()\r\n readonly stateSummaryList!: AdministrativeDivisionSummary[];\r\n\r\n @Prop()\r\n readonly municipalitySummaryList!: AdministrativeDivisionSummary[];\r\n\r\n @Prop()\r\n readonly schoolSummaryList!: SchoolSummary[];\r\n\r\n @Prop()\r\n readonly school!: School;\r\n\r\n @Prop()\r\n readonly schoolDailyReports!: AdministrativeDivisionDailyReport[];\r\n\r\n @Prop()\r\n readonly currentSummary!: Summary;\r\n\r\n @Prop()\r\n readonly administrativeDivisionLevel!: boolean;\r\n\r\n @Prop()\r\n readonly currentAdministrativeDivision!: AdministrativeDivision;\r\n\r\n @Prop()\r\n readonly administrativeDivisionDailyReports!: AdministrativeDivisionDailyReport[];\r\n\r\n @Prop()\r\n readonly navigation!: NavigationParams[];\r\n\r\n @Prop()\r\n readonly attendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly administrativeLevel!: AdministrativeLevels;\r\n\r\n @Prop()\r\n readonly attendanceListSortOptions!: [string, string];\r\n\r\n @Prop()\r\n readonly absenceDetailsAttendanceType!: AttendanceType;\r\n\r\n @Prop()\r\n readonly historicType!: HistoricType;\r\n\r\n @Prop()\r\n readonly historicInterval!: [number, number];\r\n\r\n @Prop()\r\n readonly mapExtent!: [number, number, number, number] | null;\r\n\r\n get lastUpdateDate() {\r\n const entity = this.administrativeLevel === AdministrativeLevels.SCHOOL ? this.school : this.currentAdministrativeDivision;\r\n return entity ? `Información correspondiente al ${entity.lastUpdateDate.toHuman()}` : '';\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./TemplateWeb.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/eslint-loader/index.js??ref--13-0!./TemplateWeb.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TemplateWeb.vue?vue&type=template&id=012c1598&\"\nimport script from \"./TemplateWeb.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./TemplateWeb.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Inject, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { AdministrativeDivisionDailyReportRepository } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReportRepository';\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionRepository } from '@/domain/administrative-division/AdministrativeDivisionRepository';\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AdministrativeDivisionTypes } from '@/domain/administrative-division/AdministrativeDivisionTypes';\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { Fetcher } from '@/domain/Fetcher';\r\nimport { Logger } from '@/domain/Logger';\r\nimport { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { SchoolDailyReportRepository } from '@/domain/school-daily-report/SchoolDailyReportRepository';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolRepository } from '@/domain/school/SchoolRepository';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AppStore } from '@/primary/app/AppStore';\r\nimport { AttendanceWebmapping } from '@/primary/attendance-webmapping/AttendanceWebmapping';\r\nimport { AttendanceTypeBus } from '@/primary/AttendanceTypeBus';\r\nimport { BreadcrumbVue } from '@/primary/breadcrumb';\r\nimport { ComponentState } from '@/primary/ComponentState';\r\nimport { Delayer } from '@/primary/Delayer';\r\nimport { DropdownVue } from '@/primary/dropdown';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\nimport { TemplatePrintVue } from '@/primary/templates/template-print';\r\nimport { TemplateWebVue } from '@/primary/templates/template-web';\r\n\r\n@Component({\r\n components: {\r\n TemplateWebVue,\r\n TemplatePrintVue,\r\n BreadcrumbVue,\r\n DropdownVue,\r\n },\r\n})\r\nexport default class Dashboard extends Vue {\r\n componentState = ComponentState.PENDING;\r\n administrativeDivisionLevel = true;\r\n stateSummaryList: AdministrativeDivisionSummary[] = [];\r\n municipalitySummaryList: AdministrativeDivisionSummary[] = [];\r\n schoolSummaryList: SchoolSummary[] = [];\r\n currentSummaryList: Summary[] = [];\r\n administrativeDivision: AdministrativeDivision | null = null;\r\n school: School | null = null;\r\n currentSummary: Summary | null = null;\r\n administrativeDivisionDailyReports: AdministrativeDivisionDailyReport[] = [];\r\n schoolDailyReports: SchoolDailyReport[] = [];\r\n navigation: NavigationParams[] = [];\r\n attendanceType: AttendanceType = AttendanceType.STUDENT;\r\n administrativeLevel: AdministrativeLevels = AdministrativeLevels.COUNTRY;\r\n attendanceListSortOptions: [string, string] = ['name', 'asc'];\r\n absenceDetailsAttendanceType = AttendanceType.STUDENT;\r\n historicType = HistoricType.GIVES_CLASSES;\r\n historicInterval: [number, number] = [0, 0];\r\n isPrinting = false;\r\n mapExtent: [number, number, number, number] | null = null;\r\n\r\n @Inject()\r\n private logger!: () => Logger;\r\n\r\n @Inject()\r\n private fetcher!: () => Fetcher;\r\n\r\n @Inject()\r\n private animationDelayer!: () => Delayer;\r\n\r\n @Inject()\r\n private administrativeDivisionRepository!: () => AdministrativeDivisionRepository;\r\n\r\n @Inject()\r\n private schoolRepository!: () => SchoolRepository;\r\n\r\n @Inject()\r\n private administrativeDivisionDailyReportRepository!: () => AdministrativeDivisionDailyReportRepository;\r\n\r\n @Inject()\r\n private schoolDailyReportRepository!: () => SchoolDailyReportRepository;\r\n\r\n @Inject()\r\n private navigationBus!: () => NavigationBus;\r\n\r\n @Inject()\r\n private attendanceTypeBus!: () => AttendanceTypeBus;\r\n\r\n @Inject()\r\n private attendanceWebmapping!: () => AttendanceWebmapping;\r\n\r\n @Inject()\r\n private appStore!: () => AppStore;\r\n\r\n created(): void {\r\n this.navigationBus().onBackToCountry(this.onBackToCountry);\r\n this.navigationBus().onGoToState(this.onNavigateToState);\r\n this.navigationBus().onBackToState(this.onNavigateToState);\r\n this.navigationBus().onGoToMunicipality(this.onNavigateToMunicipality);\r\n this.navigationBus().onBackToMunicipality(this.onNavigateToMunicipality);\r\n this.navigationBus().onGoToSchool(this.onGoToSchool);\r\n this.attendanceTypeBus().onSwitchAttendanceType(attendanceType => (this.attendanceType = attendanceType));\r\n\r\n Promise.all([\r\n this.administrativeDivisionRepository().find(AdministrativeDivisionTypes.COUNTRY, ''),\r\n this.administrativeDivisionRepository().list(AdministrativeDivisionTypes.STATE),\r\n this.administrativeDivisionRepository().list(AdministrativeDivisionTypes.MUNICIPALITY),\r\n this.administrativeDivisionDailyReportRepository().listForAdministrativeDivision(AdministrativeDivisionTypes.COUNTRY, ''),\r\n this.fetcher().fetch('states.topojson'),\r\n this.fetcher().fetch('municipalities.topojson'),\r\n ])\r\n .then(results => {\r\n this.attendanceWebmapping().setStatesFeatures(results[4], results[1]);\r\n this.attendanceWebmapping().setMunicipalitiesFeatures(results[5], results[2]);\r\n this.appStore().addAdministrativeDivision({ ...results[0], id: 'country' }, AdministrativeDivisionTypes.COUNTRY);\r\n this.administrativeDivision = this.appStore().getAdministrativeDivision('country', AdministrativeDivisionTypes.COUNTRY);\r\n this.stateSummaryList = results[1];\r\n this.municipalitySummaryList = results[2];\r\n this.administrativeDivisionDailyReports = results[3];\r\n this.appStore().addAdministrativeDivisionHistoric('country', results[3], AdministrativeDivisionTypes.COUNTRY);\r\n this.currentSummaryList = this.stateSummaryList;\r\n this.currentSummary = this.appStore().getAdministrativeDivision('country', AdministrativeDivisionTypes.COUNTRY);\r\n const start = this.administrativeDivisionDailyReports.length - 15 < 0 ? 0 : this.administrativeDivisionDailyReports.length - 15;\r\n this.historicInterval = [start, this.administrativeDivisionDailyReports.length - 1];\r\n this.componentState = ComponentState.SUCCESS;\r\n })\r\n .catch(error => this.error(error));\r\n }\r\n\r\n private error(error: Error): void {\r\n this.logger().error('Fail to retrieve country, state, municipality or school data', error);\r\n this.componentState = ComponentState.ERROR;\r\n }\r\n\r\n public async listSchool(municipalityId: string) {\r\n const summaries = this.appStore().getSchoolSummaries(municipalityId);\r\n\r\n if (summaries) {\r\n this.setSchoolSummaries(municipalityId, summaries, true);\r\n } else {\r\n this.schoolRepository()\r\n .list(municipalityId)\r\n .then(summaries => this.setSchoolSummaries(municipalityId, summaries))\r\n .catch(this.listSchoolError);\r\n }\r\n }\r\n\r\n private listSchoolError(error: Error) {\r\n this.logger().error('Fail to retrieve school summaries', error);\r\n this.schoolSummaryList = [];\r\n }\r\n\r\n private setSchoolSummaries(municipalityId: string, summaries: SchoolSummary[], updateStore = true) {\r\n this.schoolSummaryList = summaries;\r\n this.currentSummaryList = summaries;\r\n\r\n if (updateStore) {\r\n this.appStore().addSchoolSummaries(municipalityId, summaries);\r\n }\r\n }\r\n\r\n public async findAdministrativeDivision(administrativeDivisionId: string, administrativeDivisionType: AdministrativeDivisionTypes) {\r\n const administrativeDivision = this.appStore().getAdministrativeDivision(administrativeDivisionId, administrativeDivisionType);\r\n\r\n if (administrativeDivision) {\r\n this.administrativeDivision = administrativeDivision;\r\n } else {\r\n this.administrativeDivision = null;\r\n this.administrativeDivisionRepository()\r\n .find(administrativeDivisionType, administrativeDivisionId)\r\n .then(administrativeDivision => {\r\n this.appStore().addAdministrativeDivision(administrativeDivision, administrativeDivisionType);\r\n this.administrativeDivision = administrativeDivision;\r\n })\r\n .catch(error => {\r\n this.logger().error(`Fail to retrieve administrative division ${administrativeDivisionType} ${administrativeDivisionId}`, error);\r\n });\r\n }\r\n }\r\n\r\n public async findSchool(schoolId: string) {\r\n const school = this.appStore().getSchool(schoolId);\r\n\r\n if (school) {\r\n this.school = school;\r\n } else {\r\n this.school = null;\r\n this.schoolRepository()\r\n .find(schoolId)\r\n .then(school => {\r\n this.appStore().addSchool(school);\r\n this.school = school;\r\n })\r\n .catch(error => {\r\n this.school = null;\r\n this.logger().error('Fail to retrieve school', error);\r\n });\r\n }\r\n }\r\n\r\n public async listAdministrativeDivisionDailyReport(administrativeDivisionType: AdministrativeDivisionTypes, id: string) {\r\n const administrativeDivisionDailyReports = this.appStore().getAdministrativeDivisionHistoric(id, administrativeDivisionType);\r\n\r\n if (administrativeDivisionDailyReports) {\r\n this.administrativeDivisionDailyReports = administrativeDivisionDailyReports;\r\n } else {\r\n this.administrativeDivisionDailyReports = [];\r\n this.administrativeDivisionDailyReportRepository()\r\n .listForAdministrativeDivision(administrativeDivisionType, id)\r\n .then(administrativeDivisionDailyReports => {\r\n this.appStore().addAdministrativeDivisionHistoric(id, administrativeDivisionDailyReports, administrativeDivisionType);\r\n this.administrativeDivisionDailyReports = administrativeDivisionDailyReports;\r\n })\r\n .catch(error => {\r\n this.logger().error(`Fail to retrieve administrative division daily reports (${administrativeDivisionType}) ${id})`, error);\r\n });\r\n }\r\n }\r\n\r\n public async listSchoolDailyReport(id: string) {\r\n const schoolDailyReports = this.appStore().getSchoolHistoric(id);\r\n\r\n if (schoolDailyReports) {\r\n this.schoolDailyReports = schoolDailyReports;\r\n } else {\r\n this.schoolDailyReports = [];\r\n this.schoolDailyReportRepository()\r\n .listForSchool(id)\r\n .then(schoolDailyReports => {\r\n this.appStore().addSchoolHistoric(id, schoolDailyReports);\r\n this.schoolDailyReports = schoolDailyReports;\r\n })\r\n .catch(error => {\r\n this.logger().error('Fail to retrieve school daily reports', error);\r\n });\r\n }\r\n }\r\n\r\n onBackToCountry() {\r\n this.administrativeDivisionLevel = true;\r\n this.animationDelayer().afterDelay(() => {\r\n this.listAdministrativeDivisionDailyReport(AdministrativeDivisionTypes.COUNTRY, 'country');\r\n this.findAdministrativeDivision('country', AdministrativeDivisionTypes.COUNTRY);\r\n });\r\n this.schoolSummaryList = [];\r\n this.currentSummaryList = this.stateSummaryList;\r\n this.currentSummary = this.appStore().getAdministrativeDivision('country', AdministrativeDivisionTypes.COUNTRY);\r\n this.navigation = [];\r\n this.administrativeLevel = AdministrativeLevels.COUNTRY;\r\n }\r\n\r\n onNavigateToState(navigationParams: NavigationParams) {\r\n this.administrativeDivisionLevel = true;\r\n this.animationDelayer().afterDelay(() => {\r\n this.findAdministrativeDivision(navigationParams.id, AdministrativeDivisionTypes.STATE);\r\n this.listAdministrativeDivisionDailyReport(AdministrativeDivisionTypes.STATE, navigationParams.id);\r\n });\r\n this.schoolSummaryList = [];\r\n this.currentSummary = this.stateSummaryList.find(summary => summary.id === navigationParams.id) || null;\r\n this.currentSummaryList = this.municipalitySummaryList.filter(summary => summary.stateId === navigationParams.id);\r\n this.navigation = [navigationParams];\r\n this.administrativeLevel = AdministrativeLevels.STATE;\r\n }\r\n\r\n onNavigateToMunicipality(navigationParams: NavigationParams) {\r\n this.administrativeDivisionLevel = true;\r\n this.animationDelayer().afterDelay(() => {\r\n this.listAdministrativeDivisionDailyReport(AdministrativeDivisionTypes.MUNICIPALITY, navigationParams.id);\r\n this.listSchool(navigationParams.id);\r\n this.findAdministrativeDivision(navigationParams.id, AdministrativeDivisionTypes.MUNICIPALITY);\r\n });\r\n this.currentSummaryList = this.schoolSummaryList;\r\n this.currentSummary = this.municipalitySummaryList.find(summary => summary.id === navigationParams.id) || null;\r\n this.navigation = [this.navigation[0], navigationParams];\r\n this.administrativeLevel = AdministrativeLevels.MUNICIPALITY;\r\n }\r\n\r\n onGoToSchool(navigationParams: NavigationParams) {\r\n this.administrativeDivisionLevel = false;\r\n this.administrativeDivisionDailyReports = [];\r\n this.findSchool(navigationParams.id);\r\n this.listSchoolDailyReport(navigationParams.id);\r\n this.currentSummary = this.schoolSummaryList.find(summary => summary.id === navigationParams.id) || null;\r\n this.navigation = [this.navigation[0], this.navigation[1], navigationParams];\r\n this.administrativeLevel = AdministrativeLevels.SCHOOL;\r\n this.historicType = this.historicType === HistoricType.GIVES_CLASSES ? HistoricType.STUDENT_ABSENCE : this.historicType;\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.componentState === 'PENDING')?_c('div',[_vm._m(0)]):_vm._e(),(_vm.componentState === 'SUCCESS')?[_c('div',{staticClass:\"app dashboard has-background-secondary\"},[_c('div',{staticClass:\"header is-fixed-top is-full-width\"},[_c('nav',{staticClass:\"navbar has-shadow\",attrs:{\"role\":\"navigation\"}},[_vm._m(1),_vm._m(2),(!_vm.isPrinting)?_c('div',{staticClass:\"navbar-menu\"},[_c('div',{staticClass:\"navbar-end\"},[_c('div',{staticClass:\"navbar-item\"},[_c('DropdownVue',{attrs:{\"items\":_vm.currentSummaryList,\"administrative-level\":_vm.administrativeLevel}})],1)])]):_vm._e()]),(!_vm.isPrinting)?_c('div',{staticClass:\"is-hidden-desktop has-background-white px-1 py-1 has-text-centered\"},[_c('DropdownVue',{attrs:{\"items\":_vm.currentSummaryList,\"administrative-level\":_vm.administrativeLevel}})],1):_vm._e(),_c('div',{staticClass:\"has-background-secondary-bis\"},[_c('BreadcrumbVue',{attrs:{\"navigation\":_vm.navigation,\"printable\":_vm.isPrinting}})],1)]),(_vm.isPrinting)?_c('TemplatePrintVue',{attrs:{\"currentSummaryList\":_vm.currentSummaryList,\"stateSummaryList\":_vm.stateSummaryList,\"municipalitySummaryList\":_vm.municipalitySummaryList,\"schoolSummaryList\":_vm.schoolSummaryList,\"school\":_vm.school,\"school-daily-reports\":_vm.schoolDailyReports,\"currentSummary\":_vm.currentSummary,\"administrativeDivisionLevel\":_vm.administrativeDivisionLevel,\"currentAdministrativeDivision\":_vm.administrativeDivision,\"administrative-division-daily-reports\":_vm.administrativeDivisionDailyReports,\"navigation\":_vm.navigation,\"attendance-type\":_vm.attendanceType,\"administrative-level\":_vm.administrativeLevel,\"attendance-list-sort-options\":_vm.attendanceListSortOptions,\"absence-details-attendance-type\":_vm.absenceDetailsAttendanceType,\"historic-type\":_vm.historicType,\"historic-interval\":_vm.historicInterval,\"map-extent\":_vm.mapExtent},on:{\"endprinting\":function($event){_vm.isPrinting = false}}}):_c('TemplateWebVue',{attrs:{\"currentSummaryList\":_vm.currentSummaryList,\"stateSummaryList\":_vm.stateSummaryList,\"municipalitySummaryList\":_vm.municipalitySummaryList,\"schoolSummaryList\":_vm.schoolSummaryList,\"school\":_vm.school,\"school-daily-reports\":_vm.schoolDailyReports,\"currentSummary\":_vm.currentSummary,\"administrativeDivisionLevel\":_vm.administrativeDivisionLevel,\"currentAdministrativeDivision\":_vm.administrativeDivision,\"administrative-division-daily-reports\":_vm.administrativeDivisionDailyReports,\"navigation\":_vm.navigation,\"attendance-type\":_vm.attendanceType,\"administrative-level\":_vm.administrativeLevel,\"attendance-list-sort-options\":_vm.attendanceListSortOptions,\"absence-details-attendance-type\":_vm.absenceDetailsAttendanceType,\"historic-type\":_vm.historicType,\"historic-interval\":_vm.historicInterval,\"map-extent\":_vm.mapExtent},on:{\"startprinting\":function($event){_vm.isPrinting = true},\"sortattendancelist\":function($event){_vm.attendanceListSortOptions = $event},\"changeabsenceattendance\":function($event){_vm.absenceDetailsAttendanceType = $event},\"changehistorictype\":function($event){_vm.historicType = $event},\"changehistoricinterval\":function($event){_vm.historicInterval = $event},\"savemapextent\":function($event){_vm.mapExtent = $event}}})],1)]:_vm._e()],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"hero is-white is-fullheight\"},[_c('div',{staticClass:\"hero-body\"},[_c('div',{staticClass:\"container has-text-centered\"},[_c('div',{staticClass:\"loader\"})])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"navbar-item is-hidden-tablet has-text-centered\"},[_c('img',{attrs:{\"src\":\"/logo_mobile.svg\",\"alt\":\"Logotipos de la Secretaría de Educación Pública y de UNICEF\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"navbar-brand is-hidden-mobile\"},[_c('div',{staticClass:\"navbar-item\"},[_c('img',{attrs:{\"src\":\"/logo.svg\",\"alt\":\"Logotipos de la Secretaría de Educación Pública y de UNICEF\"}})])])}]\n\nexport { render, staticRenderFns }","import { Component, Inject, Vue, Watch } from 'vue-property-decorator';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { AdministrativeDivisionDailyReportRepository } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReportRepository';\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionRepository } from '@/domain/administrative-division/AdministrativeDivisionRepository';\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AdministrativeDivisionTypes } from '@/domain/administrative-division/AdministrativeDivisionTypes';\r\nimport { AdministrativeLevels } from '@/domain/AdministrativeLevels';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { Fetcher } from '@/domain/Fetcher';\r\nimport { Logger } from '@/domain/Logger';\r\nimport { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { SchoolDailyReportRepository } from '@/domain/school-daily-report/SchoolDailyReportRepository';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolRepository } from '@/domain/school/SchoolRepository';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { Summary } from '@/domain/Summary';\r\nimport { AppStore } from '@/primary/app/AppStore';\r\nimport { AttendanceWebmapping } from '@/primary/attendance-webmapping/AttendanceWebmapping';\r\nimport { AttendanceTypeBus } from '@/primary/AttendanceTypeBus';\r\nimport { BreadcrumbVue } from '@/primary/breadcrumb';\r\nimport { ComponentState } from '@/primary/ComponentState';\r\nimport { Delayer } from '@/primary/Delayer';\r\nimport { DropdownVue } from '@/primary/dropdown';\r\nimport { HistoricType } from '@/primary/HistoricType';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\nimport { TemplatePrintVue } from '@/primary/templates/template-print';\r\nimport { TemplateWebVue } from '@/primary/templates/template-web';\r\n\r\n@Component({\r\n components: {\r\n TemplateWebVue,\r\n TemplatePrintVue,\r\n BreadcrumbVue,\r\n DropdownVue,\r\n },\r\n})\r\nexport default class Dashboard extends Vue {\r\n componentState = ComponentState.PENDING;\r\n administrativeDivisionLevel = true;\r\n stateSummaryList: AdministrativeDivisionSummary[] = [];\r\n municipalitySummaryList: AdministrativeDivisionSummary[] = [];\r\n schoolSummaryList: SchoolSummary[] = [];\r\n currentSummaryList: Summary[] = [];\r\n administrativeDivision: AdministrativeDivision | null = null;\r\n school: School | null = null;\r\n currentSummary: Summary | null = null;\r\n administrativeDivisionDailyReports: AdministrativeDivisionDailyReport[] = [];\r\n schoolDailyReports: SchoolDailyReport[] = [];\r\n navigation: NavigationParams[] = [];\r\n attendanceType: AttendanceType = AttendanceType.STUDENT;\r\n administrativeLevel: AdministrativeLevels = AdministrativeLevels.COUNTRY;\r\n attendanceListSortOptions: [string, string] = ['name', 'asc'];\r\n absenceDetailsAttendanceType = AttendanceType.STUDENT;\r\n historicType = HistoricType.GIVES_CLASSES;\r\n historicInterval: [number, number] = [0, 0];\r\n isPrinting = false;\r\n mapExtent: [number, number, number, number] | null = null;\r\n\r\n @Inject()\r\n private logger!: () => Logger;\r\n\r\n @Inject()\r\n private fetcher!: () => Fetcher;\r\n\r\n @Inject()\r\n private animationDelayer!: () => Delayer;\r\n\r\n @Inject()\r\n private administrativeDivisionRepository!: () => AdministrativeDivisionRepository;\r\n\r\n @Inject()\r\n private schoolRepository!: () => SchoolRepository;\r\n\r\n @Inject()\r\n private administrativeDivisionDailyReportRepository!: () => AdministrativeDivisionDailyReportRepository;\r\n\r\n @Inject()\r\n private schoolDailyReportRepository!: () => SchoolDailyReportRepository;\r\n\r\n @Inject()\r\n private navigationBus!: () => NavigationBus;\r\n\r\n @Inject()\r\n private attendanceTypeBus!: () => AttendanceTypeBus;\r\n\r\n @Inject()\r\n private attendanceWebmapping!: () => AttendanceWebmapping;\r\n\r\n @Inject()\r\n private appStore!: () => AppStore;\r\n\r\n created(): void {\r\n this.navigationBus().onBackToCountry(this.onBackToCountry);\r\n this.navigationBus().onGoToState(this.onNavigateToState);\r\n this.navigationBus().onBackToState(this.onNavigateToState);\r\n this.navigationBus().onGoToMunicipality(this.onNavigateToMunicipality);\r\n this.navigationBus().onBackToMunicipality(this.onNavigateToMunicipality);\r\n this.navigationBus().onGoToSchool(this.onGoToSchool);\r\n this.attendanceTypeBus().onSwitchAttendanceType(attendanceType => (this.attendanceType = attendanceType));\r\n\r\n Promise.all([\r\n this.administrativeDivisionRepository().find(AdministrativeDivisionTypes.COUNTRY, ''),\r\n this.administrativeDivisionRepository().list(AdministrativeDivisionTypes.STATE),\r\n this.administrativeDivisionRepository().list(AdministrativeDivisionTypes.MUNICIPALITY),\r\n this.administrativeDivisionDailyReportRepository().listForAdministrativeDivision(AdministrativeDivisionTypes.COUNTRY, ''),\r\n this.fetcher().fetch('states.topojson'),\r\n this.fetcher().fetch('municipalities.topojson'),\r\n ])\r\n .then(results => {\r\n this.attendanceWebmapping().setStatesFeatures(results[4], results[1]);\r\n this.attendanceWebmapping().setMunicipalitiesFeatures(results[5], results[2]);\r\n this.appStore().addAdministrativeDivision({ ...results[0], id: 'country' }, AdministrativeDivisionTypes.COUNTRY);\r\n this.administrativeDivision = this.appStore().getAdministrativeDivision('country', AdministrativeDivisionTypes.COUNTRY);\r\n this.stateSummaryList = results[1];\r\n this.municipalitySummaryList = results[2];\r\n this.administrativeDivisionDailyReports = results[3];\r\n this.appStore().addAdministrativeDivisionHistoric('country', results[3], AdministrativeDivisionTypes.COUNTRY);\r\n this.currentSummaryList = this.stateSummaryList;\r\n this.currentSummary = this.appStore().getAdministrativeDivision('country', AdministrativeDivisionTypes.COUNTRY);\r\n const start = this.administrativeDivisionDailyReports.length - 15 < 0 ? 0 : this.administrativeDivisionDailyReports.length - 15;\r\n this.historicInterval = [start, this.administrativeDivisionDailyReports.length - 1];\r\n this.componentState = ComponentState.SUCCESS;\r\n })\r\n .catch(error => this.error(error));\r\n }\r\n\r\n private error(error: Error): void {\r\n this.logger().error('Fail to retrieve country, state, municipality or school data', error);\r\n this.componentState = ComponentState.ERROR;\r\n }\r\n\r\n public async listSchool(municipalityId: string) {\r\n const summaries = this.appStore().getSchoolSummaries(municipalityId);\r\n\r\n if (summaries) {\r\n this.setSchoolSummaries(municipalityId, summaries, true);\r\n } else {\r\n this.schoolRepository()\r\n .list(municipalityId)\r\n .then(summaries => this.setSchoolSummaries(municipalityId, summaries))\r\n .catch(this.listSchoolError);\r\n }\r\n }\r\n\r\n private listSchoolError(error: Error) {\r\n this.logger().error('Fail to retrieve school summaries', error);\r\n this.schoolSummaryList = [];\r\n }\r\n\r\n private setSchoolSummaries(municipalityId: string, summaries: SchoolSummary[], updateStore = true) {\r\n this.schoolSummaryList = summaries;\r\n this.currentSummaryList = summaries;\r\n\r\n if (updateStore) {\r\n this.appStore().addSchoolSummaries(municipalityId, summaries);\r\n }\r\n }\r\n\r\n public async findAdministrativeDivision(administrativeDivisionId: string, administrativeDivisionType: AdministrativeDivisionTypes) {\r\n const administrativeDivision = this.appStore().getAdministrativeDivision(administrativeDivisionId, administrativeDivisionType);\r\n\r\n if (administrativeDivision) {\r\n this.administrativeDivision = administrativeDivision;\r\n } else {\r\n this.administrativeDivision = null;\r\n this.administrativeDivisionRepository()\r\n .find(administrativeDivisionType, administrativeDivisionId)\r\n .then(administrativeDivision => {\r\n this.appStore().addAdministrativeDivision(administrativeDivision, administrativeDivisionType);\r\n this.administrativeDivision = administrativeDivision;\r\n })\r\n .catch(error => {\r\n this.logger().error(`Fail to retrieve administrative division ${administrativeDivisionType} ${administrativeDivisionId}`, error);\r\n });\r\n }\r\n }\r\n\r\n public async findSchool(schoolId: string) {\r\n const school = this.appStore().getSchool(schoolId);\r\n\r\n if (school) {\r\n this.school = school;\r\n } else {\r\n this.school = null;\r\n this.schoolRepository()\r\n .find(schoolId)\r\n .then(school => {\r\n this.appStore().addSchool(school);\r\n this.school = school;\r\n })\r\n .catch(error => {\r\n this.school = null;\r\n this.logger().error('Fail to retrieve school', error);\r\n });\r\n }\r\n }\r\n\r\n public async listAdministrativeDivisionDailyReport(administrativeDivisionType: AdministrativeDivisionTypes, id: string) {\r\n const administrativeDivisionDailyReports = this.appStore().getAdministrativeDivisionHistoric(id, administrativeDivisionType);\r\n\r\n if (administrativeDivisionDailyReports) {\r\n this.administrativeDivisionDailyReports = administrativeDivisionDailyReports;\r\n } else {\r\n this.administrativeDivisionDailyReports = [];\r\n this.administrativeDivisionDailyReportRepository()\r\n .listForAdministrativeDivision(administrativeDivisionType, id)\r\n .then(administrativeDivisionDailyReports => {\r\n this.appStore().addAdministrativeDivisionHistoric(id, administrativeDivisionDailyReports, administrativeDivisionType);\r\n this.administrativeDivisionDailyReports = administrativeDivisionDailyReports;\r\n })\r\n .catch(error => {\r\n this.logger().error(`Fail to retrieve administrative division daily reports (${administrativeDivisionType}) ${id})`, error);\r\n });\r\n }\r\n }\r\n\r\n public async listSchoolDailyReport(id: string) {\r\n const schoolDailyReports = this.appStore().getSchoolHistoric(id);\r\n\r\n if (schoolDailyReports) {\r\n this.schoolDailyReports = schoolDailyReports;\r\n } else {\r\n this.schoolDailyReports = [];\r\n this.schoolDailyReportRepository()\r\n .listForSchool(id)\r\n .then(schoolDailyReports => {\r\n this.appStore().addSchoolHistoric(id, schoolDailyReports);\r\n this.schoolDailyReports = schoolDailyReports;\r\n })\r\n .catch(error => {\r\n this.logger().error('Fail to retrieve school daily reports', error);\r\n });\r\n }\r\n }\r\n\r\n onBackToCountry() {\r\n this.administrativeDivisionLevel = true;\r\n this.animationDelayer().afterDelay(() => {\r\n this.listAdministrativeDivisionDailyReport(AdministrativeDivisionTypes.COUNTRY, 'country');\r\n this.findAdministrativeDivision('country', AdministrativeDivisionTypes.COUNTRY);\r\n });\r\n this.schoolSummaryList = [];\r\n this.currentSummaryList = this.stateSummaryList;\r\n this.currentSummary = this.appStore().getAdministrativeDivision('country', AdministrativeDivisionTypes.COUNTRY);\r\n this.navigation = [];\r\n this.administrativeLevel = AdministrativeLevels.COUNTRY;\r\n }\r\n\r\n onNavigateToState(navigationParams: NavigationParams) {\r\n this.administrativeDivisionLevel = true;\r\n this.animationDelayer().afterDelay(() => {\r\n this.findAdministrativeDivision(navigationParams.id, AdministrativeDivisionTypes.STATE);\r\n this.listAdministrativeDivisionDailyReport(AdministrativeDivisionTypes.STATE, navigationParams.id);\r\n });\r\n this.schoolSummaryList = [];\r\n this.currentSummary = this.stateSummaryList.find(summary => summary.id === navigationParams.id) || null;\r\n this.currentSummaryList = this.municipalitySummaryList.filter(summary => summary.stateId === navigationParams.id);\r\n this.navigation = [navigationParams];\r\n this.administrativeLevel = AdministrativeLevels.STATE;\r\n }\r\n\r\n onNavigateToMunicipality(navigationParams: NavigationParams) {\r\n this.administrativeDivisionLevel = true;\r\n this.animationDelayer().afterDelay(() => {\r\n this.listAdministrativeDivisionDailyReport(AdministrativeDivisionTypes.MUNICIPALITY, navigationParams.id);\r\n this.listSchool(navigationParams.id);\r\n this.findAdministrativeDivision(navigationParams.id, AdministrativeDivisionTypes.MUNICIPALITY);\r\n });\r\n this.currentSummaryList = this.schoolSummaryList;\r\n this.currentSummary = this.municipalitySummaryList.find(summary => summary.id === navigationParams.id) || null;\r\n this.navigation = [this.navigation[0], navigationParams];\r\n this.administrativeLevel = AdministrativeLevels.MUNICIPALITY;\r\n }\r\n\r\n onGoToSchool(navigationParams: NavigationParams) {\r\n this.administrativeDivisionLevel = false;\r\n this.administrativeDivisionDailyReports = [];\r\n this.findSchool(navigationParams.id);\r\n this.listSchoolDailyReport(navigationParams.id);\r\n this.currentSummary = this.schoolSummaryList.find(summary => summary.id === navigationParams.id) || null;\r\n this.navigation = [this.navigation[0], this.navigation[1], navigationParams];\r\n this.administrativeLevel = AdministrativeLevels.SCHOOL;\r\n this.historicType = this.historicType === HistoricType.GIVES_CLASSES ? HistoricType.STUDENT_ABSENCE : this.historicType;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./Dashboard.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./Dashboard.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=180d0529&\"\nimport script from \"./Dashboard.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./Dashboard.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Component, Vue } from 'vue-property-decorator';\r\n\r\nimport { DashboardVue } from '@/primary/dashboard';\r\n\r\n@Component({\r\n components: { DashboardVue },\r\n})\r\nexport default class App extends Vue {}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('DashboardVue')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\n\r\nimport { DashboardVue } from '@/primary/dashboard';\r\n\r\n@Component({\r\n components: { DashboardVue },\r\n})\r\nexport default class App extends Vue {}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./App.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/eslint-loader/index.js??ref--13-0!./App.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=19cfd2dc&\"\nimport script from \"./App.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./App.component.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Store } from 'vuex';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionTypes } from '@/domain/administrative-division/AdministrativeDivisionTypes';\r\nimport { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { AppState } from '@/primary/app/appStoreOptions';\r\n\r\nexport class AppStore {\r\n constructor(private store: Store) {}\r\n\r\n addAdministrativeDivision(administrativeDivision: AdministrativeDivision, administrativeDivisionType: AdministrativeDivisionTypes) {\r\n this.store.commit('addAdministrativeDivision', { administrativeDivision, administrativeDivisionType });\r\n }\r\n\r\n addAdministrativeDivisionHistoric(\r\n administrativeDivisionId: string,\r\n reports: AdministrativeDivisionDailyReport[],\r\n administrativeDivisionType: AdministrativeDivisionTypes\r\n ) {\r\n this.store.commit('addAdministrativeDivisionHistoric', { administrativeDivisionId, administrativeDivisionType, reports });\r\n }\r\n\r\n getAdministrativeDivision(id: string, administrativeDivisionType: AdministrativeDivisionTypes): AdministrativeDivision | null {\r\n const key = `${administrativeDivisionType}#${id}`;\r\n return this.store.state.administrativeDivisions[key] || null;\r\n }\r\n\r\n getAdministrativeDivisionHistoric(\r\n id: string,\r\n administrativeDivisionType: AdministrativeDivisionTypes\r\n ): AdministrativeDivisionDailyReport[] | null {\r\n const key = `${administrativeDivisionType}#${id}`;\r\n return this.store.state.administrativeDivisionHistories[key] || null;\r\n }\r\n\r\n addSchool(school: School) {\r\n this.store.commit('addSchool', school);\r\n }\r\n\r\n addSchoolHistoric(schoolId: string, reports: SchoolDailyReport[]) {\r\n this.store.commit('addSchoolHistoric', { schoolId, reports });\r\n }\r\n\r\n getSchool(id: string): School | null {\r\n return this.store.state.schools[id] || null;\r\n }\r\n\r\n getSchoolHistoric(id: string): SchoolDailyReport[] | null {\r\n return this.store.state.schoolHistories[id] || null;\r\n }\r\n\r\n addSchoolSummaries(municipalityId: string, summaries: SchoolSummary[]) {\r\n this.store.commit('addSchoolSummariesForMunicipality', { municipalityId: municipalityId, schoolSummaries: summaries });\r\n }\r\n\r\n getSchoolSummaries(municipalityId: string): SchoolSummary[] | null {\r\n return this.store.state.schoolSummaries[municipalityId] || null;\r\n }\r\n}\r\n","import { StoreOptions } from 'vuex';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionTypes } from '@/domain/administrative-division/AdministrativeDivisionTypes';\r\nimport { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\n\r\nexport interface AppState {\r\n administrativeDivisions: { [key: string]: AdministrativeDivision };\r\n administrativeDivisionHistories: { [key: string]: AdministrativeDivisionDailyReport[] };\r\n schools: { [key: string]: School };\r\n schoolHistories: { [key: string]: SchoolDailyReport[] };\r\n schoolSummaries: { [key: string]: SchoolSummary[] };\r\n}\r\n\r\nexport const appStoreOptions: StoreOptions = {\r\n state: {\r\n administrativeDivisions: {},\r\n administrativeDivisionHistories: {},\r\n schools: {},\r\n schoolHistories: {},\r\n schoolSummaries: {},\r\n },\r\n mutations: {\r\n addAdministrativeDivision(\r\n appState: AppState,\r\n options: {\r\n administrativeDivisionType: AdministrativeDivisionTypes;\r\n administrativeDivision: AdministrativeDivision;\r\n }\r\n ) {\r\n const key = `${options.administrativeDivisionType}#${options.administrativeDivision.id}`;\r\n appState.administrativeDivisions[key] = options.administrativeDivision;\r\n },\r\n addAdministrativeDivisionHistoric(\r\n appState: AppState,\r\n options: {\r\n administrativeDivisionId: string;\r\n administrativeDivisionType: AdministrativeDivisionTypes;\r\n reports: AdministrativeDivisionDailyReport[];\r\n }\r\n ) {\r\n const key = `${options.administrativeDivisionType}#${options.administrativeDivisionId}`;\r\n appState.administrativeDivisionHistories[key] = options.reports;\r\n },\r\n addSchool(appState: AppState, school: School) {\r\n appState.schools[school.id] = school;\r\n },\r\n addSchoolHistoric(appState: AppState, options: { schoolId: string; reports: SchoolDailyReport[] }) {\r\n appState.schoolHistories[options.schoolId] = options.reports;\r\n },\r\n addSchoolSummariesForMunicipality(\r\n appState: AppState,\r\n schoolSummariesForMunicipality: { municipalityId: string; schoolSummaries: SchoolSummary[] }\r\n ) {\r\n appState.schoolSummaries[schoolSummariesForMunicipality.municipalityId] = schoolSummariesForMunicipality.schoolSummaries;\r\n },\r\n },\r\n};\r\n","export const LIGHT_GREY = [224, 224, 224];\r\nexport const RED = [217, 29, 32];\r\nexport const LIGHT_RED = [238, 131, 54];\r\nexport const ORANGE = [255, 196, 0];\r\nexport const LIGHT_GREEN = [151, 211, 86];\r\nexport const GREEN = [30, 155, 71];\r\n","import { FeatureLike } from 'ol/Feature';\r\nimport { Fill, Stroke, Style } from 'ol/style';\r\n\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { GREEN, LIGHT_GREEN, LIGHT_GREY, LIGHT_RED, ORANGE, RED } from '@/primary/attendance-webmapping/styles/colors';\r\n\r\nconst noFill = new Style({\r\n stroke: new Stroke({ color: [77, 77, 77, 0.8], width: 3 }),\r\n fill: new Fill({ color: [255, 255, 255, 0] }),\r\n zIndex: 3,\r\n});\r\n\r\nconst toStyle = (color: number[]) =>\r\n new Style({\r\n stroke: new Stroke({ color: '#fff', width: 1 }),\r\n fill: new Fill({ color: [...color, 1] }),\r\n zIndex: 2,\r\n });\r\n\r\nconst lightGrey = toStyle(LIGHT_GREY);\r\nconst lightGreen = toStyle(LIGHT_GREEN);\r\nconst green = toStyle(GREEN);\r\nconst orange = toStyle(ORANGE);\r\nconst lightRed = toStyle(LIGHT_RED);\r\nconst red = toStyle(RED);\r\n\r\nexport const municipalityStyler = (attendanceType: AttendanceType, selected: string) => (feature: FeatureLike, resolution: number) => {\r\n const key =\r\n attendanceType === AttendanceType.STUDENT\r\n ? 'studentAttendance'\r\n : attendanceType === AttendanceType.TEACHER\r\n ? 'teacherAttendance'\r\n : 'adminAttendance';\r\n\r\n let style: Style | Style[] = lightGrey;\r\n\r\n const rate = feature.get(key);\r\n\r\n if (rate >= 0 && rate <= 0.7) {\r\n style = red;\r\n }\r\n\r\n if (rate > 0.7 && rate <= 0.8) {\r\n style = lightRed;\r\n }\r\n\r\n if (rate > 0.8 && rate <= 0.9) {\r\n style = orange;\r\n }\r\n\r\n if (rate > 0.9 && rate <= 0.95) {\r\n style = lightGreen;\r\n }\r\n\r\n if (rate > 0.95 && rate <= 1) {\r\n style = green;\r\n }\r\n\r\n if (feature.getId().toString() === selected) {\r\n style = [style, noFill];\r\n }\r\n\r\n return style;\r\n};\r\n","import { Feature } from 'ol';\r\nimport { Cluster } from 'ol/source';\r\nimport { Circle, Fill, Stroke, Style, Text } from 'ol/style';\r\n\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\n\r\nconst highDangerFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 6,\r\n fill: new Fill({ color: '#D91D20' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 3 }),\r\n }),\r\n});\r\n\r\nconst dangerFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 6,\r\n fill: new Fill({ color: '#EE8336' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 3 }),\r\n }),\r\n});\r\n\r\nconst warningFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 6,\r\n fill: new Fill({ color: '#FFC400' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 3 }),\r\n }),\r\n});\r\n\r\nconst successFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 6,\r\n fill: new Fill({ color: '#97D356' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 3 }),\r\n }),\r\n});\r\n\r\nconst highSuccessFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 6,\r\n fill: new Fill({ color: '#1E9B47' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 3 }),\r\n }),\r\n});\r\n\r\nconst unknownFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 6,\r\n fill: new Fill({ color: '#dbdbdb' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 3 }),\r\n }),\r\n});\r\n\r\nconst highDangerSelectedFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 8,\r\n fill: new Fill({ color: '#D91D20' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 4 }),\r\n }),\r\n});\r\n\r\nconst dangerSelectedFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 8,\r\n fill: new Fill({ color: '#EE8336' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 4 }),\r\n }),\r\n});\r\n\r\nconst warningSelectedFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 8,\r\n fill: new Fill({ color: '#FFC400' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 4 }),\r\n }),\r\n});\r\n\r\nconst successSelectedFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 8,\r\n fill: new Fill({ color: '#97D356' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 4 }),\r\n }),\r\n});\r\n\r\nconst highSuccessSelectedFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 8,\r\n fill: new Fill({ color: '#1E9B47' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 4 }),\r\n }),\r\n});\r\n\r\nconst unknownSelectedFeatureStyle = new Style({\r\n image: new Circle({\r\n radius: 8,\r\n fill: new Fill({ color: '#dbdbdb' }),\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 4 }),\r\n }),\r\n});\r\n\r\nconst clusterStyle = (totalFeatures: number) =>\r\n new Style({\r\n image: new Circle({\r\n radius: 15,\r\n stroke: new Stroke({ color: [77, 77, 77, 0.6], width: 3 }),\r\n fill: new Fill({ color: [255, 255, 255, 1] }),\r\n }),\r\n text: new Text({ text: '' + totalFeatures, textBaseline: 'middle', offsetY: 1 }),\r\n });\r\n\r\nconst selectedClusterStyle = (totalFeatures: number) =>\r\n new Style({\r\n image: new Circle({\r\n radius: 16,\r\n stroke: new Stroke({ color: [179, 142, 93, 1], width: 5 }),\r\n fill: new Fill({ color: [255, 255, 255, 1] }),\r\n }),\r\n text: new Text({ text: '' + totalFeatures, textBaseline: 'middle', offsetY: 1 }),\r\n });\r\n\r\nconst getFeatureStyle = (feature: Feature, attendanceType: AttendanceType) => {\r\n const rate =\r\n attendanceType === AttendanceType.STUDENT\r\n ? feature.get('studentAttendance')\r\n : attendanceType === AttendanceType.TEACHER\r\n ? feature.get('teacherAttendance')\r\n : feature.get('adminAttendance');\r\n\r\n if (rate >= 0 && rate <= 0.7) {\r\n return highDangerFeatureStyle;\r\n }\r\n if (rate > 0.7 && rate <= 0.8) {\r\n return dangerFeatureStyle;\r\n }\r\n if (rate > 0.8 && rate <= 0.9) {\r\n return warningFeatureStyle;\r\n }\r\n if (rate > 0.9 && rate <= 0.95) {\r\n return successFeatureStyle;\r\n }\r\n if (rate > 0.95 && rate <= 1) {\r\n return highSuccessFeatureStyle;\r\n }\r\n return unknownFeatureStyle;\r\n};\r\n\r\nconst getSelectedFeatureStyle = (feature: Feature, attendanceType: AttendanceType) => {\r\n const rate =\r\n attendanceType === AttendanceType.STUDENT\r\n ? feature.get('studentAttendance')\r\n : attendanceType === AttendanceType.TEACHER\r\n ? feature.get('teacherAttendance')\r\n : feature.get('adminAttendance');\r\n\r\n if (rate >= 0 && rate <= 0.7) {\r\n return highDangerSelectedFeatureStyle;\r\n }\r\n if (rate > 0.7 && rate <= 0.8) {\r\n return dangerSelectedFeatureStyle;\r\n }\r\n if (rate > 0.8 && rate <= 0.9) {\r\n return warningSelectedFeatureStyle;\r\n }\r\n if (rate > 0.9 && rate <= 0.95) {\r\n return successSelectedFeatureStyle;\r\n }\r\n if (rate > 0.95 && rate <= 1) {\r\n return highSuccessSelectedFeatureStyle;\r\n }\r\n return unknownSelectedFeatureStyle;\r\n};\r\n\r\nexport const schoolStyler = (attendanceType: AttendanceType, selected: string) => (cluster: Cluster, resolution: number) => {\r\n const features = cluster.get('features');\r\n if (features.find((feature: Feature) => feature.getId().toString() === selected)) {\r\n return features.length > 1 ? selectedClusterStyle(features.length) : getSelectedFeatureStyle(features[0], attendanceType);\r\n }\r\n return features.length > 1 ? clusterStyle(features.length) : getFeatureStyle(features[0], attendanceType);\r\n};\r\n","import { FeatureLike } from 'ol/Feature';\r\nimport { Fill, Stroke, Style } from 'ol/style';\r\n\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { GREEN, LIGHT_GREEN, LIGHT_GREY, LIGHT_RED, ORANGE, RED } from '@/primary/attendance-webmapping/styles/colors';\r\n\r\nconst toStyle = (color: number[]) =>\r\n new Style({\r\n stroke: new Stroke({ color: '#fff', width: 1 }),\r\n fill: new Fill({ color: [...color, 1] }),\r\n zIndex: 2,\r\n });\r\n\r\nconst noFill = new Style({\r\n stroke: new Stroke({ color: [255, 255, 255, 1], width: 6 }),\r\n fill: new Fill({ color: [255, 255, 255, 0] }),\r\n zIndex: 4,\r\n});\r\n\r\nconst lightGrey = toStyle(LIGHT_GREY);\r\nconst lightGreen = toStyle(LIGHT_GREEN);\r\nconst green = toStyle(GREEN);\r\nconst orange = toStyle(ORANGE);\r\nconst lightRed = toStyle(LIGHT_RED);\r\nconst red = toStyle(RED);\r\n\r\nexport const statesStyler = (attendanceType: AttendanceType, selected: string) => (feature: FeatureLike, resolution: number) => {\r\n if (feature.getId().toString() === selected) {\r\n return noFill;\r\n }\r\n\r\n const key =\r\n attendanceType === AttendanceType.STUDENT\r\n ? 'studentAttendance'\r\n : attendanceType === AttendanceType.TEACHER\r\n ? 'teacherAttendance'\r\n : 'adminAttendance';\r\n\r\n const rate = feature.get(key);\r\n\r\n if (rate >= 0 && rate <= 0.7) {\r\n return red;\r\n }\r\n\r\n if (rate > 0.7 && rate <= 0.8) {\r\n return lightRed;\r\n }\r\n\r\n if (rate > 0.8 && rate <= 0.9) {\r\n return orange;\r\n }\r\n\r\n if (rate > 0.9 && rate <= 0.95) {\r\n return lightGreen;\r\n }\r\n\r\n if (rate > 0.95 && rate <= 1) {\r\n return green;\r\n }\r\n\r\n return lightGrey;\r\n};\r\n","import { Feature, Map, MapBrowserEvent, Overlay, View } from 'ol';\r\nimport { Attribution, defaults as defaultControls, ScaleLine } from 'ol/control';\r\nimport { TopoJSON } from 'ol/format';\r\nimport { defaults as defaultInteractions } from 'ol/interaction';\r\nimport VectorLayer from 'ol/layer/Vector';\r\nimport { transformExtent } from 'ol/proj';\r\nimport Cluster from 'ol/source/Cluster';\r\nimport VectorSource from 'ol/source/Vector';\r\nimport { Style } from 'ol/style';\r\nimport { StyleFunction } from 'ol/style/Style';\r\nimport { FitOptions } from 'ol/View';\r\n\r\nexport const parseTopoJson = (topoJson: any): Feature[] => {\r\n const parser = new TopoJSON();\r\n const readOptions = { dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857' };\r\n return parser.readFeatures(topoJson, readOptions);\r\n};\r\n\r\nexport const setLayerFeature = (layer: VectorLayer, features: Feature[]) => {\r\n layer.getSource().clear();\r\n layer.getSource().addFeatures(features);\r\n};\r\n\r\nexport const setClusterLayerFeature = (layer: VectorLayer, features: Feature[]) => {\r\n const source = layer.getSource() as Cluster;\r\n source.getSource().clear();\r\n source.getSource().addFeatures(features);\r\n};\r\n\r\nexport const fitFeature = (map: Map, layer: VectorLayer, featureId: string, fitOptions: FitOptions = {}) => {\r\n const feature = layer.getSource().getFeatureById(featureId);\r\n if (feature) {\r\n const defaultOptions = { padding: [20, 20, 20, 20], duration: 1000 };\r\n map.getView().fit(feature.getGeometry().getExtent(), { ...defaultOptions, ...fitOptions });\r\n }\r\n};\r\n\r\nexport const addLayerSingleClickEvent = (map: Map) => {\r\n map.on('singleclick', event => {\r\n const features = map.getFeaturesAtPixel(event.pixel, { hitTolerance: 5 });\r\n if (features.length) {\r\n const feature = features[0] as Feature;\r\n map.forEachLayerAtPixel(\r\n event.pixel,\r\n layer => {\r\n layer.dispatchEvent(event);\r\n },\r\n { layerFilter: layer => (layer as VectorLayer).getSource().hasFeature(feature) }\r\n );\r\n }\r\n });\r\n};\r\n\r\nexport const makeEvent = (eventType: string, attributes = {}) => {\r\n return {\r\n target: undefined,\r\n type: eventType,\r\n preventDefault: () => {},\r\n stopPropagation: () => {},\r\n ...attributes,\r\n };\r\n};\r\n\r\nexport const createMap = (extent?: [number, number, number, number]) => {\r\n const interactionOptions = {\r\n altShiftDragRotate: false,\r\n pinchRotate: false,\r\n };\r\n\r\n const controlOptions = {\r\n attribution: false,\r\n rotate: false,\r\n };\r\n\r\n const controlExtensions = [new Attribution({ collapsible: false }), new ScaleLine()];\r\n\r\n const viewOptions = {\r\n center: [0, 0],\r\n enableRotation: false,\r\n extent: extent ? transformExtent(extent, 'EPSG:4326', 'EPSG:3857') : undefined,\r\n showFullExtent: true,\r\n maxZoom: 19,\r\n minZoom: 0,\r\n zoom: 0,\r\n };\r\n\r\n const mapOptions = {\r\n controls: defaultControls(controlOptions).extend(controlExtensions),\r\n interactions: defaultInteractions(interactionOptions),\r\n loadTilesWhileAnimating: false,\r\n loadTilesWhileInteracting: false,\r\n moveTolerance: 2,\r\n view: new View(viewOptions),\r\n };\r\n\r\n return new Map(mapOptions);\r\n};\r\n\r\nexport const createVectorLayer = (style?: Style | Style[] | StyleFunction) => {\r\n const sourceOptions = {\r\n features: [],\r\n };\r\n\r\n const options = {\r\n opacity: 1,\r\n visible: true,\r\n renderMode: 'image',\r\n renderBuffer: 1000,\r\n updateWhileAnimating: false,\r\n updateWhileInteracting: false,\r\n style,\r\n source: new VectorSource(sourceOptions),\r\n };\r\n\r\n return new VectorLayer(options);\r\n};\r\n\r\ntype ClusterStyleFunction = (cluster: Cluster, resolution: number) => Style | Style[];\r\n\r\nexport const createClusterLayer = (style?: Style | Style[] | ClusterStyleFunction) => {\r\n const sourceOptions = {\r\n features: [],\r\n };\r\n\r\n const clusterSource = {\r\n distance: 40,\r\n source: new VectorSource(sourceOptions),\r\n };\r\n\r\n const options = {\r\n opacity: 1,\r\n visible: true,\r\n renderMode: 'image',\r\n renderBuffer: 1000,\r\n updateWhileAnimating: false,\r\n updateWhileInteracting: false,\r\n style: style as Style | Style[] | StyleFunction,\r\n source: new Cluster(clusterSource),\r\n };\r\n\r\n return new VectorLayer(options) as any;\r\n};\r\n\r\nexport const createPopup = () => {\r\n const options = {\r\n autoPan: true,\r\n offset: [0, -18],\r\n autoPanMargin: 30,\r\n autoPanAnimation: {\r\n duration: 250,\r\n },\r\n };\r\n\r\n return new Overlay(options);\r\n};\r\n","import { Feature, Map, MapBrowserEvent, Overlay } from 'ol';\r\nimport Control from 'ol/control/Control';\r\nimport BaseEvent from 'ol/events/Event';\r\nimport { getCenter } from 'ol/extent';\r\nimport { Point } from 'ol/geom';\r\nimport VectorLayer from 'ol/layer/Vector';\r\nimport { transform } from 'ol/proj';\r\n\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { municipalityStyler } from '@/primary/attendance-webmapping/styles/municipalities/MunicipalityStyle';\r\nimport { schoolStyler } from '@/primary/attendance-webmapping/styles/schools/SchoolStyler';\r\nimport { statesStyler } from '@/primary/attendance-webmapping/styles/states/StateStyle';\r\nimport {\r\n fitFeature,\r\n makeEvent,\r\n setClusterLayerFeature,\r\n addLayerSingleClickEvent,\r\n parseTopoJson,\r\n setLayerFeature,\r\n} from '@/primary/WebmappingUtils';\r\n\r\nconst SINGLE_CLICK = 'singleclick';\r\nconst DOUBLE_CLICK = 'dblclick';\r\nconst SELECT_SCHOOL_CLUSTER = 'selectschoolcluster';\r\nconst SELECT_SCHOOL = 'selectschool';\r\n\r\nexport class AttendanceWebmapping {\r\n private initialized = false;\r\n private controls: Control[] = [];\r\n private municipalityFeaturesByState: { [key: string]: Feature[] } = {};\r\n private stateId = '';\r\n private municipalityId = '';\r\n private schoolId = '';\r\n private attendanceType = AttendanceType.STUDENT;\r\n\r\n constructor(\r\n private map: Map,\r\n private statesLayer: VectorLayer,\r\n private municipalitiesLayer: VectorLayer,\r\n private schoolsLayer: any,\r\n private popup: Overlay,\r\n private animationDuration = 1000\r\n ) {\r\n this.map.addLayer(this.statesLayer);\r\n this.map.addLayer(this.municipalitiesLayer);\r\n this.map.addLayer(this.schoolsLayer);\r\n this.map.addOverlay(this.popup);\r\n this.map.on('DOUBLE_CLICK', this.closePopup);\r\n this.schoolsLayer.on(SINGLE_CLICK, (event: MapBrowserEvent) => this.handlePopup(event));\r\n addLayerSingleClickEvent(this.map);\r\n }\r\n\r\n private mapAdministrativeDivisionProperties(features: Feature[], summaries: AdministrativeDivisionSummary[]) {\r\n const fallbackSummary: AdministrativeDivisionSummary = {\r\n id: '',\r\n name: '-',\r\n stateId: '',\r\n studentAttendance: -1,\r\n teacherAttendance: -1,\r\n adminAttendance: -1,\r\n };\r\n\r\n features.forEach(feature => {\r\n const summary = summaries.find(summary => summary.id === feature.getId()) || { ...fallbackSummary, id: feature.getId() };\r\n feature.set('name', summary.name);\r\n feature.set('studentAttendance', summary.studentAttendance);\r\n feature.set('teacherAttendance', summary.teacherAttendance);\r\n feature.set('adminAttendance', summary.adminAttendance);\r\n });\r\n }\r\n\r\n private toSchoolFeature(domainSchoolSummary: SchoolSummary): Feature {\r\n const featureOptions = {\r\n geometry: new Point(transform(domainSchoolSummary.coordinates, 'EPSG:4326', 'EPSG:3857')),\r\n name: domainSchoolSummary.name,\r\n turn: domainSchoolSummary.turn,\r\n studentAttendance: domainSchoolSummary.studentAttendance,\r\n teacherAttendance: domainSchoolSummary.teacherAttendance,\r\n adminAttendance: domainSchoolSummary.adminAttendance,\r\n };\r\n const feature = new Feature(featureOptions);\r\n feature.setId(domainSchoolSummary.id);\r\n return feature;\r\n }\r\n\r\n private municipalityReducer(accumulator: { [key: string]: Feature[] }, geometry: Feature) {\r\n const geometries = accumulator[geometry.get('stateId')] ? accumulator[geometry.get('stateId')] : [];\r\n return { ...accumulator, [geometry.get('stateId')]: [...geometries, geometry] };\r\n }\r\n\r\n private handlePopup(event: MapBrowserEvent) {\r\n const feature = this.map.getFeaturesAtPixel(event.pixel, { hitTolerance: 5 })[0];\r\n if (feature.get('features').length > 1) {\r\n const features = feature.get('features');\r\n this.schoolsLayer.dispatchEvent(makeEvent(SELECT_SCHOOL_CLUSTER, { features }));\r\n const coordinates = getCenter(feature.getGeometry().getExtent());\r\n this.popup.setPosition(coordinates);\r\n } else {\r\n this.schoolsLayer.dispatchEvent(makeEvent(SELECT_SCHOOL, { feature: feature.get('features')[0] }));\r\n }\r\n }\r\n\r\n private updateSchoolsLayer(attendanceType: AttendanceType, schoolId: string, schoolSummaries?: SchoolSummary[]) {\r\n if (schoolSummaries) {\r\n this.setSchoolsFeatures(schoolSummaries);\r\n }\r\n this.schoolId = schoolId;\r\n this.schoolsLayer.setStyle(schoolStyler(this.attendanceType, schoolId));\r\n }\r\n\r\n private updateMunicipalitiesLayer(attendanceType: AttendanceType, municipalityId: string, stateId: string, updateFeatures = true) {\r\n if (updateFeatures) {\r\n setLayerFeature(this.municipalitiesLayer, this.municipalityFeaturesByState[stateId] || []);\r\n }\r\n this.municipalityId = municipalityId;\r\n this.municipalitiesLayer.setStyle(municipalityStyler(attendanceType, municipalityId));\r\n }\r\n\r\n private updateStatesLayer(attendanceType: AttendanceType, stateId: string) {\r\n this.stateId = stateId;\r\n this.statesLayer.setStyle(statesStyler(attendanceType, stateId));\r\n }\r\n\r\n public setMapTarget(target: string | undefined) {\r\n this.map.setTarget(target);\r\n }\r\n\r\n public onSelectState(callable: (selectEvent: { id: string; name: string }) => void) {\r\n this.statesLayer.on(SINGLE_CLICK, (clickEvent: BaseEvent) => {\r\n const feature = this.map.getFeaturesAtPixel((clickEvent as MapBrowserEvent).pixel, { hitTolerance: 5 })[0];\r\n callable({ id: feature.getId().toString(), name: feature.get('name') });\r\n });\r\n }\r\n\r\n public onSelectMunicipality(callable: (selectEvent: { id: string; name: string }) => void) {\r\n this.municipalitiesLayer.on(SINGLE_CLICK, (clickEvent: BaseEvent) => {\r\n const feature = this.map.getFeaturesAtPixel((clickEvent as MapBrowserEvent).pixel, { hitTolerance: 5 })[0];\r\n callable({ id: feature.getId().toString(), name: feature.get('name') });\r\n });\r\n }\r\n\r\n public onSelectSchoolCluster(callable: (selectEvent: { id: string; name: string }[]) => void) {\r\n this.schoolsLayer.on(SELECT_SCHOOL_CLUSTER, (selectEvent: any) => {\r\n const schools = selectEvent.features.map((feature: Feature) => ({\r\n id: feature.getId().toString(),\r\n name: `${feature.get('name')} - ${feature.get('turn')}`,\r\n }));\r\n callable(schools);\r\n });\r\n }\r\n\r\n public onSelectSchool(callable: (selectEvent: { id: string; name: string }) => void) {\r\n this.schoolsLayer.on(SELECT_SCHOOL, (selectEvent: any) => {\r\n const feature = selectEvent.feature as Feature;\r\n callable({ id: feature.getId().toString(), name: feature.get('name') });\r\n });\r\n }\r\n\r\n public setPopupElement(element?: HTMLElement) {\r\n this.popup.setElement(element);\r\n }\r\n\r\n public addControls() {\r\n const recenterControlElement = document.getElementById('recenter-control') || undefined;\r\n const refreshControlElement = document.getElementById('refresh-control') || undefined;\r\n const recenterControl = new Control({ element: recenterControlElement });\r\n const refreshControl = new Control({ element: refreshControlElement });\r\n this.controls = [recenterControl, refreshControl];\r\n if (recenterControlElement) {\r\n this.map.addControl(recenterControl);\r\n }\r\n if (refreshControlElement) {\r\n this.map.addControl(refreshControl);\r\n }\r\n }\r\n\r\n public removeControls() {\r\n this.map.removeControl(this.controls[0]);\r\n this.map.removeControl(this.controls[1]);\r\n this.controls = [];\r\n }\r\n\r\n public setStatesFeatures(geometries: any, stateSummaries: AdministrativeDivisionSummary[]) {\r\n if (!this.initialized) {\r\n const features = parseTopoJson(geometries);\r\n this.mapAdministrativeDivisionProperties(features, stateSummaries);\r\n setLayerFeature(this.statesLayer, features);\r\n }\r\n }\r\n\r\n public setMunicipalitiesFeatures(geometries: any, municipalitySummaries: AdministrativeDivisionSummary[]) {\r\n if (!this.initialized) {\r\n const features = parseTopoJson(geometries);\r\n this.mapAdministrativeDivisionProperties(features, municipalitySummaries);\r\n this.municipalityFeaturesByState = features.reduce(this.municipalityReducer, {});\r\n }\r\n }\r\n\r\n public setSchoolsFeatures(schoolSummaries: SchoolSummary[]) {\r\n const features = schoolSummaries.map(summary => this.toSchoolFeature(summary));\r\n setClusterLayerFeature(this.schoolsLayer, features);\r\n }\r\n\r\n public fitToCountry(extentOnly: boolean) {\r\n if (!extentOnly) {\r\n this.updateStatesLayer(this.attendanceType, '');\r\n this.updateMunicipalitiesLayer(this.attendanceType, '', '');\r\n this.updateSchoolsLayer(this.attendanceType, '', []);\r\n }\r\n this.closePopup();\r\n this.map.getView().fit(this.statesLayer.getSource().getExtent(), { padding: [20, 20, 20, 20], duration: this.animationDuration });\r\n }\r\n\r\n public fitToState(stateId: string) {\r\n this.closePopup();\r\n this.updateStatesLayer(this.attendanceType, stateId);\r\n this.updateMunicipalitiesLayer(this.attendanceType, '', stateId);\r\n this.updateSchoolsLayer(this.attendanceType, '', []);\r\n fitFeature(this.map, this.statesLayer, stateId);\r\n }\r\n\r\n public fitToMunicipality(municipalityId: string) {\r\n this.closePopup();\r\n this.updateMunicipalitiesLayer(this.attendanceType, municipalityId, this.stateId, false);\r\n this.updateSchoolsLayer(this.attendanceType, '');\r\n fitFeature(this.map, this.municipalitiesLayer, municipalityId);\r\n }\r\n\r\n public fitToSchool(schoolId: string) {\r\n this.closePopup();\r\n this.updateSchoolsLayer(this.attendanceType, schoolId);\r\n }\r\n\r\n public updateMapSize() {\r\n this.map.updateSize();\r\n this.map.renderSync();\r\n }\r\n\r\n public setMinZoomToCurrentZoom() {\r\n this.map.getView().setMinZoom(this.map.getView().getZoom());\r\n }\r\n\r\n public closePopup() {\r\n this.popup.setPosition(undefined);\r\n }\r\n\r\n public switchAttendanceType(attendanceType: AttendanceType) {\r\n this.attendanceType = attendanceType;\r\n this.statesLayer.setStyle(statesStyler(attendanceType, this.stateId));\r\n this.municipalitiesLayer.setStyle(municipalityStyler(attendanceType, this.municipalityId));\r\n this.schoolsLayer.setStyle(schoolStyler(attendanceType, this.schoolId));\r\n }\r\n\r\n public adjust(extent: [number, number, number, number] | null, forceRender = false, callback = () => {}) {\r\n if (!this.initialized) {\r\n this.fitToCountry(true);\r\n this.initialized = true;\r\n }\r\n\r\n this.map.updateSize();\r\n\r\n if (extent) {\r\n this.map.getView().fit(extent, { callback });\r\n }\r\n }\r\n\r\n public getExtent() {\r\n return this.map.getView().calculateExtent(this.map.getSize());\r\n }\r\n}\r\n","import Vue from 'vue';\r\n\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\n\r\nconst SWITCH_ATTENDANCE_TYPE = 'switch:attendance';\r\n\r\nexport class AttendanceTypeBus {\r\n constructor(private bus: Vue) {}\r\n\r\n switchAttendanceType(attendanceType: AttendanceType) {\r\n this.bus.$emit(SWITCH_ATTENDANCE_TYPE, attendanceType);\r\n }\r\n\r\n onSwitchAttendanceType(callable: (attendanceType: AttendanceType) => void) {\r\n this.bus.$on(SWITCH_ATTENDANCE_TYPE, callable);\r\n }\r\n}\r\n","export const ANIMATION_DURATION = 1000;\r\nexport const UPDATE_MAP_VIEWPORT_DELAY = 2000;\r\nexport const MAP_EXTENT: [number, number, number, number] = [\r\n -123.22837830685677,\r\n 14.112642349612102,\r\n -81.86662169314323,\r\n 33.096241159845206,\r\n];\r\n","import { unparse } from 'papaparse';\r\n\r\nexport class CsvParser {\r\n constructor() {}\r\n\r\n toCsvString = (json: any) => {\r\n return unparse([json]);\r\n };\r\n}\r\n","export class Delayer {\r\n constructor(private nativeWindow: Window, private delay: number) {}\r\n\r\n afterDelay(callable: () => any) {\r\n this.nativeWindow.setTimeout(() => callable(), this.delay);\r\n }\r\n}\r\n","export class FileDownloader {\r\n constructor(private globalWindow: Window & typeof globalThis) {}\r\n\r\n download(filename: string, content: string, contentType: string) {\r\n const blob = new Blob(['\\ufeff', content], { type: contentType });\r\n const link = this.globalWindow.document.createElement('a');\r\n this.globalWindow.document.body.appendChild(link);\r\n link.href = this.globalWindow.URL.createObjectURL(blob);\r\n link.download = filename;\r\n link.click();\r\n this.globalWindow.URL.revokeObjectURL(link.href);\r\n this.globalWindow.document.body.removeChild(link);\r\n }\r\n}\r\n","import * as d3 from 'd3';\r\n\r\nimport { transformToImage } from '@/primary/ChartUtils';\r\n\r\nexport interface HistoricChartOptions {\r\n colors: string[];\r\n stackedKeys: string[];\r\n name: string;\r\n legend: { text: string; color: string }[];\r\n animationDuration: number;\r\n}\r\n\r\nconst MARGIN_TOP = 35;\r\nconst MARGIN_RIGHT = 20;\r\nconst MARGIN_BOTTOM = 80;\r\nconst MARGIN_LEFT = 40;\r\n\r\nconst locale = {\r\n dateTime: '%A, %e de %B de %Y, %X',\r\n date: '%d/%m/%Y',\r\n time: '%H:%M:%S',\r\n periods: ['AM', 'PM'],\r\n days: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],\r\n shortDays: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],\r\n months: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'],\r\n shortMonths: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\r\n};\r\n\r\nd3.timeFormatDefaultLocale(locale as any);\r\n\r\nconst parseDate = d3.timeFormat('%e de %B');\r\n\r\nconst tickFormat = (length: number, stepBreak: number): ((d: any, index: number) => string) => {\r\n const step = Math.trunc(length / stepBreak) + 1;\r\n return (d: any, index: number) => (index % step === 0 ? parseDate(new Date(d)) : '');\r\n};\r\n\r\nexport class HistoricChart {\r\n private readonly width: number = 1200;\r\n private readonly height: number = 400;\r\n private readonly stepBreak: number = 60;\r\n\r\n constructor(private windowWidth: number) {\r\n if (windowWidth <= 769) {\r\n this.width = 400;\r\n this.height = 400;\r\n this.stepBreak = 10;\r\n }\r\n }\r\n\r\n public makeStackedBarChart(selectorId: string, data: { [key: string]: any }[], options: HistoricChartOptions) {\r\n const chartWidth = this.width - MARGIN_LEFT - MARGIN_RIGHT;\r\n const chartHeight = this.height - MARGIN_TOP - MARGIN_BOTTOM;\r\n\r\n d3.select(`#${selectorId} > svg`).remove();\r\n const container = d3.select(`#${selectorId}`);\r\n\r\n const svg = container\r\n .append('svg')\r\n .attr('width', this.width)\r\n .attr('height', this.height)\r\n .attr('viewBox', `0 0 ${this.width} ${this.height}`)\r\n .attr('preserveAspectRatio', 'xMinYMid meet')\r\n .attr('class', 'is-full-width has-height-auto');\r\n\r\n const g = svg.append('g').attr('transform', `translate(${MARGIN_LEFT},${MARGIN_TOP})`);\r\n\r\n const x = d3\r\n .scaleBand()\r\n .rangeRound([0, chartWidth])\r\n .paddingInner(0.05);\r\n\r\n const y = d3.scaleLinear().range([chartHeight, 0]);\r\n\r\n const format = tickFormat(data.length, this.stepBreak);\r\n\r\n const xAxis = d3.axisBottom(x).tickFormat(format);\r\n\r\n const yAxis = d3\r\n .axisLeft(y)\r\n .ticks(10)\r\n .tickFormat(d => `${d}%`);\r\n\r\n x.domain(data.map(d => d.date));\r\n\r\n y.domain([0, 100]);\r\n\r\n g.append('g')\r\n .attr('class', 'x axis')\r\n .attr('transform', 'translate(0,' + chartHeight + ')')\r\n .call(xAxis)\r\n .selectAll('text')\r\n .style('text-anchor', 'end')\r\n .attr('dx', '-.8em')\r\n .attr('transform', 'rotate(-45)');\r\n\r\n const yAxisSelector = g\r\n .append('g')\r\n .attr('class', 'y-axis')\r\n .call(yAxis);\r\n\r\n const text = yAxisSelector\r\n .append('text')\r\n .attr('class', 'y-axis-title')\r\n .attr('y', -30)\r\n .attr('x', -20)\r\n .attr('dy', '.71em')\r\n .style('text-anchor', 'start')\r\n .style('fill', '#363636')\r\n .style('font', '11px Montserrat-Regular, sans-serif')\r\n .text(options.name);\r\n\r\n this.updateStackedChart(selectorId, data, options);\r\n }\r\n\r\n updateStackedChart(selectorId: string, data: { [key: string]: any }[], options: HistoricChartOptions) {\r\n const chartWidth = this.width - MARGIN_LEFT - MARGIN_RIGHT;\r\n const chartHeight = this.height - MARGIN_TOP - MARGIN_BOTTOM;\r\n const svg = d3.select(`#${selectorId} > svg`);\r\n const g = d3.select(`#${selectorId} > svg > g`);\r\n const group = svg.selectAll('g.layer').data(d3.stack().keys(options.stackedKeys)(data as any), (d: any) => d.key);\r\n const t = d3.transition().duration(options.animationDuration);\r\n\r\n const x = d3\r\n .scaleBand()\r\n .rangeRound([0, chartWidth])\r\n .paddingInner(0.05);\r\n\r\n const y = d3.scaleLinear().range([chartHeight, 0]);\r\n\r\n x.domain(data.map(d => d.date));\r\n y.domain([0, 100]);\r\n\r\n const z = d3\r\n .scaleOrdinal()\r\n .range(options.colors)\r\n .domain(options.stackedKeys);\r\n\r\n const format = tickFormat(data.length, this.stepBreak);\r\n\r\n const xAxis = d3.axisBottom(x).tickFormat(format);\r\n\r\n g.select('.x')\r\n .transition(t as any)\r\n .call(xAxis as any)\r\n .selectAll('text')\r\n .style('text-anchor', 'end')\r\n .attr('dx', '-.8em')\r\n .attr('transform', 'rotate(-45)');\r\n\r\n const yAxisSelector = d3.select(`#${selectorId} > svg g.y-axis`);\r\n const yAxisTitle = d3.select(`#${selectorId} > svg text.y-axis-title`).text(options.name) as any;\r\n const textLength = yAxisTitle.node()!.getComputedTextLength();\r\n let xLegend = textLength + 20;\r\n\r\n d3.selectAll(`#${selectorId} > svg text.legend-text`).remove();\r\n d3.selectAll(`#${selectorId} > svg rect.legend-color`).remove();\r\n\r\n options.legend.forEach(legendItem => {\r\n yAxisSelector\r\n .append('rect')\r\n .attr('class', 'legend-color')\r\n .attr('y', -32)\r\n .attr('x', xLegend)\r\n .attr('width', 10)\r\n .attr('height', 10)\r\n .style('fill', legendItem.color);\r\n\r\n xLegend += 15;\r\n\r\n const text = yAxisSelector\r\n .append('text')\r\n .attr('class', 'legend-text')\r\n .attr('y', -30)\r\n .attr('x', xLegend)\r\n .attr('dy', '.71em')\r\n .style('text-anchor', 'start')\r\n .style('fill', '#363636')\r\n .style('font', '10px Montserrat-Regular, sans-serif')\r\n .text(legendItem.text);\r\n\r\n xLegend += text.node()!.getComputedTextLength() + 15;\r\n });\r\n\r\n group\r\n .enter()\r\n .append('g')\r\n .attr('transform', `translate(${MARGIN_LEFT},${MARGIN_TOP})`)\r\n .classed('layer', true)\r\n .attr('fill', d => z(d.key) as any);\r\n\r\n group.exit().remove();\r\n\r\n const bars = svg\r\n .selectAll('g.layer')\r\n .selectAll('rect')\r\n .data(\r\n (d: any) => d,\r\n (e: any) => e.data.date\r\n );\r\n\r\n bars\r\n .enter()\r\n .append('rect')\r\n .merge(bars as any)\r\n .attr('x', (d: any) => x(d.data.date) as any)\r\n .attr('width', x.bandwidth())\r\n .attr('y', (d: any) => y(d[1]))\r\n .attr('height', (d: any) => y(d[0]) - y(d[1]));\r\n\r\n bars\r\n .exit()\r\n .transition(t as any)\r\n .remove();\r\n }\r\n\r\n public transformStackedBarChartToImage(\r\n selectorId: string,\r\n data: { [key: string]: any }[],\r\n options: HistoricChartOptions,\r\n callback: () => void\r\n ) {\r\n this.makeStackedBarChart(selectorId, data, options);\r\n transformToImage(selectorId, [this.width, this.height], callback);\r\n }\r\n}\r\n","import Vue from 'vue';\r\n\r\nimport { NavigationParams } from '@/primary/navigation/NavigationParams';\r\n\r\nconst BACK_TO_COUNTRY = 'back:country';\r\nconst BACK_TO_STATE = 'back:state';\r\nconst BACK_TO_MUNICIPALITY = 'back:municipality';\r\nconst GO_TO_STATE = 'go:state';\r\nconst GO_TO_MUNICIPALITY = 'go:municipality';\r\nconst GO_TO_SCHOOL = 'go:school';\r\n\r\nexport class NavigationBus {\r\n constructor(private bus: Vue) {}\r\n\r\n backToCountry() {\r\n this.bus.$emit(BACK_TO_COUNTRY);\r\n }\r\n\r\n backToState(navigationParams: NavigationParams) {\r\n this.bus.$emit(BACK_TO_STATE, navigationParams);\r\n }\r\n\r\n backToMunicipality(navigationParams: NavigationParams) {\r\n this.bus.$emit(BACK_TO_MUNICIPALITY, navigationParams);\r\n }\r\n\r\n goToState(navigationParams: NavigationParams) {\r\n this.bus.$emit(GO_TO_STATE, navigationParams);\r\n }\r\n\r\n goToMunicipality(navigationParams: NavigationParams) {\r\n this.bus.$emit(GO_TO_MUNICIPALITY, navigationParams);\r\n }\r\n\r\n goToSchool(navigationParams: NavigationParams) {\r\n this.bus.$emit(GO_TO_SCHOOL, navigationParams);\r\n }\r\n\r\n onBackToCountry(callable: () => void) {\r\n this.bus.$on(BACK_TO_COUNTRY, callable);\r\n }\r\n\r\n onBackToState(callable: (navigationParams: NavigationParams) => void) {\r\n this.bus.$on(BACK_TO_STATE, callable);\r\n }\r\n\r\n onBackToMunicipality(callable: (navigationParams: NavigationParams) => void) {\r\n this.bus.$on(BACK_TO_MUNICIPALITY, callable);\r\n }\r\n\r\n onGoToState(callable: (navigationParams: NavigationParams) => void) {\r\n this.bus.$on(GO_TO_STATE, callable);\r\n }\r\n\r\n onGoToMunicipality(callable: (navigationParams: NavigationParams) => void) {\r\n this.bus.$on(GO_TO_MUNICIPALITY, callable);\r\n }\r\n\r\n onGoToSchool(callable: (navigationParams: NavigationParams) => void) {\r\n this.bus.$on(GO_TO_SCHOOL, callable);\r\n }\r\n\r\n destroy() {\r\n this.bus.$destroy();\r\n }\r\n}\r\n","import { CustomError } from 'ts-custom-error';\r\n\r\nexport class CartONGError extends CustomError {\r\n cause(error: Error): CartONGError {\r\n if (this.stack && error.stack) {\r\n this.stack += `\\nCaused by: ${error.stack}`;\r\n }\r\n return this;\r\n }\r\n}\r\n","import { CartONGError } from '@/domain/CartONGError';\r\n\r\nexport class NotFound extends CartONGError {\r\n constructor(item: string) {\r\n super(`The item \"${item}\" was not found`);\r\n }\r\n}\r\n","import { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\n\r\nexport interface RestAdministrativeDivisionDailyReport {\r\n fecha: string;\r\n indiceClasesPresenciales: number;\r\n indiceAsistenciaDocentes: number;\r\n indiceInasistenciaAlumnos: number;\r\n indiceInasistenciaAlumnas: number;\r\n}\r\nexport const toAdministrativeDivisionHistory = (\r\n restAdministrativeDivisionHistory: RestAdministrativeDivisionDailyReport\r\n): AdministrativeDivisionDailyReport => ({\r\n date: restAdministrativeDivisionHistory.fecha,\r\n giveClasses: restAdministrativeDivisionHistory.indiceClasesPresenciales,\r\n teacherAttendance: restAdministrativeDivisionHistory.indiceAsistenciaDocentes,\r\n maleStudentAbsence: restAdministrativeDivisionHistory.indiceInasistenciaAlumnos,\r\n femaleStudentAbsence: restAdministrativeDivisionHistory.indiceInasistenciaAlumnas,\r\n});\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport { AdministrativeDivisionDailyReport } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReport';\r\nimport { AdministrativeDivisionDailyReportRepository } from '@/domain/administrative-division-daily-report/AdministrativeDivisionDailyReportRepository';\r\nimport { AdministrativeDivisionTypes } from '@/domain/administrative-division/AdministrativeDivisionTypes';\r\nimport { NotFound } from '@/domain/NotFound';\r\nimport {\r\n RestAdministrativeDivisionDailyReport,\r\n toAdministrativeDivisionHistory,\r\n} from '@/secondary/administrative-division-daily-report/RestAdministrativeDivisionDailyReport';\r\n\r\nconst listForAdministrativeDivisionUrl = (type: AdministrativeDivisionTypes, administrativeDivisionId: string, environment: string) => {\r\n switch (type) {\r\n case AdministrativeDivisionTypes.COUNTRY:\r\n return environment === 'development' ? 'country_history.json' : 'countryHistory.json';\r\n case AdministrativeDivisionTypes.STATE:\r\n return environment === 'development' ? 'state_history.json' : `${administrativeDivisionId}/stateHistory.json`;\r\n case AdministrativeDivisionTypes.MUNICIPALITY:\r\n return environment === 'development'\r\n ? 'municipality_history.json'\r\n : `${administrativeDivisionId.substring(0, 2)}/${administrativeDivisionId.substring(2)}/municipalityHistory.json`;\r\n }\r\n};\r\n\r\nexport class RestAdministrativeDivisionDailyReportRepository implements AdministrativeDivisionDailyReportRepository {\r\n constructor(private axiosInstance: AxiosInstance, private environment: string) {}\r\n\r\n listForAdministrativeDivision(\r\n type: AdministrativeDivisionTypes,\r\n administrativeDivisionId: string\r\n ): Promise {\r\n const url = listForAdministrativeDivisionUrl(type, administrativeDivisionId, this.environment);\r\n return this.axiosInstance\r\n .get(url)\r\n .then(response => response.data.map(toAdministrativeDivisionHistory))\r\n .catch(error => {\r\n throw new NotFound(`administrative division daily reports [${type}]`).cause(error);\r\n });\r\n }\r\n}\r\n","import { CartONGError } from '@/domain/CartONGError';\r\n\r\nconst isBadFormat = (pattern: string): boolean => !pattern.match(/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/);\r\n\r\nexport class InvalidDate extends CartONGError {\r\n constructor() {\r\n super('The date is invalid');\r\n }\r\n static assertValidity(pattern: string): void {\r\n if (isBadFormat(pattern) || isNaN(Date.parse(pattern))) {\r\n throw new InvalidDate();\r\n }\r\n }\r\n}\r\n","import { InvalidDate } from '@/domain/date/InvalidDate';\r\n\r\nexport class LocalDate {\r\n private constructor(private isoDate: string) {\r\n InvalidDate.assertValidity(isoDate);\r\n }\r\n\r\n static of(isoDate: string): LocalDate {\r\n return new LocalDate(isoDate);\r\n }\r\n\r\n toHuman() {\r\n const [, year, month, day] = this.isoDate.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/)!;\r\n return `${day}/${month}/${year}`;\r\n }\r\n}\r\n","import { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionTypes } from '@/domain/administrative-division/AdministrativeDivisionTypes';\r\nimport { LocalDate } from '@/domain/date/LocalDate';\r\n\r\nexport interface RestAdministrativeDivision {\r\n id: string;\r\n nombre: string;\r\n fechaUltimoReporte: string;\r\n entidadId: string;\r\n sostenimiento: { privado: number; publico: number };\r\n indiceAsistenciaAlumnado: number;\r\n indiceAsistenciaDocentes: number;\r\n indiceAsistenciaAdmin: number;\r\n indiceInasistenciaAlumnas: number;\r\n indiceInasistenciaAlumnos: number;\r\n sumaEscuelas: number;\r\n sumaAlumnado: number;\r\n sumaAlumnas: number;\r\n sumaAlumnos: number;\r\n hayClases: { [key: string]: number };\r\n sumaHayClases: { [key: string]: number };\r\n sumaDocentes: number;\r\n sumaGrupos: number;\r\n sumaDirector: number;\r\n sumaSubdirector: number;\r\n sumaAtps: number;\r\n sumaEducfis: number;\r\n sumaAdmin: number;\r\n sumaIntenden: number;\r\n sumaOtros: number;\r\n tipoAbasAgua: { [key: string]: number };\r\n sumaTipoAbasAgua: { [key: string]: number };\r\n contServAgua: { [key: string]: number };\r\n sumaContServAgua: { [key: string]: number };\r\n aguaLavamanos: { [key: string]: number };\r\n sumaAguaLavamanos: { [key: string]: number };\r\n sumaLavamanos: number;\r\n jabon: { [key: string]: number };\r\n sumaJabon: { [key: string]: number };\r\n toallas: { [key: string]: number };\r\n sumaToallas: { [key: string]: number };\r\n sanitizante: { [key: string]: number };\r\n sumaSanitizante: { [key: string]: number };\r\n botesBasura: { [key: string]: number };\r\n sumaBotesBasura: { [key: string]: number };\r\n tipoDrenaje: { [key: string]: number };\r\n sumaTipoDrenaje: { [key: string]: number };\r\n sumaEspacios: { [key: string]: number };\r\n espacios: { [key: string]: number };\r\n comite: { [key: string]: number };\r\n sumaComite: { [key: string]: number };\r\n alterna_asis: { [key: string]: number };\r\n sumaAlterna_asis: { [key: string]: number };\r\n sumaInaAlumnas: number;\r\n sumaInaAlumnos: number;\r\n causaInaAlum: { [key: string]: number };\r\n sumaCausaInaAlum: { [key: string]: number };\r\n sumaInaDocentes: number;\r\n causaInaDocente: { [key: string]: number };\r\n sumaCausaInaDocente: { [key: string]: number };\r\n sumaInaAdministrativos: number;\r\n causaInaAdmin: { [key: string]: number };\r\n sumaCausaInaAdmin: { [key: string]: number };\r\n accion: { visita: number; llamada: number; beca: number; ninguna: number };\r\n sumaBebederos: number;\r\n sumaWcalumnas: number;\r\n sumaWcalumnos: number;\r\n indiceAlimentos: { [key: string]: number };\r\n alimentos: { dif: number; etc: number; edo: number; otro: number };\r\n indiceEscuelaNuestra: { [key: string]: number };\r\n sumaAccionvisita: number;\r\n sumaAccionllamada: number;\r\n sumaAccionbeca: number;\r\n sumaAccionninguna: number;\r\n sumaAlimentos: number;\r\n sumaAlimentosdif: number;\r\n sumaAlimentosetc: number;\r\n sumaAlimentosedo: number;\r\n sumaAlimentosotro: number;\r\n sumaEscuelanuestra: number;\r\n contservelectrica?: { [key: string]: number };\r\n sumaContservelectrica?: { [key: string]: number };\r\n internet?: { [key: string]: number };\r\n sumaInternet?: { [key: string]: number };\r\n}\r\n\r\nconst genderPercentage = (gender: number, otherGender: number): number => {\r\n if (gender === -1 || otherGender === -1) {\r\n return -1;\r\n }\r\n const total = gender + otherGender;\r\n return total === 0 ? 0 : Math.round((gender / total) * 100) / 100;\r\n};\r\n\r\nexport const toAdministrativeDivision = (\r\n restAdministrativeDivision: RestAdministrativeDivision,\r\n type: AdministrativeDivisionTypes\r\n): AdministrativeDivision => ({\r\n id: `${restAdministrativeDivision.entidadId || ''}${restAdministrativeDivision.id}`,\r\n name: restAdministrativeDivision.nombre,\r\n lastUpdateDate: LocalDate.of(restAdministrativeDivision.fechaUltimoReporte),\r\n type: type,\r\n stateId: restAdministrativeDivision.entidadId || '',\r\n support: {\r\n private: restAdministrativeDivision.sostenimiento.privado,\r\n public: restAdministrativeDivision.sostenimiento.publico,\r\n },\r\n studentAttendance: restAdministrativeDivision.indiceAsistenciaAlumnado,\r\n teacherAttendance: restAdministrativeDivision.indiceAsistenciaDocentes,\r\n adminAttendance: restAdministrativeDivision.indiceAsistenciaAdmin,\r\n maleStudentAbsencePercentageOverStudentAbsence: restAdministrativeDivision.indiceInasistenciaAlumnos,\r\n femaleStudentAbsencePercentageOverStudentAbsence: restAdministrativeDivision.indiceInasistenciaAlumnas,\r\n schools: restAdministrativeDivision.sumaEscuelas,\r\n students: restAdministrativeDivision.sumaAlumnado,\r\n femaleStudents: restAdministrativeDivision.sumaAlumnas,\r\n maleStudents: restAdministrativeDivision.sumaAlumnos,\r\n maleStudentPercentage: genderPercentage(restAdministrativeDivision.sumaAlumnos, restAdministrativeDivision.sumaAlumnas),\r\n femaleStudentPercentage: genderPercentage(restAdministrativeDivision.sumaAlumnas, restAdministrativeDivision.sumaAlumnos),\r\n teachers: restAdministrativeDivision.sumaDocentes,\r\n assistants: restAdministrativeDivision.sumaGrupos,\r\n directors: restAdministrativeDivision.sumaDirector,\r\n subDirectors: restAdministrativeDivision.sumaSubdirector,\r\n technicalPedagogicalAdvisers: restAdministrativeDivision.sumaAtps,\r\n physicalEducationTeachers: restAdministrativeDivision.sumaEducfis,\r\n admins: restAdministrativeDivision.sumaAdmin,\r\n quartermasters: restAdministrativeDivision.sumaIntenden,\r\n others: restAdministrativeDivision.sumaOtros,\r\n schoolGivingClasses: restAdministrativeDivision.sumaHayClases,\r\n schoolGivingClassesPercentages: restAdministrativeDivision.hayClases,\r\n schoolWaterSupply: restAdministrativeDivision.sumaTipoAbasAgua,\r\n schoolWaterSupplyPercentages: restAdministrativeDivision.tipoAbasAgua,\r\n schoolWaterServiceContinuity: restAdministrativeDivision.sumaContServAgua,\r\n schoolWaterServiceContinuityPercentages: restAdministrativeDivision.contServAgua,\r\n schoolWithWaterForHandWashing: restAdministrativeDivision.sumaAguaLavamanos,\r\n schoolWithWaterForHandWashingPercentages: restAdministrativeDivision.aguaLavamanos,\r\n schoolFunctionalSinkCount: restAdministrativeDivision.sumaLavamanos,\r\n schoolSoapSufficiency: restAdministrativeDivision.sumaJabon,\r\n schoolSoapSufficiencyPercentages: restAdministrativeDivision.jabon,\r\n schoolTowelSufficiency: restAdministrativeDivision.sumaToallas,\r\n schoolTowelSufficiencyPercentages: restAdministrativeDivision.toallas,\r\n schoolSanitizerSufficiency: restAdministrativeDivision.sumaSanitizante,\r\n schoolSanitizerSufficiencyPercentages: restAdministrativeDivision.sanitizante,\r\n schoolBinSufficiency: restAdministrativeDivision.sumaBotesBasura,\r\n schoolBinSufficiencyPercentages: restAdministrativeDivision.botesBasura,\r\n schoolWithSepticSystem: restAdministrativeDivision.sumaTipoDrenaje,\r\n schoolWithSepticSystemPercentages: restAdministrativeDivision.tipoDrenaje,\r\n schoolWithAbilityToReorganizeSpace: restAdministrativeDivision.sumaEspacios,\r\n schoolWithAbilityToReorganizeSpacePercentages: restAdministrativeDivision.espacios,\r\n hygieneCommittee: restAdministrativeDivision.sumaComite,\r\n hygieneCommitteePercentages: restAdministrativeDivision.comite,\r\n alternatesAttendance: restAdministrativeDivision.sumaAlterna_asis,\r\n alternatesAttendancePercentages: restAdministrativeDivision.alterna_asis,\r\n absentFemaleStudents: restAdministrativeDivision.sumaInaAlumnas,\r\n absentMaleStudents: restAdministrativeDivision.sumaInaAlumnos,\r\n studentAbsenceMainReasons: restAdministrativeDivision.sumaCausaInaAlum || {},\r\n studentAbsenceMainReasonsPercentages: restAdministrativeDivision.causaInaAlum || {},\r\n absentTeachers: restAdministrativeDivision.sumaInaDocentes,\r\n teacherAbsenceMainReasons: restAdministrativeDivision.sumaCausaInaDocente || {},\r\n teacherAbsenceMainReasonsPercentages: restAdministrativeDivision.causaInaDocente || {},\r\n absentAdmins: restAdministrativeDivision.sumaInaAdministrativos,\r\n adminAbsenceMainReasons: restAdministrativeDivision.sumaCausaInaAdmin || {},\r\n adminAbsenceMainReasonsPercentages: restAdministrativeDivision.causaInaAdmin || {},\r\n takenActions: {\r\n visits: restAdministrativeDivision.sumaAccionvisita,\r\n calls: restAdministrativeDivision.sumaAccionllamada,\r\n scholarship: restAdministrativeDivision.sumaAccionbeca,\r\n none: restAdministrativeDivision.sumaAccionninguna,\r\n },\r\n takenActionsPercentages: {\r\n visits: restAdministrativeDivision.accion.visita,\r\n calls: restAdministrativeDivision.accion.llamada,\r\n scholarship: restAdministrativeDivision.accion.beca,\r\n none: restAdministrativeDivision.accion.ninguna,\r\n },\r\n drinkers: restAdministrativeDivision.sumaBebederos,\r\n maleStudentToilets: restAdministrativeDivision.sumaWcalumnos,\r\n femaleStudentToilets: restAdministrativeDivision.sumaWcalumnas,\r\n foodSupport: {\r\n '1': restAdministrativeDivision.sumaAlimentos,\r\n '2': restAdministrativeDivision.sumaEscuelas - restAdministrativeDivision.sumaAlimentos,\r\n },\r\n foodSupportPercentages: restAdministrativeDivision.indiceAlimentos,\r\n foodSupportType: {\r\n dif: restAdministrativeDivision.sumaAlimentosdif,\r\n fullTimeProgram: restAdministrativeDivision.sumaAlimentosetc,\r\n state: restAdministrativeDivision.sumaAlimentosedo,\r\n others: restAdministrativeDivision.sumaAlimentosotro,\r\n },\r\n foodSupportTypePercentages: {\r\n dif: restAdministrativeDivision.alimentos.dif,\r\n fullTimeProgram: restAdministrativeDivision.alimentos.etc,\r\n state: restAdministrativeDivision.alimentos.edo,\r\n others: restAdministrativeDivision.alimentos.otro,\r\n },\r\n theSchoolIsOurs: {\r\n '1': restAdministrativeDivision.sumaEscuelanuestra,\r\n '2': restAdministrativeDivision.sumaEscuelas - restAdministrativeDivision.sumaEscuelanuestra,\r\n },\r\n theSchoolIsOursPercentages: restAdministrativeDivision.indiceEscuelaNuestra,\r\n electricitySources: restAdministrativeDivision.sumaContservelectrica || { '1': -1, '2': -1, '3': -1, '4': -1, '5': -1 },\r\n electricitySourcesPercentages: restAdministrativeDivision.contservelectrica || { '1': -1, '2': -1, '3': -1, '4': -1, '5': -1 },\r\n internetAccess: restAdministrativeDivision.sumaInternet || { '1': -1, '2': -1 },\r\n internetAccessPercentages: restAdministrativeDivision.internet || { '1': -1, '2': -1 },\r\n});\r\n","import { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\n\r\nexport interface RestAdministrativeDivisionSummary {\r\n id: string;\r\n entidadId: string;\r\n nombre: string;\r\n indiceAsistenciaAlumnado: number;\r\n indiceAsistenciaDocentes: number;\r\n indiceAsistenciaAdmin: number;\r\n}\r\n\r\nexport const toAdministrativeDivisionSummary = (\r\n restAdministrativeDivisionSummary: RestAdministrativeDivisionSummary\r\n): AdministrativeDivisionSummary => ({\r\n id: `${restAdministrativeDivisionSummary.entidadId || ''}${restAdministrativeDivisionSummary.id}`,\r\n name: restAdministrativeDivisionSummary.nombre,\r\n stateId: restAdministrativeDivisionSummary.entidadId || '',\r\n studentAttendance: restAdministrativeDivisionSummary.indiceAsistenciaAlumnado,\r\n teacherAttendance: restAdministrativeDivisionSummary.indiceAsistenciaDocentes,\r\n adminAttendance: restAdministrativeDivisionSummary.indiceAsistenciaAdmin,\r\n});\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport { AdministrativeDivision } from '@/domain/administrative-division/AdministrativeDivision';\r\nimport { AdministrativeDivisionRepository } from '@/domain/administrative-division/AdministrativeDivisionRepository';\r\nimport { AdministrativeDivisionSummary } from '@/domain/administrative-division/AdministrativeDivisionSummary';\r\nimport { AdministrativeDivisionTypes } from '@/domain/administrative-division/AdministrativeDivisionTypes';\r\nimport { NotFound } from '@/domain/NotFound';\r\nimport { RestAdministrativeDivision, toAdministrativeDivision } from '@/secondary/administrative-division/RestAdministrativeDivision';\r\nimport {\r\n RestAdministrativeDivisionSummary,\r\n toAdministrativeDivisionSummary,\r\n} from '@/secondary/administrative-division/RestAdministrativeDivisionSummary';\r\n\r\nconst listUrl = (type: AdministrativeDivisionTypes, environment: string) => {\r\n switch (type) {\r\n case AdministrativeDivisionTypes.COUNTRY:\r\n return environment === 'development' ? 'country.json' : 'country.json';\r\n case AdministrativeDivisionTypes.STATE:\r\n return environment === 'development' ? 'states.json' : 'stateSummary.json';\r\n case AdministrativeDivisionTypes.MUNICIPALITY:\r\n return environment === 'development' ? 'municipalities.json' : 'municipalitySummary.json';\r\n }\r\n};\r\n\r\nconst findUrl = (type: AdministrativeDivisionTypes, administrativeDivisionId: string, environment: string) => {\r\n switch (type) {\r\n case AdministrativeDivisionTypes.COUNTRY:\r\n return environment === 'development' ? 'country.json' : 'country.json';\r\n case AdministrativeDivisionTypes.STATE:\r\n return environment === 'development' ? 'state.json' : `${administrativeDivisionId}/stateDetail.json`;\r\n case AdministrativeDivisionTypes.MUNICIPALITY:\r\n return environment === 'development'\r\n ? 'municipality.json'\r\n : `${administrativeDivisionId.substring(0, 2)}/${administrativeDivisionId.substring(2)}/municipalityDetail.json`;\r\n }\r\n};\r\n\r\nexport class RestAdministrativeDivisionRepository implements AdministrativeDivisionRepository {\r\n constructor(private axiosInstance: AxiosInstance, private environment: string) {}\r\n\r\n find(type: AdministrativeDivisionTypes, administrativeDivisionId: string): Promise {\r\n const url = findUrl(type, administrativeDivisionId, this.environment);\r\n return this.axiosInstance\r\n .get(url)\r\n .then(response => toAdministrativeDivision(response.data, type))\r\n .catch(error => {\r\n throw new NotFound(`administrative division [${type}]`).cause(error);\r\n });\r\n }\r\n\r\n list(type: AdministrativeDivisionTypes): Promise {\r\n const url = listUrl(type, this.environment);\r\n return this.axiosInstance\r\n .get(url)\r\n .then(response => response.data.map(toAdministrativeDivisionSummary))\r\n .catch(error => {\r\n throw new NotFound(`administrative division summary [${type}]`).cause(error);\r\n });\r\n }\r\n}\r\n","import { Logger } from '@/domain/Logger';\r\n\r\nexport class ConsoleLogger implements Logger {\r\n constructor(private logger: Console) {}\r\n\r\n error(message: string, error: Error) {\r\n this.logger.error(message, error);\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport { Fetcher } from '@/domain/Fetcher';\r\nimport { NotFound } from '@/domain/NotFound';\r\n\r\nexport class LocalFetcher implements Fetcher {\r\n constructor(private axiosInstance: AxiosInstance) {}\r\n\r\n fetch(file: string): Promise {\r\n return this.axiosInstance\r\n .get(file)\r\n .then(response => response.data)\r\n .catch(error => {\r\n throw new NotFound(`at the url: \"${file}\"`).cause(error);\r\n });\r\n }\r\n}\r\n","import { Emitter } from 'mitt';\r\n\r\nconst BEFORE_PRINT_NATIVE_EVENT = 'beforeprint';\r\nconst AFTER_PRINT_NATIVE_EVENT = 'afterprint';\r\n\r\nconst BEFORE_PRINT_EVENT = 'print:before';\r\nconst AFTER_PRINT_EVENT = 'print:after';\r\n\r\nexport class Printer {\r\n constructor(private window: Window, private bus: Emitter) {\r\n if (this.window.navigator.userAgent.match(/Chrome/)) {\r\n this.window.matchMedia('print').addEventListener('change', event => {\r\n const internalEvent = event.matches ? BEFORE_PRINT_EVENT : AFTER_PRINT_EVENT;\r\n this.bus.emit(internalEvent);\r\n });\r\n } else {\r\n this.window.addEventListener(BEFORE_PRINT_NATIVE_EVENT, () => this.bus.emit(BEFORE_PRINT_EVENT));\r\n this.window.addEventListener(AFTER_PRINT_NATIVE_EVENT, () => this.bus.emit(AFTER_PRINT_EVENT));\r\n }\r\n }\r\n\r\n public print() {\r\n this.window.print();\r\n }\r\n\r\n public onBeforePrint(callable: () => void) {\r\n this.bus.on(BEFORE_PRINT_EVENT, callable);\r\n }\r\n\r\n public onAfterPrint(callable: () => void) {\r\n this.bus.on(AFTER_PRINT_EVENT, callable);\r\n }\r\n\r\n public offBeforePrint(callable: () => void) {\r\n this.bus.off(BEFORE_PRINT_EVENT, callable);\r\n }\r\n\r\n public offAfterPrint(callable: () => void) {\r\n this.bus.off(AFTER_PRINT_EVENT, callable);\r\n }\r\n}\r\n","import { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\n\r\nexport interface RestSchoolDailyReport {\r\n fecha: string;\r\n indiceAsistenciaDocentes: number;\r\n indiceInasistenciaAlumnos: number;\r\n indiceInasistenciaAlumnas: number;\r\n}\r\n\r\nexport const toSchoolDailyReport = (restSchoolDailyReport: RestSchoolDailyReport): SchoolDailyReport => ({\r\n date: restSchoolDailyReport.fecha,\r\n teacherAttendance: restSchoolDailyReport.indiceAsistenciaDocentes,\r\n maleStudentAbsence: restSchoolDailyReport.indiceInasistenciaAlumnos,\r\n femaleStudentAbsence: restSchoolDailyReport.indiceInasistenciaAlumnas,\r\n});\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport { NotFound } from '@/domain/NotFound';\r\nimport { SchoolDailyReport } from '@/domain/school-daily-report/SchoolDailyReport';\r\nimport { SchoolDailyReportRepository } from '@/domain/school-daily-report/SchoolDailyReportRepository';\r\nimport { RestSchoolDailyReport, toSchoolDailyReport } from '@/secondary/school-daily-report/RestSchoolDailyReport';\r\n\r\nexport class RestSchoolDailyReportRepository implements SchoolDailyReportRepository {\r\n constructor(private axiosInstance: AxiosInstance, private environment: string) {}\r\n\r\n listForSchool(schoolId: string): Promise {\r\n const restSchoolId = schoolId.split('__')[0];\r\n const url = this.environment === 'development' ? 'school_history.json' : `${restSchoolId}/schoolHistory.json`;\r\n return this.axiosInstance\r\n .get(url)\r\n .then(response => response.data.map(toSchoolDailyReport))\r\n .catch(error => {\r\n throw new NotFound('school daily reports').cause(error);\r\n });\r\n }\r\n}\r\n","import { LocalDate } from '@/domain/date/LocalDate';\r\nimport { School } from '@/domain/school/School';\r\n\r\nexport interface RestSchool {\r\n id: string;\r\n localidad: string;\r\n municipioId: string;\r\n entidadId: string;\r\n nombre: string;\r\n fechaUltimoReporte: string;\r\n indiceAsistenciaAlumnado: number;\r\n indiceAsistenciaDocentes: number;\r\n indiceAsistenciaAdmin: number;\r\n nivel: string;\r\n cct: string;\r\n turno: string;\r\n hayClases: 1;\r\n modalidad: string;\r\n municipio: string;\r\n cod_localidad: string;\r\n domicilio: string;\r\n cod_inmueble: string;\r\n sostenimiento: string;\r\n alumnas: number;\r\n alumnos: number;\r\n sumaAlumnos: number;\r\n docentes: number;\r\n grupos: number;\r\n director: number;\r\n subdirector: number;\r\n atps: number;\r\n educfis: number;\r\n admin: number;\r\n intenden: number;\r\n otros: number;\r\n tipoAbasAgua: number;\r\n contServAgua: number;\r\n aguaLavamanos: number;\r\n lavamanos: number;\r\n jabon: number;\r\n toallas: number;\r\n sanitizante: number;\r\n botesBasura: number;\r\n tipoDrenaje: number;\r\n espacios: number;\r\n comite: number;\r\n alterna_asis: number;\r\n inaalumnas: number;\r\n inaalumnos: number;\r\n inaalum_causa1: number;\r\n inaalum_causa2: number;\r\n inaalum_causa3: number;\r\n inaalum_causa4: number;\r\n inaalum_causa5: number;\r\n inaalum_causaotro: string;\r\n sumaInaDocentes: number;\r\n inadoc_causa1: number;\r\n inadoc_causa2: number;\r\n inadoc_causa3: number;\r\n inadoc_causa4: number;\r\n inadoc_causaotro: string;\r\n sumaInaAdministrativos: number;\r\n inaadm_causa1: number;\r\n inaadm_causa2: number;\r\n inaadm_causa3: number;\r\n inaadm_causa4: number;\r\n inaadm_causaotro: string;\r\n comentarios: string;\r\n indiceAlumnasSobreInasistencias: number;\r\n indiceAlumnosSobreInasistencias: number;\r\n indiceInasistenciaAlumnas: number;\r\n indiceInasistenciaAlumnos: number;\r\n alum_prog: number;\r\n alimentos: number;\r\n alimentosdif: number;\r\n alimentosetc: number;\r\n alimentosedo: number;\r\n alimentosotro: number;\r\n alimentosotro_txt: string;\r\n bebederos: number;\r\n wcalumnas: number;\r\n wcalumnos: number;\r\n accionvisita: number;\r\n accionllamada: number;\r\n accionbeca: number;\r\n accionninguna: number;\r\n escuelanuestra: number;\r\n contservelectrica?: number;\r\n internet?: number;\r\n}\r\n\r\nconst genderPercentage = (gender: number, otherGender: number): number => {\r\n if (gender === -1 || otherGender === -1) {\r\n return -1;\r\n }\r\n const total = gender + otherGender;\r\n return total === 0 ? 0 : Math.round((gender / total) * 100) / 100;\r\n};\r\n\r\nconst toValidCount = (count: number) => (isNaN(count) || count < 0 ? 0 : count);\r\n\r\nconst toRate = (value: number, total: number) => (total === 0 ? 0 : Math.round((toValidCount(value) / total) * 100) / 100);\r\n\r\nexport const toSchool = (restSchool: RestSchool): School => {\r\n const totalStudentAbsenceMainReasons =\r\n toValidCount(restSchool.inaalum_causa1) +\r\n toValidCount(restSchool.inaalum_causa2) +\r\n toValidCount(restSchool.inaalum_causa3) +\r\n toValidCount(restSchool.inaalum_causa4) +\r\n toValidCount(restSchool.inaalum_causa5);\r\n\r\n const totalTeachersAbsenceMainReasons =\r\n toValidCount(restSchool.inadoc_causa1) +\r\n toValidCount(restSchool.inadoc_causa2) +\r\n toValidCount(restSchool.inadoc_causa3) +\r\n toValidCount(restSchool.inadoc_causa4);\r\n\r\n const totalAdminAbsenceMainReasons =\r\n toValidCount(restSchool.inaadm_causa1) +\r\n toValidCount(restSchool.inaadm_causa2) +\r\n toValidCount(restSchool.inaadm_causa3) +\r\n toValidCount(restSchool.inaadm_causa4);\r\n\r\n return {\r\n id: restSchool.id,\r\n locality: restSchool.localidad,\r\n municipalityId: restSchool.municipioId,\r\n stateId: restSchool.entidadId,\r\n name: restSchool.nombre,\r\n lastUpdateDate: LocalDate.of(restSchool.fechaUltimoReporte),\r\n studentAttendance: restSchool.indiceAsistenciaAlumnado,\r\n maleStudentAbsencePercentageOverStudentAbsence: restSchool.indiceInasistenciaAlumnos,\r\n femaleStudentAbsencePercentageOverStudentAbsence: restSchool.indiceInasistenciaAlumnas,\r\n teacherAttendance: restSchool.indiceAsistenciaDocentes,\r\n adminAttendance: restSchool.indiceAsistenciaAdmin,\r\n level: restSchool.nivel,\r\n workCenterKey: restSchool.cct,\r\n turn: restSchool.turno,\r\n givesClasses: restSchool.hayClases,\r\n modality: restSchool.modalidad,\r\n municipality: restSchool.municipio,\r\n localityId: restSchool.cod_localidad,\r\n address: restSchool.domicilio,\r\n buildingId: restSchool.cod_inmueble,\r\n support: restSchool.sostenimiento,\r\n femaleStudent: restSchool.alumnas,\r\n maleStudent: restSchool.alumnos,\r\n maleStudentPercentage: genderPercentage(restSchool.alumnos, restSchool.alumnas),\r\n femaleStudentPercentage: genderPercentage(restSchool.alumnas, restSchool.alumnos),\r\n students: restSchool.sumaAlumnos,\r\n teachers: restSchool.docentes,\r\n assistants: restSchool.grupos,\r\n directors: restSchool.director,\r\n subDirectors: restSchool.subdirector,\r\n technicalPedagogicalAdvisers: restSchool.atps,\r\n physicalEducationTeachers: restSchool.educfis,\r\n admins: restSchool.admin,\r\n quartermasters: restSchool.intenden,\r\n others: restSchool.otros,\r\n waterSupply: restSchool.tipoAbasAgua,\r\n waterServiceContinuity: restSchool.contServAgua,\r\n waterForHandWashing: restSchool.aguaLavamanos,\r\n functionalSinkCount: restSchool.lavamanos,\r\n soapSufficiency: restSchool.jabon,\r\n towelSufficiency: restSchool.toallas,\r\n sanitizerSufficiency: restSchool.sanitizante,\r\n binSufficiency: restSchool.botesBasura,\r\n hasSepticSystem: restSchool.tipoDrenaje,\r\n hasAbilityToReorganizeSpace: restSchool.espacios,\r\n hasHygieneCommittee: restSchool.comite,\r\n alternatesAttendance: restSchool.alterna_asis,\r\n absentFemaleStudents: restSchool.inaalumnas,\r\n absentMaleStudents: restSchool.inaalumnos,\r\n studentAbsenceMainReasons: {\r\n '1': restSchool.inaalum_causa1,\r\n '2': restSchool.inaalum_causa2,\r\n '3': restSchool.inaalum_causa3,\r\n '4': restSchool.inaalum_causa4,\r\n '5': restSchool.inaalum_causa5,\r\n },\r\n studentAbsenceMainReasonsPercentages: {\r\n '1': toRate(restSchool.inaalum_causa1, totalStudentAbsenceMainReasons),\r\n '2': toRate(restSchool.inaalum_causa2, totalStudentAbsenceMainReasons),\r\n '3': toRate(restSchool.inaalum_causa3, totalStudentAbsenceMainReasons),\r\n '4': toRate(restSchool.inaalum_causa4, totalStudentAbsenceMainReasons),\r\n '5': toRate(restSchool.inaalum_causa5, totalStudentAbsenceMainReasons),\r\n },\r\n studentAbsenceOtherReason: restSchool.inaalum_causaotro,\r\n absentTeachers: restSchool.sumaInaDocentes,\r\n teacherAbsenceMainReasons: {\r\n '1': restSchool.inadoc_causa1,\r\n '2': restSchool.inadoc_causa2,\r\n '3': restSchool.inadoc_causa3,\r\n '4': restSchool.inadoc_causa4,\r\n },\r\n teacherAbsenceMainReasonsPercentages: {\r\n '1': toRate(restSchool.inadoc_causa1, totalTeachersAbsenceMainReasons),\r\n '2': toRate(restSchool.inadoc_causa2, totalTeachersAbsenceMainReasons),\r\n '3': toRate(restSchool.inadoc_causa3, totalTeachersAbsenceMainReasons),\r\n '4': toRate(restSchool.inadoc_causa4, totalTeachersAbsenceMainReasons),\r\n },\r\n teacherAbsenceOtherReason: restSchool.inadoc_causaotro,\r\n absentAdmins: restSchool.sumaInaAdministrativos,\r\n adminAbsenceMainReasons: {\r\n '1': restSchool.inaadm_causa1,\r\n '2': restSchool.inaadm_causa2,\r\n '3': restSchool.inaadm_causa3,\r\n '4': restSchool.inaadm_causa4,\r\n },\r\n adminAbsenceMainReasonsPercentages: {\r\n '1': toRate(restSchool.inaadm_causa1, totalAdminAbsenceMainReasons),\r\n '2': toRate(restSchool.inaadm_causa2, totalAdminAbsenceMainReasons),\r\n '3': toRate(restSchool.inaadm_causa3, totalAdminAbsenceMainReasons),\r\n '4': toRate(restSchool.inaadm_causa4, totalAdminAbsenceMainReasons),\r\n },\r\n adminAbsenceOtherReason: restSchool.inaadm_causaotro,\r\n comments: restSchool.comentarios,\r\n maleStudentAbsenceProportion: restSchool.indiceAlumnosSobreInasistencias,\r\n femaleStudentAbsenceProportion: restSchool.indiceAlumnasSobreInasistencias,\r\n expectedStudents: restSchool.alum_prog,\r\n takenActions: {\r\n visits: restSchool.accionvisita === 1,\r\n calls: restSchool.accionllamada === 1,\r\n scholarship: restSchool.accionbeca === 1,\r\n none: restSchool.accionninguna === 1,\r\n },\r\n drinkers: restSchool.bebederos,\r\n maleStudentToilets: restSchool.wcalumnos,\r\n femaleStudentToilets: restSchool.wcalumnas,\r\n foodSupport: restSchool.alimentos === 1,\r\n foodSupportType: {\r\n dif: restSchool.alimentosdif === 1,\r\n fullTimeProgram: restSchool.alimentosetc === 1,\r\n state: restSchool.alimentosedo === 1,\r\n others: restSchool.alimentosotro === 1,\r\n },\r\n foodSupportComment: restSchool.alimentosotro_txt,\r\n theSchoolIsOurs: restSchool.escuelanuestra,\r\n electricitySource: restSchool.contservelectrica || 0,\r\n internetAccess: restSchool.internet || 0,\r\n };\r\n};\r\n","import { SchoolSummary } from '@/domain/school/SchoolSummary';\r\n\r\nexport interface RestSchoolSummary {\r\n id: string;\r\n nombre: string;\r\n turno: string;\r\n localidad: string;\r\n indiceAsistenciaAlumnado: number;\r\n indiceAsistenciaDocentes: number;\r\n indiceAsistenciaAdmin: number;\r\n indiceInasistenciaAlumnos: number;\r\n indiceInasistenciaAlumnas: number;\r\n coordenadas: {\r\n latitud: string;\r\n longitud: string;\r\n };\r\n}\r\n\r\nconst toTurn = (restTurn: string) => {\r\n switch (restTurn) {\r\n case '1':\r\n return 'Matutino';\r\n case '2':\r\n return 'Vespertino';\r\n case '3':\r\n return 'Nocturno';\r\n case '4':\r\n return 'Discontinuo';\r\n case '5':\r\n return 'Continuo (tiempo completo)';\r\n case '6':\r\n return 'Complementario';\r\n case '7':\r\n return 'Continuo (jornada ampliada)';\r\n }\r\n return '';\r\n};\r\n\r\nexport const toSchoolSummary = (restSchoolSummary: RestSchoolSummary): SchoolSummary => ({\r\n id: restSchoolSummary.id,\r\n name: restSchoolSummary.nombre,\r\n turn: toTurn(restSchoolSummary.turno),\r\n locality: restSchoolSummary.localidad,\r\n studentAttendance: restSchoolSummary.indiceAsistenciaAlumnado,\r\n teacherAttendance: restSchoolSummary.indiceAsistenciaDocentes,\r\n adminAttendance: restSchoolSummary.indiceAsistenciaAdmin,\r\n maleStudentAbsence: restSchoolSummary.indiceInasistenciaAlumnos,\r\n femaleStudentAbsence: restSchoolSummary.indiceInasistenciaAlumnas,\r\n coordinates: [parseFloat(restSchoolSummary.coordenadas.longitud), parseFloat(restSchoolSummary.coordenadas.latitud)],\r\n});\r\n","import { AxiosInstance } from 'axios';\r\n\r\nimport { NotFound } from '@/domain/NotFound';\r\nimport { School } from '@/domain/school/School';\r\nimport { SchoolRepository } from '@/domain/school/SchoolRepository';\r\nimport { SchoolSummary } from '@/domain/school/SchoolSummary';\r\nimport { RestSchool, toSchool } from '@/secondary/school/RestSchool';\r\nimport { RestSchoolSummary, toSchoolSummary } from '@/secondary/school/RestSchoolSummary';\r\n\r\nexport class RestSchoolRepository implements SchoolRepository {\r\n constructor(private axiosInstance: AxiosInstance, private environment: string) {}\r\n\r\n list(municipalityId: string): Promise {\r\n const restMunicipalityId = municipalityId.substring(2);\r\n const restStateId = municipalityId.substring(0, 2);\r\n const url = this.environment === 'development' ? 'schools.json' : `${restStateId}/${restMunicipalityId}/schoolsSummary.json`;\r\n return this.axiosInstance\r\n .get(url)\r\n .then(response => response.data.map(toSchoolSummary))\r\n .catch(error => {\r\n throw new NotFound('school summary').cause(error);\r\n });\r\n }\r\n\r\n find(schoolId: string): Promise {\r\n const restSchoolId = schoolId.split('__')[0];\r\n const restLevel = schoolId.split('__')[1];\r\n const url = this.environment === 'development' ? 'school.json' : `${restSchoolId}/schoolDetail.json`;\r\n return this.axiosInstance\r\n .get(url)\r\n .then(response => toSchool(response.data))\r\n .catch(error => {\r\n throw new NotFound('school').cause(error);\r\n });\r\n }\r\n}\r\n","import '@/styles/main.scss';\r\n\r\nimport axios from 'axios';\r\nimport Buefy from 'buefy';\r\nimport mitt from 'mitt';\r\nimport Vue from 'vue';\r\nimport Vuex, { Store } from 'vuex';\r\n\r\nimport { AppVue } from './primary/app';\r\n\r\nimport { AttendanceType } from '@/domain/AttendanceType';\r\nimport { AppStore } from '@/primary/app/AppStore';\r\nimport { appStoreOptions } from '@/primary/app/appStoreOptions';\r\nimport { AttendanceWebmapping } from '@/primary/attendance-webmapping/AttendanceWebmapping';\r\nimport { municipalityStyler } from '@/primary/attendance-webmapping/styles/municipalities/MunicipalityStyle';\r\nimport { schoolStyler } from '@/primary/attendance-webmapping/styles/schools/SchoolStyler';\r\nimport { statesStyler } from '@/primary/attendance-webmapping/styles/states/StateStyle';\r\nimport { AttendanceTypeBus } from '@/primary/AttendanceTypeBus';\r\nimport { ANIMATION_DURATION, MAP_EXTENT, UPDATE_MAP_VIEWPORT_DELAY } from '@/primary/constants';\r\nimport { CsvParser } from '@/primary/CsvParser';\r\nimport { Delayer } from '@/primary/Delayer';\r\nimport { FileDownloader } from '@/primary/FileDownloader';\r\nimport { HistoricChart } from '@/primary/HistoricChart';\r\nimport { NavigationBus } from '@/primary/navigation/NavigationBus';\r\nimport { createClusterLayer, createMap, createPopup, createVectorLayer } from '@/primary/WebmappingUtils';\r\nimport { RestAdministrativeDivisionDailyReportRepository } from '@/secondary/administrative-division-daily-report/RestAdministrativeDivisionDailyReportRepository';\r\nimport { RestAdministrativeDivisionRepository } from '@/secondary/administrative-division/RestAdministrativeDivisionRepository';\r\nimport { ConsoleLogger } from '@/secondary/ConsoleLogger';\r\nimport { LocalFetcher } from '@/secondary/LocalFetcher';\r\nimport { Printer } from '@/secondary/Printer';\r\nimport { RestSchoolDailyReportRepository } from '@/secondary/school-daily-report/RestSchoolDailyReportRepository';\r\nimport { RestSchoolRepository } from '@/secondary/school/RestSchoolRepository';\r\n\r\nVue.use(Buefy);\r\nVue.use(Vuex);\r\n\r\nVue.config.productionTip = false;\r\n\r\nconst environment = process.env.NODE_ENV || '';\r\nconst restBaseUrl = './data/';\r\nconst localAxios = axios.create({ baseURL: './data/' });\r\nconst restAxios = axios.create({ baseURL: restBaseUrl });\r\nconst logger = new ConsoleLogger(console); // eslint-disable-line no-console\r\nconst fetcher = new LocalFetcher(localAxios);\r\nconst animationDelayer = new Delayer(window, ANIMATION_DURATION + 50);\r\nconst updateMapViewportDelayer = new Delayer(window, UPDATE_MAP_VIEWPORT_DELAY);\r\nconst administrativeDivisionRepository = new RestAdministrativeDivisionRepository(restAxios, environment);\r\nconst administrativeDivisionDailyReportRepository = new RestAdministrativeDivisionDailyReportRepository(restAxios, environment);\r\nconst schoolRepository = new RestSchoolRepository(restAxios, environment);\r\nconst schoolDailyReportRepository = new RestSchoolDailyReportRepository(restAxios, environment);\r\nconst navigationBus = new NavigationBus(new Vue());\r\nconst attendanceTypeBus = new AttendanceTypeBus(new Vue());\r\nconst map = createMap(MAP_EXTENT);\r\nconst statesLayer = createVectorLayer(statesStyler(AttendanceType.STUDENT, ''));\r\nconst municipalitiesLayer = createVectorLayer(municipalityStyler(AttendanceType.STUDENT, ''));\r\nconst schoolsLayer = createClusterLayer(schoolStyler(AttendanceType.STUDENT, ''));\r\nconst popup = createPopup();\r\nconst attendanceWebmapping = new AttendanceWebmapping(map, statesLayer, municipalitiesLayer, schoolsLayer, popup, ANIMATION_DURATION);\r\nconst printer = new Printer(window, mitt());\r\nconst csvParser = new CsvParser();\r\nconst fileDownloader = new FileDownloader(window);\r\nconst appStore = new AppStore(new Store(appStoreOptions));\r\nconst historicChart = new HistoricChart(window.innerWidth);\r\n\r\nnew Vue({\r\n render: h => h(AppVue),\r\n provide: {\r\n logger: () => logger,\r\n fetcher: () => fetcher,\r\n animationDelayer: () => animationDelayer,\r\n updateMapViewportDelayer: () => updateMapViewportDelayer,\r\n administrativeDivisionRepository: () => administrativeDivisionRepository,\r\n administrativeDivisionDailyReportRepository: () => administrativeDivisionDailyReportRepository,\r\n schoolRepository: () => schoolRepository,\r\n schoolDailyReportRepository: () => schoolDailyReportRepository,\r\n navigationBus: () => navigationBus,\r\n attendanceTypeBus: () => attendanceTypeBus,\r\n attendanceWebmapping: () => attendanceWebmapping,\r\n printer: () => printer,\r\n appStore: () => appStore,\r\n csvParser: () => csvParser,\r\n fileDownloader: () => fileDownloader,\r\n historicChart: () => historicChart,\r\n },\r\n}).$mount('#app');\r\n"],"sourceRoot":""}