Coder Social home page Coder Social logo

angular-props-widget's Introduction

Angular Properties Widget directive

A properties widget Angular directive that wraps jdorn's json-editor.

Inspired by and take advance of rodikh's angular-json-editor

Properties Widget support two way data binding of schema and value compare to rodikh's angular-json-editor.

For further information about supported schema properties and usage, check out the original json-editor.

Requirements

The module doesn't include the original json-editor code, but it is included in it's bower dependencies.

Installation

Install via bower

bower install angular-props-widget --save

Then include the directive and json-editor in your html

<script src="bower_components/json-editor/dist/jsoneditor.js"></script>
<script src="bower_components/angular-props-widget/dist/angular-props-widget.min.js"></script>

Usage

The usage of this directive is quite straightforward: you create a schema in angularjs scope like so:

$scope.keyPropsSch = {
	title: 'House Properties',
	type: 'object',
	properties: {
		'name': {
			type: 'string',
			required: true,
			minLength: 1
		},
		'years': {
			type: 'integer',
			required: true,
			min: 0
		},
		'facilities': {
			type: 'array',
			uniqueItems: true,
			format: 'checkbox',
			items: {
				type: 'string',
				'enum': ['Air Condition', 'Hot Water', 'TV', 'Washing Machine']
			}
		}
	}
};

and an empty value to hold the value of props-widget:

$scope.myKeyProps = {};

Then you declare a props-widget component to bind the schema and value like so:

<props-widget schema="keyPropsSch" ng-model="myKeyProps"/>

That's it, you now have a widget that can edit the value of type of the schema!

Building

Clone the project, install bower and npm dependencies by running

bower install && npm install

If you dont have grunt-cli installed globally run npm install -g grunt-cli

Then run grunt and look in the dist folder.

angular-props-widget's People

Contributors

ryanhz avatar

Watchers

 avatar  avatar  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.