From fbd73b2139f58ec20fe5253f4337e05088e2da1f Mon Sep 17 00:00:00 2001 From: Lucas Meneghel Rodrigues Date: Sun, 23 Nov 2014 23:01:33 -0200 Subject: [PATCH] Avocado: Add htmlresult plugin Add a plugin to write a job summary HTML page. The plugin takes results and creates a JSON context, that is used by the pystache library, to render an HTML page using a mustache template. This commit contains the base plugin code, and the resource files used by the plugin (bootstrap for some of the js, base css, datatables for the test results table functionality). Signed-off-by: Lucas Meneghel Rodrigues --- avocado/plugins/htmlresult.py | 279 +++++++++++++++ .../htmlresult/static/css/bootstrap.min.css | Bin 0 -> 114011 bytes .../static/css/dataTables.bootstrap.css | 319 ++++++++++++++++++ .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | Bin 0 -> 62926 bytes .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes .../htmlresult/static/images/sort_asc.png | Bin 0 -> 1118 bytes .../htmlresult/static/images/sort_both.png | Bin 0 -> 1136 bytes .../htmlresult/static/images/sort_desc.png | Bin 0 -> 1127 bytes .../htmlresult/static/js/bootstrap.min.js | Bin 0 -> 34653 bytes .../static/js/dataTables.bootstrap.js | 186 ++++++++++ .../static/js/jquery.dataTables.min.js | Bin 0 -> 77499 bytes .../htmlresult/static/js/jquery.min.js | Bin 0 -> 93107 bytes .../htmlresult/templates/report.mustache | 112 ++++++ 15 files changed, 896 insertions(+) create mode 100644 avocado/plugins/htmlresult.py create mode 100644 avocado/plugins/resources/htmlresult/static/css/bootstrap.min.css create mode 100644 avocado/plugins/resources/htmlresult/static/css/dataTables.bootstrap.css create mode 100644 avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.eot create mode 100644 avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.svg create mode 100644 avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.ttf create mode 100644 avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.woff create mode 100644 avocado/plugins/resources/htmlresult/static/images/sort_asc.png create mode 100644 avocado/plugins/resources/htmlresult/static/images/sort_both.png create mode 100644 avocado/plugins/resources/htmlresult/static/images/sort_desc.png create mode 100644 avocado/plugins/resources/htmlresult/static/js/bootstrap.min.js create mode 100644 avocado/plugins/resources/htmlresult/static/js/dataTables.bootstrap.js create mode 100644 avocado/plugins/resources/htmlresult/static/js/jquery.dataTables.min.js create mode 100644 avocado/plugins/resources/htmlresult/static/js/jquery.min.js create mode 100644 avocado/plugins/resources/htmlresult/templates/report.mustache diff --git a/avocado/plugins/htmlresult.py b/avocado/plugins/htmlresult.py new file mode 100644 index 00000000..bd055ab8 --- /dev/null +++ b/avocado/plugins/htmlresult.py @@ -0,0 +1,279 @@ +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# See LICENSE for more details. +# +# Copyright: Red Hat Inc. 2014 +# Author: Lucas Meneghel Rodrigues + +""" +HTML output module. +""" + +import os +import time +import shutil +import sys +import webbrowser + +import pystache + +from avocado.core import output +from avocado.core import error_codes +from avocado.plugins import plugin +from avocado.result import TestResult + + +class ReportModel(object): + + """ + Prepares JSON that can be passed up to mustache for rendering. + """ + + def __init__(self, json_input, html_output, relative_links): + """ + Base JSON that comes from test results. + """ + self.json = json_input + self.relative_links = relative_links + self.html_output = html_output + + def job_id(self): + return self.json['job_id'] + + def execution_time(self): + return "%.2f" % self.json['time'] + + def _results_dir(self, relative_links=True): + debuglog_abspath = os.path.abspath(os.path.dirname(self.json['debuglog'])) + html_output_abspath = os.path.abspath(os.path.dirname(self.html_output)) + if relative_links: + return os.path.relpath(debuglog_abspath, html_output_abspath) + else: + return debuglog_abspath + + def results_dir(self): + return self._results_dir(relative_links=self.relative_links) + + def results_dir_basename(self): + return os.path.basename(self._results_dir(relative_links=False)) + + def total(self): + return self.json['total'] + + def passed(self): + return self.json['pass'] + + def pass_rate(self): + pr = 100 * (float(self.json['pass']) / float(self.json['total'])) + return "%.2f" % pr + + def _get_sysinfo(self, sysinfo_file): + sysinfo_path = os.path.join(self._results_dir(relative_links=False), 'sysinfo', 'pre', sysinfo_file) + try: + with open(sysinfo_path, 'r') as sysinfo_file: + sysinfo_contents = sysinfo_file.read() + except OSError, details: + sysinfo_contents = "Error reading %s: %s" % (sysinfo_path, details) + return sysinfo_contents + + def hostname(self): + return self._get_sysinfo('hostname') + + @property + def tests(self): + mapping = {"TEST_NA": "warning", + "ABORT": "danger", + "ERROR": "danger", + "NOT_FOUND": "warning", + "FAIL": "danger", + "WARN": "warning", + "PASS": "success", + "START": "info", + "ALERT": "danger", + "RUNNING": "info", + "NOSTATUS": "info", + "INTERRUPTED": "danger"} + test_info = self.json['tests'] + for t in test_info: + t['link'] = os.path.join(self._results_dir(relative_links=self.relative_links), 'test-results', t['url'], 'debug.log') + t['link_basename'] = os.path.basename(t['link']) + t['dir_link'] = os.path.join(self._results_dir(relative_links=self.relative_links), 'test-results', t['url']) + t['time'] = "%.2f" % t['time'] + t['time_start'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t['time_start'])) + t['row_class'] = mapping[t['status']] + exibition_limit = 40 + if len(t['fail_reason']) > exibition_limit: + t['fail_reason'] = ('%s...' % + (t['fail_reason'], t['fail_reason'][:exibition_limit])) + return test_info + + def sysinfo(self): + base_path = os.path.join(self._results_dir(relative_links=False), 'sysinfo', 'pre') + sysinfo_files = os.listdir(base_path) + sysinfo_files.sort() + sysinfo_list = [] + s_id = 1 + for s_f in sysinfo_files: + sysinfo_dict = {} + sysinfo_path = os.path.join(base_path, s_f) + try: + with open(sysinfo_path, 'r') as sysinfo_file: + sysinfo_dict['file'] = " ".join(s_f.split("_")) + sysinfo_dict['contents'] = sysinfo_file.read() + sysinfo_dict['element_id'] = 'heading_%s' % s_id + sysinfo_dict['collapse_id'] = 'collapse_%s' % s_id + except OSError: + sysinfo_dict[s_f] = 'Error reading sysinfo file %s' % sysinfo_path + sysinfo_list.append(sysinfo_dict) + s_id += 1 + return sysinfo_list + + +class HTMLTestResult(TestResult): + + """ + HTML Test Result class. + """ + + command_line_arg_name = '--html' + + def __init__(self, stream=None, args=None): + TestResult.__init__(self, stream, args) + self.output = getattr(self.args, 'html_output') + self.args = args + self.view = output.View(app_args=args) + self.json = None + + def start_tests(self): + """ + Called once before any tests are executed. + """ + TestResult.start_tests(self) + self.json = {'debuglog': self.stream.logfile, + 'tests': []} + + def end_test(self, state): + """ + Called when the given test has been run. + + :param state: result of :class:`avocado.test.Test.get_state`. + :type state: dict + """ + TestResult.end_test(self, state) + if 'job_id' not in self.json: + self.json['job_id'] = state['job_unique_id'] + if state['fail_reason'] is None: + state['fail_reason'] = '' + else: + state['fail_reason'] = str(state['fail_reason']) + t = {'test': state['tagged_name'], + 'url': state['name'], + 'time_start': state['time_start'], + 'time_end': state['time_end'], + 'time': state['time_elapsed'], + 'status': state['status'], + 'fail_reason': state['fail_reason'], + 'whiteboard': state['whiteboard'], + } + self.json['tests'].append(t) + + def end_tests(self): + """ + Called once after all tests are executed. + """ + TestResult.end_tests(self) + self.json.update({ + 'total': len(self.json['tests']), + 'pass': len(self.passed), + 'errors': len(self.errors), + 'not_found': len(self.not_found), + 'failures': len(self.failed), + 'skip': len(self.skipped), + 'time': self.total_time + }) + self._render_report() + + def _render_report(self): + if self.args is not None: + relative_links = getattr(self.args, 'relative_links') + else: + relative_links = False + + context = ReportModel(json_input=self.json, html_output=self.output, relative_links=relative_links) + renderer = pystache.Renderer() + html = HTML() + template = html.get_resource_path('templates', 'report.mustache') + report_contents = renderer.render(open(template, 'r').read(), context) + static_basedir = html.get_resource_path('static') + if self.output == '-': + self.view.notify(event='error', msg="HTML to stdout not supported " + "(not all HTML resources can be embedded to a single file)") + sys.exit(error_codes.numeric_status['AVOCADO_JOB_FAIL']) + else: + output_dir = os.path.dirname(os.path.abspath(self.output)) + if not os.path.exists(output_dir): + os.makedirs(output_dir) + for resource_dir in os.listdir(static_basedir): + res_dir = os.path.join(static_basedir, resource_dir) + out_dir = os.path.join(output_dir, resource_dir) + if os.path.exists(out_dir): + shutil.rmtree(out_dir) + shutil.copytree(res_dir, out_dir) + with open(self.output, 'w') as report_file: + report_file.write(report_contents) + + if self.args is not None: + if getattr(self.args, 'open_browser'): + webbrowser.open(self.output) + + +class HTML(plugin.Plugin): + + """ + HTML job report. + """ + + name = 'htmlresult' + enabled = True + parser = None + + def configure(self, parser): + self.parser = parser + self.parser.runner.add_argument( + '--html', type=str, + dest='html_output', + help=('Enable HTML output to the file where the result should be written. ' + 'The option - is not supported since not all HTML resources can be ' + 'embedded into a single file (page resources will be copied to the ' + 'output file dir)')) + self.parser.runner.add_argument( + '--relative-links', + dest='relative_links', + action='store_true', + default=False, + help=('On the HTML report, generate anchor links with relative instead of absolute paths. Default: %s' % + False)) + self.parser.runner.add_argument( + '--open-browser', + dest='open_browser', + action='store_true', + default=False, + help='Open the generated report on your preferred browser. ' + 'This works even if --html was not explicitly passed, since an HTML ' + 'report is always generated on the job results dir. Default: %s' % False) + self.configured = True + + def activate(self, app_args): + try: + if app_args.html_output: + self.parser.application.set_defaults(html_result=HTMLTestResult) + except AttributeError: + pass diff --git a/avocado/plugins/resources/htmlresult/static/css/bootstrap.min.css b/avocado/plugins/resources/htmlresult/static/css/bootstrap.min.css new file mode 100644 index 0000000000000000000000000000000000000000..4af8905e5b8a97dee4470a7d15ebbf0ad2a22a7d GIT binary patch literal 114011 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 K$q{m1t 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 tr > th { + padding-left: 18px; + padding-right: 18px; +} + +table.dataTable th:active { + outline: none; +} + +/* Scrolling */ +div.dataTables_scrollHead table { + margin-bottom: 0 !important; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +div.dataTables_scrollHead table thead tr:last-child th:first-child, +div.dataTables_scrollHead table thead tr:last-child td:first-child { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +div.dataTables_scrollBody table { + border-top: none; + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +div.dataTables_scrollBody tbody tr:first-child th, +div.dataTables_scrollBody tbody tr:first-child td { + border-top: none; +} + +div.dataTables_scrollFoot table { + margin-top: 0 !important; + border-top: none; +} + +/* Frustratingly the border-collapse:collapse used by Bootstrap makes the column + width calculations when using scrolling impossible to align columns. We have + to use separate + */ +table.table-bordered.dataTable { + border-collapse: separate !important; +} +table.table-bordered thead th, +table.table-bordered thead td { + border-left-width: 0; + border-top-width: 0; +} +table.table-bordered tbody th, +table.table-bordered tbody td { + border-left-width: 0; + border-bottom-width: 0; +} +table.table-bordered th:last-child, +table.table-bordered td:last-child { + border-right-width: 0; +} +div.dataTables_scrollHead table.table-bordered { + border-bottom-width: 0; +} + + + + +/* + * TableTools styles + */ +.table.dataTable tbody tr.active td, +.table.dataTable tbody tr.active th { + background-color: #08C; + color: white; +} + +.table.dataTable tbody tr.active:hover td, +.table.dataTable tbody tr.active:hover th { + background-color: #0075b0 !important; +} + +.table.dataTable tbody tr.active th > a, +.table.dataTable tbody tr.active td > a { + color: white; +} + +.table-striped.dataTable tbody tr.active:nth-child(odd) td, +.table-striped.dataTable tbody tr.active:nth-child(odd) th { + background-color: #017ebc; +} + +table.DTTT_selectable tbody tr { + cursor: pointer; +} + +div.DTTT .btn { + color: #333 !important; + font-size: 12px; +} + +div.DTTT .btn:hover { + text-decoration: none !important; +} + +ul.DTTT_dropdown.dropdown-menu { + z-index: 2003; +} + +ul.DTTT_dropdown.dropdown-menu a { + color: #333 !important; /* needed only when demo_page.css is included */ +} + +ul.DTTT_dropdown.dropdown-menu li { + position: relative; +} + +ul.DTTT_dropdown.dropdown-menu li:hover a { + background-color: #0088cc; + color: white !important; +} + +div.DTTT_collection_background { + z-index: 2002; +} + +/* TableTools information display */ +div.DTTT_print_info { + position: fixed; + top: 50%; + left: 50%; + width: 400px; + height: 150px; + margin-left: -200px; + margin-top: -75px; + text-align: center; + color: #333; + padding: 10px 30px; + opacity: 0.95; + + background-color: white; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5); +} + +div.DTTT_print_info h6 { + font-weight: normal; + font-size: 28px; + line-height: 28px; + margin: 1em; +} + +div.DTTT_print_info p { + font-size: 14px; + line-height: 20px; +} + +div.dataTables_processing { + position: absolute; + top: 50%; + left: 50%; + width: 100%; + height: 60px; + margin-left: -50%; + margin-top: -25px; + padding-top: 20px; + padding-bottom: 20px; + text-align: center; + font-size: 1.2em; + background-color: white; + background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0))); + background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); + background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); + background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); + background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); + background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%); +} + + + +/* + * FixedColumns styles + */ +div.DTFC_LeftHeadWrapper table, +div.DTFC_LeftFootWrapper table, +div.DTFC_RightHeadWrapper table, +div.DTFC_RightFootWrapper table, +table.DTFC_Cloned tr.even { + background-color: white; + margin-bottom: 0; +} + +div.DTFC_RightHeadWrapper table , +div.DTFC_LeftHeadWrapper table { + border-bottom: none !important; + margin-bottom: 0 !important; + border-top-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child, +div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child, +div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child, +div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +div.DTFC_RightBodyWrapper table, +div.DTFC_LeftBodyWrapper table { + border-top: none; + margin: 0 !important; +} + +div.DTFC_RightBodyWrapper tbody tr:first-child th, +div.DTFC_RightBodyWrapper tbody tr:first-child td, +div.DTFC_LeftBodyWrapper tbody tr:first-child th, +div.DTFC_LeftBodyWrapper tbody tr:first-child td { + border-top: none; +} + +div.DTFC_RightFootWrapper table, +div.DTFC_LeftFootWrapper table { + border-top: none; + margin-top: 0 !important; +} + + +/* + * FixedHeader styles + */ +div.FixedHeader_Cloned table { + margin: 0 !important +} + diff --git a/avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.eot b/avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..4a4ca865d67e86f961bc6e2ef00bffa4e34bb9ed GIT binary patch literal 20335 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

!oRptb@n+ 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 literal 0 HcmV?d00001 diff --git a/avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.svg b/avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000000000000000000000000000000000000..25691af8f193a67185a696cb6626ea6418ff6a20 GIT binary patch literal 62926 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 literal 0 HcmV?d00001 diff --git a/avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.ttf b/avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..67fa00bf83801d2fa568546b982c80d27f6ef74e GIT binary patch literal 41280 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

PBK;&Wcg|NX{>QR@W3{K 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 literal 0 HcmV?d00001 diff --git a/avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.woff b/avocado/plugins/resources/htmlresult/static/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c54182aa5d4d1ab3c9171976b615c1dcb1dc187 GIT binary patch literal 23320 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 mX4RtsuMt6P_}u4rcI3idKFP2SpU%ZJIE?RL`X zK?Oyo=*5GG2SxDYK=7akJqV&hrl{aWJa`y*5xh+1%i2y4V}gO?edPc9{r;a9vjc}) zn|Cxb4AYwFmvVG%_ui)U^y_4!ujsO!qzYuv8YUIR!Aw%KiWp=JrG#@>(I!s4#N7H->?w+cxsH2#GA};A>g8lyFDGPKh!5)vuP_{)}*83+N zJUBU!S0_i+E{*Lu1iGsNB``2iK-CyCU7?y_mv{xb_pUh>ESZqe1Y2{eAZLMSIT%EO zFrdOH1W^=3p>Qk~I{J+k#s5zQ@j{%aIA!l^GQjJ zqA1Uc2%!{8qBKfMNh#9DCnKS_*uZ8?mnf!+8@f8xtz#prVg=E`3bCBLWsNmDAX~PG z<(4fQh=UOzE2?gKXRkc9XeI3Er?HlHECVd%SI}3`hy1_du3@$R$r(qT;k@Sft63UX zv;)2Ea_iH>^6+4jPK-lGM{Zw37Tz>~~zlHzO61x51(V4jcaKrcIVDG$-d>)z}S|7f!xxYhfUE}Kj zug_h&HZN}go22$5Ym1}P8~vYNx7-~$TWFJ;_nh!wFYSAQJF{CCo=xpK8^7?iY1^!H haOA^1D_`VC7fU=jcT literal 0 HcmV?d00001 diff --git a/avocado/plugins/resources/htmlresult/static/images/sort_both.png b/avocado/plugins/resources/htmlresult/static/images/sort_both.png new file mode 100644 index 0000000000000000000000000000000000000000..18670406bc01ab2721781822dd6478917745ff54 GIT binary patch literal 1136 zcmaJ>O=#0l98WD1Hz^GK+C=e@fhgE~b#2$Ux^~T`1v5)mw1NlIe}zC z+ge9alrMQeN|SYi`>tC{zIG}!O_oO7k;UC8kBf>8sknx65F`zy2d1H-4fel=trX>@ z^-LCL<%6P%3`TJ=Ov$hao1$9VN|vJbLJV@SM>nJN{L>dS(6uOiBq(#Tm4F5Pz>p2Q zhq^NAP_G)%=(c^JwImV&17Zb~j6Ty5OHq1RS0sD)n5Dro1ouYi-$7;N6i6T&f*`~B zRW8JV5YO;|=5RQ?2M8R`v7Es2f}anI0YT(Au=3Evo2})=wA8uci&#;*fUzaAY_V8m ziU9`MJuDxIL|hF)@DqgJ88op{@|#XmML~j&YU>u(kqKNyC5HxZlqQk>PQkENWld+L zOr&6JNwHX-;oOueKw17j)G$`j4o<^A@%~fT$qZVMO+yC_*eYpUzR7iEi3uAj7}*(w z`YKgS6%a;F0a+l?9R#wX>ZWTi<7HV)nhsV>6(*%9O%xbi*F?TK!383rh#(|*p6}q} zd?z25;!?0(hzA2Li3(Rj>VN@FT;Xbexbdo7cN7eZc$T28pMYAYjSR4yvZz;&C0tc+ zg{xJMrKKvDCBd+6WB+P&<%mp=yImbyVyq56G|9BvWUP^I>ms=lb4e+lDSgg;Us`JO zKB6{wH+j~F#-A4FY3K3qm~Z6m@V6}oQ%8?p-E$dw`#0C$PJfmCV8)v}3>Ydha%`fZ zJk~G*M^A3LGk$Td;R`icF67R~`sBOHv)Hlqlc%$jy~9_oZJcNyWxkbb_O9u#|7hLF z-<-NMLzh3S0YA@8gd1Pt(Df|3@16Y-n=aSvsF@AkI`ioeFg>&H3bXU&vBnE6gIChkL+(Ey+0iB4Z$Eze7t_CX>Hq)$ literal 0 HcmV?d00001 diff --git a/avocado/plugins/resources/htmlresult/static/images/sort_desc.png b/avocado/plugins/resources/htmlresult/static/images/sort_desc.png new file mode 100644 index 0000000000000000000000000000000000000000..def071ed5afd264a036f6d9e75856366fd6ad153 GIT binary patch literal 1127 zcmbVMOK8+U7*1U&zKRu5sR)h{1;yRWWV^4}ShvZpU2*HWU2!iy(qy)cZ89;Lb+`3m zMbruv!GjkO!3qksP*5)lD)k}=Dp*ht-n@8G5m8XoN!zU+ih_Y;=AZe$?|)|~*Ri8v z(dtDU$2DZy)jV65`|pB!_H}d7Cv0h=sUqzpC0fy3%q0!dg+a#Bx^W(BM*oq=xP{{a zC9_bZ#q2IgCss)FbwX9kVQ7wPX{|b%-is;d!ri7V^Y8E8=YeU+{JuyQW*r6hnC$~D z?i}bS=mWia!r)uCftISo2rNuBP__DOPpZoN6tBeg{;|M=DHYl)^V3chvpJv;7lTL$ z26Y&PAc{gL+#HL=wg3?#C_qs_Vi3iouqZ(YW*(kdbB&UeSJN}Lm?ZN(lsb|iR4SEF zB^)Adw}29fgwG+0L8cM(`faLJgSNN6#-L(PcTI+l@K3y+Xf(g*^61+0|J+O6zN2mb?UNGh6GU@A{1+eF%d@N2(^XdVmhis(y25|iAr;gV=io5OsYy0 zB}Gv|2&GUGrBPB%s*yG^841Ug8a88lRI_zlvuiTDGuXsmv6A9qjS{y&NMEf3ay^6+ zuZK85>5PD^rkl1e`{kLAR>iJ)6dP%mSYRr@k~xQcDE=$%X{_--ITM&Og5Ml}G)wJ> zb)dhUZG9%p4iC23#JFrUCcmwHz{cugMoku~ue-kg{Mj0~%`FeCcz9jAdg}QET-kSG za`+2B_+lRTaeAVz>E`F1pN7h>B=BbGqcz13d%ywZR&4OjkNNrF_U}#EcXDGa@V52B z>JnIW7#s%CHi literal 0 HcmV?d00001 diff --git a/avocado/plugins/resources/htmlresult/static/js/bootstrap.min.js b/avocado/plugins/resources/htmlresult/static/js/bootstrap.min.js new file mode 100644 index 0000000000000000000000000000000000000000..63866bcb46b128471bde113e6657f994ee477cf7 GIT binary patch literal 34653 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 literal 0 HcmV?d00001 diff --git a/avocado/plugins/resources/htmlresult/static/js/dataTables.bootstrap.js b/avocado/plugins/resources/htmlresult/static/js/dataTables.bootstrap.js new file mode 100644 index 00000000..2c6959d1 --- /dev/null +++ b/avocado/plugins/resources/htmlresult/static/js/dataTables.bootstrap.js @@ -0,0 +1,186 @@ +/*! DataTables Bootstrap 3 integration + * ©2011-2014 SpryMedia Ltd - datatables.net/license + */ + +/** + * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and + * DataTables 1.10 or newer. + * + * This file sets the defaults and adds options to DataTables to style its + * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap + * for further information. + */ +(function(window, document, undefined){ + +var factory = function( $, DataTable ) { +"use strict"; + + +/* Set the defaults for DataTables initialisation */ +$.extend( true, DataTable.defaults, { + dom: + "<'row'<'col-sm-6'l><'col-sm-6'f>>" + + "<'row'<'col-sm-12'tr>>" + + "<'row'<'col-sm-6'i><'col-sm-6'p>>", + renderer: 'bootstrap' +} ); + + +/* Default class modification */ +$.extend( DataTable.ext.classes, { + sWrapper: "dataTables_wrapper form-inline dt-bootstrap", + sFilterInput: "form-control input-sm", + sLengthSelect: "form-control input-sm" +} ); + + +/* Bootstrap paging button renderer */ +DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) { + var api = new DataTable.Api( settings ); + var classes = settings.oClasses; + var lang = settings.oLanguage.oPaginate; + var btnDisplay, btnClass; + + var attach = function( container, buttons ) { + var i, ien, node, button; + var clickHandler = function ( e ) { + e.preventDefault(); + if ( !$(e.currentTarget).hasClass('disabled') ) { + api.page( e.data.action ).draw( false ); + } + }; + + for ( i=0, ien=buttons.length ; i 0 ? + '' : ' disabled'); + break; + + case 'previous': + btnDisplay = lang.sPrevious; + btnClass = button + (page > 0 ? + '' : ' disabled'); + break; + + case 'next': + btnDisplay = lang.sNext; + btnClass = button + (page < pages-1 ? + '' : ' disabled'); + break; + + case 'last': + btnDisplay = lang.sLast; + btnClass = button + (page < pages-1 ? + '' : ' disabled'); + break; + + default: + btnDisplay = button + 1; + btnClass = page === button ? + 'active' : ''; + break; + } + + if ( btnDisplay ) { + node = $('

  • ', { + 'class': classes.sPageButton+' '+btnClass, + 'aria-controls': settings.sTableId, + 'tabindex': settings.iTabIndex, + 'id': idx === 0 && typeof button === 'string' ? + settings.sTableId +'_'+ button : + null + } ) + .append( $('', { + 'href': '#' + } ) + .html( btnDisplay ) + ) + .appendTo( container ); + + settings.oApi._fnBindAction( + node, {action: button}, clickHandler + ); + } + } + } + }; + + attach( + $(host).empty().html('