Plataforma de nueva generaciónEn desuso

Ampliación de tareas relacionadas

En este tema se describen los pasos para ampliar las tareas relacionadas.

La mayoría de las pantallas de resumen de la interfaz de usuario de Sterling Store Engagement tienen asociadas tareas relacionadas. Estas tareas relacionadas se visualizan utilizando el componente RelatedTaskComponent y el archivo de configuración Tareas relacionadas (rt-config.ts), que es específico de un componente.

RelatedTaskComponent (<WORKSPACE>/store-frontend/src/app/shared/components/related-task/RelatedTaskComponent) tiene un atributo parentComponentId , que contiene el componentId del componente padre donde se incluye RelatedTaskComponent . Por ejemplo:
<isf-related-task [relatedTasksConfig]="shipmentSummaryRTConfig" [route]="activeRoute" 
[entityModel]="relatedTaskEntityModel" [parentComponentId]="'receiveInventoryContainerListSummary'">
</isf-related-task>

Para ampliar cualquier tarea relacionada para un componente determinado, se debe ampliar el archivo de configuración de tarea relacionada correspondiente y este archivo de configuración recién añadido se debe registrar utilizando RelatedTasksService (<WORKSPACE/store-frontend/src/app/core/services/RelatedTasksService). El archivo de configuración de tarea relacionada ampliada debe mantener la misma estructura que la del archivo de configuración proporcionado por la aplicación. El método getRelatedTasksConfiguaration del archivo de configuración debe devolver el objeto que contiene la matriz de tareas donde cada elemento es una configuración de tarea y el atributo taskId de la configuración de tarea nunca debe alterarse temporalmente para las tareas existentes.

Tabla 1. Atributos clave de la configuración de tareas
Atributo Descripción
taskId Identificador exclusivo de una tarea. Esto no debe alterarse temporalmente para las tareas proporcionadas por la aplicación.
taskName Clave de paquete del nombre de tarea que se visualiza en la interfaz de usuario.
isDisabled Distintivo para habilitar o inhabilitar una tarea. Los valores válidos son true o false.
isHidden Marca para ocultar o mostrar una tarea. Los valores válidos son true o false.
resourcePermission Permiso de recurso asociado a la tarea.
sequence Número de secuencia de la tarea en el orden en que debe aparecer en la interfaz de usuario.
action Manejador al pulsar de la tarea relacionada.
Example(rt-config.ts) :
  
  
import { Injectable } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';

@Injectable()
export class ShipmentSummaryExtnRTConfig {

    constructor(
        private router: Router,
        private activeRoute: ActivatedRoute
    ) { }

    public getRelatedTasksConfiguaration() {

        const startViewReceipts = function (this, entityModel, activeroute) {
            this.router.navigate(['./../../receipt-list', entityModel.shipmentKey], { relativeTo: activeroute });
        };

        const ShipmentSummaryRelatedTasksConfig = {
            'tasks': [
                {
                    'taskId': 'viewReceipts_extn',
                    'taskName': 'view receipts extn',
                    getTask: function (shipmentDetails) {
                        const task = {
                            'taskId': 'viewReceipts_extn',
                            'taskName': 'relatedTask.viewReceipts_extn',
                            'isDisabled': false,
                            'isPrimary': false,
                            'isHidden': false,
                            'isDefault': false,
                            'resourcePermission': 'ISF000021',
                            'sequence': 10,
                             action: startViewReceipts
                        };
                        return task;
                    }
                },
               
                {
                    'taskId': 'receiveNotes',
                    'taskName': 'receive Notes',
                    getTask: function (shipmentDetails) {
                        const task = {
                            'taskId': 'receiveNotes',
                            'isHidden': true
                        };
                        return task;
                    }
                }
            ]
        };
        return ShipmentSummaryRelatedTasksConfig;
    }

}
Nota: Cada objeto de la matriz tasks devuelta por el método getRelatedTasksConfiguaration() debe tener el atributo taskId . Además, la tarea devuelta por el método getTask() debe tener taskId.

En el archivo de configuración de tarea relacionada ampliada, la tarea con el viewReceipts_extn taskId se acaba de añadir y tiene la configuración completa para la tarea. La tarea con receiveNotes taskId es una tarea existente y sólo el atributo isHidden de la tarea se cambia a través de la extensión para que la tarea relacionada no aparezca en la interfaz de usuario.

El registro del archivo de configuración recién añadido utilizando RelatedTasksService debe realizarse en el archivo de extensión de módulo. El valor del atributo parentComponentId utilizado en el componente isf-related-task debe utilizarse como clave para registrar el archivo de configuración. En el ejemplo siguiente: receiveInventoryContainerListSummary es parentComponentId y ShipmentSummaryExtnRTConfig es el archivo de configuración de tarea relacionada ampliada.
import { NgModule } from '@angular/core';
    import { ShipmentSummaryExtnRTConfig } from './shipment-summary-page/shipment-summary-extn-rt-config';
    import { RelatedTasksService } from '@sim-core/services/related-tasks.service';
    @NgModule({
      imports: [],
      entryComponents: [],
      declarations: [],
      exports: [],
      providers: [ShipmentSummaryExtnRTConfig]
    })
    export class ReceiveInventoryExtensionModule {

       constructor(private shipmentSummaryExtnRTConfig: ShipmentSummaryExtnRTConfig) {
        RelatedTasksService.addRelatedTaskConfig('receiveInventoryContainerListSummary', shipmentSummaryExtnRTConfig);
      }

    }
Importante: El archivo de configuración de tareas relacionadas de fábrica nunca debe modificarse. Debe crear un nuevo archivo de configuración para añadir una nueva tarea relacionada o para modificar la configuración o el manejo de tareas relacionadas preconfiguradas. Este nuevo archivo de configuración también se debe registrar utilizando RelatedTasksService tal como se muestra en el código de ejemplo.

Además, los manejadores de acciones de tareas relacionadas pueden hacer referencia al servicio de datos para realizar llamadas de API y el manejo de datos handling.The listo para usar tiene un servicio de datos dedicado. Este archivo de servicio de datos tampoco debe modificarse nunca para la personalización. Si es necesario, el archivo de configuración de tareas relacionadas ampliadas debe utilizar un nuevo archivo de servicio de datos para la personalización.