# 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-ui
<!doctype html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1"><title>jQuery UI Autocomplete - Remote with caching</title><linkrel="stylesheet"href="../../themes/base/all.css"><linkrel="stylesheet"href="../demos.css"><style>.ui-autocomplete-loading{background:whiteurl("images/ui-anim_basic_16x16.gif")rightcenterno-repeat;}</style><scriptsrc="../../external/requirejs/require.js"></script><scriptsrc="../bootstrap.js">varcache={};$("#birds").autocomplete({minLength:2,source:function(request,response){varterm=request.term;if(termincache){response(cache[term]);return;}$.getJSON("search.php",request,function(data,status,xhr){cache[term]=data;response(data);});}});</script></head><body><divclass="ui-widget"><labelfor="birds">Birds: </label><inputid="birds"></div><divclass="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>