Mostra o nasconde il contenuto nell'applicazione DOM virtuale di Oracle JET
Introduzione
Oracle JavaScript Extension Toolkit (Oracle JET) include un modulo ResponsiveUtils che contiene utility per l'utilizzo di larghezze e intervalli di schermate reattivi. Ad esempio, una larghezza o un intervallo di schermate specifici è descritto da una chiave di query framework, che può essere passata al metodo getFrameworkQuery() per produrre una stringa di query media framework.
L'interfaccia Window contiene la variabile window che rappresenta la finestra in cui è in esecuzione l'applicazione DOM virtuale. Il passaggio della query sui supporti del framework nel metodo window.matchmedia() restituisce un oggetto con proprietà che è possibile utilizzare per verificare se la larghezza dello schermo della finestra in cui è in esecuzione l'applicazione DOM virtuale corrisponde alla larghezza o all'intervallo specificati.
Con questo oggetto e l'uso di ganci Preact, stato e listener di eventi, è possibile monitorare le dimensioni dello schermo in cui è in esecuzione l'applicazione DOM virtuale e visualizzare in modo reattivo contenuti diversi quando le dimensioni dello schermo cambiano.
Obiettivi
In questa esercitazione verrà descritto come utilizzare gli hook di Preact e il modulo ResponsiveUtils di Oracle JET per monitorare le modifiche alle dimensioni della finestra in cui è in esecuzione l'applicazione DOM virtuale. Quindi regolerai il componente Contenitore elemento attività dell'applicazione per caricare in modo reattivo contenuti diversi quando si utilizzano schermate medie o piccole.
Prerequisiti
- Un ambiente di sviluppo impostato per creare applicazioni DOM virtuali che include un'installazione di Node.js
- Browser web di Google Chrome installato e impostato come browser web predefinito
- Accesso al Oracle JET Developer Cookbook
- Completamento dell'esercitazione precedente in questo percorso di apprendimento: Formattazione dei contenitori dei componenti per dimensioni dello schermo diverse
- L'app completata jet-virtual-dom-app-responsive-design-final.zip è facoltativamente scaricata
Task 1: Monitorare la larghezza dello schermo e visualizzare in modo responsabile il contenuto condizionale
Utilizzare gli hook di Preact e il modulo ResponsiveUtils di Oracle JET per trovare la larghezza dello schermo della finestra del browser e monitorare quando la dimensione cambia in media o più piccola. Utilizzare quindi lo stato per tenere traccia delle dimensioni dello schermo nel componente ActivityItemContainer e visualizzare un contenitore Elementi attività ricolori con un elenco abbreviato di elementi per schermi medi o più piccoli.
-
Aprire il ricettario Oracle JET e andare alla home page del ricettario. Fare clic su Framework nella barra dei menu, quindi fare clic su Funzionamento rispondente, quindi su Caricamento rispondente.
-
È possibile accedere alla documentazione API per lo spazio di nomi
ResponsiveUtils. Scorrere fino alla sezione Metodi e leggere il metodogetFrameworkQuery. -
Passare alla directory
JET-Virtual-DOM-app/src/components/ActivityIteme aprire il fileActivityItemContainer.tsxin un editor. -
Nella parte superiore del file, aggiungere le istruzioni
importper gli hookuseRef,useStateeuseEffect, nonché il modulo Oracle JETResponsiveUtils.import { useRef, useState, useEffect } from "preact/hooks"; import * as ResponsiveUtils from "ojs/ojresponsiveutils"; -
Al di sopra della funzione
ActivityItemContainer, aggiungere la variabilesm_md_viewper contenere il contenuto che il contenitore visualizzerà quando lo schermo è di medie o piccole dimensioni, piuttosto che una dimensione grande o extra-grande.// Display this content for medium and narrower screen widths const sm_md_view = <div id="sm_md" class="oj-flex-item oj-sm-padding-4x-start oj-md-6 oj-sm-12" style="background-color:lightcyan; padding: 10px; font-size: 10px"> <h3 id="activityDetailsHeader">Activity Details</h3> <div class="item-display no-wrap"> <ul> <li class="li-item">SureCatch Baseball Glove</li> <li class="li-item">Western R16 Helmet</li> <li class="li-item">Western C1 Helmet</li> <li class="li-item">Western Bat</li> </ul> </div> </div>;Nota: come procedura ottimale, si consiglia di definire gli stili CSS in un file separato, non in linea come sono qui.
-
Prima dell'istruzione
returndella funzioneActivityItemContainer, aggiungere il codice seguente per utilizzare gli hook di Preact importati e il moduloResponsiveUtils.const ActivityItemContainer = () => { const mediaQueryRef = useRef<MediaQueryList>(window.matchMedia(ResponsiveUtils.getFrameworkQuery("md-down")!)); const [isSmallMediumWidth, setIsSmallMediumWidth] = useState(mediaQueryRef.current.matches); useEffect(() => { mediaQueryRef.current.addEventListener("change", handleMediaQueryChange); return (() => mediaQueryRef.current.removeEventListener("change", handleMediaQueryChange)); }, [mediaQueryRef]); -
Sotto il gancio
useEffect, aggiungere le seguenti due funzioni.function handleMediaQueryChange(e: MediaQueryListEvent) { setIsSmallMediumWidth(e.matches); } function getDisplayType() { return isSmallMediumWidth ? false : true; } -
Infine, modificare l'istruzione
returndella funzioneActivityItemContainerper eseguire il rendering del contenuto degli elementi attività correnti, se si utilizza una dimensione dello schermo grande o extra-grande, oppure eseguire il rendering del contenuto nella variabilesm_md_view, se si utilizza una dimensione dello schermo media o inferiore.return getDisplayType() ? ( <div id="activityItemsContainer" class="oj-flex-item oj-bg-success-20 oj-sm-padding-4x-start oj-md-6 oj-sm-12"> <div id="container" class="item-display no-wrap"> <h3>Activity Items</h3> <ul> <li class="li-item">Louisville Slugger Bat</li> <li class="li-item">SureCatch Baseball Glove</li> <li class="li-item">Baseball</li> <li class="li-item">Western R16 Helmet</li> <li class="li-item">Western C1 Helmet</li> <li class="li-item">Sure Fire Ball (Set of 4)</li> </ul> </div> </div> ) : sm_md_view; -
Salvare e chiudere il file.
Il codice dovrebbe essere simile a
responsive-screen-activity-items.txt.
Task 2: Esecuzione dell'applicazione DOM virtuale
-
Nella finestra del terminale, passare alla directory
JET-Virtual-DOM-apped eseguire l'applicazione DOM virtuale.npx ojet serveGli strumenti Oracle JET eseguono l'applicazione DOM virtuale nel browser Web locale. La visualizzazione del contenuto su un grande schermo mostra lo stesso contenuto visualizzato alla fine dell'esercitazione precedente.

-
Per visualizzare i contenuti nella variabile
sm_md_view, trascinare il bordo della finestra del browser finché non è di medie dimensioni. Nel contenitore Elementi attività, tenere presente l'elenco di elementi attività abbreviato sotto una nuova intestazione Dettagli attività, nonché il nuovo colore ciano chiaro del contenitore.
-
Successivamente, visualizza l'app DOM virtuale in una piccola dimensione dello schermo utilizzando Chrome DevTools. Ingrandire lo schermo, quindi fare clic con il pulsante destro del mouse sulla pagina e selezionare Ispeziona per visualizzare la vista della pagina negli strumenti di sviluppo.
-
Nella barra degli strumenti di Chrome DevTools, fare clic su
per passare alla modalità del dispositivo.
-
Fare clic sul menu a discesa Dimensioni nell'emulatore di schermo della modalità dispositivo.

-
Nel menu a discesa, selezionare un dispositivo con dimensioni ridotte dello schermo, ad esempio Pixel 7, per verificare le modifiche al contenuto nell'emulatore schermo.

Nelle dimensioni ridotte dello schermo, l'orientamento e il layout dell'applicazione vengono modificati e un elenco ridotto di elementi è visibile sotto l'intestazione Dettagli attività. Il contenitore è colorato ciano chiaro.
-
Nella finestra del terminale, premere Ctrl+C e, se richiesto, immettere
yper uscire dal job batch degli strumenti Oracle JET. -
Chiudere la finestra o la scheda del browser.
-
L'app Virtual DOM completata con funzionalità di progettazione reattiva dovrebbe essere simile a
jet-virtual-dom-app-responsive-design-final.zip.
Task 3: (facoltativo) eseguire un'applicazione DOM virtuale da un'applicazione ripristinata
Se si desidera eseguire l'applicazione DOM virtuale Oracle JET completata dal codice fornito, è possibile ripristinare l'applicazione dal file di archivio scaricato. Per utilizzare un'applicazione DOM virtuale Oracle JET stripped and zipped, è necessario ripristinare le dipendenze del progetto, inclusi gli strumenti Oracle JET e le librerie e i moduli richiesti, all'interno dell'applicazione estratta.
-
Scaricare il file
jet-virtual-dom-app-responsive-design-final.ziped estrarre il contenuto dell'applicazione completata nella cartellaJET-Virtual-DOM-app. -
Nella finestra del terminale, passare alla cartella
JET-Virtual-DOM-appe ripristinare l'applicazione Oracle JET Virtual DOM.npm install -
Attendere la conferma.
Success: Restore completeL'app è pronta per essere eseguita.
-
Eseguire l'app e testarla nel browser.
npx ojet serve -
Chiudere la finestra o la scheda del browser in cui viene visualizzata l'applicazione in esecuzione.
-
Nella finestra del terminale, premere Ctrl+C e, se richiesto, immettere
yper uscire dal job batch degli strumenti Oracle JET.
Passo successivo
Passare all'esercitazione successiva in questo modulo.
Questa esercitazione fa parte del modulo Responsive Design.
- Aggiungi container all'applicazione Oracle JET Virtual DOM
- Formattare i contenitori per l'applicazione Oracle JET Virtual DOM
- Mostra o nascondi contenuto nell'applicazione Oracle JET Virtual DOM
- Eseguire il test dell'applicazione Oracle JET Virtual DOM su diverse dimensioni dello schermo
Puoi tornare alla pagina principale del percorso di apprendimento DOM virtuale per accedere a tutti i moduli sulla creazione di app DOM virtuali.
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Show or hide content in the Oracle JET virtual DOM app
F74289-02