npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@clavisco/dynamics-udfs-presentation

v0.0.5

Published

**Token**: `Dynamics-UDFs-Presentation` > Permite cargar un conjunto de UDFs para un documento o vista, ofrece soporte para campos de tipo fecha, texto, número, combo box y typeahead.

Downloads

212

Readme

Acerca de @clavisco/dynamics-udfs-presentation

Token: Dynamics-UDFs-Presentation

Permite cargar un conjunto de UDFs para un documento o vista, ofrece soporte para campos de tipo fecha, texto, número, combo box y typeahead.

¿Qué resuelve?

Facilita la presentación de udfs asociados configurados mediante @clavisco/core de UDFs dinámicos para un documento o vista, al mismo tiempo que reduce considerablemente el tiempo de implementación.

Dependencias

Resumen de versión

Características (Features)

  • Se implementa un parametro (UdfsGroup) adicional al componente para realizar el filtrado de udfs por grupo, el parametro de tipo string se debe de pasar el grupo por el cual se desea filtrar los udfs. Este parametro es opcional, en caso de que no se pase, se filtran todos los udfs configurados

Correcciones (Fixes)

  • Ahora el nombre y la descipción cambian de lugar, de modo que el nombre del UDF aparece en el tooltip del campo y la descripción como el texto del campo

Dynamics UDFs Presentation variables

Está compuesta por un módulo y su respectivo componente visual cl-dynamics-udfs-presentation a continuacion se detalla sus diferentes atributos:

  • Id(Requerido): Este identificador debe ser único para evitar cruce de registros cuando se use el componente en una misma vista n cantidad de veces
  • Title(Requerido): Texto que se muestra en la parte superior del componente, el encabezado de la sección de UDFs
  • ApiUrl(Opcional): Url base que el componente usará para hacer el consumo servicios ofrecidos por el API. Puede ser opcional solamente si hay un interceptor que la agregue.
  • UdfsCategory(Requerido): Categoria enviada al endpoint para obtener los UDFs configurados. Ej: Si se quiere consultar los UDFs configurados para facturas debe enviar 'OINV'.

Endpoints que utiliza

  • (api/Udfs?Category={udfs-category}&IsUdfLine=false&Configured=true): Este endpoint se utiliza para obtener los UDFs configurados de la categoria indicada.
  • (api/Udfs/Values?Dbo={database-object-name}&Value={base-udf-value}&DboType={dbo-type}): Este endpoint se utiliza cuando los valores de un UDF dependen del valor seleccionado en otro UDF(Búsquedas formateadas)

¿Cómo se usa?

  1. Primero debemos cumplir las depencias mencionadas al inicio de este documento.
  2. Ejecutar el comando npm i @clavisco/dynamics-udfs-presentation en el directorio root del proyecto.
  3. Importar el módulo DynamicsUdfsPresentationModule en el app.module.ts o en el módulo donde desea utilizar la presentación de udfs.
  4. Proveer el servicio LinkerService en el módulo del componente donde se esta implementando.
@NgModule({
declarations: [
//...your declarations
],
imports: [
//...your imports
DynamicsUdfsPresentationModule 
],
providers: [
{
provide: 'LinkerService',
useClass: LinkerService
}
]
})
  1. Inyectar el servicio LinkerService en el constructor del componente donde se está realizando la implementación para realizar la comunicación con el componente constructor(@Inject('LinkerService') private linkerervice: LinkerService)
  2. Ejemplo de implementación del componente en el template html
<cl-dynamics-udfs-presentation
[Id]="componentId"
[Title]="Title"
[ApiUrl]="ApiUrl"
[UdfsCategory]="Category">
</cl-dynamics-udfs-presentation>
  1. Video explicativo sobre el uso @clavisco/dynamics-udfs-presentation

Solicitar los UDFs al componente

Para solicitar los UDFs al componente se debe emitir un evento al canal DATA_LINE_1 de la siguiente manera:

RequestUDFsToComponent(): void
{
this.linkerService.Publish({
CallBack: CL_CHANNEL.DATA_LINE_1,
Target: this.componentId,
Data: ''
});
}

Y para poder capturar estos UDFs se debe registrar al canal OUTPUT de la siguiente manera:

callbacks: ICLCallbacksInterface<CL_CHANNEL> = {
Callbacks: {},
Tracks: []
};
// ...more code
ngOnInit()
{
Register<CL_CHANNEL>(this.componentId, CL_CHANNEL.OUTPUT, this.OnGetUdfs, this.callbacks);
}

OnGetUdfs = (_event: ICLEvent) => {
this.UDFs = JSON.parse(_event.Data);
}

Establecer valor a UDFs

Para establecer el valor de uno o varios UDFs, se debe emitir un evento mediante el siguiente canal INFLATE de la siguiente manera:

SetUDFsValues(): void
{
let udfValues = [
{
Value: '1',
Name: 'U_BatchId'
},
{
Value: '234234234',
Name: 'U_DocumentKey'
}] as DynamicsUdfPresentation.Structures.Interfaces.IUdfWithValue[];

this.linkerService.Publish({
Target: this.componentId,
CallBack: CL_CHANNEL.INFLATE,
Data: JSON.stringify(udfValues)
});
}

Limpiar campos

Para limpiar los valores de los campos de UDFs se tiene que emitir un evento mediante el canal RESET de la siguiente manera

CleanFields(): void
  {
    this.linkerService.Publish({
      Target: this.componentId,
      Data: '',
      CallBack: CL_CHANNEL.RESET
    });
  }

Con solo emitir ese evento deberia ser suficiente para que los campos de los UDFs se limpien

Recomendaciones

Visitar @clavisco/core para conocer la amplia gama de funcionalidades que se nos ofrecen para facilitarnos el proceso de desarrollo

Visitar @clavisco/linker con el fin de entender los procesos de comunicacion entre componentes y hacia los componentes


ClavisCo ©