diff options
Diffstat (limited to 'plugins/UserCountry/templates/admin.js')
-rwxr-xr-x | plugins/UserCountry/templates/admin.js | 298 |
1 files changed, 143 insertions, 155 deletions
diff --git a/plugins/UserCountry/templates/admin.js b/plugins/UserCountry/templates/admin.js index 46e7931add..1bb3d22d76 100755 --- a/plugins/UserCountry/templates/admin.js +++ b/plugins/UserCountry/templates/admin.js @@ -5,52 +5,52 @@ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ -$(document).ready(function() { - $('#geoip-download-progress,#geoip-updater-progressbar').progressbar({value: 1}); - - // handle switch current location provider - $('.location-provider').change(function() { - if (!$(this).is(':checked')) return; // only handle radio buttons that get checked - - var parent = $(this).parent(), - loading = $('.loadingPiwik', parent), - ajaxSuccess = $('.ajaxSuccess', parent); +$(document).ready(function () { + $('#geoip-download-progress,#geoip-updater-progressbar').progressbar({value: 1}); + + // handle switch current location provider + $('.location-provider').change(function () { + if (!$(this).is(':checked')) return; // only handle radio buttons that get checked + + var parent = $(this).parent(), + loading = $('.loadingPiwik', parent), + ajaxSuccess = $('.ajaxSuccess', parent); var ajaxRequest = new ajaxHelper(); ajaxRequest.setLoadingElement(loading); ajaxRequest.addParams({ module: 'UserCountry', action: 'setCurrentLocationProvider', - id: $(this).val() + id: $(this).val() }, 'get'); ajaxRequest.setCallback( function () { - ajaxSuccess.fadeIn(1000, function() { - setTimeout(function() { + ajaxSuccess.fadeIn(1000, function () { + setTimeout(function () { ajaxSuccess.fadeOut(1000); }, 2000); }); } ); ajaxRequest.send(false); - }); - - // handle 'refresh location' link click - $('.refresh-loc').click(function(e) { - e.preventDefault(); - - var cell = $(this).parent().parent(), - loading = $('.loadingPiwik', cell), - location = $('.location', cell); - - location.css('visibility', 'hidden'); + }); + + // handle 'refresh location' link click + $('.refresh-loc').click(function (e) { + e.preventDefault(); + + var cell = $(this).parent().parent(), + loading = $('.loadingPiwik', cell), + location = $('.location', cell); + + location.css('visibility', 'hidden'); var ajaxRequest = new ajaxHelper(); ajaxRequest.setLoadingElement(loading); ajaxRequest.addParams({ module: 'UserCountry', action: 'getLocationUsingProvider', - id: $(this).attr('data-impl-id') + id: $(this).attr('data-impl-id') }, 'get'); ajaxRequest.setCallback( function (response) { @@ -60,146 +60,134 @@ $(document).ready(function() { ajaxRequest.setFormat('html'); ajaxRequest.send(false); - return false; - }); - - // geoip database wizard - var downloadNextChunk = function(action, thisId, progressBarId, cont, extraData, callback) - { - var data = { - module: 'UserCountry', - action: action, - token_auth: piwik.token_auth, - 'continue': cont ? 1 : 0 - }; - for (var k in extraData) - { - data[k] = extraData[k]; - } - + return false; + }); + + // geoip database wizard + var downloadNextChunk = function (action, thisId, progressBarId, cont, extraData, callback) { + var data = { + module: 'UserCountry', + action: action, + token_auth: piwik.token_auth, + 'continue': cont ? 1 : 0 + }; + for (var k in extraData) { + data[k] = extraData[k]; + } + var ajaxRequest = new ajaxHelper(); ajaxRequest.addParams(data, 'post'); - ajaxRequest.setCallback(function(response) { - if (!response || response.error) - { - callback(response); - } - else - { - // update progress bar - var newProgressVal = Math.ceil((response.current_size / response.expected_file_size) * 100); - newProgressVal = Math.min(newProgressVal, 100); - $('#'+progressBarId).progressbar('option', 'value', newProgressVal); - - // if incomplete, download next chunk, otherwise, show updater manager - if (newProgressVal < 100) - { - downloadNextChunk(action, thisId, progressBarId, true, extraData, callback); - } - else - { - callback(response); - } - } - }); - ajaxRequest.setErrorCallback(function() { - callback({error: _pk_translate('UserCountry_FatalErrorDuringDownload_js')}); - }); + ajaxRequest.setCallback(function (response) { + if (!response || response.error) { + callback(response); + } + else { + // update progress bar + var newProgressVal = Math.ceil((response.current_size / response.expected_file_size) * 100); + newProgressVal = Math.min(newProgressVal, 100); + $('#' + progressBarId).progressbar('option', 'value', newProgressVal); + + // if incomplete, download next chunk, otherwise, show updater manager + if (newProgressVal < 100) { + downloadNextChunk(action, thisId, progressBarId, true, extraData, callback); + } + else { + callback(response); + } + } + }); + ajaxRequest.setErrorCallback(function () { + callback({error: _pk_translate('UserCountry_FatalErrorDuringDownload_js')}); + }); ajaxRequest.send(false); - }; - - $('#start-download-free-geoip').click(function() { - $('#geoipdb-screen1').hide("slide", {direction: "left"}, 800, function() { - $('#geoipdb-screen2-download').fadeIn(1000); - - // start download of free dbs - downloadNextChunk( - 'downloadFreeGeoIPDB', - 'geoipdb-screen2-download', - 'geoip-download-progress', - false, - {}, - function(response) { - if (response.error) - { - // on error, show error & stop downloading - $('#'+thisId).fadeOut(1000, function() { - $('#manage-geoip-dbs').html(response.error); - }); - } - else - { - $('#geoipdb-screen2-download').fadeOut(1000, function() { - $('#manage-geoip-dbs').html(response.next_screen); - }); - } - } - ); - }); - }); - - $('body').on('click', '#start-automatic-update-geoip', function() { - $('#geoipdb-screen1').hide("slide", {direction: "left"}, 800, function () { - $('#geoip-db-mangement').text(_pk_translate('UserCountry_SetupAutomaticUpdatesOfGeoIP_js')); - $('#geoipdb-update-info').fadeIn(1000); - }); - }); - - $('body').on('click', '#update-geoip-links', function() { - $('#geoipdb-update-info-error').hide(); - - var currentDownloading = null, - updateGeoIPSuccess = function(response) - { - if (response && response.error) - { - $('#geoip-progressbar-container').hide(); - $('#geoipdb-update-info-error').html(response.error).show(); - } - else if (response && response.to_download) - { - var continuing = currentDownloading == response.to_download; - currentDownloading = response.to_download; - - // show progress bar w/ message - $('#geoip-updater-progressbar').progressbar('option', 'value', 1); - $('#geoip-updater-progressbar-label').html(response.to_download_label); - $('#geoip-progressbar-container').show(); - - // start/continue download - downloadNextChunk( - 'downloadMissingGeoIpDb', 'geoipdb-update-info', 'geoip-updater-progressbar', - continuing, {key: response.to_download}, updateGeoIPSuccess); - } - else - { - $('#geoipdb-update-info-error').hide(); - $('#geoip-updater-progressbar-label').html(''); - $('#geoip-progressbar-container').hide(); - - // fade in/out Done message - $('#done-updating-updater').fadeIn(1000, function() { - setTimeout(function() { - $('#done-updating-updater').fadeOut(1000); - }, 3000); - }); - } - }; - - // setup the auto-updater + }; + + $('#start-download-free-geoip').click(function () { + $('#geoipdb-screen1').hide("slide", {direction: "left"}, 800, function () { + $('#geoipdb-screen2-download').fadeIn(1000); + + // start download of free dbs + downloadNextChunk( + 'downloadFreeGeoIPDB', + 'geoipdb-screen2-download', + 'geoip-download-progress', + false, + {}, + function (response) { + if (response.error) { + // on error, show error & stop downloading + $('#' + thisId).fadeOut(1000, function () { + $('#manage-geoip-dbs').html(response.error); + }); + } + else { + $('#geoipdb-screen2-download').fadeOut(1000, function () { + $('#manage-geoip-dbs').html(response.next_screen); + }); + } + } + ); + }); + }); + + $('body').on('click', '#start-automatic-update-geoip', function () { + $('#geoipdb-screen1').hide("slide", {direction: "left"}, 800, function () { + $('#geoip-db-mangement').text(_pk_translate('UserCountry_SetupAutomaticUpdatesOfGeoIP_js')); + $('#geoipdb-update-info').fadeIn(1000); + }); + }); + + $('body').on('click', '#update-geoip-links', function () { + $('#geoipdb-update-info-error').hide(); + + var currentDownloading = null, + updateGeoIPSuccess = function (response) { + if (response && response.error) { + $('#geoip-progressbar-container').hide(); + $('#geoipdb-update-info-error').html(response.error).show(); + } + else if (response && response.to_download) { + var continuing = currentDownloading == response.to_download; + currentDownloading = response.to_download; + + // show progress bar w/ message + $('#geoip-updater-progressbar').progressbar('option', 'value', 1); + $('#geoip-updater-progressbar-label').html(response.to_download_label); + $('#geoip-progressbar-container').show(); + + // start/continue download + downloadNextChunk( + 'downloadMissingGeoIpDb', 'geoipdb-update-info', 'geoip-updater-progressbar', + continuing, {key: response.to_download}, updateGeoIPSuccess); + } + else { + $('#geoipdb-update-info-error').hide(); + $('#geoip-updater-progressbar-label').html(''); + $('#geoip-progressbar-container').hide(); + + // fade in/out Done message + $('#done-updating-updater').fadeIn(1000, function () { + setTimeout(function () { + $('#done-updating-updater').fadeOut(1000); + }, 3000); + }); + } + }; + + // setup the auto-updater var ajaxRequest = new ajaxHelper(); ajaxRequest.addParams({ - period: $('#geoip-update-period-cell>input:checked').val() + period: $('#geoip-update-period-cell>input:checked').val() }, 'get'); ajaxRequest.addParams({ module: 'UserCountry', action: 'updateGeoIPLinks', - token_auth: piwik.token_auth, - loc_db: $('#geoip-location-db').val(), - isp_db: $('#geoip-isp-db').val(), - org_db: $('#geoip-org-db').val() + token_auth: piwik.token_auth, + loc_db: $('#geoip-location-db').val(), + isp_db: $('#geoip-isp-db').val(), + org_db: $('#geoip-org-db').val() }, 'post'); ajaxRequest.setCallback(updateGeoIPSuccess); ajaxRequest.send(false); - }); + }); }); |