You are here: TWiki> Plugins Web>JSPopupPlugin (2008-12-12, SopanShewale)
Tags:
ajax1Add my vote for this tag user_interface1Add my vote for this tag create new tag
, view all tags

JSPopupPlugin TWiki Plugin

JSPopupPlugin allows you to show dynamic content in a virtual popup dialog. Good for status messages, or to show detailed information without causing the web browser's context to switch from the page that they requested.

There is a running demo of JSPopupPlugin running at the WikiRing demo site

Uses TWiki:Plugins.YahooUserInterfaceContrib

It uses javascript to create a popup window containing either a hidden pre-rendered part of a topic, or a TWiki request that is dynamically requested and served. Popups are activated either on a mouse click, when the mouse passes over the anchor, or when the page is loaded.

To make it easy for TWikiSkin developers, any html link with the css twikiPopupLink class will get a popup dialog. If the Javascript fails, or this plugin is disabled, the link will gracefully fall back to going to the link in the main browser window.

use the twikiPopupLink class to get popup dialog elements on urls that can degrade gracefully for users without javascript.

  • <a class="twikiPopupLink" href="%SCRIPTURL{attach}%/%WEB%/%TOPIC%">Attach</a>

This will allow you to create a popup Comment Edit box (don't forget to create the #Comments anchor):

%POPUP{
anchor="<button class='twikiButton'>add comment</button>" 
popuptext="$percntCOMMENT{target=\"#Comments\"}$percnt" 
popuptexttype="tml"
}%

or a popup menu of webs

%POPUP{
anchor=" *listofwebs* " 
anchortype="onmouseover" 
popuptext="%WEBLIST{"| [[$name.WebHome][$name]] |"}%" 
popuptexttype="tml" 
popuplocation="below"
border="off"
}%

or a popup that quickly shows the topic source

%POPUP{
anchor="<button class='twikiButton'>view topic Source</button>"
popuptitle="%TOPIC%"
popuptext="%SCRIPTURL{view}%/%WEB%/%TOPIC%?raw=on;skin=print"
popuptexttype="rest"
}%

or a popup that can quickly show you the last change made to the topic.

%POPUPLINK{
"Last edit" 
url="%SCRIPTURL{rdiff}%/%WEB%/%TOPIC%?type=last" 
}%

there is only one popup window at a time, so if the clicks on an anchor while another popup is up, it will be replaced by the new one.

Syntax Rules

css twikiPopupLink class

Any element with the twikiPopupLink will get an onClick handler that will popup a YUI dialog. This dialog will be filled with content from the server (using the href attribute), requested dynamically.

%POPUP{}%

parameters are

  • anchor="" - the text that is the click target that causes the POPUP to come up
    • (if this is not set, or an empty string, then the popup is shown on page load REMEMBER, only one popup open at a time)
  • anchortype="" - type of anchor trigger - [onclick,onmouseover,popuplink] ('onclick' is default)
    • onclick - surrounds anchor with a html span, with an onclick action
    • onmouseover - surrounds anchor with a html span, with an onmouseover action
    • popuplink - makes an ajax popup with non-javascript fallback eg: <a href="fallbackurl" onclick="return twiki.jspopupOpen("popuptext")" > anchor < /a >
  • fallbackurl="" - the href url to use for non-javascript browsers (defaults to popuptext
  • popuptitle="" - what will be displayed in the popup title (not shown if border="off")
  • popuptext="" - what will be displayed in the popup
  • popuptexttype ="" - tml, rest
  • popuplocation="" - general location relative to the anchor (center, below) - center is default
  • border="" - show the border & close button (defaults to 'on') - if you select not to show the border and close button then there is an onmouseleave that closes the window
  • delay=200 - used as the delay in mS if the anchortype='mouseover'

%POPUPLINK%

POPUPLINK is useful for creating popup alternatives (with fallback) to enquiry or action pages, such as Raw topic view. Instead of leaving the twiki topic to see what the markup is the user is able to quickly see the TWikiMarkup , and then cancel back to the normal topic view. %POPUPLINK{"Attach" url="" }%
  • DEFAULT - the text the user sees on the page as a link
  • url - the url the link goes to.
    • if the browser has javascript, and the YahooUserInterface components work, this will a popup dialog will contain the output of that url (using TWiki's ?cover=popup)
    • if the popup does not work, the clicking the link will goto that page in the browser

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %JSPOPUPPLUGIN_SHORTDESCRIPTION%

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Creates a dynamic popup windows using Javascript

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

  • Download the ZIP file from the Plugin web (see below)
  • Unzip JSPopupPlugin.zip in your twiki installation directory. Content: File:Description:data/TWiki/JSPopupPlugin.txt Plugin topic data/TWiki/JSPopupPlugin.txt,v Plugin topic repository lib/TWiki/Plugins/JSPopupPlugin.pm Plugin Perl module
  • use the configure script to enable
  • Test if the installation was successful:
%POPUP{anchor="" popuptitle="testing" popuptext="This is a popup text" popuptexttype="tml"}%

%POPUPLINK{ "View Raw" url="http://twiki.org/cgi-bin/view/Plugins/JSPopupPlugin?raw=on" }%

Plugin Info

Plugin Author: TWiki:Main.SvenDowideit - SvenDowideit@wikiringPLEASENOSPAM.com - WikiRing.com
Copyright: © 2001-2008, SvenDowideit@wikiringPLEASENOSPAM.com
License: GPL (GNU General Public License)
Change History:  
16 Aug 2008 update for YUI 2.5.2
9 Sept 2007 fixed it to use the yui event handling, rather than the moved addLoadEvent
12 Feb 2007 added POPUPLINK tag
23 Oct 2006 added delay by TWiki:Main.OliverKrueger, and added use of TWiki:Plugins.YahooUserInterfaceContrib
01 May 2006 Initial version
TWiki Dependency: $TWiki::Plugins::VERSION 1.1
CPAN Dependencies:  
Other Dependencies: TWiki:Plugins.YahooUserInterfaceContrib
Perl Version: 5.005
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/JSPopupPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/JSPopupPluginDev
Appraisal: http://TWiki.org/cgi-bin/view/Plugins/JSPopupPluginAppraisal

Related Topics: TWikiPlugins, DeveloperDocumentationCategory, AdminDocumentationCategory, TWikiPreferences

-- SvenDowideit@wikiringPLEASENOSPAM.com - WikiRing.com

Topic attachments
I Attachment Action Size Date Who Comment
elsemd5 JSPopupPlugin.md5 manage 0.2 K 2008-12-12 - 11:39 SopanShewale checksum file , Uploaded as a part of Release Process
ziptgz JSPopupPlugin.tgz manage 13.4 K 2008-12-12 - 11:39 SopanShewale See JSPopupPlugin for details. Untar and run the installer script, Uploaded as a part of Release Process
zipzip JSPopupPlugin.zip manage 16.8 K 2008-12-12 - 11:39 SopanShewale See JSPopupPlugin for details. Unzip and run the installer script , Uploaded as a part of Release Process
elseEXT JSPopupPlugin_installer manage 3.7 K 2008-12-12 - 11:39 SopanShewale Installer Script, Uploaded as a part of Release Process
Topic revision: r19 - 2008-12-12 - 11:39:49 - SopanShewale
 
TWIKI.NET
This site is powered by the TWiki collaboration platform
Ideas, requests, problems regarding TWiki? Send feedback
Copyright © 1999-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.