Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel2
minLevel2

Introducción

El Template Web es una plantilla base que permite crear de forma sencilla aplicaciones web desplegables como proyectos Web en plataforma simplemente configurando un conjunto de endpoints en los ficheros JS de configuración.

...

  • Plantillas HTML.

  • Librerías Javascript y CSS de la aplicación (assets). 

Plantillas HTML

Al clonar el proyecto, vereis veréis 2 plantillas: index y login. Ambas plantillas son configurables para que se ajusten a las necesidades del proyecto.

...


Cada una de estas pantallas o visualizaciones están encapsuladas en dashboards (explicados más adelante). Estos dashboards son elementos de visualización dinámicos compuestos de gadgets/widgets que interactúan entre sí y cargan datos de forma óptima.

Librerías JavaScript y de estilo CSS

En el proyecto además de las librerías de estilos básicas y de las librerías de JavaScript básicas que se usan en los dashboards para sus gadgets genéricos, es necesario tener, para algunas de las funcionalidades desarrolladas, una serie de librerías open-source adicionales. A continuación, se describen todas las funcionalidades.

...

Vemos a continuación la estructura y contenido de las carpetas.

1er Nivel

2º Nivel

Descripción de la carpeta

Image Modified
Contiene los archivos básicos para la parte de front-end y su configuración.

Image Modified

En la carpeta css están los archivos de estilo.

En la carpeta js están los archivos básicos JavaScript para el front-end, que inicializan funcionalidades básicas y de boostrap y de configuración y funcionamiento de las plantillas index y login.

En la carpeta media tenemos imágenes, logotipos y fondos de la aplicación front-end.

Image Modified
Contiene los archivos de librerías y plugins de terceros que se usan para la parte de front-end y la configuración de dashboards

Image Modified

En la carpeta base están los archivos de fuentes de iconos usados, además de unos archivos agrupados de varios estilos y varios plugins JavaScript que se usan para campos tipo date, datepicker, datetimepickers, select2, boostrap-select, input mask, jquery-validation, range, sliders, colorpickers, etc.

datatables es la carpeta que contiene estilos y JavaScript usados por las tablas de datos usadas en varios dashboards.

x-editable contiene un plugin open source para la edición en línea de datos.

Sistema de configuración

El sistema de configuración de templates tiene dos objetivos principales: el primero, configurar el acceso y el menú de navegación de la aplicación front-end, y el segundo, configurar el aspecto visual de la plantilla index y login.

...

Dentro del application-config.js se declaran dos objetos de configuración JSON, uno para el menú y otro para la configuración de acceso y aspecto del front-end. A continuación, vamos a ver el formato y uso del objeto que describe los menús del sistema de navegación del front-end:

...

Configuración del objeto menú menuJson en application-config.js:

El Objeto menuJson configura los menús de 1º y 2º nivel (submenús) de la aplicación y se compone de las siguientes propiedades:

...

Menú sencillo (sin submenús):

{title:{EN:"…",ES:"…"},icon:"",url:"",submenu:[], dashboard:{}}

La condición principal para hacer un menú sencillo es colocar la propiedad submenú en un array vacío. Los siguientes campos permiten:

  • title: indica el titulo o label que se mostrará se pueden indicar en varios idiomas EN,ES,…

  • icon: indica el icono que se usará para este menú, se pueden usar cualquier icono de los disponibles en las siguientes librerías y con este formato:

...


Veamos a continuación dos ejemplos uno para página y otro para dashboard:


Menú Sencillo a página:

{title:{EN:"Page",ES:"Página"},icon:"fa fa-file",url:"http://www.google.es",submenu:[], dashboard:{}}

Menú sencillo a Dashboard:

{title:{EN:"Dashboard",ES:"Dashboard"},icon:"la la-dashboard",url:"",submenu:[], dashboard:{title: "myDashboard", src: "https://development.onesaitplatform.com/controlpanel/dashboards/view/MASTER-Dashboard-2/", background: "#FFCC00", height: "1000px", mode: "INSERT"}}

La otra opción que permite un menú sencillo es un elemento de separación, que sólo hace de separador entre grupos de menús. Para crear un separador, se agrega un menú sencillo sin url y sin dashboard:
Menú sencillo separador:

{title:{EN:"Separator",ES:"…"},icon:"fa fa-line",url:"",submenu:[], dashboard:{}}


La otra opción del Sistema de navegación son los menús complejos o menús con submenús. Funcionan exactamente igual que los sencillos, solo que se ubican dentro del campo submenu[ ] del menú principal. Veamos a continuación un ejemplo:

{title:{EN:"menu1",ES:"menu1"},icon:"flaticon-cart",url:"",
submenu:[
{title:{EN:"submenu1",ES:"submenu1"},icon:"flaticon-laptop",url:"index.html", dashboard:{}},
{title:{EN:"submenu2",ES:"submenu2"},icon:"flaticon-comment",url:"index.html", dashboard:{}},
{title:{EN:"Dashboard 1",ES:"Dashboard"},icon:"flaticon-calendar-1",url:"",
dashboard:{
src:"https://development.onesaitplatform.com/controlpanel/dashboards/view/MASTER-Dashboard-2/",
title: "Dashboard Example",
background: '',
height: '850px',
mode: 'INSERT'
}
}
]
}

Con todas estas opciones se construye la navegación de la aplicación como podemos ver a continuación:

Image Modified

En esta imagen, puedes ver todos los tipos de elementos que puedes construir en la navegación de la aplicación:

El menú home, por defecto no mostrado, varios menús con submenús, el menú de Complaints con dos submenús: Dashboard y Report, y otro menú con submenús que se llama Objectives.

El siguiente objeto de configuración es mainJson. Este objeto JSON configura el comportamiento y el estilo visual de las plantillas login e index. Para ello dentro se divide la configuración en bloques que describen cada una de zona de las páginas o elementos generales de las mismas.

...


A continuación, vemos un ejemplo de este objeto de configuración del template:

// FRONTEND MAIN CONFIGURATION
var mainJson = {
title: "onesait Platform | BI Datalake Dashboards",
description: "onesait Platform PoC",
currentSkin: 'skin-light',
access:{
urlBasePath: "",
imgBasePath: "assets/app/media/img/",
entry: "PRIVATE",
urlBase:"https://dev-datalake.onesaitplatform.com/",
urlApi: "https://dev-datalake.onesaitplatform.com/api-manager/server/api"
},
app: {
appLogo: '',
appLogoCss: 'width: auto; max-height: 60px;',
appLogoBackground: 'background-color: rgb(14, 102, 139) !important',
appHome: 'onesait BI Datalake',
appLoading: '',
appFooter: true,
appStickymenu: false,
appWelcome: false,
},
login:{
loginLogo: './assets/app/media/img/logos/Minsait-logo-invert.png',
loginLogoStyle: 'width: auto; height: 230px;',
loginBackground: './assets/app/media/img/bg/bg-4.jpg',
loginDescription:'wellcome to onesait BI Datalake',
signInTitle: 'onesait BI Datalake, please sign In:',
signInBtnColor: '', // NEW-ELEMENT.
signUp: false,
forgotPassword: false,
rememberMe: false
},
user:{
showAvatar: true,
avatar: 'assets/app/media/img/logos/database.png',
profile: {link:"profile.html",text:"ROL",visible: false},
support: {link:"support.html",text:"Support",visible: false},
activity: {link:"activity.html",text:"Activity",visible: false},
messages: {link:"messages.html",text:"Messages",visible: false},
faq:{link:"faq.html",text:"FAQ",visible: false},
logout: {link:"login.html",text:"Exit",visible: true}
},
header: {
headerDashboads: false,
headerReports: false,
headerSearch: false,
headerNotifications: false,
headerQuickactions: false,
headerUser: true,
headerSidebarToggle: false,
headerSessionConfiguration: false // NEW-ELEMENT.
},
content: {
contentHead: true,
contentTools: true,
contentTitle: 'BI DataLake Complaints',
contentHeadCss: '',
contentTitleCss: '',
contentDashboard: {
enabled: true,
dashboardName: 'BI DataLake Complaints',
changeTitle: true,
notification: false,
src: "https://dev-datalake.onesaitplatform.com/controlpanel/dashboards/viewiframe/632334ea-fea9-4f91-b146-dd2a3ddb1598",
background: '#FFF',
height: '850px',
mode: 'INSERT'
}
},
footer: {
footerCopyright: "2019 © IndraCompany BI Datalake by Minsait",
footerLinks: true,
footerLinkAbout: {link:"about.html",text:"About",visible: true},
footerLinkPrivacy:{link:"privacy.html",text:"Privacy",visible: true},
footerLinkTerms: {link:"terms.html",text:"Terms",visible: true},
footerLinkCompany:{link:"company.html",text:"Mindsait",visible: true},
footerLinkSupport:{link:"support.html",text:"onesait Support Center",visible: true}
},
themes:{
availableSkin: ['skin-light','skin-dark'],
changeSkin: 'skin-light',
contentBackground : 'ghostwhite',
contentPadding: '0px 0px', // 30px 30px;
menu: ''
}
};

Despliegue

Una vez has configurado tu template, puedes abrir desde tu equipo el fichero login.html y comprobar que todo funciona. 

...