18.1.2301 • Published 12 months ago

@windmillcode/angular-wml-toggle-zero v18.1.2301

Weekly downloads
-
License
-
Repository
-
Last release
12 months ago

Overview

The wml-toggle-zero library offers a specialized Angular component designed to enhance user interfaces with a toggle switch functionality. This library focuses on delivering a straightforward and efficient way to implement toggle switches in Angular applications, providing an intuitive and interactive element for users. The core purpose of this library is to offer a highly customizable toggle switch that can be seamlessly integrated into various Angular projects, facilitating user interactions for settings, preferences, or any scenario where a binary choice is required.

At the heart of the wml-toggle-zero library is the WMLToggleZeroComponent, a central component that embodies the toggle switch's functionality. This component allows for a high degree of customization and interactivity, offering developers the flexibility to adapt the toggle switch's appearance and behavior to fit their application's needs. Parameters such as toggleBackgroundOffColor, toggleBackgroundOnColor, and textToggleLeftMargin enable developers to customize the look and feel of the toggle, while properties like toggleText and thumb provide control over the switch's text labels and thumb indicator. Additionally, the onToggle method and triggerToggle function offer ways to interact with the toggle's state, enabling dynamic responses to user interactions. The library encourages a pattern where the WMLToggleZeroComponent acts as a standalone, reusable UI element, promoting modularity and ease of integration within larger application structures.

Installation

npm install -d @windmillcode/angular-wml-toggle-zero

Usage

To integrate and utilize the wml-toggle-zero component in your Angular application, follow the examples below. These examples demonstrate how to incorporate the toggle switch into your templates and manage its state and configurations through your component's TypeScript file.

Basic Toggle Switch

In Your Component's HTML

<wml-toggle-zero [params]="basicToggleParams"></wml-toggle-zero>

In Your Component's TypeScript

import { Component } from '@angular/core';
import { WMLToggleZeroParams } from '@windmillcode/angular-wml-toggle-zero';

@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
})
export class ExampleComponent {
  basicToggleParams = new WMLToggleZeroParams({
    toggleText: { text: 'Off' },
    thumb: { value: false },
    onToggle: (self) => {
      self.toggleText.text = self.thumb.value ? 'On' : 'Off';
    }
  });
}

Customized Toggle Switch

In Your Component's HTML

<wml-toggle-zero [params]="customToggleParams"></wml-toggle-zero>

In Your Component's TypeScript

import { Component } from '@angular/core';
import { WMLToggleZeroParams } from '@windmillcode/angular-wml-toggle-zero';

@Component({
  selector: 'app-custom-toggle',
  templateUrl: './custom-toggle.component.html',
})
export class CustomToggleComponent {
  customToggleParams = new WMLToggleZeroParams({
    toggleText: { text: 'Off', class: 'custom-toggle-text' },
    thumb: { value: false, class: 'custom-thumb' },
    container: { class: 'custom-container' },
    toggleBackgroundOffColor: 'rgba(255, 0, 0)',  // Red when off
    toggleBackgroundOnColor: 'rgba(0, 255, 0)',  // Green when on
    onToggle: (self) => {
      self.toggleText.text = self.thumb.value ? 'Active' : 'Inactive';
    }
  });
}

In the above examples, WMLToggleZeroParams is used to configure the toggle switch. The toggleText property sets the text label, thumb manages the toggle's thumb, and container styles the overall toggle component. The onToggle function updates the toggle's state and label dynamically based on user interaction.

Docs

PropertyTypeDescription
idstringIdentifier for the toggle instance.
containerWMLUIPropertyAn instance of the WMLUIProperty class representing the container of the toggle.
thumbWMLUIPropertyAn instance of the WMLUIProperty class representing the thumb of the toggle.
toggleTextWMLUIPropertyAn instance of the WMLUIProperty class representing the text associated with the toggle.
textToggleLeftMarginnumberThe left margin for the toggle text.
toggleBackgroundOffColorstringThe background color when the toggle is in the "Off" state.
toggleBackgroundOnColorstringThe background color when the toggle is in the "On" state.
MethodDescription
onToggleCallback function triggered when the toggle state changes. Updates the toggle text based on the thumb value.
triggerToggleallows control of the toggle control.

Changelog

v17.0.0

  • component created and ready for production use

v17.0.30

  • added triggerToggle ,

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.71

  • added support to be integrated with wml-form so that values can be passed to a form control

v17.0.72

  • fixed code to remove deprecated scss warnings

v17.0.73

  • added listened so when form is edited via patchValue the changes apply

v17.0.74

  • added in disabled featured and corrected error when listenForFormValue changes was triggered till infinity ,

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/23/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 ,

v18.0.1000 5/29/24

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

v18.0.2000 6/6/24

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

v18.0.2002 6/11/2024 10:21:45 AM EST

FIX

In wml-toggle-zero.component.html, modified the click event to call toggle with parameters null and true.

Added distinctUntilChanged to listenForformControlChanges in wml-toggle-zero.component.ts to prevent redundant updates. In wml-toggle-zero.component.ts, adjusted toggle method to conditionally patch form control based on the new updateFormControl parameter. ,

v18.0.3000 6/13/24

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

v18.0.3010 6/18/24

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

v18.0.4000 6/23/24

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

v18.0.5000 6/26/24

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

v18.0.6000 7/5/24

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

v18.1.4 7/13/24

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

v18.1.6 7/14/24

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

v18.1.1000 7/18/24

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

v18.1.2000 7/24/24

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

v18.1.2300 7/27/24

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

v18.1.2301 7/30/24

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

12 months ago

18.1.2000

12 months ago

18.1.2300

12 months ago

18.0.4000

1 year ago

18.1.1000

12 months ago

18.0.5000

1 year ago

18.1.6

12 months ago

18.1.4

12 months ago

18.0.3010

1 year ago

18.0.6000

1 year ago

18.0.3000

1 year ago

18.0.2002

1 year ago

18.0.2001

1 year ago

18.0.2000

1 year ago

18.0.4

1 year ago

18.0.1

1 year ago

18.0.1000

1 year ago

17.3.9000

1 year ago

17.3.7000

1 year ago

17.3.8000

1 year ago

17.3.5110

1 year ago

17.3.6000

1 year ago

17.3.5000

1 year ago

17.3.4001

1 year ago

17.3.4000

1 year ago

17.3.3000

1 year ago

17.3.2000

1 year ago

17.3.1000

1 year ago

17.3.0

1 year ago

17.2.4004

1 year ago

17.2.4001

1 year ago

17.2.4002

1 year ago

17.2.4003

1 year ago

17.2.4000

1 year ago

17.2.3002

1 year ago

17.2.3001

1 year ago

17.2.3000

1 year ago

17.2.2001

1 year ago

17.2.1000

1 year ago

17.1.3000

1 year ago

17.1.2001

1 year ago

17.1.2000

1 year ago

17.1.1000

1 year ago

17.1.2

1 year ago

17.1.0

1 year ago

17.0.9001

1 year ago

17.0.9000

1 year ago

17.0.8100

2 years ago

17.0.8102

2 years ago

17.0.8103

2 years ago

17.0.80

2 years ago

17.0.7300

2 years ago

17.0.7200

2 years ago

17.0.7100

2 years ago

17.0.74

2 years ago

17.0.73

2 years ago

17.0.72

2 years ago

17.0.71

2 years ago

17.0.70

2 years ago

17.0.60

2 years ago

17.0.50

2 years ago

17.0.40

2 years ago

17.0.30

2 years ago

17.0.20

2 years ago