const listarPeriodosCierreAsistencia = (nodeIdentifier) => {
	ajaxWebService.get(URI_ADMINISTRATIVOS_PERIODO_CIERRE_ASISTENCIA).then((result) => {
		let data = result.data;
		let html = `<option value="">[SELECCIONE]</option>`;
		html += data.map(periodo => `<option value="${periodo.id}">${periodo.descripcion}</option>`);
		$(nodeIdentifier).html(html);
		$(nodeIdentifier).change((e) => {
			let id = $(e.currentTarget).val();
			console.log(id)
		});
	});
//	initSelect2(nodeIdentifier, "descripcion");
}

//const initSelect2 = (nodeIdentifier, title = "") => {
//	$(`${nodeIdentifier}`).select2({
//		containerCssClass: 'select-xs',
//		ajax: {
//			url: baseURLRest + URI_ADMINISTRATIVOS_PERIODO_CIERRE_ASISTENCIA,
//			dataType: `json`,
//			delay: 1000,
//			data: function (params) {
//				return {
//					q: params.term, // search term
//					page: params.page
//				};
//			},
//			processResults: function (data, params) {
//				// parse the results into the format expected by Select2
//				// since we are using custom formatting functions we do not need to
//				// alter the remote JSON data, except to indicate that infinite
//				// scrolling can be used
//				params.page = params.page || 1;
//
//				return {
//					results: data,
//					pagination: {
//						more: (params.page * 30) < data.length
//					}
//				};
//			},
//			cache: true
//		},
//		placeholder: `Buscar`,
//		allowClear: true,
//		escapeMarkup: function (markup) {
//			return markup;
//		}, // let our custom formatter work
//		minimumInputLength: 1,
//		templateResult: formatRepo,
//		templateSelection: formatRepoSelection
//	});
//
//	function formatRepo(repo) {
//		if (repo.loading) {
//			return repo.text;
//		}
//
//		var markup = `
//			<div class='select2-result-repository clearfix'>
//				<div class='select2-result-repository__title'>${repo[title]}</div>	
//			</div>`;
//
//		return markup;
//	}
//
//	function formatRepoSelection(repo) {
//		if (repo.id) {
//			return repo[title];
//		} else {
//			return repo.text;
//		}
//}
//}



const listarSedes = (selectorName) => {
	ajaxWebService.get(URI_SEDES).then((result) => {
		let sedes = result.data;
		sedes = _.orderBy(sedes, s => s.descripcion);
		let html = `<option value="">[TODOS]</option>`;
		sedes.forEach(sede => html += `<option value="${sede.codigo}">${sede.descripcion}</option>`);
		$(`${selectorName}`).html(html);
		$(selectorName).select2();
	});
};


$(document).ready(function () {
	initDatePicker("#dpFechaInicioFiltro", "#dpFechaFinFiltro");
	listarSedes("#cboSedesFiltro");
	listarPeriodosCierreAsistencia("#cboPeriodoCierreFiltro");
});