Must be an AngularJS directive
It should take an option object, with at least below details:
The caller can update this JSON values at runtime. e.g. status, text, etc.. So, directive should behave like a two way binded control.
Changes in the object should be reflected in directive
diagram: JSON //(above structured data, client can update this too),
/* Callback function, which directive would call when user selects a table and if mode = selection.