# frozen_string_literal: true # Redmine - project management software # Copyright (C) 2006- Jean-Philippe Lang # # 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 the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. module Redmine module WikiFormatting module Markdown module Helper def wikitoolbar_for(field_id, preview_url = preview_text_path) heads_for_wiki_formatter javascript_tag( "var wikiToolbar = new jsToolBar(document.getElementById('#{field_id}')); " \ "wikiToolbar.setHelpLink('#{escape_javascript help_wiki_syntax_path}'); " \ "wikiToolbar.setPreviewUrl('#{escape_javascript preview_url}'); " \ "wikiToolbar.draw();" ) end def initial_page_content(page) "# #{page.pretty_title}" end def heads_for_wiki_formatter unless @heads_for_wiki_formatter_included toolbar_language_options = User.current && User.current.pref.toolbar_language_options lang = if toolbar_language_options.nil? UserPreference::DEFAULT_TOOLBAR_LANGUAGE_OPTIONS else toolbar_language_options.split(',') end content_for :header_tags do javascript_include_tag('jstoolbar/jstoolbar') + javascript_include_tag('jstoolbar/markdown') + javascript_include_tag("jstoolbar/lang/jstoolbar-#{current_language.to_s.downcase}") + javascript_tag( "var wikiImageMimeTypes = #{Redmine::MimeType.by_type('image').to_json};" \ "var userHlLanguages = #{lang.to_json};" ) + stylesheet_link_tag('jstoolbar') end @heads_for_wiki_formatter_included = true end end end end end end rser-1.20.3 The official jQuery user interface library: https://github.com/jquery/jquery-uiwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/demos/autocomplete/remote-with-cache.html
blob: c4dc42b65b9e14faa187a69a586cdc71534a6047 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>jQuery UI Autocomplete - Remote with caching</title>
	<link rel="stylesheet" href="../../themes/base/all.css">
	<link rel="stylesheet" href="../demos.css">
	<style>
	.ui-autocomplete-loading {
		background: white url("images/ui-anim_basic_16x16.gif") right center no-repeat;
	}
	</style>
	<script src="../../external/requirejs/require.js"></script>
	<script src="../bootstrap.js">
		var cache = {};
		$( "#birds" ).autocomplete({
			minLength: 2,
			source: function( request, response ) {
				var term = request.term;
				if ( term in cache ) {
					response( cache[ term ] );
					return;
				}

				$.getJSON( "search.php", request, function( data, status, xhr ) {
					cache[ term ] = data;
					response( data );
				});
			}
		});
	</script>
</head>
<body>

<div class="ui-widget">
	<label for="birds">Birds: </label>
	<input id="birds">
</div>

<div class="demo-description">
<p>The Autocomplete widgets provides suggestions while you type into the field. Here the suggestions are bird names, displayed when at least two characters are entered into the field.</p>
<p>Similar to the remote datasource demo, though this adds some local caching to improve performance. The cache here saves just one query, and could be extended to cache multiple values, one for each term.</p>
</div>
</body>
</html>