Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <tsteur@users.noreply.github.com>2020-09-09 08:42:44 +0300
committerGitHub <noreply@github.com>2020-09-09 08:42:44 +0300
commitaaf2e659a694ab4007ecea6178b8db0ad481f43a (patch)
tree2c037295ae80d1db9483cc3198b5aa78df190bac /plugins/CoreHome/javascripts
parentd89a202cfbb502083882fbfbb999d8c9ec77b4cb (diff)
Update donations widget (#16405)
* Update donations widget * fix some tests * fix some tests * update css * fix test * improve wording * fix tests
Diffstat (limited to 'plugins/CoreHome/javascripts')
-rw-r--r--plugins/CoreHome/javascripts/donate.js142
1 files changed, 0 insertions, 142 deletions
diff --git a/plugins/CoreHome/javascripts/donate.js b/plugins/CoreHome/javascripts/donate.js
deleted file mode 100644
index c0ab5ddfc2..0000000000
--- a/plugins/CoreHome/javascripts/donate.js
+++ /dev/null
@@ -1,142 +0,0 @@
-/*!
- * Matomo - free/libre analytics platform
- *
- * @link https://matomo.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- */
-(function ($) {
-
- $(document).ready(function () {
-
- var donateAmounts = [0, 30, 60, 90, 120];
-
- // returns the space between each donation amount in the donation slider
- var getTickWidth = function (slider) {
- var effectiveSliderWidth = $('.slider-range', slider).width() - $('.slider-position', slider).width();
- return effectiveSliderWidth / (donateAmounts.length - 1);
- };
-
- // returns the position index on a slider based on a x coordinate value
- var getPositionFromPageCoord = function (slider, pageX) {
- return Math.round((pageX - $('.slider-range', slider).offset().left) / getTickWidth(slider));
- };
-
- // set's the correct amount text & smiley face image based on the position of the slider
- var setSmileyFaceAndAmount = function (slider, pos) {
- // set text yearly amount
- $('.slider-donate-amount', slider).text('$' + donateAmounts[pos] + '/' + _pk_translate('Intl_Year_Short'));
-
- // set the right smiley face
- $('.slider-smiley-face').attr('src', 'plugins/Morpheus/images/smileyprog_' + pos + '.png');
-
- // set the hidden option input for paypal
- var option = Math.max(1, pos);
- $('.piwik-donate-call input[name=os0]').val("Option " + option);
- };
-
- // move's a slider's position to a specific spot
- var moveSliderPosition = function (slider, to) {
- // make sure 'to' is valid
- if (to < 0) {
- to = 0;
- }
- else if (to >= donateAmounts.length) {
- to = donateAmounts.length - 1;
- }
-
- // set the slider position
- var left = to * getTickWidth(slider);
- if (left == 0) {
- left = -1; // at position 0 we move one pixel left to cover up some of slider bar
- }
-
- $('.slider-position', slider).css({
- left: left + 'px'
- });
-
- // reset the smiley face & amount based on the new position
- setSmileyFaceAndAmount(slider, to);
- };
-
- // when a slider is clicked, set the amount & smiley face appropriately
- $('body').on('click', '.piwik-donate-slider>.slider-range', function (e) {
- var slider = $(this).parent(),
- currentPageX = $('.slider-position', this).offset().left,
- currentPos = getPositionFromPageCoord(slider, currentPageX),
- pos = getPositionFromPageCoord(slider, e.pageX);
-
- // if the closest position is the current one, use the other position since
- // the user obviously wants to move the slider.
- if (currentPos == pos) {
- // if click is to right, go forward one, else backwards one
- if (e.pageX > currentPageX) {
- ++pos;
- }
- else {
- --pos;
- }
- }
-
- moveSliderPosition(slider, pos);
- });
-
- // when the smiley icon is clicked, move the position up one to demonstrate how to use the slider
- $('body').on('click', '.piwik-donate-slider .slider-smiley-face,.piwik-donate-slider .slider-donate-amount',
- function (e) {
- var slider = $(this).closest('.piwik-donate-slider'),
- currentPageX = $('.slider-position', slider).offset().left,
- currentPos = getPositionFromPageCoord(slider, currentPageX);
-
- moveSliderPosition(slider, currentPos + 1);
- }
- );
-
- // stores the current slider being dragged
- var draggingSlider = false;
-
- // start dragging on mousedown for a slider's position bar
- $('body').on('mousedown', '.piwik-donate-slider .slider-position', function () {
- draggingSlider = $(this).parent().parent();
- });
-
- // move the slider position if currently dragging when the mouse moves anywhere over the entire page
- $('body').on('mousemove', function (e) {
- if (draggingSlider) {
- var slider = draggingSlider.find('.slider-range'),
- sliderPos = slider.find('.slider-position'),
- left = e.pageX - slider.offset().left;
-
- // only move slider if the mouse x-coord is still on the slider (w/ some padding for borders)
- if (left <= slider.width() - sliderPos.width() + 2
- && left >= -2) {
- sliderPos.css({left: left + 'px'});
-
- var closestPos = Math.round(left / getTickWidth(draggingSlider));
- setSmileyFaceAndAmount(draggingSlider, closestPos);
- }
- }
- });
-
- // stop dragging and normalize a slider's position on mouseup over the entire page
- $('body').on('mouseup', function () {
- if (draggingSlider) {
- var sliderPos = $('.slider-position', draggingSlider),
- slider = sliderPos.parent();
-
- if (sliderPos.length) {
- // move the slider to the nearest donation amount position
- var pos = getPositionFromPageCoord(draggingSlider, sliderPos.offset().left);
- moveSliderPosition(draggingSlider, pos);
- }
-
- draggingSlider = false; // stop dragging
- }
- });
-
- // event for programmatically changing the position
- $('body').on('piwik:changePosition', '.piwik-donate-slider', function (e, data) {
- moveSliderPosition(this, data.position);
- });
- });
-
-}(jQuery));