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

  1. 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.
  2. 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
  3. Abra o app-config.json que está no módulo que você deseja personalizar e adicione as novas rotas que deseja incluir no aplicativo.
  4. Execute o seguinte comando de esquemas. Esse comando cria os pacotes para cada nova rota e atualiza os arquivos necessários no aplicativo.
    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
    O esquema suporta as seguintes opções.
    --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
  5. 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
        }
  6. 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"
        }
    ]
  7. 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/
  8. Para ver as alterações no servidor local, execute yarn start-app.
  9. Prepare-se para implantar as rotas personalizadas.
    1. 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"
          }
      ]
    2. 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
          }
        }
      }
      
  10. 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

Continue a implementar as rotas personalizadas.

Para obter mais informações, consulte Criando as personalizações.