@hexaflexa/timegrid-vue

Timegrid web component for Vue made with 💗 by HexaFlexa!
3,135
Install
npm install @hexaflexa/timegrid-vue
Latest Version:1.19.0
Vue:3
License:Custom
Last Updated:May 23, 2026
Links: npm
Maintainer: codluca

HexaFlexa Timegrid Vue Wrapper

This is the Vue wrapper for the HexaFlexa Timegrid web component (@hexaflexa/timegrid).

Documentation

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-timegrid element 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

@rozie-ui/fullcalendar-vue

Idiomatic Vue calendar/scheduler — one Rozie source compiled to Vue wrapping Ful...

1,763 1
vue-scheduler-lite

A support drag and drop scheduler on vue.js

2,085 56
@forcecalendar/vue

Vue 3 adapter for forceCalendar - enterprise calendar Web Components

590 0
@cocoar/vue-calendar

Vue 3 calendar component — Temporal-only public surface, single drop pipeline, p...

6,785 0
v-calendar-scheduler

Calendar scheduler component for VueJs

7,344 104

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