@fullcalendar/vue
Advanced tools
Comparing version 6.0.0-beta.4 to 6.0.0
@@ -65,2 +65,3 @@ import Vue from 'vue'; | ||
this.renderId++; // force rerender | ||
getSecret(this).needCustomRenderingResize = true; | ||
}); | ||
@@ -71,2 +72,8 @@ }, | ||
}, | ||
updated() { | ||
if (getSecret(this).needCustomRenderingResize) { | ||
getSecret(this).needCustomRenderingResize = false; | ||
this.getApi().updateSize(); | ||
} | ||
}, | ||
beforeDestroy() { | ||
@@ -73,0 +80,0 @@ this.getApi().destroy(); |
@@ -151,2 +151,3 @@ this.FullCalendar = this.FullCalendar || {}; | ||
this.renderId++; // force rerender | ||
getSecret(this).needCustomRenderingResize = true; | ||
}); | ||
@@ -157,2 +158,8 @@ }, | ||
}, | ||
updated() { | ||
if (getSecret(this).needCustomRenderingResize) { | ||
getSecret(this).needCustomRenderingResize = false; | ||
this.getApi().updateSize(); | ||
} | ||
}, | ||
beforeDestroy() { | ||
@@ -159,0 +166,0 @@ this.getApi().destroy(); |
@@ -1,1 +0,1 @@ | ||
this.FullCalendar=this.FullCalendar||{},this.FullCalendar.Vue=function(e,t,n,r){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=s(t);const i={headerToolbar:!0,footerToolbar:!0,events:!0,eventSources:!0,resources:!0};function o(e){return"object"==typeof e&&(Array.isArray(e)?e=Array.prototype.slice.call(e):e&&(e=Object.assign({},e))),e}const a=document.createDocumentFragment(),d=l.default.extend({render(e){return e("aside",{style:{display:"none"}},this.$slots.default||[])},mounted(){a.appendChild(this.$el)},beforeDestroy(){a.removeChild(this.$el)}}),u=document.createDocumentFragment(),h=l.default.extend({props:{inPlaceOf:Element,reportEl:Function,elTag:String,elClasses:Array,elStyle:Object,elAttrs:Object},render(e){return e(this.elTag,{class:this.elClasses,style:this.elStyle,attrs:this.elAttrs},this.$slots.default||[])},mounted(){c(this.$el,this.inPlaceOf),this.reportEl(this.$el)},updated(){this.inPlaceOf.parentNode!==u&&(c(this.$el,this.inPlaceOf),this.reportEl(this.$el))},beforeDestroy(){u.removeChild(this.inPlaceOf),this.reportEl(null)}});function c(e,t){var n;null===(n=t.parentNode)||void 0===n||n.insertBefore(e,t.nextSibling),u.appendChild(t)}const p=l.default.extend({props:{options:Object},data:()=>({renderId:0,customRenderingMap:new Map}),methods:{getApi(){return this.calendar},buildOptions(e){return Object.assign(Object.assign({},e),{customRenderingMetaMap:this.$scopedSlots,handleCustomRendering:this.handleCustomRendering,customRenderingReplacesEl:!0})}},render(e){const t=[];for(const n of this.customRenderingMap.values())t.push(e("div",{key:n.id},[e(h,{key:n.id,props:{inPlaceOf:n.containerEl,reportEl:n.reportNewContainerEl,elTag:n.elTag,elClasses:n.elClasses,elStyle:n.elStyle,elAttrs:n.elAttrs}},n.generatorMeta(n.renderProps))]));return e("div",{attrs:{"data-fc-render-id":this.renderId}},[e(d,t)])},mounted(){const e=new r.CustomRenderingStore;this.handleCustomRendering=e.handle.bind(e);const t=this.buildOptions(this.options),s=new n.Calendar(this.$el,t);this.calendar=s,s.render(),e.subscribe((e=>{this.customRenderingMap=e,this.renderId++}))},beforeUpdate(){this.getApi().resumeRendering()},beforeDestroy(){this.getApi().destroy()},watch:function(){let e={options:{deep:!0,handler(e){let t=this.getApi();t.pauseRendering();let n=this.buildOptions(e);t.resetOptions(n),this.renderId++}}};for(let t in i)e[`options.${t}`]={deep:!0,handler(e){if(void 0!==e){let n=this.getApi();n.pauseRendering(),n.resetOptions({[t]:o(e)},!0),this.renderId++}}};return e}()});let f,g=!1;function b(e){g||(g=!0,e.component("FullCalendar",p))}return f="undefined"!=typeof globalThis?globalThis.Vue:window.Vue,f&&f.use({install:b}),e.default=p,e.install=b,Object.defineProperty(e,"__esModule",{value:!0}),e}({},Vue,FullCalendar,FullCalendar.Internal); | ||
this.FullCalendar=this.FullCalendar||{},this.FullCalendar.Vue=function(e,t,n,s){"use strict";function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=r(t);const l={headerToolbar:!0,footerToolbar:!0,events:!0,eventSources:!0,resources:!0};function o(e){return"object"==typeof e&&(Array.isArray(e)?e=Array.prototype.slice.call(e):e&&(e=Object.assign({},e))),e}const d=document.createDocumentFragment(),a=i.default.extend({render(e){return e("aside",{style:{display:"none"}},this.$slots.default||[])},mounted(){d.appendChild(this.$el)},beforeDestroy(){d.removeChild(this.$el)}}),u=document.createDocumentFragment(),h=i.default.extend({props:{inPlaceOf:Element,reportEl:Function,elTag:String,elClasses:Array,elStyle:Object,elAttrs:Object},render(e){return e(this.elTag,{class:this.elClasses,style:this.elStyle,attrs:this.elAttrs},this.$slots.default||[])},mounted(){p(this.$el,this.inPlaceOf),this.reportEl(this.$el)},updated(){this.inPlaceOf.parentNode!==u&&(p(this.$el,this.inPlaceOf),this.reportEl(this.$el))},beforeDestroy(){u.removeChild(this.inPlaceOf),this.reportEl(null)}});function p(e,t){var n;null===(n=t.parentNode)||void 0===n||n.insertBefore(e,t.nextSibling),u.appendChild(t)}const c=i.default.extend({props:{options:Object},data:()=>({renderId:0,customRenderingMap:new Map}),methods:{getApi(){return this.calendar},buildOptions(e){return Object.assign(Object.assign({},e),{customRenderingMetaMap:this.$scopedSlots,handleCustomRendering:this.handleCustomRendering,customRenderingReplacesEl:!0})}},render(e){const t=[];for(const n of this.customRenderingMap.values())t.push(e("div",{key:n.id},[e(h,{key:n.id,props:{inPlaceOf:n.containerEl,reportEl:n.reportNewContainerEl,elTag:n.elTag,elClasses:n.elClasses,elStyle:n.elStyle,elAttrs:n.elAttrs}},n.generatorMeta(n.renderProps))]));return e("div",{attrs:{"data-fc-render-id":this.renderId}},[e(a,t)])},mounted(){const e=new s.CustomRenderingStore;this.handleCustomRendering=e.handle.bind(e);const t=this.buildOptions(this.options),r=new n.Calendar(this.$el,t);this.calendar=r,r.render(),e.subscribe((e=>{this.customRenderingMap=e,this.renderId++,this.needCustomRenderingResize=!0}))},beforeUpdate(){this.getApi().resumeRendering()},updated(){this.needCustomRenderingResize&&(this.needCustomRenderingResize=!1,this.getApi().updateSize())},beforeDestroy(){this.getApi().destroy()},watch:function(){let e={options:{deep:!0,handler(e){let t=this.getApi();t.pauseRendering();let n=this.buildOptions(e);t.resetOptions(n),this.renderId++}}};for(let t in l)e[`options.${t}`]={deep:!0,handler(e){if(void 0!==e){let n=this.getApi();n.pauseRendering(),n.resetOptions({[t]:o(e)},!0),this.renderId++}}};return e}()});let f,g=!1;function m(e){g||(g=!0,e.component("FullCalendar",c))}return f="undefined"!=typeof globalThis?globalThis.Vue:window.Vue,f&&f.use({install:m}),e.default=c,e.install=m,Object.defineProperty(e,"__esModule",{value:!0}),e}({},Vue,FullCalendar,FullCalendar.Internal); |
# FullCalendar Vue Component [![Build Status](https://travis-ci.com/fullcalendar/fullcalendar-vue.svg?branch=master)](https://travis-ci.com/fullcalendar/fullcalendar-vue) | ||
# FullCalendar Vue 2 Component | ||
This project provides an official Vue component for FullCalendar, with all the same setting. | ||
The official [Vue 2](https://v2.vuejs.org/) component for [FullCalendar](https://fullcalendar.io) | ||
- [FullCalendar Vue Component Docs](https://fullcalendar.io/docs/vue) | ||
- [Example Project](https://github.com/fullcalendar/fullcalendar-example-projects/tree/master/vue) | ||
- [Contributor Guide](CONTRIBUTORS.md) | ||
> For [Vue 3](https://vuejs.org/), use the [@fullcalendar/vue3](https://github.com/fullcalendar/fullcalendar-vue) package | ||
This package supports Vue 2. It can be installed like this: | ||
## Installation | ||
Install the Vue 2 connector, the core package, and any plugins (like [daygrid](https://fullcalendar.io/docs/month-view)): | ||
```sh | ||
npm install @fullcalendar/vue @fullcalendar/core @fullcalendar/daygrid | ||
``` | ||
npm install @fullcalendar/core @fullcalendar/vue | ||
## Usage | ||
Render a `FullCalendar` component, supplying an [options](https://fullcalendar.io/docs#toc) object: | ||
```vue | ||
<script> | ||
import FullCalendar from '@fullcalendar/vue' | ||
import dayGridPlugin from '@fullcalendar/daygrid' | ||
export default { | ||
components: { | ||
FullCalendar // make the <FullCalendar> tag available | ||
}, | ||
data: function() { | ||
return { | ||
calendarOptions: { | ||
plugins: [dayGridPlugin], | ||
initialView: 'dayGridMonth', | ||
weekends: false, | ||
events: [ | ||
{ title: 'Meeting', start: new Date() } | ||
] | ||
} | ||
} | ||
} | ||
} | ||
</script> | ||
<template> | ||
<div> | ||
<h1>Demo App</h1> | ||
<FullCalendar :options='calendarOptions' /> | ||
</div> | ||
</template> | ||
``` | ||
For Vue 3, visit the [vue3 branch](https://github.com/fullcalendar/fullcalendar-vue/tree/vue3). | ||
You can even supply [named-slot](https://v2.vuejs.org/v2/guide/components-slots.html#Named-Slots) templates: | ||
```vue | ||
<template> | ||
<div> | ||
<h1>Demo App</h1> | ||
<FullCalendar :options='calendarOptions'> | ||
<template v-slot:eventContent='arg'> | ||
<b>{{ arg.timeText }}</b> | ||
<i>{{ arg.event.title }}</i> | ||
</template> | ||
</FullCalendar> | ||
</div> | ||
</template> | ||
``` | ||
## Links | ||
- [Documentation](https://fullcalendar.io/docs/vue) | ||
- [Example Project](https://github.com/fullcalendar/fullcalendar-examples/tree/main/vue2) | ||
## Development | ||
You must install this repo with [PNPM](https://pnpm.io/): | ||
``` | ||
pnpm install | ||
``` | ||
Available scripts (via `pnpm run <script>`): | ||
- `build` - build production-ready dist files | ||
- `dev` - build & watch development dist files | ||
- `test` - test headlessly | ||
- `test:dev` - test interactively | ||
- `clean` |
{ | ||
"name": "@fullcalendar/vue", | ||
"version": "6.0.0-beta.4", | ||
"version": "6.0.0", | ||
"title": "FullCalendar Vue 2 Component", | ||
"description": "An official FullCalendar component for Vue 2", | ||
"description": "The official Vue 2 component for FullCalendar", | ||
"keywords": [ | ||
"calendar", | ||
"event", | ||
"full-sized", | ||
"fullcalendar", | ||
"vue", | ||
"calendar", | ||
"fullcalendar" | ||
"vue2" | ||
], | ||
"docs": "https://fullcalendar.io/docs/vue", | ||
"homepage": "https://fullcalendar.io/docs/vue", | ||
"license": "MIT", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/fullcalendar/fullcalendar-vue.git" | ||
"url": "https://github.com/fullcalendar/fullcalendar-vue2.git" | ||
}, | ||
"peerDependencies": { | ||
"@fullcalendar/core": "6.0.0-beta.4", | ||
"@fullcalendar/core": "~6.0.0", | ||
"vue": "^2.6.12" | ||
@@ -26,5 +29,5 @@ }, | ||
"@babel/runtime": "^7.12.1", | ||
"@fullcalendar/core": "6.0.0-beta.4", | ||
"@fullcalendar/daygrid": "6.0.0-beta.4", | ||
"@fullcalendar/interaction": "6.0.0-beta.4", | ||
"@fullcalendar/core": "~6.0.0", | ||
"@fullcalendar/daygrid": "~6.0.0", | ||
"@fullcalendar/interaction": "~6.0.0", | ||
"@vue/test-utils": "^1.0.3", | ||
@@ -31,0 +34,0 @@ "babel-loader": "^8.1.0", |
# FullCalendar Vue Component [![Build Status](https://travis-ci.com/fullcalendar/fullcalendar-vue.svg?branch=master)](https://travis-ci.com/fullcalendar/fullcalendar-vue) | ||
# FullCalendar Vue 2 Component | ||
This project provides an official Vue component for FullCalendar, with all the same setting. | ||
The official [Vue 2](https://v2.vuejs.org/) component for [FullCalendar](https://fullcalendar.io) | ||
- [FullCalendar Vue Component Docs](https://fullcalendar.io/docs/vue) | ||
- [Example Project](https://github.com/fullcalendar/fullcalendar-example-projects/tree/master/vue) | ||
- [Contributor Guide](CONTRIBUTORS.md) | ||
> For [Vue 3](https://vuejs.org/), use the [@fullcalendar/vue3](https://github.com/fullcalendar/fullcalendar-vue) package | ||
This package supports Vue 2. It can be installed like this: | ||
## Installation | ||
Install the Vue 2 connector, the core package, and any plugins (like [daygrid](https://fullcalendar.io/docs/month-view)): | ||
```sh | ||
npm install @fullcalendar/vue @fullcalendar/core @fullcalendar/daygrid | ||
``` | ||
npm install @fullcalendar/core @fullcalendar/vue | ||
## Usage | ||
Render a `FullCalendar` component, supplying an [options](https://fullcalendar.io/docs#toc) object: | ||
```vue | ||
<script> | ||
import FullCalendar from '@fullcalendar/vue' | ||
import dayGridPlugin from '@fullcalendar/daygrid' | ||
export default { | ||
components: { | ||
FullCalendar // make the <FullCalendar> tag available | ||
}, | ||
data: function() { | ||
return { | ||
calendarOptions: { | ||
plugins: [dayGridPlugin], | ||
initialView: 'dayGridMonth', | ||
weekends: false, | ||
events: [ | ||
{ title: 'Meeting', start: new Date() } | ||
] | ||
} | ||
} | ||
} | ||
} | ||
</script> | ||
<template> | ||
<div> | ||
<h1>Demo App</h1> | ||
<FullCalendar :options='calendarOptions' /> | ||
</div> | ||
</template> | ||
``` | ||
For Vue 3, visit the [vue3 branch](https://github.com/fullcalendar/fullcalendar-vue/tree/vue3). | ||
You can even supply [named-slot](https://v2.vuejs.org/v2/guide/components-slots.html#Named-Slots) templates: | ||
```vue | ||
<template> | ||
<div> | ||
<h1>Demo App</h1> | ||
<FullCalendar :options='calendarOptions'> | ||
<template v-slot:eventContent='arg'> | ||
<b>{{ arg.timeText }}</b> | ||
<i>{{ arg.event.title }}</i> | ||
</template> | ||
</FullCalendar> | ||
</div> | ||
</template> | ||
``` | ||
## Links | ||
- [Documentation](https://fullcalendar.io/docs/vue) | ||
- [Example Project](https://github.com/fullcalendar/fullcalendar-examples/tree/main/vue2) | ||
## Development | ||
You must install this repo with [PNPM](https://pnpm.io/): | ||
``` | ||
pnpm install | ||
``` | ||
Available scripts (via `pnpm run <script>`): | ||
- `build` - build production-ready dist files | ||
- `dev` - build & watch development dist files | ||
- `test` - test headlessly | ||
- `test:dev` - test interactively | ||
- `clean` |
@@ -82,2 +82,3 @@ import Vue, { PropType, VNode } from 'vue' | ||
this.renderId++ // force rerender | ||
getSecret(this).needCustomRenderingResize = true | ||
}) | ||
@@ -90,2 +91,9 @@ }, | ||
updated() { | ||
if (getSecret(this).needCustomRenderingResize) { | ||
getSecret(this).needCustomRenderingResize = false | ||
this.getApi().updateSize() | ||
} | ||
}, | ||
beforeDestroy() { | ||
@@ -107,2 +115,3 @@ this.getApi().destroy() | ||
handleCustomRendering: (customRendering: CustomRendering<any>) => void | ||
needCustomRenderingResize?: boolean | ||
} | ||
@@ -109,0 +118,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
54690
992
0
88