Commit Graph

239 Commits

Author SHA1 Message Date
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
Chris Adams
9f6f164d9f Remove all whitespace
The results of running this command::

    find . -name \*.js -print0 | xargs -0 perl -p -i -e "s|[ \t]+$||"

(Split from #136)
2013-06-19 13:33:27 -04:00
Ian Gilman
beadcdcc89 Merge branch 'master' into raf 2013-06-19 10:15:53 -07:00
Ian Gilman
dbc8a59ae8 Cleaned out dead code in scheduleUpdate and updateMulti
… as pointed out by @ventero
2013-06-19 09:58:09 -07:00
Robert Hickman
ade93ffc5e Only disable the previous button if the navPrevNextWrap option is not set. 2013-06-18 15:19:09 -06:00
Ian Gilman
713fad4224 Exposing _updateRequestId as a semi-private member for testing purposes 2013-06-18 11:06:43 -07:00
Ian Gilman
e99c126a85 Navigator now updates properly when reopening a viewer
Before, if you closed a viewer and then opened a new tilesource into
it, the navigator would still have the old tilesource. This patch fixes
that.
2013-06-17 11:51:02 -07:00
Ian Gilman
c6a38dd802 Now closing the navigator when the viewer closes
At the very least this was causing the navigator to continue to request
and process frames even after its viewer had been closed.
2013-06-17 11:31:41 -07:00
Ian Gilman
4224960252 Fixed another potential timer leak when closing a viewer
If the viewer was closed in response to an event raised during the
update function, the timer would have continued running.
2013-06-17 11:30:31 -07:00
houseofyin
3e24be12e0 Merge branch 'master' of github.com:openseadragon/openseadragon into issue37-navigator 2013-06-01 14:12:04 -04:00
houseofyin
e36f7ed414 Trying to remove the selector element 2013-06-01 14:11:56 -04:00
Ian Gilman
9c60b28ec3 Merge branch 'master' of github.com:robhobbes/openseadragon into robhobbes-master
Fixed Conflicts:
	changelog.txt
2013-05-31 09:01:14 -07:00
Ventero
b66dd7bed0 Don't load the tile source again when creating a navigator.
Previously, when showNavigator was set to true when creating the
viewer, the navigator would unnecessarily load and parse the tile
source, even though a fully parsed object already exists.
2013-05-30 02:53:53 +02:00
Robert Hickman
b5d977d593 Adding an option that allows the previous and next buttons to wrap around past the end or beginning images. 2013-05-29 17:10:45 -06:00
Ian Gilman
b7eb78a57a Additional doc comments for setControlsEnabled() 2013-05-28 13:54:13 -07:00
David Steinbrunner
7330b4a726 Correction to setControlsEnabled function name in comments 2013-05-28 17:36:09 -03:00
iangilman
da86ca2e38 Merge pull request #46 from houseofyin/issue37-navigator
Issue37 navigator
2013-05-20 09:38:49 -07:00
houseofyin
bb4a8a0b4f Bringing back in sync with the latest baseline 2013-05-17 22:29:08 -04:00