Crea container padre 1 e componenti container attività
Introduzione
L'applicazione DOM virtuale di Oracle JavaScript Extension Toolkit (Oracle JET) sviluppata alla fine di questa serie di percorsi di apprendimento sarà composta dai componenti mostrati nell'immagine seguente. Cioè, il componente ParentContainer1 contiene un componente ActivityContainer che visualizza un elenco di attività. Una volta selezionata un'attività, viene visualizzato un secondo componente padre (ParentContainer2) che include un componente (ActivityItemContainer) per visualizzare l'elenco degli elementi associati all'attività selezionata. Infine, quando si seleziona un elemento attività, l'app visualizza un componente ItemDetailContainer che visualizza le informazioni sui prezzi e sul livello di scorte relative all'elemento attività selezionato.

Obiettivi
In questa esercitazione è possibile comporre alcuni dei componenti di base dell'applicazione DOM virtuale Oracle JET. Per facilitare la visualizzazione del layout dell'applicazione, sarà inoltre possibile aggiungere le classi di stile oj-panel e oj-bg di Oracle JET per visualizzare bordi e colori intorno ai contenitori. È possibile rimuovere queste classi di stile dall'app finale.
Prerequisiti
- Ambiente di sviluppo impostato per creare applicazioni DOM virtuali Oracle JET che include un'installazione di Node.js
- Accesso al Oracle JET Cookbook
- (Opzione 1) Completamento dell'esercitazione finale nel percorso di apprendimento precedente di questa serie: Prepararsi a distribuire un'applicazione DOM virtuale di Oracle JET
- (Opzione 2) Se il percorso di apprendimento precedente non è stato completato in questa serie: scaricato
jet_virtual_dom_app_temp.zip
Task 1: Scarica l'app Starter Virtual DOM
Saltare questo task se si continua a lavorare in un'applicazione creata nel percorso di apprendimento precedente.
-
Rinominare
jet_virtual_dom_app_temp.zipcomeJET-Virtual-DOM-app.zip. Estrarre il contenuto nella directoryJET-Virtual-DOM-app. -
Passare alla directory
JET-Virtual-DOM-appe ripristinare l'applicazione Oracle JET Virtual DOM.npm installL'applicazione DOM virtuale è pronta per l'uso.
Task 2: Creazione componente dettagli articolo
Il componente Content è stato creato quando è stato eseguito lo scaffold dell'applicazione DOM virtuale nell'ultimo percorso di apprendimento. Rinominare e rifattorizzare questo componente come ItemDetailContainer, un componente figlio che verrà visualizzato dal componente ParentContainer2 che verrà creato nella prossima esercitazione.
-
Nella directory
JET-Virtual-DOM-app/src/componentsrinominare la directorycontentinItemDetail. Quindi rinominare il fileindex.tsxal suo interno inItemDetailContainer.tsx.Nota: se l'editor visualizza un prompt che chiede se le importazioni devono essere aggiornate nel file o nella directory rinominati, come nel messaggio da Visual Studio Code riportato di seguito, fare clic su No e continuare.

-
In
ItemDetailContainer.tsx, modificare la rigaexport function Content() {inconst ItemDetailContainer = () => {. Aggiungere quindi un'istruzioneexportper il componenteItemDetailContaineralla fine del file.const ItemDetailContainer = () => { . . . }; export default ItemDetailContainer; -
Sostituire l'inizio dell'istruzione
returnnel componenteItemDetailContainercon il codice seguente, fino all'elementooj-labelincluso ma non incluso.divinclude una classe di stileoj-bgdi Oracle JET per aggiungere un colore di sfondo grigio al contenitore.return ( <div id="itemDetailsContainer" class="oj-bg-neutral-30"> <h3>Item Details</h3> <oj-label for="basicSelect">Select Chart:</oj-label> . . . -
Eliminare la funzione
renderListIteme rimuovere l'ultimo tag</div>di chiusura dalla fine dell'istruzionereturn. -
Salvare e chiudere il file.
Il codice dovrebbe essere simile a
item-detail-container-tsx.txt
Task 3: Creazione del componente contenuto
Ricreare il componente Content, che visualizza un titolo per l'applicazione e un elemento Preact per il componente ParentContainer1 che verrà creato nel task seguente.
-
Nella directory
JET-Virtual-DOM-app/src/componentscreare una directoryContentcontenente un fileContent.tsxvuoto. -
Aggiungere le istruzioni di importazione riportate di seguito nella parte superiore del file. Verrà creato il componente
ParentContainer1più avanti in questa esercitazione.import { h } from "preact"; import ParentContainer1 from "../ParentContainer1"; -
Creare la definizione di funzione del componente
Content.const Content = () => { return ( ); } -
Nell'istruzione
returndella funzione, aggiungere undivcontenente l'intestazioneh1Product Information e un elementoParentContainer1per accedere al componente che si creerà.const Content = () => { return ( <div class="oj-web-applayout-max-width oj-web-applayout-content"> <h1>Product Information</h1> <ParentContainer1 /> </div> ); }; -
Alla fine del file, aggiungere un'istruzione
exportper il componenteContent.export default Content; -
Salvare e chiudere il file. Il codice deve essere simile a content-tsx.txt.
-
Nella directory
JET-Virtual-DOM-app/src/componentsaprire il fileapp.tsxnell'editor. Nella parte superiore del file, trovare la riga di codice in cuiimport { Content } from "./content/index";, quindi modificarlo per leggereimport Content from "./Content/Content";. -
Salvare e chiudere il file.
Task 4: Creazione del componente container padre 1
Creare il componente ParentContainer1, ovvero il componente contenitore padre per il resto dei componenti che verranno creati.
-
Nella directory
JET-Virtual-DOM-app/src/componentscreare un fileParentContainer1.tsx. -
Aggiungere le seguenti istruzioni
importnella parte superiore del file. Verrà creato il componenteActivityContainerpiù avanti in questa esercitazione.import { h } from "preact"; import ActivityContainer from "./Activity/ActivityContainer"; -
Creare la definizione di funzione del componente
ParentContainer1, che restituisce un valoredivche contiene l'elementoActivityContainer. L'elementodivinclude una classe di stileoj-bgdi Oracle JET per aggiungere un colore di sfondo giallo al contenitore e una classe di stileoj-panelper creare un bordo.const ParentContainer1 = () => { return ( <div id="parentContainer1" class="oj-panel oj-bg-warning-20"> <ActivityContainer /> </div> ); }; -
Alla fine del file, aggiungere un'istruzione
exportper il componenteParentContainer1.export default ParentContainer1; -
Salvare e chiudere il file.
Il tuo codice dovrebbe essere simile a parent-container1-tsx.txt.
Task 5: Crea componente container attività
Creare il componente ActivityContainer, un componente figlio visualizzato dal componente ParentContainer1. Il componente ActivityContainer visualizza un'intestazione e un elenco di attività.
-
Nella directory
JET-Virtual-DOM-app/src/componentscreare una directoryActivitye un fileActivityContainer.tsxal suo interno. -
Nella parte superiore del file, aggiungere la seguente istruzione
import.import { h, ComponentProps } from "preact"; -
Creare la definizione di funzione del componente
ActivityContainer, che restituisce un elementodivcontenente un'intestazione HTMLh3Attività e un elenco di attività.divinclude una classe di stileoj-bgdi Oracle JET per aggiungere un colore di sfondo blu al contenitore.const ActivityContainer = () => { return ( <div id="activitiesContainer" class="oj-bg-info-30"> <h3 id="activitiesHeader">Activities</h3> <div id="activitiesItems" class="item-display no-wrap"> <ul> <li class="li-item">Baseball</li> <li class="li-item">Bicycling</li> <li class="li-item">Skiing</li> <li class="li-item">Soccer</li> </ul> </div> </div> ); }; -
Alla fine del file, aggiungere un'istruzione
exportper il componenteActivityContainer.export default ActivityContainer; -
Salvare e chiudere il file.
Il codice dovrebbe essere simile a
activity-container-tsx.txt. -
Passare alla directory
JET-Virtual-DOM-app/src/stylese aprire il fileapp.cssin un editor. Aggiungere le classi di stileitem-display,no-wrapeli-itemalla fine del file..item-display { width: 100%; height: 100%; max-height: 500px; overflow-x: hidden; overflow-y: auto; } .no-wrap { flex-wrap: nowrap; } .li-item { list-style-type: none; font-size: 1rem; font-weight: 500; } -
Salvare e chiudere il file.
Il codice dovrebbe essere simile a
app-css.txt.
Task 6: Eseguire l'applicazione DOM virtuale
-
Nella finestra del terminale, eseguire l'app dalla directory
JET-Virtual-DOM-app.npx ojet serveIl contenitore attività (blu) all'interno del contenitore padre 1 (giallo) visualizza l'elenco dei nomi attività. Si noti che il contenitore dettagli articolo non viene visualizzato perché non è ancora stato visualizzato all'interno di un altro componente (verrà aggiunto al componente Container padre 2, creato nell'esercitazione successiva).

-
Chiudere la finestra o la scheda del browser che visualizza l'applicazione DOM virtuale 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 Componi componenti.
- Crea container padre 1 e componenti container attività
- Crea container padre 2 e componenti container articolo attività
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.
Create parent container 1 and activity container components
F74296-02