Added a checkbox to the Xinha link dialog to make external links open in a new tab/window

git-svn-id: https://svn.libreccm.org/ccm/trunk@3684 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2015-10-11 09:30:02 +00:00
parent 11626c2299
commit e998131935
4 changed files with 167 additions and 150 deletions

View File

@ -17,5 +17,6 @@
"Dimension" : "Dimensionen", "Dimension" : "Dimensionen",
"Width:" : "Breite:", "Width:" : "Breite:",
"Height:" : "Höhe:", "Height:" : "Höhe:",
"Preview" : "Vorschau" "Preview" : "Vorschau",
"New tab/window": "In neuem Tab/Fenster öffnen:"
} }

View File

@ -17,5 +17,6 @@
"Dimension" : "Dimension", "Dimension" : "Dimension",
"Width:" : "Width:", "Width:" : "Width:",
"Height:" : "Height:", "Height:" : "Height:",
"Preview" : "Preview" "Preview" : "Preview",
"New tab/window:": "Open in new tab/window:"
} }

View File

@ -1,155 +1,161 @@
<style> <style>
.common { .common {
margin: 0.4em; margin: 0.4em;
} }
fieldset { fieldset {
margin: 0.6em 0.3em; margin: 0.6em 0.3em;
} }
label.key { label.key {
clear: left; clear: left;
float: left; float: left;
width: 5em; width: 5em;
padding: 0.25em 0.2em; padding: 0.25em 0.2em;
} }
.value { .value {
margin-left: 5.5em; margin-left: 5.5em;
margin-right: 1em; margin-right: 1em;
} }
.withButton { .withButton {
margin: 0em 0.2em 0em 12em; margin: 0em 0.2em 0em 12em;
} }
.withButton input[type="text"] { .withButton input[type="text"] {
float: left; float: left;
margin-left: -6em; margin-left: -6em;
} }
.withButton input[type="button"] { .withButton input[type="button"] {
position: relative; position: relative;
width: 5em !important; width: 5em !important;
} }
input { input {
width: auto !important; width: auto !important;
} }
input[type="text"] { input[type="text"] {
width: 100% !important; width: 100% !important;
} }
.itemname { .itemname {
margin: 0.1em; margin: 0.1em;
border: none; border: none;
border-radius: 0.3em; border-radius: 0.3em;
padding: 0.2em; padding: 0.2em;
font-style: italic; font-style: italic;
color: #4a4a4a; color: #4a4a4a;
background-color: #dddddd; background-color: #dddddd;
} }
.buttons { .buttons {
text-align: center; text-align: center;
} }
</style> </style>
<h1 id="[h1]"> <h1 id="[h1]">
<l10n>Insert/Modify Link</l10n> <l10n>Insert/Modify Link</l10n>
</h1> </h1>
<div style="position:relative"> <div style="position:relative">
<div id="[options]"> <div id="[options]">
<div class="common"> <div class="common">
<label class="key" for="[title]"> <label class="key" for="[title]">
<l10n>Title:</l10n> <l10n>Title:</l10n>
</label> </label>
<div class="value"> <div class="value">
<input type="text" name="[title]" id="[title]"/> <input type="text" name="[title]" id="[title]"/>
</div> </div>
</div> </div>
<fieldset id="[fieldset_internal]"> <fieldset id="[fieldset_internal]">
<legend> <legend>
<label> <label>
<input type="radio" name="[type]" id="[type_internal]" value="internal" checked="checked"/> <input type="radio" name="[type]" id="[type_internal]" value="internal" checked="checked"/>
<l10n>Internal Link</l10n> <l10n>Internal Link</l10n>
</label> </label>
</legend> </legend>
<label class="key" for="[ci_name]"> <label class="key" for="[ci_name]">
<l10n>Item:</l10n> <l10n>Item:</l10n>
</label> </label>
<div class="value withButton"> <div class="value withButton">
<!-- Ausgeblendet, bis es eine spezielle JSP / Java-Klasse gibt. <!-- Ausgeblendet, bis es eine spezielle JSP / Java-Klasse gibt.
<input class="itemname" type="text" name="[ci_name]" id="[ci_name]" disabled="disabled" value="_(No item selected)"/> <input class="itemname" type="text" name="[ci_name]" id="[ci_name]" disabled="disabled" value="_(No item selected)"/>
--> -->
<!-- Die folgende Zeile muß entfernt werden, wenn eine bessere JSP / Java-Klasse vorhanden ist --> <!-- Die folgende Zeile muß entfernt werden, wenn eine bessere JSP / Java-Klasse vorhanden ist -->
<input type="text" disabled="disabled" name="[ci_href]" id="[ci_href]" value=""/> <input type="text" disabled="disabled" name="[ci_href]" id="[ci_href]" value=""/>
<input type="button" name="[ci_browse]" id="[ci_browse]" value="_(Browse)"/> <input type="button" name="[ci_browse]" id="[ci_browse]" value="_(Browse)"/>
</div> </div>
<!-- Ausblenden, bis es eine spezielle JSP / Java-Klasse gibt, die besser mit externen Parametern arbeitet <!-- Ausblenden, bis es eine spezielle JSP / Java-Klasse gibt, die besser mit externen Parametern arbeitet
<div class="value withButton"> <div class="value withButton">
<input type="text" name="[ci_searchfield]" id="[ci_searchfield]" value=""/> <input type="text" name="[ci_searchfield]" id="[ci_searchfield]" value=""/>
<input type="button" name="[ci_search]" id="[ci_search]" value="_(Search)"/> <input type="button" name="[ci_search]" id="[ci_search]" value="_(Search)"/>
</div> </div>
<input type="hidden" name="[ci_href]" id="[ci_href]" value=""/> <input type="hidden" name="[ci_href]" id="[ci_href]" value=""/>
--> -->
</fieldset> </fieldset>
<fieldset id="[fieldset_external]"> <fieldset id="[fieldset_external]">
<legend> <legend>
<label> <label>
<input type="radio" name="[type]" id="[type_external]" value="external"/> <input type="radio" name="[type]" id="[type_external]" value="external"/>
<l10n>External Link</l10n> <l10n>External Link</l10n>
</label> </label>
</legend> </legend>
<label class="key" for="[href]"> <label class="key" for="[href]">
<l10n>URL:</l10n> <l10n>URL:</l10n>
</label> </label>
<div class="value"> <div class="value">
<input type="text" name="[href]" id="[href]" value=""/> <input type="text" name="[href]" id="[href]" value=""/>
</div> </div>
</fieldset> <label class="key" for="[newWindow]">
<l10n>New tab/window:</l10n>
</label>
<div class="value">
<input type="checkbox" name="[newWindow]" id="[newWindow]"/>
</div>
</fieldset>
<!-- Evt. für spätere Erweiteung, aber eigentlich sollten Links auf Contact-Items verwendet werden --> <!-- Evt. für spätere Erweiteung, aber eigentlich sollten Links auf Contact-Items verwendet werden -->
<!-- <!--
<fieldset id="[fieldset_mailto]"> <fieldset id="[fieldset_mailto]">
<legend> <legend>
<label> <label>
<input type="radio" name="[type]" id="[type_mailto]" value="mailto"/> <input type="radio" name="[type]" id="[type_mailto]" value="mailto"/>
<l10n>Email Link</l10n> <l10n>Email Link</l10n>
</label> </label>
</legend> </legend>
<label class="key" for="[to]"> <label class="key" for="[to]">
<l10n>Email Address:</l10n> <l10n>Email Address:</l10n>
</label> </label>
<div class="value"> <div class="value">
<input "type="text" name="[to]" id="[to]" value=""/> <input "type="text" name="[to]" id="[to]" value=""/>
</div> </div>
</fieldset> </fieldset>
--> -->
<!-- Für spätere Erweiterung. Scanne nach Anchor und trage sie ein --> <!-- Für spätere Erweiterung. Scanne nach Anchor und trage sie ein -->
<!-- <!--
<fieldset id="[fieldset_anchor]"> <fieldset id="[fieldset_anchor]">
<legend> <legend>
<label> <label>
<input type="radio" name="[type]" id="[type_anchor]" value="anchor"/> <input type="radio" name="[type]" id="[type_anchor]" value="anchor"/>
<l10n>Anchor Link</l10n> <l10n>Anchor Link</l10n>
</label> </label>
</legend> </legend>
<label class="key" "for="[anchor]"> <label class="key" "for="[anchor]">
<l10n>Anchor:</l10n> <l10n>Anchor:</l10n>
</label> </label>
<div class="value"> <div class="value">
<select name="[anchor]" id="[anchor]"> <select name="[anchor]" id="[anchor]">
</select> </select>
</div> </div>
</fieldset> </fieldset>
--> -->
<div class="buttons"> <div class="buttons">
<input type="button" id="[ok]" value="_(OK)" /> <input type="button" id="[ok]" value="_(OK)" />
<input type="button" id="[clear]" value="_(Remove Link)" /> <input type="button" id="[clear]" value="_(Remove Link)" />
<input type="button" id="[cancel]" value="_(Cancel)" /> <input type="button" id="[cancel]" value="_(Cancel)" />
</div>
</div> </div>
</div>
</div> </div>

View File

@ -20,7 +20,8 @@ OpenCCM.prototype.showLinkDialog = function(link)
type: 'internal', type: 'internal',
ci_name: '', ci_name: '',
ci_href: '', ci_href: '',
href: '' href: '',
target: ''
}; };
if (link && link.tagName.toLowerCase() == 'a') if (link && link.tagName.toLowerCase() == 'a')
@ -46,6 +47,10 @@ OpenCCM.prototype.showLinkDialog = function(link)
data.type = 'external'; data.type = 'external';
data.href = href; data.href = href;
} }
if (link.target === "_blank") {
data.newWindow = "on";
}
} }
@ -97,9 +102,10 @@ OpenCCM.prototype.linkApply = function()
href: '', href: '',
alt: '', alt: '',
title: '', title: '',
class: '' class: '',
target: ''
}; };
// Read needed form values // Read needed form values
switch (values.type) switch (values.type)
{ {
@ -116,6 +122,9 @@ OpenCCM.prototype.linkApply = function()
linkAttr.href = values.href; linkAttr.href = values.href;
linkAttr.title = values.title; linkAttr.title = values.title;
linkAttr.class = "linkExternal"; linkAttr.class = "linkExternal";
if (values.newWindow === "on") {
linkAttr.target = "_blank";
}
// Make absolute url // Make absolute url