Commit Graph

50 Commits (babd4e8d92e4ee32af10a4f615fe0d06581cf084)

Author SHA1 Message Date
Kevin C. Coram babd4e8d92
Document static method approach 2020-01-08 22:05:50 -05:00
Kevin C. Coram be94a48b8a
Stronger statement about potential problem with typing form creation to component rendering 2020-01-08 22:05:08 -05:00
Kevin C. Coram 8802b52e54
Use OnPush change detection strategy 2020-01-08 21:33:38 -05:00
Kevin C. Coram b7870b607b
Remove FormBuilder dependency; rname factory methods
* Update factory methods to use the FormGroup(), FormArray(), and
  FormControl() constructors instead of the FormBuilder service.
  This avoids needing to pass the service into each of the static
  factory methods.
* Rename the factory methods to `buildForm`. The consistent use
  of the same name establishes a pattern and makes it clearer
  that the factory methods have the same purpose -- to create the
  (sub)form for the specific component.
2020-01-07 22:39:53 -05:00
Kevin C. Coram cb8144044e
Add fourth approach: Static methods on child components 2020-01-04 09:42:53 -05:00
Kevin C. Coram d9247b62f5
Fix spelling error in 'management' 2020-01-01 15:17:05 -05:00
Kevin C. Coram 3ddb416073
Improve component typesript example 2019-12-31 14:49:50 -08:00
Kevin C. Coram 1903b6f5c7
Document global form application 2019-12-31 13:53:42 -08:00
Kevin C. Coram cd7644a767
Refactor createForm() to provide composible factory methods 2019-12-31 13:49:46 -08:00
Kevin C. Coram b8b2f8a3e7
Document 'own form controls' application 2019-12-31 13:07:31 -08:00
Kevin C. Coram 7280703c4c
Add reference to blog article describing the 'own form controls' pattern 2019-12-31 13:06:42 -08:00
Kevin C. Coram f99b91a77e
Document Base Line application 2019-12-31 11:25:49 -08:00
Kevin C. Coram 81723b29da
Reworded 'own controls' description for better clarity 2019-12-31 11:25:07 -08:00
Kevin C. Coram a036ca0a93
Remove un-used `contact` attribute 2019-12-31 11:05:04 -08:00
Kevin C. Coram a6d883f68e
Rename model attributes to remove underscore 2019-09-08 18:49:36 -04:00
Kevin C. Coram 00577f888e
Inline createForm method
The baseline application will be a better example of "everything in a single application" if it directly creates its form rather than using the library service.

This is definitely less DRY, but makes for a better example.
2019-09-07 21:55:50 -04:00
Kevin C. Coram 3f5eb92ea7
Add MIT License file 2019-09-07 21:47:32 -04:00
Kevin C. Coram e26b48010d
Remove e2e tests
There are no plans to actually implement any end-to-end tests for the applications in this explorartion project, so the skeleton *-e2e applications are being removed.
2019-09-07 21:40:09 -04:00
Kevin C. Coram 2bf76e87c8
Update form group name to conform to Name interface 2019-09-07 21:33:49 -04:00
Kevin C. Coram c17d79d16c
Update model interfaces to require all attributes 2019-09-07 21:32:50 -04:00
Kevin C. Coram 4c014600c5
Refactor: Move contact service into services folder 2019-09-07 21:25:36 -04:00
Kevin C. Coram 1df633dacd
Link documentation to application code
Removes the "/README.md" from the links to the applications. Gitea/GitHub/etc will display the contents of the README.md file along with the code anyway, so linking this way gives better context for the application projects.
2019-09-07 21:19:44 -04:00
Kevin C. Coram 0cdd918cb4
New README file explaining project purpose 2019-09-07 21:13:53 -04:00
Kevin C. Coram 1da2f398fa
Rename generated README file 2019-09-07 18:30:17 -04:00
Kevin C. Coram f6a8f4ef20
Generate baseline application
Generate a baseline application that uses the same form as the global-form application, but renders it all as a dynamic/nested form in a single component.
2019-09-05 23:24:05 -04:00
Kevin C. Coram 57d46442c6
Refactor move ContactFormService into contact library 2019-09-05 22:56:08 -04:00
Kevin C. Coram bfda0985eb
Refactor form building logic into its own service 2019-09-04 23:47:09 -04:00
Kevin C. Coram 34098189c8
Configure prettier to use trailing commas 2019-09-04 23:20:44 -04:00
Kevin C. Coram 21d0211853
Create and hook up form components 2019-09-04 23:02:49 -04:00
Kevin C. Coram c5aa8b2f70
Build form from contact model data 2019-09-04 22:38:01 -04:00
Kevin C. Coram 6d19f3fe97
Provide ContactService via a module 2019-09-04 22:12:04 -04:00
Kevin C. Coram c95734bb04
Use Nrwl jest resolver plugin 2019-09-04 22:11:00 -04:00
Kevin C. Coram 28f56f2e85
Refactor rename lib/contact-model -> lib/contact 2019-09-04 21:36:09 -04:00
Kevin C. Coram 2c6fde0acc
Move reference to test-setup.ts to angular.json
Move the reference to the test-setup.ts file in the contact-model library from jest.config.js to angular.json, to match how things are set up for the applications.
2019-09-03 18:58:29 -04:00
Kevin C. Coram 3b43037e66
Extract test contact to a shared service 2019-09-03 00:52:17 -04:00
Kevin C. Coram b4467a6904
Add name component to application 2019-09-02 23:27:28 -04:00
Kevin C. Coram 9b6d241ddb
Generate global-form skeleton 2019-09-02 15:23:01 -04:00
Kevin C. Coram ba7c81f983
Add address list components to form 2019-08-28 00:25:24 -04:00
Kevin C. Coram c9bdc71680
Fix unit tests by importing forms module 2019-08-28 00:25:24 -04:00
Kevin C. Coram eb1422923f
Include name component in main application 2019-08-28 00:25:24 -04:00
Kevin C. Coram 901be9ad09
Generate name component as reactive form 2019-08-28 00:25:23 -04:00
Kevin C. Coram 38b9a40167
Create Contact model interfaces 2019-08-28 00:25:23 -04:00
Kevin C. Coram b4ff7793a0
Additional Jest configuration and dependencies 2019-08-28 00:25:23 -04:00
Kevin C. Coram efc332b2b2
nx g @nrwl/angular:app parent-form 2019-08-28 00:25:22 -04:00
Kevin C. Coram a51eacb050
Add @nrwl/angular 2019-08-28 00:25:22 -04:00
Kevin C. Coram e2e6eba2d8
Generate contact-model library 2019-08-28 00:25:22 -04:00
Kevin C. Coram 058c4b40cb
Add ts-jest so Jest can test TypeScript files 2019-08-28 00:25:22 -04:00
Kevin C. Coram 837ffc023a
Initialize Jest configuration 2019-08-28 00:25:21 -04:00
Kevin C. Coram 7ff06a275f
Add Jest and @nrwl/jest 2019-08-28 00:25:21 -04:00
Kevin C. Coram 2823996f00
initial commit 2019-08-28 00:25:11 -04:00