Wappler Extensibility - Writing Custom Modules and Formatters for Server Connect

A thing that would be cool for the future is to be able to populate droplists from outside sources
by defining in the hjson file a call to a helper function in the module js file. This helper would call the external source(API, file, etc) and populate the dropdown with the data it returns.

i.e. API Modules

I was about to start creating a module for Sendgrid and I wanted to be able to populate a dropdown with the transactional email templates.

Therefore I would need to call with the helper this endpoint and return the results to the droplist.

This would allow cool integrations.

4 Likes

Having also extensive output schema can also be challenging to define. For example if you want to wrap a good API in a module like stripe or the google APIs they return pretty large outputs

2 Likes

Hello @George ,
custom module and formatter (client -side) will be add in near future ?

They are added Serhat - that is what this post explains.

ohh so sory I mean client side

Hi @George / @patrick . Is there a flag to enable the pencil icon like in Set Value?
image

Hey @George - how would I handle array/nested data in the dataScheme output for a hjson file?

For example we have this nesting:
Screen Shot 2020-11-25 at 11.11.59 am

And need to be able to use the data in an array, so we can try and sort on end_date.

Hi @mgaussie,

have a look at how @patrick did it in my case

Thank you @MH2ag - I thought htat was solved, but for whatever reason my hjson isnā€™t sending the nesting, as per Patricks instructions. To be honest, itā€™s not even updating!

Yes it was solved with the info from @patrick thatā€˜s why I thought it could help you. I got a nested output with this scheme.
What npm module are you using?

yes add: allowEdit: true

1 Like

@George would you mind writing a small example for the subfolders(as in Stripe) usage.

Here you go, we support maximum of two nested groups, you can even use fancy layered font awesome icons now :slight_smile:

  module: "stripe",
  action: "createCustomer",
  groupTitle: "Stripe",
  groupIcon: "fab fa-lg fa-stripe-s comp-data",
  groupTitle2: "Customers",
  groupIcon2: "fad fa-lg fa-user-tie color-yellow",
  title: "Create Customer",
  icon: [
    {prefix: "fad", iconName: "user-tie", classes: "color-yellow"},
    {
      prefix: "fas",
      iconName: "plus",
      styles: {color: "#222"},
      transform: {size: 9, x: 10, y: -8}
    },
    {
      prefix: "fas",
      iconName: "plus",
      classes: "color-green",
      transform: {size: 8, x: 10, y: -8}
    }
  ],
...
5 Likes

In the latest Wappler version, this is causing the pickers to fail.
This value in HSJON results in JSON like:

    "$_GET": [
      {
        "object"
      },
      {
        "object"
      }
    ]
  },

Instead, using this works correctly:

globalVars: {
			'$_GET' : [{name: 'name', type: 'text'}, {name: 'objectid', type: 'text'}]
		},
1 Like

Yes indeed, I will change the docs.

1 Like

Note extension builders! @JonL @mebeingken @sid

We just added support for the on demand node modules installation, so now you can add those to the Hjson as well, see:

2 Likes

Thanks george! Neat addition :slight_smile:

1 Like

Nice! :+1:

5 posts were split to a new topic: UsedModules in custom extensions arenā€™t auto installed

I want this in the ui of my custom server action:

How can we get this object creator in the UI, any option for that in the .hjson?