@genesislcap/foundation-entity-management 14.63.1-alpha-e78a361.0 → 14.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -17
- package/package.json +13 -13
package/README.md
CHANGED
|
@@ -6,25 +6,27 @@
|
|
|
6
6
|
|
|
7
7
|
### Introduction
|
|
8
8
|
|
|
9
|
-
The Entity Management micro
|
|
9
|
+
The Entity Management micro front-end is used to connect to a resource on the back end and manage it from the front end. Handlers can be set up for create, update, and delete events; after adding an event, a button is displayed, so that the user can perform the action. There is a list of pre-defined events and resources to manage, but you can also manage custom resources that have been created on the back end.
|
|
10
10
|
|
|
11
11
|
:::tip
|
|
12
|
-
The buttons are conditionally
|
|
12
|
+
The buttons are accessed conditionally, based on the specified events. For example, if the current user is only able to edit the entities, then you should only set the edit event on the entity-manager - you need to set the events so that they are conditional on user authorisations.
|
|
13
13
|
:::
|
|
14
14
|
|
|
15
|
-
Two core components are used to manage the entities - the grid and the form.
|
|
15
|
+
Two core components are used to manage the entities - the grid and the form.
|
|
16
|
+
|
|
17
|
+
The grid contains an entity on each row and data in each column. Here is an example showing a grid used to manage counterparties:
|
|
16
18
|
|
|
17
|
-
Example grid used to manage counterparties
|
|
18
19
|

|
|
19
20
|
|
|
20
|
-
The other component is the form
|
|
21
|
+
The other component is the form. This is used to update an existing entity or to create a new one. Here is an example :
|
|
22
|
+
|
|
21
23
|

|
|
22
24
|
|
|
23
25
|
### Set-up
|
|
24
26
|
|
|
25
27
|
To enable this micro-front-end in your application, follow the steps below.
|
|
26
28
|
|
|
27
|
-
|
|
29
|
+
1. Add `@genesislcap/foundation-entity-management` as a dependency in your **package.json** file. Whenever you change the dependencies of your project, run the `$ npm run bootstrap` command again. For more information, see the [package.json basics](https://learn.genesis.global/secure/web/basics/package-json-basics/) page.
|
|
28
30
|
|
|
29
31
|
```javascript
|
|
30
32
|
{
|
|
@@ -36,7 +38,8 @@ To enable this micro-front-end in your application, follow the steps below.
|
|
|
36
38
|
}
|
|
37
39
|
```
|
|
38
40
|
|
|
39
|
-
|
|
41
|
+
2. Import and declare the class in the page of the class where you wish to use the Entity Manager. Then add the entity management into the template html where required:
|
|
42
|
+
|
|
40
43
|
```javascript
|
|
41
44
|
// Import
|
|
42
45
|
import { EntityManagement, } from '@genesislcap/foundation-entity-management';
|
|
@@ -84,11 +87,17 @@ The functionality of the Entity Manager is customised through the properties you
|
|
|
84
87
|
|
|
85
88
|
#### Resource
|
|
86
89
|
|
|
87
|
-
`resourceName` refers to the name of
|
|
90
|
+
`resourceName` refers to the name of a resource on the server. This could be:
|
|
91
|
+
|
|
92
|
+
- a `query` in a Data Server
|
|
93
|
+
- a `ReqRep` definition in a Request Server
|
|
94
|
+
- an `eventHandler`in the Event Handler.
|
|
95
|
+
|
|
96
|
+
In the [above example](#set-up), we use `ALL_COUNTERPARTYS`, which is a `query` in a Data Server; by convention, these queries all start with `ALL_`.
|
|
88
97
|
|
|
89
98
|
#### Events
|
|
90
99
|
|
|
91
|
-
`createEvent`, `updateEvent`, `deleteEvent` are set to be the events on the back end that handle the specific actions, such as deleting counterparty data. For the create and update functionality, these also define the resource in which the form is populated when the user is creating or updating an entity. After adding an event, a button
|
|
100
|
+
`createEvent`, `updateEvent`, `deleteEvent` are set to be the events on the back end that handle the specific actions, such as deleting counterparty data. For the create and update functionality, these also define the resource in which the form is populated when the user is creating or updating an entity. After adding an event, a button is displayed so that the user can perform the selected action.
|
|
92
101
|
|
|
93
102
|
#### Datasource configuration
|
|
94
103
|
|
|
@@ -98,7 +107,7 @@ Set this object to configure how the Entity Manager interacts with the resource.
|
|
|
98
107
|
`persist-column-state-key` is a string value. It is used to control how the column states are persisted through actions such as page changes or refreshes. If no `persist-column-state-key` property is set, then the behaviour will be to _not_ persist the column state, and the grid will revert back to its default state every time the user navigates away from it.
|
|
99
108
|
|
|
100
109
|
:::warning
|
|
101
|
-
The string defines the key in which the serialised state of the columns is stored in an object in [session storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage). Therefore, if you are setting multiple Entity Managers in your application
|
|
110
|
+
The string defines the key in which the serialised state of the columns is stored in an object in [session storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage). Therefore, if you are setting multiple Entity Managers in your application, you must use unique keys to persist the state - otherwise, you will get undefined behaviour.
|
|
102
111
|
:::
|
|
103
112
|
|
|
104
113
|
## User Management
|
|
@@ -114,13 +123,14 @@ User Management is a concrete use case of the [Entity Management](#entity-manage
|
|
|
114
123
|
:::
|
|
115
124
|
|
|
116
125
|
Here is an example grid view for managing users:
|
|
126
|
+
|
|
117
127
|

|
|
118
128
|
|
|
119
129
|
### Set-up
|
|
120
130
|
|
|
121
131
|
To enable this micro-front-end in your application, follow the steps below:
|
|
122
132
|
|
|
123
|
-
|
|
133
|
+
1. Add `@genesislcap/foundation-entity-management` as a dependency in your **package.json** file. Whenever you change the dependencies of your project, run the `$ npm run bootstrap` command again. You can find more information in the [package.json basics](https://learn.genesis.global/secure/web/basics/package-json-basics/) page.
|
|
124
134
|
|
|
125
135
|
```javascript
|
|
126
136
|
{
|
|
@@ -132,7 +142,7 @@ To enable this micro-front-end in your application, follow the steps below:
|
|
|
132
142
|
}
|
|
133
143
|
```
|
|
134
144
|
|
|
135
|
-
|
|
145
|
+
2. Import and declare the class in the page of the class where you wish to use the user manager. Then add User Management to the template html where required:
|
|
136
146
|
|
|
137
147
|
```javascript
|
|
138
148
|
// Import
|
|
@@ -197,7 +207,7 @@ For more info on `persist-column-state-key` see [the section in the entity manag
|
|
|
197
207
|
|
|
198
208
|
## Profile Management
|
|
199
209
|
|
|
200
|
-
The Profile Management micro
|
|
210
|
+
The Profile Management micro front-end is used to manage the profiles on the front end. Two core components are used to manage the profiles - the grid and the form.
|
|
201
211
|
|
|
202
212
|
:::info
|
|
203
213
|
Profile Management is a concrete use case of the [Entity Management](#entity-management) micro front-end, which is provided as part of `foundation-ui`.
|
|
@@ -208,9 +218,9 @@ Example grid view when managing profiles.
|
|
|
208
218
|
|
|
209
219
|
### Set-up
|
|
210
220
|
|
|
211
|
-
To enable this micro
|
|
221
|
+
To enable this micro front-end in your application, follow the steps below.
|
|
212
222
|
|
|
213
|
-
- Add `@genesislcap/foundation-entity-management` as a dependency in your **package.json** file. Whenever you change the dependencies of your project, ensure you run the bootstrap command again. You can find more information in the [package.json basics](
|
|
223
|
+
- Add `@genesislcap/foundation-entity-management` as a dependency in your **package.json** file. Whenever you change the dependencies of your project, ensure you run the bootstrap command again. You can find more information in the [package.json basics](../../../../web/basics/package-json-basics/) page.
|
|
214
224
|
|
|
215
225
|
```javascript
|
|
216
226
|
{
|
|
@@ -255,7 +265,7 @@ In contrast to Entity Management, we have a different way of displaying buttons
|
|
|
255
265
|
- `AMEND_PROFILE` - the user can update existing profiles
|
|
256
266
|
|
|
257
267
|
#### Persist column state
|
|
258
|
-
`persist-column-state-key` is a string value
|
|
268
|
+
`persist-column-state-key` is a string value that is used to control how the column states are persisted through actions such as page changes or refreshes. If no `persist-column-state-key` property is set, then the behaviour will be to _not_ persist the column state, and the grid will revert back to its default state every time the user navigates away from it.
|
|
259
269
|
|
|
260
270
|
:::info
|
|
261
271
|
For more information on `persist-column-state-key` see [the section in the Entity Management](#persist-column-state) page.
|
|
@@ -263,7 +273,7 @@ For more information on `persist-column-state-key` see [the section in the Entit
|
|
|
263
273
|
|
|
264
274
|
## License
|
|
265
275
|
|
|
266
|
-
Note: this project provides front
|
|
276
|
+
Note: this project provides front-end dependencies and uses licensed components listed in the next section; thus, licenses for those components are required during development. Contact [Genesis Global](https://genesis.global/contact-us/) for more details.
|
|
267
277
|
|
|
268
278
|
### Licensed components
|
|
269
279
|
Genesis low-code platform
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/foundation-entity-management",
|
|
3
3
|
"description": "Genesis Foundation Entity Management",
|
|
4
|
-
"version": "14.
|
|
4
|
+
"version": "14.64.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "SEE LICENSE IN license.txt",
|
|
7
7
|
"main": "dist/esm/index.js",
|
|
@@ -41,21 +41,21 @@
|
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@genesislcap/foundation-login": "^14.40.0",
|
|
44
|
-
"@genesislcap/foundation-testing": "14.
|
|
45
|
-
"@genesislcap/genx": "14.
|
|
44
|
+
"@genesislcap/foundation-testing": "14.64.0",
|
|
45
|
+
"@genesislcap/genx": "14.64.0",
|
|
46
46
|
"rimraf": "^3.0.2"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@ag-grid-community/core": "29.2.0",
|
|
50
|
-
"@genesislcap/foundation-comms": "14.
|
|
51
|
-
"@genesislcap/foundation-errors": "14.
|
|
52
|
-
"@genesislcap/foundation-forms": "14.
|
|
53
|
-
"@genesislcap/foundation-login": "14.
|
|
54
|
-
"@genesislcap/foundation-ui": "14.
|
|
55
|
-
"@genesislcap/foundation-utils": "14.
|
|
56
|
-
"@genesislcap/foundation-zero": "14.
|
|
57
|
-
"@genesislcap/foundation-zero-grid-pro": "14.
|
|
58
|
-
"@genesislcap/grid-pro": "14.
|
|
50
|
+
"@genesislcap/foundation-comms": "14.64.0",
|
|
51
|
+
"@genesislcap/foundation-errors": "14.64.0",
|
|
52
|
+
"@genesislcap/foundation-forms": "14.64.0",
|
|
53
|
+
"@genesislcap/foundation-login": "14.64.0",
|
|
54
|
+
"@genesislcap/foundation-ui": "14.64.0",
|
|
55
|
+
"@genesislcap/foundation-utils": "14.64.0",
|
|
56
|
+
"@genesislcap/foundation-zero": "14.64.0",
|
|
57
|
+
"@genesislcap/foundation-zero-grid-pro": "14.64.0",
|
|
58
|
+
"@genesislcap/grid-pro": "14.64.0",
|
|
59
59
|
"@microsoft/fast-components": "^2.21.3",
|
|
60
60
|
"@microsoft/fast-element": "^1.7.0",
|
|
61
61
|
"@microsoft/fast-foundation": "^2.33.2",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
73
|
"customElements": "dist/custom-elements.json",
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "b9342cf385809ba4b2ad9bc592ae9dffe9360ce4"
|
|
75
75
|
}
|