@genesislcap/foundation-entity-management 14.268.2 → 14.268.3
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 +0 -189
- package/dist/custom-elements.json +49 -49
- package/package.json +21 -21
package/README.md
CHANGED
|
@@ -109,192 +109,3 @@ Set this object to configure how the Entity Manager interacts with the resource.
|
|
|
109
109
|
:::warning
|
|
110
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.
|
|
111
111
|
:::
|
|
112
|
-
|
|
113
|
-
## User Management
|
|
114
|
-
|
|
115
|
-
The User Management micro front-end is used to manage the users on the front end. Two core components are used to manage the entities:
|
|
116
|
-
- the grid
|
|
117
|
-
- the form
|
|
118
|
-
|
|
119
|
-
The grid contains an entity on each row and data in each column.
|
|
120
|
-
|
|
121
|
-
:::info
|
|
122
|
-
User Management is a concrete use case of the [Entity Management](#entity-management) micro front-end, which is provided as part of `foundation-ui`.
|
|
123
|
-
:::
|
|
124
|
-
|
|
125
|
-
Here is an example grid view for managing users:
|
|
126
|
-
|
|
127
|
-

|
|
128
|
-
|
|
129
|
-
### Set-up
|
|
130
|
-
|
|
131
|
-
To enable this micro-front-end in your application, follow the steps below:
|
|
132
|
-
|
|
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.
|
|
134
|
-
|
|
135
|
-
```javascript
|
|
136
|
-
{
|
|
137
|
-
...
|
|
138
|
-
"dependencies": {
|
|
139
|
-
"@genesislcap/foundation-entity-management": "latest"
|
|
140
|
-
},
|
|
141
|
-
...
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
|
|
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:
|
|
146
|
-
|
|
147
|
-
```javascript
|
|
148
|
-
// Import
|
|
149
|
-
import { Users, } from '@genesislcap/foundation-entity-management';
|
|
150
|
-
|
|
151
|
-
// Declare class
|
|
152
|
-
Users;
|
|
153
|
-
|
|
154
|
-
// Example html with the user management
|
|
155
|
-
// You can customise this with additional fields, see futher in this documentation
|
|
156
|
-
export const AdminTemplate: ViewTemplate = html`
|
|
157
|
-
<zero-tabs>
|
|
158
|
-
<zero-tab-panel slot="tabpanel">
|
|
159
|
-
<zero-notification-listener>
|
|
160
|
-
<user-management></user-management>
|
|
161
|
-
</zero-notification-listener>
|
|
162
|
-
</zero-tab-panel>
|
|
163
|
-
</zero-tabs>
|
|
164
|
-
`;
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Config
|
|
168
|
-
|
|
169
|
-
You can customise the functionality of User Management through the properties you set in the html. This section covers the main properties that you can customise. For a full list of properties, [see here](./docs/api/foundation-entity-management.users.md).
|
|
170
|
-
|
|
171
|
-
#### Columns
|
|
172
|
-
|
|
173
|
-
The primary way to configure the User Management functionality is via the columns that are displayed on the grid.
|
|
174
|
-
```javascript
|
|
175
|
-
// Default usage, will contain the "default" columns:
|
|
176
|
-
// username, first name, last name, email, last login
|
|
177
|
-
// as well as the additional entity and status columns
|
|
178
|
-
<user-management></user-management>
|
|
179
|
-
```
|
|
180
|
-
The default columns are contained in the [UserColumnConfig](./docs/api/foundation-entity-management.userscolumnconfig.md) variable. The `Entity` and `Status` columns are always added to the grid.
|
|
181
|
-
|
|
182
|
-
To configure the columns yourself, set the `columns` attribute when you define the User Management in the HTML. You can mix in your custom column config with the default user columns config, using the javascript `spread` operator.
|
|
183
|
-
```javascript
|
|
184
|
-
// Custom usage, will contain the "default" columns:
|
|
185
|
-
// username, first name, last name, email, last login
|
|
186
|
-
// the custom "userColumns"
|
|
187
|
-
// as well as the additional entity and status columns
|
|
188
|
-
<user-management :columns=${() => [...UsersColumnConfig, ...userColumns]}>
|
|
189
|
-
</user-management>
|
|
190
|
-
```
|
|
191
|
-
To see a more verbose version of this example, [see the second example here](./docs/api/foundation-entity-management.users.md).
|
|
192
|
-
|
|
193
|
-
#### Permissions
|
|
194
|
-
|
|
195
|
-
In contrast to Entity Management, we have a different way of displaying buttons and performing actions here. In this case, they are displayed if the user has the appropriate permissions from the server.
|
|
196
|
-
|
|
197
|
-
- `INSERT_USER` - the user can add new users
|
|
198
|
-
- `DELETE_USER` - the user can delete users
|
|
199
|
-
- `AMEND_USER` - the user can update existing users
|
|
200
|
-
|
|
201
|
-
#### Persist column state
|
|
202
|
-
`persist-column-state-key` is a string value, which is used to control how the column states are persisted through actions such as page changes or refreshes. When using this micro front-end, it is set to `entity_profiles_management`.
|
|
203
|
-
|
|
204
|
-
:::info
|
|
205
|
-
For more info on `persist-column-state-key` see [the section in the entity management.](#persist-column-state)
|
|
206
|
-
:::
|
|
207
|
-
|
|
208
|
-
## Profile Management
|
|
209
|
-
|
|
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.
|
|
211
|
-
|
|
212
|
-
:::info
|
|
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`.
|
|
214
|
-
:::
|
|
215
|
-
|
|
216
|
-
Example grid view when managing profiles.
|
|
217
|
-
|
|
218
|
-

|
|
219
|
-
|
|
220
|
-
### Set-up
|
|
221
|
-
|
|
222
|
-
To enable this micro front-end in your application, follow the steps below.
|
|
223
|
-
|
|
224
|
-
1. 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.
|
|
225
|
-
|
|
226
|
-
```javascript
|
|
227
|
-
{
|
|
228
|
-
...
|
|
229
|
-
"dependencies": {
|
|
230
|
-
"@genesislcap/foundation-entity-management": "latest"
|
|
231
|
-
},
|
|
232
|
-
...
|
|
233
|
-
}
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
2. Import and declare the class in the page of the class where you wish to use the Profile Manager. Then add the profile management into the template HTML where required:
|
|
237
|
-
```javascript
|
|
238
|
-
// Import
|
|
239
|
-
import { Profiles } from '@genesislcap/foundation-entity-management';
|
|
240
|
-
|
|
241
|
-
// Declare class
|
|
242
|
-
Profiles;
|
|
243
|
-
|
|
244
|
-
// Example HTML with the profile management
|
|
245
|
-
export const AdminTemplate: ViewTemplate = html`
|
|
246
|
-
<zero-tabs>
|
|
247
|
-
<zero-tab-panel slot="tabpanel">
|
|
248
|
-
<zero-notification-listener>
|
|
249
|
-
<profile-management></profile-management>
|
|
250
|
-
</zero-notification-listener>
|
|
251
|
-
</zero-tab-panel>
|
|
252
|
-
</zero-tabs>
|
|
253
|
-
`;
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### Config
|
|
257
|
-
|
|
258
|
-
The functionality of the profile manager is customised through the properties you set in the HTML. This section covers the main properties that you will want to customise. For a full list of properties, [see here](./docs/api/foundation-entity-management.profiles.md).
|
|
259
|
-
|
|
260
|
-
#### Permissions
|
|
261
|
-
|
|
262
|
-
In contrast to Entity Management, we have a different way of displaying buttons and performing actions here. In this case, they are displayed if the user has the appropriate permissions from the server.
|
|
263
|
-
|
|
264
|
-
- `INSERT_PROFILE` - the user can add new profiles
|
|
265
|
-
- `DELETE_PROFILE` - the user can delete profiles
|
|
266
|
-
- `AMEND_PROFILE` - the user can update existing profiles
|
|
267
|
-
|
|
268
|
-
#### Persist column state
|
|
269
|
-
`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.
|
|
270
|
-
|
|
271
|
-
:::info
|
|
272
|
-
For more information on `persist-column-state-key` see [the section in the Entity Management](#persist-column-state) page.
|
|
273
|
-
:::
|
|
274
|
-
|
|
275
|
-
## Installation
|
|
276
|
-
|
|
277
|
-
To enable this module in your application, follow the steps below.
|
|
278
|
-
|
|
279
|
-
1. 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 `$ 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.
|
|
280
|
-
|
|
281
|
-
```json
|
|
282
|
-
{
|
|
283
|
-
...
|
|
284
|
-
"dependencies": {
|
|
285
|
-
...
|
|
286
|
-
"@genesislcap/foundation-entity-management": "latest"
|
|
287
|
-
...
|
|
288
|
-
},
|
|
289
|
-
...
|
|
290
|
-
}
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
## [API Docs](./docs/api/index.md)
|
|
294
|
-
|
|
295
|
-
## License
|
|
296
|
-
|
|
297
|
-
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.
|
|
298
|
-
|
|
299
|
-
### Licensed components
|
|
300
|
-
Genesis low-code platform
|
|
@@ -1965,6 +1965,55 @@
|
|
|
1965
1965
|
}
|
|
1966
1966
|
]
|
|
1967
1967
|
},
|
|
1968
|
+
{
|
|
1969
|
+
"kind": "javascript-module",
|
|
1970
|
+
"path": "src/layouts/default.ts",
|
|
1971
|
+
"declarations": [
|
|
1972
|
+
{
|
|
1973
|
+
"kind": "variable",
|
|
1974
|
+
"name": "loginLayout",
|
|
1975
|
+
"default": "new FASTElementLayout(\n html`\n <div class=\"container\">\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `,\n baseLayoutCss,\n)"
|
|
1976
|
+
},
|
|
1977
|
+
{
|
|
1978
|
+
"kind": "variable",
|
|
1979
|
+
"name": "defaultLayout",
|
|
1980
|
+
"default": "new FASTElementLayout(\n html`\n <div class=\"container\">\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `,\n css`\n ${baseLayoutCss}\n `,\n)"
|
|
1981
|
+
}
|
|
1982
|
+
],
|
|
1983
|
+
"exports": [
|
|
1984
|
+
{
|
|
1985
|
+
"kind": "js",
|
|
1986
|
+
"name": "loginLayout",
|
|
1987
|
+
"declaration": {
|
|
1988
|
+
"name": "loginLayout",
|
|
1989
|
+
"module": "src/layouts/default.ts"
|
|
1990
|
+
}
|
|
1991
|
+
},
|
|
1992
|
+
{
|
|
1993
|
+
"kind": "js",
|
|
1994
|
+
"name": "defaultLayout",
|
|
1995
|
+
"declaration": {
|
|
1996
|
+
"name": "defaultLayout",
|
|
1997
|
+
"module": "src/layouts/default.ts"
|
|
1998
|
+
}
|
|
1999
|
+
}
|
|
2000
|
+
]
|
|
2001
|
+
},
|
|
2002
|
+
{
|
|
2003
|
+
"kind": "javascript-module",
|
|
2004
|
+
"path": "src/layouts/index.ts",
|
|
2005
|
+
"declarations": [],
|
|
2006
|
+
"exports": [
|
|
2007
|
+
{
|
|
2008
|
+
"kind": "js",
|
|
2009
|
+
"name": "*",
|
|
2010
|
+
"declaration": {
|
|
2011
|
+
"name": "*",
|
|
2012
|
+
"package": "./default"
|
|
2013
|
+
}
|
|
2014
|
+
}
|
|
2015
|
+
]
|
|
2016
|
+
},
|
|
1968
2017
|
{
|
|
1969
2018
|
"kind": "javascript-module",
|
|
1970
2019
|
"path": "src/list/index.ts",
|
|
@@ -2595,55 +2644,6 @@
|
|
|
2595
2644
|
}
|
|
2596
2645
|
]
|
|
2597
2646
|
},
|
|
2598
|
-
{
|
|
2599
|
-
"kind": "javascript-module",
|
|
2600
|
-
"path": "src/layouts/default.ts",
|
|
2601
|
-
"declarations": [
|
|
2602
|
-
{
|
|
2603
|
-
"kind": "variable",
|
|
2604
|
-
"name": "loginLayout",
|
|
2605
|
-
"default": "new FASTElementLayout(\n html`\n <div class=\"container\">\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `,\n baseLayoutCss,\n)"
|
|
2606
|
-
},
|
|
2607
|
-
{
|
|
2608
|
-
"kind": "variable",
|
|
2609
|
-
"name": "defaultLayout",
|
|
2610
|
-
"default": "new FASTElementLayout(\n html`\n <div class=\"container\">\n <div class=\"content\">\n <slot></slot>\n </div>\n </div>\n `,\n css`\n ${baseLayoutCss}\n `,\n)"
|
|
2611
|
-
}
|
|
2612
|
-
],
|
|
2613
|
-
"exports": [
|
|
2614
|
-
{
|
|
2615
|
-
"kind": "js",
|
|
2616
|
-
"name": "loginLayout",
|
|
2617
|
-
"declaration": {
|
|
2618
|
-
"name": "loginLayout",
|
|
2619
|
-
"module": "src/layouts/default.ts"
|
|
2620
|
-
}
|
|
2621
|
-
},
|
|
2622
|
-
{
|
|
2623
|
-
"kind": "js",
|
|
2624
|
-
"name": "defaultLayout",
|
|
2625
|
-
"declaration": {
|
|
2626
|
-
"name": "defaultLayout",
|
|
2627
|
-
"module": "src/layouts/default.ts"
|
|
2628
|
-
}
|
|
2629
|
-
}
|
|
2630
|
-
]
|
|
2631
|
-
},
|
|
2632
|
-
{
|
|
2633
|
-
"kind": "javascript-module",
|
|
2634
|
-
"path": "src/layouts/index.ts",
|
|
2635
|
-
"declarations": [],
|
|
2636
|
-
"exports": [
|
|
2637
|
-
{
|
|
2638
|
-
"kind": "js",
|
|
2639
|
-
"name": "*",
|
|
2640
|
-
"declaration": {
|
|
2641
|
-
"name": "*",
|
|
2642
|
-
"package": "./default"
|
|
2643
|
-
}
|
|
2644
|
-
}
|
|
2645
|
-
]
|
|
2646
|
-
},
|
|
2647
2647
|
{
|
|
2648
2648
|
"kind": "javascript-module",
|
|
2649
2649
|
"path": "src/main/index.ts",
|
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.268.
|
|
4
|
+
"version": "14.268.3",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "SEE LICENSE IN license.txt",
|
|
7
7
|
"main": "dist/esm/index.js",
|
|
@@ -52,29 +52,29 @@
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@genesislcap/foundation-testing": "14.268.
|
|
56
|
-
"@genesislcap/genx": "14.268.
|
|
57
|
-
"@genesislcap/rollup-builder": "14.268.
|
|
58
|
-
"@genesislcap/ts-builder": "14.268.
|
|
59
|
-
"@genesislcap/uvu-playwright-builder": "14.268.
|
|
60
|
-
"@genesislcap/vite-builder": "14.268.
|
|
61
|
-
"@genesislcap/webpack-builder": "14.268.
|
|
55
|
+
"@genesislcap/foundation-testing": "14.268.3",
|
|
56
|
+
"@genesislcap/genx": "14.268.3",
|
|
57
|
+
"@genesislcap/rollup-builder": "14.268.3",
|
|
58
|
+
"@genesislcap/ts-builder": "14.268.3",
|
|
59
|
+
"@genesislcap/uvu-playwright-builder": "14.268.3",
|
|
60
|
+
"@genesislcap/vite-builder": "14.268.3",
|
|
61
|
+
"@genesislcap/webpack-builder": "14.268.3",
|
|
62
62
|
"rimraf": "^5.0.0"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"@ag-grid-community/core": "29.2.0",
|
|
66
|
-
"@genesislcap/foundation-comms": "14.268.
|
|
67
|
-
"@genesislcap/foundation-errors": "14.268.
|
|
68
|
-
"@genesislcap/foundation-events": "14.268.
|
|
69
|
-
"@genesislcap/foundation-forms": "14.268.
|
|
70
|
-
"@genesislcap/foundation-logger": "14.268.
|
|
71
|
-
"@genesislcap/foundation-login": "14.268.
|
|
72
|
-
"@genesislcap/foundation-notifications": "14.268.
|
|
73
|
-
"@genesislcap/foundation-ui": "14.268.
|
|
74
|
-
"@genesislcap/foundation-utils": "14.268.
|
|
75
|
-
"@genesislcap/foundation-zero": "14.268.
|
|
76
|
-
"@genesislcap/foundation-zero-grid-pro": "14.268.
|
|
77
|
-
"@genesislcap/grid-pro": "14.268.
|
|
66
|
+
"@genesislcap/foundation-comms": "14.268.3",
|
|
67
|
+
"@genesislcap/foundation-errors": "14.268.3",
|
|
68
|
+
"@genesislcap/foundation-events": "14.268.3",
|
|
69
|
+
"@genesislcap/foundation-forms": "14.268.3",
|
|
70
|
+
"@genesislcap/foundation-logger": "14.268.3",
|
|
71
|
+
"@genesislcap/foundation-login": "14.268.3",
|
|
72
|
+
"@genesislcap/foundation-notifications": "14.268.3",
|
|
73
|
+
"@genesislcap/foundation-ui": "14.268.3",
|
|
74
|
+
"@genesislcap/foundation-utils": "14.268.3",
|
|
75
|
+
"@genesislcap/foundation-zero": "14.268.3",
|
|
76
|
+
"@genesislcap/foundation-zero-grid-pro": "14.268.3",
|
|
77
|
+
"@genesislcap/grid-pro": "14.268.3",
|
|
78
78
|
"@microsoft/fast-components": "2.30.6",
|
|
79
79
|
"@microsoft/fast-element": "1.14.0",
|
|
80
80
|
"@microsoft/fast-foundation": "2.49.6",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"access": "public"
|
|
92
92
|
},
|
|
93
93
|
"customElements": "dist/custom-elements.json",
|
|
94
|
-
"gitHead": "
|
|
94
|
+
"gitHead": "5adc8596d5fe7a96f5c3efe289a40d188f432b0e"
|
|
95
95
|
}
|