Inventables Community Forum

Adding new functionality to Easel: Quick app search

Method 1: Adding things “on-top”

Hi,

Since Easel runs in your browser, you can do some tricks to improve your experience. I am going to show a little addition I made. First, you need something to add custom code, in my case I used Tampermonkey plugin for Chrome. Any plugin for userscripts is going to work.

My idea is to add a quick search functionality:

First, we look for a component that works for this purpose, https://deuxhuithuit.github.io/quicksearch/r/examples/ looks fine. Now we have to find a way to “inject” the code to Easel after we press the Apps button. An easy way is using the browser debugger, in this case we press F12, then press Tools and check the initiator call stack:

LoadApps looks promising, we can check what is doing in the script source:

It seems that when the app list is load correctly, there is a callback we can intercept:

In this case, oldFunction will be the original function, and we append our code to this. The code is just appending the search inputbox and some other code. We can load scripts with tampermonkey but to keep Easel clean I am going to load the quicksearch library on request only, using: https://www.nczonline.net/blog/2009/07/28/the-best-way-to-load-external-javascript/

Install/Download:
http://services.ried.cl/userscripts/easel_apps_quicksearch.user.js


Method 2: Direct modification

Install a redirector Plugin, like R-Redirector:

Press F12 while Easel is loading and copy the Easel.js script and URL Inventables is using for your session (you may need to update this in the future to keep your easel “mod” updated):

Mod the code as you like:

Upload the new Easel.js file and add a redirect from the original easel script URL you captured to your new file.

You may need another plugin like Allow-Control-Allow-Origin to get this working (this is because the browser is going to block the cross domain redirection):

That’s all!

Enjoy!

Easel developer here, seeing stuff like this really helps to light a fire under us!

Of course all the usual caveats should be stated: stuff can change without warning, etc, etc, I’m sure you already know that.

Keeping things organized (be it projects, apps, etc) is definitely an area we need to work on. Things always grow unmanageable faster than we think they will.

1 Like

I’m sorry. I misunderstood you. I thought you were asking for it in the community projects. I just didn’t understand why you were so against the idea.