/** * @fileoverview function used in QBE for DB * @name Database Operations * * @requires jQuery * @requires jQueryUI * @requires js/functions.js * */ /** * Ajax event handlers here for /database/qbe * * Actions Ajaxified here: * Select saved search */ /** * Unbind all event handlers before tearing down a page */ AJAX.registerTeardown('database/qbe.js', function () { $(document).off('change', 'select[name^=criteriaColumn]'); $(document).off('change', '#searchId'); $(document).off('click', '#saveSearch'); $(document).off('click', '#updateSearch'); $(document).off('click', '#deleteSearch'); }); AJAX.registerOnload('database/qbe.js', function () { Functions.getSqlEditor($('#textSqlquery'), {}, 'none'); $('#tblQbe').width($('#tblQbe').parent().width()); $('#tblQbeFooters').width($('#tblQbeFooters').parent().width()); $('#tblQbe').on('resize', function () { var newWidthTblQbe = $('#textSqlquery').next().width(); $('#tblQbe').width(newWidthTblQbe); $('#tblQbeFooters').width(newWidthTblQbe); }); /** * Ajax handler to check the corresponding 'show' checkbox when column is selected */ $(document).on('change', 'select[name^=criteriaColumn]', function () { if ($(this).val()) { var index = /\d+/.exec($(this).attr('name')); $('input[name=criteriaShow\\[' + index + '\\]]').prop('checked', true); } }); /** * Ajax event handlers for 'Select saved search' */ $(document).on('change', '#searchId', function () { $('#action').val('load'); $('#formQBE').trigger('submit'); }); /** * Ajax event handlers for 'Create bookmark' */ $(document).on('click', '#saveSearch', function () { $('#action').val('create'); }); /** * Ajax event handlers for 'Update bookmark' */ $(document).on('click', '#updateSearch', function () { $('#action').val('update'); }); /** * Ajax event handlers for 'Delete bookmark' */ $(document).on('click', '#deleteSearch', function () { var question = Functions.sprintf(Messages.strConfirmDeleteQBESearch, $('#searchId').find('option:selected').text()); if (!confirm(question)) { return false; } $('#action').val('delete'); }); var windowwidth = $(window).width(); $('.jsresponsive').css('max-width', windowwidth - 35 + 'px'); });