mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-16 14:33:14 +00:00
@@ -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;'>>></a>";
|
||||
$string .= "<a onclick='gotopage(" . ($npages) . ");return false;' class='btn btn-primary btn-mini'>>></a>";
|
||||
}
|
||||
else {
|
||||
$start = $npages - 4;
|
||||
if (($start) > 0)
|
||||
$string .= "<a onclick='gotopage(1);return false;'><<</a>";
|
||||
$string .= "<a onclick='gotopage(1);return false;' class='btn btn-primary btn-mini'><<</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;'><<</a>";
|
||||
$string .= "<a onclick='gotopage(1);return false;' class='btn btn-primary btn-mini'><<</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;'>>></a>";
|
||||
$string .= "<a onclick='gotopage(" . ($npages) . ");return false;' class='btn btn-primary btn-mini'>>></a>";
|
||||
}
|
||||
}
|
||||
$string .= '<div style="display:none;"><div id="NEXT_PAGE"></div><div id="PREV_PAGE"></div></div>';
|
||||
|
28
templates/web/common/index_bootstrap.html.twig
Normal file
28
templates/web/common/index_bootstrap.html.twig
Normal 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>
|
@@ -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()}}">▼</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()}}">▼</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='◄' 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='►' 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='◄' 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='►' 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
@@ -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 %}
|
||||
|
@@ -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 %}
|
||||
|
||||
|
@@ -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 %}
|
@@ -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>
|
||||
|
@@ -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();
|
||||
});
|
||||
|
||||
|
@@ -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
9
www/skins/html5/bootstrap/css/bootstrap-responsive.min.css
vendored
Normal file
9
www/skins/html5/bootstrap/css/bootstrap-responsive.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
3268
www/skins/html5/bootstrap/css/bootstrap.css
vendored
3268
www/skins/html5/bootstrap/css/bootstrap.css
vendored
File diff suppressed because it is too large
Load Diff
9
www/skins/html5/bootstrap/css/bootstrap.min.css
vendored
Normal file
9
www/skins/html5/bootstrap/css/bootstrap.min.css
vendored
Normal file
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 |
91
www/skins/html5/bootstrap/js/bootstrap-alert.js
vendored
91
www/skins/html5/bootstrap/js/bootstrap-alert.js
vendored
@@ -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 )
|
98
www/skins/html5/bootstrap/js/bootstrap-button.js
vendored
98
www/skins/html5/bootstrap/js/bootstrap-button.js
vendored
@@ -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 )
|
154
www/skins/html5/bootstrap/js/bootstrap-carousel.js
vendored
154
www/skins/html5/bootstrap/js/bootstrap-carousel.js
vendored
@@ -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 )
|
136
www/skins/html5/bootstrap/js/bootstrap-collapse.js
vendored
136
www/skins/html5/bootstrap/js/bootstrap-collapse.js
vendored
@@ -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 )
|
@@ -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 )
|
210
www/skins/html5/bootstrap/js/bootstrap-modal.js
vendored
210
www/skins/html5/bootstrap/js/bootstrap-modal.js
vendored
@@ -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 )
|
@@ -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 )
|
125
www/skins/html5/bootstrap/js/bootstrap-scrollspy.js
vendored
125
www/skins/html5/bootstrap/js/bootstrap-scrollspy.js
vendored
@@ -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 )
|
130
www/skins/html5/bootstrap/js/bootstrap-tab.js
vendored
130
www/skins/html5/bootstrap/js/bootstrap-tab.js
vendored
@@ -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 )
|
270
www/skins/html5/bootstrap/js/bootstrap-tooltip.js
vendored
270
www/skins/html5/bootstrap/js/bootstrap-tooltip.js
vendored
@@ -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 )
|
@@ -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 )
|
271
www/skins/html5/bootstrap/js/bootstrap-typeahead.js
vendored
271
www/skins/html5/bootstrap/js/bootstrap-typeahead.js
vendored
@@ -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
1824
www/skins/html5/bootstrap/js/bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
www/skins/html5/bootstrap/js/bootstrap.min.js
vendored
Normal file
6
www/skins/html5/bootstrap/js/bootstrap.min.js
vendored
Normal file
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
@@ -1,7 +1,3 @@
|
||||
|
||||
#BasketBrowser{
|
||||
|
||||
}
|
||||
#BasketBrowser .Browser{
|
||||
background-color: #111111;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
Reference in New Issue
Block a user