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?