From f0d2c6daab2c1ce344becc7a0b7d7e80ce7a19cb Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Sat, 17 Dec 2022 22:33:31 +0300 Subject: [PATCH] Feat(web/views/list_books): Toggle checkboxes for all books [skip ci] --- docs-ru/news.rst | 2 +- docs/news.rst | 2 +- m_librarian/web/views/list_books.py | 95 ++++++++++++++------------- m_librarian/web/views/list_books.tmpl | 7 +- 4 files changed, 58 insertions(+), 48 deletions(-) diff --git a/docs-ru/news.rst b/docs-ru/news.rst index 9ccb2fb..aeba321 100644 --- a/docs-ru/news.rst +++ b/docs-ru/news.rst @@ -4,7 +4,7 @@ Версия 0.1.7 (в разработке) --------------------------- -* Переключать чекбоксы для книг по сериям или для всех книг автора. +* Переключать чекбоксы для книг по сериям, для всех книг автора или все. * Python 3.11. diff --git a/docs/news.rst b/docs/news.rst index 927536c..8ce27c8 100644 --- a/docs/news.rst +++ b/docs/news.rst @@ -4,7 +4,7 @@ News Version 0.1.7 (in development) ------------------------------ -* Toggle checkboxes for books in series or for an author. +* Toggle checkboxes for books in series, for an author or all. * Python 3.11. diff --git a/m_librarian/web/views/list_books.py b/m_librarian/web/views/list_books.py index 029a49c..346f125 100644 --- a/m_librarian/web/views/list_books.py +++ b/m_librarian/web/views/list_books.py @@ -37,10 +37,10 @@ VFN=valueForName currentTime=time.time __CHEETAH_version__ = '3.2.6' __CHEETAH_versionTuple__ = (3, 2, 6, 'final', 0) -__CHEETAH_genTime__ = 1671305208.723562 -__CHEETAH_genTimestamp__ = 'Sat Dec 17 22:26:48 2022' +__CHEETAH_genTime__ = 1671305495.844598 +__CHEETAH_genTimestamp__ = 'Sat Dec 17 22:31:35 2022' __CHEETAH_src__ = 'list_books.tmpl' -__CHEETAH_srcLastModified__ = 'Sat Dec 17 22:26:46 2022' +__CHEETAH_srcLastModified__ = 'Sat Dec 17 22:31:33 2022' __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine' if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple: @@ -102,6 +102,10 @@ function toggleBooks(selector, value) { } } +function toggleAll(value) { + toggleBooks(\'input[type=checkbox]\', value); +} + function toggleAuthor(name, value) { toggleBooks(\'input[type=checkbox][name^=\' + name + \']\', value); } @@ -113,112 +117,113 @@ function toggleSeries(name, value) { ''') - if VFFSL(SL,"books_by_author",True): # generated from line 28, col 1 + if VFFSL(SL,"books_by_author",True): # generated from line 32, col 1 write(u'''
- + ''') if False: _ _ = VFFSL(SL,"getattr",False)(VFFSL(SL,"translations",True), 'ugettext', None) or VFFSL(SL,"translations.gettext",True) - for column in VFFSL(SL,"columns",True): # generated from line 34, col 3 + for column in VFFSL(SL,"columns",True): # generated from line 39, col 3 write(u''' ''') write(u''' ''') columns1 = VFFSL(SL,"len",False)(VFFSL(SL,"columns",True))+1 - for anum, author in VFFSL(SL,"enumerate",False)(VFFSL(SL,"sorted",False)(VFFSL(SL,"books_by_author",True))): # generated from line 39, col 3 + for anum, author in VFFSL(SL,"enumerate",False)(VFFSL(SL,"sorted",False)(VFFSL(SL,"books_by_author",True))): # generated from line 44, col 3 series = None snum = 0 books = VFFSL(SL,"books_by_author",True)[VFFSL(SL,"author",True)] write(u''' ''') - for book in VFFSL(SL,"books",True): # generated from line 48, col 5 - if VFFSL(SL,"book.series",True) != VFFSL(SL,"series",True): # generated from line 49, col 5 + for book in VFFSL(SL,"books",True): # generated from line 53, col 5 + if VFFSL(SL,"book.series",True) != VFFSL(SL,"series",True): # generated from line 54, col 5 series = VFFSL(SL,"book.series",True) snum += 1 write(u''' ''') write(u''' ''') - for column in VFFSL(SL,"columns",True): # generated from line 67, col 3 - if VFFSL(SL,"column",True) in ('ser_no', 'size'): # generated from line 68, col 3 + for column in VFFSL(SL,"columns",True): # generated from line 72, col 3 + if VFFSL(SL,"column",True) in ('ser_no', 'size'): # generated from line 73, col 3 style = ' style="text-align: right; width: 5ex"' - else: # generated from line 70, col 3 + else: # generated from line 75, col 3 style = '' write(u''' ''') - _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(unicode(VFFSL(SL,"getattr",False)(VFFSL(SL,"book",True), VFFSL(SL,"column",True)) or '')) # u"$cgi.escape(unicode($getattr($book, $column) or ''))" on line 73, col 13 - if _v is not None: write(_filter(_v, rawExpr=u"$cgi.escape(unicode($getattr($book, $column) or ''))")) # from line 73, col 13. + _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(unicode(VFFSL(SL,"getattr",False)(VFFSL(SL,"book",True), VFFSL(SL,"column",True)) or '')) # u"$cgi.escape(unicode($getattr($book, $column) or ''))" on line 78, col 13 + if _v is not None: write(_filter(_v, rawExpr=u"$cgi.escape(unicode($getattr($book, $column) or ''))")) # from line 78, col 13. write(u''' ''') write(u''' ''') write(u'''
 ''') if False: _(VFFSL(SL,"column",True)) - _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"_",False)(VFFSL(SL,"column",True))) # u'$cgi.escape($_($column))' on line 35, col 36 - if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($_($column))')) # from line 35, col 36. + _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"_",False)(VFFSL(SL,"column",True))) # u'$cgi.escape($_($column))' on line 40, col 36 + if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($_($column))')) # from line 40, col 36. write(u'''
''') - _v = VFFSL(SL,"author",True) # u'$author' on line 46, col 34 - if _v is not None: write(_filter(_v, rawExpr=u'$author')) # from line 46, col 34. + _v = VFFSL(SL,"author",True) # u'$author' on line 51, col 34 + if _v is not None: write(_filter(_v, rawExpr=u'$author')) # from line 51, col 34. write(u'''
''') - _v = VFFSL(SL,"author",True) # u'$author' on line 56, col 3 - if _v is not None: write(_filter(_v, rawExpr=u'$author')) # from line 56, col 3. + _v = VFFSL(SL,"author",True) # u'$author' on line 61, col 3 + if _v is not None: write(_filter(_v, rawExpr=u'$author')) # from line 61, col 3. write(u''' \u2014 ''') - if VFFSL(SL,"book.series",True): # generated from line 57, col 3 - _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"series",True), 1) # u'$cgi.escape($series, 1)' on line 58, col 1 - if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($series, 1)')) # from line 58, col 1. - else: # generated from line 59, col 3 + if VFFSL(SL,"book.series",True): # generated from line 62, col 3 + _v = VFN(VFFSL(SL,"cgi",True),"escape",False)(VFFSL(SL,"series",True), 1) # u'$cgi.escape($series, 1)' on line 63, col 1 + if _v is not None: write(_filter(_v, rawExpr=u'$cgi.escape($series, 1)')) # from line 63, col 1. + else: # generated from line 64, col 3 write(u'''\u0412\u043d\u0435 \u0441\u0435\u0440\u0438\u0439''') write(u'''
''') - else: # generated from line 83, col 1 + else: # generated from line 88, col 1 write(u'''

\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u043d\u0438 \u043e\u0434\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438!

''') diff --git a/m_librarian/web/views/list_books.tmpl b/m_librarian/web/views/list_books.tmpl index 79f29d3..3fa406a 100644 --- a/m_librarian/web/views/list_books.tmpl +++ b/m_librarian/web/views/list_books.tmpl @@ -15,6 +15,10 @@ function toggleBooks(selector, value) { } } +function toggleAll(value) { + toggleBooks('input[type=checkbox]', value); +} + function toggleAuthor(name, value) { toggleBooks('input[type=checkbox][name^=' + name + ']', value); } @@ -29,7 +33,8 @@ function toggleSeries(name, value) {
- + #set $_ = $getattr($translations, 'ugettext', None) or $translations.gettext #for $column in $columns -- 2.39.5
 $cgi.escape($_($column))