3.0.3 • Published 7 years ago

angular2-modal v3.0.3

Weekly downloads
1,535
License
MIT
Repository
github
Last release
7 years ago

HELP WANTED!

As a sole author I find it difficult to maintain multiple open source projects. As a result it is hard for me to replay rapidly to requests/help/etc...

If you would like to contribute, please contact me, the community will thank you.

You can contribute via:

  • Implementing features & Bug fixes
  • Documentation (Extremely important)
  • Issue management

Thank you!

Shlomi.


Angular AIO Modal / Dialog window

A fully generic, customizable and fluent modal window implementation for Angular. angular2-modal is UI platform/framework agnostic, plugins** are used to describe a UI implementation (e.g: Bootstrap)
This means virtually any modal implementation out there can be ported into angular2-modal. angular2-modal will come with some built in UI platforms, external UI platform can be added in the future or externally used using NPM modules.

See the DEMO: shlomiassaf.github.io/angular2-modal

Quick walk through

Take 5 minutes to read a quick walk through with samples of how to use Angular 2 Modal

Built in plugins:

  • Bootstrap
  • Vex
  • POC implementation of JS Native modal (window.alert/prompt/confirm) to demonstrate a hostile takeover :)

Built with angular

Features

  • Easy to use API via Fluent API Presets (alert, prompt, confirm)
  • Can render Component's, TemplateRef's and literal string
  • Extendable via plugins.

Bootstrap / VEX

  • Customizable with components, Presets and more...
  • Select cancel/quit key.
  • Cascading modals.
  • Element blocking.
  • Blocking / Non blocking modal.
  • Modal as a component, replace the content by supplying a custom component.

That's how easy it is:

modal.alert()
    .title('Hello World')
    .body('In Angular 2')
    .open();

Click HERE for a quick walkthrough
Click for the Demo Make sure to check the code generator!

Plunker

Use this plunker for quick showcasing and issue reports.

Sample code: Custom Modal dialog

http://embed.plnkr.co/mbPzd8/

http://embed.plnkr.co/ZAZqZu/ (version 1.1.1)

Code Generator!

See src/demo for demo app with examples.

Installation

    npm install angular2-modal --save

SystemJS

See systemJS example in this plunker Include both module and UMD bundle approach

Plugins

Plugins serve as a concrete UI implementation for a modal. It can be an implementation for a known library (e.g: bootstrap) or something unique.
While angular2-modal has some built in plugins it is also possible to use external plugins from NPM, if someone decide to build one.

Running locally

git clone https://github.com/shlomiassaf/angular2-modal.git  
npm install  
typings install  
npm run start
browse to localhost:3000  

You can apply custom modals based on components.

Issues and TODO's

Declarative modal component IMPLEMENTED

Create a modal from declarative template syntax

Animation IMPLEMENTED

Not so complicated but not in angular 2 at the moment.

Overlay IMPLEMENTED

Switch to material2 overlay implementation when done.

Bundle IMPLEMENTED

Build a umd bundle.

Base support IMPLEMENTED

Provide base classes for generic components

Unit & E2E test

Add tests...

Support Universal

Test against universal-starter to enable universal support.

Support Change detection

Support OnPush with an observable api model (fluent observables)

Known bugs

The dialog closes when removing the target DOM element in a click event

ref issue#111

To avoid this problem use event.stopPropagation(); or put the element removal inside a setTimeout call

3.0.3

7 years ago

3.0.2

7 years ago

3.0.1

7 years ago

3.0.0

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

8 years ago

2.0.0

8 years ago

2.0.0-beta.14

8 years ago

2.0.0-beta.13

8 years ago

2.0.0-beta.12

8 years ago

2.0.0-beta.11

8 years ago

2.0.0-beta.10

8 years ago

2.0.0-beta.9

8 years ago

2.0.0-beta.8

8 years ago

2.0.0-beta.7

8 years ago

1.1.5

8 years ago

2.0.0-beta.6

8 years ago

2.0.0-beta.5

8 years ago

1.1.4

8 years ago

1.1.3

8 years ago

2.0.0-beta.4

8 years ago

1.1.2

8 years ago

2.0.0-beta.3

8 years ago

1.1.1

8 years ago

2.0.0-beta.2

8 years ago

2.0.0-beta.1a

8 years ago

2.0.0-beta.1

8 years ago

2.0.0-beta.0

8 years ago

1.1.0

8 years ago

1.0.9

8 years ago

1.0.8

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.1.7

8 years ago

0.1.6

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1-alpha2

8 years ago

0.1.1-alpha

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.1

8 years ago