//@ sourceURL=tabDocumentosPapel0.js
/*!
 * Copyright 2021 E.J.I.E., S.A.
 *
 * Licencia con arreglo a la EUPL, Versión 1.1 exclusivamente (la "Licencia");
 * Solo podrá usarse esta obra si se respeta la Licencia.
 * Puede obtenerse una copia de la Licencia en
 *
 *      http://ec.europa.eu/idabc/eupl.html
 *
 * Salvo cuando lo exija la legislación aplicable o se acuerde por escrito,
 * el programa distribuido con arreglo a la Licencia se distribuye "TAL CUAL",
 * SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ni expresas ni implícitas.
 * Véase la Licencia en el idioma concreto que rige los permisos y limitaciones
 * que establece la Licencia.
 */

jQuery(function($) {
	

	initRupI18nPromise.then(function() {
		
		Ad74aUtils.hacerPlegable();
		initDocumentos();
		
	});

	
	const initDocumentos = () => {
		
		const documentoPapel0 = window.form2object($('#documentosPapel0_filter_form')[0]);
		console.log(documentoPapel0);
		const entrada = documentoPapel0.bandejaPapel0;
		console.log(entrada);
				
		$("#documentosPapel0_filter_form #idEntrada13_filter_table_from").val(entrada.idEntrada12);		
		const documentos_table= $("#documentopapel0");
		
		try {
			$("#documentopapel0").DataTable().destroy();
		} catch (error) {}
			
		const tipificar_dialog = $("#tipificar_documentosEntrada_dialog");
		const tipificar_dialog_feedback = $("#rup_feedback_tipificar_documentos");			
		
		const getColumnsModel = function(){
			const getColumnModel = function(name, index, editable, hidden){
				return {
					name: name,
					index: index,
					editable: editable,
					hidden: hidden
				}
			};	
			const columnsModel = [];
			columnsModel.push(getColumnModel( "oidDocumento13",  "oidDocumento13", false, false));
			columnsModel.push(getColumnModel( "tipodocumento.descEs36",  "tipodocumento.descEs36", false, false));
			columnsModel.push(getColumnModel( "tipodocumento.descEu36",  "tipodocumento.descEu36", false, false));
			columnsModel.push(getColumnModel( "idTipoDoc13",  "idTipoDoc13", false, false));
			columnsModel.push(getColumnModel( "idEntrada13",  "idEntrada13", false, false));
			columnsModel.push(getColumnModel( "idDocPapel013",  "idDocPapel013", false, false));
			return columnsModel;
		};
		
		const getColumnsDefs = function(){
			const columnsDefs = [
			      { "targets": 0,
	    		    "render": function(data, type, rowData, settings){			           
	    		    	if(rowData.oidDocumento13){
	    		    		return "<a href='javascript:$.downloadDocument(\"" + rowData.oidDocumento13 + "\",\"\");'>" + data + "</a>";					   
	   	    		 	} 
	    		    }
			      }
			   ]
			return columnsDefs;
		};
		
		const getCustomButtons = function(){
		  const customButons = [];	
		  const tipificarButton = {
				text: function () {
					return $.rup.i18n.app.botonera.tipificar;
				},
				
				id: 'tipificar', // Campo obligatorio si se quiere usar desde el contextMenu
				className: 'btn-material-primary-high-emphasis table_toolbar_btnView',
				icon: "mdi-file-send",
				custom:true,				
				insideContextMenu: true, 
				type: 'view',
				action: function (e, dt) {
					tipificar_dialog.rup_dialog("open");
				}				
		  };			 
		  customButons.push(tipificarButton);		  		  

		  return customButons;
		};
		
		documentos_table.rup_table({
			colReorder: {
				fixedColumnsLeft: 0
			},
			colModel: getColumnsModel(),
			columnDefs:  getColumnsDefs(),
			drawCallback : function( settings ) {//PAra subscribirte a eventos despues de pintar// para cada tr
				Ad74aUtils.desBloquearInterfaz();
		    },
		    createTooltipBody: false,
			primaryKey: "idDocPapel013",
			noEdit: true,
			filter: {
	  	  		id: "#documentosPapel0_filter_form",
	  	  		filterToolbar: "documentosPapel0_filter_toolbar",
	  	  		collapsableLayerId: "documentosPapel0_filter_fieldset",
	  	  		showHidden: true
	     	},
	     	select: {
	       		activate: true,
	       		multiSelect:false,
	       		deleteDoubleClick:true
	   		},
			buttons: {
				activate: true,
				blackListButtons: ['reportsButton','addButton', 'editButton', 'cloneButton', 'deleteButton'],
				myButtons: getCustomButtons()
			},
			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',
			columnOrderArrows: {
			    showOnlyActive: false,
			    display: 'inline'
			},
			order: [[0, "asc"]]
		}
		
		);			
		
		documentos_table.on('tableButtonsAfterToolbarInit', function (event, ctx) {//siempre el boton deshabilitado al inicio
			$('#tipificar').prop('disabled', true);
		});
		
		documentos_table.on("click",function(ctx) {
			
			if(documentos_table.rup_table("getSelectedIds").length==0){
				$("#tipificar").prop('disabled', true);
			}else{				
				$("#tipificar").prop('disabled', false);
			}
		});
		
		try {
			tipificar_dialog.rup_dialog("destroy");
		} catch (error) {}
		
		tipificar_dialog_feedback.rup_feedback (
			{
			  type: "ok",
			  block: false,
			}
		);	
		
		tipificar_dialog.rup_dialog( {
			type: $.rup.dialog.DIV,
			autoOpen: false,
			modal: true,
			closeOnEscape: true,
			resizable: true,
			//width:600,
			height:600,
			dialogClass: 'custom_mid_dialog',
			title: $.rup.i18n.app.botonera.tipificar,
			buttons : [ 
                {
                    text:$.rup.i18n.app.botonera.aceptar,
                    id:"tipificar_documentosEntrada_btn",
                    class: 'btn-material btn-material-primary-high-emphasis',
                    click:  () => {
                    	const documento = documentos_table.rup_table("getSelectedRows");
                    	console.log(documento);
                    	documento["roleid13"] = $("#idTipoDoc_tipificar").rup_combo("getRupValue");
                    	$.rup_ajax({
    			            url: tipificar_dialog.attr("action"),
                    	    type:"POST",
    			            contentType: "application/json",
    			            data:$.toJSON(documento),             	
    			            success: function (data){    			            	
    			            	documentos_table.rup_table("reload")
    			            	tipificar_dialog.rup_dialog("close");
    			            	Ad74aUtils.desBloquearInterfaz();
    			            	$("#bandejaentrada_detail_feedback").rup_feedback('set', $.rup.i18n.app.feedback.titpificarDocuOK, "ok"); 
    			            },
    			            beforeSend: function(){
    			            	Ad74aUtils.cerrarFeedbacks();
    			            	Ad74aUtils.bloquearInterfaz();
    						},
    			            error:function(data){
    			            	Ad74aUtils.desBloquearInterfaz();
    					    	tipificar_dialog_feedback.rup_feedback('set', data.responseText, "error");
    					    	
    			            }
    			        });
                    	
 					}
                 },
				{
					text : $.rup.i18n.app.botonera.cancelar,
					click : () => {
						tipificar_dialog.rup_dialog("close");
					},
					btnType : $.rup.dialog.LINK
				}
			],
			open: function(){
				console.log("OPEN");
				console.log(entrada);
				Ad74aUtils.cerrarFeedbacks();
				const documento = documentos_table.rup_table("getSelectedRows");
				const procedureID = entrada.procedureid12;
				const roleID = documento.idTipoDoc13;
				
				Ad74aUtils.configCombo($("#idTipoDoc_tipificar"), {
					source: $.rup.CTX_PATH + 'combo/getRolDocuments?procedureID='+procedureID+'&idTipoProceso='+procedureID+'&roleID='+roleID,
					sourceParam: {value: "value", label:idioma == 'es' ? "descripcionEs" : "descripcionEu"},
					loadFromSelect:false,						
				});
	
			},
			close: function(){
				$("#idTipoDoc_tipificar").rup_combo("destroy");
				
			}		    
		});			 
	}
	
	$.downloadDocument = function(oid, nombreDoc){		
		if (oid != null && oid != ''){
			const url = $.rup.CTX_PATH+"bandejapapel0/openOrDownloadDocument/"+oid+"?nombreDoc="+nombreDoc;
			window.open($.rup_utils.setNoPortalParam(encodeURI(url)));	
		}
	}
	
});