UNPKG

vue-grid-layout

Version:

A draggable and resizable grid layout, as a Vue component.

154 lines (151 loc) 37.5 kB
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Events | Vue Grid Layout - ️A grid layout system for Vue.js</title> <meta name="generator" content="VuePress 1.9.7"> <link rel="icon" href="/vue-grid-layout/favicon.ico"> <link rel="apple-touch-icon" sizes="180x180" href="https://jbaysolutions.github.io/vue-grid-layout/assets/favicon/apple-touch-icon.png"> <meta name="description" content="A draggable and resizable grid layout, as a Vue component."> <meta property="article:modified_time" content="2020-11-05T17:58:04.000Z"> <meta property="og:title" content="Events — Vue Grid Layout"> <meta property="og:description" content="A draggable and resizable grid layout, as a Vue component."> <meta property="og:type" content="article"> <meta property="og:url" content="/guide/events.html"> <meta name="twitter:title" content="Events — Vue Grid Layout"> <meta name="twitter:description" content="A draggable and resizable grid layout, as a Vue component."> <meta name="twitter:url" content="/guide/events.html"> <meta name="twitter:card" content="summary_large_image"> <link rel="preload" href="/vue-grid-layout/assets/css/0.styles.62040b1f.css" as="style"><link rel="preload" href="/vue-grid-layout/assets/js/app.3b46d3a7.js" as="script"><link rel="preload" href="/vue-grid-layout/assets/js/5.fbd53fc9.js" as="script"><link rel="preload" href="/vue-grid-layout/assets/js/4.9a10d8f3.js" as="script"><link rel="preload" href="/vue-grid-layout/assets/js/39.85b7f492.js" as="script"><link rel="prefetch" href="/vue-grid-layout/assets/js/1.f5920396.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/10.b35cd169.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/11.33825800.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/12.1a4f2982.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/13.d9abf441.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/14.2ee2c0bb.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/15.dda8bb4d.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/16.decab905.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/17.17d1fea8.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/18.072d74f9.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/19.a5bd48b6.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/20.a6f7c401.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/21.f07a4293.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/22.8c77b52b.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/23.166522b1.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/24.f224653c.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/25.123f3476.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/26.3627e157.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/27.24596d70.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/28.de97d8c2.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/29.902100f1.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/30.6bfee860.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/31.567ea2fd.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/32.72b82452.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/33.6b852b0b.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/34.35990edb.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/35.8b6fa6f0.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/36.a0e45802.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/37.bd32d898.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/38.a192efbf.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/40.d8f3d249.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/41.d0334a36.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/42.f7542798.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/43.d5ada079.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/44.690b0248.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/45.c4a5f6c2.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/46.d847dd7f.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/47.44f6af27.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/48.fc0b14e5.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/49.dd4cba1a.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/50.4186651e.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/51.32fc51c3.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/52.2124af42.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/53.a5360cb7.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/54.7a70587f.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/55.65df1d6e.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/56.2bde5fd7.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/57.f38265c1.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/58.7970354a.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/59.af080563.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/6.eae6137a.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/60.3afbbfc8.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/61.8b9ba428.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/62.a0c81243.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/63.d8c2ffd8.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/7.c2af6ee4.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/8.b45e893b.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/9.b9c5a1a2.js"><link rel="prefetch" href="/vue-grid-layout/assets/js/vendors~docsearch.254ba4e3.js"> <link rel="stylesheet" href="/vue-grid-layout/assets/css/0.styles.62040b1f.css"> </head> <body> <div id="app" data-server-rendered="true"><div class="theme-container" data-v-6394a605><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/vue-grid-layout/" class="home-link router-link-active"><img src="/vue-grid-layout/assets/img/logo.png" alt="Vue Grid Layout - ️A grid layout system for Vue.js" class="logo"> <span class="site-name can-hide">Vue Grid Layout - ️A grid layout system for Vue.js</span></a> <div class="links"><form id="search-form" role="search" class="algolia-search-wrapper search-box"><input id="algolia-search-input" class="search-query"></form> <nav class="nav-links can-hide"><div class="nav-item"><a href="/vue-grid-layout/" class="nav-link"> Home </a></div><div class="nav-item"><a href="/vue-grid-layout/guide/" class="nav-link router-link-active"> Guide </a></div><div class="nav-item"><a href="/vue-grid-layout/changelog/" class="nav-link"> Changelog </a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Select language" class="dropdown-title"><span class="title">Languages</span> <span class="arrow down"></span></button> <button type="button" aria-label="Select language" class="mobile-dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/vue-grid-layout/guide/events.html" aria-current="page" class="nav-link router-link-exact-active router-link-active"> English </a></li><li class="dropdown-item"><!----> <a href="/vue-grid-layout/zh/guide/events.html" class="nav-link"> 简体中文 </a></li></ul></div></div> <a href="https://github.com/jbaysolutions/vue-grid-layout" target="_blank" rel="noopener noreferrer" class="repo-link"> GitHub <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/vue-grid-layout/" class="nav-link"> Home </a></div><div class="nav-item"><a href="/vue-grid-layout/guide/" class="nav-link router-link-active"> Guide </a></div><div class="nav-item"><a href="/vue-grid-layout/changelog/" class="nav-link"> Changelog </a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Select language" class="dropdown-title"><span class="title">Languages</span> <span class="arrow down"></span></button> <button type="button" aria-label="Select language" class="mobile-dropdown-title"><span class="title">Languages</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/vue-grid-layout/guide/events.html" aria-current="page" class="nav-link router-link-exact-active router-link-active"> English </a></li><li class="dropdown-item"><!----> <a href="/vue-grid-layout/zh/guide/events.html" class="nav-link"> 简体中文 </a></li></ul></div></div> <a href="https://github.com/jbaysolutions/vue-grid-layout" target="_blank" rel="noopener noreferrer" class="repo-link"> GitHub <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <div class="carbon-ads" data-v-6394a605></div> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>Guide</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/vue-grid-layout/guide/" aria-current="page" class="sidebar-link">Installation</a></li><li><a href="/vue-grid-layout/guide/usage.html" class="sidebar-link">Usage</a></li><li><a href="/vue-grid-layout/guide/properties.html" class="sidebar-link">Properties</a></li><li><a href="/vue-grid-layout/guide/events.html" aria-current="page" class="active sidebar-link">Events</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/vue-grid-layout/guide/events.html#gridlayout" class="sidebar-link">GridLayout</a></li><li class="sidebar-sub-header"><a href="/vue-grid-layout/guide/events.html#griditem" class="sidebar-link">GridItem</a></li></ul></li><li><a href="/vue-grid-layout/guide/styling.html" class="sidebar-link">Styling</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Examples</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/vue-grid-layout/guide/01-basic.html" class="sidebar-link">01 - Basic</a></li><li><a href="/vue-grid-layout/guide/02-events.html" class="sidebar-link">02 - Move and resize events</a></li><li><a href="/vue-grid-layout/guide/03-multiple-grids.html" class="sidebar-link">03 - Multiple grids</a></li><li><a href="/vue-grid-layout/guide/04-allow-ignore.html" class="sidebar-link">04 - Drag allow/ignore elements</a></li><li><a href="/vue-grid-layout/guide/05-mirrored.html" class="sidebar-link">05 - Mirrored grid layout</a></li><li><a href="/vue-grid-layout/guide/06-responsive.html" class="sidebar-link">06 - Responsive</a></li><li><a href="/vue-grid-layout/guide/07-prevent-collision.html" class="sidebar-link">07 - Prevent Collision</a></li><li><a href="/vue-grid-layout/guide/08-responsive-predefined-layouts.html" class="sidebar-link">08 - Responsive with predefined layouts</a></li><li><a href="/vue-grid-layout/guide/09-dynamic-add-remove.html" class="sidebar-link">09 - Dynamic Add/Remove</a></li><li><a href="/vue-grid-layout/guide/10-drag-from-outside.html" class="sidebar-link">10 - Drag From Outside</a></li><li><a href="/vue-grid-layout/guide/11-bounded.html" class="sidebar-link">11 - Dragging grid items bounded to grid container</a></li></ul></section></li></ul> <footer class="footer" data-v-6394a605> A product by: <a href="https://www.jbaysolutions.com/" target="_blank" rel="noopener" class="footer-card" data-v-6394a605><img src="/vue-grid-layout/assets/img/logo-jbay.png" alt="JBay Solutions" data-v-6394a605></a></footer></aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="events"><a href="#events" class="header-anchor">#</a> Events</h1> <p>Move and resize event listeners can be added to each grid-item, so that the parent Vue can be notified when a grid element is being moved or resized. Moved and resized event listeners can be added, if the only notification needed is when an item is finished moving or resizing.</p> <p>Working example <a href="/vue-grid-layout/guide/02-events.html">here</a></p> <div class="language-html extra-class"><pre class="language-html"><code> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>grid-layout</span> <span class="token attr-name">:layout</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>layout<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:col-num</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>12<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:row-height</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>30<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:is-draggable</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>true<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:is-resizable</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>true<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:vertical-compact</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>true<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:margin</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>[10, 10]<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:use-css-transforms</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>true<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@layout-created</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>layoutCreatedEvent<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@layout-before-mount</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>layoutBeforeMountEvent<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@layout-mounted</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>layoutMountedEvent<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@layout-ready</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>layoutReadyEvent<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@layout-updated</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>layoutUpdatedEvent<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@breakpoint-changed</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>breakpointChangedEvent<span class="token punctuation">&quot;</span></span> <span class="token punctuation">&gt;</span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>grid-item</span> <span class="token attr-name">v-for</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>item in layout<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:x</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>item.x<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:y</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>item.y<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:w</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>item.w<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:h</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>item.h<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:i</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>item.i<span class="token punctuation">&quot;</span></span> <span class="token attr-name">:key</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>item.i<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@resize</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>resizeEvent<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@move</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>moveEvent<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@resized</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>resizedEvent<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@container-resized</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>containerResizedEvent<span class="token punctuation">&quot;</span></span> <span class="token attr-name">@moved</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>movedEvent<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span> {{item.i}} <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>grid-item</span><span class="token punctuation">&gt;</span></span> <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>grid-layout</span><span class="token punctuation">&gt;</span></span> </code></pre></div><h2 id="gridlayout"><a href="#gridlayout" class="header-anchor">#</a> GridLayout</h2> <h3 id="layoutcreatedevent"><a href="#layoutcreatedevent" class="header-anchor">#</a> layoutCreatedEvent</h3> <p>Layout created event</p> <p>Emited on the component created lifecycle hook</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token function-variable function">layoutCreatedEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">newLayout</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Created layout: &quot;</span><span class="token punctuation">,</span> newLayout<span class="token punctuation">)</span> <span class="token punctuation">}</span> </code></pre></div><h3 id="layoutbeforemountevent"><a href="#layoutbeforemountevent" class="header-anchor">#</a> layoutBeforeMountEvent</h3> <p>Layout beforeMount event</p> <p>Emited on the component beforeMount lifecycle hook</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token function-variable function">layoutBeforeMountEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">newLayout</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;beforeMount layout: &quot;</span><span class="token punctuation">,</span> newLayout<span class="token punctuation">)</span> <span class="token punctuation">}</span> </code></pre></div><h3 id="layoutmountedevent"><a href="#layoutmountedevent" class="header-anchor">#</a> layoutMountedEvent</h3> <p>Layout mounted event</p> <p>Emited on the component mounted lifecycle hook</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token function-variable function">layoutMountedEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">newLayout</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Mounted layout: &quot;</span><span class="token punctuation">,</span> newLayout<span class="token punctuation">)</span> <span class="token punctuation">}</span> </code></pre></div><h3 id="layoutreadyevent"><a href="#layoutreadyevent" class="header-anchor">#</a> layoutReadyEvent</h3> <p>Layout ready event</p> <p>Emited when all the operations on the mount hook finish</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token function-variable function">layoutReadyEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">newLayout</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Ready layout: &quot;</span><span class="token punctuation">,</span> newLayout<span class="token punctuation">)</span> <span class="token punctuation">}</span> </code></pre></div><h3 id="layoutupdatedevent"><a href="#layoutupdatedevent" class="header-anchor">#</a> layoutUpdatedEvent</h3> <p>Layout updated event</p> <p>Every time the layout has finished updating and positions of all grid-items are recalculated</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token function-variable function">layoutUpdatedEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">newLayout</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;Updated layout: &quot;</span><span class="token punctuation">,</span> newLayout<span class="token punctuation">)</span> <span class="token punctuation">}</span> </code></pre></div><h3 id="breakpointchangedevent"><a href="#breakpointchangedevent" class="header-anchor">#</a> breakpointChangedEvent</h3> <p>Breakpoint Changed event</p> <p>Every time the breakpoint value changes due to window resize</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token comment">/** * * @param newBreakpoint the breakpoint name * @param newLayout the chosen layout for the breakpoint * */</span> <span class="token function-variable function">breakpointChangedEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">newBreakpoint<span class="token punctuation">,</span> newLayout</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;BREAKPOINT CHANGED breakpoint=&quot;</span><span class="token punctuation">,</span> newBreakpoint<span class="token punctuation">,</span> <span class="token string">&quot;, layout: &quot;</span><span class="token punctuation">,</span> newLayout <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> </code></pre></div><h2 id="griditem"><a href="#griditem" class="header-anchor">#</a> GridItem</h2> <h3 id="moveevent"><a href="#moveevent" class="header-anchor">#</a> moveEvent</h3> <p>Move event</p> <p>Every time an item is being moved and changes position</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token function-variable function">moveEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">i<span class="token punctuation">,</span> newX<span class="token punctuation">,</span> newY</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;MOVE i=&quot;</span> <span class="token operator">+</span> i <span class="token operator">+</span> <span class="token string">&quot;, X=&quot;</span> <span class="token operator">+</span> newX <span class="token operator">+</span> <span class="token string">&quot;, Y=&quot;</span> <span class="token operator">+</span> newY<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> </code></pre></div><h3 id="resizeevent"><a href="#resizeevent" class="header-anchor">#</a> resizeEvent</h3> <p>Resize event</p> <p>Every time an item is being resized and changes size</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token function-variable function">resizeEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">i<span class="token punctuation">,</span> newH<span class="token punctuation">,</span> newW<span class="token punctuation">,</span> newHPx<span class="token punctuation">,</span> newWPx</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;RESIZE i=&quot;</span> <span class="token operator">+</span> i <span class="token operator">+</span> <span class="token string">&quot;, H=&quot;</span> <span class="token operator">+</span> newH <span class="token operator">+</span> <span class="token string">&quot;, W=&quot;</span> <span class="token operator">+</span> newW <span class="token operator">+</span> <span class="token string">&quot;, H(px)=&quot;</span> <span class="token operator">+</span> newHPx <span class="token operator">+</span> <span class="token string">&quot;, W(px)=&quot;</span> <span class="token operator">+</span> newWPx<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> </code></pre></div><h3 id="movedevent"><a href="#movedevent" class="header-anchor">#</a> movedEvent</h3> <p>Moved event</p> <p>Every time an item is finished being moved and changes position</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token function-variable function">movedEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">i<span class="token punctuation">,</span> newX<span class="token punctuation">,</span> newY</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;MOVED i=&quot;</span> <span class="token operator">+</span> i <span class="token operator">+</span> <span class="token string">&quot;, X=&quot;</span> <span class="token operator">+</span> newX <span class="token operator">+</span> <span class="token string">&quot;, Y=&quot;</span> <span class="token operator">+</span> newY<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> </code></pre></div><h3 id="resizedevent"><a href="#resizedevent" class="header-anchor">#</a> resizedEvent</h3> <p>Resized event</p> <p>Every time an item is finished being resized and changes size</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token comment">/** * * @param i the item id/index * @param newH new height in grid rows * @param newW new width in grid columns * @param newHPx new height in pixels * @param newWPx new width in pixels * */</span> <span class="token function-variable function">resizedEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">i<span class="token punctuation">,</span> newH<span class="token punctuation">,</span> newW<span class="token punctuation">,</span> newHPx<span class="token punctuation">,</span> newWPx</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;RESIZED i=&quot;</span> <span class="token operator">+</span> i <span class="token operator">+</span> <span class="token string">&quot;, H=&quot;</span> <span class="token operator">+</span> newH <span class="token operator">+</span> <span class="token string">&quot;, W=&quot;</span> <span class="token operator">+</span> newW <span class="token operator">+</span> <span class="token string">&quot;, H(px)=&quot;</span> <span class="token operator">+</span> newHPx <span class="token operator">+</span> <span class="token string">&quot;, W(px)=&quot;</span> <span class="token operator">+</span> newWPx<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> </code></pre></div><h3 id="containerresizedevent"><a href="#containerresizedevent" class="header-anchor">#</a> containerResizedEvent</h3> <p>Container Resized event</p> <p>Every time the grid item/layout container changes size (browser window or other)</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code> <span class="token comment">/** * * @param i the item id/index * @param newH new height in grid rows * @param newW new width in grid columns * @param newHPx new height in pixels * @param newWPx new width in pixels * */</span> <span class="token function-variable function">containerResizedEvent</span><span class="token operator">:</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">i<span class="token punctuation">,</span> newH<span class="token punctuation">,</span> newW<span class="token punctuation">,</span> newHPx<span class="token punctuation">,</span> newWPx</span><span class="token punctuation">)</span><span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span><span class="token string">&quot;CONTAINER RESIZED i=&quot;</span> <span class="token operator">+</span> i <span class="token operator">+</span> <span class="token string">&quot;, H=&quot;</span> <span class="token operator">+</span> newH <span class="token operator">+</span> <span class="token string">&quot;, W=&quot;</span> <span class="token operator">+</span> newW <span class="token operator">+</span> <span class="token string">&quot;, H(px)=&quot;</span> <span class="token operator">+</span> newHPx <span class="token operator">+</span> <span class="token string">&quot;, W(px)=&quot;</span> <span class="token operator">+</span> newWPx<span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> </code></pre></div></div> <footer class="page-edit"><div class="edit-link"><a href="https://github.com/jbaysolutions/vue-grid-layout/edit/master/website/docs/guide/events.md" target="_blank" rel="noopener noreferrer">Help improve this page!</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">11/5/2020, 5:58:04 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev"><a href="/vue-grid-layout/guide/properties.html" class="prev"> Properties </a></span> <span class="next"><a href="/vue-grid-layout/guide/styling.html"> Styling </a></span></p></div> </main></div><div class="global-ui"><!----></div></div> <script src="/vue-grid-layout/assets/js/app.3b46d3a7.js" defer></script><script src="/vue-grid-layout/assets/js/5.fbd53fc9.js" defer></script><script src="/vue-grid-layout/assets/js/4.9a10d8f3.js" defer></script><script src="/vue-grid-layout/assets/js/39.85b7f492.js" defer></script> </body> </html>