@softheon/armature 10.33.2 → 10.34.2
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 +81 -78
- package/bundles/softheon-armature.umd.js +74 -66
- package/bundles/softheon-armature.umd.js.map +1 -1
- package/bundles/softheon-armature.umd.min.js +1 -1
- package/bundles/softheon-armature.umd.min.js.map +1 -1
- package/esm2015/lib/alert-banner/alert-banner-api.js +1 -1
- package/esm2015/lib/alert-banner/alert-banner.module.js +1 -1
- package/esm2015/lib/alert-banner/components/alert-banner/alert-banner.component.js +1 -1
- package/esm2015/lib/alert-banner/models/alert-banner-config.js +1 -1
- package/esm2015/lib/alert-banner/models/alert-banner-context.js +1 -1
- package/esm2015/lib/alert-banner/models/constants.js +1 -1
- package/esm2015/lib/alert-banner/services/alert-banner.service.js +1 -1
- package/esm2015/lib/armature.module.js +1 -1
- package/esm2015/lib/base-components/base-component-api.js +1 -1
- package/esm2015/lib/base-components/base-component.module.js +1 -1
- package/esm2015/lib/base-components/sof-alert/sof-alert.component.js +1 -1
- package/esm2015/lib/base-components/sof-banner/sof-banner.component.js +1 -1
- package/esm2015/lib/base-components/sof-modal/sof-modal.component.js +1 -1
- package/esm2015/lib/base-components/sof-progress-bar/sof-progress-bar.component.js +3 -3
- package/esm2015/lib/core/client-generated/api/session.service.js +1 -1
- package/esm2015/lib/core/client-generated/configuration.js +1 -1
- package/esm2015/lib/core/client-generated/encoder.js +1 -1
- package/esm2015/lib/core/client-generated/model/applicationUserModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/assertedUserModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/brandingModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/errorModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/folderLink.js +1 -1
- package/esm2015/lib/core/client-generated/model/identityProfile.js +1 -1
- package/esm2015/lib/core/client-generated/model/models.js +1 -1
- package/esm2015/lib/core/client-generated/model/oAuthModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/preferencesRow.js +1 -1
- package/esm2015/lib/core/client-generated/model/rolesRow.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionGetResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPostRequestModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPostResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPutRequestModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionPutResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/sessionResponseModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/settingsProfile.js +1 -1
- package/esm2015/lib/core/client-generated/model/themePaletteColorsModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/themePaletteModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/trackingModel.js +1 -1
- package/esm2015/lib/core/client-generated/model/validationRecordsRow.js +1 -1
- package/esm2015/lib/core/client-generated/variables.js +1 -1
- package/esm2015/lib/core/components/app-template/app-template.component.js +1 -1
- package/esm2015/lib/core/functions/guid.js +1 -1
- package/esm2015/lib/core/functions/naming-convention.js +1 -1
- package/esm2015/lib/core/initializer/abstract-startup-service.js +1 -1
- package/esm2015/lib/core/initializer/initializer.service.js +2 -2
- package/esm2015/lib/core/interceptors/armature-auth-token-append.interceptor.js +1 -1
- package/esm2015/lib/core/models/base-config.js +1 -1
- package/esm2015/lib/core/models/constants.js +1 -1
- package/esm2015/lib/core/models/data-store-config.js +1 -1
- package/esm2015/lib/core/models/header-config.js +1 -1
- package/esm2015/lib/core/models/http-verbs.js +1 -1
- package/esm2015/lib/core/models/navigation-config.js +1 -1
- package/esm2015/lib/core/models/oidc-auth-settings.js +1 -1
- package/esm2015/lib/core/models/route-path.js +1 -1
- package/esm2015/lib/core/models/session-config.js +1 -1
- package/esm2015/lib/core/models/styles.js +1 -1
- package/esm2015/lib/core/models/typed-session.js +1 -1
- package/esm2015/lib/core/models/user-entity-service-config.js +1 -1
- package/esm2015/lib/core/services/authorization.service.js +1 -1
- package/esm2015/lib/core/services/banner.service.js +1 -1
- package/esm2015/lib/core/services/base-config.service.js +1 -1
- package/esm2015/lib/core/services/custom-auth-config.service.js +1 -1
- package/esm2015/lib/core/services/default-config.service.js +1 -1
- package/esm2015/lib/core/services/session.service.js +1 -1
- package/esm2015/lib/core/services/user-entity.service.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/api/api.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/api/cache.service.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/configuration.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/encoder.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/cacheExpirationType.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/models.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.js +1 -1
- package/esm2015/lib/distributed-cache/client-generated/variables.js +1 -1
- package/esm2015/lib/distributed-cache/distributed-cache-api.js +1 -1
- package/esm2015/lib/distributed-cache/distributed-cache.module.js +1 -1
- package/esm2015/lib/distributed-cache/models/constants.js +1 -1
- package/esm2015/lib/distributed-cache/models/policy-person.js +1 -1
- package/esm2015/lib/distributed-cache/services/server-cache.service.js +1 -1
- package/esm2015/lib/error/components/error-common/error-common.component.js +1 -1
- package/esm2015/lib/error/error-api.js +1 -1
- package/esm2015/lib/error/error.module.js +1 -1
- package/esm2015/lib/error/models/error-common-config.js +1 -1
- package/esm2015/lib/faq/components/faq/faq.component.js +1 -1
- package/esm2015/lib/faq/faq-api.js +1 -1
- package/esm2015/lib/faq/faq.module.js +1 -1
- package/esm2015/lib/faq/models/faq-config.js +1 -1
- package/esm2015/lib/faq/models/faq.js +1 -1
- package/esm2015/lib/footer/components/footer/footer.component.js +1 -1
- package/esm2015/lib/footer/components/site-map/site-map.component.js +1 -1
- package/esm2015/lib/footer/footer-api.js +1 -1
- package/esm2015/lib/footer/footer.module.js +1 -1
- package/esm2015/lib/footer/models/enum/site-map-direction.js +1 -1
- package/esm2015/lib/footer/models/footer-config.js +1 -1
- package/esm2015/lib/footer/models/site-map-models.js +1 -1
- package/esm2015/lib/forms/components/sof-address/sof-address.component.js +1 -1
- package/esm2015/lib/forms/directives/alphanumeric/alphanumeric.directive.js +1 -1
- package/esm2015/lib/forms/directives/letters-only/letters-only.directive.js +1 -1
- package/esm2015/lib/forms/directives/numbers-only/numbers-only.directive.js +1 -1
- package/esm2015/lib/forms/forms-api.js +1 -1
- package/esm2015/lib/forms/forms.module.js +1 -1
- package/esm2015/lib/forms/models/address.js +1 -1
- package/esm2015/lib/forms/models/constants.js +1 -1
- package/esm2015/lib/forms/models/county.js +1 -1
- package/esm2015/lib/forms/models/enums/states.js +1 -1
- package/esm2015/lib/forms/pipes/phone-format.pipe.js +1 -1
- package/esm2015/lib/forms/services/alert.service.js +1 -1
- package/esm2015/lib/header/components/header/header.component.js +1 -1
- package/esm2015/lib/header/components/mobile-header-menu/mobile-header-menu.component.js +1 -1
- package/esm2015/lib/header/header-api.js +1 -1
- package/esm2015/lib/header/header.module.js +1 -1
- package/esm2015/lib/header/models/header-auth.settings.js +1 -1
- package/esm2015/lib/header/models/header-language.settings.js +1 -1
- package/esm2015/lib/header/models/header-theme.settings.js +1 -1
- package/esm2015/lib/header/models/header.settings.js +1 -1
- package/esm2015/lib/header/models/mobile-header-nav.settings.js +1 -1
- package/esm2015/lib/navigation/components/navigation/navigation.component.js +72 -64
- package/esm2015/lib/navigation/models/nav-theme.settings.js +1 -1
- package/esm2015/lib/navigation/models/nav.settings.js +1 -1
- package/esm2015/lib/navigation/models/navigation.js +1 -1
- package/esm2015/lib/navigation/navigation-api.js +1 -1
- package/esm2015/lib/navigation/navigation.module.js +1 -1
- package/esm2015/lib/oauth/models/constants.js +1 -1
- package/esm2015/lib/oauth/models/generated/accountManagementAssertionModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/accountManagementRefreshRequestModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/accountManagementResponseModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/coverageDetail.js +1 -1
- package/esm2015/lib/oauth/models/generated/finance.js +1 -1
- package/esm2015/lib/oauth/models/generated/iSsoResponseModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.js +1 -1
- package/esm2015/lib/oauth/models/generated/person.js +1 -1
- package/esm2015/lib/oauth/models/generated/policy.js +1 -1
- package/esm2015/lib/oauth/models/generated/refreshResponseModel.js +1 -1
- package/esm2015/lib/oauth/models/hybrid-saml-oauth-config.js +1 -1
- package/esm2015/lib/oauth/oauth-api.js +1 -1
- package/esm2015/lib/oauth/oauth.module.js +1 -1
- package/esm2015/lib/oauth/services/hybrid-saml-oauth.service.js +1 -1
- package/esm2015/lib/rbac/directives/rbac-action.directive.js +1 -1
- package/esm2015/lib/rbac/models/access-token-claims.js +1 -1
- package/esm2015/lib/rbac/models/constants.js +1 -1
- package/esm2015/lib/rbac/models/decoded-access-token.js +1 -1
- package/esm2015/lib/rbac/models/rbac-config.js +1 -1
- package/esm2015/lib/rbac/models/role-access.js +1 -1
- package/esm2015/lib/rbac/rbac-api.js +1 -1
- package/esm2015/lib/rbac/rbac.module.js +1 -1
- package/esm2015/lib/rbac/services/ar-role-nav.service.js +1 -1
- package/esm2015/lib/rbac/services/oauth2-role.service.js +1 -1
- package/esm2015/lib/rbac/services/role-nav.service.js +1 -1
- package/esm2015/lib/rum/models/arm-error.js +1 -1
- package/esm2015/lib/rum/models/rum-config.js +1 -1
- package/esm2015/lib/rum/rum-api.js +1 -1
- package/esm2015/lib/rum/rum.module.js +1 -1
- package/esm2015/lib/rum/services/rum.service.js +1 -1
- package/esm2015/lib/rum/services/shared-error.service.js +1 -1
- package/esm2015/lib/rum/services/softheon-error-handler.service.js +1 -1
- package/esm2015/lib/saml/components/redirect-saml/redirect-saml.component.js +1 -1
- package/esm2015/lib/saml/models/i-saml-request.js +1 -1
- package/esm2015/lib/saml/models/i-saml-response.js +1 -1
- package/esm2015/lib/saml/models/redirect-saml-request.js +1 -1
- package/esm2015/lib/saml/models/sso-gateway-model.js +1 -1
- package/esm2015/lib/saml/saml-api.js +1 -1
- package/esm2015/lib/saml/saml.module.js +1 -1
- package/esm2015/lib/saml/services/entry/abstract-saml-entry.service.js +1 -1
- package/esm2015/lib/saml/services/entry/sso-gateway-entry.service.js +1 -1
- package/esm2015/lib/saml/services/send-off/abstract-saml.service.js +1 -1
- package/esm2015/lib/saml/services/send-off/saml.service.js +1 -1
- package/esm2015/lib/sof-pipe/constants/constants.js +1 -1
- package/esm2015/lib/sof-pipe/models/sof-date-pipe-format.js +1 -1
- package/esm2015/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.js +1 -1
- package/esm2015/lib/sof-pipe/pipes/sof-date/sof-date.pipe.js +1 -1
- package/esm2015/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.js +1 -1
- package/esm2015/lib/sof-pipe/sof-pipe.api.js +1 -1
- package/esm2015/lib/sof-pipe/sof-pipe.module.js +1 -1
- package/esm2015/lib/theming/directives/css-override.directive.js +1 -1
- package/esm2015/lib/theming/models/css-override.js +1 -1
- package/esm2015/lib/theming/services/theme.service.js +1 -1
- package/esm2015/lib/theming/theme-api.js +1 -1
- package/esm2015/lib/theming/theme.module.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/esm2015/softheon-armature.js +1 -1
- package/fesm2015/softheon-armature.js +75 -67
- package/fesm2015/softheon-armature.js.map +1 -1
- package/lib/navigation/components/navigation/navigation.component.d.ts +12 -8
- package/package.json +2 -2
- package/softheon-armature.metadata.json +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
This document is also available on [Softheon Wiki](https://wiki.softheon.com/Wiki/article/3861)
|
|
2
|
-
|
|
3
1
|
# Getting started
|
|
4
2
|
|
|
3
|
+
This document is also available on [Softheon Wiki](https://wiki.softheon.com/Wiki/article/3861)
|
|
4
|
+
|
|
5
5
|
## Step 1 - Create an empty project with the correct dependencies
|
|
6
6
|
|
|
7
7
|
To create a project targeting angular 10, in the directory you wish to create your project in, run `npm i @angular/cli@10`, once the command completes, run `ng new your-project-name`. This will create an angular project with the latest stable version of angular 10
|
|
@@ -31,7 +31,7 @@ After these have been installed, run the following to install armature `npm i @s
|
|
|
31
31
|
|
|
32
32
|
Include the `HttpClientModule` in the imports of your `app.module.ts`.
|
|
33
33
|
|
|
34
|
-
## Step 2 -
|
|
34
|
+
## Step 2 -Armature Set Up
|
|
35
35
|
|
|
36
36
|
### 2.1 Configurations
|
|
37
37
|
|
|
@@ -265,6 +265,7 @@ If you wish to provide additional header content, the following ng-content selec
|
|
|
265
265
|
</ng-container>
|
|
266
266
|
</sof-ar-app-template>
|
|
267
267
|
```
|
|
268
|
+
|
|
268
269
|
### Banner service
|
|
269
270
|
|
|
270
271
|
If you want notification banner you may want to use to banner service and use show message method on specific action that you want.
|
|
@@ -273,7 +274,11 @@ If you want notification banner you may want to use to banner service and use sh
|
|
|
273
274
|
this.bannerService.showMessage('Example-Banner-Message');
|
|
274
275
|
```
|
|
275
276
|
|
|
276
|
-
|
|
277
|
+
## Step 3 - Shared Component & Styling
|
|
278
|
+
|
|
279
|
+
Check out the [Armature Documentation]() site for more information on how to use our shared components & styling.
|
|
280
|
+
|
|
281
|
+
## Theme Module
|
|
277
282
|
|
|
278
283
|
In order to use the theme module, in your app.module, add the `ThemeModule` to the imports.
|
|
279
284
|
|
|
@@ -399,17 +404,17 @@ export class MyClass {
|
|
|
399
404
|
}
|
|
400
405
|
```
|
|
401
406
|
|
|
402
|
-
|
|
407
|
+
### Colors with opacity
|
|
403
408
|
|
|
404
409
|
The theme palettes all offer a rgb value through css variables, the following naming convention is used `--{{palette}}-color-{{partsNumber}}-parts-rgb`. So in order to get an opacity of .2 on the primary color, 500 parts the following css can be used
|
|
405
410
|
|
|
406
411
|
`rgba(var(--primary-color-500-parts-rgb), .2)`
|
|
407
412
|
|
|
408
|
-
|
|
413
|
+
## Armature Navigation
|
|
409
414
|
|
|
410
415
|
`<sof-ar-navigation></sof-ar-navigation>` is a mobile-responsive navigation component. It structures the application view content to the right and the navigation to the left.
|
|
411
416
|
|
|
412
|
-
|
|
417
|
+
### Navigation Setup Overview
|
|
413
418
|
|
|
414
419
|
1. npm install
|
|
415
420
|
2. Import the armature Module into your app.module.ts 'imports'.
|
|
@@ -450,7 +455,7 @@ The theme palettes all offer a rgb value through css variables, the following na
|
|
|
450
455
|
6. Configure the CSS customizations in your styles.css for the menu button on mobile
|
|
451
456
|
7. Note helper class, `'visible-mobile'` which will hide html on desktop by applying `display: none;`.
|
|
452
457
|
|
|
453
|
-
|
|
458
|
+
### Navigation Module Setup
|
|
454
459
|
|
|
455
460
|
Module.ts:
|
|
456
461
|
|
|
@@ -470,13 +475,13 @@ import { ArmatureModule } from '@softheon/armature';
|
|
|
470
475
|
|
|
471
476
|
```
|
|
472
477
|
|
|
473
|
-
|
|
478
|
+
### Navigation Typescript Configurations
|
|
474
479
|
|
|
475
480
|
Import the necessary models from the npm package and configure the navigation component inputs in your Angular typescript component. We recommend you do this `ngOnInit()`.
|
|
476
481
|
|
|
477
482
|
There will be 3 inputs to configure the navigation. Configure the Armature Component Navigation Data `[navigationData]`, its settings `[settings]`, and its color theme `[themeSettings]`.
|
|
478
483
|
|
|
479
|
-
|
|
484
|
+
#### NavigationData
|
|
480
485
|
|
|
481
486
|
> **TIP:** The navigation data text supports both ngx-translate keys and string literals.
|
|
482
487
|
|
|
@@ -493,7 +498,7 @@ The navigation data consists of an array of `NavNode`s:
|
|
|
493
498
|
2. `route` - the sub-node route
|
|
494
499
|
3. `stepContent` (optional) - only used in stepper mode, provide information about the current step
|
|
495
500
|
|
|
496
|
-
|
|
501
|
+
#### Settings
|
|
497
502
|
|
|
498
503
|
The `[settings]` required input receives a `NavigationSettings` object in order to configure your navigation.
|
|
499
504
|
|
|
@@ -522,7 +527,7 @@ The `[settings]` required input receives a `NavigationSettings` object in order
|
|
|
522
527
|
23. `toggleProgressNavChildIndex` the custom child node index to be set when menu style is toggled to progress navigation
|
|
523
528
|
24. `allowNavToggle` whether to allow navigation toggle
|
|
524
529
|
|
|
525
|
-
|
|
530
|
+
#### Theme Settings
|
|
526
531
|
|
|
527
532
|
The `[themeSettings]` - required input receives a `ThemeSettings` object in order to colorize your navigation.
|
|
528
533
|
|
|
@@ -539,7 +544,7 @@ The `[themeSettings]` - required input receives a `ThemeSettings` object in orde
|
|
|
539
544
|
9. `subHighlightBorderColor` the SubNav highlight border color
|
|
540
545
|
10. `subHighlightBgColor` the SubNav highlight bg color
|
|
541
546
|
|
|
542
|
-
|
|
547
|
+
#### Example
|
|
543
548
|
|
|
544
549
|
```typescript
|
|
545
550
|
/** On Init */
|
|
@@ -644,7 +649,7 @@ The `[themeSettings]` - required input receives a `ThemeSettings` object in orde
|
|
|
644
649
|
}
|
|
645
650
|
```
|
|
646
651
|
|
|
647
|
-
|
|
652
|
+
### Navigation HTML Setup
|
|
648
653
|
|
|
649
654
|
Add component to your `app.component.html` file. The component has 3 ng-content parts:
|
|
650
655
|
|
|
@@ -654,7 +659,7 @@ Add component to your `app.component.html` file. The component has 3 ng-content
|
|
|
654
659
|
|
|
655
660
|
> **TIP** Be sure to place the `sof-ar-navigation` component immediately after (under) your toolbar / header.
|
|
656
661
|
|
|
657
|
-
|
|
662
|
+
#### Example
|
|
658
663
|
|
|
659
664
|
```html
|
|
660
665
|
<sof-ar-navigation [navigationData]="exampleNav" [settings]="exampleSettings">
|
|
@@ -689,9 +694,9 @@ Add component to your `app.component.html` file. The component has 3 ng-content
|
|
|
689
694
|
</sof-ar-navigation>
|
|
690
695
|
```
|
|
691
696
|
|
|
692
|
-
|
|
697
|
+
### Additional Styling Customizations
|
|
693
698
|
|
|
694
|
-
|
|
699
|
+
#### Sticky Header
|
|
695
700
|
|
|
696
701
|
To make the header sticky on mobile, add the class 'sof-ar-fixed-nav' to your header component.
|
|
697
702
|
i.e.
|
|
@@ -700,7 +705,7 @@ i.e.
|
|
|
700
705
|
<div class="toolbar header-menu-padding sof-ar-fixed-nav" role="banner">
|
|
701
706
|
```
|
|
702
707
|
|
|
703
|
-
|
|
708
|
+
#### Mobile Menu Icon
|
|
704
709
|
|
|
705
710
|
You will have to create a mobile only class for your document that adds the appropriate padding to your header on mobile.
|
|
706
711
|
|
|
@@ -714,7 +719,7 @@ i.e.:
|
|
|
714
719
|
}
|
|
715
720
|
```
|
|
716
721
|
|
|
717
|
-
|
|
722
|
+
#### Mobile Menu Icon customizations
|
|
718
723
|
|
|
719
724
|
Custom styling for the icon depending on the header height:
|
|
720
725
|
|
|
@@ -738,7 +743,7 @@ Custom styling for the icon depending on the header height:
|
|
|
738
743
|
}
|
|
739
744
|
```
|
|
740
745
|
|
|
741
|
-
|
|
746
|
+
#### Additional Tips
|
|
742
747
|
|
|
743
748
|
Add the class `custom-nav` to the `mat-nav-list` div to hide the lines between each list item.
|
|
744
749
|
|
|
@@ -766,11 +771,11 @@ i.e.
|
|
|
766
771
|
|
|
767
772
|
---
|
|
768
773
|
|
|
769
|
-
|
|
774
|
+
## Armature Header
|
|
770
775
|
|
|
771
776
|
`<sof-ar-header></sof-ar-header>` is a mobile-responsive header component.
|
|
772
777
|
|
|
773
|
-
|
|
778
|
+
### Header Setup Overview
|
|
774
779
|
|
|
775
780
|
1. npm install
|
|
776
781
|
2. Import the armature Module into your app.module.ts 'imports'.
|
|
@@ -802,7 +807,7 @@ i.e.
|
|
|
802
807
|
5. `borderBottomColor` The color of the bottom border for the header
|
|
803
808
|
6. `borderBottomSize` The size of teh bottom border for the header
|
|
804
809
|
|
|
805
|
-
|
|
810
|
+
### Header Module Setup
|
|
806
811
|
|
|
807
812
|
Module.ts:
|
|
808
813
|
|
|
@@ -821,7 +826,7 @@ import { ArmatureModule } from '@softheon/armature';
|
|
|
821
826
|
})
|
|
822
827
|
```
|
|
823
828
|
|
|
824
|
-
|
|
829
|
+
#### Header Typescript Component Setup
|
|
825
830
|
|
|
826
831
|
Import the necessary models from the npm package and configure the navigation component inputs in your Angular typescript component. We recommend you do this `ngOnInit()`.
|
|
827
832
|
|
|
@@ -853,7 +858,7 @@ These settings will display the header with a logo.
|
|
|
853
858
|
};
|
|
854
859
|
```
|
|
855
860
|
|
|
856
|
-
|
|
861
|
+
### Header HTML Setup
|
|
857
862
|
|
|
858
863
|
Add component to your `app.component.html` file. The component has 4 ng-content parts:
|
|
859
864
|
|
|
@@ -916,9 +921,9 @@ Add component to your `app.component.html` file. The component has 4 ng-content
|
|
|
916
921
|
</sof-ar-navigation>
|
|
917
922
|
```
|
|
918
923
|
|
|
919
|
-
|
|
924
|
+
### Header Styling Tips
|
|
920
925
|
|
|
921
|
-
|
|
926
|
+
#### Menu List Borders
|
|
922
927
|
|
|
923
928
|
Use the class `sof-ar-header-menu-border` to add a border to your menu list items.
|
|
924
929
|
|
|
@@ -930,7 +935,7 @@ Example:
|
|
|
930
935
|
</a>
|
|
931
936
|
```
|
|
932
937
|
|
|
933
|
-
|
|
938
|
+
#### Icon & Font Theming
|
|
934
939
|
|
|
935
940
|
`ng-content` icon and font themeing will be handled outside of the component library.
|
|
936
941
|
|
|
@@ -965,11 +970,11 @@ Example:
|
|
|
965
970
|
</div>
|
|
966
971
|
```
|
|
967
972
|
|
|
968
|
-
|
|
973
|
+
## Armature Footer Component
|
|
969
974
|
|
|
970
975
|
`<sof-ar-footer></sof-ar-footer>` is a mobile-responsive footer shell component that is populated via ng-conent.
|
|
971
976
|
|
|
972
|
-
|
|
977
|
+
### Footer Setup Overview
|
|
973
978
|
|
|
974
979
|
1. npm install
|
|
975
980
|
2. Import the armature Module into your app.module.ts 'imports'
|
|
@@ -978,7 +983,7 @@ Example:
|
|
|
978
983
|
1. `sof-ar-footer-content` this is for custom content in the footer
|
|
979
984
|
5. Add footer content buttons to ng-content placeholder & stylize
|
|
980
985
|
|
|
981
|
-
|
|
986
|
+
### Footer Module Setup
|
|
982
987
|
|
|
983
988
|
Module.ts:
|
|
984
989
|
|
|
@@ -997,11 +1002,11 @@ import { ArmatureModule } from '@softheon/armature';
|
|
|
997
1002
|
})
|
|
998
1003
|
```
|
|
999
1004
|
|
|
1000
|
-
|
|
1005
|
+
### Footer Typescript Component Setup
|
|
1001
1006
|
|
|
1002
1007
|
N/A. There is no Typescript models associated with this component.
|
|
1003
1008
|
|
|
1004
|
-
|
|
1009
|
+
### Footer HTML Setup
|
|
1005
1010
|
|
|
1006
1011
|
Add component to your `app.component.html` file.
|
|
1007
1012
|
|
|
@@ -1013,7 +1018,7 @@ The component has 1 ng-content part:
|
|
|
1013
1018
|
|
|
1014
1019
|
> **TIP** Be sure to place the `sof-ar-footer` inside the `sof-ar-nav-content` ng-content in the `sof-ar-navigation` component and after the router outlet.
|
|
1015
1020
|
|
|
1016
|
-
|
|
1021
|
+
### Additional Footer Sections
|
|
1017
1022
|
|
|
1018
1023
|
There are two pre footer sections that are optional and disabled by default. These both use ng content with their own selectors. Follow the steps below to use the pre footer sections
|
|
1019
1024
|
|
|
@@ -1065,7 +1070,7 @@ Example:
|
|
|
1065
1070
|
</sof-ar-navigation>
|
|
1066
1071
|
```
|
|
1067
1072
|
|
|
1068
|
-
|
|
1073
|
+
### Footer Styling Tips
|
|
1069
1074
|
|
|
1070
1075
|
The footer ng-content is wrapped in a flex-box row container with `flex-wrap: wrap`. Below are some pre-built helper classes that can be applied to stylize your footer.
|
|
1071
1076
|
|
|
@@ -1088,7 +1093,7 @@ The footer ng-content is wrapped in a flex-box row container with `flex-wrap: wr
|
|
|
1088
1093
|
}
|
|
1089
1094
|
```
|
|
1090
1095
|
|
|
1091
|
-
|
|
1096
|
+
### Fixed Footer Styling Tips
|
|
1092
1097
|
|
|
1093
1098
|
Here is an example CSS that can be added to your styles.css to style a fixed footer:
|
|
1094
1099
|
|
|
@@ -1114,11 +1119,11 @@ sof-ar-footer, .sof-ar-footer-container button {
|
|
|
1114
1119
|
}
|
|
1115
1120
|
```
|
|
1116
1121
|
|
|
1117
|
-
|
|
1122
|
+
## Armature Site Map
|
|
1118
1123
|
|
|
1119
1124
|
`<sof-ar-site-map></sof-ar-site-map>` is a site map that goes into the footer.
|
|
1120
1125
|
|
|
1121
|
-
|
|
1126
|
+
### Armature Site Map Setup Overview
|
|
1122
1127
|
|
|
1123
1128
|
1. npm install
|
|
1124
1129
|
2. Import the armature Module into your app.module.ts 'imports'.
|
|
@@ -1138,7 +1143,7 @@ sof-ar-footer, .sof-ar-footer-container button {
|
|
|
1138
1143
|
4. `linkClass` the specific class that will take effect in place of the global `linkClass`.
|
|
1139
1144
|
5. `logoClass` the awesomefont class for the logo
|
|
1140
1145
|
|
|
1141
|
-
|
|
1146
|
+
### Site Map Module Setup
|
|
1142
1147
|
|
|
1143
1148
|
Module.ts:
|
|
1144
1149
|
|
|
@@ -1157,7 +1162,7 @@ import { ArmatureModule } from '@softheon/armature';
|
|
|
1157
1162
|
})
|
|
1158
1163
|
```
|
|
1159
1164
|
|
|
1160
|
-
|
|
1165
|
+
#### Site Map Typescript Component Setup
|
|
1161
1166
|
|
|
1162
1167
|
Import the necessary models from the npm package and configure the site map component inputs in your Angular typescript component. We recommend you do this `ngOnInit()`.
|
|
1163
1168
|
|
|
@@ -1256,7 +1261,7 @@ This next configuration will contain a horizontal aligned icon links that has a
|
|
|
1256
1261
|
}
|
|
1257
1262
|
```
|
|
1258
1263
|
|
|
1259
|
-
|
|
1264
|
+
### Site Map HTML Setup
|
|
1260
1265
|
|
|
1261
1266
|
It is recommended to use this component inside armature footer `sof-ar-footer` in one of the ng containers `sof-ar-footer-content`, `sof-ar-footer-pre-content-1` or `sof-ar-footer-pre-content-2`
|
|
1262
1267
|
|
|
@@ -1274,9 +1279,9 @@ It is recommended to use this component inside armature footer `sof-ar-footer` i
|
|
|
1274
1279
|
</sof-ar-footer>
|
|
1275
1280
|
```
|
|
1276
1281
|
|
|
1277
|
-
|
|
1282
|
+
### Site Map Styling Tips
|
|
1278
1283
|
|
|
1279
|
-
|
|
1284
|
+
#### Styling the columns
|
|
1280
1285
|
|
|
1281
1286
|
You can override the `sof-ar-site-map-column` class to customize the columns in the site map.
|
|
1282
1287
|
|
|
@@ -1288,7 +1293,7 @@ Example:
|
|
|
1288
1293
|
}
|
|
1289
1294
|
```
|
|
1290
1295
|
|
|
1291
|
-
|
|
1296
|
+
#### Custom class styling config input
|
|
1292
1297
|
|
|
1293
1298
|
Custom classes passed in the component config should be defined in the component that utilizes the `sof-ar-site-map`. For example if class 'link-container' is passed in the linkClass config, you can define it in the stylesheet of the host component. In the following example, it shows how you create padding for the link and change the color for the text in the link.
|
|
1294
1299
|
|
|
@@ -1304,18 +1309,18 @@ Example:
|
|
|
1304
1309
|
}
|
|
1305
1310
|
```
|
|
1306
1311
|
|
|
1307
|
-
|
|
1312
|
+
## Armature Alert Banner
|
|
1308
1313
|
|
|
1309
1314
|
`<sof-ar-alert-banner></sof-ar-alert-banner>` is an alert banner on the navigation content. There are 4 types of banner, error, information, warn, success and 2 type of styles outline and filled.
|
|
1310
1315
|
|
|
1311
|
-
|
|
1316
|
+
### Alert Banner Setup Overview
|
|
1312
1317
|
|
|
1313
1318
|
1. npm install
|
|
1314
1319
|
2. Import the armature Module into your app.module.ts 'imports'
|
|
1315
1320
|
3. There are no typescript models associated with this component, skip this step
|
|
1316
1321
|
4. Add Armature component `sof-ar-alert-banner` to HTML component
|
|
1317
1322
|
|
|
1318
|
-
|
|
1323
|
+
### Alert Banner Module Setup
|
|
1319
1324
|
|
|
1320
1325
|
Module.ts:
|
|
1321
1326
|
|
|
@@ -1334,7 +1339,7 @@ import { ArmatureModule } from '@softheon/armature';
|
|
|
1334
1339
|
})
|
|
1335
1340
|
```
|
|
1336
1341
|
|
|
1337
|
-
|
|
1342
|
+
### Alert Banner Component Setup
|
|
1338
1343
|
|
|
1339
1344
|
There is an optional config provider `ALERT_BANNER_CONFIG` with custom theming options.
|
|
1340
1345
|
|
|
@@ -1350,7 +1355,7 @@ There is an optional config provider `ALERT_BANNER_CONFIG` with custom theming o
|
|
|
1350
1355
|
})
|
|
1351
1356
|
```
|
|
1352
1357
|
|
|
1353
|
-
|
|
1358
|
+
#### Alert Banner Config Guide
|
|
1354
1359
|
|
|
1355
1360
|
The alert config is structured as follow: the border and icon `lineColor`, the sidebar color for outlined banner `outlineSidebar` and the background color for filled banner `filledBackground`. Inside each of those there are the 4 type of banner: `error`, `information`, `success`, and `warn`.
|
|
1356
1361
|
|
|
@@ -1374,7 +1379,7 @@ The alert config is structured as follow: the border and icon `lineColor`, the s
|
|
|
1374
1379
|
};
|
|
1375
1380
|
```
|
|
1376
1381
|
|
|
1377
|
-
|
|
1382
|
+
### Alert Service
|
|
1378
1383
|
|
|
1379
1384
|
On the sof-ar-app-template, there is a built in alert banner that can be used and can be turned off if `hasAlertBanner` is set to false. If hasAlertBanner is true, then the AlertBannerService can be leveraged to show alert messages.
|
|
1380
1385
|
|
|
@@ -1383,30 +1388,29 @@ On the sof-ar-app-template, there is a built in alert banner that can be used an
|
|
|
1383
1388
|
</sof-ar-app-template>
|
|
1384
1389
|
```
|
|
1385
1390
|
|
|
1386
|
-
|
|
1387
|
-
# Hybrid SAML OAuth Service
|
|
1391
|
+
## Hybrid SAML OAuth Service
|
|
1388
1392
|
|
|
1389
1393
|
The Hybrid SAML OAuth Service allows for the management of the local/session storage containing saml assertion data and an OAuth 2.0 access token.
|
|
1390
1394
|
|
|
1391
|
-
|
|
1395
|
+
### Injection Tokens
|
|
1392
1396
|
|
|
1393
|
-
|
|
1397
|
+
#### InjectionTokens.keyPathSuffix - required
|
|
1394
1398
|
|
|
1395
1399
|
Provides the suffix that will be used when retrieving data from local/session storage
|
|
1396
1400
|
|
|
1397
|
-
|
|
1401
|
+
#### InjectionTokens.window - required
|
|
1398
1402
|
|
|
1399
1403
|
Provides the window object to the service
|
|
1400
1404
|
|
|
1401
|
-
|
|
1405
|
+
#### InjectionTokens.tokenEndpoint - required
|
|
1402
1406
|
|
|
1403
1407
|
The endpoint to be used for refreshing the access token
|
|
1404
1408
|
|
|
1405
|
-
|
|
1409
|
+
#### GlobalInjectionTokens.tokenRefreshTimeMinutes - optional
|
|
1406
1410
|
|
|
1407
1411
|
Amount of time to wait before refreshing the access token. The default is 30 min
|
|
1408
1412
|
|
|
1409
|
-
|
|
1413
|
+
#### InjectionTokens.browserStorageImplementation - optional
|
|
1410
1414
|
|
|
1411
1415
|
Potential values:
|
|
1412
1416
|
`local` | `session`
|
|
@@ -1415,13 +1419,13 @@ This injection token determines what implementation of browser storage will be s
|
|
|
1415
1419
|
|
|
1416
1420
|
When using `session` the value that is provided through local storage will be moved into session storage. After this is done the entry in local storage will be removed.
|
|
1417
1421
|
|
|
1418
|
-
|
|
1422
|
+
## Armature Role Based Navigation
|
|
1419
1423
|
|
|
1420
1424
|
The Armature Role Based Navigation allow a configuration to be provided indicating the roles allowed in the application and the pages/actions the roles have access to. The roles for a given user are determined through the use of an OAuth2.0 access tokens and a user info endpoint.
|
|
1421
1425
|
|
|
1422
1426
|
RBAC stands for Role Based Access Control
|
|
1423
1427
|
|
|
1424
|
-
|
|
1428
|
+
### Configuration
|
|
1425
1429
|
|
|
1426
1430
|
Below is an example configuration for defining roles.
|
|
1427
1431
|
|
|
@@ -1476,7 +1480,7 @@ If a user has multiple roles, the access for all of their roles will be merged.
|
|
|
1476
1480
|
|
|
1477
1481
|
If no role is found, no access is provided
|
|
1478
1482
|
|
|
1479
|
-
|
|
1483
|
+
#### Rbac Action Directive
|
|
1480
1484
|
|
|
1481
1485
|
The Role service also support a directive for showing or hiding items based on role and actions. Actions are string provided in the RBAC config that can be used through the project in the form of a directive. And example of the usage can be seen below
|
|
1482
1486
|
|
|
@@ -1493,7 +1497,7 @@ The button listed above will only be visible when the role of the current user h
|
|
|
1493
1497
|
|
|
1494
1498
|
If the role of the user doesn't have access to the action, the html element will not be displayed to them
|
|
1495
1499
|
|
|
1496
|
-
|
|
1500
|
+
### Navigation Set up
|
|
1497
1501
|
|
|
1498
1502
|
To use the navigation follow the steps below, these are for integrating the role control with Armature Navigation Module and configurations.
|
|
1499
1503
|
|
|
@@ -1526,7 +1530,7 @@ this.oAuthRoleService.decodedToken$.subscribe(token => {
|
|
|
1526
1530
|
});
|
|
1527
1531
|
```
|
|
1528
1532
|
|
|
1529
|
-
|
|
1533
|
+
## Custom Auth Config
|
|
1530
1534
|
|
|
1531
1535
|
If an application need to switch to a different issuer for auth and requires custom logic there is a CustomAuthConfigService the application can define and setup Auth for logins.
|
|
1532
1536
|
|
|
@@ -1542,8 +1546,7 @@ If an application need to switch to a different issuer for auth and requires cus
|
|
|
1542
1546
|
]
|
|
1543
1547
|
```
|
|
1544
1548
|
|
|
1545
|
-
|
|
1546
|
-
# Elastic RUM set up
|
|
1549
|
+
## Elastic RUM set up
|
|
1547
1550
|
|
|
1548
1551
|
In order to include RUM error handling and Route watching, the following should be included in your `app.module`
|
|
1549
1552
|
|
|
@@ -1610,25 +1613,25 @@ Replace the `serverUrl` with your apm/rum server and replace the `serviceName` w
|
|
|
1610
1613
|
|
|
1611
1614
|
The `initializeRum` function provides an optional parameter for a user. By default it utilizes the armature sessionId for the userName and userId, these can be customized if desired by providing the optional values to the function.
|
|
1612
1615
|
|
|
1613
|
-
|
|
1616
|
+
### Error Handler
|
|
1614
1617
|
|
|
1615
1618
|
This module comes with an error handler built in, that will package errors and ship them to RUM. There are two ways it looks for errors. Angular errors, such as http request failures, get captured by the `RumErrorHandler` instead of the default and get shipped to RUM.
|
|
1616
1619
|
|
|
1617
1620
|
The second looks at any calls being made to console.error and intercepts them. It takes the error, passes it through the error handler, which will submit the error to RUM, then lets the error be logged to the console.
|
|
1618
1621
|
|
|
1619
|
-
|
|
1622
|
+
#### Softheon Error Handler
|
|
1620
1623
|
|
|
1621
1624
|
For instances where RUM has not been set up or there are problems connecting, the softheon error handler has been introduced. By using this service errors are shipped to a provided api endpoint and can be handled by that given endpoint. Logs are shipped in the string format.
|
|
1622
1625
|
|
|
1623
1626
|
The default log level is `Warn`.
|
|
1624
1627
|
|
|
1625
|
-
|
|
1628
|
+
## Error Module
|
|
1626
1629
|
|
|
1627
|
-
|
|
1630
|
+
### Error Common Component
|
|
1628
1631
|
|
|
1629
1632
|
In order to use this component please import the `ErrorModule` into the parent module the component is being used in
|
|
1630
1633
|
|
|
1631
|
-
|
|
1634
|
+
#### Overview
|
|
1632
1635
|
|
|
1633
1636
|
This component provides a generic error display that can be used for a wide variety of errors. In order to use the component, first create the configuration object for it in your typescript
|
|
1634
1637
|
|
|
@@ -1675,15 +1678,15 @@ In this example the css classes look as follows to apply colors to the text
|
|
|
1675
1678
|
}
|
|
1676
1679
|
```
|
|
1677
1680
|
|
|
1678
|
-
|
|
1681
|
+
#### API
|
|
1679
1682
|
|
|
1680
|
-
|
|
1683
|
+
##### ErrorCommonComponent
|
|
1681
1684
|
|
|
1682
1685
|
| Name | Description |
|
|
1683
1686
|
| ------------------------------------------- | -------------------------------------------------------------------- |
|
|
1684
1687
|
| `@Input() public config: ErrorCommonConfig` | The configuration input to be used for rendering the error component |
|
|
1685
1688
|
|
|
1686
|
-
|
|
1689
|
+
##### ErrorCommonConfig
|
|
1687
1690
|
|
|
1688
1691
|
| Name | Description |
|
|
1689
1692
|
| ------------------------- | -------------------------------------------------------------------- |
|
|
@@ -1696,11 +1699,11 @@ In this example the css classes look as follows to apply colors to the text
|
|
|
1696
1699
|
| `infoText: string` | The info text for the error component |
|
|
1697
1700
|
| `infoTextClass: string` | Space delimitated classes to be applied to the info text |
|
|
1698
1701
|
|
|
1699
|
-
|
|
1702
|
+
## CSS Overrides
|
|
1700
1703
|
|
|
1701
1704
|
This section will describe how to utilize the Armature CSS Override directive
|
|
1702
1705
|
|
|
1703
|
-
|
|
1706
|
+
### Usage
|
|
1704
1707
|
|
|
1705
1708
|
1. Include the `ThemeModule` or `ArmatureModule` in your `AppModule`.
|
|
1706
1709
|
2. In you app.component.html include the following attribute `[sofArCssOverride]`
|
|
@@ -1748,11 +1751,11 @@ export class AppComponent implements OnInit {
|
|
|
1748
1751
|
}
|
|
1749
1752
|
```
|
|
1750
1753
|
|
|
1751
|
-
|
|
1754
|
+
### CssOverride Configuration
|
|
1752
1755
|
|
|
1753
1756
|
The directive uses an array of CssOverride objects. The definition for the object can be found bellow
|
|
1754
1757
|
|
|
1755
|
-
|
|
1758
|
+
#### CssOverride
|
|
1756
1759
|
|
|
1757
1760
|
| property | type | possible values | description |
|
|
1758
1761
|
| ---------- | ------------------ | -------------------- | ---------------------------------------------------------------- |
|
|
@@ -1766,7 +1769,7 @@ The selector indicates how the dom will be searched for html elements
|
|
|
1766
1769
|
* id - searches by element id, returns only 1 element, ie. `myElementId`
|
|
1767
1770
|
* class - searches by class name, ie. `some-css-class`
|
|
1768
1771
|
|
|
1769
|
-
|
|
1772
|
+
#### Attribute
|
|
1770
1773
|
|
|
1771
1774
|
| property | type | possible values | description |
|
|
1772
1775
|
| -------- | -------- | ----------------- | ------------------------------------------------------------------- |
|