Commit Graph

618 Commits

Author SHA1 Message Date
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
Benjamin Gilbert
fa1a8b2dde Fix Drawer event emission
Drawer tries to emit events on the parent Viewer object but doesn't have
a reference to it.  Add a reference when constructing the Drawer.
2013-05-16 02:49:29 -04:00
Ian Gilman
c78f3ef743 Fixed mislabeled JSDoc comment for OpenSeadragon.Viewer.prototype.open 2013-05-14 10:29:15 -07:00
iangilman
0b366d7b42 Merge pull request #89 from bgilbert/license
Revert to original New BSD license; clean up license declarations
2013-05-14 09:15:00 -07:00
Benjamin Gilbert
fcc119bb84 Add file-specific descriptions to file headers 2013-05-14 00:00:24 -04:00
Benjamin Gilbert
17a6ee15b1 Include 2010 in "OpenSeadragon contributors" copyright dates
This Git repository starts in 2011, but the CodePlex Mercurial repository
has commits from 2010.
2013-05-13 23:32:09 -04:00
Benjamin Gilbert
99d6ff80b6 Add fullpage class to viewer element when in fullpage mode
Closes #61.
2013-05-12 23:02:18 -04:00
Benjamin Gilbert
522bcbf058 Add addClass()/removeClass() utility functions 2013-05-12 22:53:41 -04:00
Benjamin Gilbert
2f2eba8df2 Add "OpenSeadragon contributors" copyright statement
The license text will be provided on the website, etc., and it seems
strange to list no copyright date newer than the original CodePlex
copyright from the AJAX Control Toolkit.  Add a blanket copyright
statement for contributions to the OpenSeadragon project, stating that
copyright is held by the authors of each contribution.  This blanket
statement is not intended to preclude individual contributors from
attaching their own copyright statements to their modifications.
2013-05-12 17:12:26 -04:00
Benjamin Gilbert
be20645876 Add BSD license block and CodePlex copyright to each source file
See discussion in #10.
2013-05-10 00:16:55 -04:00
Ian Gilman
bd0b0972b3 Fixed bad class names in docs 2013-05-02 09:57:23 -07:00
Ian Gilman
1c6deafe8b Added viewport property to Viewer documentation 2013-05-02 09:57:03 -07:00
Benjamin Gilbert
3652c7066c Re-add viewer.source check in updateMulti()
It should be redundant in normal operation, but may prevent a timer leak
in case of a bug in the open/close path.
2013-04-29 13:17:37 -04:00
Benjamin Gilbert
8cb2714dae Fix timer leak after multiple Viewer.open() calls, take 2
Track the request ID of the outstanding animation frame and cancel it
on Viewer.close().

Fixes #76.
2013-04-26 22:32:51 -04:00
Benjamin Gilbert
23c20e3d5a Revert "Fix timer leak after multiple Viewer.open() calls"
This should be done with cancelAnimationFrame() instead.

This reverts commit 47aba60940.
2013-04-26 21:48:48 -04:00
Benjamin Gilbert
47aba60940 Fix timer leak after multiple Viewer.open() calls
Keep a counter of Viewer.close() calls in private state and a copy in
the timer's closure, and stop the timer when they no longer match.

Fixes #76.
2013-04-25 00:37:36 -04:00
Benjamin Gilbert
b315b148c2 Drop remains of code to show "Loading..." message
It calls a method that no longer exists, but only when an impossible
condition is true.
2013-04-24 23:57:35 -04:00
Benjamin Gilbert
f958e66f05 Fix typo in preserveViewport handling 2013-04-23 23:58:58 -04:00
houseofyin
bbf0fc4302 Updated to address feedbac from @iangilman 2013-04-04 22:30:59 -04:00
thatcher
9aecfddcbf refs #54 - added missing support for tilesource configuration as xml string or json string via Viewer.open 2013-03-26 14:35:43 -04:00
thatcher
266f33094c addresses #54, dont use openDZI, use open. openDZI now calls open. all the details of tileHost were already handled in DZITileSource.configure. $.createFromDZI is fully deprecated and will throw an error. 2013-03-26 09:02:34 -04:00
houseofyin
7187bca4e7 Merge branch 'master' of github.com:openseadragon/openseadragon into issue37-navigator 2013-03-18 14:38:10 -04:00
houseofyin
80ff8f908a Another checkpoint, added keyboard navigation to the main viewer 2013-03-16 16:35:33 -04:00
houseofyin
3b2bde2940 Initial pass at making the navigator float 2013-03-15 10:59:47 -04:00
Chris Thatcher
c164e8fac5 Merge pull request #24 from openseadragon/fullscreen
Fullscreen native javascript support now available. will increment build id and publish.  Thanks ventero and iangilman for your reviews.
2013-03-07 20:57:11 -08:00
thatcher
5203cc14b0 removing extra whitespace per pull request review 2013-03-07 23:50:27 -05:00
thatcher
6285a779f3 cleaning up event names, reducing demo cases to just addHandler interface, normalizing event data to express more idiomatic javascript pattern of passing object instead of invoking callback with positional parameters 2013-03-06 17:34:12 -05:00
thatcher
5b6a2f5873 basic implementation of issue #2 2013-02-28 15:55:24 -05:00
thatcher
5dd8798f7f addressing venturo's review notes 2013-02-28 15:34:44 -05:00
thatcher
a4477cd765 better encapsulation of native fullscreen api 2013-02-28 15:34:44 -05:00
thatcher
d6cdd4028c removing unneccessary if 2013-02-28 15:34:43 -05:00
thatcher
d4b02e1aba managed to get a more complete, though hacky, implementation of #3. the big sticky point was how firefox and safari beahved when switching between applications when already in full screen mode. because we didnt have an event listener for fullscreenchange, and because those browsers released full screen on application or window change (think alt+tab or cmd+tab), you would come back to a empty document. more work left here to make this worth merging into master 2013-02-28 15:34:43 -05:00
thatcher
f602a682f7 basic implementation of enhancement request from issue #3 2013-02-28 15:34:43 -05:00
Ian Gilman
9569ff1215 Removed JS Hint globals comment, since it's now in grunt 2013-02-14 12:04:47 -08:00
thatcher
fda24f343a added dozens of event hooks based on input from macreery's branch 2013-02-13 19:44:23 -05:00
thatcher
e851de80b8 added class names to viewer canvas and container per macreery's branch 2013-02-13 16:50:23 -05:00
thatcher
a0fd2b3324 added inital support for moving to a nodejs build with grunt. build only includes concant and lint. fixed all lint warning where appropriate and added lint inline ignores where appropriate. when build script is complete we will start transition to new repo. also currently researching how to prune unfriendly portion of history that make repo large due to large binary files in web app. I like git well enough but using branches for web apps unrelated to code base has made me weary once again of social web fads that force convention without long term consideration of cost. 2013-02-12 22:40:08 -05:00
thatcher
855e753225 some overlays work that had be be completed before finishing tile layers. added brief example of how to how host tiles of zoom.it 2013-02-10 22:53:51 -05:00
thatcher
576c00b37d adding support for several new tile sources including iiif, osm and tms (osm and tms are thanks to seajax-utils project) 2013-02-08 09:21:28 -05:00
thatcher
792165fdf9 accidently left alwaysBlend global defaul set to true during development. Looking forward to our new org based repo where I'll be constrained more than my current wild-west repo, sorry. corrections also to pan constrainment details which came to the forefront while working on collections zoom and panconstraints. Added new ui feature page to demo basics. 2013-02-05 21:26:40 -05:00
Ian Gilman
527682d5a6 Merge branch 'master' into lint
Fixed Conflicts:
	openseadragon.js
	src/drawer.js
2013-01-31 09:26:55 -08:00
thatcher
063bce8171 fixing some work in progress for collections visualizations 2013-01-30 20:23:45 -05:00
thatcher
f6ee93b70c improving custom tile source examples are work for layers begins being supported 2013-01-30 16:51:37 -05:00
Ian Gilman
7a55b6cf77 JS Hint work (mostly semicolons at this point) 2013-01-29 09:32:58 -08:00
thatcher
15c35c93fd 0.9.90 adds support for a debug mode and real heterogeneous collection visualizations. straight html div/image support for both features is in process but incomplete 2013-01-23 23:00:11 -05:00
thatcher
8fab8b5051 better lazy loading for image reference strip and more options for managing additional html content that is available in full page mode and normal mode 2012-10-12 23:40:59 -04:00
thatcher
1c200aca9c finished lazy loading implementation of image reference strip, really helps initial render time with large image sets 2012-09-05 10:52:57 -04:00
thatcher
1d1cbc6f56 custom tile source should pass whole object to constructor to allow idiomatic pattern of extension of tile source with arbitrary properties 2012-08-29 20:53:42 -04:00
thatcher
104a814af0 adding prototype image reference strip, fixing IE error related to checking for instanceof XMLDocument, fixing aspect ratio error when image is wider than tall 2012-08-29 14:46:34 -04:00
thatcher
c41f6a464e Substantial rework of TileSource and Viewer.openTileSource to allow simpler introspect of the intended TileSource implementation based on the configuration object details. Also major www updates to simplify and unify the informational site by building it via simple templates. Improved examples and documentation. Added support for xml, json, jsonp, and inline configuration of supported tile sources. 2012-06-05 07:52:00 -04:00
thatcher
e595ad2381 Adding ability to bind to buttons to custom interface elements, also use screen size detection to avoid using canvas on small devices since is more cpu intensive. Added version check for IE specific implementations to avoid using them for IE 9 and made most IE implementation differences a one-time process instead of an if/else which is evaulated on every call to the function. 2012-04-10 17:02:24 -04:00
thatcher
05f3c1d811 several bug fixes and enhancements. legacy tile source issue discovered and corrected for images with width greater than height. adding basic support for sequenced tile sources including previous and next buttons. added mouse drag and scroll interactions for viewport navigator. 2012-04-03 03:08:27 -04:00
thatcher
75c3e02b9e missing reference to closure level object VIEWERS, blame me, editor issue 2012-03-20 02:44:31 -04:00
thatcher
6443d57e09 corrected major performance issue discovered in navigator becuase minPixelRatio was set to Zero. This caused images to be loaded ad infinitum in the navigator, oops. 2012-03-19 19:03:58 -04:00
thatcher
ddaddb7f42 keyboard accessibile buttons finally 2012-03-16 11:36:28 -04:00
thatcher
4ddab463e6 error in restore from fullpagemode when toolbar option is not used. sorry, should have noticed... 2012-03-09 21:44:14 -05:00
thatcher
4b81b64fc6 Added support for specifying arbitrary element (by id) to serve as a docking 'toolbar' for navigation buttons. Added example. Also avoids loading nav images if navigation is not enabled. 0.9.25 2012-03-09 11:04:28 -05:00
thatcher
8883e358de 0.9.21 adds support for optional viewport navigator feature. see new example page 2012-03-06 22:20:00 -05:00
thatcher
3f6e8abbfc Significant improvments to API documentation. Allow what was an object literal OpenSeadragon to be used a function which provides a simplified interface for constructing a Viewer and TileSource by simple, documented configuration settings. Major performance improvements for touch on iPhone, hopefully all mobile devices. 2012-03-01 08:38:15 -05:00
thatcher
32c950e661 more normalizing of where configurable options are located. 2012-02-28 10:01:45 -05:00
thatcher
c610a9239b Several issues with button and buttongroup states likely a result of the refactoring were flushed out and corrected. 2012-02-28 08:07:56 -05:00
thatcher
8dc4c63f64 cleaning up config related strategies. still not happy with current implementation, though now only Viewer and Viewport directly reference a .config 2012-02-27 18:29:00 -05:00
thatcher
e73ed421e4 prefixUrl configuration option was mangled as prefixURL in OpenSeadragon.Button leading to general inconsistency. 2012-02-27 16:50:22 -05:00
thatcher
26fb61cc65 Expanding support for improved simple configuration options. Allows OpenSeadragon Viewer to be more flexibly created without direct use of API, rather focuses more on inversion of control by introspection of options passed to OpenSeadragon constructor. 2012-02-27 06:56:29 -05:00
thatcher
3619ff7930 Thanks to josh1093 @ github for this one. see ticket https://github.com/thatcher/openseadragon/issues/1 2012-02-22 23:43:00 -05:00
thatcher
5a4e19dc1f config option urlBase was never used. Connected it to image buttons so entire button image path didnt need to be configured. See example on http://thatcher.github.com/openseadragon/ to see how this simplified setup. 2012-02-18 13:13:05 -05:00
thatcher
05b8cb82fd finished support for touch events, works great on the ipad, a little slow on iphone (I think we can scale drag and zoom better based on viewport size). Awesome 2012-02-09 22:16:09 -05:00
thatcher
1739294700 Cleaned up more of MouseTracker making properties intended to be private, private, and similarly with methods. saved documentation on meaning of private properties and methods where it was already done. MouseTracker api is proably clean enough to try to add touch screen event support now. 2012-02-02 19:12:45 -05:00
thatcher
5cba11c91c replaced all references of elmt with element ( or Elmt with Element ) 2012-01-31 21:01:37 -05:00
thatcher
2410b01943 finsihed removing psuedo private methods from Drawer and added many jsdoc strings, labeled 0.8.26 2012-01-31 15:59:09 -05:00
thatcher
012255d622 added jsdoc some files to project, added 'doc' task to build, started to annotate code with docs 2012-01-25 14:14:02 -05:00
thatcher
0b09cc8859 found some variables leaked globally in viewer.js - continued very minor formatting clean up in preperation of adding docs 2012-01-24 08:03:50 -05:00
thatcher
a8730a9f00 mostly superficial formating. removing $.Strings and putting it directly in $. more clean up of the Drawer update related functions 2012-01-23 22:48:45 -05:00
thatcher
d38bc75180 moved all functions in OpenSeadragon.Utils to OpenSeadragon object literal to remove 'utility' anti-pattern. removed src/utils.js from build and deleted physical file. added important TODO notes to avoid overhead from browser vendor/version checks in functions, defining them once instead. incremented build id to 0.8.18 2012-01-17 18:30:41 -05:00
thatcher
dc841a6294 commented out unreported profiling code. removed psuedo private properties and accessors of Profiler preferring direct property access. will eventuall reconnect profiler via AOP and include 'profile' option in Viewer which is false by default 2011-12-29 17:14:42 -05:00
thatcher
d145c129a0 removed null method Drawer.prototype.idle 2011-12-27 18:20:45 -05:00
thatcher
e591acfadb removed Job abstraction since it's constructor was only called in one place internally and the resulting object was private. removed file and reference in build. 2011-12-27 18:01:20 -05:00
thatcher
103c545beb finally managed to remove final psuedo-private method _multiUpdate from Viewer, moving it into private closure scope. 2011-12-22 20:47:21 -05:00
thatcher
4d4016dbea moved psuedo private method _updateOnce of Viewer in closure scoped private function 2011-12-22 20:36:17 -05:00
thatcher
44a997b03b removed NavControl abstraction since it is only applied in Viewer. Made all psuedo-private _methods closure private functions which still use $.delegate ( $.delegate is a pattern I still dislike and eventually hope to remove if possible ). 2011-12-22 20:08:06 -05:00
thatcher
acfd3d0280 removed more psuedo-private methods and properties in favor of direct accessors or closure private methods. moved raiseEvent to EventHandler interface 2011-12-16 18:29:16 -05:00
thatcher
7d4ffaa769 refactored EventHandlerList to just EventHandler and am prefering a mix-in on the prototype to avoid excess indirection via psuedo-private properties. 2011-12-14 18:22:02 -05:00
thatcher
7cac08a2f4 found local variable navControl that should have been a property of Viewer. removed getNavControl accessor in favor of direct property access 2011-12-13 07:24:34 -05:00
thatcher
3e39bccbbe simplified beforeOpen, open, close in Viewer 2011-12-12 22:40:02 -05:00
thatcher
760d89a1b1 found reference to this._innerTracker so made actually put innerTrack as Viewer property in constructor. it was just a local variable. made _innerTracker use innerTrack since it isnt really private. 2011-12-12 17:40:49 -05:00
thatcher
d4740545c5 moved examples folder to gh-pages branch. fixed some refactor bugs that affected fullpage toggle. added copy to folder spcific in build.properties as WWW so the distributable openseadragon.js can be copied to gh-pages branch running locally. unearthed the ability to make controls fade (which apparently they were supposed to do by default) 2011-12-12 17:22:01 -05:00
thatcher
5dd00910f8 this is a weird one, enjoy... duplicate method and implementations 2011-12-07 21:41:07 -05:00
thatcher
1726a878c1 moving many psuedo private methods to actual closure private methods. moving many psuedo private properties and public accessors to simple public properties. see changeset for details. 2011-12-07 21:10:13 -05:00
thatcher
193ed95435 modified Viewer constructor to accept idiomatic options argument while still supporting backward compatible positional args. documented positional args and options arg. Remove Config function allowing all configuration to occur via Viewer options (which is the only place Config was called directly). removed several pointless get_x set_x function in place of direct property access. 2011-12-06 20:26:06 -05:00
thatcher
916ada5f02 Added simple ant build. Broke main file into composite parts in src directory. Concatenated release is still included in the project as a release artifact. 2011-12-05 22:50:25 -05:00