Hello,
Skuid provides a lot already, being able to create models dynamically, attaching children to components, utils, etc. And I understand that Skuid wants people to use declarative interface as much as possible.
Though, there are a lot of times we want to create something more dynamic, add additional features, or adjust how the component works. In those cases it’s a lot of hacking, recreating wheels and headbanging.
For example:
- Changing the action called by the ‘Save’ button on Skuid Table. The save button just calls blockUi action and saves model, quite simple and it works like any other button.
- Currently, I could change it if I really wanted to, but I would have to go through the tree of children components or all button components, compare strings to make sure it matches, and (I think) use component.set(). - I explored it, but haven’t done it, as it would be too messy to find the button.
- More documentation on Events and Custom Field rendering.
- Existing examples of Custom Field Renders are good, but an example of using Maquette would be helpful. I recently got a better idea of how the projector works, but it initially was hard because I did not know how the projector was used by Skuid. E.g. I believe if I cancel a model, Skuid will update (merge) the fields (not replace), but initially, I didn’t even know if Skuid uses the projector. Maybe it doesn’t.
- e.g. if I want to subscribe to an update event it’s row.updated instead of updated. I found out by looking at models created by skuid via console. More examples would help. I still do not understand how to subscribe to an event to a component.
- Creating Custom Fields is an awesome feature, but custom components lose consistency in styling. I wish there was a way for me to call a Skuid function that creates the ??node??, if I return it then it would act as a regular field. Though, before I return it I could edit it however I wanted.
- e.g. I wanted to assign a dynamic model as a source model of options to my Combox, but as a result, I had to re-create the wheel, which was a lot of effort because Html does not provide that sort of element, also handling events fire by vNodes and async nature of updating source model is not simple.
- e.g I wanted to create either Select (Picklist) or Combobox for a field based on custom logic.
Thank you,
Lukas
tl;dr:
Expose more of Skuid functionality to those who want to make the components more powerful, but do not want to result to re-creating the wheel.