Mostrar ou ocultar conteúdo no aplicativo Web Oracle JET
Introdução
O componente Oracle JET oj-module e as classes de utilitário responsivo do JavaScript podem carregar diferentes exibições com base no tamanho da tela. Você pode usar o componente oj-module para substituir o conteúdo dentro de uma região de uma página vinculando uma view e o viewModel correspondente a um elemento.
Objetivos
Ao concluir este tutorial, você personalizará um aplicativo Web Oracle JET para vincular uma view e o viewModel correspondente usando um componente Oracle JET oj-module e um código TypeScript responsivo.
Pré-requisitos
- Um ambiente de desenvolvimento configurado para criar aplicativos Oracle JET, com o runtime JavaScript, Node.js e a interface de linha de comando mais recente do Oracle JET instalada
- Acesso ao Oracle JET Developer Cookbook
- Conclusão do tutorial anterior nesta programação de estudo para que você tenha criado a pasta
JET_Web_Application - O download opcional do aplicativo jet_web_application_responsive_design_final.zip concluído
Tarefa 1: Adicionar o Componente do Módulo à Exibição
Defina a view e o viewModel correspondente no componente oj-module do Oracle JET usando o objeto de configuração.
-
Navegue até o diretório
JET_Web_Application/src/ts/viewse abra o arquivodashboard.htmlem um editor. -
Localize o elemento
divcomid="activityItemsContainer". Nodivvazio, adicione um contêinerdivque circunda um elemento HTML personalizadooj-modulecom o atributoconfigque define a região de navegação.<div id="activityItemsContainer" class="oj-flex-item oj-md-6 oj-sm-12"> <div id="container"> <oj-module config="[[moduleConfig]]"></oj-module> </div> </div> -
Salve o arquivo
dashboard.html.Seu código deve ser semelhante ao final-dashboard-html.txt.
Tarefa 2: Atualizar a Lista de Módulos Importados no ViewModel
Na parte superior do arquivo dashboard.ts, importe módulos que suportem os componentes do Oracle JET.
-
Navegue até o diretório
JET_Web_Application/src/ts/viewModelse abra o arquivodashboard.tsem um editor. -
Após o módulo
ojlistview, adicione os três módulos de utilitários HTML responsivos do JET e o móduloojmodule-element.import * as AccUtils from "../accUtils"; import * as ko from "knockout"; import MutableArrayDataProvider = require("ojs/ojmutablearraydataprovider"); import "ojs/ojselectsingle"; import "ojs/ojlabel"; import "ojs/ojchart"; import * as storeData from "text!../store_data.json"; import "ojs/ojlistview"; import * as ResponsiveUtils from "ojs/ojresponsiveutils"; import * as ResponsiveKnockoutUtils from "ojs/ojresponsiveknockoututils"; import * as HtmlUtils from "ojs/ojhtmlutils"; import "ojs/ojmodule-element"; -
Salve o arquivo
dashboard.ts.Seu bloco de importação deve ser semelhante a import-block-ts.txt.
Tarefa 3: Adicionar o Código para Carregamento Responsivo no ViewModel
Você deseja carregar conteúdo diferente para diferentes tamanhos de tela em um layout responsivo. Você pode usar oj-module para carregar diferentes views usando um observável, uma consulta de mídia ou uma consulta de mídia personalizada observável.
-
Abra o Cookbook do Oracle JET e navegue até a home page do Cookbook. Clique em Estrutura na barra de menus, depois clique em Comportamentos Responsivos e, em seguida, clique em Carregamento Responsivo.
-
Lá você pode acessar a documentação da API para o namespace
ResponsiveUtils. Em seguida, role até a seção Métodos e leia sobre o métodogetFrameworkQuery. -
No arquivo
dashboard.ts, abaixo da declaraçãochartDataProvider, adicione um bloco de código de modelo em linha para passar para o elemento HTML personalizadooj-module.this.chartDataProvider = new MutableArrayDataProvider(this.chartData, { keyAttributes: "id", }); // Define the oj-module inline template for Activity Items list const lg_xl_view = '<h3 id="activityItemsHeader">Activity Items</h3>' + '<oj-list-view style="font-size: 18px" aria-labelledby="activityItemsHeader">' + "<ul>" + "<li>" + '<div class="oj-flex-item">' + "<p>SureCatch Baseball Glove</p>" + "<p>Western R16 Helmet</p>" + "<p>Western C1 Helmet</p>" + "<p>Western Bat</p>" + "</div>" + "</li>" + "<li>" + '<div class="oj-flex-item">' + "<p>Air-Lift Tire Pump</p>" + "<p>Intact Bike Helmet</p>" + "<p>Nimbus Bike Tire</p>" + "<p>Refill Water Bottle</p>" + "<p>Swift Boys 21 Speed</p>" + "</div>" + "</li>" + "</ul>" + "</oj-list-view>";O nó de dados em linha para telas grandes e extras grandes é passado pela variável
lg_xl_view. -
Abaixo da definição da variável
lg_xl_view, defina o código para informar o nó de dados em linha para telas pequenas e médias por meio da variávelsm_md_view.// Display this content for small and medium screen sizes const sm_md_view = '<div id="sm_md" style="background-color:lightcyan; padding: 10px; font-size: 10px">' + '<h3 id="activityDetailsHeader">Activity Details</h3>' + '<oj-list-view style="font-size: 18px" aria-labelledby="activityDetailsHeader">' + "<ul>" + "<li>" + '<div class="oj-flex-item">' + "<p>SureCatch Baseball Glove</p>" + "<p>Western R16 Helmet</p>" + "<p>Western C1 Helmet</p>" + "<p>Western Bat</p>" + "</div>" + "</li>" + "</ul>" + "</oj-list-view>" + "</div>"; -
Abaixo da definição da variável
sm_md_view, defina o código para carregar a exibição de diferentes tamanhos de tela usando uma consulta de mídiathis.largeobservável.// Identify the screen size and display the content for that screen size const lgQuery = ResponsiveUtils.getFrameworkQuery( ResponsiveUtils.FRAMEWORK_QUERY_KEY.LG_UP ); this.large = ResponsiveKnockoutUtils.createMediaQueryObservable(lgQuery); this.moduleConfig = ko.pureComputed(() => { let viewNodes = HtmlUtils.stringToNodeArray( this.large() ? lg_xl_view : sm_md_view ); return { view: viewNodes }; }); /** * End of oj-module code */Usando a função do utilitário HTML, você pode obter a string de consulta de mídia da estrutura na variável
this.large. O código HTML na variávellg_xl_viewserá carregado se o valor da string de consulta de mídia emthis.large()for igual aLG_UP, grande ou acima. O código HTML na variávelsm_md_viewserá carregado se o valor da string de consulta de mídia emthis.large()não for igual aLG_UP. -
Adicione declarações de tipo para
largeemoduleConfigà classe.class DashboardViewModel { chartTypes: Array<Object>; chartTypesDP: MutableArrayDataProvider<ChartType["value"], ChartType>; chartData: Array<Object>; chartDataProvider: MutableArrayDataProvider<string, {}>; activityDataProvider: MutableArrayDataProvider<Activity["id"], Activity>; val: ko.Observable<string>; large: ko.Observable<boolean>; moduleConfig: ko.PureComputed<any>; -
Salve o arquivo
dashboard.ts.Seu arquivo deve ser semelhante a final-dashboard-ts.txt.
Tarefa 4: Executar o Aplicativo Web
-
Na janela do terminal, altere para o diretório
JET_Web_Applicatione execute o aplicativo.$ ojet serveAs ferramentas do Oracle JET executam seu aplicativo Web em um web browser local no qual você pode exibir o conteúdo do painel de controle.

Descrição da ilustração final-app.png
Para exibir o conteúdo na variável
sm_md_view, ajuste a tela para um tamanho pequeno ou médio. Observe a lista reduzida de itens no cabeçalho Detalhes da Atividade, que é realçado como um ciano claro.
Descrição da ilustração Small-screen.png
Para exibir o conteúdo na variável
lg_xl_view, altere o tamanho da tela para grande ou extra-grande.
-
Na janela do terminal, pressione Ctrl+C e, se solicitado, digite
ypara sair do job em batch de ferramentas do Oracle JET. -
Fechar a janela ou guia do browser.
-
Seu aplicativo concluído com a funcionalidade de design responsivo deve ser semelhante a jet_web_application_responsive_design_final.zip.
Tarefa 5: (Opcional) Executar um Aplicativo Web de um Aplicativo Restaurado
Se quiser executar o aplicativo Web Oracle JET concluído do código fornecido, você poderá restaurar o aplicativo do arquivo compactado baixado. Para trabalhar com um aplicativo Oracle JET distribuído e compactado, você deve restaurar as dependências do projeto, incluindo o conjunto de ferramentas Oracle JET e as bibliotecas e módulos necessários, dentro do aplicativo extraído.
-
Faça download do arquivo
jet_web_application_responsive_design_final.zipe extraia o conteúdo do aplicativo concluído para a pastajet_web_application_responsive_design_final. -
Na janela do terminal, navegue até a pasta
jet_web_application_responsive_design_finale restaure o aplicativo Web Oracle JET.$ ojet restore -
Aguarde a confirmação.
$ Restore completeO aplicativo está pronto para ser executado.
-
Execute o aplicativo Web e teste no browser.
$ ojet serve -
Feche a janela ou guia do browser que exibe seu aplicativo Web em execução.
-
Na janela do terminal, pressione Ctrl+C e, se solicitado, digite
ypara sair do job em batch de ferramentas do Oracle JET.
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Show or hide content in the Oracle JET web application
F53140-01
February 2022
Copyright © 2022, Oracle and/or its affiliates.