Commit Graph

256 Commits

Author SHA1 Message Date
Grant Echols
60da75aede Added configuration around the rotate left/right buttons. The default for showRotationControls is false to preserve existing functionality. Also added default tooltip strings for the buttons.
This version runts the tests fine locally using 'npm test'. It looks like the remote build was having a timeout issue which I couldn't reproduce.
2014-03-03 09:28:28 -07:00
Grant Echols
576df57cdc Fixed code style issue. 2014-02-20 14:04:26 -07:00
Grant Echols
2fd1a849d1 Added rotate right/left buttons to default tools 2014-02-20 13:57:39 -07:00
Antoine Vandecreme
95c7668f68 Pass degrees from the viewer to the viewport. Fix #305 2014-02-05 15:52:31 -05:00
Antoine Vandecreme
c4428db8a5 Fix crash when closing the viewer when no overlay has been added. 2014-01-31 11:49:44 -05:00
Antoine Vandecreme
695df873ca Update the source when the base layer change. 2014-01-30 16:59:51 -05:00
Antoine Vandecreme
d43b6d86b5 Add layersAspectRatioEpsilon check 2014-01-30 16:43:35 -05:00
Antoine Vandecreme
365dad9317 Move all overlay code from drawer to viewer 2014-01-30 15:38:37 -05:00
Antoine Vandecreme
7210181b4f Remove not working code 2014-01-29 16:31:13 -05:00
Antoine Vandecreme
53ec6889e0 Support removal of base layer. 2014-01-22 11:33:59 -05:00
Antoine Vandecreme
1c1cd0dc4d Allow base layer reassignment if not in sequence mode. 2014-01-21 19:24:47 -05:00
Antoine Vandecreme
facccf7b45 Throw an error when trying to add a layer in collection mode. 2014-01-11 19:25:27 -05:00
Antoine Vandecreme
cd62ba7eca Prevent adding collections as layers. 2014-01-11 19:15:28 -05:00
Antoine Vandecreme
f0f76b847e Add viewer.getLayerAtLevel method and rename getLayerLevel to getLevelOfLayer.
Add layers unit test.
2014-01-11 18:08:04 -05:00
Antoine Vandecreme
56707bd4f7 Add viewer.getNumberOfLayers method
layers.html test file:
-display 2 layers after opening
-fix order
-add opacity demo
-add rotation demo
2014-01-11 12:52:44 -05:00
Antoine Vandecreme
b542b90590 Fix $.indexOf pollyfill
Add the original options in addLayer events
Add layers demo page
2014-01-05 19:20:45 -05:00
Mark Salsbery
1e9ea154f2 Added navigatorAutoResize option
Improved resizable navigator support.
2013-12-14 14:45:11 -08:00
Mark Salsbery
a189ba97d7 Update navigator on full-page/full-screen bug fix 2013-12-14 09:11:14 -08:00
Mark Salsbery
0d29c98df2 Enhanced Navigator Resizability (#280, #296)
New navigator options:

* @property {Boolean} [showNavigator=false]
*     Set to true to make the navigator minimap appear.
*
* @property {Boolean} [navigatorId=navigator-GENERATED DATE]
*     The ID of a div to hold the navigator minimap.
*     If an ID is specified, the navigatorPosition, navigatorSizeRatio,
navigatorMaintainSizeRatio, and navigatorTop|Left|Height|Width options
will be ignored.
*     If an ID is not specified, a div element will be generated and
placed on top of the main image.
*
* @property {String} [navigatorPosition='TOP_RIGHT']
*     Valid values are 'TOP_LEFT', 'TOP_RIGHT', 'BOTTOM_LEFT',
'BOTTOM_RIGHT', or 'ABSOLUTE'.<br>
*     If 'ABSOLUTE' is specified, then navigatorTop|Left|Height|Width
determines the size and position of the navigator minimap in the viewer,
and navigatorSizeRatio and navigatorMaintainSizeRatio are ignored.<br>
*     For 'TOP_LEFT', 'TOP_RIGHT', 'BOTTOM_LEFT', and 'BOTTOM_RIGHT',
the navigatorSizeRatio or navigatorHeight|Width values determine the
size of the navigator minimap.
*
* @property {Number} [navigatorSizeRatio=0.2]
*     Ratio of navigator size to viewer size. Ignored if
navigatorHeight|Width are specified.
*
* @property {Boolean} [navigatorMaintainSizeRatio=false]
*     If true, the navigator minimap is resized (using
navigatorSizeRatio) when the viewer size changes.
*
* @property {Number|String} [navigatorTop=null]
*     Specifies the location of the navigator minimap (see
navigatorPosition).
*
* @property {Number|String} [navigatorLeft=null]
*     Specifies the location of the navigator minimap (see
navigatorPosition).
*
* @property {Number|String} [navigatorHeight=null]
*     Specifies the size of the navigator minimap (see
navigatorPosition).
*     If specified, navigatorSizeRatio and navigatorMaintainSizeRatio
are ignored.
*
* @property {Number|String} [navigatorWidth=null]
*     Specifies the size of the navigator minimap (see
navigatorPosition).
*     If specified, navigatorSizeRatio and navigatorMaintainSizeRatio
are ignored.

Fixes #280 and #296
2013-12-13 09:23:56 -08:00
Antoine Vandecreme
c90a1edfb5 Add layer-level-changed event and add $.indexOf polyfill 2013-12-10 19:22:15 -05:00
Mark Salsbery
babfb99be9 Code fix 2013-12-09 10:04:39 -08:00
Antoine Vandecreme
0c2af6550a Add support to add/remove layers and change their levels. 2013-12-09 09:26:36 -05:00
Mark Salsbery
6b6b7f7625 Added ControlAnchor options for default controls 2013-12-06 22:48:49 -08:00
Antoine Vandecreme
58da998d75 Add basic layers support 2013-11-30 17:28:17 -05:00
Mark Salsbery
bb836768f8 Merged upstream changes, fixed conflicts 2013-11-26 10:21:59 -08:00
Mark Salsbery
952fcca46e Renamed noResizePolling to autoResize 2013-11-25 10:27:03 -08:00
Mark Salsbery
930e8c4dfd Updated Doclets 2013-11-25 08:48:44 -08:00
Mark Salsbery
190b4425ed Renamed pollForResize to noResizePolling
Flipped truthiness...default of false is better for backward
compatibility
2013-11-23 08:21:08 -08:00
Mark Salsbery
c7971419e2 Added pollForResize option
Defaults to true.
2013-11-22 17:07:44 -08:00
Mark Salsbery
ece76925a6 Updated Doclets
Lots of changes, most notably event documentation (@event and @fires)
2013-11-21 12:19:07 -08:00
Mark Salsbery
b38823e390 Merged upstream changes 2013-11-20 20:39:06 -08:00
Mark Salsbery
ebb15936e1 Removed the 'onPageChange' callback (#285)
Fix for #285
Removed the 'onPageChange' callback from the viewer options.
Viewer.goToPage() now raises the 'page' event only.
2013-11-19 12:13:38 -08:00
Mark Salsbery
f23395b60e Updated doclets
Misc changes.
Committing to merge upstream changes.
2013-11-19 11:20:45 -08:00
Mark Salsbery
09de239bfa Updated doclets
Remaining creation options - still need descriptions on some.
Started event descriptions.
Viewer constructor parameters fixed.
2013-11-19 10:08:04 -08:00
Mark Salsbery
b929f26872 Updated doclets
Creation options now documented in a typedef doclet named
OpenSeadragon.Options.
2013-11-18 10:06:38 -08:00
Mark Salsbery
ccee9f5149 Updated doclets
Updated creation option defaults (issue #93)
2013-11-18 09:44:54 -08:00
Mark Salsbery
54049927f0 Updated doclets
Changed event docs:
Changed userData properties from optional to nullable.
Removed optional type from preventDefaultAction properties.
2013-11-18 06:56:32 -08:00
Mark Salsbery
70b91d57ec Updated doclets for jsdoc3
Updated so jsdoc3 parser picks everything up.
Added event docs.
Lots of documentation content needed...
2013-11-15 22:19:53 -08:00
Antoine Vandecreme
03f25cef5f Add support to cancel full screen and full page events.
Fix fullpage when element has margin or padding.
2013-11-08 15:03:54 -05:00
Antoine Vandecreme
6aca0c0886 Add counter to avoid trying to set scroll indefinitly
Style and spelling fixes
Set scrolls tests setup inside own function
2013-11-08 13:56:13 -05:00
Antoine Vandecreme
fafc985ada Merge branch 'master' of https://github.com/openseadragon/openseadragon into fullscreen 2013-11-08 13:40:04 -05:00
Mark Salsbery
8e325a3748 Added preventDefaultAction flag to MouseTracker
Added a boolean preventDefaultAction property (default false) to the
event object passed to MouseTracker handler methods. Implemented in the
following MouseTracker subscribers:

* Viewer.keyboardCommandArea.innerTracker.focusHandler:
preventDefaultAction == true prevents scrolling viewer into view
* Viewer.keyboardCommandArea.innerTracker.keyHandler:
preventDefaultAction == true prevents viewer keyboard navigation
* Viewer.innerTracker.clickHandler: preventDefaultAction == true
prevents viewer zoom on click
* Viewer.innerTracker.dragHandler: preventDefaultAction == true prevents
viewer panning with mouse/touch
* Viewer.innerTracker.scrollHandler: preventDefaultAction == true
prevents viewer zooming on mousewheel/pinch
2013-11-04 12:41:45 -08:00
Antoine Vandecreme
d70845d7eb Separate fullscreen and fullpage methods (#91)
Fix scroll issue.
Handle fullscreen denial by the browser
2013-11-02 21:01:04 -04:00
Antoine Vandecreme
d853224c15 Add units tests for scroll 2013-11-01 17:37:19 -04:00
Antoine Vandecreme
7375ba9241 Fix scrolling when exiting full-screen mode.
Rename fullpage event to full-page and it's fullpage property to fullPage.
Add pre-full-page event.
2013-10-31 22:19:22 -04:00
Antoine Vandecreme
d4a4276bbc Fix margin bug with legacy fullscreen mode 2013-10-23 10:00:08 -04:00
Mark Salsbery
984dd267b6 originalEvent Pass through to EventSource events 2013-10-15 11:11:08 -07:00
Antoine Vandecreme
f712e15793 Recenter the image after switching fullscreen mode. #62 and #170 2013-10-14 18:01:58 -04:00
Antoine Vandecreme
4cd98a5da9 Check hash in viewer constructor.
Fix #229
Fix #176
2013-10-12 18:30:05 -04:00
iangilman
e006d0e05a Merge pull request #254 from msalsbery/Event-Handler-Signatures
Event Handler Signatures Changed to 'fn(event)' (#251)
2013-10-11 10:57:20 -07:00
Mark Salsbery
d574700b3d Event Handler Signatures Changed to 'fn(event)'
All event handler signatures changed to 'fn(event)'
eventSource property added to the event object passed
Redundant event source properties removed ('button' and 'viewer'
Documentation updated in MouseTracker
changelog.txt updated
2013-10-10 17:00:15 -07:00
Sharpbarb
3078642927 Update viewer.js
Moved call to _updateSequenceButtons inside if ( initialTileSource )
2013-10-10 12:57:02 -07:00
Sharpbarb
4535f47e8d Update viewer.js
trailing whitespace...
2013-10-10 12:35:49 -07:00
Sharpbarb
6b90687ab4 Update viewer.js
description; Move _updateSequenceButtons behind goToPage()
2013-10-10 12:27:49 -07:00
Sharpbarb
a862870883 Update viewer.js
Formatting; descriptions; rename sequenceButtons to _updateSequenceButtons
2013-10-10 12:25:11 -07:00
Sharpbarb
6f79f80fe0 Update viewer.js
trailing white space....
2013-10-09 15:36:21 -07:00
Sharpbarb
0f705d093a Update viewer.js 2013-10-09 15:31:33 -07:00
Sharpbarb
0d8d770327 Update viewer.js 2013-10-09 15:27:43 -07:00
Sharpbarb
2f33e6c666 Update viewer.js 2013-10-08 21:45:26 -07:00
Sharpbarb
c6597806ba Update viewer.js 2013-10-08 17:10:26 -07:00
Sharpbarb
54bcd6ea79 Update viewer.js
Remove the sequence control update and put it into its own function. This way it can be called after a tilesource is loaded.
2013-10-08 17:07:49 -07:00
Sharpbarb
ec71a4416e Update viewer.js 2013-10-08 15:01:28 -07:00
Mark Salsbery
5c37a1f375 Ready event signature fixed for consistency
Signature now handlerMethod(eventSource, eventData)
2013-10-02 13:09:40 -07:00
Mark Salsbery
ec3141a778 Event Names Normalized
Compound event names lower case with hyphen.
Button event names removed "on" and made lower case.
2013-09-30 10:22:06 -07:00
Mark Salsbery
041597998f Event Names Normalized
All event names lower case with no hyphens
2013-09-26 09:50:26 -07:00
iangilman
21aa2dc928 Merge pull request #228 from msalsbery/EventHandler-Rename
Renamed EventHandler to EventSource (#225)
2013-09-25 09:04:04 -07:00
Mark Salsbery
dab182757d Renamed EventHandler to EventSource (#225) 2013-09-24 13:36:13 -07:00
Ian Gilman
6396fe1504 Merge branch 'Original-Events-In-Handlers' of github.com:msalsbery/openseadragon into msalsbery-Original-Events-In-Handlers
Fixed Conflicts:
	changelog.txt
2013-09-24 10:28:46 -07:00
Nelson Hart
6d6cc363b4 Use style attributes when storing the previous elment size instead of the literal size of the element #220 2013-09-12 10:41:51 -03:00
Mark Salsbery
af078f8f19 MouseTracker Original Events in Handlers
Renamed insideElementRelease to insideElementReleased.
2013-09-10 17:31:51 -07:00
Mark Salsbery
13415b36f3 MouseTracker Original Events in Handlers
Misc name changes, indentation/whitespace fixes.
Still TODO: Fix documentation, evaluate presence of key handler in a
mouse tracker, evaluate whether isTouchEvent flag should be in all
eventData objects or not.
2013-09-09 14:27:58 -07:00
Mark Salsbery
2e1f71a824 MouseTracker Original Events in Handlers
Bug fixes.  Event handler methods shouldn't be called directly in
theory...
2013-09-06 12:24:19 -07:00
Mark Salsbery
b3fa8f1184 MouseTracker original events in handlers
Implemented "Expose original event in handlers" (#23) for MouseTracker

Added OpenSeadragon.getElementOffset() method. Element-relative mouse
coordinates should be correct even if the element and/or page is
scrolled (#131)
2013-09-05 17:20:17 -07:00
Mark Salsbery
57ae0656c1 Fixes for issues #198, #201, #202, #203 2013-08-26 16:48:59 -07:00
Mark Salsbery
f8ab315795 Revert "Bad sync"
This reverts commit 70a7e8090e13cc35b93e652d2bcd7f418af26fc1.
2013-08-26 15:48:03 -07:00
Mark Salsbery
04a0197dc7 Fixes for issues #198, #201, #202, and #203 2013-08-26 15:25:57 -07:00
Luke Murray
0c662b8a8d fix: comment updates and add a simple test for viewer.destroy 2013-08-12 16:38:37 +10:00
Luke Murray
68f9d675fc fix: calling viewer.destroy() multiple times throw an error. And a simple destroy to mousetracker 2013-08-08 17:49:24 +10:00
Luke Murray
4ccb141a42 Add a destroy function on the viewer to clean up and remove elements
created by open seadragon. Add removeAllHandlersForAllEvents to clean up all events on destroy. Clear
the onDraw callback on Overlay destroy.
2013-08-07 10:54:20 +10:00
Ian Gilman
967f2e4f32 Changelog for #177; minor doc tweaks 2013-08-02 09:40:55 -07:00
pnorcrss
26938ed10e cleaned up docBlock and tabs in _getSafeElemWidth() 2013-08-01 12:11:33 -05:00
pnorcrss
e47210d0bd refactored _getSafeElemSize() 2013-07-31 14:10:44 -05:00
pnorcrss
cb39fb7e32 fixed _getSafeElemSize() 2013-07-31 14:01:46 -05:00
pnorcrss
bf3dd7c031 fixed _getSafeElemSize() calls 2013-07-31 13:28:38 -05:00
pnorcrss
750eafcd2e added and implemented _getSafeElemSize() 2013-07-31 13:00:16 -05:00
Chris Adams
0ed4703bd3 Viewport messages: add a class to the dialog for easy styling 2013-07-01 18:26:44 -04:00
Chris Adams
1ab6094420 Viewer: make viewport messages private, repeatable
* Marked _showMessage/_hideMessage as private
* Fix DOM manipulation bug: call standard removeNode() method rather
  than proprietary WebKit .remove()
* Change messageDiv to be the outer wrapper to simplify removing the
  entire message container
2013-07-01 13:43:48 -04:00
Chris Adams
b912896158 Viewer.showMessage() hides any previous message 2013-07-01 12:58:22 -04:00
Chris Adams
1f345e4cc5 Viewer: refactor message code into showMessage/hideMessage methods
This avoids the need to deal with classes, and explicitly makes it
reusable for other needs
2013-06-28 15:46:31 -04:00
Chris Adams
7f42dfc032 code style 2013-06-28 15:01:56 -04:00
Chris Adams
7dcf662fdd Viewer: add a basic error message display system
This might be something we want to make configurable for users who want
to completely control how errors are displayed.

This also adds the first use of OpenSeadragon.makeCenteredNode currently
so we might want to clean up that code as well.
2013-06-28 14:32:57 -04:00
Chris Adams
2bf6b13bfe User-visible warning when tile sources fail to load
This is currently using window.alert in lieu of something more sophisticated but it works for indicating 404s or invalid file
contents
2013-06-28 14:11:20 -04:00
iangilman
8fe0ce26b8 Merge pull request #136 from acdha/jshint-cleanup
JSHint tidying
2013-06-26 09:37:08 -07:00
Kevin Ewing
248852c15f Implementing OpenSeadragon.now()
Replacing both `+new Date()` and `new Date().getTime()` with `$.now()`
2013-06-20 13:15:04 -07:00
Chris Adams
9ef6e085c8 viewer.js: update onfullscreenchange handler comment 2013-06-20 15:17:48 -04:00
Chris Adams
de29a34890 viewer.js: remove dead code 2013-06-20 15:12:55 -04:00
Chris Adams
f8c77f65d7 viewer.js: fix typos in variable declarations 2013-06-20 15:12:53 -04:00
Chris Adams
d644acd50b Fix lack of braces on if statements
JavaScript's most popular rack in the grass for maintenance coders…
2013-06-20 15:12:53 -04:00
Chris Adams
643ee211ca Remove unused variables
Mostly unused function arguments but there were also a fair number
of legacy names which are now no longer used.

One question which comes up – mostly in tilesource.js – is whether
there is any value in leaving unused variables for functions which
are intended to be overridden anyway. I'm inclined to say that the
docs + tests need to be sufficient as there's no enforcement that
whatever is in the base implementation will actually be followed by
any of the real functions.
2013-06-20 15:12:53 -04:00
Ian Gilman
8e88f36098 Merge branch 'master' into raf
Fixed Conflicts:
	src/viewer.js
2013-06-19 11:19:54 -07:00