Files
databap/masks/read_code.html
2013-08-07 14:11:17 +02:00

178 lines
5.2 KiB
HTML

<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&eacute;l&eacute;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 &eacute;t&eacute; effectu&eacute;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>