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.
| 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;
}
}
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.
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);
}
}
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.