Mercurial > p > roundup > code
view website/www/_templates/layout.html @ 8286:6445e63bb423
feat(web) - Use native number type input for Number() and Integer().
When editing hyperdb.Number() or hyperdb.Integer() properties, use a
native number input.
For Number you can enter digits, +/-, . and e/E for exponent (1E2 =
100).
For integer we have the same keys as number, but also add step=1 to
the input. This stops submitting 23.5 suggesting 23 or 24. It does
allow 2E4 to be submitted that is rejected with an error from the
backend. However if the spinner is used with 2E4 it is turned into
20000, a pure integer and incremented/decremented by the spinner.
The upgrade happens automatically. Directions on going back to text
input provided. User guide updated to describe addition of spinner.
Tests added.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 18 Jan 2025 14:54:31 -0500 |
| parents | 7ac637506acf |
| children | e775cd258763 |
line wrap: on
line source
{% set script_files = ['_static/jquery.js', '_static/doctools.js', '_static/language_data.js', '_static/searchtools.js', '_static/sphinx_highlight.js', '_static/tabs.js', ] %} <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> {%- if builder != 'htmlhelp' %} {%- set titlesuffix = docstitle|e %} {%- set titlesuffix = " - " + titlesuffix %} {%- endif %} <title>{{ title|striptags }}{{ titlesuffix }}</title> {%- if builder != 'htmlhelp' %} <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '{{ pathto("", 1) }}', VERSION: '{{ release|e }}', COLLAPSE_MODINDEX: false, FILE_SUFFIX: '{{ file_suffix }}' }; </script> {%- if pagename == 'search' %} {%- for scriptfile in script_files %} <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script> {%- endfor %} <script type="text/javascript">$('#searchbox').show(0);</script> {%- endif %} {%- if builder == 'web' %} <link rel="stylesheet" href="{{ pathto('index') }}?do=stylesheet{% if in_admin_panel %}&admin=yes{% endif %}" type="text/css" /> {%- for link, type, title in page_links %} <link rel="alternate" type="{{ type|e(true) }}" title="{{ title|e(true) }}" href="{{ link|e(true) }}" /> {%- endfor %} {%- else %} <link rel="stylesheet" href="{{ pathto('_static/style.css', 1) }}" type="text/css" /> {%- endif %} <!-- https://github.com/sphinx-doc/sphinx/issues/11699 means a duplicate viewport tag --> {{ metatags }} {%- if 'name="description"' not in metatags %} <meta name="description" content="Page {{ pagename }} in documentation on the Roundup issue tracker, version {{ release|e }}."> {%- endif %} {%- if pageurl %} <link rel="canonical" href="{{ pageurl|e }}" /> {%- endif %} {%- if use_opensearch %} <link rel="search" type="application/opensearchdescription+xml" title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}" href="{{ pathto('_static/opensearch.xml', 1) }}"/> {%- endif %} {%- if favicon %} <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/> {%- endif %} {%- endif %} {%- block linktags %} {%- if hasdoc('about') %} <link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" /> {%- endif %} <link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" /> <link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" /> {%- if hasdoc('copyright') %} <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" /> {%- endif %} <link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" /> {%- if parents %} <link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}" /> {%- endif %} {%- if next %} <link rel="next" title="{{ next.title|striptags }}" href="{{ next.link|e }}" /> {%- endif %} {%- if prev %} <link rel="prev" title="{{ prev.title|striptags }}" href="{{ prev.link|e }}" /> {%- endif %} {%- endblock %} </head> <body> <div id="skiplink"><a href="#main">Skip to main content</a></div> <header class="header"> <div class="label non_mobile">Roundup</div> <div class="label mobile"><a href="#main">Roundup <span class="jumplabel">jump to {{ title|e }}</span></a></div> {%- if pagename != "search" %} <div id="searchbox" style="display: none"> <form class="search" action="{{ pathto('search') }}" method="get"> <input type="text" aria-label="Enter search terms" name="q" size="18" autocomplete="on" /> <input type="submit" value="{{ _('Search') }}" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> {%- endif %} </header> <div class="navigation"> <nav aria-label="primary navigation"> <div class="menu"> {{ toctree() }} </div> </nav> </div> <div class="content"> <nav id="subnav" aria-label="sub navigation"> {%- if prev %} <a title="{{ prev.title|striptags }}" href="{{ prev.link|e }}"> Prev</a> {%- endif %} {%- if next %} <a title="{{ next.title|striptags }}" href="{{ next.link|e }}"> Next</a> {%- endif %} <a title="{{ _('Index') }}" href="{{ pathto('genindex') }}"> Index</a> </nav> <main id="main" role="main" tabindex="-1"> {% block body %} {% endblock %} </main> </div> {%- block footer %} <footer class="footer"> <div> {%- if show_source and has_source and sourcename %} <span class="source">[<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow">{{ _('page source') }}</a>]</span> {%- endif %} {%- if hasdoc('copyright') %} {% trans path=pathto('copyright'), copyright=copyright|e %}© <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %} {%- else %} {% trans copyright=copyright|e %}© Copyright {{ copyright }}.{% endtrans %} {%- endif %} </div> <div> {%- if last_updated %} {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %} {%- endif %} <span>Hosted by <a href="https://sourceforge.net"><img src="https://sflogo.sourceforge.net/sflogo.php?group_id=31577&type=1" width="88" height="31" alt="SourceForge.net Logo" /></a></span> </div> </footer> {%- endblock %} <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" /> {%- for cssfile in css_files %} <!-- loading css_files --> <link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" /> {%- endfor %} <script> /* locally hosted goatcounter https://www.goatcounter.com/ */ /* include site info in path url to allow multiple sites to be tracked together */ window.goatcounter = { path: function(p) { return location.host + p } } </script> <script data-goatcounter="https://stats.rouilj.dynamic-dns.net/count" integrity="sha384-QGgNMMRFTi8ul5kHJ+vXysPe8gySvSA/Y3rpXZiRLzKPIw8CWY+a3ObKmQsyDr+a" async="" src="{{ pathto('_static/goatcounter_count.v3.js', 1) }}"> </script> <script id="documentation_options" data-url_root="{{ url_root }}" src="{{ pathto('_static/documentation_options.js', 1) }}"> </script> {%- if pagename != 'search' %} {%- for scriptfile in script_files %} <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script> {%- endfor %} <script type="text/javascript">$('#searchbox').show(0);</script> {%- endif %} {%- block extrahead %} {% endblock %} </body> </html>
