├── .editorconfig
├── .eslintignore
├── .eslintrc
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE.md
└── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── .npmignore
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── PATRONS.md
├── README.md
├── bower.json
├── gulpfile.js
├── karma.conf.js
├── other
├── ERRORS_AND_WARNINGS.md
├── common.eslintrc
├── karma.conf.es6.js
├── logo
│ ├── angular-formly-logo-1200px.png
│ ├── angular-formly-logo-128px.png
│ ├── angular-formly-logo-256px.png
│ ├── angular-formly-logo-512px.png
│ └── angular-formly-logo-64px.png
├── ng-nl-talk.png
├── src.eslintrc
├── test.eslintrc
└── webpack.config.es6.js
├── package.js
├── package.json
├── src
├── angular-fix
│ └── index.js
├── directives
│ ├── formly-custom-validation.js
│ ├── formly-custom-validation.test.js
│ ├── formly-field.js
│ ├── formly-field.test.js
│ ├── formly-focus.js
│ ├── formly-focus.test.js
│ ├── formly-form.controller.js
│ ├── formly-form.controller.test.js
│ ├── formly-form.js
│ └── formly-form.test.js
├── index.common.js
├── index.js
├── index.test.js
├── other
│ ├── docsBaseUrl.js
│ ├── utils.js
│ └── utils.test.js
├── providers
│ ├── formlyApiCheck.js
│ ├── formlyApiCheck.test.js
│ ├── formlyConfig.js
│ ├── formlyConfig.test.js
│ ├── formlyUsability.js
│ └── formlyValidationMessages.js
├── run
│ ├── formlyCustomTags.js
│ ├── formlyCustomTags.test.js
│ ├── formlyNgModelAttrsManipulator.js
│ └── formlyNgModelAttrsManipulator.test.js
├── services
│ ├── formlyUtil.js
│ ├── formlyUtil.test.js
│ └── formlyWarn.js
└── test.utils.js
└── webpack.config.js
/.editorconfig:
--------------------------------------------------------------------------------
1 | # EditorConfig is awesome: http://EditorConfig.org
2 |
3 | # top-most EditorConfig file
4 | root = true
5 |
6 | # all files
7 | [*]
8 | end_of_line = lf
9 | insert_final_newline = true
10 | indent_style = space
11 | indent_size = 2
12 | charset = utf-8
13 | trim_trailing_whitespace = true
14 | max_line_length = 120
15 |
16 | [*.js]
17 | quote_type = single
18 | curly_bracket_next_line = false
19 | spaces_around_operators = true
20 | spaces_around_brackets = inside
21 | indent_brace_style = BSD KNF
22 |
23 | # HTML
24 | [*.html]
25 | quote_type = double
26 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | coverage
3 | dist
4 | local-examples
5 | other
6 |
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | // The purpose of this .eslintrc is just for editors and IDEs to pick it up.
3 | // Webpack tells eslint which files to use explicitly.
4 | "extends": "./other/test.eslintrc"
5 | }
6 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text eol=lf
2 | *.png binary
3 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
27 |
28 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
10 |
11 | ## What
12 |
13 |
14 |
15 | ## Why
16 |
17 |
18 |
19 | ## How
20 |
21 |
22 |
23 | For issue #
24 |
25 | Checklist:
26 |
27 | * [ ] Follows the commit message [conventions](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md)
28 | * [ ] Is [rebased with master](https://egghead.io/lessons/javascript-how-to-rebase-a-git-pull-request-branch?series=how-to-contribute-to-an-open-source-project-on-github)
29 | * [ ] Is [only one (maybe two) commits](https://egghead.io/lessons/javascript-how-to-squash-multiple-git-commits)
30 |
31 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | *.log
3 | *.iml
4 | *.DS_Store
5 |
6 | node_modules
7 | coverage
8 | nohup.out
9 |
10 | *.ignored.*
11 | *.ignored/
12 | *.ignored
13 | dist
14 |
15 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | .idea
2 | node_modules
3 | coverage
4 | local-examples
5 | demo
6 | .editorconfig
7 | .gitignore
8 | .travis.yml
9 | CONTRIBUTING.md
10 | karma.conf.js
11 | webpack.config.js
12 | other
13 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: false
2 | language: node_js
3 | cache:
4 | directories:
5 | - node_modules
6 | branches:
7 | only:
8 | - master
9 | notifications:
10 | email: false
11 | node_js:
12 | - 4.2
13 | before_install:
14 | - npm i -g npm@^3.0.0
15 | - "export DISPLAY=:99.0"
16 | - "sh -e /etc/init.d/xvfb start"
17 | before_script:
18 | - npm prune
19 | script:
20 | - npm run eslint
21 | - npm run test
22 | - npm run check-coverage
23 | after_success:
24 | - npm run report-coverage
25 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # CHANGELOG
2 |
3 | The changelog is automatically updated using [semantic-release](https://github.com/semantic-release/semantic-release).
4 | You can see it on the [releases page](https://github.com/formly-js/angular-formly/releases). (Shortcut:
5 | [changelog.angular-formly.com](http://changelog.angular-formly.com))
6 |
7 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Code of Conduct
2 |
3 | As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
4 |
5 | We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
6 |
7 | Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
8 |
9 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
10 |
11 | This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
12 |
13 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
14 |
15 | This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.1.0, available at [http://contributor-covenant.org/version/1/1/0/](http://contributor-covenant.org/version/1/1/0/)
16 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | ## Watch the videos
4 |
5 | I've recorded several screencasts to demonstrate how to contribute.
6 | Here's [a playlist](https://www.youtube.com/playlist?list=PLV5CVI1eNcJi7lVVIuNyRhEuck1Z007BH) of them all. You'll find
7 | individual links by the respective sections
8 |
9 | ## Questions/Help
10 |
11 | [Watch video](https://www.youtube.com/watch?v=NXqFiSeBE-M&list=PLV5CVI1eNcJi7lVVIuNyRhEuck1Z007BH&index=2)
12 |
13 | An example will get you help faster than anything else you do. Create an example by going to
14 | [help.angular-formly.com](http://help.angular-formly.com)
15 |
16 | Please post questions to [StackOverflow](http://stackoverflow.com/) using the
17 | [angular-formly](http://stackoverflow.com/tags/angular-formly/info) tag. There's also the
18 | [mailing list](https://groups.io/org/groupsio/formly-js) where you can ask/answer questions. Also join us on
19 | [gitter](https://gitter.im/formly-js/angular-formly).
20 |
21 | If you file an issue with a question, it will be closed. I'm not trying to be mean. I'm just trying to stay sane. :-)
22 |
23 | ## Reporting Bugs / Requesting Features
24 |
25 | [Watch video](https://www.youtube.com/watch?v=Kw9fVgc3Tzk&index=6&list=PLV5CVI1eNcJi7lVVIuNyRhEuck1Z007BH)
26 |
27 | If you've found an issue, please submit it in [the issues](https://github.com/formly-js/angular-formly/issues)
28 | with a link to a jsbin that demonstrates the issue with [issue.angular-formly.com](http://issue.angular-formly.com)
29 |
30 | ## Pull Requests
31 |
32 | **Working on your first Pull Request?** You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
33 |
34 | ‼️‼️‼️ 👉**Please follow our commit message conventions** even if you're making a small change! This repository follows the
35 | [How to Write an Open Source JavaScript Library](https://egghead.io/series/how-to-write-an-open-source-javascript-library)
36 | series on egghead.io (by yours truly). See
37 | [this lesson](https://egghead.io/lessons/javascript-how-to-write-a-javascript-library-writing-conventional-commits-with-commitizen?series=how-to-write-an-open-source-javascript-library)
38 | and [this repo](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md)
39 | to learn more about the commit message conventions.
40 |
41 | [Watch video](https://www.youtube.com/watch?v=QOchwBm9W-g&list=PLV5CVI1eNcJi7lVVIuNyRhEuck1Z007BH&index=1) (slightly out of date)
42 |
43 | If you would like to add functionality, please submit [an issue](https://github.com/formly-js/angular-formly/issues)
44 | first to make sure it's a direction we want to take.
45 |
46 | Please do the following:
47 | * Follow the existing styles (we have an `.editorconfig` file)
48 | * Document your changes in the README (try to follow the convention you see in the rest of the file)
49 | * Create an example for the website that demonstrates your changes so people can see how your changes work
50 |
51 | ### Development
52 |
53 | 1. run `npm install`
54 | 2. run `npm start` (if you're on a windows machine, see [this issue](https://github.com/formly-js/angular-formly/issues/305))
55 | 3. write tests & code in ES6 goodness :-)
56 | 4. run `git add src/`
57 | 5. run `npm run commit` and follow the prompt (this ensures that your commit message follows [our conventions](https://github.com/stevemao/conventional-changelog-angular/blob/master/convention.md)).
58 | 6. notice that there's a pre-commit hook that runs to ensure tests pass and coverage doesn't drop to prevent the build from breaking :-)
59 | 7. push your changes
60 | 8. create a PR with a link to the original issue
61 | 9. wait patiently :-)
62 |
63 | #### Notes
64 |
65 | - Please don't commit any changes to the `dist/` directory. This is only committed for releases.
66 | - Due to some inconsistencies with angular versions, always use `require('angular-fix')` rather than simply `require('angular')`
67 | - If you wish to view your changes visually, you can play around with it in the `local-examples` directory. Don't commit anything in this directory, but it's a good sanity check. It's just straight JavaScript with an `index.html`. I recommend `http-server`.
68 |
69 | ### What do you need help with?
70 |
71 | #### Helping others!
72 |
73 | There are a lot of questions from people as they get started using angular-formly. If you could **please do the following things**, that would really help:
74 |
75 | - Subscribe to the `angular-formly` questions [RSS Feed](http://stackoverflow.com/feeds/tag?tagnames=angular-formly&sort=newest) on StackOverflow. You can use this free service: [Blogtrottr](https://blogtrottr.com) to have it email you with new questions.
76 | - Hang out on [the chat](http://chat.angular-formly.com)
77 | - Sign up on [the mailing list](http://mailing-list.angular-formly.com)
78 | - Watch the [angular-formly repositories](https://github.com/formly-js) for issues or requests that you could help with (like [angular-formly-website](https://github.com/formly-js/angular-formly-website) for requests for examples).
79 |
80 | #### Contributing to community
81 |
82 | - Create plugins! [ideas](http://docs.angular-formly.com/v7.0.1/page/plugins)
83 | - Write blog posts! Like [these](http://docs.angular-formly.com/docs/tips#blog-articles)
84 | - Record screencasts
85 | - Write examples. The website is driven by examples. [Watch video](https://www.youtube.com/watch?v=4dsXXTPET4A&list=PLV5CVI1eNcJi7lVVIuNyRhEuck1Z007BH&index=3)
86 |
87 | #### Contributing to the core
88 |
89 | - Tests are always helpful! [Watch video](https://youtu.be/CQ766-miGQ4?list=PLV5CVI1eNcJi7lVVIuNyRhEuck1Z007BH)
90 | - Any of the issues in GitHub, let us know if you have some time to fix one. Especially those labeled [up-for-grabs](https://github.com/formly-js/angular-formly/labels/up-for-grabs)
91 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in all
11 | copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 | SOFTWARE.
20 |
--------------------------------------------------------------------------------
/PATRONS.md:
--------------------------------------------------------------------------------
1 | # Patrons
2 |
3 | The work on angular-formly is [funded by the community](https://www.patreon.com/kentcdodds).
4 | Meet some of the outstanding companies and individuals that made it possible:
5 |
6 | - [Pascal DeMilly](https://twitter.com/pdemilly)
7 | - [Benjamin Orozco](https://twitter.com/benoror)
8 |
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## [angular-formly](http://docs.angular-formly.com)
4 |
5 | [THIS PROJECT NEEDS A MAINTAINER](https://github.com/formly-js/angular-formly/issues/638)
6 |
7 | Status:
8 | [](https://www.npmjs.org/package/angular-formly)
9 | [](http://npm-stat.com/charts.html?package=angular-formly&from=2015-01-01)
10 | [](https://travis-ci.org/formly-js/angular-formly)
11 | [](https://codecov.io/github/formly-js/angular-formly)
12 |
13 | Links:
14 | [](http://docs.angular-formly.com)
15 | [](http://angular-formly.com)
16 | [](https://egghead.io/playlists/advanced-angular-forms-with-angular-formly)
17 | [](https://gitter.im/formly-js/angular-formly?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
18 | [](https://github.com/formly-js/angular-formly/releases)
19 | [](http://makeapullrequest.com)
20 |
21 |
22 |
23 | angular-formly is an AngularJS module which has a directive to help customize and render JavaScript/JSON configured forms.
24 | The `formly-form` directive and the `formlyConfig` service are very powerful and bring unmatched maintainability to your
25 | application's forms.
26 |
27 | ```html
28 |