@guajiritos/services
TypeScript icon, indicating that this package has built-in type declarations

17.1.8 • Public • Published

Guajiritos Services

Guajiritos Services es una librería para Angular que proporciona los servicios, interfaces, pipes y utilidades necesarios para el correcto funcionamiento de las plataformas de Guajiritos S.R.L.

Instalación

Con npm

npm i @guajiritos/services --save

Con yarn

yarn add @guajiritos/services

Con pnpm

pnpm add @guajiritos/services

Dependencias

Guajiritos Services tiene dependencias de @angular/material y lodash.merge. Es recomendable instalar @angular/material usando el cli de angular.

ng add @angular/material

Con npm

npm i lodash.merge --save

Con yarn

yarn add lodash.merge

Con pnpm

pnpm add lodash.merge

Utilidades

Guajiritos Services contiene las siguientes utilidades.

Rest Full Service

Rest Full Service es un servicio que contiene los elementos necesarios para hacer peticiones a un API-REST así como las peticiones básicas.

Para el correcto funcionamiento es necesario extender de la clase RestFullService, notar que contiene dos interfaces, una sería para la respuesta a la petición GET y la otra sería el cuerpo de la petición POST.

import {Injectable} from '@angular/core';

import {RestFullService} from "@guajiritos/services";

@Injectable({
  providedIn: 'root'
})
export class AudienceService extends RestFullService<AudienceOut, AudienceIn> {
  override url: string = URL_AUDIENCE;
  override urlId: string = URL_AUDIENCE_ID;
  
  private urlShare: string = URL_SHARE_AUDIENCE

  public shareAudience(body: ShareAudienceDto) {
    return this.http.post(this.urlShare, body);
  }
}

Pipes

@guajiritos/services contiene las siguientes pipes:

- CapitalizePipe
- I18nPipe 

CapitalizePipe permite convertir una cadena de texto con solo su primera letra en mayúsculas.

<button *ngIf="action?.isCreate || action?.isClone" [matTooltip]="'cancelar' | translate | capitalize"
        color="accent" mat-stroked-button>
  {{ "atrás" | translate | titlecase }}
</button>

I18nPipe permite hacer la traducción de un texto que contenga la llave para diferentes idiomas.

<mat-option *ngFor="let language of languages()" [value]="language.alpha2">
  {{ language.name | i18n: translateService.currentLang }}
</mat-option>

Classes

@guajiritos/services contiene las clases:

- ObservableDestroy
- MatPaginatorI18nService 

ObservableDestroy es una clase que permite destruir los observables de forma eficiente y con el mínimo de desarrollo.

private isLoadingSubscribe(): void {
  this._loadingService.isLoading$
    .pipe(ObservableDestroy.unregisterFn())
    .subscribe({
      next: (isLoading: boolean): void => {
        this.loading.set(isLoading);
      }
    });
}

MatPaginatorI18nService es una clase que permite hacer la traducción del módulo Paginator de @angular/material.

Interfaces

- GuajiritosAutocompleteMultipleConfig
- RestrictionFilter
- ApiFormData
- Filter
- ServiceOptions
- DisplayOptionItem
- DisplayOption
- SelectionOptions
- CssClass
- CssStyle
- IterableOptions
- TemplateDataSelector
- TemplateData
- FooterOption
- ColumnOptions
- SpecificCondition
- CustomAction
- BasicBtn
- BasicActions
- SelectOption
- CustomOptions
- ToggleOptions
- ColumnFilterOptions
- CrudOptions
- StaticFilter
- StaticFiltersOut
- DataTableOptions
- Pagination

Enums

- DisplayOptionItemType
- TemplateDataSelectorType
- ColumnOptionsType
- SpecificConditionOperator
- CustomActionType
- ButtonMode
- ColumnFilterOptionsType

Readme

Keywords

none

Package Sidebar

Install

npm i @guajiritos/services

Weekly Downloads

65

Version

17.1.8

License

none

Unpacked Size

239 kB

Total Files

24

Last publish

Collaborators

  • guajiritos