Adição de novas rotas a aplicativos existentes
Você pode personalizar os aplicativos adicionando novas rotas a eles. Você usa o comando schematics para criar os pacotes para cada rota e atualizar os arquivos no aplicativo.
Procedimento
- Abra um terminal e vá para o diretório de código do Order Hub.
- Para clientes de contêineres no local, o local padrão é devtoolkit_docker/orderhub-code.
- Para clientes tradicionais no local, esse diretório é o diretório em que o arquivo on-prem-source.tar foi extraído.
- Acesse o módulo que você deseja personalizar. Por exemplo, se você quiser atualizar o módulo de pedidos, vá para a pasta buc-app-order. Por exemplo:
cd devtoolkit_docker/orderhub-code/buc-app-order - Abra o app-config.json que está no módulo que você deseja personalizar e adicione as novas rotas que deseja incluir no aplicativo.
- Execute o seguinte comando de esquemas. Esse comando cria os pacotes para cada nova rota e atualiza os arquivos necessários no aplicativo.
O esquema suporta as seguintes opções.ng g @buc/schematics:add-app-to-existing-monorepo --app-config-json app-config.json --module-short-name short-name-for-the-module --prefix selector-prefix --mode on-prem- --app--config-json
- Essa opção é obrigatória. Use o arquivo app-config.json existente no módulo que você deseja personalizar.
- --module-short-name
- O nome abreviado do módulo. Se o nome do módulo tiver traços, o nome abreviado será o texto após o último traço. Por exemplo, se o nome do módulo for buc-app-settings, o nome abreviado do módulo será settings.
- --prefix
- O seletor HTML a ser usado para os componentes gerados. O padrão é buc.
- --mode
- Defina como no local para gerar código aplicável às implantações do Sterling™ Order Management System no local.
- --is-custom-app
- Indica se o repositório atual é ou não um aplicativo personalizado. Use true para indicar que o repositório atual é um aplicativo personalizado ou use false para um aplicativo Order Hub existente. O padrão é false.
Por exemplo,ng g @buc/schematics:add-app-to-existing-monorepo --app-config-json app-config.json --module-short-name order --prefix buc --mode on-prem - Teste as rotas personalizadas localmente abrindo o arquivo overrides.json no módulo e modificando o objeto para que a nova rota seja
"use Prod":false.Por exemplo,"custom-route": { "useProd": false } - Se a rota for adicionada como um novo menu, crie o arquivo features.json. Para obter mais informações, consulte Criando os arquivos features.json. Um exemplo de arquivo features.json.
[ { "id": "custom-order", "title": "Custom Order", "icon": "shopping--cart-16", "parentFeatureId": "oms-order-search", "navigation" : { "route" : { "link": https://localhost:8300/buc-app-order/custom-route/order/home, "path": "/custom-route/order/home" } }, "enablementCondition": { "byResourceId": "BUCORD0005,BUCORD0006" }, "type": "IFRAME" } ] - Execute os seguintes comandos para copiar o arquivo para o contêiner de base.
docker exec om-orderhub-base bash -c 'mkdir -p /opt/app-root/src/shell-ui/assets/custom'docker cp <orderhub-code>/shell-ui/assets/dev/. om-orderhub-base:/opt/app-root/src/shell-ui/assets/custom/ - Para ver as alterações no servidor local, execute yarn start-app.
- Prepare-se para implantar as rotas personalizadas.
- Copie a versão de desenvolvimento do arquivo features.json do arquivo <order_hub_code_directory>/shell-ui/assets/dev/features.json para o arquivo <order_hub_code_directory>/shell-ui/assets/features.json. Altere a propriedade navigaion>route>link para /buc-app-<module short
name>/<path to the page>. O arquivo de exemplo features.json.
[ { "id": "custom-order", "title": "Custom Order", "icon": "shopping--cart-16", "parentFeatureId": "oms-order-search", "navigation" : { "route" : { "link": "/buc-app-order/custom-route/order/home", "path": "/custom-route/order/home" } }, "enablementCondition": { "byResourceId": "BUCORD0005,BUCORD0006" }, "type": "IFRAME" } ] - Abra o arquivo <order_hub_code_directory>/<module-name>/package-customization.json. No objeto routes, adicione todas as rotas do módulo que são personalizadas. Por exemplo.
{ "repositoryName": "buc-app-order", "customizationContextRoot": "/order-management-customization", "routes": { "custom-route": { "type": "code", "custom": true } } }
- Copie a versão de desenvolvimento do arquivo features.json do arquivo <order_hub_code_directory>/shell-ui/assets/dev/features.json para o arquivo <order_hub_code_directory>/shell-ui/assets/features.json. Altere a propriedade navigaion>route>link para /buc-app-<module short
name>/<path to the page>. O arquivo de exemplo features.json.
- Abra o arquivo ../<module-name>/packages/<route-name>/package.json para cada nova rota personalizada. Adicione um script "build-merge" que tenha o mesmo valor que o script "build".
O que fazer depois
Para obter mais informações, consulte Criando as personalizações.