178 lines
5.2 KiB
HTML
Executable File
178 lines
5.2 KiB
HTML
Executable File
<div id="reader">
|
|
<div class="h1_wrap">
|
|
<h1 class="round"><span>Revue de code</span></h1>
|
|
</div>
|
|
<div id="code_menu">
|
|
<a id="edit" class="button round">Modifier</a>
|
|
<a id="raw" class="button round" href="#" target="_blank">Fichier brut</a>
|
|
<a id="save" class="button round" href="#">Télécharger</a>
|
|
<a id="print" class="button round" href="#" target="_blank">Imprimer</a>
|
|
<a id="share" class="button share round">Partager</a>
|
|
</div>
|
|
<div id="previous_versions" class="standalone"></div>
|
|
<div id="code_container"></div>
|
|
<div id="next_versions" class="standalone"></div>
|
|
<div id="edit_container">
|
|
<div class="h1_wrap">
|
|
<form name="edit_code" id="edit_code">
|
|
<textarea id="content" name="content" class="round"></textarea>
|
|
<input type="hidden" id="code" name="code" value="" />
|
|
</form>
|
|
<a id="edit_btn" class="button heavy round">Corriger</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
databap.pageInit = function()
|
|
{
|
|
//TODO : to be replaced by tinyscrollbar
|
|
databap.$main.css('overflow', 'auto');
|
|
|
|
databap.setCodeContainer
|
|
(
|
|
function()
|
|
{
|
|
databap.getInfo
|
|
(
|
|
'read_code',
|
|
function(jContent)
|
|
{
|
|
//debug(jContent);
|
|
//append code to main and refresh id
|
|
databap.appendCode('#code_reader', jContent);
|
|
|
|
if(typeof jContent.other_versions !== 'undefined')
|
|
{
|
|
if(jContent.truncated)
|
|
{
|
|
var $Truncated = $(databap.consts.versionHtml);
|
|
$Truncated.data('id_code', jContent.truncated).click(function(){databap.loadReadPage($(this).data('id_code'));});
|
|
$Truncated.find('#item_link').text('...');
|
|
$('#previous_versions').append($Truncated);
|
|
}
|
|
$.each
|
|
(
|
|
jContent.other_versions,
|
|
function(key, code_info)
|
|
{
|
|
$verHtml = $(databap.consts.versionHtml).data('id_code', code_info.id_code).click(function(){databap.loadReadPage($(this).data('id_code'));});
|
|
|
|
$verHtml.find('#description').html(code_info.description);
|
|
$verHtml.find('#author_name').html(code_info.name);
|
|
$verHtml.find('#author_company').html(code_info.company);
|
|
$verHtml.find('#led').html(code_info.led);
|
|
$verHtml.find('#item_link').attr('target', '').attr('title', 'Afficher cette version du code');
|
|
|
|
$verHtml = databap.setElemTags($verHtml, code_info.id_code);
|
|
var anchor = '#'+((parseInt(code_info.id_code) < parseInt(databap.vars.code))?'previous':'next')+'_versions';
|
|
$(anchor).append($verHtml);
|
|
}
|
|
);
|
|
}
|
|
|
|
//expanding
|
|
$("input").click(function(){expand($(this));});
|
|
$("#code_container input[id^=expand_loop]").hover
|
|
(
|
|
function()
|
|
{
|
|
$('.'+$(this).attr('id').substr(7)).toggleClass('code_hover');
|
|
}
|
|
);
|
|
|
|
//action links
|
|
$("#edit").click
|
|
(
|
|
function()
|
|
{
|
|
if($('#content').val()=='')
|
|
{
|
|
//make space for edit box
|
|
databap.getMainElem('#previous_versions,#next_versions').slideUp
|
|
(
|
|
'fast',
|
|
function()
|
|
{
|
|
$code_container = $('#'+databap.getElemTag('tab_left', databap.vars.code));
|
|
$code_container.css('overflow', 'auto').height(Math.min($code_container.height(), 200));
|
|
}
|
|
);
|
|
|
|
databap.getInfo
|
|
(
|
|
'nude_code',
|
|
function(data)
|
|
{
|
|
databap.vars.old_code = data;
|
|
$('#content').val(databap.vars.old_code);
|
|
$('#code').val(databap.vars.code);
|
|
$('#edit_container').show('fast');
|
|
},
|
|
{code:databap.vars.code}
|
|
);
|
|
}
|
|
}
|
|
);
|
|
|
|
databap.getMainElem('a#raw').attr('href', databap.getActionLink('raw_code', {code:databap.vars.phrase}));
|
|
databap.getMainElem('a#save').attr('href', databap.getActionLink('dl_code', {code:databap.vars.phrase}));
|
|
databap.getMainElem('a#print').attr('href', databap.getActionLink('print_code', {code:databap.vars.phrase}));
|
|
databap.getMainElem('#share').click
|
|
(
|
|
function()
|
|
{
|
|
$(this)
|
|
.hide()
|
|
.text(databap.getCodeLink(databap.vars.phrase))
|
|
.addClass('addr')
|
|
.slideDown('fast')
|
|
.unbind('click');
|
|
}
|
|
);
|
|
|
|
//edit code
|
|
$('#edit_btn').click
|
|
(
|
|
function()
|
|
{
|
|
code = $('textarea#content').val();
|
|
if(code !='')
|
|
{
|
|
if(code != databap.vars.old_code)
|
|
{
|
|
databap.saveForm
|
|
(
|
|
'edit_code',
|
|
$('#edit_code'),
|
|
function(iCodeId)
|
|
{
|
|
databap.vars.code = iCodeId;
|
|
databap.vars.old_code = '';
|
|
databap.switchPage(databap.pages.read_code);
|
|
},
|
|
'#edit_btn'
|
|
);
|
|
}
|
|
else
|
|
{
|
|
databap.addErrorBefore('Aucune modification n\'a été effectuée', '#edit_btn');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
databap.addErrorBefore('Le champ code est vide', '#edit_btn');
|
|
}
|
|
}
|
|
);
|
|
|
|
//Init's end
|
|
databap.setInitEnd(true);
|
|
},
|
|
{code:databap.vars.code},
|
|
'json'
|
|
);
|
|
},
|
|
'#code_container'
|
|
);
|
|
};
|
|
</script> |