In object-oriented programming, the decorator pattern is a design pattern that allows behavior to be added to an individual object, dynamically, without affecting the behavior of other objects from the same class. If you wish to use the decorators provided by Procesio you will need to implement the IAction interface, MyCustomAction : IAction.
Decorators use properties that indicate whether and how the attribute is applied.
1. Name - allows us to provide a name for the class decorator in order to internally identify it: Name = "List Sort".
2. Description - allows us to give a short description of the functionality of the Custom Action.
3. Shape - allows us to choose the shape of the custom action from three possible choices: Circle, Square and Diamond.
Images can be included inside the shape during while we upload the shape by choosing from a predefined gallery.
4. Classification - allows us to classify the custom action according to its characteristics, for the time being all will be classified as cat1.
5. IsTestable - allows you to create a testing area inside the custom action where you can check the functionality manually. When IsTestable is equal to true a new button will appear that will open a section where you can add values for testing purposes.
The action can be tested only if the components are added inside a side panel, if not the TestAction button will not be visible.
6. Tooltip - allows us to add a hint that will appear when you hover the cursor over the custom action.
7. CanDelete, CanDuplicate and CanAddFromToolbar are permissions that allow us to choose the appropriate way we can use the custom action inside the platform.
- if CanDelete is false the action can not be removed from the canvas once added
- if CanDuplicate is false we can not use CTRL + C and CTRL + V to make copies of the action on the canvas
- CanAddFromToolbar is false it will not be present in the toolbar
Custom actions can be added from inside a process in the Custom actions tab by clicking the + Create custom action button and uploading the .nupkg file.