FullCalendar doc added
parent
3a652b8e79
commit
1cc036b10e
|
@ -10,11 +10,14 @@
|
||||||
<div class="content-section implementation">
|
<div class="content-section implementation">
|
||||||
<FullCalendar :events="events" :options="options" />
|
<FullCalendar :events="events" :options="options" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<FullCalendarDoc/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import EventService from '../../service/EventService';
|
import EventService from '../../service/EventService';
|
||||||
|
import FullCalendarDoc from './FullCalendarDoc';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
|
@ -37,6 +40,9 @@ export default {
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.eventService.getEvents().then(data => this.events = data);
|
this.eventService.getEvents().then(data => this.events = data);
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
'FullCalendarDoc': FullCalendarDoc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
|
@ -0,0 +1,221 @@
|
||||||
|
<template>
|
||||||
|
<div class="content-section documentation">
|
||||||
|
<TabView>
|
||||||
|
<TabPanel header="Documentation">
|
||||||
|
<h3>Import</h3>
|
||||||
|
<CodeHighlight lang="javascript">
|
||||||
|
import FullCalendar from 'primevue/fullcalendar';
|
||||||
|
</CodeHighlight>
|
||||||
|
|
||||||
|
<h3>Getting Started</h3>
|
||||||
|
<p>FullCalendar is a wrapper around on <a href="https://fullcalendar.io/docs/v4">FullCalendar 4.0.0.alpha.2+</a> so fullcalendar needs to be included in your project. For a complete documentation and samples please refer to the fullcalendar website.</p>
|
||||||
|
<CodeHighlight>
|
||||||
|
npm install fullcalendar@4.0.0-alpha.2 --save
|
||||||
|
</CodeHighlight>
|
||||||
|
|
||||||
|
<p>Events should be an array and defined using the events property.</p>
|
||||||
|
<CodeHighlight>
|
||||||
|
<FullCalendar :events="events" />
|
||||||
|
</CodeHighlight>
|
||||||
|
|
||||||
|
<CodeHighlight lang="js">
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
events: [
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"title": "All Day Event",
|
||||||
|
"start": "2019-01-01"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"title": "Long Event",
|
||||||
|
"start": "2019-01-07",
|
||||||
|
"end": "2019-01-10"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"title": "Repeating Event",
|
||||||
|
"start": "2019-01-09T16:00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"title": "Repeating Event",
|
||||||
|
"start": "2019-01-16T16:00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"title": "Conference",
|
||||||
|
"start": "2019-01-11",
|
||||||
|
"end": "2019-01-13"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"title": "Meeting",
|
||||||
|
"start": "2019-01-12T10:30:00",
|
||||||
|
"end": "2019-01-12T12:30:00"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</CodeHighlight>
|
||||||
|
|
||||||
|
<p>In a real application, it is likely to populate the events by making a service call, when the events are updated, the component will detect the change and render them.</p>
|
||||||
|
<CodeHighlight lang="js">
|
||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
export default class EventService {
|
||||||
|
|
||||||
|
getEvents() {
|
||||||
|
return axios.get('demo/data/events.json').then(res => res.data.data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</CodeHighlight>
|
||||||
|
|
||||||
|
<CodeHighlight lang="js">
|
||||||
|
import EventService from '../../service/EventService';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
events: null
|
||||||
|
};
|
||||||
|
},
|
||||||
|
eventService: null,
|
||||||
|
created() {
|
||||||
|
this.eventService = new EventService();
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.eventService.getEvents().then(data => this.events = data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</CodeHighlight>
|
||||||
|
|
||||||
|
<h3>Options</h3>
|
||||||
|
<p>FullCalendar has a long list of customization parameters that are defined with the options property. Example below customizes the header property.</p>
|
||||||
|
<CodeHighlight lang="js">
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
options: {
|
||||||
|
defaultDate: '2019-01-01',
|
||||||
|
header: {
|
||||||
|
left: 'prev,next',
|
||||||
|
center: 'title',
|
||||||
|
right: 'month,agendaWeek,agendaDay'
|
||||||
|
},
|
||||||
|
editable: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</CodeHighlight>
|
||||||
|
|
||||||
|
<h3>Callbacks</h3>
|
||||||
|
<p>Callbacks of the FullCalendar such as dateClick are also defined with the options property.</p>
|
||||||
|
<CodeHighlight lang="js">
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
options: {
|
||||||
|
defaultDate: '2019-01-01',
|
||||||
|
header: {
|
||||||
|
left: 'prev,next',
|
||||||
|
center: 'title',
|
||||||
|
right: 'month,agendaWeek,agendaDay'
|
||||||
|
},
|
||||||
|
editable: true,
|
||||||
|
dateClick: (e) => {
|
||||||
|
//handle date click
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</CodeHighlight>
|
||||||
|
|
||||||
|
<h3>Properties</h3>
|
||||||
|
<div class="doc-tablewrapper">
|
||||||
|
<table class="doc-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Type</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>events</td>
|
||||||
|
<td>array</td>
|
||||||
|
<td>An array of events to display.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>options</td>
|
||||||
|
<td>Object</td>
|
||||||
|
<td>A configuration object to define properties of FullCalendar.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3>Dependencies</h3>
|
||||||
|
<a href="https://fullcalendar.io/docs/v4">FullCalendar 4.0.0.alpha.2+</a>
|
||||||
|
</TabPanel>
|
||||||
|
|
||||||
|
<TabPanel header="Source">
|
||||||
|
<a href="https://github.com/primefaces/primevue/tree/master/src/views/fullcalendar" class="btn-viewsource" target="_blank" rel="noopener noreferrer">
|
||||||
|
<span>View on GitHub</span>
|
||||||
|
</a>
|
||||||
|
<CodeHighlight>
|
||||||
|
<template v-pre>
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="content-section introduction">
|
||||||
|
<div class="feature-intro">
|
||||||
|
<h1>FullCalendar</h1>
|
||||||
|
<p>An event calendar based on the <a href="https://fullcalendar.io/">FullCalendar</a> library.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="content-section implementation">
|
||||||
|
<FullCalendar :events="events" :options="options" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</CodeHighlight>
|
||||||
|
|
||||||
|
<CodeHighlight lang="javascript">
|
||||||
|
import EventService from '../../service/EventService';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
options: {
|
||||||
|
defaultDate: '2019-01-01',
|
||||||
|
header: {
|
||||||
|
left: 'prev,next',
|
||||||
|
center: 'title',
|
||||||
|
right: 'month,agendaWeek,agendaDay'
|
||||||
|
},
|
||||||
|
editable: true
|
||||||
|
},
|
||||||
|
events: null
|
||||||
|
};
|
||||||
|
},
|
||||||
|
eventService: null,
|
||||||
|
created() {
|
||||||
|
this.eventService = new EventService();
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.eventService.getEvents().then(data => this.events = data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</CodeHighlight>
|
||||||
|
</TabPanel>
|
||||||
|
</TabView>
|
||||||
|
</div>
|
||||||
|
</template>
|
Loading…
Reference in New Issue