Si tenemos un array de objetos con multiples propiedades, podemos ordenarlo en base a una de sus propiedades de tipo texto, como puede ser, en muchos casos, el título. Utilizaremos la funcion "sort" comparando los títulos con "localeCompare", de la siguiente manera: let orderedArray = myOriginalArray.sort((a, b) => a.Title.localeCompare(b.Title));
Categoría: Javascript
Controlar OnLoad para detectar la URL de navegación dentro de un iframe
Si queremos detectar cuando nuestro iframe cambia de página debemos sobreescribir el evento onLoad. Es importante que una vez capturemos esa navegación volvamos a aplicar el pushState por defecto para que el navegador tenga constancia del histórico. Ejemplo: <iframe onLoad { () => { const pushState = () => { const defaultPushState = iframeContentRef.contentWindow.history.pushState; return function (data: any, title: string, url?: string | null) { //YOUR CODE return defaultPushState.apply(this, [data, title, url]); }; }; iframeContentRef.contentWindow.history.pushState = pushState(); }} src={IFRAME_URL}> </iframe>
Normalizar acentos en Javascript (y Typescript)
Si necesitamos normalizar palabras en nuestro código (por ejemplo, para usar keywords de búsqueda) existen multiples soluciones dependiendo de si utilizamos ES6 o no. Si usamos ES6 bastará con utilizar la funcion "normalize" incluida en String. Usando el parámetro "NFD" automáticamente dividirá cada letra con acento en dos ("á" pasaría a ser "a´"), de forma …
Sigue leyendo Normalizar acentos en Javascript (y Typescript)
Convertir fecha UTC en Local con Javascript
Fecha UTC (Que recibimos, por ejemplo, desde base de datos) var receivedDate = "2016-09-25T10:00:00"; Convertir a fecha Local receivedDate = new Date(receivedDate); //receivedDate: "Thu Sep 25 2016 12:00:00 GMT+0200 (Central Europe Daylight Time)" Al crear una fecha con el string UTC que recibimos automáticamente la creará con nuestro time zone local. En este ejemplo, la fecha UTC …
Convertir fecha Local en UTC con Javascript
Fecha Local (Que obtenemos, por ejemplo, desde un date picker) var obtainedDate = "2016-09-25 12:00"; Convertir a fecha UTC obtainedDate = new Date(obtainedDate).toUTCString(); //obtainedDate : "Sun, 25 Sep 2016 10:00:00 GMT" Al crear una fecha con el string de fecha local y usar el método "toUTCString" nos devuelve la misma fecha en UTC.
Obtener padding en IE con jQuery (Aparece vacío)
La API de jQuery especifica que la obtencion de propiedades CSS puede no funcionar en todos los navegadores si no utilizamos el nombre en detalle que queremos obtener. Es decir, si queremos obtener el padding de un elemento y escribimos: $(myElement).css("padding"); Es probable que en Chrome funcione pero en IE nos devuelva un string vacío. …
Sigue leyendo Obtener padding en IE con jQuery (Aparece vacío)
Abrir Página como Modal/PopUp
Para abrir una página como Modal en SharePoint tan solo debemos implementar la función showModalDialog y llamar al método con la url y el titulo: function openDialog(pageUrl, dialogTitle) { SP.UI.ModalDialog.showModalDialog({ url: pageUrl, width: 800, height: 600, title: dialogTitle }); } Aquí podéis encontrar todas las opciones disponibles para configurarlo: https://msdn.microsoft.com/en-us/library/office/ff410058(v=office.14).aspx
Obtener parametro de URL por Javascript
Simplemente llamamos a la siguiente funcion indicándole el parametro que queremos: function getUrlParameter(name) { name = name.replace(/[[]/, "\[").replace(/[]]/, "\]"); var regexS = "[\?&]" + name + "=([^&#]*)"; var regex = new RegExp(regexS); var results = regex.exec(window.location.href); return results == null ? null : results[1]; }
Ejecutar funcion JS al final de todo de la carga de pagina de SharePoint
Podemos ejecutar funciones JS al final de la carga de la página por medio de JQuery. No obstante, en SharePoint esto no siempre funciona: $(document).ready(function(){ //My code }); Esto ocurre porque aveces el document ya está cargado pero SharePoint todavía sigue cargando elementos. Para evitarlo, podemos insertar nuestra funcion en la lista de funciones que …
Sigue leyendo Ejecutar funcion JS al final de todo de la carga de pagina de SharePoint
Detectar si una página se está cargando dentro de un iframe
function inIframe () { try { return window.self !== window.top; } catch (e) { return true; } }