Ordenar Array de objetos por property de texto (Título, etc) en Typescript

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));

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 …

Sigue leyendo Convertir fecha UTC en Local con Javascript

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

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