UNPKG

bahmniapps-commons

Version:

Common Modules carved out from bahmniapps.

50 lines (43 loc) 1.62 kB
# bahmniapps-commons This repository contains extracted common modules form [openmrs-module-bahmniapps](https://github.com/Bahmni/openmrs-module-bahmniapps). ### Install ``` npm i bahmniapps-commons ``` ## Developer Documentation ### Setup ``` git clone git@github.com:mddubey/bahmniapps-commons.git cd bahmniapps-commons npm install npm run bundle ``` Above steps will generate a dist folder with a output js file for each module. ### Adding a new module Below is the strucutre of project: <pre> |-- module-1 |-- init.js |-- views |-- directives |-- filters |-- components |-- services |-- module-2 |-- init.js .... |....... |-- module-n |-- init.js .... |-- dist |-- package.json |-- webpack.config.json </pre> * All modules are present on the root of the project. * By convention, every module should have an `init.js` file. This would be maintioned in the `entry` for the `webpack.config.js`. * The key for the `entry` will be used to generate the bundled file. ### Expose templates from a module Right now there are two ways the templates are exposed from module. * We can expose the template as part of a directive. E.g. `bahmni-patient-commons/directives/patientSummary.js` defines a directive `patientSummary` which exposes `patientSummary.html` template. * The templates can be provided in the `$templateCache` directly. The applications using these should look for these templates from `$templateCache` using the `key`. The `key` used to put the template must be documented. E.g. `ui-helper/init.js` exposes common templates which are used across components.