Crear la vista maestra en una aplicación web de Oracle JET
Introducción
En este tutorial se describe cómo leer datos jerárquicos maestro-detalle de un documento local de JavaScript Object Notation (JSON) y mostrar los datos en una vista maestra en una aplicación web de Oracle JavaScript Extension Toolkit (Oracle JET).
En viewModel para la aplicación web de Oracle JET, puede utilizar la API de Oracle JET para crear un objeto de proveedor de datos. El objeto representa una matriz de datos que se rellena a partir de los objetos principales de un almacén de datos de documentos JSON. En la vista de la aplicación web Oracle JET, el atributo data de los elementos HTML personalizados de Oracle JET se enlaza a los datos a través de una instancia de un objeto MutableArrayDataProvider que se declara y rellena en el código fuente viewModel de la aplicación.
Objetivos
En este tutorial, enlazará datos de varios elementos de los objetos de datos principales en un documento JSON local y rellenará las filas de un componente de vista de lista de Oracle JET con esos datos.
Requisitos
- Entorno de desarrollo configurado para crear aplicaciones de Oracle JET con el tiempo de ejecución de JavaScript, Node.js y la última interfaz de línea de comandos de Oracle JET instalada
- Explorador web de Google Chrome instalado y definido como explorador web por defecto
- Acceso a Oracle JET Developer Cookbook
- (Opción 1) Finalización de la ruta de aprendizaje anterior en esta serie: Desarrollo de una aplicación web con diseño ajustable en Oracle JavaScript Extension Toolkit
- (Opción 2) Si no completó la ruta de aprendizaje anterior en esta serie: jet_web_application_temp.zip descargado
- product_images.zip descargado en el directorio
JET_Web_Application/src/css/images/
Tarea 1: Descarga de la aplicación de inicio
Omita esta tarea si continúa trabajando en una aplicación creada en la ruta de aprendizaje anterior.
-
Cambie el nombre de
jet_web_application_temp.zipporJET_Web_Application.zip. Extraiga el contenido de la carpetaJET_Web_Application. -
En la ventana de terminal, verifique que Oracle JET esté instalado y actualizado a la última versión.
$ npm list -g @oracle/ojet-cli$ npm install -g @oracle/ojet-cli -
Navegue a la carpeta
JET_Web_Applicationy restaure la aplicación Oracle JET.$ ojet restoreLa aplicación está lista para su uso.
Tarea 2: Descarga de imágenes de producto
Omita esta tarea si ha descargado la aplicación de inicio en jet_web_application_temp.zip.
-
Si el trabajo por lotes del servidor de herramientas de Oracle JET se está ejecutando en la ventana de terminal, pulse Ctrl+C y, si se le solicita, introduzca
ypara salir del trabajo por lotes del servidor.El trabajo por lotes del servidor solo reconoce las revisiones que realice en los archivos de aplicación existentes. Después de crear nuevos archivos, debe volver a ejecutar la aplicación web.
-
Descargue el archivo
product_images.zipen el directorioJET_Web_Application/src/css/images/. -
Extraiga el contenido del archivo zip en una nueva carpeta
product_imagesde la carpetaimages.La ruta de acceso a la nueva carpeta es
JET_Web_Application/src/css/images/product_imagesy la carpeta contiene las imágenes que utiliza la aplicación.
Tarea 3: Mejora de la lista de actividades en la vista
Modifique el componente Vista de Lista de Oracle JET para mostrar varios elementos de datos del origen de datos de matriz Actividades para cada fila de lista. Para instanciar el contenido de los elementos de datos de fila de lista en tiempo de ejecución, el componente Vista de lista de actividades utiliza un elemento HTML template con un atributo slot como marcador de posición.
-
Busque el elemento
divconid="activityItemsContainer"y suprima la clase auxiliaroj-sm-only-text-align-endpara evitar la reordenación del contenido de la lista de actividades.<div id="activitiesContainer" class="oj-flex-item oj-bg-info-30 oj-md-4 oj-sm-12"> -
Busque el elemento HTML personalizado
oj-list-viewdondeid="activitiesList"y agregue un atributoclasscon el valoritem-display.<oj-list-view id="activitiesList" class="item-display" aria-labelledby="activitiesHeader" data="[[activityDataProvider]]" gridlines.item="visible">Para proporcionar el origen de datos de vista de lista, el atributo
dataenlaza el observableactivityDataProvidercomo un enlace de datos unidireccional. -
Navegue al directorio
JET_Web_Application/src/cssy abra el archivoapp.css. Aquí puede agregar estilos CSS específicos de la aplicación. Cree una definición de estilo.item-displaycon las propiedadeswidth,heightyoverflow-xpara soportar la visualización de varios elementos de datos en las filas de la lista..item-display { width: 100%; height: 500px; overflow-x: hidden; } -
En el elemento
oj-list-viewdondeid="activitiesList", busque el elemento de plantilla dondeslot="itemTemplate"y suprima el elementodivy el elementooj-bind-textcontenido.<template slot="itemTemplate"> </template> -
En el elemento
templatevacío, agregue tres elementosdivcon código para rellenar las filas del componente de vista de lista con una imagen de fondo, un nombre y una descripción corta.<template slot="itemTemplate"> <div class="oj-flex no-wrap"> <span class="demo-thumbnail oj-flex-item" :style.background-image="[[' url('+$current.data.image+')']]"></span> <div class="demo-content oj-flex-item"> <div> <strong> <oj-bind-text value="[[$current.data.name]]"></oj-bind-text> </strong> </div> <span class="demo-metadata"> <oj-bind-text value="[[$current.data.short_desc]]"></oj-bind-text> </span> </div> </div> </template> -
Guarde el archivo
dashboard.html.El archivo debe ser similar a final-master-list-dashboard-html.txt.
Tarea 4: revisión del proveedor de datos de actividades en ViewModel
Para rellenar el componente Vista de lista de actividades, viewModel crea una instancia de la matriz de datos Actividades mediante una clase MutableArrayDataProvider de Oracle JET. El método JSON.parse analiza el almacén de datos JSON local como un argumento que devuelve los datos.
-
Abra Oracle JET Cookbook y vaya a la página inicial de Cookbook. Haga clic en Marco, Proveedor de datos y, a continuación, en Proveedor de datos de matriz que se puede mover. En la barra de herramientas de Cookbook, haga clic en Documento de API.
-
En la documentación de la API, lea sobre la clase
MutableArrayDataProvider. Observe cómo puede utilizar el argumento opcionalkeyAttributespara crear una instancia de una claseMutableArrayDataProviderbasada en el atributo clave del objeto de datos transferido. -
Navegue al directorio
JET_Web_Application/src/ts/viewModelsy abra el archivodashboard.tsen un editor. Busque la declaración dethis.activityDataProvideren el método constructor.this.activityDataProvider = new MutableArrayDataProvider< Activity["id"], Activity >(JSON.parse(storeData), { keyAttributes: "id", }); }De esta forma se crea el objeto
activityDataProvider, una instancia de la claseMutableArrayDataProvider. La propiedadkeyAttributesdeMutableArrayDataProviderrellena la matriz Actividades según el atributoiddel objeto principal. El atributoides el atributo clave para los objetos de datos principales y secundarios en el documento JSON. -
Cierre el archivo
dashboard.tssin realizar ningún cambio.El archivo debe ser similar a final-master-list-dashboard-ts.txt.
Tarea 5: Ejecución de la aplicación web y depuración de la hoja de estilo en cascada de la aplicación
-
En la ventana de terminal, cambie al directorio
JET_Web_Applicationy ejecute la aplicación.$ ojet serveLas herramientas de Oracle JET ejecutan la aplicación web en un explorador web local, donde puede ver la lista maestra de datos. Las imágenes que se muestran a la izquierda de los nombres de actividad de la lista Actividades sólo se muestran parcialmente porque son demasiado grandes.
Si cambia el tamaño del explorador y aún no ve una página similar a esta captura de pantalla de ejemplo, confirme que ha extraído las imágenes de la aplicación en la carpeta
product_images.
-
En el explorador de Google Chrome, haga clic con el botón derecho en la imagen parcial de la actividad de Soccer y seleccione Inspeccionar. El explorador muestra herramientas de desarrollador para inspeccionar el origen de página HTML.
-
En el panel Elementos, seleccione el elemento
span class="demo-thumbnail". En el panel Estilos, busque el estiloelement.style background-imageresaltado. Haga clic con el botón derecho en la URL de la imagenjrsoccerball.jpgy seleccione Revelar en el panel Orígenes.
-
El panel Orígenes de Chrome DevTools muestra que la imagen es de 300 x 300 píxeles y el tamaño es demasiado grande para que se muestre en el componente Vista de lista de Oracle JET. Para presentar una imagen en miniatura a partir de una imagen de tamaño completo, puede definir una clase de estilo Cascading Style Sheets (CSS).

-
Cierre la ventana de herramientas del desarrollador y vuelva a la aplicación en el explorador.
Tarea 6: Corrección de CSS y visualización de la lista maestra
-
Navegue al directorio
JET_Web_Application/src/cssy abra el archivoapp.cssen un editor. -
Defina las propiedades del selector de clases
.demo-thumbnail. En la lista de propiedades, defina una propiedadbackground-repeatenno-repeatpara mostrar la imagen solo una vez. También defina un selector de clasesno-wrapcon la propiedadflex-wrapdefinida ennowrap..demo-thumbnail { border-radius: 5px; background-size: 40px 40px; background-repeat: no-repeat; min-width: 40px; min-height: 40px; max-width: 40px; margin-right: 10px; } .no-wrap { flex-wrap: nowrap; }En el archivo
dashboard.html, el elementospanhace referencia al selector de clases para dar formato a la imagen de lista Actividades como una vista en miniatura definiendo el estilo CSSdemo-thumbnailen el atributoclass. En el elementospan, la propiedad CSSbackground-imagedefine la imagen según la URL de la propiedadimagedel objeto principal Actividad actual.<span class="demo-thumbnail oj-flex-item" :style.background-image="[[' url('+$current.data.image+')']]"></span> -
Guarde y cierre el archivo
app.css.El archivo debe ser similar a app-css-final.txt.
-
En el explorador web, vuelva a cargar la página.
El explorador muestra la lista maestra de datos con imágenes en miniatura.

-
Cierre la ventana o separador del explorador que muestra la aplicación web en ejecución.
-
En la ventana de terminal, pulse Ctrl+C y, si se le solicita, introduzca
ypara salir del trabajo por lotes de herramientas de Oracle JET.
Más recursos de aprendizaje
Explore otras prácticas en docs.oracle.com/learn o acceda a contenido de aprendizaje más gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de formación de Oracle.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Create the master view in an Oracle JET web app
F53168-01
February 2022
Copyright © 2022, Oracle and/or its affiliates.