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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@clavisco/pages

v0.0.9-beta.1

Published

---

Downloads

45

Readme

@clavisco/pages


Este componente permite gestionar la apertura de nuevas ventanas según la configuración del sistema, soportando tanto el modo multiventana como el de ventana única. Utiliza una ventana como medio para mostrar advertencias y restringir la creación de nuevas instancias cuando el sistema lo requiere. Para ello, emplea el servicio StorageService y el namespaces deRepository.Behavior.SetTokenConfiguration los cuales se optienen de @clavisco/core.

Tabla de contenido


Paquetes y dependencias requeridas

Resumen de la versión

  • Se corrigió el método de eliminación de ventas cerradas.

  • Se agregaron métodos para verificar que las ventanas abiertas realmente estén abiertas y no sean ventanas fantasma o basura.

Instalación

  • npm i @clavisco/pages

Configuraciones requeridas en app.component.ts

Estas configuraciones son usadas por el componente pages. Se tienen que establecer en el ngOnInit del componente como un Repository.Behavior.SetTokenConfiguration.

Importante: Tener en cuenta que el valor de numberOfWindow debe obtenerse a través de una configuración proveniente de una base de datos o, al menos, de una variable de entorno. Esto asegura una mayor flexibilidad y elimina las dependencias directas del código. No se recomienda, bajo ninguna circunstancia, utilizar valores empotrados para esta configuración.

| Path | Descripción | Paquete | Tipo de dato | Valores | Ejemplo | |:-----------------------|--------------------------------------------------------------------|-----------------|:------------------------|----------------|-------------------------------------------| | Token | Token del componente al que le queremos asociar la configuración. | @clavisco/core | Structures.Enums.TOKEN | MUL_WiNDOW | token: Structures.Enums.TOKENS.MUL_WiNDOW | | windowConfig | Almacena el numero máximo de ventanas abiertas permitidas. | @clavisco/core | IConfigMultiWindow | numberOfWindow | {numberOfWindow: 2} |


¿Cómo lo implemento?

  1. Agregar componente pages en el app.component.html y asegurarse de importar su módulo correspondiente en app.component.module.ts

     <cl-pages>
         <router-outlet></router-outlet>
     </cl-pages>

    Una vez implementado este componente, la única forma de almacenar información será mediante los métodos aquí expuestos. Estas consideraciones deben tomarse en cuenta antes de migrar una aplicación, ya que no garantizamos la consistencia de los medios de almacenamiento al realizar accesos directos.

  2. Agregar limpiador de valores de configuración

    Este método se encarga de limpiar los valores de la configuración. Es indispensable invocarlo durante el cierre de sesión y al iniciar el sistema.

    • Al iniciar el sistema: Es esencial invocar este método en la primera ventana que se cargue al iniciar el sistema, como puede ser la pantalla de inicio de sesión o una página inicial (login, pages...), Esto previene que valores residuales de la configuración de numberOfWindow persistan debido a sesiones previas, garantizando un entorno limpio y estable.
    • Durante el cierre de sesión: Este método debe ser invocado en los procesos de cierre de sesión, por lo general se encuentran dentro de los servicios de AuthenticationService y tienen el nombre de logout.

    Uso

    • Después de importar el servicio y declarar su instancia, llame al método de la siguiente manera.

      this.storageService.CleanStorage();

  3. Con esta configuración, tendrás una implementación base del componente pages.

La elección entre localStorage y sessionStorage dependerá de si la aplicación permite o no el uso de múltiples ventanas:

  • Multiventana permitida: Si se permiten múltiples ventanas o pestañas, se utilizara sessionStorage para evitar compartir datos entre sesiones de diferentes ventanas, ya que sessionStorage es exclusivo para cada pestaña.
  • Multiventana no permitida: Si no se permiten múltiples ventanas, se utilizara localStorage. En este caso, los datos almacenados estarán disponibles en todas las ventanas de la misma aplicación, incluso si la ventana se cierra y se vuelve a abrir.

Api de referencia

Esta sección muestra todas las características disponibles y especificaciónes del consumo de estas.


Clase: StorageService
Nombre: SetItem
Tipo de retorno: void
Descripción: Se encarga de almacenar un ítem según la configuración de ventanas.

| Parámetro | Tipo | Descripción | Defecto | Mandatorio | |:----------|-----------------------|:-------------------------------------------------------------------|---------|------------| | _key | string | Clave bajo la cual se almacenará el elemento en el almacenamiento | | Si | | item | IStorage / IStorage[] | Objeto o array de objetos que se guardarán en el almacenamiento. | | SI |


Clase: StorageService
Nombre: GetItem
Tipo de retorno: string
Descripción: Permite obtener un ítem almacenado en el storage.

| Parámetro | Tipo | Descripción | Defecto | Mandatorio | |:----------|--------------------|:---------------------------------------------------------------|---------|------------| | item | string | Clave del elemento que se desea recuperar del almacenamiento. | | Si |


Clase: StorageService
Nombre: RemoveItem
Tipo de retorno: void
Descripción: Permite eliminar un ítem almacenado en el storage.

| Parámetro | Tipo | Descripción | Defecto | Mandatorio | |:----------|--------------------|:-------------------------------------------------------------|---------|------------| | item | string | Clave del elemento que se desea eliminar del almacenamiento. | | Si |


Clase: StorageService
Nombre: CleanStorage
Tipo de retorno: void
Descripción: Restablece la configuración de administración de ventanas múltiples. Específicamente, actualiza la propiedad windowConfig, estableciendo numberOfWindow en 1 para evitar duplicados. Este método se ejecuta al iniciar el proyecto y al cerrar la sesión para garantizar una configuración limpia.


ClavisCo 2024