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

@windmillcode/angular-wml-panel

v18.0.4

Published

The `wml-panel` library is a sophisticated Angular module designed to offer a robust and versatile panel component system within Angular applications. This library is meticulously engineered to provide developers with a seamless and intuitive interface fo

Downloads

547

Readme

This project has been renamed to @windmillcode/angular-wml-panel

Overview

The wml-panel library is a sophisticated Angular module designed to offer a robust and versatile panel component system within Angular applications. This library is meticulously engineered to provide developers with a seamless and intuitive interface for creating, managing, and interacting with panels in their web applications. The core objective of the wml-panel library is to streamline the process of panel management, offering a suite of features that cater to various panel-related needs, such as dynamic content loading, customization, and responsive layout management.

Central to the wml-panel library are its principal components, which include the main panel container and various subcomponents designed for specific functionalities. The main panel component acts as the container, orchestrating the overall behavior and layout of the panel, while the subcomponents provide granular control over the panel's content and interactive features. Developers can leverage these components to build intricate panel layouts, customize appearance and behavior, and dynamically load content based on application context or user interactions. The library emphasizes modularity and reusability, encouraging developers to utilize these components in a composable manner to construct complex yet maintainable panel structures. Furthermore, the library provides APIs and services that enable extensive customization and interactivity, allowing developers to tailor the panel's functionality to meet the specific requirements of their applications.

Installation

npm install -d @windmillcode/angular-wml-panel

Usage

Basic Usage of WmlPanelComponent

HTML

<wml-panel [params]="panelParams"></wml-panel>

TypeScript

import { Component } from '@angular/core';
import { WMLPanelParams, WMLPanelItemParams, WMLCustomComponent } from '@windmillcode/angular-wml-panel';
import { YourCustomComponent } from './path/to/your-custom.component';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
})
export class AppComponent {
  panelParams: WMLPanelParams;

  constructor() {
    this.panelParams = new WMLPanelParams({
      container: new WMLCustomComponent({
        cpnt: YourCustomComponent,
        params: { /* Your custom parameters */ },
      }),
      items: [
        new WMLPanelItemParams({
          custom: new WMLCustomComponent({
            cpnt: YourCustomComponent,
            params: { /* Your custom parameters */ },
          }),
        }),
      ],
    });
  }
}

Dynamic Interaction

HTML

<wml-panel [params]="panelParams"></wml-panel>

TypeScript

import { Component } from '@angular/core';
import { WMLPanelParams, WMLPanelItemParams, WMLCustomComponent } from '@windmillcode/angular-wml-panel';
import { YourCustomComponent } from './path/to/your-custom.component';

@Component({
  selector: 'app-dynamic-panel',
  templateUrl: './dynamic-panel.component.html',
})
export class DynamicPanelComponent {
  panelParams: WMLPanelParams;

  constructor() {
    this.panelParams = new WMLPanelParams({
      items: this.generatePanelItems(),
    });
  }

  generatePanelItems(): WMLPanelItemParams[] {
    // Dynamically generate panel items
    return [
      new WMLPanelItemParams({
        custom: new WMLCustomComponent({
          cpnt: YourCustomComponent,
          params: { /* Parameters for component */ },
        }),
      }),
      // Add more items as needed
    ];
  }
}

These examples illustrate basic and dynamic usage of the WmlPanelComponent, demonstrating how to initialize the panel with custom components and dynamically generate panel items.

Docs

WMLPanelParams Properties

| Property | Type | Description | |-----------|---------------------------|-------------------------------------------------------| | container | WMLUIProperty | A property to customize the container of the panel. | | items | Array<WMLPanelItemParams> | An array of WMLPanelItemParams to define panel items. |

WMLPanelItemParams Properties

| Property | Type | Description | |----------|-------------------------|-----------------------------------------------------------------------------| | opened | BehaviorSubject<boolean \| null> | A subject to control the opening of the panel item. | | closed | BehaviorSubject<boolean \| null> | A subject to control the closure of the panel item. | | state | "open" \| "closed" | Represents the current state of the panel item. | | custom | WMLCustomComponent | A custom component to be used as the panel item's content. |

WMLPanelItemParams Methods

| Method | Signature | Description | |---------|-----------------------------------|---------------------------------------------------| | toggle | () => void | Toggles the state of the panel item. | | open | () => void | Opens the panel item. | | close | () => void | Closes the panel item. |

WMLCustomComponent Properties

| Property | Type | Description | |----------|-----------|---------------------------------------------------| | cpnt | Type<any> | The Angular component to be rendered. | | params | any | Parameters to be passed to the component. |

The provided documentation outlines the main properties and methods available for WMLPanelParams, WMLPanelItemParams, and WMLCustomComponent, which developers can use to interact with the wml-panel library. These properties and methods enable customization and dynamic interaction with the panel components.

Changelog

0.1.0

made WMLPanelItemParams.state private and ensured that you can have default state by calling WMLPanelItemParams.open if you want the panel open

0.1.1

  • closed panels dont slide back

0.1.2

  • update to v16

0.1.3

  • added a feature where the developer can added the container class

0.2.0

  • fixed an issue where on it the panel would animate into the closed position

v1.0.0

  • fixed major problems concerning ngx-translate
// translate
// first make sure to have ONLY ONE in the imports for AppModule
    TranslateModule.forRoot({
      defaultLanguage: 'en',
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps:[HttpClient]
      }
    }),
// then
WmlPanelNGXTranslateModule
// for regular
WmlPanelModule

%!(EXTRA string=

v16.2.80

  • updated package to reflect the version 16.2.80 of @angular/core package),

v16.2.80

  • updated package to reflect the version 16.2.80 of @angular/core package,

v16.2.90

  • updated package to reflect the version 16.2.90 of @angular/core package,

v16.2.91

  • updated package to reflect the version 16.2.91 of @angular/core package,

v16.2.93

  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,

v16.2.100

  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,

v16.2.110

  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,

v16.2.120

  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,

v17.0.10

  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,

v17.0.11

  • updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,

v17.0.20

  • updated package to reflect the version ^17.0.2 of @angular/core package,

v17.0.40

  • updated package to reflect the version ^17.0.4 of @angular/core package,

v17.0.50

  • updated package to reflect the version ^17.0.5 of @angular/core package,

v17.0.60

  • updated package to reflect the version ^17.0.6 of @angular/core package,

v17.0.70

  • updated package to reflect the version ^17.0.7 of @angular/core package,

v17.0.7100

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.7200

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.7300

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.80

  • updated package to reflect the version ^17.0.8 of @angular/core package,

v17.0.8100

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.8102

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.8103

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.9000

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.0.9001

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.1.0000

  • updated package to reflect the version ^17.1.0 of @angular/core package,

v17.1.2

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.1.1000

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.1.2000 [2/5/24]

  • updated package to reflect the version ^17.1.2 of @angular/core package,

v17.1.2001 [2/8/24]

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.1.3000 [2/8/24]

  • updated package to reflect the version ^17.1.3 of @angular/core package,

v17.2.1000 [2/17/24]

  • updated package to reflect the version ^17.2.1 of @angular/core package,

v17.2.2001 [2/23/24]

  • updated package to reflect the version ^17.2.2 of @angular/core package,

v17.2.3000 [2/28/24]

  • updated package to reflect the version ^17.2.3 of @angular/core package,

v17.2.3001 [3/2/24]

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.3002 [3/5/24]

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.4000 [3/8/24]

  • updated package to reflect the version ^17.2.4 of @angular/core package,

v17.2.4001 [3/12/24]

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.4002 [3/12/24]

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.4003 [3/13/24]

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.2.4004 [3/13/24]

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.3.0 [3/17/24]

  • updated package to reflect the version ^17.3.0 of @angular/core package ,

v17.3.1000 [3/22/24]

  • updated package to reflect the version ^17.3.1 of @angular/core package,

v17.3.2000 [3/28/24]

  • updated package to reflect the version ^17.3.2 of @angular/core package,

v17.3.3000 [4/4/24]

  • updated package to reflect the version ^17.3.3 of @angular/core package,

v17.3.4000 [4/11/24]

  • updated package to reflect the version ^17.3.4 of @angular/core package,

v17.3.4001 [4/16/24]

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.3.5000 [4/20/24]

  • updated package to reflect the version ^17.3.5 of @angular/core package,

v17.3.5110 [5/1/24]

  • updated package to conform with @windmillcode/angular-wml-components-base ,

v17.3.6000 [5/1/24]

  • updated package to reflect the version ^17.3.6 of @angular/core package,

v17.3.7000 [5/9/24]

  • updated package to reflect the version ^17.3.7 of @angular/core package,

v17.3.8000 [5/9/24]

  • updated package to reflect the version ^17.3.8 of @angular/core package,

v17.3.9000 [5/16/24]

  • updated package to reflect the version ^17.3.9 of @angular/core package,

v18.0.1 [5/22/24]

  • updated package to reflect the version ^18.0.0 of @angular/core package,

v18.0.4 [5/25/24]

  • updated package to conform with @windmillcode/angular-wml-components-base