diff --git a/ieducar/modules/DynamicInput/Assets/Javascripts/AnoLetivo.js b/ieducar/modules/DynamicInput/Assets/Javascripts/AnoLetivo.js new file mode 100644 index 0000000..611b7ae --- /dev/null +++ b/ieducar/modules/DynamicInput/Assets/Javascripts/AnoLetivo.js @@ -0,0 +1,45 @@ +(function($){ + $(document).ready(function(){ + + var $escolaField = getElementFor('escola'); + var $anoLetivoField = getElementFor('ano'); + + var handleGetAnoEscolares = function(response) { + var selectOptions = jsonResourcesToSelectOptions(response['options']); + updateSelect($anoLetivoField, selectOptions, "Selecione um ano escolar"); + } + + var updateAnoEscolares = function(){ + resetSelect($anoLetivoField); + + if ($escolaField.val() && $escolaField.is(':enabled')) { + $anoLetivoField.children().first().html('Aguarde carregando...'); + + var data = { + escola_id : $escolaField.attr('value'), + }; + + $j("input[name='situacoes_ano_letivo']").each(function(index, input){ + data['situacao_' + $j(input).val()] = true; + }); + + var urlForGetAnosEscolares = getResourceUrlBuilder.buildUrl('/module/DynamicInput/AnoLetivo', + 'anos_letivos', data); + + var options = { + url : urlForGetAnosEscolares, + dataType : 'json', + success : handleGetAnoEscolares + }; + + getResources(options); + } + + $anoLetivoField.change(); + }; + + // bind onchange event + $escolaField.change(updateAnoEscolares); + + }); // ready +})(jQuery); diff --git a/ieducar/modules/DynamicInput/Assets/Javascripts/Biblioteca.js b/ieducar/modules/DynamicInput/Assets/Javascripts/Biblioteca.js new file mode 100644 index 0000000..e47ba97 --- /dev/null +++ b/ieducar/modules/DynamicInput/Assets/Javascripts/Biblioteca.js @@ -0,0 +1,36 @@ +(function($){ + $(document).ready(function(){ + var $escolaField = getElementFor('escola'); + var $bibliotecaField = getElementFor('biblioteca'); + + var handleGetBibliotecas = function(resources) { + var selectOptions = xmlResourcesToSelectOptions(resources, 'query', 'cod_biblioteca'); + updateSelect($bibliotecaField, selectOptions, "Selecione uma biblioteca"); + } + + var updateBibliotecas = function(){ + resetSelect($bibliotecaField); + + if ($escolaField.val() && $escolaField.is(':enabled')) { + $bibliotecaField.children().first().html('Aguarde carregando...'); + + var urlForGetBibliotecas = getResourceUrlBuilder.buildUrl('educar_biblioteca_xml.php', '', { + esc : $escolaField.attr('value') }); + + var options = { + url : urlForGetBibliotecas, + dataType : 'xml', + success : handleGetBibliotecas + }; + + getResources(options); + } + + $bibliotecaField.change(); + }; + + // bind onchange event + $escolaField.change(updateBibliotecas); + + }); // ready +})(jQuery); diff --git a/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaFonte.js b/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaFonte.js new file mode 100644 index 0000000..e7601d8 --- /dev/null +++ b/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaFonte.js @@ -0,0 +1,36 @@ +(function($){ + $(document).ready(function(){ + var $bibliotecaField = getElementFor('biblioteca'); + var $fonteField = getElementFor('fonte'); + + var handleGetFontes = function(resources) { + var selectOptions = xmlResourcesToSelectOptions(resources, 'query', 'cod_fonte'); + updateSelect($fonteField, selectOptions, "Selecione uma fonte"); + } + + var updateFontes = function(){ + resetSelect($fonteField); + + if ($bibliotecaField.val() && $bibliotecaField.is(':enabled')) { + $fonteField.children().first().html('Aguarde carregando...'); + + var urlForGetFontes = getResourceUrlBuilder.buildUrl('educar_fonte_xml.php', '', { + bib : $bibliotecaField.attr('value') }); + + var options = { + url : urlForGetFontes, + dataType : 'xml', + success : handleGetFontes + }; + + getResources(options); + } + + $fonteField.change(); + }; + + // bind onchange event + $bibliotecaField.change(updateFontes); + + }); // ready +})(jQuery); diff --git a/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaSituacao.js b/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaSituacao.js new file mode 100644 index 0000000..edd1cea --- /dev/null +++ b/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaSituacao.js @@ -0,0 +1,36 @@ +(function($){ + $(document).ready(function(){ + var $bibliotecaField = getElementFor('biblioteca'); + var $situacaoField = getElementFor('situacao'); + + var handleGetSituacoes = function(resources) { + var selectOptions = xmlResourcesToSelectOptions(resources, 'query', 'cod_situacao'); + updateSelect($situacaoField, selectOptions, "Selecione uma situação"); + } + + var updateSituacoes = function(){ + resetSelect($situacaoField); + + if ($bibliotecaField.val() && $bibliotecaField.is(':enabled')) { + $situacaoField.children().first().html('Aguarde carregando...'); + + var urlForGetSituacoes = getResourceUrlBuilder.buildUrl('educar_situacao_xml.php', '', { + bib : $bibliotecaField.attr('value') }); + + var options = { + url : urlForGetSituacoes, + dataType : 'xml', + success : handleGetSituacoes + }; + + getResources(options); + } + + $situacaoField.change(); + }; + + // bind onchange event + $bibliotecaField.change(updateSituacoes); + + }); // ready +})(jQuery); diff --git a/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaTipoCliente.js b/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaTipoCliente.js new file mode 100644 index 0000000..076f253 --- /dev/null +++ b/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaTipoCliente.js @@ -0,0 +1,37 @@ +(function($){ + $(document).ready(function(){ + var $bibliotecaField = getElementFor('biblioteca'); + var $tipoClienteField = getElementFor('cliente_tipo'); + + var handleGetTiposCliente = function(resources) { + var selectOptions = xmlResourcesToSelectOptions(resources, 'query', 'cod_cliente_tipo'); + updateSelect($tipoClienteField, selectOptions, "Selecione um tipo de cliente"); + } + + var updateTiposCliente = function(){ + resetSelect($tipoClienteField); + + if ($bibliotecaField.val() && $bibliotecaField.is(':enabled')) { + $tipoClienteField.children().first().html('Aguarde carregando...'); + + var path = '/intranet/educar_cliente_tipo_xml.php'; + var urlForGetTipoCliente = getResourceUrlBuilder.buildUrl(path, '', { + bib : $bibliotecaField.attr('value') }); + + var options = { + url : urlForGetTipoCliente, + dataType : 'xml', + success : handleGetTiposCliente + }; + + getResources(options); + } + + $tipoClienteField.change(); + }; + + // bind onchange event + $bibliotecaField.change(updateTiposCliente); + + }); // ready +})(jQuery); diff --git a/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaTipoExemplar.js b/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaTipoExemplar.js new file mode 100644 index 0000000..4ff896c --- /dev/null +++ b/ieducar/modules/DynamicInput/Assets/Javascripts/BibliotecaTipoExemplar.js @@ -0,0 +1,40 @@ +(function($){ + $(document).ready(function(){ + var $bibliotecaField = getElementFor('biblioteca'); + var $tipoExemplarField = getElementFor('exemplar_tipo'); + + var handleGetTiposExemplar = function(response) { + var selectOptions = jsonResourcesToSelectOptions(response['options']); + updateSelect($tipoExemplarField, selectOptions, "Selecione um tipo de exemplar"); + } + + var updateTiposExemplar = function(){ + resetSelect($tipoExemplarField); + + if ($bibliotecaField.val() && $bibliotecaField.is(':enabled')) { + $tipoExemplarField.children().first().html('Aguarde carregando...'); + + var data = { + resource : 'tipos_exemplar', + biblioteca_id : $bibliotecaField.attr('value') + }; + + var urlForGetTipoExemplar = getResourceUrlBuilder.buildUrl('/module/DynamicInput/TipoExemplar', + 'tipos_exemplar', data); + var options = { + url : urlForGetTipoExemplar, + dataType : 'json', + success : handleGetTiposExemplar + }; + + getResources(options); + } + + $tipoExemplarField.change(); + }; + + // bind onchange event + $bibliotecaField.change(updateTiposExemplar); + + }); // ready +})(jQuery); diff --git a/ieducar/modules/DynamicInput/Assets/Javascripts/ComponenteCurricular.js b/ieducar/modules/DynamicInput/Assets/Javascripts/ComponenteCurricular.js new file mode 100644 index 0000000..7d2deb2 --- /dev/null +++ b/ieducar/modules/DynamicInput/Assets/Javascripts/ComponenteCurricular.js @@ -0,0 +1,44 @@ +(function($){ + $(document).ready(function(){ + + var $anoField = getElementFor('ano'); + var $turmaField = getElementFor('turma'); + var $componenteCurricularField = getElementFor('componente_curricular'); + + var handleGetComponentesCurriculares = function(response) { + var selectOptions = jsonResourcesToSelectOptions(response['options']); + updateSelect($componenteCurricularField, selectOptions, "Selecione um componente curricular"); + } + + var updateComponentesCurriculares = function(){ + resetSelect($componenteCurricularField); + + if ($anoField.val() && $turmaField.val() && $turmaField.is(':enabled')) { + $componenteCurricularField.children().first().html('Aguarde carregando...'); + + var data = { + ano : $anoField.attr('value'), + turma_id : $turmaField.attr('value') + }; + + var urlForGetComponentesCurriculares = getResourceUrlBuilder.buildUrl( + '/module/DynamicInput/componenteCurricular', 'componentesCurriculares', data + ); + + var options = { + url : urlForGetComponentesCurriculares, + dataType : 'json', + success : handleGetComponentesCurriculares + }; + + getResources(options); + } + + $componenteCurricularField.change(); + }; + + // bind onchange event + $turmaField.change(updateComponentesCurriculares); + + }); // ready +})(jQuery); diff --git a/ieducar/modules/DynamicInput/Assets/Javascripts/Curso.js b/ieducar/modules/DynamicInput/Assets/Javascripts/Curso.js new file mode 100644 index 0000000..93924b9 --- /dev/null +++ b/ieducar/modules/DynamicInput/Assets/Javascripts/Curso.js @@ -0,0 +1,39 @@ +(function($){ + $(document).ready(function(){ + var $instituicaoField = getElementFor('instituicao'); + var $escolaField = getElementFor('escola'); + var $cursoField = getElementFor('curso'); + + var handleGetCursos = function(response) { + var selectOptions = jsonResourcesToSelectOptions(response['options']); + updateSelect($cursoField, selectOptions, "Selecione um curso"); + } + + var updateCursos = function(){ + resetSelect($cursoField); + + if ($instituicaoField.val() && $escolaField.val() && $escolaField.is(':enabled')) { + $cursoField.children().first().html('Aguarde carregando...'); + + var urlForGetCursos = getResourceUrlBuilder.buildUrl('/module/DynamicInput/Curso', 'cursos', { + escola_id : $escolaField.attr('value'), + instituicao_id : $instituicaoField.attr('value'), + }); + + var options = { + url : urlForGetCursos, + dataType : 'json', + success : handleGetCursos + }; + + getResources(options); + } + + $cursoField.change(); + }; + + // bind onchange event + $escolaField.change(updateCursos); + + }); // ready +})(jQuery); diff --git a/ieducar/modules/DynamicInput/Assets/Javascripts/DynamicInput.js b/ieducar/modules/DynamicInput/Assets/Javascripts/DynamicInput.js new file mode 100644 index 0000000..5b07cd1 --- /dev/null +++ b/ieducar/modules/DynamicInput/Assets/Javascripts/DynamicInput.js @@ -0,0 +1,92 @@ +function updateSelect($targetElement, options, emptyOptionHtml) { + $targetElement.children().not('[value=""]').remove(); + + $j.each(options, function(index, value){ + $j(value).appendTo($targetElement); + }); + + if (options.length > 0) { + $targetElement.removeAttr('disabled'); + $targetElement.children('[value=""]').first().html(emptyOptionHtml || "Selecione uma opção"); + } + else + $targetElement.children(':first').html('Sem opções'); +} + + +function resetSelect($targetElement) { + $targetElement.children().not('[value=""]').remove(); + $targetElement.children().first().attr('checked', 'checked'); + //$targetElement.attr('disabled', 'disabled'); +} + + +function xmlResourcesToSelectOptions(resources, parentNodeName, nodeIdAttrName, nodeValueAttrName) { + var options = []; + + $j.each($j(resources).find(parentNodeName).children(), function(index, value){ + var $value = $j(value); + var text; + + var $option = $j('