@claudebernard/news-element-dev v0.0.8
= elements
An element providing Claude Bernard's latest news about health.
== Documentation
See the full documentation for Lit at https://docs.claudebernard.fr/elements/news[docs.claudebernard.fr].
You can play with a full https://docs.claudebernard.fr/elements/news/demo[demo].
== Installation
npm install --save @claudebernard/news-element
== Usage
=== Angular
Import as ES modules in the app.module.ts file.
import '@claudebernard/news-element';
In the html file that will use the custom element :
<bcb-news [hideHeader]="true" (onNewsClicked)="handleClick($event)"></bcb-news>
To test click event :
handleClick(news) {
alert(news.detail.data.newsTitle);
}
=== Vue.js
Import as ES modules in the App.vue file.
import '@claudebernard/news-element';
In the html file that will use the custom element :
<bcb-news id="bcb-news" :hideHeader="true"></bcb-news>
To paste in App.vue or in the file that will use the custom element :
<script setup lang="ts">
import { onMounted } from 'vue'
const handleClick = (event) => {
alert(event.detail.data.newsTitle);
}
// To test click event :
onMounted(() => {
const el = document.getElementById('bcb-news');
el.addEventListener('onNewsClicked', (e) => {
handleClick(e);
});
});
</script>
=== React
Import as ES modules in the App.tsx file. Don't forget to do 'npm install' after importing '@lit-labs/react'.
import {BcbNews} from '@claudebernard/news-element';
import {createComponent} from '@lit-labs/react';
import React, { useState } from 'react'
To paste in App.tsx file or in the file that will use the custom element :
export const BcbNewsReact = createComponent({
react: React,
tagName: 'bcb-news',
elementClass: BcbNews,
events: {
onNewsClicked: 'onNewsClicked'
}
});
To paste in the return part of the .tsx file :
<BcbNewsReact hideHeader={true} onNewsClicked={(news) => handleClick(news)}></BcbNewsReact>
To test click event :
const handleClick = (news) => {
alert(news.detail.data.newsTitle)
}
=== Vanilla JS :
Import as ES modules in the App.js file.
import '@claudebernard/news-element';
To paste in the html part of the file that will use the custom element :
<bcb-news id="bcb-news" hideHeader></bcb-news>
To test click event :
let bcbNewsComponent = document.getElementById('bcb-news');
bcbNewsComponent.addEventListener('onNewsClicked', function(event) {
alert(event.detail.data.newsTitle);
});
== Attributes
cols="4*",options="header"
|===
| Name | Type | Default | Description
| url
| string
| | The URL to call the Claude Bernard API.
| `productCode` | `string` |
| To use if you want to display all the news for a specific product.
| newsCount
| number
| 3 | The number of news to display. Only used in static mode.
| viewMode
| string
| carousel
| The style of the custom element, "static" is the other possible value.
| imageReverse
| boolean
| false
| The position of the picture. Default left, right if true.
| hideNewsType
| boolean
| false
| To display or not the type of the news.
| dateFormat
| string
| DD/MM/YYYY
| The date format to use.
| hideHeader
| boolean
| false
| To display or not a header above the custom element.
| showImage
| boolean
| false
| To display or not the image associated to the custom element.
| hideMoreLabel
| boolean
| false
| To display or not the text to redirect to another page.
| navigation
| |
| Coming soon.
|===
== Events
cols="2*",options="header"
|===
| Name | Description
| onNewsClicked
| The action to be done when clicking on the custom element.
|===
== Browser support
Browsers without native https://caniuse.com/custom-elementsv1[custom element support] require a https://github.com/webcomponents/polyfills/tree/master/packages/custom-elements[polyfill].
== Custom element checklist
- [] Public documentation (docs portal)
- * Functional on Angular, React, Vue
- [] Unit tested
- [] Code quality
- [] Changelog with semantic release
- [] Available in offline mode
- [] Best practices compliant
- [] Validated by QA
- [] Publicly available
- [] Based on FHIR
- [] Example on storybook
- [] Available demo
- [] i18n
- [] Browser support section
- [] EOL section
== Contributing
Read through our https://docs.claudebernard.fr/contributing[contributing guidelines] to learn about our submission process, coding rules, and more.
== License
Copyright of Cegedim. See LICENSE for details.