This commit is contained in:
Kovid Goyal 2016-06-10 16:22:46 +05:30
parent 7760f53a70
commit 534e378abb
2 changed files with 15 additions and 2 deletions

View File

@ -20,7 +20,7 @@ def create_toc_panel(book, container, onclick, onclose):
container.appendChild(E.div(
style='display: flex; justify-content: space-between; padding: 1ex 1em; border-bottom: solid 1px currentColor',
E.h2(_('Table of Contents')),
E.div(svgicon('close'), onclick=def(event):event.preventDefault(), event.stopPropagation(), onclose(event);, style='cursor: pointer', class_='simple-link'),
E.div(svgicon('close'), onclick=def(event):event.preventDefault(), event.stopPropagation(), onclose(event);, class_='simple-link'),
))
def handle_click(event, li):
if event.button is 0:

View File

@ -7,6 +7,7 @@ from elementmaker import E
from book_list.theme import get_color
# Button {{{
BUTTON_VPADDING = '0.5ex'
def create_button(text, icon=None, action=None, tooltip=None, highlight=False):
@ -28,7 +29,9 @@ create_button.style = build_rule('button.calibre-push-button',
)
create_button.style += build_rule('button.calibre-push-button:hover', transform='scale(1.2)')
create_button.style += build_rule('button.calibre-push-button:active', transform='scale(2)')
# }}}
# Spinner {{{
def create_spinner(height, width):
ans = svgicon('cog', height, width)
ans.classList.add('spin')
@ -37,6 +40,10 @@ def create_spinner(height, width):
create_spinner.style = build_rule('.spin', animation='spin 2s infinite linear')
create_spinner.style += create_keyframes('spin', 'from { transform: rotate(0deg); } to { transform: rotate(359deg);}')
# }}}
# Breadcrumbs {{{
id_counter = 0
class Breadcrumbs:
@ -93,6 +100,9 @@ class Breadcrumbs:
li.addEventListener('click', callback)
self.container.appendChild(li)
return li
# }}}
# Simple Tree {{{
def create_tree(root, populate_data, onclick):
container = E.div(class_='simple-tree')
@ -123,6 +133,8 @@ def create_tree(root, populate_data, onclick):
class_='simple-link',
onclick=def (event):
if onclick:
if event.button is 0:
event.preventDefault(), event.stopPropagation()
onclick(event, event.currentTarget.parentNode.parentNode)
),
),
@ -141,10 +153,11 @@ def create_tree(root, populate_data, onclick):
if root:
process_node(root, container, 0)
return container
# }}}
def get_widget_css():
ans = 'a, button:focus { outline: none }; a, button::-moz-focus-inner { border: 0 }\n'
ans += '.simple-link:hover { color: red; } .simple-tree:active { transform: scale(1.5) }\n'
ans += '.simple-link { cursor: pointer } .simple-link:hover { color: red } .simple-tree:active { transform: scale(1.5) }\n'
ans += create_button.style
ans += create_spinner.style
ans += Breadcrumbs.STYLE_RULES