@zanichelli/zanichelli-appswitcher v3.0.3
Zanichelli AppSwitcher Component
Use this component to allow a user to easily navigate between Zanichelli's web applications.
Installation
Download the package by running yarn add @zanichelli/zanichelli-appswitcher or import it in your html using Unpkg:
<script type="module" src="https://unpkg.com/@zanichelli/zanichelli-appswitcher"></script>Albe Web Components dependency
This component requires the Albe Web Components Library. To get Albe you can:
- install it via NPM by running
yarn add @zanichelli/albe-web-components - include it in your app inside a
scripttag:
<script type="module" src="https://unpkg.com/@zanichelli/albe-web-components/dist/web-components-library/web-components-library.esm.js"></script>Remember to also include the stylesheet:
<link type="text/css" rel="stylesheet" href="https://unpkg.com/@zanichelli/albe-web-components/www/build/web-components-library.css" />Using custom elements
import { defineCustomElements as defineAlbeComponents } from '@zanichelli/albe-web-components/loader';
import { defineCustomElements as defineZanichelliAppswitcher } from '@zanichelli/zanichelli-appswitcher/dist/wc/loader';
useEffect(() => {
defineAlbeComponents();
defineZanichelliAppswitcher();
}, []);
return (
<>
<zanichelli-appswitcher />
<zanichelli-apps-section />
</>
);Using React Bindings
import { ZanichelliAppswitcher, ZanichelliAppsSection } from '@zanichelli/zanichelli-appswitcher/dist/react/components';
return (
<>
<ZanichelliAppswitcher />
<ZanichelliAppsSection />
</>
);Development
- Download the repo using
git clone git@bitbucket.org:zanichelli/zanichelli-appswitcher.git - In the project's root folder, run
yarn inst cdinto your web-component-library folder, then runyarn buildandyarn start
If you need to work with a local copy of the Albe Web Components Library
- Download the Albe repo using
git clone git@github.com:ZanichelliEditore/design-system.git - In the root folder of this new project, run
yarn buildand thenyarn link - In your zanichelli-appswitcher project, uncomment the import in
web-component-library/src/components/zanichelli-appswitcher/zanichelli-appswitcher.tsx
To use the cookie lastVisitedHosts locally
- add in your own file /etc/hosts
127.0.0.1 app-switcher.zanichelli.it
Testing
You can launch the available tests using yarn test.
Zanichelli AppSwitcher - Props & Slots
- By default the component has a transparent background.
This component accepts the following props:
current-host: Custom host name to be registered if the default is misleading.env: Defines the usage environment to retrieve theconfig.json. Available values:local,staging,prod,admin,localadmin.user-object: The user's data as retrieved from a valid Zanichelli IDP token.teaching-groups: The teaching groups of the currently logged-in user, if any.config-object: For use with the configurator app only: AppSwitcher current configuration.offcanvas-open: For use with the configurator app only: Whether the offcanvas should start as already open.offcanvas-type: For use with the configurator app only: Type of the offcanvas. Defaults to 'overlay'.
Zanichelli Section Apps - Props & Slots
This component accepts the following props:
env: Defines the usage environment to retrieve theconfig.json. Available values:local,staging,prod. Mapped throughenvenum.show-header-info: Displays the header info box.header-info-txt: Header info text.header-btn-href: Header button href.header-btn-txt: Header button text.top-heading-level: Defaults to 2. Highest level of heading in the section. All others cascade from there. After h6, elements will be converted to<p>.
You can choose one of these two ways of passing user information to the component (one excludes the other):
idp-payload: The payload of theidp-login-componentcoming from theloginSuccessoruserLoadedevent.
or
user-role: The role of the user (e.g., MYZ_TEACHER, MYZ_STUDENT) mapped through userRoleName enum. If your user roles mapping is different think about remapping them :)teaching-groups: The teaching groups associated with the logged-in teacher.user-id: Id of the user - used in xapi statement
Enums
enum UserRoleName {
ANONYMOUS = 'ANONYMOUS',
MYZ_ADMIN = 'MYZ_ADMIN',
MYZ_UTENTE = 'MYZ_UTENTE',
MYZ_STUDENTE = 'MYZ_STUDENTE',
MYZ_DOCENTE = 'MYZ_DOCENTE',
MYZ_PRODUZIONE = 'MYZ_PRODUZIONE',
MYZ_FUNZIONARIO = 'MYZ_FUNZIONARIO',
MYZ_RESP_EDITORIALE = 'MYZ_RESP_EDITORIALE',
MYZ_ASSISTENZA_CD = 'MYZ_ASSISTENZA_CD',
MYZ_DOCENTE_UNIVERSITARIO = 'MYZ_DOCENTE_UNIVERSITARIO',
MYZ_STUDENTE_UNIVERSITARIO = 'MYZ_STUDENTE_UNIVERSITARIO',
MYZ_VENDITE = 'MYZ_VENDITE',
MYZ_PROFESSIONISTA = 'MYZ_PROFESSIONISTA',
}
enum envType {
PROD = 'prod',
STAGING = 'staging',
LOCAL = 'local',
ADMIN = 'admin',
LOCALADMIN = 'localadmin',
}11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago