blacklight_range_limit 7.6.0 → 7.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e1997f0d260501d40769b046bfaa9a31492bb4398bbb144a37d2eb4cc9e6513
4
- data.tar.gz: 46c9a11dbf347c2d9a5554f0d92e1b7e324bb6158acffe98908b8ecc4f519713
3
+ metadata.gz: 2167f6be6b6b4e9b67276d274aed5d5a3422779297c7630509bc9d562d355a76
4
+ data.tar.gz: 290370f3bfc33223c8a8ead2547241f6d5af25647acd6fce5f37bfefbcf3bbdc
5
5
  SHA512:
6
- metadata.gz: c9ff387fa687d752654314b976e82e2528c71403374febc52e38e07f22042514d0564ea08d46a4ec6e3f27dead5bf3db2a8942f529af1bd3fbc3a64b6a8516cb
7
- data.tar.gz: b186d9febaad180fb2ac5347cd87ec098738a9e8a4a90c54c8305153edb3553bcfb0d83411c3a4f6303229d35efcada3e495f6ec8879da658d95246a762a8a31
6
+ metadata.gz: 52823d196806781d9c00ffe501f9b96c1d6c0808fdb6cd0aa14484873624ab744079d0751a8c9a9f9de5082b28cf1226214bcd517cbc2eae04d7125dff3d0a6d
7
+ data.tar.gz: '04678a126c9947e4d6dcd9f56a9ffb71b61072e9d0f3f5f907ca6e98c1b0958bf8e2fd89d7057c5114ad08af444301f3d19a9b65dd1c2c1e093eef0a8eb897e8'
data/README.md CHANGED
@@ -52,7 +52,7 @@ config.add_facet_field 'pub_date', label: 'Publication Year', range: true
52
52
  You should now get range limit display. More complicated configuration is available if desired, see Range Facet Configuration below.
53
53
 
54
54
 
55
- You can also configure the look and feel of the Flot chart using the jQuery .data() method. On the `.facet_limit` container you want to configure, add a Flot options associative array (documented at http://people.iola.dk/olau/flot/API.txt) as the `plot-config` key. The `plot-config` key to set the `plot-config` key on the appropriate `.facet_limit` container. In order to customize the plot colors, for example, you could use this code:
55
+ You can also configure the look and feel of the Flot chart using the jQuery .data() method. On the `.facet-limit` container you want to configure, add a Flot options associative array (documented at http://people.iola.dk/olau/flot/API.txt) as the `plot-config` key. The `plot-config` key to set the `plot-config` key on the appropriate `.facet-limit` container. In order to customize the plot colors, for example, you could use this code:
56
56
 
57
57
  ```javascript
58
58
  $('.blacklight-year_i').data('plot-config', {
data/VERSION CHANGED
@@ -1 +1 @@
1
- 7.6.0
1
+ 7.7.0
@@ -191,7 +191,7 @@ Blacklight.onLoad(function() {
191
191
 
192
192
 
193
193
  var plot;
194
- var config = $(container).closest('.facet_limit').data('plot-config') || {};
194
+ var config = $(container).closest('.facet-limit').data('plot-config') || {};
195
195
 
196
196
  try {
197
197
  plot = $.plot($(container), [series_data],
@@ -386,7 +386,6 @@ don't work unless the canvas is attached to the DOM.
386
386
 
387
387
  y += 0.75 * info.height;
388
388
 
389
-
390
389
  // Determine whether this text already exists at this position.
391
390
  // If so, mark it for inclusion in the next render pass.
392
391
 
@@ -447,7 +446,7 @@ don't work unless the canvas is attached to the DOM.
447
446
  position.element.style.textAlign = halign;
448
447
  // update the transforms
449
448
  updateTransforms(position.element, transforms);
450
- };
449
+ };
451
450
 
452
451
  var addTspanElements = function(text, element, x) {
453
452
  var lines = text.split('<br>'),
@@ -461,7 +460,7 @@ don't work unless the canvas is attached to the DOM.
461
460
  tspan = element.childNodes[i];
462
461
  }
463
462
  tspan.textContent = lines[i];
464
- offset = i * 1 + 'em';
463
+ offset = (i === 0 ? 0 : 1) + 'em';
465
464
  tspan.setAttributeNS(null, 'dy', offset);
466
465
  tspan.setAttributeNS(null, 'x', x);
467
466
  }
@@ -42,7 +42,7 @@ This plugin is used by flot for drawing lines, plots, bars or area.
42
42
  continue;
43
43
  }
44
44
 
45
- if(steps){
45
+ if (steps) {
46
46
  if (mx !== null && my !== null) {
47
47
  // if middle point exists, transfer p2 -> p1 and p1 -> mp
48
48
  x2 = x1;
@@ -202,7 +202,7 @@ This plugin is used by flot for drawing lines, plots, bars or area.
202
202
  continue;
203
203
  }
204
204
 
205
- if(steps){
205
+ if (steps) {
206
206
  if (mx !== null && my !== null) {
207
207
  // if middle point exists, transfer p2 -> p1 and p1 -> mp
208
208
  x2 = x1;
@@ -482,8 +482,7 @@ This plugin is used by flot for drawing lines, plots, bars or area.
482
482
  drawLeft = true;
483
483
  drawRight = false;
484
484
  }
485
- }
486
- else {
485
+ } else {
487
486
  drawLeft = drawRight = drawTop = true;
488
487
  drawBottom = false;
489
488
  left = x + barLeft;
@@ -79,7 +79,6 @@ the tooltip from webcharts).
79
79
  highlights = [];
80
80
  }
81
81
 
82
-
83
82
  function generatePlothoverEvent(e) {
84
83
  var o = plot.getOptions(),
85
84
  newEvent = new CustomEvent('mouseevent');
@@ -98,10 +97,10 @@ the tooltip from webcharts).
98
97
 
99
98
  function doTriggerClickHoverEvent(event, eventType, searchDistance) {
100
99
  var series = plot.getData();
101
- if (event !== undefined
102
- && series.length > 0
103
- && series[0].xaxis.c2p !== undefined
104
- && series[0].yaxis.c2p !== undefined) {
100
+ if (event !== undefined &&
101
+ series.length > 0 &&
102
+ series[0].xaxis.c2p !== undefined &&
103
+ series[0].yaxis.c2p !== undefined) {
105
104
  var eventToTrigger = "plot" + eventType;
106
105
  var seriesFlag = eventType + "able";
107
106
  triggerClickHoverEvent(eventToTrigger, event,
@@ -155,8 +154,8 @@ the tooltip from webcharts).
155
154
  var items = plot.findNearbyItems(canvasX, canvasY, seriesFilter, distance);
156
155
  var item = items[0];
157
156
 
158
- for (var i = 1; i < items.length; ++i) {
159
- if (item.distance === undefined ||
157
+ for (let i = 1; i < items.length; ++i) {
158
+ if (item.distance === undefined ||
160
159
  items[i].distance < item.distance) {
161
160
  item = items[i];
162
161
  }
@@ -172,7 +171,7 @@ the tooltip from webcharts).
172
171
 
173
172
  if (options.grid.autoHighlight) {
174
173
  // clear auto-highlights
175
- for (var i = 0; i < highlights.length; ++i) {
174
+ for (let i = 0; i < highlights.length; ++i) {
176
175
  var h = highlights[i];
177
176
  if ((h.auto === eventname &&
178
177
  !(item && h.series === item.series &&
@@ -847,8 +847,6 @@ Licensed under the MIT license.
847
847
  ps = s.datapoints.pointsize;
848
848
  points = s.datapoints.points;
849
849
 
850
- var insertSteps = s.lines.show && s.lines.steps;
851
-
852
850
  for (j = k = 0; j < data.length; ++j, k += ps) {
853
851
  p = data[j];
854
852
 
@@ -980,8 +978,8 @@ Licensed under the MIT license.
980
978
  var eventList = eventManager[key] || [];
981
979
 
982
980
  eventList.push({"event": event, "handler": handler, "eventHolder": eventHolder, "priority": priority});
983
- eventList.sort((a, b) => b.priority - a.priority );
984
- eventList.forEach( eventData => {
981
+ eventList.sort((a, b) => b.priority - a.priority);
982
+ eventList.forEach(eventData => {
985
983
  eventData.eventHolder.unbind(eventData.event, eventData.handler);
986
984
  eventData.eventHolder.bind(eventData.event, eventData.handler);
987
985
  });
@@ -2437,8 +2435,7 @@ Licensed under the MIT license.
2437
2435
  if (series.bars.horizontal) {
2438
2436
  range.ymin += delta;
2439
2437
  range.ymax += delta + barWidth;
2440
- }
2441
- else {
2438
+ } else {
2442
2439
  range.xmin += delta;
2443
2440
  range.xmax += delta + barWidth;
2444
2441
  }
@@ -2467,7 +2464,7 @@ Licensed under the MIT license.
2467
2464
  }
2468
2465
 
2469
2466
  var start = series.bars.horizontal ? 1 : 0;
2470
- for (var j = start; j < series.datapoints.points.length; j += pointsize) {
2467
+ for (let j = start; j < series.datapoints.points.length; j += pointsize) {
2471
2468
  if (isFinite(series.datapoints.points[j]) && series.datapoints.points[j] !== null) {
2472
2469
  xValues.push(series.datapoints.points[j]);
2473
2470
  }
@@ -2477,10 +2474,10 @@ Licensed under the MIT license.
2477
2474
  return self.indexOf(value) === index;
2478
2475
  }
2479
2476
 
2480
- xValues = xValues.filter( onlyUnique );
2481
- xValues.sort(function(a, b){return a - b});
2477
+ xValues = xValues.filter(onlyUnique);
2478
+ xValues.sort(function(a, b) { return a - b });
2482
2479
 
2483
- for (var j = 1; j < xValues.length; j++) {
2480
+ for (let j = 1; j < xValues.length; j++) {
2484
2481
  var distance = Math.abs(xValues[j] - xValues[j - 1]);
2485
2482
  if (distance < minDistance && isFinite(distance)) {
2486
2483
  minDistance = distance;
@@ -2502,21 +2499,21 @@ Licensed under the MIT license.
2502
2499
  }
2503
2500
  }
2504
2501
 
2505
- return items.sort((a, b) => {
2502
+ return items.sort((a, b) => {
2506
2503
  if (b.distance === undefined) {
2507
2504
  return -1;
2508
2505
  } else if (a.distance === undefined && b.distance !== undefined) {
2509
2506
  return 1;
2510
2507
  }
2511
2508
 
2512
- return a.distance - b.distance ;
2509
+ return a.distance - b.distance;
2513
2510
  });
2514
2511
  }
2515
2512
 
2516
2513
  function findNearbyItem(mouseX, mouseY, seriesFilter, radius, computeDistance) {
2517
2514
  var items = findNearbyItems(mouseX, mouseY, seriesFilter, radius, computeDistance);
2518
2515
  return items[0] !== undefined ? items[0] : null;
2519
- }
2516
+ }
2520
2517
 
2521
2518
  // returns the data item the mouse is over/ the cursor is closest to, or null if none is found
2522
2519
  function findItems(mouseX, mouseY, seriesFilter, radius, computeDistance) {
@@ -2550,7 +2547,7 @@ Licensed under the MIT license.
2550
2547
  for (i = 0; i < items.length; i++) {
2551
2548
  var seriesIndex = items[i].seriesIndex;
2552
2549
  var dataIndex = items[i].dataIndex;
2553
- var smallestDistance = items[i].distance;
2550
+ var itemDistance = items[i].distance;
2554
2551
  var ps = series[seriesIndex].datapoints.pointsize;
2555
2552
 
2556
2553
  foundItems.push({
@@ -2558,7 +2555,7 @@ Licensed under the MIT license.
2558
2555
  dataIndex: dataIndex,
2559
2556
  series: series[seriesIndex],
2560
2557
  seriesIndex: seriesIndex,
2561
- distance: Math.sqrt(smallestDistance)
2558
+ distance: Math.sqrt(itemDistance)
2562
2559
  });
2563
2560
  }
2564
2561
 
@@ -2641,17 +2638,19 @@ Licensed under the MIT license.
2641
2638
  var foundIndex = -1;
2642
2639
  for (var j = 0; j < points.length; j += ps) {
2643
2640
  var x = points[j], y = points[j + 1];
2644
- if (x == null)
2641
+ if (x == null) {
2645
2642
  continue;
2643
+ }
2646
2644
 
2647
2645
  var bottom = ps === 3 ? points[j + 2] : defaultBottom;
2648
2646
  // for a bar graph, the cursor must be inside the bar
2649
- if (series.bars.horizontal ?
2650
- (mx <= Math.max(bottom, x) && mx >= Math.min(bottom, x) &&
2651
- my >= y + barLeft && my <= y + barRight) :
2652
- (mx >= x + barLeft && mx <= x + barRight &&
2653
- my >= Math.min(bottom, y) && my <= Math.max(bottom, y)))
2654
- foundIndex = j / ps;
2647
+ if (series.bars.horizontal
2648
+ ? (mx <= Math.max(bottom, x) && mx >= Math.min(bottom, x) &&
2649
+ my >= y + barLeft && my <= y + barRight)
2650
+ : (mx >= x + barLeft && mx <= x + barRight &&
2651
+ my >= Math.min(bottom, y) && my <= Math.max(bottom, y))) {
2652
+ foundIndex = j / ps;
2653
+ }
2655
2654
  }
2656
2655
 
2657
2656
  return foundIndex;
@@ -10,6 +10,7 @@ selection: {
10
10
  color: color,
11
11
  shape: "round" or "miter" or "bevel",
12
12
  visualization: "fill" or "focus",
13
+ displaySelectionDecorations: true or false,
13
14
  minSize: number of pixels
14
15
  }
15
16
 
@@ -26,6 +27,10 @@ option "focus" draws a colored bezel around the selected area while keeping
26
27
  the selected area clear. The option "fill" highlights (i.e., fills) the
27
28
  selected area with a colored highlight.
28
29
 
30
+ There are optional selection decorations (handles) that are rendered with the
31
+ "focus" visualization option. The selection decoration is rendered by default
32
+ but can be turned off by setting displaySelectionDecorations to false.
33
+
29
34
  "minSize" is the minimum size a selection can be in pixels. This value can
30
35
  be customized to determine the smallest size a selection can be and still
31
36
  have the selection rectangle be displayed. When customizing this value, the
@@ -104,9 +109,7 @@ The plugin allso adds the following methods to the plot object:
104
109
  // make this plugin much slimmer.
105
110
  var savedhandlers = {};
106
111
 
107
- var mouseUpHandler = null;
108
-
109
- function onMouseMove(e) {
112
+ function onDrag(e) {
110
113
  if (selection.active) {
111
114
  updateSelection(e);
112
115
 
@@ -114,7 +117,7 @@ The plugin allso adds the following methods to the plot object:
114
117
  }
115
118
  }
116
119
 
117
- function onMouseDown(e) {
120
+ function onDragStart(e) {
118
121
  var o = plot.getOptions();
119
122
  // only accept left-click
120
123
  if (e.which !== 1 || o.selection.mode === null) return;
@@ -138,17 +141,9 @@ The plugin allso adds the following methods to the plot object:
138
141
  setSelectionPos(selection.first, e);
139
142
 
140
143
  selection.active = true;
141
-
142
- // this is a bit silly, but we have to use a closure to be
143
- // able to whack the same handler again
144
- mouseUpHandler = function (e) { onMouseUp(e); };
145
-
146
- $(document).one("mouseup", mouseUpHandler);
147
144
  }
148
145
 
149
- function onMouseUp(e) {
150
- mouseUpHandler = null;
151
-
146
+ function onDragEnd(e) {
152
147
  // revert drag stuff for old-school browsers
153
148
  if (document.onselectstart !== undefined) {
154
149
  document.onselectstart = savedhandlers.onselectstart;
@@ -360,8 +355,9 @@ The plugin allso adds the following methods to the plot object:
360
355
  plot.hooks.bindEvents.push(function(plot, eventHolder) {
361
356
  var o = plot.getOptions();
362
357
  if (o.selection.mode != null) {
363
- eventHolder.mousemove(onMouseMove);
364
- eventHolder.mousedown(onMouseDown);
358
+ plot.addEventHandler("dragstart", onDragStart, eventHolder, 0);
359
+ plot.addEventHandler("drag", onDrag, eventHolder, 0);
360
+ plot.addEventHandler("dragend", onDragEnd, eventHolder, 0);
365
361
  }
366
362
  });
367
363
 
@@ -459,6 +455,7 @@ The plugin allso adds the following methods to the plot object:
459
455
 
460
456
  var c = $.color.parse(o.selection.color);
461
457
  var visualization = o.selection.visualization;
458
+ var displaySelectionDecorations = o.selection.displaySelectionDecorations;
462
459
 
463
460
  var scalingFactor = 1;
464
461
 
@@ -495,7 +492,10 @@ The plugin allso adds the following methods to the plot object:
495
492
  } else {
496
493
  ctx.fillRect(0, 0, plot.width(), plot.height());
497
494
  ctx.clearRect(x, y, w, h);
498
- drawSelectionDecorations(ctx, x, y, w, h, oX, oY, selectionDirection(plot));
495
+
496
+ if (displaySelectionDecorations) {
497
+ drawSelectionDecorations(ctx, x, y, w, h, oX, oY, selectionDirection(plot));
498
+ }
499
499
  }
500
500
 
501
501
  ctx.restore();
@@ -503,12 +503,9 @@ The plugin allso adds the following methods to the plot object:
503
503
  });
504
504
 
505
505
  plot.hooks.shutdown.push(function (plot, eventHolder) {
506
- eventHolder.unbind("mousemove", onMouseMove);
507
- eventHolder.unbind("mousedown", onMouseDown);
508
-
509
- if (mouseUpHandler) {
510
- $(document).unbind("mouseup", mouseUpHandler);
511
- }
506
+ eventHolder.unbind("dragstart", onDragStart);
507
+ eventHolder.unbind("drag", onDrag);
508
+ eventHolder.unbind("dragend", onDragEnd);
512
509
  });
513
510
  }
514
511
 
@@ -518,6 +515,7 @@ The plugin allso adds the following methods to the plot object:
518
515
  selection: {
519
516
  mode: null, // one of null, "x", "y" or "xy"
520
517
  visualization: "focus", // "focus" or "fill"
518
+ displaySelectionDecorations: true, // true or false (currently only relevant for the focus visualization)
521
519
  color: "#888888",
522
520
  shape: "round", // one of "round", "miter", or "bevel"
523
521
  minSize: 5 // minimum number of pixels
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight_range_limit
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.6.0
4
+ version: 7.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-04-01 00:00:00.000000000 Z
12
+ date: 2020-04-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: blacklight
@@ -256,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
256
256
  - !ruby/object:Gem::Version
257
257
  version: '0'
258
258
  requirements: []
259
- rubygems_version: 3.0.3
259
+ rubygems_version: 3.1.2
260
260
  signing_key:
261
261
  specification_version: 4
262
262
  summary: Blacklight Range Limit plugin