I want to override DMN table renderer to ad a link next to every rule. Probably best would be to have a separate column after or before index one.
I was able to provide a custom decision rules module, which return my class for components.onGetComponent(‘cell’), but whenever I use JSX in my component, I get following error in the console:
TypeError: h is not a function
at CustomDecisionRulesCellComponent.render
Can you advice how can I add some html to the rendered cell/ add additional column with html there? Link will need to access one of the columns values so it should be able to read columns in the table.
I forgot to mention, that I am doing this module inside an VueJS app. When I have added following:
import {createElement} from 'inferno-create-element';
export class CustomDecisionRulesCellComponent extends DecisionRulesCellComponent {
render() {
return (
createElement('td', null, 'test')
);
}
}
It seem to work, but this is kinda hacky solution.
So it seems like render function is treated like a VueJS component render function, which accepts a h/createElement argument. But I would like this component to be an Inferno component, because it extends DecisionRulesCellComponent.
How can I do that? It seems like my JavaScript skills end here…
Now I see what is going on - component receives a cell as an argument to render function, because it is injected as a module intro dmn-js. But it is also handled by Vue.js so it expect createElement/h function to be a first argument to the method. So it tries to call createElement/h which actually is a cell here.
Is there an option to overcome this problem?