
jQuery(function($) {
	
	initRupI18nPromise.then(function () {
		initFilter();
		initTable();
	});
	
	const initFilter = () => {
		
		$("#tipoProceso98_procesos_filter_table").rup_combo({
			source: $.rup.CTX_PATH + 'combo/tiposProceso',
			sourceParam: {label: "descripcion", value:"value"},
			loadFromSelect:false,
			width: 'auto',
	        ordered: false,
			blank: '',
			customClasses: ['select-material'],
			rowStriping: true
		});
		
		$("#estado98_procesos_filter_table").rup_combo({
			source: $.rup.CTX_PATH + 'combo/estadosProceso',
			sourceParam: {label: "descripcion", value:"value"},
			loadFromSelect:false,
			width: 'auto',
	        ordered: false,
			blank: '',
			customClasses: ['select-material'],
			rowStriping: true
		});
		
		$.rup_date({
			yearRange: '2024:c+0',
	        from: "fInicio98_procesos_filter_table",
	        to: "fFin98_procesos_filter_table",
	        mask: 'dd/mm/yyyy',
			showButtonPanel : true,
			showOtherMonths : true,
			noWeekend : 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("idProceso98", "idProceso98", true, false));
			columnsModel.push(getColumnModel("tipoProceso98", "tipoProceso98", true, false));
			columnsModel.push(getColumnModel("proceso98", "proceso98", true, false));
			columnsModel.push(getColumnModel("estado98", "estado98", true, false));
			columnsModel.push(getColumnModel("finicio98", "finicio98", true, false));
			columnsModel.push(getColumnModel("ffin98", "ffin98", true, false));
			columnsModel.push(getColumnModel("error98", "error98", true, false));			
			return columnsModel;
		};

		const getColumnsDefs = function () {
			return [ 
				{
					"targets": 1,
					"width": "20%",
					"render": function ( data, type, row, meta ) {
						return  procesosEnum[data];
					}
				},
				{
					"targets": 3,
					"render": function ( data, type, row, meta ) {
						return  estadosProcesosEnum[data];
					}
				}
			];
		};

		$("#procesos").rup_table({
			colReorder: {
				fixedColumnsLeft: 1
			},
			colModel: getColumnsModel(),
			columnDefs: getColumnsDefs(),
			primaryKey: "idProceso98",
	     	filter:{
	  	  		id:"procesos_filter_form",
	  	  		filterToolbar:"procesos_filter_toolbar",
	  	  		collapsableLayerId:"procesos_filter_fieldset",
	  	  		showHidden: true
	     	},
	     	createTooltipBody: false,// No muestra el tooltip automático de las columnas de la tabla
	   		select: {
	       		activate: false,
	       		deleteDoubleClick:true
	   		},
			buttons: {
				activate: true,
				blackListButtons: ['addButton', 'editButton', 'cloneButton', 'deleteButton', 'copyButton','pdfButton', 'odsButton', 'csvButton'],
				//myButtons: getCustomButtons()
			},
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[4, "desc"]]
		});
		
	}
	
});
