// metodos e variaveis acessiveis por outros modulos
// #TODO migrar para opcoes todas variaveis / funcoes subescritas nos scripts de cada controlador/action.
var processOptions = {
// options that can be overwritten in child
validatesResourcesAfterSearch : true,
};
function removeImgLoadingFor($targetElement) {
$targetElement.siblings('img').remove();
}
function appendImgLoadingTo($targetElement) {
if ($targetElement.siblings('img').length < 1);
$j('').appendTo($targetElement.parent());
}
function beforeChangeResource($resourceElement) {
if ($resourceElement.is(':checkbox'))
$j('.disable-on-apply-changes').attr('disabled', 'disabled');
appendImgLoadingTo($resourceElement);
}
function afterChangeResource($resourceElement) {
if ($resourceElement.is(':checkbox'))
$resourceElement.attr('checked', false);
removeImgLoadingFor($resourceElement);
$j('.disable-on-apply-changes').removeAttr('disabled');
// change value of execute action button
$j('input.execute-action').val(POST_LABEL);
$j('input.delete').val(DELETE_LABEL);
}
function getFirstCheckboxChecked($targetElement) {
var $firstChecked = $j('input.'+RESOURCE_NAME+':checked:first');
if ($firstChecked.length < 1) {
handleMessages([{type : 'error', msg : 'Selecione algum '+RESOURCE_NAME+'.'}], $targetElement, true);
$firstChecked = undefined;
}
return $firstChecked;
}
function clearSearchResult() {
$navActions.html('').hide();
$tableSearchDetails.hide().children().remove();
$resultTable.children().fadeOut('fast').remove();
$j('.disable-on-search').attr('disabled', 'disabled');
$j('.hide-on-search').hide();
$j('.disable-on-apply-changes').removeAttr('disabled');
}
function showSearchForm(event) {
clearSearchResult()
$formFilter.fadeIn('fast', function() {
$(this).show()
});
//$actionButton.val(POST_LABEL);
}
// called before search resources
function canSearch(){
return true;
}
function showNextSelectionButton() {
}
// vars
var $formFilter = $j('#formcadastro');
var $submitButton = $j('#botao_busca');
var $tableSearchDetails = $j('
').attr('id', 'search-details')
.addClass('styled')
.addClass('horizontal-expand')
.addClass('center')
.hide()
.prependTo($formFilter.parent()).hide();
var $navActions = $j('').attr('id', 'nav-actions').hide();
$navActions.insertAfter($tableSearchDetails);
var $resultTable = $j('#form_resultado .tablelistagem').addClass('horizontal-expand');
// metodos e variaveis não acessiveis por outros modulos
(function($) {
$(document).ready(function() {
// prepare result table
$resultTable.children().remove();
// add action bars
$('').attr('id', 'first-bar-action')
.attr('class', 'bar-action hide-on-search')
.prependTo($resultTable.parent());
$('').attr('id', 'second-bar-action')
.attr('class', 'bar-action hide-on-search')
.appendTo($resultTable.parent());
var $barActions = $('.bar-action').hide();
$('').appendTo($barActions);
$('').val(POST_LABEL).appendTo($barActions);
$('').val(DELETE_LABEL).appendTo($barActions);
var $selectAllButton = $barActions.find('input.select-all');
var $actionButton = $barActions.find('input.execute-action');
var $deleteButton = $barActions.find('input.delete');
// add resource options table
var $resourceOptionsTable = $('#resource-options');
$resourceOptionsTable.find('tr:even').addClass('even');
$resourceOptionsTable.hide().prependTo($formFilter.parent());
// add orientations about search
$('').html(SEARCH_ORIENTATION)
.addClass('center')
.attr('id', 'orientation-search')
.appendTo($resultTable.parent());
// before search changes
$('.disable-on-search').attr('disabled', 'disabled');
$('.hide-on-search').hide();
// functions, callbacks
function showNewSearchButton() {
$navActions.html(
$("Nova consulta")
.bind('click', showSearchForm)
.attr('style', 'text-decoration: underline')
);
}
function showNewSearchActions() {
showNewSearchButton();
showNextSelectionButton();
$('.disable-on-search').removeAttr('disabled');
$('.hide-on-search').show();
}
// config search form
var searchOptions = {
url : '',
dataType : 'json',
success : _handleSearch,
error : handleSearchError
};
$formFilter.ajaxForm(searchOptions);
// submit button callbacks
var onClickSearchEvent = function(event) {
if (validatesPresenseOfValueInRequiredFields() && canSearch()) {
searchOptions.url = getResourceUrlBuilder.buildUrl(API_URL_BASE, RESOURCES_NAME, {});
if (window.history && window.history.pushState)
window.history.pushState('', '', getResourceUrlBuilder.buildUrl(PAGE_URL_BASE, RESOURCES_NAME));
$resultTable.children().fadeOut('fast').remove();
$formFilter.submit();
$formFilter.fadeOut('fast');
$navActions
.html('Aguarde, carregando...')
.attr('style', 'text-align:center;')
.unbind('click');
}
};
function _setTableSearchDetails(dataDetails) {
setTableSearchDetails($tableSearchDetails, dataDetails);
}
function _handleSearch(dataResponse) {
showNewSearchActions();
try{
handleMessages(dataResponse.msgs);
var resources = dataResponse[RESOURCES_NAME];
if(processOptions.validatesResourcesAfterSearch && ! $.isArray(resources)) {
$('
')
.html('O(a)s '+ RESOURCES_NAME +' não poderam ser recuperado(a)s, verifique as mensagens de erro ou tente recarregar.')
.addClass('center')
.appendTo($('