16.0.4 • Published 9 months ago

ngx-compack v16.0.4

Weekly downloads
185
License
MIT
Repository
github
Last release
9 months ago

Introduction

This library is used in the author's personal works, but if someone likes the implementation and wants to use it too, I will only be glad. This project was generated with Angular CLI version 14.0.0. Supported 9/10/11+.

You can view live example

License

Table of contents

Dependency

BrowserAnimationsModule

Components

compack-date-picker-range

Import in project

import { CompackDatepickerModule } from 'ngx-compack';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

@NgModule({
  ...
  imports: [
  BrowserAnimationsModule,
  CompackDatepickerModule
  ...
})
export class AppModule { }

Using

add compackDatePickerRangeHost directive to element or create <compack-date-picker-range></compack-date-picker-range> in code Example:

<compack-date-picker-range [locale]="'en'" (selectLastDateEvent)="selectLastDateEventRange($event)">
</compack-date-picker-range>

<input placeholder="click me" compackDatePickerRangeHost [locale]="'en'"
  (selectLastDateEvent)="selectLastDateEventRange($event)" [disabled]="false" [formatOutputDate]="'dd-mm-yyyy'" />

<div compackDatePickerRangeHost (selectLastDateEvent)="selectLastDateEventRange($event)" [relativeDateModel]="[]">
  click me
</div>

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" compackDatePickerRangeHost [locale]="localeRange"
  (selectLastDateEvent)="selectLastDateEventRange($event)" [disabled]="disabledRange"
  [formatOutputDate]="formatOutputDateRange" [relativeDateModel]="relativeDateModel">
  <path d="M0 0h24v24H0z" fill="none" />
  <path
    d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z" />
</svg>

Properties

parameters with which there is changed data-picker-range behavior

NameDefaultDescription
@Input() locale: string'en'Intl.Locale
@Input() disabled: booleanfalsedisabled state
@Input() formatOutputDate: string'dd.mm.yyyy'after accept date will convert to this format
@Input() relativeDateModel: CompackRelativeDateModel[]undefinedrelative date in left side picker

Events

Events generated from date-picker-range

NameDefaultDescription
@Output() selectLastDateEventEventEmitter<string[]>event after select date

CompackRelativeDateModel

export interface CompackRelativeDateModel {
    title: string;
    dateStartFunc: () => Date;
    dateEndFunc: () => Date
}
fielddescrption
titledisplayed name for period in calendar
dateStartFuncfunc returned start date
dateEndFuncfunc returned end date

example:

      {
        title: 'last 7 day',
        dateStartFunc: () => {
          const date = new Date(new Date().setHours(0, 0, 0, 0));
          date.setDate(date.getDate() - 7);
          return date;
        },
        dateEndFunc: () => new Date(new Date().setHours(0, 0, 0, 0))
      },

compack-date-picker

Import in project

import { CompackDatepickerModule } from 'ngx-compack';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

@NgModule({
  ...
  imports: [
  BrowserAnimationsModule,
  CompackDatepickerModule
  ...
})
export class AppModule { }

Using

add compackDatePickerHost directive to element or create <compack-date-picker></compack-date-picker> in code Example:

<svg compackDatePickerHost class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" [locale]="'en'"
  [type]="'icon'" [maxChoseDay]="5" [max]="max" [min]="min" (selectLastDateEvent)="selectLastDateEvent($event)">
  <path d="M0 0h24v24H0z" fill="none" />
  <path
    d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z" />
</svg>

<compack-date-picker [locale]="'en'" [type]="'icon'" [maxChoseDay]="5" [max]="max" [min]="min">
</compack-date-picker>

<compack-date-picker [type]="'line'" [maxChoseDay]="5" [max]="max" [min]="min">
</compack-date-picker>

Properties

parameters with which there is changed data-picker behavior

NameDefaultDescription
@Input() locale: string'en'Intl.Locale
@Input() disabled: booleanfalsedisabled state
@Input() rangeMode: booleanfalseselect one date or range
@Input() viewFieldSelectedDate: booleanfalsedisplay field with selected date
@Input() useTime: booleanfalseadd time field or not
@Input() autoSelect: booleanfalseauto select date after choose only without useTime
@Input() maxChoseDay: numberundefinedmaximum range for selection
@Input() max: Dateundefineddate limit from below
@Input() min: Dateundefineddate cut from above
@Input() formatOutputDate: string'dd.mm.yyyy'after accept date will convert to this format

Events:

Events generated from date picker

NameDefaultDescription
@Output() selectLastDateEventEventEmitter<string[]>event after select date

compack-banner

is the message hanging in the foreground.

DisplayMessageConfig

export class DisplayMessageConfig {
    public title?: string;
    public message: string;
    public intervalView?: number;
    public typeMessage: TypeMessage;
    public position: TypePositionMessage;

    constructor() {
        this.title = undefined;
        this.message = '';
        this.intervalView = undefined;
        this.typeMessage = 0;
        this.position = 0;
    }
}

TypePositions

export enum TypePositionMessage {
    Top = 0,
    TopLeft = 1,
    TopRight = 2,
    Middle = 3,
    Bottom = 4,
    BottomLeft = 5,
    BottomRight = 6
}

TypeBanner

export enum TypeMessage {
    Info = 0,
    Error = 1
}

Import in project

import { CompackBannerModule } from 'ngx-compack';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

@NgModule({
  ...
  imports: [
    CompackBannerModule,
	BrowserAnimationsModule
  ...
})
export class AppModule { }

Using

For view banner need call method viewBanner() in Injected service Compackbannerservice

public viewBanner(typeMessage: TypeMessage, position: TypePositionMessage, message: string, title?: string, intervalView?: number)

import { Component, OnInit } from '@angular/core';
import { TypeMessage, TypePositionMessage } from 'ngx-compack';
import { CompackBannerService, DisplayMessageConfig } from 'ngx-compack';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {

constructor(private cbs: CompackBannerService ) { }

ngOnInit() {
	this.cbs.setInfoColor('#000');
	this.cbs.setErrorColor('#fff');
   setTimeout(() => this.cbs.viewBanner(TypeMessage.Info, TypePositionMessage.TopRight, 'asdas'), 0);
	}
}

Using api

add CompackBannerService from DI in constructor.

MethodDescription
viewBanner(typeMessage: TypeMessage, position: TypePositionMessage, message: string, title?: string, intervalView?: number)add new banner
removeBanner()remove last banner
setInfoColor(color: string)set back color for info type banner
setErrorColor(color: string)set back color for error type banner

compack-toast

ToastConfig

export class ToastConfig {
    public title: string;
    public type: TypeToast;
    public message?: string;

    constructor() {
        this.title = '';
        this.type = TypeToast.Error
    }
}

TypeToast

export declare enum TypeToast {
    Error = 0,
    Info = 1,
    Success = 2
}

Import in project

import { CompackToastModule } from 'ngx-compack';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

@NgModule({
  ...
  imports: [
    CompackToastModule,
    BrowserAnimationsModule
  ...
})
export class AppModule { }

Using

For view toast message need call method emitNotife() in Injected service CompackToastService

public emitNotife(type: TypeToast, title: string, message?: string);

import { Component, OnInit } from '@angular/core';
import { CompackToastService, TypeToast } from 'ngx-compack';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {

constructor(private cts: CompackToastService) { }

ngOnInit() {
	this.cts.emitNotife(TypeToast.Error, 'Error Error ErrorError ErrorErrorErrorErrorError vErrorError Error Error');
	this.cts.emitNotife(TypeToast.Info, 'Info');
}
}

Using api

add CompackToastService from DI in constructor.

MethodDescription
emitNotife(type: TypeToast, title: string, message?: string)add new message
setInfoColor(color: string)set back color for info type message
setErrorColor(color: string)set back color for error type message
setSuccessColor(color: string)set back color for success type message
setTimeToAutoRemove(time: number)set time to auto remove message
16.0.2

9 months ago

16.0.1

9 months ago

16.0.0

9 months ago

16.0.4

9 months ago

16.0.3

9 months ago

2.0.3

1 year ago

2.0.2

1 year ago

2.0.5

1 year ago

2.0.4

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.4.5

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.3.2

2 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago