Adicionar componentes a um aplicativo Web Oracle JET
Introdução
Este tutorial mostra como adicionar componentes do Oracle JavaScript Extension Toolkit (Oracle JET) ao modelo inicial do navdrawer do seu aplicativo Web Oracle JET.
O Oracle JET é um kit de ferramentas de desenvolvimento que você usa para criar aplicativos Web do cliente. Para criar seu aplicativo Web, use o Oracle JET Cookbook para localizar as amostras de componentes que ilustram a funcionalidade específica que você deseja adicionar ao seu aplicativo. O Oracle JET Cookbook também fornece instruções que podem ser seguidas para suportar comportamentos específicos dos componentes.
Objetivos
Ao concluir este tutorial, você aprenderá a usar o Oracle JET Cookbook para adicionar os componentes Oracle JET Select Single and Chart à guia Painel de Controle de seu aplicativo Web. Você também aprenderá a conectar esses dois componentes para adicionar interatividade entre eles.
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
- Conclusão dos tutoriais anteriores nesta programação de estudo, para que você tenha criado a pasta
JET_Web_Application
- Acesso ao Oracle JET Cookbook
Tarefa 1: Adicionar Classes de Estilo
É uma boa prática colocar estilos que você deseja aplicar a componentes em um arquivo CSS separado em vez de usar o atributo style
em linha demonstrado no seguinte exemplo:
<oj-select-single id="basicSelect" style="max-width:20em" data="[[chartTypesDP]]"value="">
Antes de adicionarmos os componentes Selecionar Único e Gráfico à nossa página, criaremos classes de estilo no arquivo CSS do aplicativo a que os componentes podem fazer referência.
- Navegue até o diretório
JET_Web_Application/src/css
e abra o arquivoapp.css
em um editor. -
No final do arquivo
app.css
, adicione as classes de estilo a seguir que determinarão as propriedades de estilo para os componentes Selecionar Único e Gráfico..selectSingleStyle { max-width:20em } .chartStyle { max-width:500px; width:100%; height:350px; }
Posteriormente neste tutorial, os componentes Selecionar Único e Gráfico fazem referência a esses estilos usando o atributo
class
do componente:<oj-select-single id="basicSelect" . . . class="selectSingleStyle" >. . . <oj-chart id="barChart" . . . class="chartStyle">. . .
Tarefa 2: Adicionar um Componente Único de Seleção
-
Navegue até o diretório
JET_Web_Application/src/ts/views
e abra o arquivodashboard.html
em um editor. -
No elemento HTML
div
da Área de Conteúdo do Painel, adicione um elemento HTML personalizadooj-label
e um elementooj-select-single
. Adicione também um atributoid
com um valor deparentContainer
ao elementodiv
.<h1>Dashboard Content Area</h1> <div id="itemDetailsContainer"> <oj-label for="basicSelect">Select Chart:</oj-label> <oj-select-single id="basicSelect" class="selectSingleStyle" data="[[chartTypesDP]]" value="{{val}}"> </oj-select-single> </div>
Os colchetes ao redor do
chartTypesDP
observável no atributodata
significam que o valor pode ser lido, mas não atualizado pelo componente. As chaves ao redor doval
observável no atributovalue
significam que o valor pode ser lido e atualizado pelo componente. Assim, os colchetes em torno de um observável definem uma ligação unidirecional, enquanto as chaves em torno de um observável definem uma ligação bidirecional. -
Edite o elemento HTML
h1
para exibir as Informações do Produto do cabeçalho.<h1>Product Information</h1>
-
Salve o arquivo
dashboard.html
. Seu trecho de códigodashboard.html
deve ser semelhante a add-select-single-dashboard-html.txt. -
Navegue até o diretório
JET_Web_Application/src/ts/viewModels
e abra o arquivodashboard.ts
em um editor. -
Na parte superior do arquivo
dashboard.ts
, importe a biblioteca de knockout, o módulo do provedor de dados do array mutável do Oracle JET e os módulos do Oracle JET para o componente Label e o componente Selecionar Único.import * as AccUtils from "../accUtils"; import * as ko from "knockout"; import MutableArrayDataProvider = require("ojs/ojmutablearraydataprovider"); import "ojs/ojselectsingle"; import "ojs/ojlabel";
-
Antes da classe
DashboardViewModel()
, adicione um alias de tipo para os tipos de gráfico (ChartType
). Na classeDashboardViewModel()
, adicione um array de dados do tipo de gráfico (chartTypes
) e uma instância do provedor de dados do array mutável (chartTypesDP
) para permitir a vinculação dos dados do tipo de gráfico pelo componente Selecionar Único.type ChartType = { value: string; label: string; }; class DashboardViewModel { chartTypes: Array<Object>; chartTypesDP: MutableArrayDataProvider<ChartType["value"], ChartType>; constructor() { this.chartTypes = [ { value: "pie", label: "Pie" }, { value: "bar", label: "Bar" }, ]; this.chartTypesDP = new MutableArrayDataProvider< ChartType["value"], ChartType >(this.chartTypes, { keyAttributes: "value", }); } // End constructor
-
Adicione o método
ko.observable
para exibir o tipo de gráfico de pizza como o valor padrão para o Knockout observável do componente Selecionar Único.class DashboardViewModel { val: ko.Observable<string>; . . . constructor() { this.val = ko.observable("pie"); . . .
-
Salve o arquivo
dashboard.ts
. Seu trecho de códigodashboard.ts
deve ser semelhante a add-select-single-dashboard-ts.txt. -
Abra uma janela de terminal, altere para o diretório
JET_Web_Application
e execute o aplicativo.$ ojet serve
O browser exibe o modelo inicial do navdrawer com o componente Selecionar Único visível na guia Painel de Controle do seu aplicativo Web.
-
Deixe a janela do terminal e o browser que exibe seu aplicativo Web aberto.
O comando
ojet serve
permite fazer alterações no código do aplicativo noJET_Web_Application/src
que são refletidas imediatamente no browser. Uma exceção é que se você adicionar ou excluir um arquivo, será necessário executarojet serve
para ver a alteração refletida no browser. Não faça alterações no código do aplicativo na pastaJET_Web_Application/web
porque você substituirá essas alterações na próxima vez que executar o comandoojet serve
. O comandoojet serve
cria e serve o conteúdo da pastaJET_Web_Application/src
para a pastaJET_Web_Application/web
.
Tarefa 3: Adicionar um Componente do Gráfico
-
Navegue até o diretório
JET_Web_Application/src/ts/views
e abra o arquivodashboard.html
em um editor. -
Adicione o elemento HTML personalizado
oj-chart
abaixo do elemento HTML personalizadooj-select-single
para que os dois elementos apareçam dentro do mesmo elemento HTMLdiv
doDashboard Content Area
.<oj-select-single id="basicSelect" . . . </oj-select-single> <oj-chart id="barChart" type="bar" data="[[chartDataProvider]]" animation-on-display="auto" animation-on-data-change="auto" hover-behavior="dim" class="chartStyle"> </oj-chart>
-
No elemento HTML personalizado
oj-chart
, adicione um elemento HTMLtemplate
com um atributoslot
para renderizar cada item no gráfico.<oj-chart id="barChart" . . . class="chartStyle"> <template slot='itemTemplate' data-oj-as='item'> </template> </oj-chart>
-
No elemento de modelo, adicione um elemento HTML personalizado
oj-chart-item
com atributos que usam associações unidirecionais para obter os dados do gráfico do objeto atual.<oj-chart id="barChart" . . . class="chartStyle"> <template slot='itemTemplate' data-oj-as='item'> <oj-chart-item value='[[item.data.value]]' group-id='[[ [item.data.group] ]]' series-id='[[item.data.series]]'> </oj-chart-item> </template> </oj-chart>
-
Salve o arquivo
dashboard.html
. Seu trecho de códigodashboard.html
deve ser semelhante a add-chart-dashboard-html.txt. -
Navegue até o diretório
JET_Web_Application/src/ts/viewModels
e abra o arquivodashboard.ts
em um editor. -
Adicione o conjunto observável
chartDataProvider
a um novo objetoMutableArrayDataProvider
do Oracle JET que conterá os dados do gráfico.class DashboardViewModel { . . . chartDataProvider: MutableArrayDataProvider<string, {}>; constructor() { . . . this.val = ko.observable("pie"); this.chartDataProvider = new MutableArrayDataProvider(this.chartData, { keyAttributes: "id", }); . . . }
-
Na classe
DashboardViewModel()
, adicione o arraychartData
abaixo do observável Knockout. Você declara o tipo desse array comoArray<Object>
.chartTypesDP: MutableArrayDataProvider<ChartType["value"], ChartType>; chartData: Array<Object>; constructor() { this.val = ko.observable("pie"); this.chartData = [ { "id": 0, "series": "Baseball", "group": "Group A", "value": 42 }, { "id": 1, "series": "Baseball", "group": "Group B", "value": 34 }, { "id": 2, "series": "Bicycling", "group": "Group A", "value": 55 }, { "id": 3, "series": "Bicycling", "group": "Group B", "value": 30 }, { "id": 4, "series": "Skiing", "group": "Group A", "value": 36 }, { "id": 5, "series": "Skiing", "group": "Group B", "value": 50 }, { "id": 6, "series": "Soccer", "group": "Group A", "value": 22 }, { "id": 7, "series": "Soccer", "group": "Group B", "value": 46 } ];
-
Importe o módulo para o componente Gráfico Oracle JET.
import MutableArrayDataProvider = require("ojs/ojmutablearraydataprovider"); import "ojs/ojknockout"; import "ojs/ojselectsingle"; import "ojs/ojlabel"; import "ojs/ojchart";
-
Salve o arquivo
dashboard.ts
. Seu arquivodashboard.ts
deve ser semelhante a final-chart-dashboard-ts.txt. -
Retorne ao browser para exibir as alterações no seu aplicativo Web.
O browser exibe o modelo inicial do navdrawer com o componente Gráfico de Barras visível na guia Painel do seu aplicativo Web.
Descrição da ilustração dashboard-with-select-chart.png
Observe que a guia Painel exibe apenas o formato do gráfico de barras para cada opção da lista suspensa Selecionar Gráfico. Você deve adicionar uma dependência entre os dois componentes para exibir cada formato de gráfico.
-
Deixe a janela do terminal e o browser que exibe seu aplicativo Web aberto.
Tarefa 4: Conectar os Dois Componentes
-
Navegue até o diretório
JET_Web_Application/src/ts/views
e abra o arquivodashboard.html
em um editor. -
No arquivo
dashboard.html
, edite o elemento HTML personalizadooj-chart
para conectar o atributotype
do componente Gráfico ao atributovalue
do componente Selecionar Único com uma vinculação unilateral.<oj-chart id="barChart" type="[[val]]" . . . </oj-chart>
Os colchetes ao redor do
val
observável no atributotype
significam que o valor pode ser lido, mas não atualizado pelo componente. Colchetes ao redor de um observável definem uma ligação unidirecional. -
Salve o arquivo
dashboard.html
. Seu arquivodashboard.html
deve ser semelhante a final-connect-dashboard-html.txt. -
Retorne ao browser para exibir as alterações no seu aplicativo Web.
O browser agora exibe o modelo inicial do navdrawer com os componentes Selecionar Único e Gráfico de Pizza visíveis na guia Painel do seu aplicativo Web.
-
Para ver os diferentes formatos de gráfico, escolha entre as opções na lista suspensa Selecionar Gráfico.
-
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, informe
y
para encerrar o job em batch de ferramentas do Oracle JET. -
Deixe a janela do terminal aberta para o seu próximo tutorial.
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.
Add components to an Oracle JET web app
F53081-01
February 2022
Copyright © 2022, Oracle and/or its affiliates.