jbaysolutions / vue-grid-layout

A draggable and resizable grid layout, for Vue.js.
https://jbaysolutions.github.io/vue-grid-layout/
MIT License
6.97k stars 1.48k forks source link

Nuxt integration #230

Open Romick2005 opened 5 years ago

Romick2005 commented 5 years ago

It is possible to handle Nuxt ssr using this library?

gmsa commented 5 years ago

I don't really know...

gmsa commented 5 years ago

After reading this, I don't think so: https://blog.lichter.io/posts/the-guide-to-write-universal-ssr-ready-vue-compon If anyone could take a look at this and submit a PR would be great!

bensladden commented 5 years ago

@Romick2005 from what i have played with i did get it to work by defining a plugin and then setting ssr to false. Refer to this https://vue-grid.glitch.me/

& this: https://github.com/nuxt/nuxt.js/issues/975

highalps commented 5 years ago

vue-grid-layout does not support SSR, so you must handling CSR (using <no-ssr> tag and plugin with ssr: false option)

zlodes commented 5 years ago

@Romick2005

@gmsa, maybe add this to README or wiki?

  1. Create plugins/vue-grid.js with content:
    
    import Vue from 'vue';
    import VueGridLayout from 'vue-grid-layout'

Vue.component('grid-layout', VueGridLayout.GridLayout); Vue.component('grid-item', VueGridLayout.GridItem);

2. Add plugin to nuxt.config.js like this:
```js
  plugins: [
    {src: '~/plugins/vue-grid', ssr: false},
  ],
  1. Wrap VueGrid components with
    <no-ssr></no-ssr>
    2018-11-10 23 20 37
matamune94 commented 5 years ago

Is there any other way ? i don't want use it in gobal .

suettenbachsv commented 4 years ago

@zlodes

Thanks so much. Still working for any who's interested.

cipiasentini commented 3 years ago

@zlodes is this still working? I did the exact same thing as you did (except the no-ssr tag, that I replaced with client-only because of depreaction). I get 7 errors:

funkel1989 commented 3 years ago

with Vue3 out now supporting SSR along with nuxt in talks of doing a Vue 3 version sometime in the future, are their plans on adding to this plugin to support SSR of any kind? If not then it should be posted here and this issue be closed instead of having an open issue talking about it since 2018 because it makes me think someone is actively working towards or planning to actively work towards SSR. (Just my two cents)

gmsa commented 3 years ago

Is it possible for someone to create a demo project working with SSR? I've never used SSR and it would go a long way to help...

brolnickij commented 2 years ago

Solution for nuxt 3

export default defineNuxtPlugin((nuxtApp) => { nuxtApp.vueApp.use(VueGridLayout) })


- Wrap vue-grid-layout components with `client-only`
```html
<client-only>
  <grid-layout>
    <grid-item></grid-item>
  </grid-layout>
</client-only>
g-tejas commented 2 years ago

Solution for nuxt 3

  • Install npm dependency vue-grid-layout@3.0.0-beta1
"dependencies": {
  "vue-grid-layout": "3.0.0-beta1"
}
  • Create plugins/grid.client.ts with content
import { defineNuxtPlugin } from '#app'
// @ts-ignore
import VueGridLayout from 'vue-grid-layout'

export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.vueApp.use(VueGridLayout)
})
  • Wrap vue-grid-layout components with client-only
<client-only>
  <grid-layout>
    <grid-item></grid-item>
  </grid-layout>
</client-only>

I seem to be getting this error Screenshot 2022-05-25 at 10 34 04 PM Any idea how to fix this?. Im using nuxt 3 rc3

r0hit5292 commented 1 year ago

resize option is not working with nuxt 3. how to resolve that?

jakhsu commented 1 year ago

@brolnickij such a life saver! Really appreciate the example with Nuxt 3

ankithedau commented 3 months ago

@brolnickij @g-tejas @zlodes i am getting "document is not defined"