Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //var docLibName = 'Documentos';
- //var imagesRelPath = "/sites/psvaEdes/Biblioteca%20de%20imgenes/menu/{0}.{1}";
- //var multimedialinkUrl = '/sites/psvaEdes/sitecollectionimages';
- //var docslinkUrl = '/sites/psvaEdes/Documents/Forms/AllItems.aspx';
- //var otroslinkUrl = '/sites/psvaEdes/sitecollectionimages';
- //var folderName = 'Consultor\u00eda Energ\u00e9tica';
- var docLibName = 'Documentos';
- var imagesRelPath = "/sites/psvaEdes/Biblioteca%20de%20imgenes/menu/{0}.{1}";
- // To Customize URL's
- var multimedialinkUrl = '/sites/psvaEdes/Biblioteca%20de%20imgenes/Forms/AllItems.aspx';
- //var docslinkUrl = '/sites/psvaEdes/Documentos%20compartidos/Forms/AllItems.aspx';
- var docslinkUrl = '/sites/psvaEdes/Documentos%20compartidos/Forms/Ultimos%20Documentos.aspx';
- var otroslinkUrl = '/sites/psvaEdes/Biblioteca%20de%20imgenes/Forms/AllItems.aspx';
- // Special folder
- var folderNameGlobal = 'Consultor\u00eda Energ\u00e9tica';
- var docSiteUrl = '/sites/psvaEdes/Documentos%20compartidos';
- var rootFolder = '?RootFolder=';
- var Search = "<div id='searchInputBox'><div class='ms-webpart-chrome ms-webpart-chrome-fullWidth '><div class='ms-WPBody noindex ' id='WebPartWPQ1' allowdelete='false' onlyformepart='true' width='100%' haspers='true' webpartid='00000000-0000-0000-0000-000000000000'><div id='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr' componentid='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr'><div id='SearchBox' name='Control'><div class='ms-srch-sb ms-srch-sb-border' id='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr_sboxdiv'><input title='Buscar este sitio' class='ms-textSmall ms-srch-sb-prompt ms-helperText' id='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr_sbox' accesskey='S' onkeydown='EnsureScriptFunc('Search.ClientControls.js', 'Srch.U', function() {var ctl = $find('ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr');ctl.activateDefaultQuerySuggestionBehavior();})' onkeypress='EnsureScriptFunc('Search.ClientControls.js', 'Srch.U', function() {if (Srch.U.isEnterKey(String.fromCharCode(event.keyCode))) {$find('ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr').search($get('ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr_sbox').value);return Srch.U.cancelEvent(event);}})' onfocus='EnsureScriptFunc('Search.ClientControls.js', 'Srch.U', function() {var ctl = $find('ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr');ctl.hidePrompt();ctl.setBorder(true);})' onblur='EnsureScriptFunc('Search.ClientControls.js', 'Srch.U', function() {var ctl = $find('ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr'); if (ctl){ ctl.showPrompt(); ctl.setBorder(false);}})' type='text' maxlength='2048' value='Buscar este sitio' autocorrect='off' autocomplete='off'><a title='Navegación' class='ms-srch-sb-navLink' id='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr_NavButton' onclick='EnsureScriptFunc('Search.ClientControls.js', 'Srch.U', function() {$find('ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr').activateDefaultNavigationBehavior();return Srch.U.cancelEvent(event);})' href='javascript: {}'><img class='ms-srch-sb-navImg' id='navImg' alt='Navegación' src='/_layouts/15/images/searchresultui.png?rev=23'></a><a title='Realiza búsquedas' class='ms-srch-sb-searchLink' id='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr_SearchLink' onclick='EnsureScriptFunc('Search.ClientControls.js', 'Srch.U', function() {$find('ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr').search($get('ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr_sbox').value);})' href='javascript: {}'><img class='ms-srch-sb-searchImg' id='searchImg' alt='Realiza búsquedas' src='/_layouts/15/images/searchresultui.png?rev=23'></a><div class='ms-qSuggest-container ms-shadow' id='AutoCompContainer'><div id='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr_AutoCompList'></div></div><div class='ms-qSuggest-container ms-shadow' id='NavDropdownListContainer'><div id='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_csr_NavDropdownList'></div></div></div></div></div><noscript><div id='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1_noscript'>Parece que el explorador no tiene JavaScript habilitado. Active JavaScript e inténtelo de nuevo.</div></noscript><div id='ctl00_PlaceHolderSearchArea_SmallSearchInputBox1'></div><div class='ms-clear'></div></div></div></div>";
- $(document).ready(function ()
- {
- SP.SOD.executeFunc('sp.js', 'SP.ClientContext', getmenu);
- var collItems = [];
- var tableItems = [];
- var relativeUrl;
- var htmlItemL0 = "<div class='item-element-l0' ><a href='#'><img class='{0}' src='{1}' alt='{2}'>{3}</a></div>";
- var htmlItemL0x = "<div class='item-element-l0' ><a href='#'><img class='{0}' src='{1}' alt='{2}'></a>{3}</div>";
- var htmlItemX = "<div class='toggle_div_l0'>{0}</div>";
- var htmlItemL1 = "<div class='div-item-l1 {0}' ><a href='#'><img class='item-l1' src='{1}' alt='{2}'></a><div class='{3}'>{4}</div></div>";
- var htmlItemL2 = "<li><input type='hidden' href='{0}'/><a href='#'>{1}</a></li>";
- var htmlBackBtnL1 = "<div id='backbuttonl1'><a href='#'><img class='backbtn back-l1' src='{0}' alt='{1}'></a></div>";
- var htmlImg = "<img class='{0}' src='{1}' alt='{2}'>";
- //REQ001_9 BEGIN
- var htmlImgPortada = "<img src='/sites/psvaEdes/Biblioteca%20de%20imgenes/menu/images.png' style='width:100%;max-height:273px'>";
- //REQ001_9 END
- if (!String.prototype.format)
- {
- String.prototype.format = function ()
- {
- var args = arguments;
- return this.replace(/{(\d+)}/g,
- function (match, number)
- {
- return typeof args[number] != 'undefined' ? args[number] : match;
- });
- };
- }
- function openDialog(pageUrl, title)
- {
- var options = { url: pageUrl, width: 650, height: 600, allowMaximize: true, showMaximized: true, title: title };
- SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);
- return false;
- }
- function changeimage(imgUrl)
- {
- var imgurl_temp1 = imgUrl.substring(0, imgUrl.lastIndexOf('/') + 1);
- var imgurl_temp2 = imgUrl.substring(imgUrl.lastIndexOf('/') + 1);
- if (imgurl_temp2.indexOf('-') > 0)
- {
- var newimgurl_temp = imgurl_temp2.substring(imgurl_temp2.indexOf('-') + 1);
- var newimgurl = imgurl_temp1 + newimgurl_temp;
- return newimgurl;
- }
- else
- {
- var newimgurl = imgurl_temp1 + 'a-' + imgurl_temp2;
- return newimgurl;
- }
- }
- function clearl0()
- {
- $('#contenedorItemsl0').empty();
- $('#contenedorpiel0').empty();
- $('#contenedorl1').attr('style', 'display:none;');
- $('#contenedornovedades').empty();
- $('#contenedorotrosenlaces').empty();
- $('#contenedormenu').css({ 'background': 'none' });
- $("#contenedortitulo").empty();
- }
- function clearl1()
- {
- $('#contenedorcabeceral1').empty();
- $("#contenedorenlacespie").find("#contenedorotrosenlaces").empty();
- $('#contenedorItemsl1').empty();
- $('#contenedorpiel1').empty();
- $('#contendorImgL1').empty();
- $('#contenedorl1').attr('style', 'display:block;');
- $('#contenedorl0').attr('style', 'display:none;');
- }
- function renderL1(parentFolder)
- {
- var get_level1 = $.grep(tableItems, function (x)
- {
- return x.Padre === parentFolder;
- });
- clearl1();
- //LLamada a función para obtener el current folder
- GetCurrentFolder("renderL1");
- var imgHeaderL1 = imagesRelPath.format(parentFolder + '/' + 'cabecera-' + parentFolder, 'jpg');
- var imgHeaderHtml = htmlImg.format('class-headerL1', imgHeaderL1, imgHeaderL1);
- $('#contendorImgL1').append(imgHeaderHtml);
- var oImgsrc = imagesRelPath.format('btn-otros', 'png');
- var oImgHtml = htmlImg.format('class-imglinks class-imgother', oImgsrc, oImgsrc);
- $("#contenedorenlacespie").find("#contenedorotrosenlaces").append(oImgHtml);
- $("#contenedorenlacespie").css("display", "block");
- $("#contenedorenlacescabecera").css("display", "none");
- $('.class-imgother').click(function ()
- {
- openDialog(otroslinkUrl, 'Otros');
- });
- var counterRow = 1;
- var counterelements = 1;
- if (get_level1 != null && get_level1.length > 0)
- {
- for (i = 0; i < get_level1.length; i++)
- {
- /*
- if (counterelements == 1)
- {
- var $div = $("<div>", { "class": "div-rows div-items-row-" + counterRow });
- $('#contenedorItemsl1').append($div);
- }
- */
- var fName = get_level1[i].Nombre;
- var get_level2 = $.grep(tableItems, function (x)
- {
- return (x.Padre === fName);
- //return (x.Padre === fName && x.Ruta.indexOf(parentFolder) >= 0);
- });
- var sub_level3 = '';
- if (get_level2 != null && get_level2.length > 0)
- {
- for (z = 0; z < get_level2.length; z++)
- {
- var fl3Name = get_level2[z].Nombre;
- var fl3Path = get_level2[z].Ruta;
- sub_level3 += htmlItemL2.format(fl3Path, fl3Name);
- }
- }
- var imgsrc = imagesRelPath.format(parentFolder + '/' + fName, 'jpg');
- var imgHtml = htmlItemL1.format('div_' + i, imgsrc, fName, 'toggle_div_' + i, sub_level3);
- //$('.' + "div-items-row-" + counterRow).append(imgHtml);
- $('#contenedorItemsl1').append(imgHtml);
- /*
- if (counterelements == 3)
- {
- counterRow = counterRow + 1;
- counterelements = 1;
- }
- else
- {
- counterelements = counterelements + 1;
- }
- */
- $('.toggle_div_' + i).attr('style', 'display:none;');
- $('.div_' + i).click(function ()
- {
- var clase = $(this).children('div').attr('class');
- var estado = $('.' + clase).attr('style');
- var imgactive = $(this).children('a').children('img').attr('src');
- if (estado.indexOf('none') > 0)
- {
- $(this).children('a').children('img').attr('src', changeimage(imgactive));
- }
- else
- {
- $(this).children('a').children('img').attr('src', changeimage(imgactive));
- }
- $('.' + clase).toggle();
- });
- $('.toggle_div_' + i).on('click', 'li', function ()
- {
- var urldestino = docslinkUrl + rootFolder + $(this).children('input').attr('href');
- var pageTitle = $(this).children('a').text();
- openDialog(urldestino, pageTitle);
- });
- }
- var imgBackBtnL1 = imagesRelPath.format('boton-volver', 'jpg');
- var backBtnL1 = htmlBackBtnL1.format(imgBackBtnL1, parentFolder);
- $('#contenedorpiel1').append(backBtnL1);
- $('#contenedorpiel1').click(function () {
- clearl1();
- $('#contenedorl0').attr('style', 'display:block;'); renderL0();
- });
- $('#backbuttonl1').css("text-align", "left");
- }
- }
- function renderL0() {
- var get_root = $.grep(tableItems, function (x)
- {
- return x.Padre === '0';
- });
- clearl0();
- //LLamada a función para obtener el current folder (HOME)
- GetCurrentFolder("renderL0");
- //REQ001_9 BEGIN
- $("#contenedortitulo").css("width", "100%");
- $("#contenedortitulo").css("text-align", "center");
- $("#contenedortitulo").append(htmlImgPortada);
- // delete $("#contenedortitulo").append(<h1>e-Solutions B2B/ B2C</h1>);
- //REQ001_9 END
- var imgBackgroundL0 = imagesRelPath.format('detalle-fondo', 'png');
- $('#contenedormenu').css({ 'background': 'url(' + imgBackgroundL0 + ') no-repeat right bottom' });
- //var numberElementsOnPage = 1;
- //var counterelements = 1;
- if (get_root != null && get_root.length > 0)
- {
- for (i = 0; i < get_root.length; i++)
- {
- // Construye un "element", que tiene la parte de arriba (foto) y la parte de abajo (lista toggle)
- var $divElement = $("<div>", {"class": "div-lvl0-element"});
- //var $divPicture = $("<div>", { "class": "div-lvl0 div-lvl0-row-" + numberElementsOnPage });
- var $divPicture = $("<div>", { "class": "div-lvl0"});
- //var $divToggle = $("<div>", {"class": "div-lvl0-toggle div-lvl0-row-" + numberElementsOnPage});
- var $divToggle = $("<div>", {"class": "div-lvl0-toggle"});
- // Monta los elementos del element y lo añade al contenedor
- $divElement.append( $divPicture );
- $divElement.append( $divToggle );
- $('#contenedorItemsl0').append($divElement);
- var fName = get_root[i].Nombre;
- var imgsrc = imagesRelPath.format(fName, 'jpg');
- if (fName.toLowerCase() !== folderNameGlobal.toLowerCase())
- {
- // Se prepara la imagen del elemento y se añade ésta al espacio de la foto del element
- var imgHtml = htmlItemL0.format('item-l0', imgsrc, fName, '');
- $divPicture.append(imgHtml);
- // Se prepara un espacio en blanco para la parte de abajo del element
- var gap = "<div class='toggle-gap'></div>";
- $divToggle.append(gap);
- }
- else
- {
- // Obtiene y construye los enlaces con las subopciones
- var get_level2 = $.grep(tableItems, function (x)
- { return (x.Padre === fName); });
- var sub_level3 = '';
- if (get_level2 != null && get_level2.length > 0) {
- for (z = 0; z < get_level2.length; z++)
- {
- var fl3Name = get_level2[z].Nombre;
- var fl3Path = get_level2[z].Ruta;
- sub_level3 += htmlItemL2.format(fl3Path, fl3Name);
- }
- }
- // Se prepara la imagen del elemento y se añade ésta al espacio de la foto del element
- var imgHtml = htmlItemL0x.format('item-xL0', imgsrc, fName, "");
- $divPicture.append(imgHtml);
- // Se prepara la lista de subopciones con enlaces para que se muestre en la parte inferior del element
- var sublevelsItem0 = htmlItemX.format(sub_level3);
- var toggleInfo = $("<div>", {"class": "toggle-gap"});
- toggleInfo.append( sublevelsItem0 );
- $divToggle.append(toggleInfo);
- }
- /*
- if (counterelements == numberElementsPerRow )
- {
- numberElementsOnPage = numberElementsOnPage + 1;
- counterelements = 1;
- }
- else
- {
- counterelements = counterelements + 1;
- }*/
- }
- $('.item-l0').click(function ()
- {
- var p = this.getAttribute('alt');
- clearl0();
- renderL1(p);
- });
- $('.item-xL0').click(function ()
- {
- $('.toggle_div_l0').toggle();
- });
- $('.toggle_div_l0').on('click', 'li', function ()
- {
- var specialFolder = false;
- var nodo = $(this).children('a').text();
- var get_parent = $.grep(tableItems, function (x) {
- if (x.Nombre === nodo)
- {
- specialFolder = true;
- }
- return specialFolder;
- ;
- });
- if (specialFolder) {
- var urldestino = docslinkUrl + rootFolder + $(this).children('input').attr('href');
- }
- else {
- var urldestino = $(this).children('input').attr('href');
- }
- var pageTitle = $(this).children('a').text();
- openDialog(urldestino, pageTitle);
- });
- }
- var novImgsrc = imagesRelPath.format('novedades', 'png');
- var novImgHtml = htmlImg.format('class-imgnovedades', novImgsrc, novImgsrc);
- $("#contenedorenlacescabecera").find('#contenedornovedades').append(novImgHtml);
- var docsImgsrc = imagesRelPath.format('btn-documentos', 'png');
- var docsImgHtml = htmlImg.format('class-imglinks class-imgdocs', docsImgsrc, docsImgsrc);
- $("#contenedorenlacescabecera").find('#contenedorotrosenlaces').append(docsImgHtml);
- $('.class-imgdocs').click(function ()
- {
- openDialog(docslinkUrl, 'Documentos');
- });
- var mmImgsrc = imagesRelPath.format('btn-multimedia', 'png');
- var mmImgHtml = htmlImg.format('class-imglinks class-imgmm', mmImgsrc, mmImgsrc);
- $("#contenedorenlacescabecera").find('#contenedorotrosenlaces').append(mmImgHtml);
- $('.class-imgmm').click(function ()
- {
- openDialog(multimedialinkUrl, 'Multimedia');
- });
- var oImgsrc = imagesRelPath.format('btn-otros', 'png');
- var oImgHtml = htmlImg.format('class-imglinks class-imgother', oImgsrc, oImgsrc);
- $("#contenedorenlacescabecera").find('#contenedorotrosenlaces').append(oImgHtml);
- //$("#contenedorenlacescabecera").find('#contenedorotrosenlaces').append(Search);
- $('.class-imgother').click(function ()
- {
- openDialog(otroslinkUrl, 'Otros');
- });
- $("#contenedorenlacescabecera").css("display", "block");
- $("#contenedorenlacespie").css("display", "none");
- //$("#contenedorimagencabecera").append("Test");
- }
- function createTable(listItems)
- {
- //REQ001_2 - BEGIN
- var lastDate = new Date('01/01/2000');
- //REQ001_2 - END
- //BEGIN REQ:Ofv
- //var Numerodeunshitf = 0;
- //END REQ:Ofv
- for (i = 0; i < listItems.length; i++)
- {
- var element = listItems[i];
- var folderName = element.Nombre;
- var folderPath = element.Url;
- //REQ001_2 - BEGIN
- var lastModified = element.Modificado;
- //REQ001_2 - END
- //BEGIN REQ:Ofv
- var folderOrder = element.Orden;
- //END REQ:Ofv
- var matchDocSite = docSiteUrl.match(new RegExp("/", 'g'));
- var counterDocSite = matchDocSite ? matchDocSite.length : 0;
- //if ((folderPath.indexOf('/') - counterDocSite ) <= 0)
- //if (folderPath == docSiteUrl)
- //{
- // var row = { Nombre: folderName, Padre: '0', Ruta: folderPath };
- // tableItems.push(row);
- //}
- //else
- //{
- var match = folderPath.match(new RegExp("/", 'g'));
- var count = match ? match.length : 0;
- //Inserción de elementos de primer nivel
- if ((count - counterDocSite) == 1)
- {
- var folderl2Parent = '0';//folderPath.split('/')[0 + counterDocSite];
- //BEGIN REQ:Ofv
- var row = { Nombre: folderName, Padre: folderl2Parent, Ruta: folderPath, orden: folderOrder };
- //Insertamos el primer elemento sin criterio de orden
- //if (tableItems.length == 0)
- //{
- // Numerodeunshitf = Numerodeunshitf + 1;
- // tableItems.unshift(row);
- //} else if (tableItems.length > 0) //Buscamos el sitio donde insertarlo
- //{
- //Si el elemento no tiene la variable orden informada se agrega en la primera posicion
- //if (row.orden == null)
- //{
- // Numerodeunshitf = Numerodeunshitf + 1;
- // tableItems.unshift(row);
- //}
- //else //Insertamos en orden
- //{
- tableItems.splice(row.orden -1, 0, row);
- //}
- //}
- //END REQ:Ofv
- }
- //Inserción de elementos de segundo nivel
- if ((count - counterDocSite) == 2)
- {
- var folderl3Parent = folderPath.split('/')[1 + counterDocSite];
- //BEGIN REQ:Ofv
- var row = { Nombre: folderName, Padre: folderl3Parent, Ruta: folderPath, orden: folderOrder };
- //Insertamos el primer elemento sin criterio de orden
- //if (tableItems.length == 0) {
- // tableItems.push(row);
- //} else if (tableItems.length > 0) //Buscamos el sitio donde insertarlo
- //{
- //Si el elemento no tiene la variable orden informada se agrega sin orden
- // if (row.orden == null) {
- // tableItems.push(row);
- //}
- // else //Insertamos en orden
- //{
- tableItems.splice(row.orden - 1 , 0, row);
- //}
- //}
- //END REQ:Ofv
- }
- //Inserción de elementos de tercer nivel
- if ((count - counterDocSite) == 3) {
- var folderl4Parent = folderPath.split('/')[2 + counterDocSite];
- //BEGIN REQ:Ofv
- var row = { Nombre: folderName, Padre: folderl4Parent, Ruta: folderPath, orden: folderOrder };
- //Insertamos el primer elemento sin criterio de orden
- // if (tableItems.length == 0) {
- // tableItems.push(row);
- //} else if (tableItems.length > 0) //Buscamos el sitio donde insertarlo
- //{
- //Si el elemento no tiene la variable orden informada se agrega sin orden
- // if (row.orden == null) {
- // tableItems.push(row);
- //}
- //else //Insertamos en orden
- //{
- tableItems.splice(row.orden - 1, 0, row);
- //}
- //}
- //END REQ:Ofv
- }
- //}
- //REQ001_2 - BEGIN
- if(lastDate < lastModified){
- lastDate = lastModified;
- }
- //REQ001_2 - END
- }
- renderL0();
- //REQ001_2 - BEGIN
- $("#contenedorimagencabecera").append("<div><p style='font-size: 12px; font-style: italic; color: white'>Fecha de último documento: " + lastDate.toLocaleDateString('es-ES') + "</p></div>");
- //REQ001_2 - END
- };
- function getmenu() {
- var inDesignMode = document.forms[MSOWebPartPageFormName].MSOLayout_InDesignMode.value;
- if (inDesignMode != "1")
- {
- relativeUrl = _spPageContextInfo.siteServerRelativeUrl + "/" + docLibName + "/";
- cntx = SP.ClientContext.get_current();
- oListsColl = cntx.get_web().get_lists();
- oList = oListsColl.getByTitle(docLibName);
- oQuery = new SP.CamlQuery.createAllItemsQuery();
- this.items = oList.getItems(oQuery);
- //REQ001_2 - BEGIN
- //BEGIN REQ:Ofv
- cntx.load(this.items, 'Include(Title, FileLeafRef, FileRef, Modified, Orden)');
- //END REQ:Ofv
- //REQ001_2 - END
- cntx.executeQueryAsync(onSucceededCallback, onFailedCallback);
- }
- }
- function onSucceededCallback(sender, args)
- {
- var listItemEnumerator = items.getEnumerator();
- while (listItemEnumerator.moveNext())
- {
- var oListItem = listItemEnumerator.get_current();
- var nombre = oListItem.get_item('FileLeafRef');
- var ruta = oListItem.get_item('FileRef');
- //REQ001_2 - BEGIN
- var modificado = oListItem.get_item('Modified');
- //BEGIN REQ:Ofv
- var orden = oListItem.get_item('Orden');
- var objItem = { Nombre: nombre, Url: ruta, Modificado: modificado, Orden: orden };
- //END REQ:Ofv
- //REQ001_2 - END
- ruta = ruta.replace(relativeUrl, '');
- collItems.push(objItem);
- }
- createTable(collItems);
- }
- function onFailedCallback(sender, args)
- {
- alert('List Data fetch failed. ' + args.get_message() + 'n' + args.get_stackTrace());
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement