def _gen_js(self, dataframe): """Returns javascript for this table.""" columns = dataframe.columns data = dataframe.values data_formatters = {} header_formatters = {} default_formatter = _interactive_table_helper._find_formatter( # pylint: disable=protected-access _DEFAULT_FORMATTERS) for i, _ in enumerate(columns): data_formatters[i] = default_formatter header_formatters[i] = default_formatter formatted_data = _interactive_table_helper._format_data( # pylint: disable=protected-access data, _DEFAULT_NONUNICODE_FORMATTER, data_formatters) column_types = formatted_data['column_types'] columns_and_types = [] for i, (column_type, column) in enumerate(zip(column_types, columns)): columns_and_types.append( (column_type, str(header_formatters[i](column)))) return """ import "{gviz_url}"; window.createDataTable({{ data: {data}, columns: {columns}, rowsPerPage: {num_rows_per_page}, }}); """.format(gviz_url=_GVIZ_JS, data=formatted_data['data'], columns=_json.dumps(columns_and_types), num_rows_per_page=self._num_rows_per_page)
def _gen_js(self, dataframe, id_): """Returns javascript for this table.""" columns = dataframe.columns data = dataframe.values data_formatters = {} header_formatters = {} default_formatter = _interactive_table_helper._find_formatter( # pylint: disable=protected-access _DEFAULT_FORMATTERS) for i, _ in enumerate(columns): data_formatters[i] = default_formatter header_formatters[i] = default_formatter formatted_data = _interactive_table_helper._format_data( # pylint: disable=protected-access data, _DEFAULT_NONUNICODE_FORMATTER, data_formatters) column_types = formatted_data['column_types'] columns_and_types = [] for i, (column_type, column) in enumerate(zip(column_types, columns)): columns_and_types.append( (column_type, str(header_formatters[i](column)))) return """ google.colab.output.pauseOutputUntil(createDataTable({{ data: {data}, elementId: "{id}", columns: {columns}, rowsPerPage: {num_rows_per_page}, }})); //# sourceURL=table_{id} """.format(data=formatted_data['data'], id=id_, columns=_json.dumps(columns_and_types), num_rows_per_page=self._num_rows_per_page)
def _gen_js(self, dataframe): """Returns javascript for this table.""" columns = dataframe.columns data = dataframe.values data_formatters = {} header_formatters = {} default_formatter = _interactive_table_helper._find_formatter( # pylint: disable=protected-access _DEFAULT_FORMATTERS) for i, _ in enumerate(columns): data_formatters[i] = default_formatter header_formatters[i] = default_formatter formatted_data = _interactive_table_helper._format_data( # pylint: disable=protected-access data, _DEFAULT_NONUNICODE_FORMATTER, data_formatters) column_types = formatted_data['column_types'] columns_and_types = [] for i, (column_type, column) in enumerate(zip(column_types, columns)): columns_and_types.append( (column_type, str(header_formatters[i](column)))) column_options = [] if self._include_index: # Collapse index columns to minimum necessary width. We specify 1px but # they will auto-expand as necessary. column_options = [{ 'width': '1px', 'className': 'index_column' }] * self._dataframe.index.nlevels return """ import "{gviz_url}"; window.createDataTable({{ data: {data}, columns: {columns}, columnOptions: {column_options}, rowsPerPage: {num_rows_per_page}, helpUrl: "{help_url}", suppressOutputScrolling: {suppress_output_scrolling}, minimumWidth: {min_width}, }}); """.format(gviz_url=_GVIZ_JS, data=formatted_data['data'], columns=_json.dumps(columns_and_types), column_options=_json.dumps(column_options), num_rows_per_page=self._num_rows_per_page, help_url=_DATA_TABLE_HELP_URL, suppress_output_scrolling=_json.dumps( _DEFAULT_SUPPRESS_OUTPUT_SCROLLING), min_width=('"' + self._min_width + '"') if self._min_width else 'undefined')