Commit Graph

253 Commits

Author SHA1 Message Date
iangilman
c0a3333663 Merge pull request #387 from msalsbery/Touch-Enter-Event
MouseTracker Touch Fixes - Flick Defaults and Bubbling
2014-04-24 10:32:35 -07:00
iangilman
669925776a Merge pull request #379 from avandecreme/ajax-file
Fix ajax call for file: and ftp: #73
2014-04-24 10:02:44 -07:00
Mark Salsbery
e900b605af Update changelog.txt
Updated changelog.

Misc documentation fixes.
2014-04-22 09:41:29 -07:00
Mark Salsbery
7567a657bd Add Double-Click/Tap Gesture to MouseTracker (#300)
Fix for enhancement #300
Added double-click/tap gesture detection to MouseTracker.with
corresponding dblClickHandler event callback.
Added unit test for double-click detection.
Added Viewer dblClickHandler handling to optionally zoom on
double-click.
2014-04-22 09:23:56 -07:00
Antoine Vandecreme
e7ca7b1e95 Prefer DOMParser over ActiveX when both are availables. 2014-04-21 09:23:17 -04:00
Mark Salsbery
765df51bd3 Stiffened the spring 2014-04-20 21:25:29 -07:00
Mark Salsbery
5860167d65 MouseTracker Touch Fixes - Flick Defaults and Bubbling
Flick gesture settings defaults set to better values.
Removed touch event model bubble cancelling so viewer controls show on
touch contact.
2014-04-20 18:19:32 -07:00
Mark Salsbery
8589ebef0d Fix for IE 11 Browser Detection
Proposed temporary fix until we don't need browser  sniffing anymore.
2014-04-19 12:10:48 -07:00
Antoine Vandecreme
6a24af3743 Add @private to internal methods. 2014-04-18 16:59:47 -04:00
Antoine Vandecreme
116cf7449f Test if activex is available by trying to create one for ie11 compatibility. 2014-04-17 17:20:04 -04:00
Antoine Vandecreme
3b4dca329d Use ActiveX on IE when requesting a file: URL with ajax. 2014-04-17 16:13:26 -04:00
Mark Salsbery
c2e7b376b0 pinchToZoom gesture option added, misc. fixes
changelog update.
pinchToZoom gesture option added.
Event unit tests cleaned up.
2014-04-15 19:19:47 -07:00
Antoine Vandecreme
47ae094675 Fix ajax call for file: and ftp: #73 2014-04-15 12:55:32 -04:00
Mark Salsbery
e8e0f28f5a Merge Upstream Changes 2014-04-15 06:40:46 -07:00
Mark Salsbery
09bfd55add MouseTracker fixes and tests
Separated event-model/device specific event handling code from
event-model/device agnostic event handling code.
Use enter/leave events instead of over/out events.
Updated unit tests for above changes.
Added unit tests for mouse gestures.
Updated changelog for breaking changes and deprecations.
2014-04-14 18:17:18 -07:00
Ian Gilman
5dafa32f5d Changelog for #376 and spelling fix 2014-04-09 09:06:46 -07:00
iangilman
a2a5387a83 Merge pull request #376 from avandecreme/hide-controls
Add showZoomControl, showHomeControl and showFullPageControl options to ...
2014-04-09 09:04:35 -07:00
Antoine Vandecreme
e27df5327f Improve documentation. 2014-04-09 10:18:51 -04:00
Antoine Vandecreme
dbe87d659e Disable CORS by default. 2014-04-07 16:59:48 -04:00
Antoine Vandecreme
16ee82d43b Add showZoomControl, showHomeControl and showFullPageControl options to be able to hide specific controls. See #210
Add missing doc for buttons.
Set the rotate buttons to viewer.rotate(Left/Right)Button for coherence with other buttons.
Update tests.
2014-04-07 14:11:33 -04:00
Mark Salsbery
642c302225 Changelog, documentation, options update 2014-04-03 10:06:12 -07:00
Mark Salsbery
dc48a31412 Exposed gesture settings as options 2014-04-03 08:50:25 -07:00
Mark Salsbery
b8ea87d3f8 MouseTracker Fixes
Fixed mouse capture, should work on IE8 without IE8-specific code.
2014-04-01 18:27:54 -07:00
Mark Salsbery
1475f5865d Multi-Touch MouseTracker Update
Ready to pull request, merging upstream changes and running tests.
2014-03-29 17:02:24 -07:00
Mark Salsbery
3c0ca21568 Merge remote-tracking branch 'origin/master' into Pointer-Event-Model 2014-03-21 11:54:28 -07:00
iangilman
184ba0dbea Merge pull request #364 from sul-dlss/cors-policy
add crossOriginPolicy drawer configuration to enable or disable CORS image requests
2014-03-21 09:18:41 -07:00
Chris Beer
3d028716fe add crossOriginPolicy drawer configuration to enable or disable CORS image requests 2014-03-20 10:30:46 -07:00
Antoine Vandecreme
ba10c392a1 Merge branch 'master' into layers
Conflicts:
	src/drawer.js
	src/viewer.js
	test/test.html
2014-03-19 16:24:48 -04:00
Antoine Vandecreme
c9df575347 Merge from master 2014-03-18 13:17:43 -04:00
Antoine Vandecreme
2473c809b2 Fix mistakes in doc. 2014-03-18 13:05:21 -04:00
Antoine Vandecreme
ecf10f5911 Fix test messages, add doc and factorize overlay object creation 2014-03-15 11:20:33 -04:00
Mark Salsbery
c7ea247baa Initial commit - Multi-touch, pointer event MouseTracker 2014-03-10 11:49:51 -07:00
Grant Echols
e368bd50aa Added tests for rotate control on/off setting. 2014-03-03 14:45:30 -07:00
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
Antoine Vandecreme
d43b6d86b5 Add layersAspectRatioEpsilon check 2014-01-30 16:43:35 -05:00
Antoine Vandecreme
63af1e7517 Uncomment version 2014-01-05 19:30:52 -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
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
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
Mark Salsbery
7424bd328c Documentation Update 2013-11-29 12:10:15 -08:00
Mark Salsbery
bb836768f8 Merged upstream changes, fixed conflicts 2013-11-26 10:21:59 -08:00
iangilman
ff32549c99 Merge pull request #292 from msalsbery/versioning
Added an OpenSeadragon.version property
2013-11-26 09:45:28 -08:00
Mark Salsbery
d8006e96c9 autoSize doc fixups 2013-11-25 12:10:19 -08:00
Mark Salsbery
12596b2ee5 Add jshint ignore directives to version 2013-11-25 12:02:43 -08:00
Mark Salsbery
f34fe1b6e5 Added @since doclet tag to OpenSeadragon.version 2013-11-25 11:51:36 -08:00
Mark Salsbery
2684f0ab3a Added radix to parseInt()s 2013-11-25 10:44:34 -08:00
Mark Salsbery
7cb2f7cfd5 Updated Doclets
Botton fixes :)
2013-11-25 10:38:50 -08:00
Mark Salsbery
952fcca46e Renamed noResizePolling to autoResize 2013-11-25 10:27:03 -08:00
Mark Salsbery
f0d6a5872f OpenSeadragon.version property change
grunt property name changed to be more OpenSeadragon-specific
2013-11-25 09:30:49 -08:00
Mark Salsbery
2a1b797767 Modified OpenSeadragon.version property
Let grunt do more of the work!
2013-11-25 09:19:50 -08:00
Mark Salsbery
930e8c4dfd Updated Doclets 2013-11-25 08:48:44 -08:00
Mark Salsbery
cb765afea2 Added an OpenSeadragon.version property 2013-11-23 10:39:37 -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
3e1e5321c1 Updated doclets
openseadragon.js doc fixups
2013-11-18 10:30:48 -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
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
Mark Salsbery
7b0ba31487 Cleaned up some messy javascript 2013-11-11 13:33:27 -08:00
Antoine Vandecreme
fafc985ada Merge branch 'master' of https://github.com/openseadragon/openseadragon into fullscreen 2013-11-08 13:40:04 -05:00
Antoine Vandecreme
d853224c15 Add units tests for scroll 2013-11-01 17:37:19 -04:00
Mark Salsbery
085c7f2ecb Use canvas when available - Fixes
Updated documentation doclet.
Enclosed detection code in a function.
Eliminated the Drawer USE_CANVAS global and replaced it with a
Drawer.useCanvas instance variable.
2013-11-01 13:02:28 -07:00
Mark Salsbery
85fcf0ec11 Merge remote-tracking branch 'origin/master' into canvas-detect
Conflicts:
	src/openseadragon.js
2013-11-01 12:22:48 -07:00
Mark Salsbery
e209846ac1 Use canvas whenever possible (#191)
Drawer uses an HTML5 canvas element if it's available.

Viewer.useCanvas can be used to override (default is true).
2013-11-01 10:19:47 -07: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
Mark Salsbery
755c4752c0 'wheel' Event Support Fixes
Whitespace, cancel handling
2013-10-23 13:55:52 -07:00
Mark Salsbery
e76c9e65ab Added 'wheel' Event Support
Also improved OpenSeadragon.addEvent()/OpenSeadragon.removeEvent()
2013-10-23 12:58:36 -07:00
Sharpbarb
7aac7ffd9c Update openseadragon.js
Align initialPage value
2013-10-10 12:05:05 -07:00
Sharpbarb
81664251cc Update openseadragon.js
Missing colon
2013-10-09 15:22:36 -07:00
Sharpbarb
fc972df52e Update openseadragon.js 2013-10-08 14:53:08 -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
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
56f5b9fb74 MouseTracker Original Events in handlers
Comment & Formatting fixes
2013-09-06 10:43:39 -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
Chris Adams
1b6cf93474 Graceful handling of IE cross-domain AJAX failures
Prior to IE 10, XmlHttpRequest cannot be used for requests to a
different origin even when the target URL's CORS headers would allow
access (see http://caniuse.com/#feat=cors).

This is easy to miss in testing if you use a single origin during
testing but have a CDN or domain-sharding for production and will break
the error handler function passed to makeAjaxRequest() if that code
assumes it can access properties on the request object.

This adds a more informative pointer to Microsoft's documentation when a
security exception is raised.
2013-08-29 16:13:18 -04:00
Robert Hickman
54e8d8c43f Fixes made after first code review of rotation. 2013-08-15 16:15:20 -06:00
Robert Hickman
b9583c43ac Working on rotating images.
So far only 90 degree rotation is supported.
Only the image is currently being rotated.
Overlays, debugger, and the navigator still need to be updated to support rotation.
2013-08-13 16:32:04 -06:00
Ian Gilman
7391561dcd OpenSeadragon.now() returned undefined the first time; fixed 2013-07-10 09:31:22 -07:00
Chris Adams
9de45ba281 Refactor OpenSeadragon.makeCenteredNode
* Use CSS display tables for vertical centering (tested back to IE8)
* Use the DOM instead of string concatenation
* Remove redundant styles ($.makeNeutralElement sets the same values
  for margin, padding & border)
* Return the outer wrapper element to ease DOM addition & removal
2013-06-28 15:52:48 -04:00
Chris Adams
7f42dfc032 code style 2013-06-28 15:01:56 -04:00
Chris Adams
fb7c91acd2 code style 2013-06-28 14:54:44 -04:00
Chris Adams
464428cef7 makeAjaxRequest: don't set request to null
Setting onreadystatechange can avoid the possibility of it somehow being
called twice but there's no point in nulling the request right before we
let the GC collect it.
2013-06-28 14:00:02 -04:00
Chris Adams
db38b71dd9 makeAjaxRequest: throw error for missing callback 2013-06-27 16:03:43 -04:00
Chris Adams
1c6a57c710 makeAjaxRequest: log all errors, test callback
* All AJAX errors will log to the console
* The onError callback will only be called if defined
2013-06-27 16:03:41 -04:00
Chris Adams
5eccdfee98 Better match project style 2013-06-27 15:58:09 -04:00
Chris Adams
496b7d757b Simplify OpenSeadragon.makeAjaxRequest
* Since async is always true – and browsers are starting to deprecate
  synchronous XHR – we were able to prune considerable amount of code
* Add an error callback to match the existing success callback
2013-06-27 15:58:09 -04:00
iangilman
8fe0ce26b8 Merge pull request #136 from acdha/jshint-cleanup
JSHint tidying
2013-06-26 09:37:08 -07:00
Chris Adams
f2cba16a8b Safe cleanup in makeAjaxRequest error handler
Previously `request.onreadystatechange` was assigned an empty function
on success but null on failures, which breaks in IE (see
http://jsbin.com/ezozax/6/).

This patch simply mimics the success behaviour in the cleanup function

Closes #143
2013-06-25 14:13:45 -04:00
Chris Adams
c2107fcb22 Declare _processDZIError directly on OpenSeadragon 2013-06-21 16:37:31 -04:00
Kevin Ewing
8896c2278d Fixed mistake 2013-06-20 13:31:04 -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
adc4147304 Expose semi-private processDZIError for use by DziTileSource
This previously wasn't in scope outside of the main OpenSeadragon
closure. Now it's exposed with an underscore prefix to encourage people
not to think of it as a public interface.
2013-06-20 15:12:54 -04:00