#!/usr/bin/env python
# coding: utf-8
# In[ ]:
import ipyvuetify as v
from traitlets import (Any, Unicode, List)
# In[ ]:
class MyMenu(v.VuetifyTemplate):
color = Unicode('primary').tag(sync=True)
items = List(['red', 'green', 'purple']).tag(sync=True)
button_text = Unicode('menu').tag(sync=True)
template = Unicode('''
{{ button_text }}
{{ item }}
''').tag(sync=True)
def vue_menu_click(self, data):
self.color = self.items[data]
self.button_text = self.items[data]
MyMenu()
# In[ ]:
from traitlets import *
import ipyvuetify as v
select = v.Select(items=['identity', 'log', 'log10', 'log1p', 'log1p'], v_model='log', label='Transform')
class Test(v.VuetifyTemplate):
items = Any(['a', 'b']).tag(sync=True)
template = Unicode('''
''').tag(sync=True)
def vue_menu_click(self, data):
self.color = self.items[data]
self.button_text = self.items[data]
test = Test(components={'myselect': select})
test
# In[ ]:
import pandas as pd
import traitlets
import ipyvuetify as v
import json
class PandasDataFrame(v.VuetifyTemplate):
"""
Vuetify DataTable rendering of a pandas DataFrame
Args:
data (DataFrame) - the data to render
title (str) - optional title
"""
headers = traitlets.List([]).tag(sync=True, allow_null=True)
items = traitlets.List([]).tag(sync=True, allow_null=True)
search = traitlets.Unicode('').tag(sync=True)
title = traitlets.Unicode('DataFrame').tag(sync=True)
index_col = traitlets.Unicode('').tag(sync=True)
template = traitlets.Unicode('''
{{ title }}
Sorry, nothing to display here :(
Your search for "{{ search }}" found no results.
{{ element }}
|
''').tag(sync=True)
def __init__(self, *args,
data=pd.DataFrame(),
title=None,
**kwargs):
super().__init__(*args, **kwargs)
data = data.reset_index()
self.index_col = data.columns[0]
headers = [{
"text": col,
"value": col
} for col in data.columns]
headers[0].update({'align': 'left', 'sortable': True})
self.headers = headers
self.items = json.loads(
data.to_json(orient='records'))
if title is not None:
self.title = title
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
test = PandasDataFrame(data = iris, title='Iris')
test