Giter Site home page Giter Site logo

sergenn / pages Goto Github PK

View Code? Open in Web Editor NEW

This project forked from angular-material-extensions/pages

0.0 1.0 0.0 26.81 MB

Open source library for angular apps to illustrate custom material pages content with steps (ideal for tutorials and explanations purposes)

Home Page: https://angular-material-extensions.github.io/pages

License: MIT License

JavaScript 17.60% TypeScript 20.17% HTML 19.11% CSS 43.12%

pages's Introduction

@angular-material-extensions/pages - Open source library for Angular Apps to illustrate custom material pages content with steps (ideal for tutorials and explanation purposes) - Angular V9 supported

npm version npm demo Join the chat at https://gitter.im/angular-material-extensions/Lobby CircleCI branch Coverage Status dependency Status devDependency Status Greenkeeper Badge license Awesome

This Github project has been transferred to the angular material extensions monorepo angular-material-extensions/components

@angular-material-extensions/pages

Do you need an illustration for your explanations and tutorials ? Or maybe an alternative way of pagination ? Are you using angular to build wonderful pwa ? You favorite front-end framework is angular material ?

@angular-material-extensions/pages is the right UI component for you! You build wonderful and comprehensive tutorials pages by providing an outlook and content for each step of your explanation.

Try it out!

Built by and for developers ❤️

Do you have any question or suggestion ? Please do not hesitate to contact us! Alternatively, provide a PR | open an appropriate issue here

If did you this project, support angular-material-extensions by starring ⭐ and sharing it 📢

Table of Contents


View all the directives and components in action at https://angular-material-extensions.github.io/pages

Dependencies

  • Angular (requires) tested with V9
  • if you are still using angular v5 or lower, please use the following version 1.2.1

This project has been renamed from @angular-material-extensions/pages to @angular-material-extensions/pages

learn more about angular material and cdk

if you need a built in theme --> please let me know

npm i -s @angular/animations @angular/material @angular/cdk

or use angular schematics like e.g:

ng add @angular/material 

Additional Requirements - Import the material design icons learn more

  • The easiest way to import material design icons is to provide a link in your index.html file like below:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  • alternative solution:
  1. Install of the official npm module of the material design icons
npm i -s material-design-icons
  1. Import them in your angular.json file
"styles": [
        "styles.css",
        "../node_modules/material-design-icons/iconfont/material-icons.css"
      ],

Install above dependencies via npm.

Now install @angular-material-extensions/pages via:

npm install --save @angular-material-extensions/pages

SystemJS

Note:If you are using SystemJS, you should adjust your configuration to point to the UMD bundle. In your systemjs config file, map needs to tell the System loader where to look for @angular-material-extensions/pages:

map: {
  '@angular-material-extensions/pages': 'node_modules/@angular-material-extensions/pages/bundles/@angular-material-extensions/pages.umd.js',
}

Once installed you need to import the main module:

import { MatPagesModule } from '@angular-material-extensions/pages';

The only remaining part is to list the imported module in your application module. The exact method will be slightly different for the root (top-level) module for which you should end up with the code similar to (notice MatPagesModule .forRoot()):

NB: please do not forget to import the angular animations module in your root component too! (usally app.component.ts)

import { MatPagesModule } from '@angular-material-extensions/pages';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';

@NgModule({
  declarations: [AppComponent, ...],
  imports: [MatPagesModule.forRoot(),
  BrowserAnimationsModule,
   ...],  
  bootstrap: [AppComponent]
})
export class AppModule {
}

Other modules in your application can simply import MatPagesModule:

import { MatPagesModule } from '@angular-material-extensions/pages';

@NgModule({
  declarations: [OtherComponent, ...],
  imports: [MatPagesModule, ...], 
})
export class OtherModule {
}

Add a material theme - help

The easiest way is to add

@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';

to you styles.css files

learn more

Add a material icons - help

The easiest way is to add

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

to you index.html files

learn more

This library consists of 4 essential components.

  1. mat-pages the main container that hold the pages incl. the outlook view and the content

  2. mat-page-loader the container of each page. This component should have two nested elements which are the outlook and the content components (see below)

  3. mat-page-outlook the outlook view of a page. This can contain a custom component, custom layout or just a title.

  4. mat-page-content this is the content view of the page. This can be anything!!

  5. Example:

<mat-pages>
    <mat-page-loader>
      <mat-page-outlook>
        <!-- put your own outlook view for the first page -->
      </mat-page-outlook>
      <mat-page-content>
        <!-- put your own content view for the first page -->
      </mat-page-content>
    </mat-page-loader>
    <mat-page-loader>
      <mat-page-outlook>
        <!-- put your own outlook view for the second page -->
      </mat-page-outlook>
      <mat-page-content>
        <!-- put your own content view for the second page -->
      </mat-page-content>
    </mat-page-loader>
  </mat-pages>

Please checkout the full documentation here or follow the official tutorial


$ git clone https://github.com/angular-material-extensions/pages.git
  • link the @angular-material-extensions/pages package
$ gulp link
  • build the library
$ gulp build
  • navigate to the demo app directory
$ cd demo
  • install the dependencies
$ npm i
  • run/start/serve the app
$ npm run start

or

$ ng serve --open
  • the app is now hosted on http://localhost:4200/

Where are @angular-material-extensions/pages being used ? Here are some examples


Support


License

Copyright (c) 2018 Anthony Nahas. Licensed under the MIT License (MIT)

pages's People

Contributors

anthonynahas avatar greenkeeper[bot] avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.