Build your own Sortable Vue directive

On my last project I was asked to build an interface where people could create and manage a travel plan, adding places to visit (articles in the website) and combining them with a date block and a text block. The interface also allows to sort the blocks in order to arrange them at the user will.

In the past, I would address the drag and drop UI effect with the jQuery UI library. Although it was possible to handle everything with jQuery UI and jQuery itself, the code got messy almost all the times.

But, because I currently handle all…


If you started using Vue.js in your projects like me, you’d probably got into a position where you need unrelated (not linked by parenthood) components to talk (share props) to each other.

Photo by v2osk on Unsplash

The first approach: global event bus

The first pattern you probably tried was the global event bus, where an empty Vue instance was created just to bridge between the components in the need to communicate.

Problem is, this pattern is simple and fine for one or two interactions between components but it gets messy as soon the application starts to become bigger. …


Use this tip and focus on coding instead of managing ES6 imports!

Lately, as my Vue.js projects become more complex I started to separate my Vuex stores into modules.

Due to using a single state tree, all state of our application is contained inside one big object. However, as our application grows in scale, the store can get really bloated. To help with that, Vuex allows us to divide our store into modules. — Vuex docs

So, I ‘m using a separate module for each specific data set: a list of products, the shop storage (cart), a list of documents, and so on…

Vue.js is so beautiful that reminds me an Aurora — Photo by Lightscape on Unsplash

All is fine until I start having multiple modules…

Photo by MURUCUTU on Unsplash

I’m writing this story while I’m waiting, sited, near my flight gate. I’m in Lisbon airport taking a domestic flight to Oporto in a low cost company.

I do this connection several times a month and it really surprises me the human behaviour on the boarding arena, so this is my motto to write this story today.

It is now 11h25. The flight departs at 12h35.

PA announces the gate number for my flight: 205. Immediately a bunch of people from I don’t know where starts queuing, standing, in a line to the gate door. Besides that, nothing happens.


I was inspired to write this story after my last talk at WordPress Porto MeetUp about my experience with Gutenberg.

Gutenberg is arriving soon! The famous pseudo-futuristic WordPress 5.0 version is on the oven and estimated to be ready this November. This version brings Gutenberg to the WordPress core as the default editor.

So, if you still didn’t try out Gutenberg or if your agency is still not using it in live real-world projects, maybe it is time to pay some attention to this.

I know, it is hard to shift your attention to something completely new which seems to…

In the middle of 2015 I was working together with Zack Katz on the GravityView plugin and we knew we needed to improve the user experience configuring a view in the WordPress admin.

We developed a very fancy drag-n-drop interface where the user was able to pick some Gravity Forms fields and build a table or a list view with the form entries. We shipped this interface with the first plugin version all done with jQuery and jQuery UI. …

Grab a coffee and let’s dive into these words — Photo by Danielle MacInnes on Unsplash

This week I gave more attention to Medium. I learnt about it’s partner program and the premium offer. I enrolled in both. And I’m very excited with it.

I also wrote my first story.

As a developer that learnt a lot about programming reading other’s blogs I always felt compelled to give back in some way, and that’s why I keep my personal blog where from time…to time I post mostly about WordPress.

The state of drama

Gutenberg 3.7 is available for download full of new features and improvements at the same time there’s a new WordPress fork, The ClassicPress, trying to gain traction…

Ahhh, the good old times! — Photo by Mr Cup / Fabien Barral on Unsplash

For a seasoned WordPress developer, the new WordPress editor is a breakthrough in the regular workflow of building a website for a client.

WordPress is a very powerful framework, very extensible through themes and plugins, custom post types, custom fields, hooks and several other APIs… and it brings to the table a clean turn-key dashboard (the admin) very easy to use by our clients. As a web developer it is a luxury to not have to worry about the dashboard of a website. A major plus of WordPress.

I’ve been actively developing websites using WordPress since 2012. By then, as…

Luis Godinho

Making web with WordPress and Vue.js. Co-founder of GOMO

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store