JHipster blueprint, This blueprint generated code that uses primeng components instead of bootstrap ones
The latest release require using this fork with npm link: https://github.com/yelhouti/generator-jhipster/tree/composite-key
or this one for jhipster 7 https://github.com/yelhouti/generator-jhipster/tree/composite-key-7
If you use this project and/or use composite keys in you project please upvote this PR: jhipster/generator-jhipster#19849 so npm link is not need anymore
This is a JHipster blueprint, that is meant to be used in a JHipster application.
This blueprint supports composite keys and can be used with the composite key blueprint
When using composite keys, multiple dropdowns are generated per relationships (one per id) to facilitate the filtering, Each dropdown is filtered based on what was selected before, we therefore require all entities that are part from the id to be filterable.
Many-To-many where other side is composite is not yet supported (We don't know yet how we want it to be implemented, suggestion are welcome)
As this is a JHipster blueprint, we expect you have JHipster and its related tools already installed:
To install this blueprint:
npm install -g generator-jhipster-primeng-blueprint
To update this blueprint:
npm update -g generator-jhipster-primeng-blueprint
To install this blueprint:
yarn global add generator-jhipster-primeng-blueprint
To update this blueprint:
yarn global upgrade generator-jhipster-primeng-blueprint
To use this blueprint, run the below command
jhipster --blueprint primeng-blueprint
During development of blueprint, please note the below steps. They are very important.
- Link your blueprint globally
Note: If you do not want to link the blueprint(step 3) to each project being created, use NPM instead of Yarn as yeoman doesn't seem to fetch globally linked Yarn modules. On the other hand, this means you have to use NPM in all the below steps as well.
cd primeng-blueprint
npm link
- Link a development version of JHipster to your blueprint (optional: required only if you want to use a non-released JHipster version, like the master branch or your own custom fork)
You could also use Yarn for this if you prefer
cd generator-jhipster
npm link
cd primeng-blueprint
npm link generator-jhipster
- Create a new folder for the app to be generated and link JHipster and your blueprint there
mkdir my-app && cd my-app
npm link generator-jhipster-primeng-blueprint
npm link generator-jhipster (Optional: Needed only if you are using a non-released JHipster version)
jhipster -d --blueprint primeng-blueprint
Our aim is to be able to purchase a theme and drop it directly on top of the generated code, without putting code in the generator that shouldn't be there, of course the default version should still be clean and usable.
Here are the manual step to change the theme files before placing theme, we recommand that these steps are done on a versioned repository of theme to be able to rebase on the next upgrade.
To make it it easy to keep up with the latest jhipster version, we have a branch jhipster-upstream with the original content of the original jhipster generator. On each upgrade we edit the needed file and merge back into master (or feature branch).
once changes are made, npm run test
one the project insures that application generated matches the one in the sample project 'test/samples/...'
This creates a new project under /tmp/primeng-blueprint-test we use it to run our tests:
npm run test
for angular unit tests (running tests on the sample filder doesn't lint well du to eslint picking up the parent project config I suppose)npm run e2e
for e2e tests using an already server https://github.com/yelhouti/generator-jhipster-composite-key-server (this project supports composites keys and has the same entities...) (do nor forget to change the generated protractor.conf to use localhost:9000 instead of 8080)npm build
to make sure that AOT is still working (strict null checks in the HTML...)
Using the samples project makes this code very well suites for test driven development.
Apache-2.0 © Youssef El Houti
lazySelectedOptions