@hexaflexa/timegrid-vue
HexaFlexa Timegrid Vue Wrapper
This is the Vue wrapper for the HexaFlexa Timegrid web component (@hexaflexa/timegrid).
Documentation
-
Demos and documentation can be found on the HexaFlexa Timegrid page.
-
API documentation for the
hf-timegridcustom element can be found in the hf-timegrid documentation page.
Installation
- Install the Timegrid Vue Wrapper component
npm install --save @hexaflexa/timegrid-vue
- Import and register the custom element wrapper in your app (in main.ts)
import { TimegridVue } from '@hexaflexa/timegrid-vue';
createApp(App).use(TimegridVue).mount('#app')
- Inform Vue that the elements with a hyphen are custom elements (in vite.config.ts)
export default defineConfig({
plugins: [
vue({
template: {
compilerOptions: {
// treat all tags with a hyphen as custom elements
isCustomElement: (tag) => tag.includes('-'),
},
},
}),
],
...
})
Usage
In your component, i.e. TimegridTest.vue
- Declare the timegrid configuration and the start date, according to your needs
export default {
data() {
const startDate: string = '2024-02-15';
let timegridConfig: HfTimegridConfig = {
daysConfig: {
daysCount: 3,
},
resources: [
{ id: '1', title: 'Resource 1' },
{ id: '2', title: 'Resource 2' },
],
events: [
{
id: '1',
resources: ['1'],
title: 'Event 1',
start: '2024-02-15 09:00',
end: '2024-02-15 10:00',
},
{
id: '2',
resources: ['2'],
title: 'Event 2',
start: '2024-02-15 10:00',
end: '2024-02-15 11:00',
},
],
};
return {
startDate: startDate,
timegridConfig: timegridConfig,
};
},
methods: {
onStartDateChanged(event: any) {
console.log('onStartDateChanged', event);
},
onEventNew(event: any) {
console.log('onEventNew', event);
const newEvent = event.detail;
newEvent.id = this.timegridConfig.events!.length * 100 + '';
newEvent.title = 'New Event ' + newEvent.id;
this.timegridConfig.events!.push(newEvent);
this.timegridConfig = { ...this.timegridConfig };
},
},
};
- Style the timegrid component
hf-timegrid {
display: block;
width: 100%;
height: 100%;
border: 2px solid #ddd;
border-radius: 10px;
}
- Use the custom
hf-timegridelement anywhere in your template
<hf-timegrid :startDate="startDate" :config="timegridConfig"
@startDateChanged="onStartDateChanged($event)"
@eventNew="onEventNew($event)"
/>
License (see LICENSE)
Non-Commercial Use Only License
Free for Non-Commercial Use: Non-exclusive, worldwide, royalty-free license to use the Component for non-commercial purposes only.
Commercial Use Restricted: You may not use the Component for any commercial purposes without obtaining a separate commercial license.
© 2024-2026 HexaFlexa. All rights reserved.
Related Packages
Idiomatic Vue calendar/scheduler — one Rozie source compiled to Vue wrapping Ful...
Vue 3 calendar component — Temporal-only public surface, single drop pipeline, p...
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.19.0 | ^3.4.15 | Custom | |
| 1.18.0 | ^3.4.15 | Custom | |
| 1.17.2 | ^3.4.15 | Custom | |
| 1.17.1 | ^3.4.15 | Custom | |
| 1.17.0 | ^3.4.15 | Custom | |
| 1.16.0 | ^3.4.15 | Custom | |
| 1.15.1 | ^3.4.15 | Custom | |
| 1.15.0 | ^3.4.15 | Custom | |
| 1.14.2 | ^3.4.15 | Custom | |
| 1.14.1 | ^3.4.15 | Custom | |
| 1.14.0 | ^3.4.15 | Custom | |
| 1.13.0 | ^3.4.15 | Custom | |
| 1.12.0 | ^3.4.15 | Custom | |
| 1.11.0 | ^3.4.15 | Custom | |
| 1.10.0 | ^3.4.15 | Custom | |
| 1.9.1 | ^3.4.15 | Custom | |
| 1.9.0 | ^3.4.15 | Custom | |
| 1.8.1 | ^3.4.15 | Custom | |
| 1.8.0 | ^3.4.15 | Custom | |
| 1.7.2 | ^3.4.15 | Custom | |
| 1.7.1 | ^3.4.15 | Custom | |
| 1.7.0 | ^3.4.15 | Custom | |
| 1.6.5 | ^3.4.15 | Custom | |
| 1.6.4 | ^3.4.15 | Custom | |
| 1.6.3 | ^3.4.15 | Custom | |
| 1.6.2 | ^3.4.15 | Custom | |
| 1.6.1 | ^3.4.15 | Custom | |
| 1.6.0 | ^3.4.15 | Custom | |
| 1.5.0 | ^3.4.15 | Custom | |
| 1.4.1 | ^3.4.15 | Custom |
Showing the latest 30 of 36. See every release on npm