Merge pull request #89 from ygresil/Kosmetic

Kosmetic
This commit is contained in:
Romain
2012-05-21 06:50:30 -07:00
34 changed files with 11393 additions and 8922 deletions

View File

@@ -114,38 +114,38 @@ class Query implements ControllerProviderInterface
if ($d2bottom < 4) {
for ($i = 1; ($i <= 4 && (($i <= $npages) === true)); $i ++ ) {
if ($i == $page)
$string .= '<input onkeypress="if(event.keyCode == 13 && !isNaN(parseInt(this.value)))gotopage(parseInt(this.value))" type="text" value="' . $i . '" size="' . (strlen((string) $i)) . '" />';
$string .= '<input onkeypress="if(event.keyCode == 13 && !isNaN(parseInt(this.value)))gotopage(parseInt(this.value))" type="text" value="' . $i . '" size="' . (strlen((string) $i)) . '" class="btn btn-mini" />';
else
$string .= "<a onclick='gotopage(" . $i . ");return false;'>" . $i . "</a>";
$string .= "<a onclick='gotopage(" . $i . ");return false;' class='btn btn-primary btn-mini'>" . $i . "</a>";
}
if ($npages > 4)
$string .= "<a onclick='gotopage(" . ($npages) . ");return false;'>&gt;&gt;</a>";
$string .= "<a onclick='gotopage(" . ($npages) . ");return false;' class='btn btn-primary btn-mini'>&gt;&gt;</a>";
}
else {
$start = $npages - 4;
if (($start) > 0)
$string .= "<a onclick='gotopage(1);return false;'>&lt;&lt;</a>";
$string .= "<a onclick='gotopage(1);return false;' class='btn btn-primary btn-mini'>&lt;&lt;</a>";
else
$start = 1;
for ($i = ($start); $i <= $npages; $i ++ ) {
if ($i == $page)
$string .= '<input onkeypress="if(event.keyCode == 13 && !isNaN(parseInt(this.value)))gotopage(parseInt(this.value))" type="text" value="' . $i . '" size="' . (strlen((string) $i)) . '" />';
$string .= '<input onkeypress="if(event.keyCode == 13 && !isNaN(parseInt(this.value)))gotopage(parseInt(this.value))" type="text" value="' . $i . '" size="' . (strlen((string) $i)) . '" class="btn btn-mini" />';
else
$string .= "<a onclick='gotopage(" . $i . ");return false;'>" . $i . "</a>";
$string .= "<a onclick='gotopage(" . $i . ");return false;' class='btn btn-primary btn-mini'>" . $i . "</a>";
}
}
}
else {
$string .= "<a onclick='gotopage(1);return false;'>&lt;&lt;</a>";
$string .= "<a onclick='gotopage(1);return false;' class='btn btn-primary btn-mini'>&lt;&lt;</a>";
for ($i = ($page - 2); $i <= ($page + 2); $i ++ ) {
if ($i == $page)
$string .= '<input onkeypress="if(event.keyCode == 13 && !isNaN(parseInt(this.value)))gotopage(parseInt(this.value))" type="text" value="' . $i . '" size="' . (strlen((string) $i)) . '" />';
$string .= '<input onkeypress="if(event.keyCode == 13 && !isNaN(parseInt(this.value)))gotopage(parseInt(this.value))" type="text" value="' . $i . '" size="' . (strlen((string) $i)) . '" class="btn btn-mini" />';
else
$string .= "<a onclick='gotopage(" . $i . ");return false;'>" . $i . "</a>";
$string .= "<a onclick='gotopage(" . $i . ");return false;' class='btn btn-primary btn-mini'>" . $i . "</a>";
}
$string .= "<a onclick='gotopage(" . ($npages) . ");return false;'>&gt;&gt;</a>";
$string .= "<a onclick='gotopage(" . ($npages) . ");return false;' class='btn btn-primary btn-mini'>&gt;&gt;</a>";
}
}
$string .= '<div style="display:none;"><div id="NEXT_PAGE"></div><div id="PREV_PAGE"></div></div>';

View File

@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="{{ session.get_I18n }}" style="overflow:hidden;">
<head>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>{% if local_title is defined%}{{local_title}} | {% endif %}{{home_title}} - {{ module_name }} </title>
<link type="text/css" rel="stylesheet" href="/skins/html5/bootstrap/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" href="/skins/html5/bootstrap/css/bootstrap-responsive.min.css" />
<link type="text/css" rel="stylesheet" href="{{registry.get('GV_STATIC_URL')}}/skins/common/main.css">
<script type="text/javascript" src="/include/minify/f=include/jslibs/jquery-1.7.1.js"></script>
<script type="text/javascript" src="/skins/html5/bootstrap/js/bootstrap.min.js"></script>
{% block stylesheet %}{% endblock %}
{% block icon %}{% endblock %}
{% block rss %}{% endblock %}
{% block javascript %}{% endblock %}
</head>
<body class="PNB">
<div id="mainContainer" class="PNB">
{% include 'common/menubar.twig' %}
<div class="PNB" id="mainContent" style="top:30px; min-width:900px; overflow-x:auto; overflow-y:auto;">
{% block content %}{% endblock %}
</div>
</div>
{% include 'common/analytics.twig' %}
</body>
</html>

View File

@@ -1,4 +1,3 @@
{% macro format_diapo(record, user, resizable) %}
{% if resizable == false %}
@@ -121,57 +120,43 @@
</script>
<div id='EDIT_ALL' style='white-space:normal; position:absolute; top:0px; left:0px; bottom:0;right:0'>
<div id="EDIT_ALL">
<div style="display:none;">
<form onsubmit="return(false)" >
<input style="font-size:2px; width:5px;" type="text" id="editFakefocus" />
</form>
</div>
<div id='EDIT_TOP' style='position:absolute; height:{{user.getPrefs('editing_top_box')}};'>
<div id='EDIT_MENU' style='position:absolute; top:0px; left:0px; width:100%; height:20px; overflow:hidden;'>
<div id="EDIT_TOP" style="height:{{user.getPrefs('editing_top_box')}};">
<div id="EDIT_MENU">
<div id="EDIT_ZOOMSLIDER" >
</div>
</div>
{% if edit.is_single_grouping %}
<div class='GRP_IMAGE_REP' style='padding:5px;margin:5px;position:absolute; top:0px; left:0px; width:146px; height:156px'>
<div id="EDIT_GRPDIAPO" style='position:absolute;'>
<div class="GRP_IMAGE_REP">
<div id="EDIT_GRPDIAPO">
{{_self.format_diapo(edit.get_grouping_head, user, false)}}
</div>
</div>
<div id="EDIT_FILM2" style="left:170px;">
{{_self.HTML_Train(edit, user, '1')}}
</div>
{% else %}
<div id="EDIT_FILM2" class='ui-corner-all'>
{{_self.HTML_Train(edit, user)}}
</div>
{% endif %}
</div>
<!-- <div id='EDIT_HSPLIT' class='gui_hsplitter' style='position:absolute; top:{{user.getPrefs('editing_top_box')}};z-index:9999'>
</div>-->
<div id='EDIT_MID' style='position:absolute; left:0px; width:100%; bottom:32px; overflow:hidden; border:none;'>
<!--<div id='EDIT_HSPLIT' class='gui_hsplitter' style='position:absolute; top:{{user.getPrefs('editing_top_box')}};z-index:9999'></div>-->
<div id='EDIT_MID'>
<div id='EDIT_MID_L' class='ui-corner-all'>
<div id="divS_wrapper" style="width:{{user.getPrefs('editing_right_box')}}">
<div id="divS">
{{_self.HTML_fieldlist(edit, user)}}
</div>
</div>
<div id="idEditZone">
<div class="PNB" style='height:35px; bottom:auto;'>
<center>
@@ -180,7 +165,7 @@
<td style='width:30px; text-align:right'>
<input type='button' value='&#9668;' class='input-button' onclick="edit_chgFld(event, -1);return(false);" />
</td>
<td id="idFieldNameEdit" style='text-align:center; width:80px; overflow:hidden'></td>
<td id="idFieldNameEdit"></td>
<td style='width:30px; text-align:left'>
<input type='button' value='&#9658;' class='input-button' onclick="edit_chgFld(event, 1);return(false);" />
</td>
@@ -190,11 +175,10 @@
</div>
<div id="EDIT_EDIT" class="PNB">
<div id="ZTextMonoValued">
<textarea id="idEditZTextArea" style="font-size:15px;height:99%;left:0;margin:0;padding:0;position:absolute;top:0;width:99%;" onmousedown="return(edit_mdwn_ta(event));" onmouseup="return(edit_mup_ta(event, this));" onkeyup="return(edit_kup_ta(event, this));" onKeyDown="return(edit_kdwn(event, this));"></textarea>
<div id="idEditDateZone"style="position:absolute; top:30px; left:0px; display:none">
<textarea id="idEditZTextArea" onmousedown="return(edit_mdwn_ta(event));" onmouseup="return(edit_mup_ta(event, this));" onkeyup="return(edit_kup_ta(event, this));" onKeyDown="return(edit_kdwn(event, this));"></textarea>
<div id="idEditDateZone"></div>
</div>
</div>
<div id="ZTextMultiValued" style="position:absolute; top:0px; left:0px; width:100%; height:100%; display:none;">
<div id="ZTextMultiValued">
<form onsubmit="edit_addmval($('#EditTextMultiValued', p4.edit.editBox).val(), null);return(false);" style="position:absolute; height:30px; left:2px; right:2px;">
<div style="position:absolute; top:0px; left:0px; right:70px; height:17px;">
<input type='text' style="font-size:15px; position:absolute; top:0px; left:0px; width:100%; height:100%;" id="EditTextMultiValued" value="" />
@@ -203,15 +187,14 @@
<img id="EditButAddMultiValued" style="cursor:pointer" src="/skins/icons/plus16.png" onclick="edit_addmval($('#EditTextMultiValued', p4.edit.editBox).val(), null);" />
</div>
</form>
<div id="ZTextMultiValued_values">
<div id="ZTextMultiValued_values"></div>
</div>
</div>
<div id="ZTextStatus" style="position:absolute; top:0px; left:0px; width:100%; height:100%; display:none;">
<div id="ZTextStatus">
<div class="nostatus">
{% trans 'Aucun statut editable' %}
</div>
<div class="somestatus">
{% trans'Les status de certains documents ne sont pas accessible par manque de droits' %}
{% trans'Les status de certains documents ne sont pas accessibles par manque de droits' %}
</div>
<div class="displaystatus">
<table>
@@ -246,12 +229,10 @@
<input id="fusion" type="button" value="{% trans 'boutton::ajouter' %}" class="input-button" onclick="edit_validField(event, 'fusion');return(false);">
<input id="cancel" type="button" value="{% trans 'boutton::annuler' %}" class="input-button" onclick="edit_validField(event, 'cancel');return(false);">
</div>
<div id="idExplain" class="PNB">
<div id="idExplain" class="PNB"></div>
</div>
</div>
</div>
<!-- <div id='EDIT_VSPLIT2' class='gui_vsplitter gui_vsplitter2' style='position:absolute; right:{{user.getPrefs('editing_left_box')}};z-index:9999;'>
</div>-->
<!--<div id='EDIT_VSPLIT2' class='gui_vsplitter gui_vsplitter2' style='position:absolute; right:{{user.getPrefs('editing_left_box')}};z-index:9999;'></div>-->
<div id="EDIT_MID_R" style="width:{{user.getPrefs('editing_left_box')}}">
<div style='position:absolute; top:0; left:0; right:0; bottom:0;' class='tabs'>
<ul>
@@ -276,19 +257,18 @@
{% endif %}
<div id='TH_Oclipboard'>
<div class="PNB10">
<textarea id='CLIP_CC' style="width:100%;height:100% !important;height:300px;"></textarea>
<textarea id='CLIP_CC' style="width:98%; height:98% !important; height:300px;"></textarea>
</div>
</div>
<div id='TH_Opreview'>
<div class="PNB10">
</div>
<div class="PNB10"></div>
</div>
<div id='TH_Oreplace'>
<table style="position:relative; left:0px; width:100%;">
<table style="position:relative; left:0; width:100%;">
<tr>
<td width="100">{% trans 'prod::editing::replace: remplacer dans le champ' %}</td>
<td>
<select id="EditSRField">
<select id="EditSRField" class="input-xlarge">
<option value="">{% trans 'prod::editing::replace: remplacer dans tous les champs' %}</option>
{% for field in edit.get_fields() %}
<option value="{{field.get_id()}}">{{field.get_name()}}</option>
@@ -298,11 +278,15 @@
</tr>
<tr>
<td valign="top">{% trans 'prod::editing:replace: chaine a rechercher' %}</td>
<td><textarea id="EditSearch" style="width:100%; height:45px; font-size:14px;"></textarea></td>
<td>
<textarea id="EditSearch"></textarea>
</td>
</tr>
<tr>
<td valign="top">{% trans 'prod::editing:remplace: chaine remplacante' %}</td>
<td><textarea id="EditReplace" style="width:100%; height:45px; font-size:14px;"></textarea></td>
<td>
<textarea id="EditReplace"></textarea>
</td>
</tr>
<tr>
<td valign="top">{% trans 'prod::editing:remplace: options de remplacement' %}</td>
@@ -318,7 +302,8 @@
{% set help_link = 'https://secure.wikimedia.org/wikipedia/ar/wiki/%D8%AA%D8%B9%D8%A7%D8%A8%D9%8A%D8%B1_%D9%86%D9%85%D8%B7%D9%8A%D8%A9' %}
{% endif %}
<a href="{{help_link}}" target="_blank">
<img src="/skins/icons/help.png" title="{% trans 'Aide sur les expressions regulieres' %}"/></a>
<img src="/skins/icons/help.png" title="{% trans 'Aide sur les expressions regulieres' %}"/>
</a>
<br/>
<br/>
<div id="EditSR_RX" style="display:none">
@@ -343,57 +328,59 @@
<tr>
<td colspan="2" align="center">
<br />
<input type="button" class='btn btn-inverse' value="{% trans 'boutton::valider' %}" onclick="replace(); return(false);" />
<br />
<input type="button" class='input-button' value="{% trans 'boutton::valider' %}" onclick="replace(); return(false);" style="position:relative; margin:auto" />
</td>
</tr>
</table>
</div>
<div id='TH_Opresets'>
<div class="PNB10">
<button class="adder">
{% trans 'boutton::ajouter' %}
</button>
<button class="adder btn btn-inverse">{% trans 'boutton::ajouter' %}</button>
</div>
<ul style="top:50px;" class="PNB10 EDIT_presets_list">
</ul>
<ul style="top:50px;" class="PNB10 EDIT_presets_list"></ul>
</div>
</div>
</div>
</div>
<div id="buttonEditing" style="text-align:center; margin:0px; padding:0px; overflow:hidden; position:absolute; bottom:0px; left:0px; width:100%; height:22px;">
<input type='button' value="{% trans 'boutton::valider' %}" class="input-button" onclick="edit_applyMultiDesc(event);" />
<input type='button' value="{% trans 'boutton::annuler' %}" class="input-button" onclick="edit_cancelMultiDesc(event);" />
<div id="buttonEditing">
<input type='button' value="{% trans 'boutton::valider' %}" class="btn btn-inverse btn-small" onclick="edit_applyMultiDesc(event);" />
<input type='button' value="{% trans 'boutton::annuler' %}" class="btn btn-inverse btn-small" onclick="edit_cancelMultiDesc(event);" />
</div>
</div>
<div id="EDIT_WORKING" style="position:absolute;top:100px;left:1px;width:100%;display:none">
<div id="EDIT_WORKING">
<center>
<br/>
<br/>
<br/>
<br>
<b>
<h4>{% trans 'prod::editing:indexation en cours' %}</h4>
</b>
<br/>
<b><h4>{% trans 'prod::editing:indexation en cours' %}</h4></b>
<span id='saveeditPbarI'></span> / <span id='saveeditPbarN'></span>
<br/><br/><br/>
<br/>
<br/>
<br/>
<input type="hidden" name="edit-lst" id="edit_lst" value="{{edit.get_serialize_list}}" />
<input type='button' class='input-button'
value="{% trans 'boutton::fermer' %}"
onClick="$('#EDITWINDOW').fadeOut();hideOverlay(2);return(false);" />
</center>
</div>
<div id="EDIT_CLOSEDIALOG" style="display:none;" title="{% trans 'boutton::fermer' %}">
{% trans 'prod::editing: valider ou annuler les modifications' %}
</div>
<div style="display:none" id="Edit_copyPreset_dlg">
<form onsubmit="return false;">
{% trans 'edit::preset:: titre' %} :
<input class="EDIT_presetTitle" type="text" name="name" style="width:300px;">
<div style="position:relative; top:0px; left:0px; width:550px; height:250px; overflow:auto;">
</div>
<div style="position:relative; top:0px; left:0px; width:550px; height:250px; overflow:auto;"></div>
</form>
</div>
<div id="dialog-edit-many-sbas" title="{% trans 'Edition impossible' %}" style="display:none;">
<p>
<span class="ui-icon ui-icon-alert " style="float:left; margin:0 7px 50px 0;"></span>
@@ -404,6 +391,7 @@
{% endif %}
</p>
</div>
<script type="text/javascript">
{% if edit.has_many_sbas or actionable == 0 %}
$('#EDITWINDOW').hide();

View File

@@ -5,27 +5,28 @@
<div class="sbas_list sbas_{{sbas_id}}" style="margin-bottom: 10px;">
<input type="hidden" name="reference" value="{{sbas_id}}"/>
<div class="clksbas" style="text-align: center;">
<input type="checkbox" checked style="display:none" id="sbasChkr_{{sbas_id}}_{{unique_id}}" class="sbasChkr_{{sbas_id}}" />
<label for="sbasChkr_{{sbas_id}}_{{unique_id}}" onclick="clksbas({{sbas_id}}, $('#sbasChkr_{{sbas_id}}_{{unique_id}}'));return false;">
<label class="checkbox" for="sbasChkr_{{sbas_id}}_{{unique_id}}" onclick="clksbas({{sbas_id}}, $('#sbasChkr_{{sbas_id}}_{{unique_id}}')); return false;">
<span>{{sbas_id|sbas_names}}</span>
<span class="infos_sbas_{{sbas_id}}">
{{base["collections"]|length}}/{{base['collections']|length}}
</span>
<input type="checkbox" checked style="display: none;" id="sbasChkr_{{sbas_id}}_{{unique_id}}" class="sbasChkr_{{sbas_id}}" />
</label>
</div>
<div class="sbascont sbascont_{{sbas_id}}" style="-moz-column-width:150px; -webkit-column-width: 150px; -moz-column-gap: 20px; -webkit-column-gap: 20px;">
<ul style="list-style-type:none; padding:0; margin:0;" class="basChild_{{sbas_id}}">
{% for collection in base["collections"] %}
{% set base_id = collection["base_id"] %}
<li style="margin:0 5px;" class="clkbas">
<label style="line-height: 18px;" onclick="infoSbas($('#ck_{{base_id}}_{{unique_id}}'),{{sbas_id}}, false, event); return false;"
for="ck_{{base_id}}_{{unique_id}}" class="ck_{{base_id}} {% if collection["selected"] %}selected{% endif %} checkbox">
{{base_id|get_collection_logo|raw}} {{base_id|bas_names}}
<input class="ck_{{collection["base_id"]}} checkbas checkbox"
onclick="cancelEvent(event);return false;"
onmousedown="infoSbas(this, {{sbas_id}}, false, event); return false;"
id="ck_{{collection["base_id"]}}_{{unique_id}}" type="checkbox"
name="bas[]" value="{{collection["base_id"]}}" {% if collection["selected"] %}checked="checked"{% endif %} />
<label style="cursor:pointer;" onclick="infoSbas($('#ck_{{base_id}}_{{unique_id}}'),{{sbas_id}}, false, event);return false;"
for="ck_{{base_id}}_{{unique_id}}" class="ck_{{base_id}} {% if collection["selected"] %}selected{% endif %}">{{base_id|get_collection_logo|raw}} {{base_id|bas_names}}</label>
</label>
</li>
{% endfor %}
</ul>
@@ -34,12 +35,15 @@
{% endfor %}
{% endmacro %}
{% extends "common/index.twig" %}
{% extends "common/index_bootstrap.html.twig" %}
{% block icon %}
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
{% endblock %}
{% block rss %}
{% for feed in feeds %}
{% set link = feed.get_user_link(registry, user, 'rss') %}
@@ -49,106 +53,75 @@
{% endfor %}
{% endblock %}
{% block stylesheet %}
<style type="text/css">
#idFrameE .diapo
{
WIDTH : 134px;
HEIGHT : 134px;
.noRepresent {
background-color: #A2F5F5;
}
DIV.HDIV
{
visibility: hidden;
BACKGROUND-COLOR:#00FF00;
POSITION: relative;
LEFT: 0px;
WIDTH: 100%;
HEIGHT: 1px;
overflow: hidden;
}
.noRepresent
{ background-color:#A2F5F5; }
.disable {
display: none;
}
</style>
<style type="text/css"> /* NE PAS FUSIONER AVEC LE BLOC PRECEDENT */
.MenuSG
{
.MenuSG {
}
.MenuSG DIV
{
WIDTH: 220px;
.MenuSG DIV {
width: 220px;
}
.MenuSG A,.MenuSG A:link,.MenuSG A:visited,.MenuSG A:active,.MenuSG A:hover
{
.MenuSG A,.MenuSG A:link,.MenuSG A:visited,.MenuSG A:active,.MenuSG A:hover {
}
.MenuSG A:hover
{
.MenuSG A:hover {
}
</style>
<style type="text/css">
.MenuSG
{
BORDER-RIGHT: 2px outset;
BORDER-TOP: 2px outset;
DISPLAY: none;
FONT-SIZE: 8pt;
Z-INDEX: 100;
VISIBILITY: visible;
OVERFLOW: hidden;
BORDER-LEFT: 2px outset;
COLOR: #000000;
BORDER-BOTTOM: 2px outset;
FONT-FAMILY: Tahoma;
POSITION: absolute;
BACKGROUND-COLOR: #e6e4e0;
TEXT-DECORATION: none;
LEFT: 500px;
TOP: 300px;
WIDTH: 220px;
COLOR: #222222;
.MenuSG {
border-right: 2px outset;
border-top: 2px outset;
display: none;
font-size: 8pt;
z-index: 100;
visibility: visible;
overflow: hidden;
border-left: 2px outset;
border-bottom: 2px outset;
font-family: Tahoma;
position: absolute;
background-color: #e6e4e0;
text-decoration: none;
left: 500px;
top: 300px;
width: 220px;
color: #222222;
}
.MenuSG DIV
{
WIDTH: 220px;
.MenuSG DIV {
width: 220px;
overflow-y: scroll;
WHITE-SPACE: normal;
COLOR: #222222;
BORDER-bottom:#CCCCCC 1px solid;
white-space: normal;
color: #222222;
border-bottom: #CCCCCC 1px solid;
margin-top: 1px;
margin-bottom: 1px;
}
.MenuSG A,.MenuSG A:link,.MenuSG A:visited,.MenuSG A:active,.MenuSG A:hover
{
.MenuSG A,.MenuSG A:link,.MenuSG A:visited,.MenuSG A:active,.MenuSG A:hover {
cursor: pointer;
DISPLAY: block;
PADDING-LEFT: 5px;
COLOR: #000000;
PADDING-TOP: 2px;
WHITE-SPACE: normal;
BACKGROUND-COLOR: #e6e4e0;
POSITION: relative;
TOP: 0px;
LEFT: 0px;
TEXT-DECORATION: none;
COLOR: #222222;
display: block;
padding-left: 5px;
padding-top: 2px;
white-space: normal;
background-color: #e6e4e0;
position: relative;
top: 0px;
left: 0px;
text-decoration: none;
color: #222222;
}
.MenuSG A:hover
{
COLOR: #ffffff;
BACKGROUND-COLOR: #191970;
TEXT-DECORATION: none;
.MenuSG A:hover {
color: #ffffff;
background-color: #191970;
text-decoration: none;
}
.sugg_val {
font-size: 10px;
color: black;
@@ -168,14 +141,29 @@
font-style: italic;
}
</style>
<style type="text/css">
/* Vertical Tabs
----------------------------------*/
.ui-tabs-vertical .ui-tabs-nav { padding: .2em .1em .2em .2em; float: left; width: 12em; }
.ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; border-bottom-width: 1px !important; border-right-width: 0 !important; margin: 0 -1px .2em 0; }
.ui-tabs-vertical .ui-tabs-nav li a { display:block; }
.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 0; padding-right: .1em; border-right-width: 1px; border-right-width: 1px; }
/* Vertical Tabs */
.ui-tabs-vertical .ui-tabs-nav {
padding: .2em .1em .2em .2em;
float: left;
width: 12em;
}
.ui-tabs-vertical .ui-tabs-nav li {
clear: left;
width: 100%;
border-bottom-width: 1px !important;
border-right-width: 0 !important;
margin: 0 -1px .2em 0;
}
.ui-tabs-vertical .ui-tabs-nav li a {
display:block;
}
.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-selected {
padding-bottom: 0;
padding-right: .1em;
border-right-width: 1px;
border-right-width: 1px;
}
</style>
<link type="text/css" rel="stylesheet" href="{{registry.get('GV_STATIC_URL')}}/include/minify/f=include/jslibs/yui2.8/build/reset/reset.css,include/jslibs/jquery.contextmenu.css,include/jslibs/colorpicker/css/colorpicker.css,include/jslibs/jquery-treeview/jquery.treeview.css,skins/common/main.css,login/geonames.css,include/jquery.image_enhancer.css,include/jslibs/jquery-ui-1.8.17/css/dark-hive/jquery-ui-1.8.17.custom.css" >
@@ -187,24 +175,21 @@
<!--[if IE 8]>
<link type="text/css" rel="stylesheet" href="/include/minify/f=skins/prod/ie8.css" >
<![endif]-->
<style title="color_selection" type="text/css">
/* .diapo.ui-selecting,#reorder_box .diapo.selecting, #EDIT_ALL .diapo.selecting, .list.selecting, .list.selecting .diapo
{
COLOR: #{% if user.getPrefs('fontcolor-selection') != '' %}{{user.getPrefs('fontcolor-selection')}}{% else %}FFFFFF{% endif %};
BACKGROUND-COLOR: #{% if user.getPrefs('background-selection-disabled') != '' %}{{user.getPrefs('background-selection-disabled')}}{% else %}333333{% endif %};
<style title="color_selection" type="text/css">
/* .diapo.ui-selecting,#reorder_box .diapo.selecting, #EDIT_ALL .diapo.selecting, .list.selecting, .list.selecting .diapo {
color: #{% if user.getPrefs('fontcolor-selection') != '' %}{{user.getPrefs('fontcolor-selection')}}{% else %}FFFFFF{% endif %};
background-color: #{% if user.getPrefs('background-selection-disabled') != '' %}{{user.getPrefs('background-selection-disabled')}}{% else %}333333{% endif %};
}*/
.diapo.selected,#reorder_box .diapo.selected, #EDIT_ALL .diapo.selected, .list.selected, .list.selected .diapo
{
COLOR: #{% if user.getPrefs('fontcolor-selection') != '' %}{{user.getPrefs('fontcolor-selection')}}{% else %}FFFFFF{% endif %};
BACKGROUND-COLOR: #{% if user.getPrefs('background-selection') != '' %}{{user.getPrefs('background-selection')}}{% else %}404040{% endif %};
.diapo.selected,#reorder_box .diapo.selected, #EDIT_ALL .diapo.selected, .list.selected, .list.selected .diapo {
color: #{% if user.getPrefs('fontcolor-selection') != '' %}{{user.getPrefs('fontcolor-selection')}}{% else %}FFFFFF{% endif %};
background-color: #{% if user.getPrefs('background-selection') != '' %}{{user.getPrefs('background-selection')}}{% else %}404040{% endif %};
}
</style>
{% endblock %}
{% block javascript %}
<script type="text/javascript" src="/include/minify/f=include/jslibs/jquery-1.7.1.js"></script>
{% endblock %}
@@ -212,7 +197,7 @@
{% set search_datas = module_prod.get_search_datas() %}
<div style="position:absolute; top:0; left:0; right:0; bottom:0; background-color:#1a1a1a; z-index:32766;">
<div id="loader" style="top:200px;margin:0 auto;-moz-border-radius:5px;-webkit-border-radius:5px;background-color:#CCCCCC;position:relative;margin:0 auto;text-align:center;left:color:black;width:400px;height:100px;padding:20px;;z-index:32767;">
<div id="loader" style="top:200px; margin:0 auto; -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; background-color:#CCCCCC; position:relative; margin:0 auto; text-align:center; width:400px; height:100px; padding:20px; z-index:32767;">
<div style="margin:0 10px 10px; font-family:Helvetica,Arial,sans-serif; font-size:18px; color:#1A1A1A; text-align:left;">Phraseanet</div>
<div style="text-align:center;">{% trans 'Chargement' %}</div>
<div style="width:220px; height:19px; margin:20px auto;">
@@ -221,7 +206,6 @@
</div>
</div>
<div id="desktop" class="PNB" style="overflow:hidden;">
{% set ratio = user.getPrefs('search_window') %}
@@ -288,12 +272,10 @@
<form class="gform" href="#" onsubmit="T_Gfilter(this);return(false);">
<input type="text" onkeyup="T_Gfilter_delayed(this.value, 300)" style="width:150px;" />
<input class="th_ok" type="submit" value="{% trans 'boutton::rechercher' %}" />
<input class="th_cancel" type="button" value="{% trans 'boutton::annuler' %}"
onclick="thesauCancelWizard();return(false);"/>
<input class="th_cancel" type="button" value="{% trans 'boutton::annuler' %}" onclick="thesauCancelWizard();return(false);"/>
</form>
</div>
<div id='THPD_T_treeBox' class="searchZone"
style="position:absolute; top:0px; bottom:0px; left:0px; width:100%; overflow:auto">
<div id='THPD_T_treeBox' class="searchZone" style="position:absolute; top:0px; bottom:0px; left:0px; width:100%; overflow:auto">
<div onclick="Xclick(event);return(false);" ondblclick="TXdblClick(event);">
<ul class="treeview" id="THPD_T_tree">
{% for base in search_datas['bases'] %}
@@ -341,7 +323,6 @@
{% endif %}
</div>
</div>
<div id="basket_menu" class="context-menu context-menu-theme-vista" style="display:none;">
<ul style="list-style-type:none;margin:0;padding:0">
<li class="context-menu-item">
@@ -383,21 +364,16 @@
</ul>
</div>
</div>
<div class="PNB" id="rightFrame" style="left:auto;width:{{w2}}%;">
<div class="PNB" id="rightFrame" style="left:auto; width:{{w2}}%;">
<div id="headBlock" class="PNB" style="height: 90px; bottom: auto;">
<div style="margin: 15px auto; line-height: 30px; width: 580px;">
<form id="searchForm" action="/prod/query/" name="phrasea_query" class="phrasea_query">
<input autocomplete="off" class="search query" id="EDIT_query" name="qry" type="text" name="qry" value="{{user.getPrefs('start_page_query')}}">
<a href="#" class="adv_trigger adv_search_button">
<img src="/skins/icons/settings.png" title="{% trans 'Advanced Search' %}"/>
</a>
<button type="submit">{% trans 'boutton::rechercher' %}</button>
<button type="submit" class="btn btn-inverse">{% trans 'boutton::rechercher' %}</button>
<div style="margin:5px 0">
{% if GV_multiAndReport %}
<input type="radio" value="0" class="mode_type_doc_reg checkbox" name="search_type" {% if GV_defaultQuery_type == 0 %}checked="checked"{% endif %} id="mode_type_doc"/><label for="mode_type_doc">{% trans 'phraseanet::type:: documents' %}</label>
@@ -405,7 +381,7 @@
{% else %}
<input type="hidden" value="0" name="search_type" />
{% endif %}
<select name="recordtype" id="recordtype_sel">
<select name="recordtype" id="recordtype_sel" class="input-small">
<option value="">{% trans 'Tout type' %}</option>
<option value="image">{% trans 'Image' %}</option>
<option value="video">{% trans 'Video' %}</option>
@@ -415,55 +391,43 @@
</select>
</div>
<input type="hidden" name="pag" id="formAnswerPage" value="">
<input type="hidden" name="sel" value="">
<div class="adv_options" style="display:none;">
<div>
<table style="width:100%; table-layout:fixed;">
<tr>
<td style="width:50%; vertical-align:top;">
<div class="sbasglob ui-corner-all">
<div style="text-align:center;margin:10px;">
<input class="input-button" type="button"
<div class="sbasglob">
<div class="btn-toolbar">
<input class="btn btn-inverse" type="button"
value="{% trans 'boutton:: selectionner toutes les bases' %}" onclick="checkBases(true);" />
<input class="input-button" type="button"
<input class="btn btn-inverse" type="button"
value="{% trans 'boutton:: selectionner aucune base' %}" onclick="checkBases(false);" />
</div>
{{_self.bas_list(module_prod, search_datas)}}
</div>
</td>
<td style="width:50%; vertical-align:top;">
<div id="sbasfiltercont" class="ui-corner-all">
<div>
<div style="margin:10px 0;">
<input onclick="reset_adv_search();" type="button" value="{% trans 'Re-initialiser' %}" class="input-button"/>
<div id="sbasfiltercont">
<div class="btn-toolbar">
<input class="btn btn-inverse" type="button" value="{% trans 'Re-initialiser' %}" onclick="reset_adv_search();" />
</div>
{% if registry.get('GV_sphinx') %}
{% trans 'Trier par ' %}
<select name="sort">
<span>{% trans 'Trier par ' %}</span>
<select name="sort" class="input-mini">
<option value="relevance">{% trans 'pertinence'%}</option>
<option value="created_on">{% trans 'date dajout'%}</option>
<option value="random">{% trans 'aleatoire'%}</option>
</select>
<select name="ord">
<select name="ord" class="span2">
<option value="desc">{% trans 'descendant'%}</option>
<option value="asc">{% trans 'ascendant'%}</option>
</select>
<input type="checkbox" checked="checked" name="stemme" /> {% trans 'rechercher par stemme' %}
{% else %}
{% trans 'Trier par ' %}
<select name="sort">
<span>{% trans 'Trier par ' %}</span>
<select name="sort" class="input-mini">
<option value=""></option>
{% for field_id, field in search_datas['fields'] %}
{% if field['type'] == 'date' %}
@@ -471,17 +435,15 @@
{% endif %}
{% endfor %}
</select>
<select name="ord">
<select name="ord" class="span2">
<option value="desc">{% trans 'descendant'%}</option>
<option value="asc">{% trans 'ascendant'%}</option>
</select>
<input type="hidden" name="ord" id="searchOrd" value="PHRASEA_ORDER_DESC" />
{% endif %}
<div class="field_filter">
<div>
{% trans 'Les termes apparaissent dans le(s) champs' %}
</div>
<select size="8" multiple onchange="checkFilters(true);" name="fields[]" style="vertical-align:middle;width:100%;">
<span>{% trans 'Les termes apparaissent dans le(s) champs' %}</span>
<select size="8" multiple onchange="checkFilters(true);" name="fields[]" style="vertical-align:middle; width:99%;">
<option value="phraseanet--all--fields">{% trans 'rechercher dans tous les champs' %}</option>
{% for field_id, field in search_datas['fields'] %}
{% if field['type'] != 'date' %}
@@ -493,15 +455,9 @@
{% set status_length = search_status|length %}
{% if status_length > 0 %}
<div style="margin:5px 0;">
<hr />
</div>
<div class="status_filter">
<div>
{% trans 'Status des documents a rechercher' %}
</div>
<span>{% trans 'Status des documents a rechercher' %}</span>
<table>
{% for n, stat in search_status %}
{% for s in stat %}
@@ -531,15 +487,13 @@
{% set dates_length = search_datas['dates']|length %}
{% if dates_length > 0 %}
<div style="margin:5px 0;">
<hr />
</div>
<div class="date_filter">
<div>{% trans 'Rechercher dans un champ date' %}</div>
<span>{% trans 'Rechercher dans un champ date' %}</span>
<table>
<tr>
<td colspan="2">
<select name="datefield">
<select name="datefield" class="input-medium">
{% for field_id, field in search_datas['dates'] %}
<option onchange="checkFilters(true);"
class="field_switch field_{{field['sbas']|implode(' field_')}}" value="{{field_id}}">{{field['fieldname']}}</option>
@@ -551,25 +505,23 @@
</td>
</tr>
<tr>
<td>
{% trans 'phraseanet::time:: de' %}
<input onchange="checkFilters(true);" class="datepicker" type="text" name="datemin">
<td style="padding-right: 5px;">
<span>{% trans 'phraseanet::time:: de' %}</span>
<input onchange="checkFilters(true);" class="datepicker input-medium" type="text" name="datemin" style="height: 18px;" />
</td>
<td>
{% trans 'phraseanet::time:: a' %}
<input onchange="checkFilters(true);" class="datepicker" type="text" name="datemax">
<span>{% trans 'phraseanet::time:: a' %}</span>
<input onchange="checkFilters(true);" class="datepicker input-medium" type="text" name="datemax" style="height: 18px;" />
</td>
</tr>
</table>
</div>
{% endif %}
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</div>
@@ -588,53 +540,70 @@
{% endif %}
</div>
</div>-->
</div>
<div id="idFrameT" class="PNB ui-corner-top" style="top:110px;">
<div class="tools PNB10" style="font-size:10px;z-index:200;height:28px;">
<div class="tools PNB10 btn-toolbar" style="font-size:10px;z-index:200;height:28px;">
<span class="verticalbuttonset">
<span>
<button class="default_action">
<img src="/skins/icons/ccoch0.gif"/>&nbsp;
</button>
<button class="trigger">{% trans 'Select' %}</button>
</span>
<div class="submenu">
<button class="answer_selector all_selector">
<span class="dropdownButton">
<div class="btn-group">
<button id="selectCase" class="default_action btn btn-inverse">&nbsp;</button>
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
<ul class="dropdown-menu">
<li>
<a class="answer_selector all_selector">
{% trans 'reponses:: selectionner tout' %}
</button>
<button class="answer_selector none_selector">
</a>
</li>
<li class="divider"></li>
<li>
<a class="answer_selector none_selector">
{% trans 'reponses:: selectionner rien' %}
</button>
<button class="answer_selector image_selector">
</a>
</li>
<li class="divider"></li>
<li>
<a class="answer_selector image_selector">
{% trans 'phraseanet::type:: images' %}
</button>
<button class="answer_selector document_selector">
</a>
</li>
<li class="divider"></li>
<li>
<a class="answer_selector document_selector">
{% trans 'phraseanet::type:: documents' %}
</button>
<button class="answer_selector video_selector">
</a>
</li>
<li class="divider"></li>
<li>
<a class="answer_selector video_selector">
{% trans 'phraseanet::type:: videos' %}
</button>
<button class="answer_selector audio_selector">
</a>
</li>
<li class="divider"></li>
<li>
<a class="answer_selector audio_selector">
{% trans 'phraseanet::type:: audios' %}
</button>
</a>
</li>
</ul>
</div>
</span>
<span class="verticalbuttonset">
<span>
<button class="default_action TOOL_disktt_btn results_window" style="background: url('/skins/prod/000000/images/disktt_history.gif') no-repeat 2px center; padding-left:16px;">
<span class="dropdownButton">
<div class="btn-group">
<button class="default_action TOOL_disktt_btn results_window btn btn-inverse">
<img src="/skins/prod/000000/images/disktt_history.gif" height="16" width="16" />
{% trans 'action : exporter' %}
</button>
<button class="trigger">{% trans 'Select an action' %}</button>
</span>
<div class="submenu">
<button class="TOOL_print_btn results_window" style="background: url('/skins/prod/000000/images/print_history.gif') #313131 no-repeat 2px center; padding-left:16px;">
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
<ul class="dropdown-menu">
<li>
<a class="TOOL_print_btn results_window">
<img src="/skins/prod/000000/images/print_history.gif" height="16" width="16" />
{% trans 'action : print' %}
</button>
</a>
</li>
</ul>
</div>
</span>
@@ -659,33 +628,39 @@
{% endif %}
{% set n_actions = actions|length %}
{% if n_actions > 1 %}
<span class="verticalbuttonset">
<span>
<span class="dropdownButton">
<div class="btn-group">
{% for action in actions %}
{% if loop.first %}
<button class="default_action {{ action.class }} results_window" style="background: url('{{ action.icon }}') no-repeat 2px center; padding-left:16px;">
<button class="default_action {{ action.class }} results_window btn btn-inverse">
<img src="{{ action.icon }}" height="16" width="16" />
{{ action.label }}
</button>
{% endif %}
{% endfor %}
<button class="trigger">{% trans 'Select an action' %}</button>
</span>
<div class="submenu" >
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
<ul class="dropdown-menu">
{% for action in actions %}
{% if not loop.first %}
<button class="{{ action.class }} results_window" style="background: url('{{ action.icon }}') #313131 no-repeat 2px center; padding-left:16px;">
<li>
<a class="{{ action.class }} results_window">
<img src="{{ action.icon }}" height="16" width="16" />
{{ action.label }}
</button>
</a>
</li>
{% if not loop.last %}
<li class="divider"></li>
{% endif %}
{% endif %}
{% endfor %}
</ul>
</div>
</span>
{% elseif n_actions == 1 %}
<span class="buttonset">
<span class="classicButton">
{% for action in actions %}
<button class="{{ action.class }} results_window">
<button class="{{ action.class }} results_window btn btn-inverse">
<img src="{{ action.icon }}"/> {{ action.label }}
</button>
{% endfor %}
@@ -693,66 +668,93 @@
{% endif %}
{% if user.ACL().has_right('push') and user.ACL().has_right('bas_chupub') %}
<span class="verticalbuttonset">
<span>
<button class="TOOL_pushdoc_btn default_action results_window" style="background: url('/skins/icons/push16.png') no-repeat 2px center; padding-left:16px;">
<span class="dropdownButton">
<div class="btn-group">
<button class="TOOL_pushdoc_btn default_action results_window btn btn-inverse">
<img src="/skins/icons/push16.png" height="16" width="16" />
{% trans 'action : push' %}
</button>
<button class="trigger">{% trans 'Select an action' %}</button>
</span>
<div class="submenu">
<button class="TOOL_feedback_btn results_window" style="background: url('/skins/icons/feedback16.png') #313131 no-repeat 2px center; padding-left:16px;">
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
<ul class="dropdown-menu">
<li>
<a class="TOOL_feedback_btn results_window">
<img src="/skins/icons/feedback16.png" height="16" width="16" />
{% trans 'Feedback' %}
</button>
<button class="TOOL_bridge_btn results_window" style="background: url('/skins/icons/door.png') #313131 no-repeat 2px center; padding-left:16px;">
</a>
</li>
<li class="divider"></li>
<li>
<a class="TOOL_bridge_btn results_window">
<img src="/skins/icons/door.png" height="16" width="16" />
{% trans 'action : bridge' %}
</button>
<button class="TOOL_publish_btn results_window" style="background: url('/skins/icons/rss16.png') #313131 no-repeat 2px center; padding-left:16px;">
</a>
</li>
<li class="divider"></li>
<li>
<a class="TOOL_publish_btn results_window">
<img src="/skins/icons/rss16.png" height="16" width="16" />
{% trans 'action : publier' %}
</button>
</a>
</li>
</ul>
</div>
</span>
{% elseif user.ACL().has_right('push') %}
<span class="verticalbuttonset">
<span>
<button class="TOOL_pushdoc_btn default_action results_window" style="background: url('/skins/icons/push16.png') no-repeat 2px center; padding-left:16px;">
<span class="dropdownButton">
<div class="btn-group">
<button class="TOOL_pushdoc_btn default_action results_window btn btn-inverse" >
<img src="/skins/icons/push16.png" height="16" width="16" />
{% trans 'action : push' %}
</button>
<button class="trigger">{% trans 'Select an action' %}</button>
</span>
<div class="submenu">
<button class="TOOL_feedback_btn results_window" style="background: url('/skins/icons/feedback16.png') #313131 no-repeat 2px center; padding-left:16px;">
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
<ul class="submenu dropdown-menu">
<li>
<a class="TOOL_feedback_btn results_window">
<img src="/skins/icons/feedback16.png" height="16" width="16" />
{% trans 'Feedback' %}
</button>
</a>
</li>
</ul>
</div>
</span>
{% elseif user.ACL().has_right('bas_chupub') %}
<span class="verticalbuttonset">
<span>
<button class="TOOL_bridge_btn default_action results_window" style="background: url('/skins/icons/door.png') #313131 no-repeat 2px center; padding-left:16px;">
<span class="dropdownButton">
<div class="btn-group">
<button class="TOOL_pushdoc_btn default_action results_window btn btn-inverse" >
<img src="/skins/icons/door.png" height="16" width="16" />
{% trans 'action : bridge' %}
</button>
<button class="trigger">{% trans 'Select an action' %}</button>
</span>
<div class="submenu">
<button class="TOOL_publish_btn results_window" style="background: url('/skins/icons/rss16.png') #313131 no-repeat 2px center; padding-left:16px;">
<button class="trigger btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
<ul class="submenu dropdown-menu">
<li>
<a class="TOOL_publish_btn results_window">
<img src="/skins/icons/rss16.png" height="16" width="16" />
{% trans 'action : publier' %}
</a>
</li>
</ul>
</div>
</span>
{% endif %}
{% if user.ACL().has_right('doctools') %}
<span class="classicButton">
<div class="btn-group">
<button class="TOOL_imgtools_btn results_window btn btn-inverse" >
<img src="/skins/prod/000000/images/imgtools_history.gif" height="16" width="16" />
{% trans 'action : outils' %}
</button>
</div>
</span>
{% endif %}
{% if user.ACL().has_right('doctools') %}
<span class="buttonset">
<button class="TOOL_imgtools_btn results_window" style="background: url('/skins/prod/000000/images/imgtools_history.gif') no-repeat 2px center; padding-left:16px;">
{% trans 'action : outils' %}
</button>
</span>
{% endif %}
{% if user.ACL().has_right('deleterecord') %}
<span class="buttonset">
<button class="TOOL_trash_btn results_window" style="background: url('/skins/icons/delete.png') no-repeat 2px center; padding-left:16px;" >
<span class="classicButton">
<div class="btn-group">
<button class="TOOL_trash_btn results_window btn btn-inverse" >
<img src="/skins/icons/delete.png" height="16" width="16" />
{% trans 'action : supprimer' %}
</button>
</div>
</span>
{% endif %}
</div>
@@ -780,8 +782,7 @@
</span>
</td>
<td class="navigation">
<div id="tool_navigate">
</div>
<div id="tool_navigate"></div>
</td>
</tr>
</table>
@@ -789,9 +790,6 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<form style="visibility:hidden;display:none;" name="formDownload" action="/include/download.php" method="post" target="HFrameZ" >
@@ -882,14 +880,17 @@
<div class="box">
<div class="" style="float:left; width:49%;">
<h1>{% trans 'Mode de presentation' %}</h1>
{% set mod = user.getPrefs('view') %}
<input onchange="setPref('view',$(this).val())" name="view_type" type="radio" class="checkbox" value="thumbs" id="thumbs_view" {% if mod == 'thumbs' %}checked="checked"{% endif %}/>
<label for="thumbs_view">{% trans 'reponses:: mode vignettes' %}</label>
<input onchange="setPref('view',$(this).val())" name="view_type" type="radio" class="checkbox" value="list" id="list_view" {% if mod == 'list' %}checked="checked"{% endif %}/>
<label for="list_view">{% trans 'reponses:: mode liste' %}</label>
<label class="radio inline" for="thumbs_view">
<input onchange="setPref('view',$(this).val())" name="view_type" type="radio" style="margin: 3px 0 0 -18px;" class="radio" value="thumbs" id="thumbs_view" {% if mod == 'thumbs' %}checked="checked"{% endif %}/>
{% trans 'reponses:: mode vignettes' %}
</label>
<label class="radio inline" for="list_view">
<input onchange="setPref('view',$(this).val())" name="view_type" type="radio" style="margin: 3px 0 0 -18px;" class="radio" value="list" id="list_view" {% if mod == 'list' %}checked="checked"{% endif %}/>
{% trans 'reponses:: mode liste' %}
</label>
</div>
<div style="float:left;width:49%;">
<div style="float:right; width:49%;">
<h1>{% trans 'Theme' %}</h1>
{% for color, file in css %}
<div title="{% trans 'Selecteur de theme' %}" class="colorpicker_box"
@@ -900,38 +901,39 @@
<div class="box">
{% set rollover_thumbnail = user.getPrefs('rollover_thumbnail') %}
<h1>{% trans 'Presentation de vignettes' %}</h1>
<div>
<input onchange="setPref('rollover_thumbnail',$(this).val())" name="rollover_thumbnail" type="radio" class="checkbox" value="caption" id="rollover_caption" {% if rollover_thumbnail == 'caption' %}checked="checked" {% endif %}/>
<label for="rollover_caption">{% trans 'Iconographe (description au rollover)' %}</label>
</div>
<div>
<input onchange="setPref('rollover_thumbnail',$(this).val())" name="rollover_thumbnail" type="radio" class="checkbox" value="preview" id="rollover_preview" {% if rollover_thumbnail == 'preview' %}checked="checked" {% endif %}/>
<label for="rollover_preview">{% trans 'Graphiste (preview au rollover)' %}</label>
</div>
<label class="radio" for="rollover_caption">
<input onchange="setPref('rollover_thumbnail',$(this).val())" name="rollover_thumbnail" type="radio" class="radio" value="caption" id="rollover_caption" {% if rollover_thumbnail == 'caption' %}checked="checked" {% endif %}/>
{% trans 'Iconographe (description au rollover)' %}
</label>
<label class="radio" for="rollover_preview">
<input onchange="setPref('rollover_thumbnail',$(this).val())" name="rollover_thumbnail" type="radio" class="radio" value="preview" id="rollover_preview" {% if rollover_thumbnail == 'preview' %}checked="checked" {% endif %}/>
{% trans 'Graphiste (preview au rollover)' %}
</label>
</div>
<div class="box">
{% set technical_display = user.getPrefs('technical_display') %}
<h1>{% trans 'Informations techniques' %}</h1>
<div>
<input onchange="setPref('technical_display',$(this).val())" name="technical_display" type="radio" class="checkbox" value="1" id="technical_show" {% if technical_display == '1' %}checked="checked"{% endif %}/>
<label for="technical_show">{% trans 'Afficher' %}</label>
</div>
<div>
<input onchange="setPref('technical_display',$(this).val())" name="technical_display" type="radio" class="checkbox" value="group" id="technical_group" {% if technical_display == 'group' %}checked="checked"{% endif %}/>
<label for="technical_group">{% trans 'Afficher dans la notice' %}</label>
</div>
<div>
<input onchange="setPref('technical_display',$(this).val())" name="technical_display" type="radio" class="checkbox" value="0" id="technical_hide" {% if technical_display == '0' %}checked="checked"{% endif %}/>
<label for="technical_hide">{% trans 'Ne pas afficher' %}</label>
</div>
<label class="radio" for="technical_show">
<input onchange="setPref('technical_display',$(this).val())" name="technical_display" type="radio" class="radio" value="1" id="technical_show" {% if technical_display == '1' %}checked="checked"{% endif %}/>
{% trans 'Afficher' %}
</label>
<label class="radio" for="technical_group">
<input onchange="setPref('technical_display',$(this).val())" name="technical_display" type="radio" class="radio" value="group" id="technical_group" {% if technical_display == 'group' %}checked="checked"{% endif %}/>
{% trans 'Afficher dans la notice' %}
</label>
<label class="radio" for="technical_hide">
<input onchange="setPref('technical_display',$(this).val())" name="technical_display" type="radio" class="radio" value="0" id="technical_hide" {% if technical_display == '0' %}checked="checked"{% endif %}/>
{% trans 'Ne pas afficher' %}
</label>
</div>
<div class="box">
{% set doctype_display = user.getPrefs('doctype_display') %}
<h1>{% trans 'Type de documents' %}</h1>
<div>
<label class="checkbox" for="doctype_display_show">
<input onchange="setPref('doctype_display',($(this).attr('checked') ? '1' :'0'))" name="doctype_display" type="checkbox" class="checkbox" value="1" id="doctype_display_show" {% if doctype_display != '0' %}checked="checked"{% endif %}/>
<label for="doctype_display_show">{% trans 'Afficher une icone' %}</label>
</div>
{% trans 'Afficher une icone' %}
</label>
</div>
<div class="box">
<div class="" style="float:left; width:49%;">
@@ -941,7 +943,7 @@
<input type="text" readonly style="width:35px;" value="{{user.getPrefs('images_per_page')}}" id="nperpage_value"/>
</div>
</div>
<div style="float:left;width:49%;">
<div style="float:right; width:49%;">
<h1>{% trans 'reponses:: taille des images : ' %}</h1>
<div class="box">
<div id="sizeAns_slider" class="ui-corner-all" style="width:100px;display:inline-block;"></div>
@@ -962,7 +964,7 @@
<h1>{% trans 'Affichage au demarrage' %}</h1>
{% set start_page_pref = user.getPrefs('start_page') %}
<div class="box" >
<select style="width:150px;" name="start_page" onchange="start_page_selector();">
<select class="span2" name="start_page" onchange="start_page_selector();">
<option value="LAST_QUERY" {% if start_page_pref == 'LAST_QUERY' %}selected="selected"{% endif %} >
{% trans 'Ma derniere question' %}
</option>
@@ -976,8 +978,8 @@
{% trans 'Aide' %}
</option>
</select>
<input style="width:120px;display:{% if start_page_pref == 'QUERY' %}inline{% else %}none{% endif %}" type="text" name="start_page_value" value="{{user.getPrefs('start_page_query')}}" />
<input onclick="set_start_page();" type="button" value="{% trans 'boutton::valider' %}" />
<input type="text" class="input-small" name="start_page_value" value="{{user.getPrefs('start_page_query')}}" style="display:{% if start_page_pref == 'QUERY' %}inline{% else %}none{% endif %}" />
<input type="button" class="btn btn-inverse" value="{% trans 'boutton::valider' %}" onclick="set_start_page();" />
</div>
</div>
</div>
@@ -985,8 +987,6 @@
</div>
</div>
<div id="PREVIEWBOX" class="PNB" style="overflow:hidden;">
<div class="PNB" style="right:180px;">
<div id="PREVIEWTITLE" style="height:55px;bottom:auto;" class="PNB">
@@ -997,8 +997,7 @@
<div class="PNB" style="top:55px;">
<div id="PREVIEWLEFT" class="preview_col PNB" style="width:60%;right:auto;overflow:hidden;">
<div id="PREVIEWCURRENT" class="ui-corner-bottom PNB10" style="top:0;height:116px;bottom:auto;">
<div id="PREVIEWCURRENTGLOB" style="">
</div>
<div id="PREVIEWCURRENTGLOB" style=""></div>
</div>
<div id="PREVIEWIMGCONT" class="dblclick preview_col_cont PNB10" style="overflow:hidden;top:146px;"></div>
</div>
@@ -1015,17 +1014,14 @@
{% endif %}
</ul>
<div id="PREVIEWIMGDESCINNER-BOX" class="descBoxes PNB">
<div id="PREVIEWIMGDESCINNER" class="PNB10">
</div>
<div id="PREVIEWIMGDESCINNER" class="PNB10"></div>
</div>
<div id="HISTORICOPS-BOX" class="descBoxes PNB">
<div id="HISTORICOPS" class="PNB10">
</div>
<div id="HISTORICOPS" class="PNB10"></div>
</div>
{% if GV_google_api is not empty %}
<div id="popularity-BOX" class="descBoxes PNB">
<div id="popularity" class="PNB10">
</div>
<div id="popularity" class="PNB10"></div>
</div>
{% endif %}
</div>
@@ -1043,10 +1039,9 @@
</div>
</div>
</div>
<div id="EDITWINDOW" style="display:none;" class="PNB">
<div id="idFrameE" style="position:absolute;top:10px;left:10px;right:10px;bottom:10px;">
</div>
<div id="EDITWINDOW" style="display:none;" class="PNB">
<div id="idFrameE" style="position:absolute; top:10px; left:10px; right:10px; bottom:10px;"></div>
</div>
<div id="basket_preferences" style="display:none;">
@@ -1076,11 +1071,9 @@
</div>
</div>
<div id="dialog_publicator" title="{% trans 'action : bridge' %}" style="display:none;">
</div>
<div id="dialog_publicator" title="{% trans 'action : bridge' %}" style="display:none;"></div>
<div id="modal_feed" title="{% trans 'action : publier' %}" style="display:none;">
</div>
<div id="modal_feed" title="{% trans 'action : publier' %}" style="display:none;"></div>
<form id="push_form" style="display:none;" method="post" target="download" action="/prod/pushdoc.php">
<input name="lst" value="" />
<input name="ACT" value="LOAD" />
@@ -1088,6 +1081,7 @@
</form>
<div id="dialog_dwnl" title="{% trans 'action : exporter' %}" style="display:none;"></div>
<script type="text/javascript">
{% include "prod/thesaurus.js" %}
</script>
@@ -1128,8 +1122,7 @@
})
};
function setCss(color)
{
function setCss(color) {
$("#skinCss").attr("href","/include/minify/f=skins/prod/"+color+"/prodcolor.css");
$.post("prodFeedBack.php", {
action: "CSS",
@@ -1145,7 +1138,4 @@ function setCss(color)
</script>
<script type="text/javascript" id="bitly_loader"></script>
{% endblock %}

View File

@@ -12,11 +12,9 @@
<table style='width:100%;' cellspacing='0' cellpadding='0' border='0'>
<tr>
<td valign="top" style='width:{{th_size+50}}px'>
{{record_format.block(record, user, session, highlight, searchEngine, 'IMGT', false)}}
</td>
<td valign="top">
<td valign="middle">
<div class='desc' style='max-height:{{th_size+70}}px;overflow-y:auto;'>
<div class="fixeddesc">
{% set business = user.ACL().has_right_on_base(record.get_base_id(), 'canmodifrecord') %}

View File

@@ -20,6 +20,7 @@
class="IMGT diapo type-{{record.get_type}}"
onDblClick="openPreview('RESULT',{{record.get_number}});">
{% endif %}
<div style="padding: 4px;">
<div style="height:40px; position: relative; z-index: 100;">
<div class="title">
{{record.get_title(highlight, searchEngine)|raw}}
@@ -44,7 +45,6 @@
{% set extraclass = extraclass ~ ' captionTips' %}
{% set tooltipsrc = '/prod/tooltip/preview/' ~ record.get_sbas_id() ~ '/' ~ record.get_record_id() ~ '/' %}
{% endif %}
<div class="thumb {{extraclass}} " tooltipsrc="{{tooltipsrc}}" style="height:{{th_size}}px; z-index:90;">
<div class="doc_infos">
{% if user.getPrefs('doctype_display') == '1' %}
@@ -93,7 +93,7 @@
</tr>
</table>
</div>
</div>
</div>
{% endmacro %}

View File

@@ -41,8 +41,8 @@
<th class="{{ key }}" scope="col" >
{% if value.sort == 1 %}
<div class="orderby">
<img title="Trier" style="float:left;top:0;left:0;" class="asc" src="images/arrow_up.png" />
<img titlte="trier" style="float:left;top:0;left:0;" class="desc" src="images/arrow_down.png" />
<img title="{% trans "Trier" %}" style="float:left;top:0;left:0;" class="asc" src="images/arrow_up.png" />
<img title="{% trans "Trier" %}" style="float:left;top:0;left:0;" class="desc" src="images/arrow_down.png" />
{% endif %}
<div class="title_th" style="clear:both;color:black;">{{ value.title }}</div>
@@ -54,11 +54,11 @@
<div style="height:8px;">
{% if value.filter == 1 %}
<a href="#" title="Filtrer" style="float:left;bottom:0;left:0;font-size:8px;" class="{{ key }} filter ">{% trans "report :: filtrer" %}</a>
<a href="#" title="{% trans "Filtrer" %}" style="float:left;bottom:0;left:0;font-size:8px;" class="{{ key }} filter ">{% trans "report :: filtrer" %}</a>
{% endif %}
{% if value.groupby == 1 %}
<a href="#" title="Grouper" style="float:right;bottom:0;right:0;font-size:8px;" class="{{ key }} groupby ">{% trans "report :: grouper" %}</a>
<a href="#" title="{% trans "Grouper" %}" style="float:right;bottom:0;right:0;font-size:8px;" class="{{ key }} groupby ">{% trans "report :: grouper" %}</a>
{% endif %}
</div>
</th>

View File

@@ -2119,7 +2119,7 @@ function startThisEditing(sbas_id,what,regbasprid,ssel)
check_required();
$('#TH_Opresets button.adder').button().bind('click', function(){
$('#TH_Opresets button.adder').bind('click', function(){
preset_copy();
});

View File

@@ -443,7 +443,7 @@ function afterSearch()
function initAnswerForm(){
var searchForm = $('#searchForm');
$('button[type="submit"]', searchForm).button().bind('click', function(){
$('button[type="submit"]', searchForm).bind('click', function(){
newSearch();
$('searchForm').trigger('submit');
@@ -2122,9 +2122,6 @@ function activeIcons()
alert(language.nodocselected);
});
$('#idFrameT .tools .buttonset').buttonset();
$('#idFrameT .tools .verticalbuttonset').buttonsetv();
$('.TOOL_chgstatus_btn').live('click', function(){
var value="";

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,91 +0,0 @@
/* ==========================================================
* bootstrap-alert.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#alerts
* ==========================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================== */
!function( $ ){
"use strict"
/* ALERT CLASS DEFINITION
* ====================== */
var dismiss = '[data-dismiss="alert"]'
, Alert = function ( el ) {
$(el).on('click', dismiss, this.close)
}
Alert.prototype = {
constructor: Alert
, close: function ( e ) {
var $this = $(this)
, selector = $this.attr('data-target')
, $parent
if (!selector) {
selector = $this.attr('href')
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
}
$parent = $(selector)
$parent.trigger('close')
e && e.preventDefault()
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
$parent.removeClass('in')
function removeElement() {
$parent.remove()
$parent.trigger('closed')
}
$.support.transition && $parent.hasClass('fade') ?
$parent.on($.support.transition.end, removeElement) :
removeElement()
}
}
/* ALERT PLUGIN DEFINITION
* ======================= */
$.fn.alert = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('alert')
if (!data) $this.data('alert', (data = new Alert(this)))
if (typeof option == 'string') data[option].call($this)
})
}
$.fn.alert.Constructor = Alert
/* ALERT DATA-API
* ============== */
$(function () {
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
})
}( window.jQuery )

View File

@@ -1,98 +0,0 @@
/* ============================================================
* bootstrap-button.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#buttons
* ============================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============================================================ */
!function( $ ){
"use strict"
/* BUTTON PUBLIC CLASS DEFINITION
* ============================== */
var Button = function ( element, options ) {
this.$element = $(element)
this.options = $.extend({}, $.fn.button.defaults, options)
}
Button.prototype = {
constructor: Button
, setState: function ( state ) {
var d = 'disabled'
, $el = this.$element
, data = $el.data()
, val = $el.is('input') ? 'val' : 'html'
state = state + 'Text'
data.resetText || $el.data('resetText', $el[val]())
$el[val](data[state] || this.options[state])
// push to event loop to allow forms to submit
setTimeout(function () {
state == 'loadingText' ?
$el.addClass(d).attr(d, d) :
$el.removeClass(d).removeAttr(d)
}, 0)
}
, toggle: function () {
var $parent = this.$element.parent('[data-toggle="buttons-radio"]')
$parent && $parent
.find('.active')
.removeClass('active')
this.$element.toggleClass('active')
}
}
/* BUTTON PLUGIN DEFINITION
* ======================== */
$.fn.button = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('button')
, options = typeof option == 'object' && option
if (!data) $this.data('button', (data = new Button(this, options)))
if (option == 'toggle') data.toggle()
else if (option) data.setState(option)
})
}
$.fn.button.defaults = {
loadingText: 'loading...'
}
$.fn.button.Constructor = Button
/* BUTTON DATA-API
* =============== */
$(function () {
$('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {
$(e.target).button('toggle')
})
})
}( window.jQuery )

View File

@@ -1,154 +0,0 @@
/* ==========================================================
* bootstrap-carousel.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#carousel
* ==========================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================== */
!function( $ ){
"use strict"
/* CAROUSEL CLASS DEFINITION
* ========================= */
var Carousel = function (element, options) {
this.$element = $(element)
this.options = $.extend({}, $.fn.carousel.defaults, options)
this.options.slide && this.slide(this.options.slide)
}
Carousel.prototype = {
cycle: function () {
this.interval = setInterval($.proxy(this.next, this), this.options.interval)
return this
}
, to: function (pos) {
var $active = this.$element.find('.active')
, children = $active.parent().children()
, activePos = children.index($active)
, that = this
if (pos > (children.length - 1) || pos < 0) return
if (this.sliding) {
return this.$element.one('slid', function () {
that.to(pos)
})
}
if (activePos == pos) {
return this.pause().cycle()
}
return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
}
, pause: function () {
clearInterval(this.interval)
return this
}
, next: function () {
if (this.sliding) return
return this.slide('next')
}
, prev: function () {
if (this.sliding) return
return this.slide('prev')
}
, slide: function (type, next) {
var $active = this.$element.find('.active')
, $next = next || $active[type]()
, isCycling = this.interval
, direction = type == 'next' ? 'left' : 'right'
, fallback = type == 'next' ? 'first' : 'last'
, that = this
this.sliding = true
isCycling && this.pause()
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
if (!$.support.transition && this.$element.hasClass('slide')) {
this.$element.trigger('slide')
$active.removeClass('active')
$next.addClass('active')
this.sliding = false
this.$element.trigger('slid')
} else {
$next.addClass(type)
$next[0].offsetWidth // force reflow
$active.addClass(direction)
$next.addClass(direction)
this.$element.trigger('slide')
this.$element.one($.support.transition.end, function () {
$next.removeClass([type, direction].join(' ')).addClass('active')
$active.removeClass(['active', direction].join(' '))
that.sliding = false
setTimeout(function () { that.$element.trigger('slid') }, 0)
})
}
isCycling && this.cycle()
return this
}
}
/* CAROUSEL PLUGIN DEFINITION
* ========================== */
$.fn.carousel = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('carousel')
, options = typeof option == 'object' && option
if (!data) $this.data('carousel', (data = new Carousel(this, options)))
if (typeof option == 'number') data.to(option)
else if (typeof option == 'string' || (option = options.slide)) data[option]()
else data.cycle()
})
}
$.fn.carousel.defaults = {
interval: 5000
}
$.fn.carousel.Constructor = Carousel
/* CAROUSEL DATA-API
* ================= */
$(function () {
$('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {
var $this = $(this), href
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
, options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())
$target.carousel(options)
e.preventDefault()
})
})
}( window.jQuery )

View File

@@ -1,136 +0,0 @@
/* =============================================================
* bootstrap-collapse.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#collapse
* =============================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============================================================ */
!function( $ ){
"use strict"
var Collapse = function ( element, options ) {
this.$element = $(element)
this.options = $.extend({}, $.fn.collapse.defaults, options)
if (this.options["parent"]) {
this.$parent = $(this.options["parent"])
}
this.options.toggle && this.toggle()
}
Collapse.prototype = {
constructor: Collapse
, dimension: function () {
var hasWidth = this.$element.hasClass('width')
return hasWidth ? 'width' : 'height'
}
, show: function () {
var dimension = this.dimension()
, scroll = $.camelCase(['scroll', dimension].join('-'))
, actives = this.$parent && this.$parent.find('.in')
, hasData
if (actives && actives.length) {
hasData = actives.data('collapse')
actives.collapse('hide')
hasData || actives.data('collapse', null)
}
this.$element[dimension](0)
this.transition('addClass', 'show', 'shown')
this.$element[dimension](this.$element[0][scroll])
}
, hide: function () {
var dimension = this.dimension()
this.reset(this.$element[dimension]())
this.transition('removeClass', 'hide', 'hidden')
this.$element[dimension](0)
}
, reset: function ( size ) {
var dimension = this.dimension()
this.$element
.removeClass('collapse')
[dimension](size || 'auto')
[0].offsetWidth
this.$element.addClass('collapse')
}
, transition: function ( method, startEvent, completeEvent ) {
var that = this
, complete = function () {
if (startEvent == 'show') that.reset()
that.$element.trigger(completeEvent)
}
this.$element
.trigger(startEvent)
[method]('in')
$.support.transition && this.$element.hasClass('collapse') ?
this.$element.one($.support.transition.end, complete) :
complete()
}
, toggle: function () {
this[this.$element.hasClass('in') ? 'hide' : 'show']()
}
}
/* COLLAPSIBLE PLUGIN DEFINITION
* ============================== */
$.fn.collapse = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('collapse')
, options = typeof option == 'object' && option
if (!data) $this.data('collapse', (data = new Collapse(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.collapse.defaults = {
toggle: true
}
$.fn.collapse.Constructor = Collapse
/* COLLAPSIBLE DATA-API
* ==================== */
$(function () {
$('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
var $this = $(this), href
, target = $this.attr('data-target')
|| e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
, option = $(target).data('collapse') ? 'toggle' : $this.data()
$(target).collapse(option)
})
})
}( window.jQuery )

View File

@@ -1,92 +0,0 @@
/* ============================================================
* bootstrap-dropdown.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#dropdowns
* ============================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============================================================ */
!function( $ ){
"use strict"
/* DROPDOWN CLASS DEFINITION
* ========================= */
var toggle = '[data-toggle="dropdown"]'
, Dropdown = function ( element ) {
var $el = $(element).on('click.dropdown.data-api', this.toggle)
$('html').on('click.dropdown.data-api', function () {
$el.parent().removeClass('open')
})
}
Dropdown.prototype = {
constructor: Dropdown
, toggle: function ( e ) {
var $this = $(this)
, selector = $this.attr('data-target')
, $parent
, isActive
if (!selector) {
selector = $this.attr('href')
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
}
$parent = $(selector)
$parent.length || ($parent = $this.parent())
isActive = $parent.hasClass('open')
clearMenus()
!isActive && $parent.toggleClass('open')
return false
}
}
function clearMenus() {
$(toggle).parent().removeClass('open')
}
/* DROPDOWN PLUGIN DEFINITION
* ========================== */
$.fn.dropdown = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('dropdown')
if (!data) $this.data('dropdown', (data = new Dropdown(this)))
if (typeof option == 'string') data[option].call($this)
})
}
$.fn.dropdown.Constructor = Dropdown
/* APPLY TO STANDARD DROPDOWN ELEMENTS
* =================================== */
$(function () {
$('html').on('click.dropdown.data-api', clearMenus)
$('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)
})
}( window.jQuery )

View File

@@ -1,210 +0,0 @@
/* =========================================================
* bootstrap-modal.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#modals
* =========================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================= */
!function( $ ){
"use strict"
/* MODAL CLASS DEFINITION
* ====================== */
var Modal = function ( content, options ) {
this.options = options
this.$element = $(content)
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
}
Modal.prototype = {
constructor: Modal
, toggle: function () {
return this[!this.isShown ? 'show' : 'hide']()
}
, show: function () {
var that = this
if (this.isShown) return
$('body').addClass('modal-open')
this.isShown = true
this.$element.trigger('show')
escape.call(this)
backdrop.call(this, function () {
var transition = $.support.transition && that.$element.hasClass('fade')
!that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position
that.$element
.show()
if (transition) {
that.$element[0].offsetWidth // force reflow
}
that.$element.addClass('in')
transition ?
that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :
that.$element.trigger('shown')
})
}
, hide: function ( e ) {
e && e.preventDefault()
if (!this.isShown) return
var that = this
this.isShown = false
$('body').removeClass('modal-open')
escape.call(this)
this.$element
.trigger('hide')
.removeClass('in')
$.support.transition && this.$element.hasClass('fade') ?
hideWithTransition.call(this) :
hideModal.call(this)
}
}
/* MODAL PRIVATE METHODS
* ===================== */
function hideWithTransition() {
var that = this
, timeout = setTimeout(function () {
that.$element.off($.support.transition.end)
hideModal.call(that)
}, 500)
this.$element.one($.support.transition.end, function () {
clearTimeout(timeout)
hideModal.call(that)
})
}
function hideModal( that ) {
this.$element
.hide()
.trigger('hidden')
backdrop.call(this)
}
function backdrop( callback ) {
var that = this
, animate = this.$element.hasClass('fade') ? 'fade' : ''
if (this.isShown && this.options.backdrop) {
var doAnimate = $.support.transition && animate
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
.appendTo(document.body)
if (this.options.backdrop != 'static') {
this.$backdrop.click($.proxy(this.hide, this))
}
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
this.$backdrop.addClass('in')
doAnimate ?
this.$backdrop.one($.support.transition.end, callback) :
callback()
} else if (!this.isShown && this.$backdrop) {
this.$backdrop.removeClass('in')
$.support.transition && this.$element.hasClass('fade')?
this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :
removeBackdrop.call(this)
} else if (callback) {
callback()
}
}
function removeBackdrop() {
this.$backdrop.remove()
this.$backdrop = null
}
function escape() {
var that = this
if (this.isShown && this.options.keyboard) {
$(document).on('keyup.dismiss.modal', function ( e ) {
e.which == 27 && that.hide()
})
} else if (!this.isShown) {
$(document).off('keyup.dismiss.modal')
}
}
/* MODAL PLUGIN DEFINITION
* ======================= */
$.fn.modal = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('modal')
, options = $.extend({}, $.fn.modal.defaults, typeof option == 'object' && option)
if (!data) $this.data('modal', (data = new Modal(this, options)))
if (typeof option == 'string') data[option]()
else if (options.show) data.show()
})
}
$.fn.modal.defaults = {
backdrop: true
, keyboard: true
, show: true
}
$.fn.modal.Constructor = Modal
/* MODAL DATA-API
* ============== */
$(function () {
$('body').on('click.modal.data-api', '[data-toggle="modal"]', function ( e ) {
var $this = $(this), href
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
, option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())
e.preventDefault()
$target.modal(option)
})
})
}( window.jQuery )

View File

@@ -1,95 +0,0 @@
/* ===========================================================
* bootstrap-popover.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#popovers
* ===========================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* =========================================================== */
!function( $ ) {
"use strict"
var Popover = function ( element, options ) {
this.init('popover', element, options)
}
/* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
========================================== */
Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
constructor: Popover
, setContent: function () {
var $tip = this.tip()
, title = this.getTitle()
, content = this.getContent()
$tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)
$tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)
$tip.removeClass('fade top bottom left right in')
}
, hasContent: function () {
return this.getTitle() || this.getContent()
}
, getContent: function () {
var content
, $e = this.$element
, o = this.options
content = $e.attr('data-content')
|| (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
content = content.toString().replace(/(^\s*|\s*$)/, "")
return content
}
, tip: function() {
if (!this.$tip) {
this.$tip = $(this.options.template)
}
return this.$tip
}
})
/* POPOVER PLUGIN DEFINITION
* ======================= */
$.fn.popover = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('popover')
, options = typeof option == 'object' && option
if (!data) $this.data('popover', (data = new Popover(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.popover.Constructor = Popover
$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
placement: 'right'
, content: ''
, template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
})
}( window.jQuery )

View File

@@ -1,125 +0,0 @@
/* =============================================================
* bootstrap-scrollspy.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#scrollspy
* =============================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============================================================== */
!function ( $ ) {
"use strict"
/* SCROLLSPY CLASS DEFINITION
* ========================== */
function ScrollSpy( element, options) {
var process = $.proxy(this.process, this)
, $element = $(element).is('body') ? $(window) : $(element)
, href
this.options = $.extend({}, $.fn.scrollspy.defaults, options)
this.$scrollElement = $element.on('scroll.scroll.data-api', process)
this.selector = (this.options.target
|| ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|| '') + ' .nav li > a'
this.$body = $('body').on('click.scroll.data-api', this.selector, process)
this.refresh()
this.process()
}
ScrollSpy.prototype = {
constructor: ScrollSpy
, refresh: function () {
this.targets = this.$body
.find(this.selector)
.map(function () {
var href = $(this).attr('href')
return /^#\w/.test(href) && $(href).length ? href : null
})
this.offsets = $.map(this.targets, function (id) {
return $(id).position().top
})
}
, process: function () {
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
, offsets = this.offsets
, targets = this.targets
, activeTarget = this.activeTarget
, i
for (i = offsets.length; i--;) {
activeTarget != targets[i]
&& scrollTop >= offsets[i]
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
&& this.activate( targets[i] )
}
}
, activate: function (target) {
var active
this.activeTarget = target
this.$body
.find(this.selector).parent('.active')
.removeClass('active')
active = this.$body
.find(this.selector + '[href="' + target + '"]')
.parent('li')
.addClass('active')
if ( active.parent('.dropdown-menu') ) {
active.closest('li.dropdown').addClass('active')
}
}
}
/* SCROLLSPY PLUGIN DEFINITION
* =========================== */
$.fn.scrollspy = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('scrollspy')
, options = typeof option == 'object' && option
if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.scrollspy.Constructor = ScrollSpy
$.fn.scrollspy.defaults = {
offset: 10
}
/* SCROLLSPY DATA-API
* ================== */
$(function () {
$('[data-spy="scroll"]').each(function () {
var $spy = $(this)
$spy.scrollspy($spy.data())
})
})
}( window.jQuery )

View File

@@ -1,130 +0,0 @@
/* ========================================================
* bootstrap-tab.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#tabs
* ========================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ======================================================== */
!function( $ ){
"use strict"
/* TAB CLASS DEFINITION
* ==================== */
var Tab = function ( element ) {
this.element = $(element)
}
Tab.prototype = {
constructor: Tab
, show: function () {
var $this = this.element
, $ul = $this.closest('ul:not(.dropdown-menu)')
, selector = $this.attr('data-target')
, previous
, $target
if (!selector) {
selector = $this.attr('href')
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
}
if ( $this.parent('li').hasClass('active') ) return
previous = $ul.find('.active a').last()[0]
$this.trigger({
type: 'show'
, relatedTarget: previous
})
$target = $(selector)
this.activate($this.parent('li'), $ul)
this.activate($target, $target.parent(), function () {
$this.trigger({
type: 'shown'
, relatedTarget: previous
})
})
}
, activate: function ( element, container, callback) {
var $active = container.find('> .active')
, transition = callback
&& $.support.transition
&& $active.hasClass('fade')
function next() {
$active
.removeClass('active')
.find('> .dropdown-menu > .active')
.removeClass('active')
element.addClass('active')
if (transition) {
element[0].offsetWidth // reflow for transition
element.addClass('in')
} else {
element.removeClass('fade')
}
if ( element.parent('.dropdown-menu') ) {
element.closest('li.dropdown').addClass('active')
}
callback && callback()
}
transition ?
$active.one($.support.transition.end, next) :
next()
$active.removeClass('in')
}
}
/* TAB PLUGIN DEFINITION
* ===================== */
$.fn.tab = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('tab')
if (!data) $this.data('tab', (data = new Tab(this)))
if (typeof option == 'string') data[option]()
})
}
$.fn.tab.Constructor = Tab
/* TAB DATA-API
* ============ */
$(function () {
$('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
e.preventDefault()
$(this).tab('show')
})
})
}( window.jQuery )

View File

@@ -1,270 +0,0 @@
/* ===========================================================
* bootstrap-tooltip.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#tooltips
* Inspired by the original jQuery.tipsy by Jason Frame
* ===========================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================== */
!function( $ ) {
"use strict"
/* TOOLTIP PUBLIC CLASS DEFINITION
* =============================== */
var Tooltip = function ( element, options ) {
this.init('tooltip', element, options)
}
Tooltip.prototype = {
constructor: Tooltip
, init: function ( type, element, options ) {
var eventIn
, eventOut
this.type = type
this.$element = $(element)
this.options = this.getOptions(options)
this.enabled = true
if (this.options.trigger != 'manual') {
eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))
this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))
}
this.options.selector ?
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
this.fixTitle()
}
, getOptions: function ( options ) {
options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
if (options.delay && typeof options.delay == 'number') {
options.delay = {
show: options.delay
, hide: options.delay
}
}
return options
}
, enter: function ( e ) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
if (!self.options.delay || !self.options.delay.show) {
self.show()
} else {
self.hoverState = 'in'
setTimeout(function() {
if (self.hoverState == 'in') {
self.show()
}
}, self.options.delay.show)
}
}
, leave: function ( e ) {
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
if (!self.options.delay || !self.options.delay.hide) {
self.hide()
} else {
self.hoverState = 'out'
setTimeout(function() {
if (self.hoverState == 'out') {
self.hide()
}
}, self.options.delay.hide)
}
}
, show: function () {
var $tip
, inside
, pos
, actualWidth
, actualHeight
, placement
, tp
if (this.hasContent() && this.enabled) {
$tip = this.tip()
this.setContent()
if (this.options.animation) {
$tip.addClass('fade')
}
placement = typeof this.options.placement == 'function' ?
this.options.placement.call(this, $tip[0], this.$element[0]) :
this.options.placement
inside = /in/.test(placement)
$tip
.remove()
.css({ top: 0, left: 0, display: 'block' })
.appendTo(inside ? this.$element : document.body)
pos = this.getPosition(inside)
actualWidth = $tip[0].offsetWidth
actualHeight = $tip[0].offsetHeight
switch (inside ? placement.split(' ')[1] : placement) {
case 'bottom':
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
break
case 'top':
tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
break
case 'left':
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
break
case 'right':
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
break
}
$tip
.css(tp)
.addClass(placement)
.addClass('in')
}
}
, setContent: function () {
var $tip = this.tip()
$tip.find('.tooltip-inner').html(this.getTitle())
$tip.removeClass('fade in top bottom left right')
}
, hide: function () {
var that = this
, $tip = this.tip()
$tip.removeClass('in')
function removeWithAnimation() {
var timeout = setTimeout(function () {
$tip.off($.support.transition.end).remove()
}, 500)
$tip.one($.support.transition.end, function () {
clearTimeout(timeout)
$tip.remove()
})
}
$.support.transition && this.$tip.hasClass('fade') ?
removeWithAnimation() :
$tip.remove()
}
, fixTitle: function () {
var $e = this.$element
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
$e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
}
}
, hasContent: function () {
return this.getTitle()
}
, getPosition: function (inside) {
return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
width: this.$element[0].offsetWidth
, height: this.$element[0].offsetHeight
})
}
, getTitle: function () {
var title
, $e = this.$element
, o = this.options
title = $e.attr('data-original-title')
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
title = title.toString().replace(/(^\s*|\s*$)/, "")
return title
}
, tip: function () {
return this.$tip = this.$tip || $(this.options.template)
}
, validate: function () {
if (!this.$element[0].parentNode) {
this.hide()
this.$element = null
this.options = null
}
}
, enable: function () {
this.enabled = true
}
, disable: function () {
this.enabled = false
}
, toggleEnabled: function () {
this.enabled = !this.enabled
}
, toggle: function () {
this[this.tip().hasClass('in') ? 'hide' : 'show']()
}
}
/* TOOLTIP PLUGIN DEFINITION
* ========================= */
$.fn.tooltip = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('tooltip')
, options = typeof option == 'object' && option
if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.tooltip.Constructor = Tooltip
$.fn.tooltip.defaults = {
animation: true
, delay: 0
, selector: false
, placement: 'top'
, trigger: 'hover'
, title: ''
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
}
}( window.jQuery )

View File

@@ -1,51 +0,0 @@
/* ===================================================
* bootstrap-transition.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#transitions
* ===================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================== */
!function( $ ) {
$(function () {
"use strict"
/* CSS TRANSITION SUPPORT (https://gist.github.com/373874)
* ======================================================= */
$.support.transition = (function () {
var thisBody = document.body || document.documentElement
, thisStyle = thisBody.style
, support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined
return support && {
end: (function () {
var transitionEnd = "TransitionEnd"
if ( $.browser.webkit ) {
transitionEnd = "webkitTransitionEnd"
} else if ( $.browser.mozilla ) {
transitionEnd = "transitionend"
} else if ( $.browser.opera ) {
transitionEnd = "oTransitionEnd"
}
return transitionEnd
}())
}
})()
})
}( window.jQuery )

View File

@@ -1,271 +0,0 @@
/* =============================================================
* bootstrap-typeahead.js v2.0.0
* http://twitter.github.com/bootstrap/javascript.html#typeahead
* =============================================================
* Copyright 2012 Twitter, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============================================================ */
!function( $ ){
"use strict"
var Typeahead = function ( element, options ) {
this.$element = $(element)
this.options = $.extend({}, $.fn.typeahead.defaults, options)
this.matcher = this.options.matcher || this.matcher
this.sorter = this.options.sorter || this.sorter
this.highlighter = this.options.highlighter || this.highlighter
this.$menu = $(this.options.menu).appendTo('body')
this.source = this.options.source
this.shown = false
this.listen()
}
Typeahead.prototype = {
constructor: Typeahead
, select: function () {
var val = this.$menu.find('.active').attr('data-value')
this.$element.val(val)
return this.hide()
}
, show: function () {
var pos = $.extend({}, this.$element.offset(), {
height: this.$element[0].offsetHeight
})
this.$menu.css({
top: pos.top + pos.height
, left: pos.left
})
this.$menu.show()
this.shown = true
return this
}
, hide: function () {
this.$menu.hide()
this.shown = false
return this
}
, lookup: function (event) {
var that = this
, items
, q
this.query = this.$element.val()
if (!this.query) {
return this.shown ? this.hide() : this
}
items = $.grep(this.source, function (item) {
if (that.matcher(item)) return item
})
items = this.sorter(items)
if (!items.length) {
return this.shown ? this.hide() : this
}
return this.render(items.slice(0, this.options.items)).show()
}
, matcher: function (item) {
return ~item.toLowerCase().indexOf(this.query.toLowerCase())
}
, sorter: function (items) {
var beginswith = []
, caseSensitive = []
, caseInsensitive = []
, item
while (item = items.shift()) {
if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
else if (~item.indexOf(this.query)) caseSensitive.push(item)
else caseInsensitive.push(item)
}
return beginswith.concat(caseSensitive, caseInsensitive)
}
, highlighter: function (item) {
return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {
return '<strong>' + match + '</strong>'
})
}
, render: function (items) {
var that = this
items = $(items).map(function (i, item) {
i = $(that.options.item).attr('data-value', item)
i.find('a').html(that.highlighter(item))
return i[0]
})
items.first().addClass('active')
this.$menu.html(items)
return this
}
, next: function (event) {
var active = this.$menu.find('.active').removeClass('active')
, next = active.next()
if (!next.length) {
next = $(this.$menu.find('li')[0])
}
next.addClass('active')
}
, prev: function (event) {
var active = this.$menu.find('.active').removeClass('active')
, prev = active.prev()
if (!prev.length) {
prev = this.$menu.find('li').last()
}
prev.addClass('active')
}
, listen: function () {
this.$element
.on('blur', $.proxy(this.blur, this))
.on('keypress', $.proxy(this.keypress, this))
.on('keyup', $.proxy(this.keyup, this))
if ($.browser.webkit || $.browser.msie) {
this.$element.on('keydown', $.proxy(this.keypress, this))
}
this.$menu
.on('click', $.proxy(this.click, this))
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
}
, keyup: function (e) {
e.stopPropagation()
e.preventDefault()
switch(e.keyCode) {
case 40: // down arrow
case 38: // up arrow
break
case 9: // tab
case 13: // enter
if (!this.shown) return
this.select()
break
case 27: // escape
this.hide()
break
default:
this.lookup()
}
}
, keypress: function (e) {
e.stopPropagation()
if (!this.shown) return
switch(e.keyCode) {
case 9: // tab
case 13: // enter
case 27: // escape
e.preventDefault()
break
case 38: // up arrow
e.preventDefault()
this.prev()
break
case 40: // down arrow
e.preventDefault()
this.next()
break
}
}
, blur: function (e) {
var that = this
e.stopPropagation()
e.preventDefault()
setTimeout(function () { that.hide() }, 150)
}
, click: function (e) {
e.stopPropagation()
e.preventDefault()
this.select()
}
, mouseenter: function (e) {
this.$menu.find('.active').removeClass('active')
$(e.currentTarget).addClass('active')
}
}
/* TYPEAHEAD PLUGIN DEFINITION
* =========================== */
$.fn.typeahead = function ( option ) {
return this.each(function () {
var $this = $(this)
, data = $this.data('typeahead')
, options = typeof option == 'object' && option
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
if (typeof option == 'string') data[option]()
})
}
$.fn.typeahead.defaults = {
source: []
, items: 8
, menu: '<ul class="typeahead dropdown-menu"></ul>'
, item: '<li><a href="#"></a></li>'
}
$.fn.typeahead.Constructor = Typeahead
/* TYPEAHEAD DATA-API
* ================== */
$(function () {
$('body').on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
var $this = $(this)
if ($this.data('typeahead')) return
e.preventDefault()
$this.typeahead($this.data())
})
})
}( window.jQuery )

1824
www/skins/html5/bootstrap/js/bootstrap.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,3 @@
#BasketBrowser{
}
#BasketBrowser .Browser{
background-color: #111111;
}