You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by br...@apache.org on 2018/06/17 20:31:30 UTC
[jspwiki] branch master updated: 2.10.5-git-04 Fine-tuning Haddock
for mobile devices.
This is an automated email from the ASF dual-hosted git repository.
brushed pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git
The following commit(s) were added to refs/heads/master by this push:
new 82e6798 2.10.5-git-04 Fine-tuning Haddock for mobile devices.
new b440a30 Merge branch 'master' of https://github.com/apache/jspwiki
82e6798 is described below
commit 82e6798635f8dfcb3a265325ecef66dcc8065a09
Author: brushed <di...@gmail.com>
AuthorDate: Sun Jun 17 22:28:20 2018 +0200
2.10.5-git-04 Fine-tuning Haddock for mobile devices.
---
ChangeLog | 21 ++++++++
.../src/main/java/org/apache/wiki/Release.java | 2 +-
jspwiki-war/src/main/scripts/behaviors/Magnify.js | 6 ++-
.../src/main/scripts/moo-extend/Element.Extend.js | 49 +++++++++++++------
.../src/main/scripts/moo-extend/Form.File.js | 11 +++--
jspwiki-war/src/main/scripts/moo-extend/Tips.js | 57 ++++++++--------------
.../src/main/scripts/wiki-edit/Wiki.Snips.js | 11 +++--
.../src/main/scripts/wiki/Wiki.Behaviors.js | 2 -
jspwiki-war/src/main/scripts/wiki/Wiki.js | 25 +++++-----
.../haddock/default/RecentChangesPlugin.less | 4 --
.../main/styles/haddock/default/Template.Nav.less | 21 +++++---
.../main/styles/haddock/default/Template.View.less | 22 +--------
.../haddock/default/responsive-viewport.less | 29 ++++++++++-
.../src/main/styles/haddock/default/tables.less | 22 ++++-----
.../src/main/styles/haddock/default/type.less | 36 ++++++++------
.../src/main/styles/haddock/default/variables.less | 3 ++
.../src/main/webapp/templates/haddock/GroupTab.jsp | 2 +-
.../src/main/webapp/templates/haddock/Header.jsp | 8 +--
.../src/main/webapp/templates/haddock/Nav.jsp | 27 +++++++++-
.../main/webapp/templates/haddock/SearchBox.jsp | 5 +-
.../src/main/webapp/templates/haddock/UserBox.jsp | 5 +-
.../main/webapp/templates/haddock/commonheader.jsp | 3 +-
.../webapp/templates/haddock/editors/plain.jsp | 14 +++---
23 files changed, 221 insertions(+), 164 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 858cae5..159b520 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2018-06-17 Dirk Frederickx (brushed AT apache DOT org)
+
+ * 2.10.5-git-04 Fine-tuning Haddock for mobile devices.
+
+ * Improve accessibility on hover-menu's for touch-devices. They'll open after
+ a touch-down event; and will close when touching any area outside the menu.
+
+ * Fixing access to the Find and User menu's for touch devices.
+
+ * Several small style improvements on the navigation bar for mobile devices
+ (hiding CARET to indicate hover-menu's, ...)
+
+ * Added touch-support for %%magnify style.
+
+ * Breadcrumbs are now moved to a proper drop-down menu (...) on the navigation bar
+ instead of the previously not-so-obvious 'mouse-over-zone' under the pagename.
+ This also makes breadcrumbs accessible to the tablet & phone users.
+
+ * Fixed a display error when uploading multiple attachements in one step.
+
+
2018-06-05 Dirk Frederickx (brushed AT apache DOT org)
* 2.10.5-git-03 JSPWIKI-1071 Ajax request header 'Connection' forbidden
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/Release.java b/jspwiki-war/src/main/java/org/apache/wiki/Release.java
index 280a107..c250857 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/Release.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/Release.java
@@ -72,7 +72,7 @@ public final class Release {
* <p>
* If the build identifier is empty, it is not added.
*/
- public static final String BUILD = "3";
+ public static final String BUILD = "4";
/**
* This is the generic version string you should use when printing out the version. It is of
diff --git a/jspwiki-war/src/main/scripts/behaviors/Magnify.js b/jspwiki-war/src/main/scripts/behaviors/Magnify.js
index 7323bc1..a28984a 100644
--- a/jspwiki-war/src/main/scripts/behaviors/Magnify.js
+++ b/jspwiki-war/src/main/scripts/behaviors/Magnify.js
@@ -34,7 +34,7 @@ function Magnify( images ){
function move_maggy( event ){
var img = event.target,
- isVisible = ( event.type != "mouseleave" );
+ isVisible = /move/.test(event.type);
if( isVisible ){
@@ -63,7 +63,9 @@ function Magnify( images ){
$$( images ).addEvents({
mousemove: move_maggy,
- mouseleave: move_maggy
+ touchmove: move_maggy,
+ mouseleave: move_maggy,
+ touchend: move_maggy
});
}
diff --git a/jspwiki-war/src/main/scripts/moo-extend/Element.Extend.js b/jspwiki-war/src/main/scripts/moo-extend/Element.Extend.js
index e61d6d0..0fb1d68 100644
--- a/jspwiki-war/src/main/scripts/moo-extend/Element.Extend.js
+++ b/jspwiki-war/src/main/scripts/moo-extend/Element.Extend.js
@@ -121,36 +121,55 @@ Element.implement({
/*
Function: onHover
Turns a DOM element into a hoverable menu.
+ Only one menu at a time can be visible.
Arguments:
toggle - (string,optional) A CSS selector to match the hoverable toggle element
- onOpen - (function, optional) Function which is call when opening the menu
+ onOpen - (function, optional) Function which is to be called when opening the menu
Example
> $("li.dropdown-menu").onHover("ul");
*/
onHover: function( toggle, onOpen ){
- var element = this;
+ function toggleMenu( event ){
- if( (toggle = element.getParent(toggle)) ){
+ if( /enter|focus/.test(event.type) ){
- element.fade("hide"); //CHECKME : is this sill needed, menu should be hidden/visible depending on .open
+ //on touch devices, a starttouch also generates a mouseenter on :hover links
+ //however, there is no mouseleave when clicking outside the hover menu
+ //so temporary add a touchend handler on the document to help close the menu
+ document.addEvent("touchend", toggleMenu);
+ toggle.addClass("open");
+ if( onOpen ){ onOpen(); }
- toggle.addEvents({
- mouseenter: function(){
- element.fade(0.9);
- toggle.addClass("open");
- if(onOpen){ onOpen(); }
- },
- mouseleave: function(){
- element.fade(0);
- toggle.removeClass("open");
- }
+ } else {
+
+ //close the menu if toggle receives the event or a (touchend-)event is received outside the menu
+ if( (event.target != toggle) && toggle.contains(event.target) ){ return; }
+
+ toggle.removeClass("open");
+ document.removeEvent("touchend", toggleMenu);
+
+ }
+
+ event.preventDefault;
+
+ };
+
+ toggle = this.getParent( toggle );
+
+ if( toggle ){
+
+ toggle.addEvents({
+ focus: toggleMenu, //keyboard
+ blur: toggleMenu,
+ mouseenter: toggleMenu,
+ mouseleave: toggleMenu
});
}
- return element;
+ return this;
},
/*
diff --git a/jspwiki-war/src/main/scripts/moo-extend/Form.File.js b/jspwiki-war/src/main/scripts/moo-extend/Form.File.js
index c40206b..4dc34e5 100755
--- a/jspwiki-war/src/main/scripts/moo-extend/Form.File.js
+++ b/jspwiki-war/src/main/scripts/moo-extend/Form.File.js
@@ -91,7 +91,7 @@ Form.File = new Class({
var self = this,
disabled = "disabled";
- console.log("update ",self.nbr,step);
+ //console.log("update ",self.nbr,step);
self.nbr += step;
self.submit.set(disabled, self.nbr ? "":disabled );
@@ -144,7 +144,7 @@ Form.File = new Class({
self.reset = function(){
- console.log(" reset ");
+ //console.log(" reset ");
var files = inputFiles.getFiles();
while( files[0] ){ inputFiles.remove( files.shift() ); }
@@ -200,9 +200,10 @@ Form.File = new Class({
for( var i=0; i< input.files.length; i++){
var file = input.files[i];
- fileNames += file.name.replace(/.*[\\\/]/, "")
- + " <span class='badge'>" + readableFileSize( file.size )+ "</span><br />";
- }
+ fileNames += (i > 0 ? "<br />" : "")
+ + file.name.replace(/.*[\\\/]/, "")
+ + " <span class='badge'>" + readableFileSize( file.size )+ "</span>";
+ }
input.set("id",String.uniqueID());
input.set("name",String.uniqueID());
diff --git a/jspwiki-war/src/main/scripts/moo-extend/Tips.js b/jspwiki-war/src/main/scripts/moo-extend/Tips.js
index abedc8e..a2bf598 100644
--- a/jspwiki-war/src/main/scripts/moo-extend/Tips.js
+++ b/jspwiki-war/src/main/scripts/moo-extend/Tips.js
@@ -42,51 +42,36 @@ var Tips = function Tips(elements){
TheTip = [tt,[tt+'-inner'/*,tt+'-arrow'*/]].slick().inject(document.body),
inner = TheTip.getFirst();
- $$(elements).addEvents({
-
- mousemove: function(e){
- TheTip.setStyles({ top:e.page.y +10, left:e.page.x + 10 });
- },
-
- mouseenter: function(){
- inner.adopt( this.getFirst() ) ;
- TheTip.addClass('in'); //.fade('in');
- },
-
- mouseleave: function(){
- TheTip.removeClass('in'); //.fade('out');
- this.adopt( inner.getFirst() );
- }
- });
-};
+ function tipEvent( e ){
+ if( /move/.test(event.type) ){
-/*TIP position logic
- position: function(event){
+ if( !isVisible ){
- var windowPadding={x:0, y:0};
+ /*not yet visible: copy content into the TIP */
+ inner.adopt( this.firstChild );
+ isVisible = true;
- var size = window.getSize(),
- scroll = window.getScroll(),
- tip = {x: this.tip.offsetWidth, y: this.tip.offsetHeight},
- props = {x: 'left', y: 'top'},
- bounds = {y: false, x2: false, y2: false, x: false},
- obj = {};
+ }
- for (var z in props){
+ zTip.setStyles({ top:e.page.y +10, left:e.page.x + 10 });
- obj[props[z]] = event.page[z] + this.options.offset[z];
+ } else {
- if (obj[props[z]] < 0) bounds[z] = true;
+ /* xx-leave event: move content back to the main body*/
+ this.adopt( inner.firstChild );
+ isVisible = false;
+ }
- if ((obj[props[z]] + tip[z] - scroll[z]) > size[z] - windowPadding[z]){
+ zTip.ifClass( isVisible, "in" );
- obj[props[z]] = event.page[z] - this.options.offset[z] - tip[z];
- bounds[z+'2'] = true;
- }
}
- this.tip.setStyles(obj);
- },
+ $$(elements).addEvents({
+ touchmove: tipEvent,
+ mousemove: tipEvent,
+ touchend: tipEvent,
+ mouseleave: tipEvent
+ });
-*/
\ No newline at end of file
+};
diff --git a/jspwiki-war/src/main/scripts/wiki-edit/Wiki.Snips.js b/jspwiki-war/src/main/scripts/wiki-edit/Wiki.Snips.js
index 25a4f9a..bddec2d 100644
--- a/jspwiki-war/src/main/scripts/wiki-edit/Wiki.Snips.js
+++ b/jspwiki-war/src/main/scripts/wiki-edit/Wiki.Snips.js
@@ -36,6 +36,7 @@ Wiki.DirectSnips = {
}
};
+
/*
Function: snippets
@@ -423,8 +424,8 @@ Wiki.Snips = {
//match [link], do not match [{, [[
//do not include the [ in the matched string
suggest: {
- lback: /\[([^\|\[{\]\n\r]*)$/,
- match: /^([^\|\[{\]\n\r]*)(?:[\]\n\r])/
+ lback: /\[([^|[{\]\n\r]*)$/,
+ match: /^([^|[{\]\n\r]*)(?:[\]\n\r])/
},
linkDlg: Wiki.pageDialog("Wiki Link", "/search/suggestions")
@@ -435,8 +436,8 @@ Wiki.Snips = {
//do not match [{, [[
//do not include the [ in the matched string
suggest: {
- lback: /\[(?:[^\|\]]+\|)([^\|\[{\]\n\r]*)$/,
- match: /^([^\|\[{\]\n\r]*)(?:[\]\|\n\r])/
+ lback: /\[(?:[^|\]]+\|)([^|[{\]\n\r]*)$/,
+ match: /^([^|[{\]\n\r]*)(?:[\]|\n\r])/
},
linkPart2: Wiki.pageDialog("Wiki Link", "/search/suggestions")
},
@@ -599,7 +600,7 @@ Wiki.Snips = {
//"[description|{link}|options]": "<span class='icon-link'/>",
"[{Image src='{image.jpg}'}]": "<span class='icon-picture' title='Insert an image'/>",
"[{{plugin}}]": "<span class='icon-puzzle-piece' title='Insert a Plugin'></span>",
- "%%style {body} /%":"<span style='font-family:monospace;' title='Add a Style'>%%</span>",
+ "%%style {body} /%":"<span style='font-family:monospace;letter-spacing:-.2em;' title='Add a Style'>%%</span>",
"divider2": "",
"%%(font-family:{font};) body /%":"<span title='Change the Font'><span style='font-family:serif;'>A</span><span style='font-family:sans-serif'>a</span></span>",
"&{entity};" : "<span style='font-family:cursive;' title='Insert a Special Character'>&</span>",
diff --git a/jspwiki-war/src/main/scripts/wiki/Wiki.Behaviors.js b/jspwiki-war/src/main/scripts/wiki/Wiki.Behaviors.js
index c6b42ca..d48c3f4 100644
--- a/jspwiki-war/src/main/scripts/wiki/Wiki.Behaviors.js
+++ b/jspwiki-war/src/main/scripts/wiki/Wiki.Behaviors.js
@@ -484,7 +484,6 @@ Example:
/*html5 expects <pre><code> */
if( element.match("pre") ){
element.innerHTML = "<code>" + element.innerHTML + "</code>";
- element = element.getFirst();
}
})
@@ -494,7 +493,6 @@ Example:
/*html5 expects <pre><code> */
if( element.match("pre") ){
element.innerHTML = "<code>" + element.innerHTML + "</code>";
- element = element.getFirst();
}
})
diff --git a/jspwiki-war/src/main/scripts/wiki/Wiki.js b/jspwiki-war/src/main/scripts/wiki/Wiki.js
index 7a0edeb..291d068 100644
--- a/jspwiki-war/src/main/scripts/wiki/Wiki.js
+++ b/jspwiki-war/src/main/scripts/wiki/Wiki.js
@@ -21,7 +21,7 @@
/*eslint-env browser*/
-/*global $, $$, Form, Hash, Behavior, HighlightQuery, Accesskey */
+/*global $, $$, Form, Hash, Behavior, HighlightQuery, Accesskey, Dialog */
/*exported Wiki */
/*
@@ -72,13 +72,13 @@ var Wiki = {
wiki.update = behavior.update.bind(behavior);
- // add core jspwiki behaviors; needed to support the default template jsp's
+
+ //jspwiki behaviors; needed to support the haddock template jsp's
wiki.add( "body", wiki.caniuse )
.add( "[accesskey]", Accesskey )
//toggle effect: toggle .active class on this element when clicking toggle element
- //.add("[data-toggle]", "onToggle", {attr:"data-toggle"})
.add( "[data-toggle]", function(element){
element.onToggle( element.get("data-toggle"), function(isActive){
@@ -96,8 +96,7 @@ var Wiki = {
element.onModal( element.get("data-modal") );
})
- //hover effects: show/hide this element when hovering over the parent element
- //.add("[data-toggle]", "onHover", {attr:"data-hover-parent"})
+ //hover effects: show/hide an element when hovering over the data-hover-parent element
.add( "[data-hover-parent]", function(element){
element.onHover( element.get("data-hover-parent") );
})
@@ -239,7 +238,7 @@ var Wiki = {
}
//console.log( "section", document.referrer, document.referrer.match( /\§ion=(\d+)$/ ) );
- wiki.scrollTo( ( document.referrer.match( /\§ion=(\d+)$/ ) || [,-1])[1] );
+ wiki.scrollTo( ( document.referrer.match( /§ion=(\d+)$/ ) || [0,-1])[1] );
// initialize all registered behaviors
wiki.update();
@@ -530,7 +529,7 @@ var Wiki = {
cleanPageName: function( pagename ){
//\w is short for [A-Z_a-z0-9_]
- return pagename.clean().replace(/[^\w\u00C0-\u1FFF\u2800-\uFFFD\(\)&\+,\-=\.\$ ]/g, "");
+ return pagename.clean().replace(/[^\w\u00C0-\u1FFF\u2800-\uFFFD()&+,\-=.$ ]/g, "");
},
@@ -793,12 +792,12 @@ var Wiki = {
//urlEncoded: true, //content-type header = www-form-urlencoded + encoding
//encoding: "utf-8",
//encoding: "ISO-8859-1",
- headers: {
- //'X-Requested-With': 'XMLHttpRequest',
- //'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
- 'Accept': 'application/json',
- 'X-Request': 'JSON'
- },
+ headers: {
+ //'X-Requested-With': 'XMLHttpRequest',
+ //'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
+ 'Accept': 'application/json',
+ 'X-Request': 'JSON'
+ },
onSuccess: function( responseText ){
//console.log(responseText, JSON.parse( responseText ), responseText.charCodeAt(8),responseText.codePointAt(8), (encodeURIComponent(responseText)), encodeURIComponent("ä"), encodeURIComponent("Ã") );
diff --git a/jspwiki-war/src/main/styles/haddock/default/RecentChangesPlugin.less b/jspwiki-war/src/main/styles/haddock/default/RecentChangesPlugin.less
index f28d198..f1ade5b 100644
--- a/jspwiki-war/src/main/styles/haddock/default/RecentChangesPlugin.less
+++ b/jspwiki-war/src/main/styles/haddock/default/RecentChangesPlugin.less
@@ -48,14 +48,10 @@ DOM structure:
letter-spacing:1px;
}
}
-
-
td {
&:first-child {
width:auto;
padding-left:1em;
}
-
}
-
}
diff --git a/jspwiki-war/src/main/styles/haddock/default/Template.Nav.less b/jspwiki-war/src/main/styles/haddock/default/Template.Nav.less
index d0bf0b2..bc793ed 100644
--- a/jspwiki-war/src/main/styles/haddock/default/Template.Nav.less
+++ b/jspwiki-war/src/main/styles/haddock/default/Template.Nav.less
@@ -26,12 +26,14 @@ DOM Structure:
(start code)
div.row
ul.nav.nav-pills.pull-left
- li
- a.logo
-
- ul.nav.nav-pills.pull-right
li.menu
a Menu
+ li.trail
+ a ...
+ span.caret
+ ul.dropdown-menu.pull-right
+
+ ul.nav.nav-pills.pull-right
li
a Attach
li
@@ -39,8 +41,8 @@ div.row
li[.disabled]
a Edit
li
- More
- span.caret
+ a More
+ span.caret
ul.dropdown-menu.pull-right
...
@@ -57,9 +59,12 @@ div.row
/* hover menu items with transparent effect - undo some of the bootstrap color settings */
.nav .open > a,
.nav > li > a:hover,
- .nav > li > a:focus {
+ .nav > li > a:hover:focus {
background-color: rgba(255,255,255,.2);
}
+ .nav > li > a:focus {
+ background-color: transparent;
+ }
.nav > li.disabled > a {
color:@silver;
}
@@ -82,4 +87,4 @@ div.row
.nav > li > a.slimbox-link:after { color:white; font-size:70%; top:-.7em; }
-}
\ No newline at end of file
+}
diff --git a/jspwiki-war/src/main/styles/haddock/default/Template.View.less b/jspwiki-war/src/main/styles/haddock/default/Template.View.less
index db01faa..1f95d7e 100644
--- a/jspwiki-war/src/main/styles/haddock/default/Template.View.less
+++ b/jspwiki-war/src/main/styles/haddock/default/Template.View.less
@@ -85,9 +85,6 @@ DOM structure:
li.recents ...
li.recents.clear ...
-
- div.breadcrumbs
-
...
div.footer
@@ -179,8 +176,7 @@ Fixed .header with hide (on scrolldown) and show (on scrollup) effects.
}
-.header .pagename,
-.header .breadcrumb {
+.header .pagename {
.text-overflow();
}
@@ -197,22 +193,6 @@ Fixed .header with hide (on scrolldown) and show (on scrollup) effects.
font-size: 6em;
}
-/*
-JSPWiki-s breadcrumb - do not inherit bootstraps breadcrumbs
-Only show breadcrumb on mouse hover
-*/
-.breadcrumb {
- .small;
- .transition(all .5s ease);
- color:transparent;
- &:hover { color:inherit; }
-
- .divider:before {
- content:"\2022"; //•
- padding:0 .25em;
- }
-}
-
.footer {
//background: @wiki-footer-bg; //reuse header background
diff --git a/jspwiki-war/src/main/styles/haddock/default/responsive-viewport.less b/jspwiki-war/src/main/styles/haddock/default/responsive-viewport.less
index 059244c..c3ff99b 100644
--- a/jspwiki-war/src/main/styles/haddock/default/responsive-viewport.less
+++ b/jspwiki-war/src/main/styles/haddock/default/responsive-viewport.less
@@ -139,6 +139,8 @@ Medium size screens, tablets, phones in landscape mode
.header > *:not(.titlebox), .footer > *:not(.titlebox) { padding:0; }
+ .header .caret { display: none; }
+
.reader .pagename { font-size:1.5em; line-height:1.5;}
.pagename {
font-size: 1.5em;
@@ -154,17 +156,22 @@ Medium size screens, tablets, phones in landscape mode
b:before {content:""};
}
- .breadcrumb { display:none; }
-
// Template.UserBox.less
.userbox ul.dropdown-menu {
max-width:@wiki-small-viewport-dialog-width;
li:first-child a { white-space:normal; }
}
+ .userbox > .btn { padding: 6px 5px 6px 10px;}
// Template.SearchBox.less
.searchbox ul.dropdown-menu { max-width: @wiki-small-viewport-dialog-width; }
+ //.searchbox .btn .icon-search { padding: 5px 10px; }
+
+ .searchbox > .btn { padding: 6px 10px 6px 10px;} //keep original top/bottom padding 6px
+ .searchbox > .btn > .icon-search { padding: 0;}
+
+
// Template.Nav.less
// Only show the menu icons
@@ -173,6 +180,24 @@ Medium size screens, tablets, phones in landscape mode
> *:first-child { display:initial; }
> *:nth-child(even) { display:none; }
}
+ #attach .badge {
+ background:transparent;
+ color:white;
+ padding:3px 0;
+ min-width:auto;
+ }
+
+ .header > .navigation .nav > li > a {
+
+ & > *:first-child { display:inline-block; }
+ &:hover > *:first-child { animation: wiggle 1s ease-in-out infinite; }
+
+ }
+ @keyframes wiggle {
+ 0% { transform:rotate(10deg); }
+ 50% { transform:rotate(-10deg); }
+ 100% { transform:rotate(10deg); }
+ }
// Template.Content.less
/* hide sidebar on extra small devices, and give it a fixed width
diff --git a/jspwiki-war/src/main/styles/haddock/default/tables.less b/jspwiki-war/src/main/styles/haddock/default/tables.less
index b44f1a0..2ac0d1c 100644
--- a/jspwiki-war/src/main/styles/haddock/default/tables.less
+++ b/jspwiki-war/src/main/styles/haddock/default/tables.less
@@ -48,15 +48,13 @@ table[border="1"] td { border:0; }
&.table-fit { width:auto; }
-}
-
-.wikitable.table-condensed {
-
- th, td { padding: @table-condensed-cell-padding; }
+ &.table-condensed {
+ th, td { padding: @table-condensed-cell-padding; }
+ }
}
-.wikitable.table-bordered {
+.table-bordered {
border: 1px solid @table-border-color;
tr:first-child {
@@ -64,16 +62,16 @@ table[border="1"] td { border:0; }
}
}
-.wikitable.table-noborder td,
-.wikitable.table-borderless td,
-.wikitable.table-noborder tr:first-child th,
-.wikitable.table-borderless tr:first-child th {
- border: 0;
+.table-noborder,
+.table-borderless {
+ td, tr:first-child th {
+ border: 0;
+ }
}
.table-fit .wikitable { width:auto; }
-.table-striped.wikitable {
+.table-striped {
> tbody > tr:nth-child(odd) {
> td,
> th {
diff --git a/jspwiki-war/src/main/styles/haddock/default/type.less b/jspwiki-war/src/main/styles/haddock/default/type.less
index 40e88e5..f644935 100644
--- a/jspwiki-war/src/main/styles/haddock/default/type.less
+++ b/jspwiki-war/src/main/styles/haddock/default/type.less
@@ -69,8 +69,11 @@ h2,h3,h4 {
}
-.sidebar .hashlink, .sidebar .editsection, .panel-title .hashlink { .hidden; }
-
+.sidebar .hashlink,
+.sidebar .editsection,
+.panel-title .hashlink {
+ .hidden;
+}
.lead {
font-family:@wiki-logo-font-family;
@@ -227,10 +230,10 @@ span.text-white, div.text-white, .bg.dark + .bg-overlay { color:@white; }
span.text-black, div.text-black, .bg.light + .bg-overlay { color:@black; }
.text-white.shadow {
- text-shadow: 1px 1px 0 rgba(0,0,0,.25), 0 0 1em @white;
+ text-shadow: 1px 1px 0 rgba(0,0,0,.25), 0 0 1em @white;
}
.text-black.shadow {
- text-shadow: 1px 1px 0 rgba(255,255,255,.25), 0 0 1em @white;
+ text-shadow: 1px 1px 0 rgba(255,255,255,.25), 0 0 1em @white;
}
//checkme - should be defined in bootstrap
@@ -262,13 +265,15 @@ span.text-black, div.text-black, .bg.light + .bg-overlay { color:@black; }
.bg-gray, .bg-grey { background-color: @gray; color:@white; }
.bg-black { background-color: @black; color:@white; }
-/* Background images in jspwiki
-markup
- %%bg [some image link] /%
+/*
+Background images in jspwiki
+
+Markup
+> %%bg [some image link] /%
becomes
- span.background(.fixed|.cover|.contain)(.top|.bottom|.left|.right)
- div.background-overlay
- <wrapping all siblings>
+> span.background(.fixed|.cover|.contain)(.top|.bottom|.left|.right)
+> div.background-overlay
+> <wrapping all siblings>
*/
.bg > img, .bg > img.inline, .bg > .imageplugin img { display:none; }
@@ -330,10 +335,10 @@ pre {
//better is to set top & bottom margins, in case the previous dom elements is a text node
// margin: (@line-height-computed / 2) 0;
- //overwrite bootstratp defaults: use alpha/transparency to also support dark backgrounds.
+ //overwrite bootstrap defaults: use alpha/transparency to also support dark backgrounds.
//color: @pre-color;
- background-color: fadeout(@pre-bg,50%);
- border: 1px solid fadeout(@pre-border-color,50%);
+ background-color: @wiki-pre-bg;
+ border: 1px solid @wiki-pre-border-color;
}
.small pre {
@@ -351,7 +356,6 @@ tt {
}
//list-unstyled : bootstrap
-//list-hover
.list-hover {
li:hover {
background-color:@dropdown-link-hover-bg;
@@ -359,7 +363,6 @@ tt {
}
}
.list-nostyle { list-style: none; }
-
.list-group.raised li { border:none; }
@@ -670,7 +673,8 @@ span.success, span.information, span.info, span.warning, span.error, span.dange
}
.default {
- .alert-variant(@btn-default-bg; @btn-default-border; @btn-default-color);
+ .alert-variant(@wiki-pre-bg; @wiki-pre-border-color; @btn-default-color);
+
}
.success { .alert-success; }
.info, .information { .alert-info; }
diff --git a/jspwiki-war/src/main/styles/haddock/default/variables.less b/jspwiki-war/src/main/styles/haddock/default/variables.less
index 1c4772e..14f4783 100644
--- a/jspwiki-war/src/main/styles/haddock/default/variables.less
+++ b/jspwiki-war/src/main/styles/haddock/default/variables.less
@@ -67,6 +67,8 @@ images/feather-small.png wxh 162x286
//softer gray-tones
@pre-bg: #f7f7f9; //#f2f2f2;
@pre-border-color: #e1e1e8; //#e5e5e5;
+@wiki-pre-bg: fadeout(@pre-bg,50%);
+@wiki-pre-border-color: fadeout(@pre-border-color,50%);
@panel-default-border: @pre-border-color;
@panel-default-heading-bg: @pre-bg;
@@ -75,6 +77,7 @@ images/feather-small.png wxh 162x286
// JPSWiki variables
// Main color scheme
@wiki-header-bg: rgba(74,137,220,0.9); //@brand-primary;
+//@wiki-header-bg: -webkit-linear-gradient(108deg,rgba(112,208,238,0.8), rgba(74,137,220,0.9)/*rgba(42,132,210,0.8)*/ 90%);
@wiki-header-color: @white;
@wiki-page-bg: @white;
diff --git a/jspwiki-war/src/main/webapp/templates/haddock/GroupTab.jsp b/jspwiki-war/src/main/webapp/templates/haddock/GroupTab.jsp
index b7cc04c..8c39a57 100644
--- a/jspwiki-war/src/main/webapp/templates/haddock/GroupTab.jsp
+++ b/jspwiki-war/src/main/webapp/templates/haddock/GroupTab.jsp
@@ -164,7 +164,7 @@
<c:if test='<%= authMgr.checkPermission( c.getWikiSession(), new GroupPermission( name, "delete" ) ) %>'>
<%-- <wiki:Permission permission="deleteGroup"> --%>
- <button class="btn btn-xs btn-danger" onclick="document.deleteGroupForm.group.value ='${group.name}';document.deleteGroupForm.ok.click();">
+ <button class="btn btn-xs btn-danger" type="button" onclick="document.deleteGroupForm.group.value ='${group.name}';document.deleteGroupForm.ok.click();">
<fmt:message key="actions.deletegroup"/>
</button>
<%--</wiki:Permission>--%>
diff --git a/jspwiki-war/src/main/webapp/templates/haddock/Header.jsp b/jspwiki-war/src/main/webapp/templates/haddock/Header.jsp
index db4bc57..ed80787 100644
--- a/jspwiki-war/src/main/webapp/templates/haddock/Header.jsp
+++ b/jspwiki-war/src/main/webapp/templates/haddock/Header.jsp
@@ -33,7 +33,7 @@
<div class="topline">
- <div class="cage pull-left">
+ <div class="cage pull-left" tabindex="0">
<a class="logo pull-left"
href="<wiki:Link page='${frontpage}' format='url' />"
@@ -60,16 +60,12 @@
<c:when test="${not empty fn:substringBefore(param.page,'_comments_')}">
<wiki:Link>${fn:replace(fn:replace(param.page,'_comments_',' ['),'_','#')}]</wiki:Link>
</c:when>
- <c:otherwise><a href="#top"><wiki:PageName /></a></c:otherwise>
+ <c:otherwise><a href="#top" tabindex="-1"><wiki:PageName /></a></c:otherwise>
</c:choose>
</div>
</div>
- <div class="breadcrumb">
- <fmt:message key="header.yourtrail"/><wiki:Breadcrumbs separator="<span class='divider'></span>" />
- </div>
-
<wiki:Include page="Nav.jsp" />
</div>
\ No newline at end of file
diff --git a/jspwiki-war/src/main/webapp/templates/haddock/Nav.jsp b/jspwiki-war/src/main/webapp/templates/haddock/Nav.jsp
index 2e8a428..2d44757 100644
--- a/jspwiki-war/src/main/webapp/templates/haddock/Nav.jsp
+++ b/jspwiki-war/src/main/webapp/templates/haddock/Nav.jsp
@@ -37,6 +37,29 @@
<ul class="nav nav-pills pull-left">
<%-- toggle sidebar --%>
<li id="menu"><a href="#"><!--≡-->☰</a></li>
+
+ <li id="trail" tabindex="0">
+ <a href="#">
+ <span>…</span>
+ <span>…</span>
+ <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu" data-hover-parent="li">
+ <li class="dropdown-header"><fmt:message key="header.yourtrail"/></li>
+ <li class="divider"></li>
+
+ <%-- FIXME: breadcrumbs tag returns items in wrong order: 1st item is at back of the list !!
+ <li><wiki:Breadcrumbs separator="</li><li>" /></li>
+ --%>
+ <c:set var="refresh_breadCrumbTrail_attr"><wiki:Breadcrumbs /></c:set>
+ <c:forEach items="${breadCrumbTrail}" varStatus="status" begin="2">
+ <c:set var="crumb" value="${breadCrumbTrail[fn:length(breadCrumbTrail) - status.index]}" />
+ <li><wiki:Link page="${crumb}" >${crumb}</wiki:Link></li>
+ </c:forEach>
+
+ </ul>
+ </li>
+
</ul>
<ul class="nav nav-pills pull-right">
@@ -87,7 +110,7 @@
<%-- info --%>
<wiki:CheckRequestContext context='view|info|upload|rename|edit|comment|conflict'>
<wiki:PageExists>
- <li id="info">
+ <li id="info" tabindex="0">
<wiki:Link context="info" accessKey="i">
<span class="icon-info-menu"></span>
<span><fmt:message key='info.tab'/></span>
@@ -188,7 +211,7 @@
<%-- more menu --%>
- <li id="more">
+ <li id="more" tabindex="0">
<a href="#">
<span class="icon-ellipsis-v"></span>
<span><fmt:message key="actions.more"/></span>
diff --git a/jspwiki-war/src/main/webapp/templates/haddock/SearchBox.jsp b/jspwiki-war/src/main/webapp/templates/haddock/SearchBox.jsp
index 630381c..bc032af 100644
--- a/jspwiki-war/src/main/webapp/templates/haddock/SearchBox.jsp
+++ b/jspwiki-war/src/main/webapp/templates/haddock/SearchBox.jsp
@@ -25,10 +25,11 @@
<%-- Powered by wiki/Findpages.js and wiki/Recents.js --%>
<form action="<wiki:Link jsp='Search.jsp' format='url'/>"
class="form-inline searchbox pull-right"
- id="searchForm"
+ id="searchForm" tabindex="0"
accept-charset="<wiki:ContentEncoding />">
- <div class="btn"><span class="icon-search"></span><span class="caret"></span></div>
+ <%-- the onclick="" is needed for hover effect on ipad https://www.codehaven.co.uk/fix-css-hover-on-iphone-ipad/ --%>
+ <div onclick="" class="btn"><span class="icon-search"></span><span class="caret"></span></div>
<ul class="dropdown-menu" data-hover-parent=".searchbox">
<li class="dropdown-header">
diff --git a/jspwiki-war/src/main/webapp/templates/haddock/UserBox.jsp b/jspwiki-war/src/main/webapp/templates/haddock/UserBox.jsp
index 62686bf..62c253d 100644
--- a/jspwiki-war/src/main/webapp/templates/haddock/UserBox.jsp
+++ b/jspwiki-war/src/main/webapp/templates/haddock/UserBox.jsp
@@ -31,9 +31,10 @@
<c:set var="username"><wiki:UserName /></c:set>
<c:set var="loginstatus"><wiki:Variable var='loginstatus'/></c:set>
-<div class="cage pull-right userbox user-${loginstatus}">
+<div class="cage pull-right userbox user-${loginstatus}" tabindex="0">
- <div class="btn"><span class="icon-user"></span><span class="caret"></span></div>
+ <%-- the onclick="" is needed for hover effect on ipad https://www.codehaven.co.uk/fix-css-hover-on-iphone-ipad/ --%>
+ <div onclick="" class="btn"><span class="icon-user"></span><span class="caret"></span></div>
<ul class="dropdown-menu pull-right" data-hover-parent=".userbox">
diff --git a/jspwiki-war/src/main/webapp/templates/haddock/commonheader.jsp b/jspwiki-war/src/main/webapp/templates/haddock/commonheader.jsp
index 7fc9668..d0bc153 100644
--- a/jspwiki-war/src/main/webapp/templates/haddock/commonheader.jsp
+++ b/jspwiki-war/src/main/webapp/templates/haddock/commonheader.jsp
@@ -78,8 +78,7 @@ String.I18N.PREFIX = "javascript.";
<meta name="wikiPageUrl" content='<wiki:Link format="url" page="#$%"/>' />
<meta name="wikiEditUrl" content='<wiki:EditLink format="url" page="#$%"/>' />
<meta name="wikiCloneUrl" content='<wiki:EditLink format="url" page="#$%"/>&clone=<wiki:Variable var="pagename" />' />
-<meta name="wikiAttachmentUrl" content='<wiki:Link format="url" page="#$%/#$%.#$%"/>' />
-<meta name="wikiJsonUrl" content='<%= WikiContext.findContext(pageContext).getURL( WikiContext.NONE, "ajax" ) %>' /><%--unusual pagename--%>
+<meta name="wikiJsonUrl" content='<%= WikiContext.findContext(pageContext).getURL( WikiContext.NONE, "ajax" ) %>' /><%--unusual pagename--%>
<meta name="wikiPageName" content='<wiki:Variable var="pagename" />' /><%--pagename without blanks--%>
<meta name="wikiUserName" content='<wiki:UserName />' />
<meta name="wikiTemplateUrl" content='<wiki:Link format="url" templatefile="" />' />
diff --git a/jspwiki-war/src/main/webapp/templates/haddock/editors/plain.jsp b/jspwiki-war/src/main/webapp/templates/haddock/editors/plain.jsp
index 7601e06..fd9cce4 100644
--- a/jspwiki-war/src/main/webapp/templates/haddock/editors/plain.jsp
+++ b/jspwiki-war/src/main/webapp/templates/haddock/editors/plain.jsp
@@ -134,7 +134,7 @@
<wiki:CheckRequestContext context="edit">
<div class="btn-group sections">
- <button class="btn btn-default"><span class="icon-bookmark"></span><span class="caret"></span></button>
+ <button class="btn btn-default" type="button"><span class="icon-bookmark"></span><span class="caret"></span></button>
<ul class="dropdown-menu" data-hover-parent="div">
<li><a>first</a></li>
<li><a>..</a></li>
@@ -144,18 +144,18 @@
</div>
</wiki:CheckRequestContext>
- <button class="btn btn-default" data-cmd="lipstick"><span class="icon-tint" /></button>
- <button class="btn btn-default" data-cmd="find"><span class="icon-search" /></button>
+ <button class="btn btn-default" type="button" data-cmd="lipstick"><span class="icon-tint" /></button>
+ <button class="btn btn-default" type="button" data-cmd="find"><span class="icon-search" /></button>
<fmt:message key='editor.plain.undo.title' var='msg'/>
- <button class="btn btn-default" data-cmd="undo" title="${msg}"><span class="icon-undo"></span></button>
+ <button class="btn btn-default" type="button" data-cmd="undo" title="${msg}"><span class="icon-undo"></span></button>
<fmt:message key='editor.plain.redo.title' var='msg'/>
- <button class="btn btn-default" data-cmd="redo" title="${msg}"><span class="icon-repeat"></span></button>
+ <button class="btn btn-default" type="button" data-cmd="redo" title="${msg}"><span class="icon-repeat"></span></button>
<div class="btn-group config">
<%-- note: 'dropdown-toggle' is only here to style the last button properly! --%>
- <button class="btn btn-default"><span class="icon-wrench"></span><span class="caret"></span></button>
+ <button class="btn btn-default" type="button"><span class="icon-wrench"></span><span class="caret"></span></button>
<ul class="dropdown-menu" data-hover-parent="div">
<li>
@@ -223,7 +223,7 @@
<c:if test='${fn:length(editors) > 1}'>
<div class="btn-group config">
<%-- note: 'dropdown-toggle' is only here to style the last button properly! --%>
- <button class="btn btn-default"><span class="icon-pencil"></span><span class="caret"></span></button>
+ <button class="btn btn-default" type="button"><span class="icon-pencil"></span><span class="caret"></span></button>
<ul class="dropdown-menu" data-hover-parent="div">
<c:forEach items="${editors}" var="edt">
<c:choose>
--
To stop receiving notification emails like this one, please contact
brushed@apache.org.