interactive table component on js