jQuery(function($) {
	
	initRupI18nPromise.then(function () {
		//initFilter();			
		initTable();
	});	
	
	
	const initFilter = () => {
		Ad74aUtils.configCombo($("#idProcedimiento00_filter_table"), {
			loadFromSelect: true
		});
	}
		
	
	const initTable = () => {		
		
		const getColumnsModel = function () {
			const getColumnModel = function (name, index, editable, hidden, orderable) {
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden,
					orderable: orderable
					
				}
			};
			let columnsModel = [];
			columnsModel.push(getColumnModel("numExpediente00", "numExpediente00", false, false));
			columnsModel.push(getColumnModel("idProcedimiento00", "idProcedimiento00", false, false, false));
			columnsModel.push(getColumnModel("estados.idEstado30", "estados.idEstado30", false, false, false));
//			columnsModel.push(getColumnModel("solicitantes.apellido101", "solicitantes.apellido101", false, false));
//			columnsModel.push(getColumnModel("solicitantes.apellido201", "solicitantes.apellido201", false, false));
//			columnsModel.push(getColumnModel("idExpediente00", "idExpediente00", false, false, false));
			
			return columnsModel;
		};

		const getColumnsDefs = function () {
			return [
				{ 
					"targets": 1,
	    		    "render": function(data, type, rowData, settings){
	    		    	return rowData.procedimientoDesc;
	    		    }
				},
				{ 
					"targets": 2,
	    		    "render": function(data, type, rowData, settings){
	    		    	return rowData.estados.desc;
	    		    }
				}
			];
		};

		const getCustomButtons = function () {
			let customButons = [];
			
			const FN_SeleccionarDisplay = {};
			FN_SeleccionarDisplay.test  = function(){
				const selectedRows  = $("#buscarExpediente").rup_table("getSelectedRows");	
				if ( selectedRows.length == undefined) {
					return true;
				}
				return false;
			};
			const seleccionarButton = {
				text: function () {
					return $.rup.i18n.app.botonera.seleccionar;
				},
				id: 'seleccionar', // Campo obligatorio si se quiere usar desde el contextMenu
				className: 'btn-material-primary-high-emphasis table_toolbar_btnView',
				icon: "mdi-check-bold",
				displayRegex: FN_SeleccionarDisplay,
				insideContextMenu: true,
				//type: 'view',
				action: function (e, dt) {
					const expediente = $("#buscarExpediente").rup_table("getSelectedRows");
					$("#idExpediente16_informes_dialog_table").val(expediente.idExpediente00);
					$("#expediente_informes_dialog_table").val(expediente.numExpediente00);
					$("#expediente_informes_dialog_table").val(expediente.numExpediente00);
					$("#clearExpedienteBtn").removeClass("d-none");
					cerrarCapaBuscarExpediente();
				}
			};
			customButons.push(seleccionarButton);
			
			const cancelButton = {
					text: function () {
						return $.rup.i18n.app.botonera.cancelar;
					},
					id: 'cancelSeleccionar', // Campo obligatorio si se quiere usar desde el contextMenu
					className: 'btn-material-danger-medium-emphasis table_toolbar_btnView',
					icon: "mdi-close",
					displayRegex: /^\d+$/,
					insideContextMenu: true,
					//type: 'view',
					action: function (e, dt) {
						cerrarCapaBuscarExpediente();
					}
				};
			
				customButons.push(cancelButton);
			
			return customButons;
		};
		
		const idSolicitante = ($("#idSolicitante01_informes_dialog_table").val() == '' || $("#idSolicitante01_informes_dialog_table").val() == null)
								?0
								:$("#idSolicitante01_informes_dialog_table").val();
		const urlBase = $.rup.CTX_PATH +"informes/expedientes/"+idSolicitante;
//		const urlBase = $.rup.CTX_PATH +"informes/expedientes/"+$("#idSolicitante01_informes_dialog_table").val();
		$("#buscarExpediente").attr("data-url-base", urlBase);
		
		$("#buscarExpediente").rup_table({
			colReorder: {
				fixedColumnsLeft: 1
			},
			colModel: getColumnsModel(),
			columnDefs: getColumnsDefs(),
			primaryKey: "idExpediente00",
//			filter: {
//				id: "buscarExpediente_filter_form",
//				filterToolbar: "buscarExpediente_filter_toolbar",
//				collapsableLayerId: "buscarExpediente_filter_fieldset"
//			},
			filter: "noFilter",
			createTooltipBody: false,// No muestra el tooltip automático de las columnas de la tabla
			select: {
				activate: true
			},
			loadOnStartUp: true,
			buttons: {
				activate: true,
				blackListButtons: ['reportsButton', 'addButton', 'editButton', 'cloneButton', 'deleteButton'],
				myButtons: getCustomButtons()
			},
			"rowCallback": function( row, data, index ) {},
			drawCallback: function( settings ) {},
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			"pageLength": 100,
			dom: 't<"container-fluid paginationContainer"' +
			  '<"row mx-0"' +
			  '<"col-6 order-3 text-right align-self-center col-sm-5 order-sm-2 col-xl-2 order-xl-1 text-xl-left">' +
			  '<"d-none"p>' +
			  '<"col-12 text-center"i>' +
			  '>' +
			  '>' +
			  'r',
			order: [[0, "desc"]]
		});
		
		const cerrarCapaBuscarExpediente = () => {
			$("#expediente_filter_layer").addClass("plegado");
			$("#detalleAportacionLayer").removeClass("on");
			$("#overlay-buscar").addClass("d-none");
		}
						
	}
	
			
});