1
- /**
2
- * plotly.js (basic) v1.19.2
3
- * Copyright 2012-2016, Plotly, Inc.
4
- * All rights reserved.
5
- * Licensed under the MIT license
6
- */
7
1
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Plotly = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
8
2
'use strict';
9
3
@@ -11539,6 +11533,10 @@ process.off = noop;
11539
11533
process.removeListener = noop;
11540
11534
process.removeAllListeners = noop;
11541
11535
process.emit = noop;
11536
+ process.prependListener = noop;
11537
+ process.prependOnceListener = noop;
11538
+
11539
+ process.listeners = function (name) { return [] }
11542
11540
11543
11541
process.binding = function (name) {
11544
11542
throw new Error('process.binding is not supported');
@@ -21644,22 +21642,29 @@ function setupDragElement(rangeSlider, gd, axisOpts, opts) {
21644
21642
var slideBox = rangeSlider.select('rect.' + constants.slideBoxClassName).node(),
21645
21643
grabAreaMin = rangeSlider.select('rect.' + constants.grabAreaMinClassName).node(),
21646
21644
grabAreaMax = rangeSlider.select('rect.' + constants.grabAreaMaxClassName).node();
21645
+ var moveHandler = function(e) {
21647
21646
21648
- rangeSlider.on('mousedown', function() {
21649
21647
var event = d3.event,
21650
21648
target = event.target,
21651
- startX = event.clientX,
21649
+ startX = event.clientX || event.touches[0].clientX ,
21652
21650
offsetX = startX - rangeSlider.node().getBoundingClientRect().left,
21653
21651
minVal = opts.d2p(axisOpts.range[0]),
21654
21652
maxVal = opts.d2p(axisOpts.range[1]);
21655
21653
21656
21654
var dragCover = dragElement.coverSlip();
21655
+ if(event.type==='touchstart') {
21656
+ rangeSlider.on('touchmove', mouseMove);
21657
+ rangeSlider.on('touchend', mouseUp);
21658
+ } else {
21659
+ dragCover.addEventListener('mousemove', mouseMove);
21660
+ dragCover.addEventListener('mouseup', mouseUp);
21661
+ }
21657
21662
21658
- dragCover.addEventListener('mousemove', mouseMove);
21659
- dragCover.addEventListener('mouseup', mouseUp);
21663
+ function mouseMove(ev) {
21660
21664
21661
- function mouseMove(e) {
21662
- var delta = +e.clientX - startX;
21665
+ var e = d3.event || ev;
21666
+ var xcord = e.clientX || e.touches[0].clientX;
21667
+ var delta = +xcord - startX;
21663
21668
var pixelMin, pixelMax, cursor;
21664
21669
21665
21670
switch(target) {
@@ -21693,20 +21698,31 @@ function setupDragElement(rangeSlider, gd, axisOpts, opts) {
21693
21698
pixelMax = pixelMin;
21694
21699
pixelMin = tmp;
21695
21700
}
21701
+ if(pixelMin<0) pixelMin=0;
21702
+ if(pixelMax<0) pixelMax=0;
21703
+ if(pixelMax>opts._width) pixelMax=opts._width;
21704
+ if(pixelMin>opts._width) pixelMin=opts._width;
21696
21705
21697
21706
opts._pixelMin = pixelMin;
21698
21707
opts._pixelMax = pixelMax;
21699
21708
21709
+
21700
21710
setCursor(d3.select(dragCover), cursor);
21701
- setDataRange(rangeSlider, gd, axisOpts, opts);
21711
+
21712
+ setPixelRange(rangeSlider, gd, axisOpts, opts);
21702
21713
}
21703
21714
21704
21715
function mouseUp() {
21705
- dragCover.removeEventListener('mousemove', mouseMove);
21706
- dragCover.removeEventListener('mouseup', mouseUp);
21716
+ setDataRange(rangeSlider, gd, axisOpts, opts);
21717
+ rangeSlider.on('touchmove', null);
21718
+ rangeSlider.on('touchend', null);
21719
+ dragCover.removeEventListener('mousemove',mouseMove);
21720
+ dragCover.removeEventListener('mouseup',mouseUp);
21707
21721
Lib.removeElement(dragCover);
21708
21722
}
21709
- });
21723
+ };
21724
+ rangeSlider.on('touchstart', moveHandler);
21725
+ rangeSlider.on('mousedown', moveHandler);
21710
21726
}
21711
21727
21712
21728
function setDataRange(rangeSlider, gd, axisOpts, opts) {
@@ -21728,9 +21744,18 @@ function setPixelRange(rangeSlider, gd, axisOpts, opts) {
21728
21744
function clamp(v) {
21729
21745
return Lib.constrain(v, 0, opts._width);
21730
21746
}
21747
+ var pixelMin,pixelMax;
21748
+ if(opts._pixelMin!==undefined&&opts._pixelMin!==null) {
21749
+ pixelMin=opts._pixelMin;
21750
+ } else {
21751
+ pixelMin=clamp(opts.d2p(axisOpts.range[0]));
21752
+ }
21753
+ if(opts._pixelMax!==undefined&&opts._pixelMax!==null) {
21754
+ pixelMax=opts._pixelMax;
21755
+ } else {
21756
+ pixelMax=clamp(opts.d2p(axisOpts.range[1]));
21757
+ }
21731
21758
21732
- var pixelMin = clamp(opts.d2p(axisOpts.range[0])),
21733
- pixelMax = clamp(opts.d2p(axisOpts.range[1]));
21734
21759
21735
21760
rangeSlider.select('rect.' + constants.slideBoxClassName)
21736
21761
.attr('x', pixelMin)
@@ -21748,6 +21773,7 @@ function setPixelRange(rangeSlider, gd, axisOpts, opts) {
21748
21773
21749
21774
rangeSlider.select('g.' + constants.grabberMaxClassName)
21750
21775
.attr('transform', 'translate(' + pixelMax + ',0)');
21776
+
21751
21777
}
21752
21778
21753
21779
function drawBg(rangeSlider, gd, axisOpts, opts) {
0 commit comments