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 🙏

© 2025 – Pkg Stats / Ryan Hefner

id-collection-component

v14.0.49

Published

This walkthrough explains how to wire up the *id-collection-component* to be used in a consumer application. Please ensure the local development machine is configured with the latest Angular6 (see [readme](https://eshopworld.visualstudio.com/DefaultColle

Readme

How to embed Id-Collection-Component

This walkthrough explains how to wire up the id-collection-component to be used in a consumer application. Please ensure the local development machine is configured with the latest Angular6 (see readme for more details). You can download an example application here

Install the component in your project

As with all other component, run the following command to install the id-collection-component into the hosting application:

 npm install @esw/id-collection-component

One point to note is that (at the moment) the id-collection-component uses ngx-bootstrap's datepicker. So it needs to also be added to the project by running the following command:

 yarn add ngx-bootstrap@^2.0.3
 

Configure Module

In the module where you need to gain access to the component, import the IdCollectionModule and call the static forRoot() with configuration for the library. The following is an example of implementation (app generated using angular-cli default template):

import { BrowserModule } from  '@angular/platform-browser';
import { NgModule } from  '@angular/core';
import { FormsModule } from  '@angular/forms';
import { AppComponent } from  './app.component';
import { IdCollectionModule, IdCollectionModuleConfig } from  'id-collection-component';

const config: IdCollectionModuleConfig = {
    debug: true,
    env: 'DEV'
};

@NgModule({
    declarations: [ AppComponent ],
    imports: [ IdCollectionModule.forRoot(config), BrowserModule, FormsModule ],
    providers: [ ],
    bootstrap: [ AppComponent ]
})
export  class AppModule { }

The ICollectionModuleConfig allows us to specify some global configuration for the id-collection-component. The configuration is as follows:

| Property | Type | Description | |--|--|--| | debug | boolean | whether this is a debug version or not, enabling simply adds all the console.log outputs to the running component - useful when debugging issues and for info. | | env | string | Can be as follows: 'DEV', 'CI', 'TEST', 'PREPROD', 'PROD' - simply changes the api endpoint the component points at. |

Embed Component

Now we can embed our id-collection-component in an html template as follows:

<esw-idcollection></esw-idcollection>

Contents can be loaded by setting either the orderGuid property OR setting brandCountry property. Contents will automatically be loaded (this can be executed from code in the .ts file if you reference the component as well)

 <esw-idcollection [orderGuid]="myOrderGuid"></esw-idcollection>

or

<esw-idcollection [brandCountry]="myBrandCountry"></esw-idcollection>

When referencing the component in the hosting component.ts file as follows:

Template...
<esw-idcollection #idcollectcomp></esw-idcollection>

Ts file...
@ViewChild('idcollectcomp') idCollectionComponent: IdCollectionComponent;

It's the responsibility of the hosting app to call the load method of the component. Either using the OrderGuid loadConfigByOrder(orderGuid: string) method or with Brand and Country method loadConfigByBrandCountry(brandCode: string, countryCode: string).

Use OrderGuid if the app knows the Id Collection is required (Offline or PostCheckout method). Use Brand/Country if embedded (Checkout method).

IdCollectionComponent API Reference

The following describes the publicly available members of the component.

Properties

| Name | | Type| Description | |--|--|--|--|--| | acceptedGdprPolicy | | boolean | Whether GDPR policy has been accepted (checkbox checked). | | showSubmitButton| | boolean | Whether to show the submit button on the form (don't show when controlled by the hosting app). | | showGdprButton | | boolean | Whether to show the GDPR checkbox (can be set to accepted using acceptedGdprPolicy model). | | resultType| | ResultType | Enumerable ResultType { notFound = 6, alreadyCollected = 5,expired = 4, serverError = 3, sentSuccessfully = 2, collectionReady = 1, none = 0 } | | form| readonly | FormGroup | Dynamic form for collecting Identity information. | | collectionRules| readonly | CollectionRules | List of ALL collection rules configured (used to determine if Id needs collected in the ShouldCollect method). | | configutation| readonly | IdCollectionConfigService | All configuration values for the component. | | isLoading| readonly | boolean| Set to true when Id Collection form fields are loading from API. | | collectionData | readonly | CountryConfig| Config loaded from API (all fields). | | language | | string| Supported langauges are: 'en' (English), 'ru' (Russuan), 'fr' (French), 'de' (German) - applies to all lables BUT not form field labels and content as it's driven from the stored field data. | | orderGui | | string | Setting this will attempt to load the collection form with the passed in orderGuid. | | brandCountry | | BrandCountry | Setting this will attempt to load the collection form with the passed in brand and country. |

Events

| Name | Returns | Description | |--|--|--| | formRefreshed | config: CountryConfig | When the state of the collection info changes, the refresh is fired. | | formChanged | { isFormValid: Boolean, acceptedGdpr: Boolean, isFormReady: Boolean, formData: string }| Shows the state of the collection form - whether valid (required form fields are collected), whether the GDPR has been accepted, whether the form "isReady" i.e. is valid and GDPR policy accepted. | | languageChanged | string | Component auto detects the language from the loaded country I.e. collecting data for Russia will force the Russian language. Can still be overridden by setting the language property manually after this event has fired. Only applicable to labels (such as field required, GDPR text and submit button). |

Methods

| Name | Params | Returns | Description | |--|--|--|--| | loadConfigByOrder | orderGuid: string | void | Load fields using OrderGuid (OrderIdCollection record exists). | | loadConfigByBrandCountry| brandCode: string, countryCode: string | void| Load fields using Brand and Country (no OrderIdCollection record exists). | | submitIdCollection| orderGuid (optional) | { success: boolean;message: string; collectionId: string; error: any; result: any; } | Submit the form data to the Id Collection API - when the form is generated using Brand/Country instead of OrderGuid, then the guid of the newly created order must also be passed (this is because no order will exist as "requires collection" in the Id Collection data store and it must be added during the submit). | | shouldCollect | brandCode: string, countryCode: string | boolean | Checks if a brand and country combination require collection. |