All Projects → IgniteUI → Igniteui Angularjs

IgniteUI / Igniteui Angularjs

Licence: other
Ignite UI extensions for AngularJS

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Igniteui Angularjs

Ng Boot Oauth
oauth2 demo with angularjs and springboot
Stars: ✭ 99 (-10.81%)
Mutual labels:  angularjs
Mean Stack Angular5 Crud
MEAN Stack (Angular 5) CRUD Web Application Example
Stars: ✭ 107 (-3.6%)
Mutual labels:  angularjs
Frontpress
⚡️ A full front-end AngularJS template for WordPress Rest API.
Stars: ✭ 109 (-1.8%)
Mutual labels:  angularjs
Coreui Angularjs
CoreUI AngularJS is free AngularJS admin template based on Bootstrap 4
Stars: ✭ 101 (-9.01%)
Mutual labels:  angularjs
Angular Markdown Editor
Angular Markdown Editor. All-in-one Markdown Editor and Preview
Stars: ✭ 106 (-4.5%)
Mutual labels:  angularjs
Swifterswift
A handy collection of more than 500 native Swift extensions to boost your productivity.
Stars: ✭ 10,706 (+9545.05%)
Mutual labels:  extensions
Hello Worlds
Hello world apps for angular, react, svelte, and vue
Stars: ✭ 98 (-11.71%)
Mutual labels:  angularjs
Cat Facts
Daily cat facts! 🐱
Stars: ✭ 110 (-0.9%)
Mutual labels:  angularjs
Magentoextensions
Magento Extension Directory 1> Themes Switcher 2> Default Shipping On Cart 3> Upshare 4> Product Image Optimizer 5> Idealo Product Export 6> magento Google shopping Api v2 7>Google feed and facebook feed 8> Pdf upload in magento media wysiwyg 9> Product Image optimizer. If You want magento 2 extensions 1>Advance Layred Navigation(including SEO URL, Rating as filter, slider filter, Ajax Filtering), 2>Attribute Pages with SEO and Custom URL key(you can do all kind of seo on those pages with logos) 3>Improved Sorting (Enable users to view products by options as 'Best Sellers', 'Top Rated', 'Most Viewed' etc.) 4>Custom Stock Status(Add statuses to products automatically or manually, Create multiple custom stock statuses, Upload special icons for stock statuses) 5>Product Labels(Using this extension you can add any label to your produts on product page or category page) 6>Custom Order Number(Using this extension you can customize order, invoice, shippment, credit memo Number) 7>All type of file upload in Wysiwyg(pdf, zip, doc etc file upload in wysiwyg), 8>Infinite Scroll, 9>Multiple FlatRate Shipping, 10>Open Api,Google api for currency Rates, 11>Product Attribute's Description, 12>Store and Currency switcher according to Ip address Please Contact me and All those extensions are paid with installation and configuration are free support.
Stars: ✭ 106 (-4.5%)
Mutual labels:  extensions
Angular To React Redux
Angular to React/Redux, a Guide for Angular v1 Experts Looking to Learn React/Redux
Stars: ✭ 109 (-1.8%)
Mutual labels:  angularjs
Meanstackjs
Mean Stack JS - MongoDB, Express JS, Angular JS & Node JS
Stars: ✭ 104 (-6.31%)
Mutual labels:  angularjs
Open.channelextensions
A set of extensions for optimizing/simplifying System.Threading.Channels usage.
Stars: ✭ 106 (-4.5%)
Mutual labels:  extensions
Powershell Phpmanager
A PowerShell module to install/update PHP, PHP extensions and Composer on Windows
Stars: ✭ 108 (-2.7%)
Mutual labels:  extensions
Sillynium
Automate the creation of Python Selenium Scripts by drawing coloured boxes on webpage elements
Stars: ✭ 100 (-9.91%)
Mutual labels:  extensions
Blog
lizhonghui's blog
Stars: ✭ 109 (-1.8%)
Mutual labels:  angularjs
Clever Bootstrap 4 Admin Template With Angularjs Angular 2 Support
Clever is Boostrap 4 Admin Template with Angular 2 and AngularJS support
Stars: ✭ 98 (-11.71%)
Mutual labels:  angularjs
Books Management System
全JavaScript语言Web项目——图书管理系统
Stars: ✭ 107 (-3.6%)
Mutual labels:  angularjs
Opennote
OpenNote was built to be an open web-based alternative to Microsoft OneNote (T) and EverNote.
Stars: ✭ 1,489 (+1241.44%)
Mutual labels:  angularjs
Viser
viser is a toolkit fit for data vis engineer. https://viserjs.gitee.io/
Stars: ✭ 1,536 (+1283.78%)
Mutual labels:  angularjs
Angular1 Apollo
AngularJS integration for the Apollo Client
Stars: ✭ 108 (-2.7%)
Mutual labels:  angularjs

Ignite UI directives for AngularJS

Build Status Coverage Status Codacy Badge
npm version

Use the directives found in igniteui-angularjs.js to use Ignite UI controls in AngularJS pages. Work with the running samples here or quickly bootstrap your AngularJS project with this preconfigured application - Ignite UI AngularJS seed.

IMPORTANT The repository has been renamed from igniteui-angular to igniteui-angularjs. This is to avoid confusion caused by the new naming convention of Angular.

Requirements

Note: The Ignite UI AngularJS directives do not work with the Ignite UI ASP.NET MVC Helpers

Install

You can install this package either with npm or with bower. This is a development repo!

igniteui-angularjs depends on the ignite-ui-full licensed package. Follow this guide on setting up access to the Ignite UI private npm feed and add the dependency to the package.json.

"dependencies": {
	"@infragistics/ignite-ui-full": "latest"
}

npm

npm install igniteui-angularjs

bower

bower install igniteui-angularjs

Building

Build will produce an obfuscated and minified version of the src/igniteui-angularjs.js in the dist/igniteui-angularjs.min.js.
The build will also put the original and the minified version of the src/igniteui-angularjs.js in the dist/npm for distribution to npm. The build uses Grunt, so you need Node.js installed on your machine.
To build the project use the following steps:

  1. Open a console in the folder where the igniteui-angularjs project is located
  2. Run npm install
  3. Run grunt build

Getting Started

There are two ways of getting started with the Ignite UI directives. The first one is to use the Ignite UI AngularJS quick start application which is described below. The other way is to configure the application yourself following the page setup instructions step by step.

Ignite UI AngularJS quick start application

Ignite UI AngularJS seed is an application skeleton for a typical AngularJS web app using the Ignite UI directives for AngularJS. You can use it to quickly bootstrap your angular webapp projects and dev environment for these projects.

The seed contains a sample AngularJS application and is preconfigured to install the Angular framework and a bunch of development and testing tools for instant web development gratification.

Page setup

In the page markup include the Ignite UI AngularJS directives file found in dist/igniteui-angularjs.min.js along with the Ignite UI scripts:

<script src="jquery.min.js"></script>
<script src="jquery-ui.min.js"></script>
<script src="angular.min.js"></script>

<script src="infragistics.core.js"></script>
<script src="infragistics.lob.js"></script>

<script src="igniteui-angularjs.min.js"></script>

Reference the igniteui-directives in your AngularJS module:

var sample_app = angular.module('igniteui-sample-app', ['igniteui-directives']);

Initializing controls

Controls can be initialized in two ways:

  1. Markup Initialization: directly in an HTML page by using custom tags
  2. Controller Initialization: a control placeholder is located in an HTML page, but its initialization options are located in the page controller

Markup Initialization

Custom tags

Each control implements a custom tag directive where the tag name is formed by splitting each capital letter in the control name with the - symbol (This naming convention follows the standard AngularJS normalization process).

Note: It is recommended to use closing tags (</ig-combo>) over the self-closing tags (<ig-combo/>), because the latter are known to make issues on some browsers (depending on the used document mode).

Examples:

Control Name Tag
igCombo <ig-combo>
igGrid <ig-grid>
igDataChart <ig-data-chart>
igDialog <ig-dialog>
igDateEditor <ig-date-editor>
igEditor <ig-editor>
igMaskEditor <ig-mask-editor>
igNumericEditor <ig-numeric-editor>
igPercentEditor <ig-percent-editor>
igTextEditor <ig-text-editor>
igDatePicker <ig-date-picker>
igTree <ig-tree>
igMap <ig-map>
igUpload <ig-upload>
igVideoPlayer <ig-video-player>

Configuring Control Options

Simple type control options (string, number, bool etc.) are configured as an attributes on the control element. The options follow the same naming convention logic as the tag name.

Examples:

Option Markup
igGrid.options.localSchemaTransform <ig-grid local-schema-transform="true">
igCombo.options.caseSensitive <ig-combo case-sensitive="true">

Defining complex type control options (arrays & objects) are configured as a child elements of the main control.

Example:

<ig-grid>
	<features>
		<feature name="Filtering">
		</feature>
	</features>
</ig-grid>

Handling events

Binding to control events is done again with attributes. Event attribute names are prefixed with the prefix event- followed by the event name delimited with the - symbol. Once defined the attribute values corresponds to a function name in the scope so you can gain access to the events.

Examples:

Event Markup
igGrid.events.dataBind <ig-grid event-data-bind="dataBindHandler">
igCombo.events.textChanged <ig-combo event-text-changed="textChangedHandler">
igDateEditor.events.keypress <ig-date-editor event-keypress="keypressHandler">

Controller Initialization

Each control also implements a custom attribute directive where the attribute name is formed by splitting each capital letter in the control name with the - symbol (this naming convention follows the standard AngularJS normalization process) and the attribute value corresponds to the scope object holding the control options.

Examples:

Control Markup
igCombo <div id="combo" data-ig-combo="combo_options"></div>
igGrid <table id="grid" data-ig-grid="grid_options"></table>
igDataChart <div id="chart" data-ig-data-chart="data_chart_options"></div>
igDialog <div id="dialog" data-ig-dialog="dialog_options"></div>
igDateEditor <input id="dialog" data-ig-date-editor="date_editor_options"></input>
igEditor <input id="editor" data-ig-editor="editor_options"></input>
igMaskEditor <input id="editor" data-ig-mask-editor="mask_editor_options"></input>
igNumericEditor <input id="editor" data-ig-numeric-editor="numeric_editor_options"></input>
igPercentEditor <input id="editor" data-ig-percent-editor="precent_editor_options"></input>
igTextEditor <input id="editor" data-ig-text-editor="text_editor_options"></input>
igDatePicker <input id="editor" data-ig-date-picker="date_picker_options"></input>
igTree <ul id="tree" data-ig-tree="tree_options"></ul>
igMap <div id="map" data-ig-map="map_options"></div>
igUpload <div id="upload" data-ig-upload="upload_options"></div>
igVideoPlayer <div id="video" data-ig-video-player="video_options"></div>

Element placeholder considerations

By default all controls have default element placeholders. You can configure element placeholder by setting the element attribute to a name of a DOM element.

Example: <ig-text-editor id="editor1" text-mode="multiline" element="textarea"></ig-text-editor>

One-way Data Binding

The following controls currently support one-way data binding:

  1. igHtmlEditor
  2. igDataChart
  3. igSparkline
  4. igFunnelChart

Two-way Data Binding

The following controls currently support two-way data binding:

  1. igGrid
  2. igCombo
  3. igEditors
  4. igTree

Note: When using control API methods which modify the data source outside the AngularJS framework you need to explicitly call Scope.$apply() in order to see AngularJS view updated.

Testing

There are two kinds of tests in igniteui-angularjs: Unit tests and End to End tests. All of them are written in Jasmine.

Setup

Simply do:

npm install

The command is preconfigured and it will also call bower install behind the scenes.

Then you need to instrument the source file with:

npm run instrument

Running Unit Tests

The easiest way to run the unit tests is to use the npm script:

npm test

This will start the Karma test runner and execute the tests. By default the browser is Chrome.

To run the tests for a single run you can use:

npm run test-single

To run the tests on Firefox you can use:

npm run test-single-firefox

End to end testing

These tests are run with the Protractor test runner, it simulates interaction.

Setup

Before proceeding you need to download and install the latest version of the stand-alone WebDriver tool:

npm run update-webdriver

After that make sure you have Java Development Kit (JDK) installed on your machine. It is required for the Standalone Selenium Server.

Running tests

So first the web server should be brought up so that Protractor can execute the tests against it:

npm start

Running the tests is done with:

npm run protractor

Note: You will need to run the protractor on a separate bash

Code coverage

After running the Karma or Protractor tests by default a coverage will be created for each of them.

To combine the both reports into one single report you need to execute:

npm run cover-combined

After that the default directory where you can open the code coverage is igniteui-angularjs/coverage/final/lcov/src.

Running specific coverage:

To view only the Karma coverage you can see it under coverage/karma/**/lcov-report/src.

To view the code coverage only for the Protractor you need to run the command:

npm run cover-protractor

After that the location is the same(igniteui-angularjs/coverage/final/lcov/src). That is because the Protractor report is not easily readable by default.


What is Ignite UI?   Ignite UI Logo

Ignite UI is an advanced HTML5+ toolset that helps you create stunning, modern Web apps. Building on jQuery and jQuery UI, it primarily consists of feature rich, high-performing UI controls/widgets such as all kinds of charts, data visualization maps, (hierarchical, editable) data grids, pivot grids, enhanced editors (combo box, masked editors, HTML editor, date picker, to name a few), flexible data source connectors, and a whole lot more. Too many to list here - check out the site for more info and to download a trial.

Ignite UI is not just another library created in someone's free time. It is commercial-ready, extremely well-tested, tuned for top performance, designed for good UX, and backed by Infragistics, an experience-focused company with a track record of over 24 years of experience in providing enterprise-ready, high-performance user interface tools for web, windows and mobile environments.

Infragistics Logo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].