Navigator with cursors
On the Navigator, set the cursor inside the handles to 'move', and outside to 'pointer', so its easy for the user to identify what can be done. It also would be good if its configurable, but i dont realy think is needed.
-
Oriol commented
The e-resize is only on the Handles
The point is to asign the Cursor to the rest of the regions.
-------------------------------------------------
| a || b || c |
-------------------------------------------------Considering this mini image the Navigator, where || are the Handles:
- || should get the 'e-resize' --> allready has it
- a and c: should get the 'pointer' cursor
- b: should get the 'move' cursor -
The mouse cursor is currently e-resize on the navigator handles and pointer outside.
handles[index] = renderer.g()
.css({ cursor: 'e-resize' })
.attr({ zIndex: 4 - index }) // zIndex = 3 for right handle, 4 for left
.add();Am I missing something?
-
Oriol commented
In Case it helps, here a SVN patch that makes it against the version 1.2.5:
Index: highstock-1.2.5.js
===================================================================
--- highstock-1.2.5.js (revision 80)
+++ highstock-1.2.5.js (revision 81)
@@ -16571,8 +16571,8 @@
if (!scroller.rendered) {
// the group
handles[index] = renderer.g()
- .css({ cursor: 'e-resize' })
- .attr({ zIndex: 4 - index }) // zIndex = 3 for right handle, 4 for left
+ .css({ cursor: 'e-resize' })
+ .attr({ zIndex: 6 - index }) // zIndex = 5 for right handle, 6 for left
.add();
// the rectangle
@@ -16739,21 +16739,35 @@
scroller.leftShade = renderer.rect()
.attr({
- fill: navigatorOptions.maskFill,
- zIndex: 3
+ fill: navigatorOptions.maskFill,
+ zIndex: 3
+ })
+ .css({
+ cursor: 'pointer'
}).add();
scroller.rightShade = renderer.rect()
.attr({
- fill: navigatorOptions.maskFill,
- zIndex: 3
+ fill: navigatorOptions.maskFill,
+ zIndex: 3
+ })
+ .css({
+ cursor: 'pointer'
}).add();
scroller.outline = renderer.path()
.attr({
'stroke-width': outlineWidth,
stroke: navigatorOptions.outlineColor,
zIndex: 3
- })
- .add();
+ })
+ .add();
+ scroller.outlineCursor = renderer.rect()
+ .attr({
+ fill: 'rgba(255, 255, 255, 0)',
+ zIndex: 4
+ })
+ .css({
+ cursor: 'move'
+ }).add();
}
if (scrollbarEnabled) {
@@ -16768,8 +16782,11 @@
fill: scrollbarOptions.trackBackgroundColor,
stroke: scrollbarOptions.trackBorderColor,
'stroke-width': strokeWidth,
- r: scrollbarOptions.trackBorderRadius || 0,
- height: scrollbarHeight
+ r: scrollbarOptions.trackBorderRadius || 0,
+ height: scrollbarHeight
+ })
+ .css({
+ cursor:'pointer'
}).add(scrollbarGroup);
// the scrollbar itself
@@ -16779,8 +16796,11 @@
height: scrollbarHeight,
fill: scrollbarOptions.barBackgroundColor,
stroke: scrollbarOptions.barBorderColor,
- 'stroke-width': scrollbarStrokeWidth,
- r: barBorderRadius
+ 'stroke-width': scrollbarStrokeWidth,
+ r: barBorderRadius
+ })
+ .css({
+ cursor: 'move'
})
.add(scrollbarGroup);
@@ -16817,8 +16837,15 @@
navigatorLeft + zoomedMax - halfOutline, outlineTop + outlineHeight - scrollbarHeight, // lower right of z.r.
L,
navigatorLeft + zoomedMax - halfOutline, outlineTop, // upper right of z.r.
- scrollerLeft + scrollerWidth, outlineTop // right
- ]});
+ scrollerLeft + scrollerWidth, outlineTop // right
+ ]
+ });
+ scroller.outlineCursor.attr({
+ x: navigatorLeft + zoomedMin,
+ y: outlineTop,
+ height: height,
+ width: zoomedMax - zoomedMin
+ });
// draw handles
scroller.drawHandle(zoomedMin + halfOutline, 0);
scroller.drawHandle(zoomedMax + halfOutline, 1);