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,107 +1,106 @@
{% macro format_diapo(record, user, resizable) %}
{% if resizable == false %}
{% set cont_width = 130 %}
{% set cont_height = 140 %}
{% else %}
{% set cont_width = user.getPrefs('editing_images_size') %}
{% set cont_height = user.getPrefs('editing_images_size') %}
{% endif %}
{% if resizable == false %}
{% set cont_width = 130 %}
{% set cont_height = 140 %}
{% else %}
{% set cont_width = user.getPrefs('editing_images_size') %}
{% set cont_height = user.getPrefs('editing_images_size') %}
{% endif %}
{% set i = record.get_number() %}
{% set thumbnail = record.get_thumbnail().get_url() %}
{% set ratio = 80 %}
{% set width = record.get_thumbnail().get_width() %}
{% set height = record.get_thumbnail().get_height() %}
{% set i = record.get_number() %}
{% set thumbnail = record.get_thumbnail().get_url() %}
{% set ratio = 80 %}
{% set width = record.get_thumbnail().get_width() %}
{% set height = record.get_thumbnail().get_height() %}
{% if width > height %}
{% set top = 50 - ( (ratio / 2) * height / width ) %}
{% set left = 50 - ( (ratio * height / (2 * width)) * width / height ) %}
{% set width = ratio ~ "%" %}
{% set height = "auto" %}
{% else %}
{% set top = (100 - ratio) / 2 %}
{% set left = ((100 - (ratio * width / height)) / 2) %}
{% set width = "auto" %}
{% set height = ratio ~ "%" %}
{% endif %}
{% if width > height %}
{% set top = 50 - ( (ratio / 2) * height / width ) %}
{% set left = 50 - ( (ratio * height / (2 * width)) * width / height ) %}
{% set width = ratio ~ "%" %}
{% set height = "auto" %}
{% else %}
{% set top = (100 - ratio) / 2 %}
{% set left = ((100 - (ratio * width / height)) / 2) %}
{% set width = "auto" %}
{% set height = ratio ~ "%" %}
{% endif %}
{% set class_status = 'nostatus' %}
{% if user.ACL().has_right_on_base(record.get_base_id(), 'chgstatus') %}
{% set class_status = '' %}
{% endif %}
{% set class_status = 'nostatus' %}
{% if user.ACL().has_right_on_base(record.get_base_id(), 'chgstatus') %}
{% set class_status = '' %}
{% endif %}
<div pos="{{i}}" id="idEditDiapo_{{i}}" class="diapo {{class_status}}" style="width:{{ cont_width }}px; height:{{ cont_height }}px;">
<div class='titre'>
{{record.get_original_name()}}
<div pos="{{i}}" id="idEditDiapo_{{i}}" class="diapo {{class_status}}" style="width:{{ cont_width }}px; height:{{ cont_height }}px;">
<div class='titre'>
{{record.get_original_name()}}
</div>
<img class="edit_IMGT" id="idEditDiapoImg_{{i}}" style="position:absolute; top:{{top|round}}%; width:{{width}}; height:{{height}}; left:{{left|round}}%;" onclick="edit_clk_editimg(event, {{i}});" src="{{thumbnail}}" />
<div style='position:absolute; top:0px; left:0px; height:20px'>
<img class="require_alert" src="/skins/icons/alert.png" style="display:none;cursor:help;" title="{% trans 'edit::Certains champs doivent etre remplis pour valider cet editing' %}">
</div>
<div style='position:absolute; bottom:0px; left:0px; height:20px'>
<div class="previewTips" tooltipsrc="/prod/tooltip/preview/{{record.get_sbas_id()}}/{{record.get_record_id()}}/"></div>
<img class="infoTips" tooltipsrc="/prod/tooltip/tc_datas/{{record.get_sbas_id()}}/{{record.get_record_id()}}/" src="/skins/icons/info.gif"/>
</div>
<div class="reg_opts" style="display:none;position:absolute;bottom:0;right:0;">
<a style="float:right;padding:0;margin:0;cursor:pointer;" class="contextMenuTrigger" id="editContextTrigger_{{record.get_serialize_key()}}">&#9660;</a>
<table cellspacing="0" cellpadding="0" style="display:none;" id="editContext_{{record.get_serialize_key()}}" class="contextMenu editcontextmenu">
<tbody>
<tr>
<td>
<div class="context-menu context-menu-theme-vista">
<div title="" class="context-menu-item">
<div class="context-menu-item-inner" onclick="setRegDefault('{{i}}','{{record.get_record_id()}}');">{% trans 'edit: chosiir limage du regroupement' %}</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="editDiaButtons" style="position:absolute; bottom:0px; right:0px; width:30px; height:12px; display:none">
<img id="idEditDiaButtonsP_{{i}}" style="cursor:pointer" src="/skins/icons/plus11.png"/>
<img id="idEditDiaButtonsM_{{i}}" style="cursor:pointer" src="/skins/icons/minus11.png"/>
</div>
</div>
<img class="edit_IMGT" id="idEditDiapoImg_{{i}}" style="position:absolute; top:{{top|round}}%; width:{{width}}; height:{{height}}; left:{{left|round}}%;" onclick="edit_clk_editimg(event, {{i}});" src="{{thumbnail}}" />
<div style='position:absolute; top:0px; left:0px; height:20px'>
<img class="require_alert" src="/skins/icons/alert.png" style="display:none;cursor:help;" title="{% trans 'edit::Certains champs doivent etre remplis pour valider cet editing' %}">
</div>
<div style='position:absolute; bottom:0px; left:0px; height:20px'>
<div class="previewTips" tooltipsrc="/prod/tooltip/preview/{{record.get_sbas_id()}}/{{record.get_record_id()}}/"></div>
<img class="infoTips" tooltipsrc="/prod/tooltip/tc_datas/{{record.get_sbas_id()}}/{{record.get_record_id()}}/" src="/skins/icons/info.gif"/>
</div>
<div class="reg_opts" style="display:none;position:absolute;bottom:0;right:0;">
<a style="float:right;padding:0;margin:0;cursor:pointer;" class="contextMenuTrigger" id="editContextTrigger_{{record.get_serialize_key()}}">&#9660;</a>
<table cellspacing="0" cellpadding="0" style="display:none;" id="editContext_{{record.get_serialize_key()}}" class="contextMenu editcontextmenu">
<tbody>
<tr>
<td>
<div class="context-menu context-menu-theme-vista">
<div title="" class="context-menu-item">
<div class="context-menu-item-inner" onclick="setRegDefault('{{i}}','{{record.get_record_id()}}');">{% trans 'edit: chosiir limage du regroupement' %}</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="editDiaButtons" style="position:absolute; bottom:0px; right:0px; width:30px; height:12px; display:none">
<img id="idEditDiaButtonsP_{{i}}" style="cursor:pointer" src="/skins/icons/plus11.png"/>
<img id="idEditDiaButtonsM_{{i}}" style="cursor:pointer" src="/skins/icons/minus11.png"/>
</div>
</div>
{% endmacro %}
{% macro HTML_fieldlist(editing, user) %}
<div class="edit_field" id="EditFieldBox_status" onclick="return(edit_mdwn_status(event));" >
{%trans 'prod::editing::fields: status ' %}
</div>
{% set cssfile = '000000' %}
{% if user.getPrefs('css') %}
{% set cssfile = user.getPrefs('css') %}
{% endif %}
{% for field in editing.get_fields() %}
{% set i = field.get_id() %}
{% if field.is_readonly() is empty %}
<div class="edit_field" id="EditFieldBox_{{i}}" onclick="return(edit_mdwn_fld(event, {{i}}, '{{field.get_name()}}'));" >
<img id="editSGtri_{{i}}" style="visibility:hidden;" src="/skins/prod/{{cssfile}}/images/suggested.gif" />
<img src="/skins/icons/info.gif" tooltipsrc="/prod/tooltip/metas/FieldInfos/{{field.get_databox().get_sbas_id()}}/{{field.get_id()}}/" class="fieldTips" alt=""/>
{% if field.get_dces_element %}
<img src="/skins/icons/dublincore.png" tooltipsrc="/prod/tooltip/DCESInfos/{{field.get_databox().get_sbas_id()}}/{{field.get_id()}}/" alt="{% trans 'Ce champ est decrit comme un element DublinCore' %}" class="DCESTips" />
{% endif %}
{% if field.get_thumbtitle %}
<img src="/skins/icons/titre16.png" title="{% trans 'This field represents the title of the document' %}" />
{% endif %}
<span id="spanidEditFieldBox_{{i}}">
{{field.get_name()}} {% if field.is_required() %}<span style="font-weight:bold;font-size:16px;"> * </span>{% endif %} :
</span>
<span class="fieldvalue" id="idEditField_{{i}}" >???</span>
</div>
<div class="edit_field" id="EditFieldBox_status" onclick="return(edit_mdwn_status(event));" >
{%trans 'prod::editing::fields: status ' %}
</div>
{% set cssfile = '000000' %}
{% if user.getPrefs('css') %}
{% set cssfile = user.getPrefs('css') %}
{% endif %}
{% endfor %}
{% for field in editing.get_fields() %}
{% set i = field.get_id() %}
{% if field.is_readonly() is empty %}
<div class="edit_field" id="EditFieldBox_{{i}}" onclick="return(edit_mdwn_fld(event, {{i}}, '{{field.get_name()}}'));" >
<img id="editSGtri_{{i}}" style="visibility:hidden;" src="/skins/prod/{{cssfile}}/images/suggested.gif" />
<img src="/skins/icons/info.gif" tooltipsrc="/prod/tooltip/metas/FieldInfos/{{field.get_databox().get_sbas_id()}}/{{field.get_id()}}/" class="fieldTips" alt=""/>
{% if field.get_dces_element %}
<img src="/skins/icons/dublincore.png" tooltipsrc="/prod/tooltip/DCESInfos/{{field.get_databox().get_sbas_id()}}/{{field.get_id()}}/" alt="{% trans 'Ce champ est decrit comme un element DublinCore' %}" class="DCESTips" />
{% endif %}
{% if field.get_thumbtitle %}
<img src="/skins/icons/titre16.png" title="{% trans 'This field represents the title of the document' %}" />
{% endif %}
<span id="spanidEditFieldBox_{{i}}">
{{field.get_name()}} {% if field.is_required() %}<span style="font-weight:bold;font-size:16px;"> * </span>{% endif %} :
</span>
<span class="fieldvalue" id="idEditField_{{i}}" >???</span>
</div>
{% endif %}
{% endfor %}
{% endmacro %}
{% macro HTML_Train(editing, user, is_reg) %}
{% for record in editing.get_elements %}
{% if loop.index != 1 or is_reg != '1' %}
{{_self.format_diapo(record, user, true)}}
{% endif %}
{% endfor %}
{% for record in editing.get_elements %}
{% if loop.index != 1 or is_reg != '1' %}
{{_self.format_diapo(record, user, true)}}
{% endif %}
{% endfor %}
{% endmacro %}
@@ -121,314 +120,303 @@
</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_ZOOMSLIDER" >
</div>
<div style="display:none;">
<form onsubmit="return(false)" >
<input style="font-size:2px; width:5px;" type="text" id="editFakefocus" />
</form>
</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;'>
{{_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_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>
<table style='position:relative; top:5px; table-layout:fixed; width:240px'>
<tr>
<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 style='width:30px; text-align:left'>
<input type='button' value='&#9658;' class='input-button' onclick="edit_chgFld(event, 1);return(false);" />
</td>
</tr>
</table>
</center>
</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">
</div>
<div id="EDIT_TOP" style="height:{{user.getPrefs('editing_top_box')}};">
<div id="EDIT_MENU">
<div id="EDIT_ZOOMSLIDER" >
</div>
<div id="ZTextMultiValued" style="position:absolute; top:0px; left:0px; width:100%; height:100%; display:none;">
<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="" />
</div>
{% if edit.is_single_grouping %}
<div class="GRP_IMAGE_REP">
<div id="EDIT_GRPDIAPO">
{{_self.format_diapo(edit.get_grouping_head, user, false)}}
</div>
<div style="position:absolute; top:6px; width:60px; right:0px; height:11px;">
<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>
</div>
<div id="ZTextStatus" style="position:absolute; top:0px; left:0px; width:100%; height:100%; display:none;">
<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' %}
</div>
<div class="displaystatus">
<table>
{% for n, status in edit.get_status() %}
<tr>
<td style="padding-left:10px">
<span style="cursor:pointer" onclick="edit_clkstatus(event, {{n}}, 0);">
<div id="idCheckboxStatbit0_{{n}}" class="gui_ckbox_0"></div>
{% if status['img_off'] %}
<img src="{{status['img_off']}}" title="{{status['label0']}}" style="width:16px;height:16px;vertical-align:bottom" />
{% endif %}
{{ status['label0'] }}
</span>
</td>
<td style="padding-left:20px">
<span style="cursor:pointer" onclick="edit_clkstatus(event, {{n}}, 1);">
<div id="idCheckboxStatbit1_{{n}}" class="gui_ckbox_0"></div>
{% if status['img_on'] %}
<img src="{{status['img_on']}}" title="{{status['label1']}}" style="width:16px;height:16px;vertical-align:bottom" />
{% endif %}
{{ status['label1'] }}
</span>
</td>
</tr>
{% endfor %}
</table>
<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>
</div>
</div>
<div id="idDivButtons" class="PNB">
<input id="ok" type="button" value="{% trans 'boutton::remplacer' %}" class="input-button" onclick="edit_validField(event, 'ok');return(false);">
<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>
</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_MID_R" style="width:{{user.getPrefs('editing_left_box')}}">
<div style='position:absolute; top:0; left:0; right:0; bottom:0;' class='tabs'>
<ul>
{% if edit.has_thesaurus() %}
<li><a href="#TH_Ofull">{% trans 'phraseanet:: thesaurus' %}</a></li>
{% endif %}
<li><a href="#TH_Oclipboard">{% trans 'phraseanet:: presse-papier' %}</a></li>
<li><a href="#TH_Opreview">{% trans 'phraseanet:: preview' %}</a></li>
<li><a href="#TH_Oreplace">{% trans 'prod::editing: rechercher-remplacer' %}</a></li>
<li><a href="#TH_Opresets">{% trans 'prod::editing: modeles de fiches' %}</a></li>
</ul>
{% if edit.has_thesaurus() %}
<div id='TH_Ofull'>
<div class='thesaurus' ondblclick='return(edit_dblclickThesaurus(event));' onclick='return(edit_clickThesaurus(event));'>
<p id='TH_T.{{edit.get_sbas_id()}}.T'>
<u id='TH_P.{{edit.get_sbas_id()}}.T'>+</u><a id='GL_W.{{edit.get_sbas_id()}}.T' style='FONT-WEIGHT: bold;'>{{edit.get_sbas_id()|sbas_names}}</a>
</p>
<div id='TH_K.{{edit.get_sbas_id()}}.T' class='c'>{% trans 'phraseanet::chargement' %}</div>
</div>
<img style="position:absolute; margin:auto" id="TH_searching" src="/skins/icons/ftp-loader-blank.gif" />
</div>
{% endif %}
<div id='TH_Oclipboard'>
<div class="PNB10">
<textarea id='CLIP_CC' style="width:100%;height:100% !important;height:300px;"></textarea>
</div>
</div>
<div id='TH_Opreview'>
<div class="PNB10">
</div>
</div>
<div id='TH_Oreplace'>
<table style="position:relative; left:0px; width:100%;">
<tr>
<td width="100">{% trans 'prod::editing::replace: remplacer dans le champ' %}</td>
<td>
<select id="EditSRField">
<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>
{% endfor %}
</select>
</td>
</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>
</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>
</tr>
<tr>
<td valign="top">{% trans 'prod::editing:remplace: options de remplacement' %}</td>
<td>
<input type="checkbox" class="checkbox" id="EditSROptionRX" value="regexp" onchange="changeReplaceMode(this);">
{% trans 'prod::editing:remplace::option : utiliser une expression reguliere' %}
{% set help_link = 'https://secure.wikimedia.org/wikipedia/en/wiki/Regular_expression' %}
{% if session.get_I18n == 'de' %}
{% set help_link = 'https://secure.wikimedia.org/wikipedia/de/wiki/Regul%C3%A4rer_Ausdruck' %}
{% elseif session.get_I18n == 'fr' %}
{% set help_link = 'https://secure.wikimedia.org/wikipedia/fr/wiki/Expression_rationnelle' %}
{% elseif session.get_I18n == 'ar' %}
{% 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>
<br/>
<br/>
<div id="EditSR_RX" style="display:none">
<input type="checkbox" class="checkbox" id="EditSR_RXG">
{% trans 'prod::editing:remplace::option: remplacer toutes les occurences' %}
<br/>
<input type="checkbox" class="checkbox" id="EditSR_RXI">
{% trans 'prod::editing:remplace::option: rester insensible a la casse' %}
</div>
<div id="EditSR_TX" style="display:block">
<input type="radio" class="checkbox" name="EditSR_Where" value="exact">
{% trans 'prod::editing:remplace::option la valeur du cahmp doit etre exacte' %}
<br />
<input type="radio" class="checkbox" name="EditSR_Where" value="inside" checked>
{% trans 'prod::editing:remplace::option la valeur est comprise dans le champ' %}
<br />
<input type="checkbox" class="checkbox" id="EditSR_case">
{% trans 'prod::editing:remplace::option respecter la casse' %}
</div>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<br />
<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>
</div>
<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>
<!--<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>
<table style='position:relative; top:5px; table-layout:fixed; width:240px'>
<tr>
<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"></td>
<td style='width:30px; text-align:left'>
<input type='button' value='&#9658;' class='input-button' onclick="edit_chgFld(event, 1);return(false);" />
</td>
</tr>
</table>
</center>
</div>
<div id="EDIT_EDIT" class="PNB">
<div id="ZTextMonoValued">
<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 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="" />
</div>
<div style="position:absolute; top:6px; width:60px; right:0px; height:11px;">
<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>
</div>
<div id="ZTextStatus">
<div class="nostatus">
{% trans 'Aucun statut editable' %}
</div>
<div class="somestatus">
{% trans'Les status de certains documents ne sont pas accessibles par manque de droits' %}
</div>
<div class="displaystatus">
<table>
{% for n, status in edit.get_status() %}
<tr>
<td style="padding-left:10px">
<span style="cursor:pointer" onclick="edit_clkstatus(event, {{n}}, 0);">
<div id="idCheckboxStatbit0_{{n}}" class="gui_ckbox_0"></div>
{% if status['img_off'] %}
<img src="{{status['img_off']}}" title="{{status['label0']}}" style="width:16px;height:16px;vertical-align:bottom" />
{% endif %}
{{ status['label0'] }}
</span>
</td>
<td style="padding-left:20px">
<span style="cursor:pointer" onclick="edit_clkstatus(event, {{n}}, 1);">
<div id="idCheckboxStatbit1_{{n}}" class="gui_ckbox_0"></div>
{% if status['img_on'] %}
<img src="{{status['img_on']}}" title="{{status['label1']}}" style="width:16px;height:16px;vertical-align:bottom" />
{% endif %}
{{ status['label1'] }}
</span>
</td>
</tr>
{% endfor %}
</table>
</div>
</div>
</div>
<div id="idDivButtons" class="PNB">
<input id="ok" type="button" value="{% trans 'boutton::remplacer' %}" class="input-button" onclick="edit_validField(event, 'ok');return(false);">
<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>
</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_MID_R" style="width:{{user.getPrefs('editing_left_box')}}">
<div style='position:absolute; top:0; left:0; right:0; bottom:0;' class='tabs'>
<ul>
{% if edit.has_thesaurus() %}
<li><a href="#TH_Ofull">{% trans 'phraseanet:: thesaurus' %}</a></li>
{% endif %}
<li><a href="#TH_Oclipboard">{% trans 'phraseanet:: presse-papier' %}</a></li>
<li><a href="#TH_Opreview">{% trans 'phraseanet:: preview' %}</a></li>
<li><a href="#TH_Oreplace">{% trans 'prod::editing: rechercher-remplacer' %}</a></li>
<li><a href="#TH_Opresets">{% trans 'prod::editing: modeles de fiches' %}</a></li>
</ul>
{% if edit.has_thesaurus() %}
<div id='TH_Ofull'>
<div class='thesaurus' ondblclick='return(edit_dblclickThesaurus(event));' onclick='return(edit_clickThesaurus(event));'>
<p id='TH_T.{{edit.get_sbas_id()}}.T'>
<u id='TH_P.{{edit.get_sbas_id()}}.T'>+</u><a id='GL_W.{{edit.get_sbas_id()}}.T' style='FONT-WEIGHT: bold;'>{{edit.get_sbas_id()|sbas_names}}</a>
</p>
<div id='TH_K.{{edit.get_sbas_id()}}.T' class='c'>{% trans 'phraseanet::chargement' %}</div>
</div>
<img style="position:absolute; margin:auto" id="TH_searching" src="/skins/icons/ftp-loader-blank.gif" />
</div>
{% endif %}
<div id='TH_Oclipboard'>
<div class="PNB10">
<textarea id='CLIP_CC' style="width:98%; height:98% !important; height:300px;"></textarea>
</div>
</div>
<div id='TH_Opreview'>
<div class="PNB10"></div>
</div>
<div id='TH_Oreplace'>
<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" 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>
{% endfor %}
</select>
</td>
</tr>
<tr>
<td valign="top">{% trans 'prod::editing:replace: chaine a rechercher' %}</td>
<td>
<textarea id="EditSearch"></textarea>
</td>
</tr>
<tr>
<td valign="top">{% trans 'prod::editing:remplace: chaine remplacante' %}</td>
<td>
<textarea id="EditReplace"></textarea>
</td>
</tr>
<tr>
<td valign="top">{% trans 'prod::editing:remplace: options de remplacement' %}</td>
<td>
<input type="checkbox" class="checkbox" id="EditSROptionRX" value="regexp" onchange="changeReplaceMode(this);">
{% trans 'prod::editing:remplace::option : utiliser une expression reguliere' %}
{% set help_link = 'https://secure.wikimedia.org/wikipedia/en/wiki/Regular_expression' %}
{% if session.get_I18n == 'de' %}
{% set help_link = 'https://secure.wikimedia.org/wikipedia/de/wiki/Regul%C3%A4rer_Ausdruck' %}
{% elseif session.get_I18n == 'fr' %}
{% set help_link = 'https://secure.wikimedia.org/wikipedia/fr/wiki/Expression_rationnelle' %}
{% elseif session.get_I18n == 'ar' %}
{% 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>
<br/>
<br/>
<div id="EditSR_RX" style="display:none">
<input type="checkbox" class="checkbox" id="EditSR_RXG">
{% trans 'prod::editing:remplace::option: remplacer toutes les occurences' %}
<br/>
<input type="checkbox" class="checkbox" id="EditSR_RXI">
{% trans 'prod::editing:remplace::option: rester insensible a la casse' %}
</div>
<div id="EditSR_TX" style="display:block">
<input type="radio" class="checkbox" name="EditSR_Where" value="exact">
{% trans 'prod::editing:remplace::option la valeur du cahmp doit etre exacte' %}
<br />
<input type="radio" class="checkbox" name="EditSR_Where" value="inside" checked>
{% trans 'prod::editing:remplace::option la valeur est comprise dans le champ' %}
<br />
<input type="checkbox" class="checkbox" id="EditSR_case">
{% trans 'prod::editing:remplace::option respecter la casse' %}
</div>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<br />
<input type="button" class='btn btn-inverse' value="{% trans 'boutton::valider' %}" onclick="replace(); return(false);" />
<br />
</td>
</tr>
</table>
</div>
<div id='TH_Opresets'>
<div class="PNB10">
<button class="adder btn btn-inverse">{% trans 'boutton::ajouter' %}</button>
</div>
<ul style="top:50px;" class="PNB10 EDIT_presets_list"></ul>
</div>
</div>
</div>
</div>
<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">
<center>
<br/>
<br/>
<br/>
<br>
<b>
<h4>{% trans 'prod::editing:indexation en cours' %}</h4>
</b>
<span id='saveeditPbarI'></span> / <span id='saveeditPbarN'></span>
<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 id="EDIT_WORKING">
<center>
<br/>
<br/>
<br/>
<br/>
<b><h4>{% trans 'prod::editing:indexation en cours' %}</h4></b>
<span id='saveeditPbarI'></span> / <span id='saveeditPbarN'></span>
<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>
</form>
<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>
</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>
{% if edit.has_many_sbas %}
{% trans 'prod::edit: Impossible d\'editer simultanement des documents provenant de bases differentes' %}
{% elseif actionable == 0 %}
{% trans %}prod::editing: aucun documents ne peuvent etre edites car vos droits sont induffisants{% endtrans %}
{% endif %}
{% if edit.has_many_sbas %}
{% trans 'prod::edit: Impossible d\'editer simultanement des documents provenant de bases differentes' %}
{% elseif actionable == 0 %}
{% trans %}prod::editing: aucun documents ne peuvent etre edites car vos droits sont induffisants{% endtrans %}
{% endif %}
</p>
</div>
<script type="text/javascript">
{% if edit.has_many_sbas or actionable == 0 %}
$('#EDITWINDOW').hide();
hideOverlay(2);
{% if edit.has_many_sbas or actionable == 0 %}
$('#EDITWINDOW').hide();
hideOverlay(2);
$(function() {
// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
$( "#dialog-edit-many-sbas:ui-dialog" ).dialog( "destroy" );
$(function() {
// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
$( "#dialog-edit-many-sbas:ui-dialog" ).dialog( "destroy" );
$( "#dialog-edit-many-sbas" ).dialog({
modal: true,
resizable:false,
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
});
{% else %}
{% if not_actionable > 1 %}
alert("{% trans %}prod::editing: {{not_actionable}} documents ne peuvent etre edites car vos droits sont induffisants{% endtrans %}");
{% elseif not_actionable == 1 %}
alert("{% trans 'prod::editing: 1 document ne peut etre edite car vos droits sont induffisants' %}");
$( "#dialog-edit-many-sbas" ).dialog({
modal: true,
resizable:false,
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
});
{% else %}
{% if not_actionable > 1 %}
alert("{% trans %}prod::editing: {{not_actionable}} documents ne peuvent etre edites car vos droits sont induffisants{% endtrans %}");
{% elseif not_actionable == 1 %}
alert("{% trans 'prod::editing: 1 document ne peut etre edite car vos droits sont induffisants' %}");
{% endif %}
startThisEditing({{edit.get_sbas_id}},{% if edit.is_single_grouping() %}'GRP'{% else %}'LST'{% endif %},"",'');
{% endif %}
startThisEditing({{edit.get_sbas_id}},{% if edit.is_single_grouping() %}'GRP'{% else %}'LST'{% endif %},"",'');
{% endif %}
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -16,7 +16,7 @@
<br/>
{% endif %}
{% set th_size = user.getPrefs('images_size')%}
<div class="selectable" style="margin:10px 0;float:left;">
<div class="selectable" style="margin:10px 0; float:left;">
{% block content %}{% endblock %}
</div>
{% endif %}

View File

@@ -2,33 +2,31 @@
{% extends "prod/results/answerabstract.twig" %}
{% block content %}
{% import 'common/caption_templates/answer.html' as caption %}
{% import 'common/caption_templates/answer.html' as caption %}
{% for record in results.get_datas() %}
<div class='list ui-corner-all'>
{% for record in results.get_datas() %}
<div class='list ui-corner-all'>
{% set ident = record.get_base_id ~ ' ' ~ record.get_record_id%}
{% set sbas_id = record.get_base_id|sbasFromBas %}
<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">
<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') %}
{{caption.format_caption(record, highlight, searchEngine, business)}}
{% if user.getPrefs('technical_display') == 'group' %}<hr/>{{record.get_technical_infos|raw}}{% endif %}
</div>
</div>
</td>
<tr>
<td valign="top" style='width:{{th_size+50}}px'>
{{record_format.block(record, user, session, highlight, searchEngine, 'IMGT', false)}}
</td>
<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') %}
{{caption.format_caption(record, highlight, searchEngine, business)}}
{% if user.getPrefs('technical_display') == 'group' %}<hr/>{{record.get_technical_infos|raw}}{% endif %}
</div>
</div>
</td>
</tr>
</table>
</div>
{% endfor %}
</table>
</div>
{% endfor %}
{% endblock %}

View File

@@ -1,99 +1,99 @@
{% macro block(record, user, session, highlight, searchEngine, prefix, entry_id)%}
{% import 'common/thumbnail.html' as thumbnail %}
{% import 'common/doctype_icons.html' as doctype_icons %}
{% import 'common/drop_down_options.html' as drop_down %}
{% set th_size = user.getPrefs('images_size')%}
{% set sbas_id = record.get_base_id|sbasFromBas %}
{% if entry_id %}
<div style="width:{{th_size+30}}px;" sbas="{{sbas_id}}"
id="{{ prefix|default('IMGT') }}_{{record.get_sbas_id}}_{{record.get_record_id}}"
class="IMGT diapo type-{{record.get_type}}"
onDblClick="openPreview('FEED',{{record.get_number()}},{{entry_id}});">
{% elseif record.is_grouping() %}
<div style="width:{{th_size+30}}px;" sbas="{{sbas_id}}"
id="{{ prefix|default('IMGT') }}_{{record.get_sbas_id}}_{{record.get_record_id}}"
class="IMGT diapo grouping type-{{record.get_type}}"
onDblClick="openPreview('REG','0','{{record.get_serialize_key()}}');">
{% else %}
<div style="width:{{th_size+30}}px;" sbas="{{sbas_id}}"
id="{{ prefix|default('IMGT') }}_{{record.get_sbas_id}}_{{record.get_record_id}}"
class="IMGT diapo type-{{record.get_type}}"
onDblClick="openPreview('RESULT',{{record.get_number}});">
{% endif %}
<div style="height:40px;position: relative; z-index: 100;">
<div class="title">
{{record.get_title(highlight, searchEngine)|raw}}
</div>
<div class="status">
{{record.get_status_icons|raw}}
</div>
</div>
{% set rollover_gif = record.get_rollover_thumbnail() %}
{% import 'common/thumbnail.html' as thumbnail %}
{% import 'common/doctype_icons.html' as doctype_icons %}
{% import 'common/drop_down_options.html' as drop_down %}
{% set th_size = user.getPrefs('images_size')%}
{% set sbas_id = record.get_base_id|sbasFromBas %}
{% if entry_id %}
<div style="width:{{th_size+30}}px;" sbas="{{sbas_id}}"
id="{{ prefix|default('IMGT') }}_{{record.get_sbas_id}}_{{record.get_record_id}}"
class="IMGT diapo type-{{record.get_type}}"
onDblClick="openPreview('FEED',{{record.get_number()}},{{entry_id}});">
{% elseif record.is_grouping() %}
<div style="width:{{th_size+30}}px;" sbas="{{sbas_id}}"
id="{{ prefix|default('IMGT') }}_{{record.get_sbas_id}}_{{record.get_record_id}}"
class="IMGT diapo grouping type-{{record.get_type}}"
onDblClick="openPreview('REG','0','{{record.get_serialize_key()}}');">
{% else %}
<div style="width:{{th_size+30}}px;" sbas="{{sbas_id}}"
id="{{ prefix|default('IMGT') }}_{{record.get_sbas_id}}_{{record.get_record_id}}"
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}}
</div>
<div class="status">
{{record.get_status_icons|raw}}
</div>
</div>
{% set rollover_gif = record.get_rollover_thumbnail() %}
{% set user_technical_display = user.getPrefs('technical_display') %}
{% set user_rollover_thumbnail = user.getPrefs('rollover_thumbnail') %}
{% set user_technical_display = user.getPrefs('technical_display') %}
{% set user_rollover_thumbnail = user.getPrefs('rollover_thumbnail') %}
{% set extraclass = '' %}
{% if user_rollover_thumbnail == 'caption' and searchEngine is not null %}
{% set extraclass = extraclass ~ ' captionTips' %}
{% set tooltipsrc = '/prod/tooltip/caption/' ~ record.get_sbas_id() ~ '/' ~ record.get_record_id() ~ '/answer/?number=' ~record.get_number() %}
{% elseif user_rollover_thumbnail == 'caption' and searchEngine is null %}
{% set extraclass = extraclass ~ ' captionTips' %}
{% set tooltipsrc = '/prod/tooltip/caption/' ~ record.get_sbas_id() ~ '/' ~ record.get_record_id() ~ '/publi/' %}
{% elseif user_rollover_thumbnail == 'preview' %}
{% 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' %}
{{doctype_icons.format(record)}}
{% endif %}
<span class="duration">
{{record.get_formated_duration()}}
</span>
</div>
<div class="{% if rollover_gif %}rollovable{% endif %}">
{% set extraclass = '' %}
{% if rollover_gif %}
{% set extraclass = 'rollover-gif-out' %}
{% endif %}
{{thumbnail.format(record.get_thumbnail(), th_size, th_size, extraclass, session, true)}}
{% if rollover_gif %}
{{thumbnail.format(rollover_gif, th_size, th_size, 'rollover-gif-hover', session, true )}}
{% endif %}
</div>
</div>
<div style="height: 25px;position:relative;text-align:left;">
<table class="bottom" style="width:100%;table-layout:auto;">
<tr>
<td style="text-align:left;">
{{record.get_collection_logo|raw}}
</td>
{% set l_width = 30 %}
{% if user_rollover_thumbnail == 'preview' %}
{% set l_width = l_width + 20 %}
{% set extraclass = '' %}
{% if user_rollover_thumbnail == 'caption' and searchEngine is not null %}
{% set extraclass = extraclass ~ ' captionTips' %}
{% set tooltipsrc = '/prod/tooltip/caption/' ~ record.get_sbas_id() ~ '/' ~ record.get_record_id() ~ '/answer/?number=' ~record.get_number() %}
{% elseif user_rollover_thumbnail == 'caption' and searchEngine is null %}
{% set extraclass = extraclass ~ ' captionTips' %}
{% set tooltipsrc = '/prod/tooltip/caption/' ~ record.get_sbas_id() ~ '/' ~ record.get_record_id() ~ '/publi/' %}
{% elseif user_rollover_thumbnail == 'preview' %}
{% set extraclass = extraclass ~ ' captionTips' %}
{% set tooltipsrc = '/prod/tooltip/preview/' ~ record.get_sbas_id() ~ '/' ~ record.get_record_id() ~ '/' %}
{% endif %}
{% if user_technical_display == '1' %}
{% set l_width = l_width + 20 %}
{% endif %}
<td style='text-align:right;width:{{l_width}}px;' valign='bottom'>
{{drop_down.prod(record, user)}}
{% if record.has_preview() and user.ACL().has_access_to_subdef(record, 'preview') %}
<div tooltipsrc="/prod/tooltip/preview/{{record.get_sbas_id()}}/{{record.get_record_id()}}/" class="previewTips"></div>
{% endif %}
{% if user_rollover_thumbnail == 'preview' %}
<div tooltipsrc="/prod/tooltip/caption/{{record.get_sbas_id()}}/{{record.get_record_id()}}/answer/?number={{record.get_number()}}" class="captionRolloverTips"></div>
{% endif %}
{% if user_technical_display == '1' %}
<img class="infoTips" tooltipsrc="/prod/tooltip/tc_datas/{{record.get_sbas_id()}}/{{record.get_record_id()}}/" src="/skins/icons/info.gif"/>
{% endif %}
</td>
</tr>
</table>
</div>
<div class="thumb {{extraclass}} " tooltipsrc="{{tooltipsrc}}" style="height:{{th_size}}px; z-index:90;">
<div class="doc_infos">
{% if user.getPrefs('doctype_display') == '1' %}
{{doctype_icons.format(record)}}
{% endif %}
<span class="duration">
{{record.get_formated_duration()}}
</span>
</div>
<div class="{% if rollover_gif %}rollovable{% endif %}">
{% set extraclass = '' %}
{% if rollover_gif %}
{% set extraclass = 'rollover-gif-out' %}
{% endif %}
{{thumbnail.format(record.get_thumbnail(), th_size, th_size, extraclass, session, true)}}
{% if rollover_gif %}
{{thumbnail.format(rollover_gif, th_size, th_size, 'rollover-gif-hover', session, true )}}
{% endif %}
</div>
</div>
<div style="height: 25px; position:relative; text-align:left;">
<table class="bottom" style="width:100%; table-layout:auto;">
<tr>
<td style="text-align:left;">
{{record.get_collection_logo|raw}}
</td>
{% set l_width = 30 %}
{% if user_rollover_thumbnail == 'preview' %}
{% set l_width = l_width + 20 %}
{% endif %}
{% if user_technical_display == '1' %}
{% set l_width = l_width + 20 %}
{% endif %}
<td style='text-align:right;width:{{l_width}}px;' valign='bottom'>
{{drop_down.prod(record, user)}}
{% if record.has_preview() and user.ACL().has_access_to_subdef(record, 'preview') %}
<div tooltipsrc="/prod/tooltip/preview/{{record.get_sbas_id()}}/{{record.get_record_id()}}/" class="previewTips"></div>
{% endif %}
{% if user_rollover_thumbnail == 'preview' %}
<div tooltipsrc="/prod/tooltip/caption/{{record.get_sbas_id()}}/{{record.get_record_id()}}/answer/?number={{record.get_number()}}" class="captionRolloverTips"></div>
{% endif %}
{% if user_technical_display == '1' %}
<img class="infoTips" tooltipsrc="/prod/tooltip/tc_datas/{{record.get_sbas_id()}}/{{record.get_record_id()}}/" src="/skins/icons/info.gif"/>
{% endif %}
</td>
</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');
@@ -1708,8 +1708,8 @@ function pushThis(sstt_id, lst, story)
$.post("/prod/push/sendform/"
, {
lst : lst,
ssel : sstt_id,
lst : lst,
ssel : sstt_id,
story : story
}
, function(data){
@@ -1731,8 +1731,8 @@ function feedbackThis(sstt_id, lst, story)
$.post("/prod/push/validateform/"
, {
lst : lst,
ssel : sstt_id,
lst : lst,
ssel : sstt_id,
story : story
}
, function(data){
@@ -1743,7 +1743,7 @@ function feedbackThis(sstt_id, lst, story)
}
function toolREFACTOR(datas){
var dialog = p4.Dialog.Create({
size:'Medium',
title:'Tool box',
@@ -1757,7 +1757,7 @@ function feedbackThis(sstt_id, lst, story)
return;
}
);
}
function activeIcons()
@@ -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="";
@@ -2323,7 +2320,7 @@ function activeIcons()
alert(language.nodocselected);
}
});
$('.TOOL_disktt_btn').live('click', function(){
var datas = {};

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;
}

View File

@@ -1,14 +1,14 @@
#idFrameC{
top:10px;
bottom:10px;
#idFrameC {
top: 10px;
bottom: 10px;
}
#idFrameC .ui-tabs{
bottom:10px;
left:0;
#idFrameC .ui-tabs {
bottom: 10px;
left: 0;
}
#answers{
overflow-x:hidden;
overflow-y:auto;
#answers {
overflow-x: hidden;
overflow-y: auto;
}