# HG changeset patch # User robcast # Date 1353088471 -3600 # Node ID 2df84b3a9ad58577a4c2be3d6a33736f5b11f6cb # Parent 95ca45086d001ba7e709cb75ae83c614eadfada6 uri of annotated page better configurable. diff -r 95ca45086d00 -r 2df84b3a9ad5 webapp/src/main/webapp/jquery/jquery.digilib.annotator.js --- a/webapp/src/main/webapp/jquery/jquery.digilib.annotator.js Fri Nov 16 16:27:23 2012 +0100 +++ b/webapp/src/main/webapp/jquery/jquery.digilib.annotator.js Fri Nov 16 18:54:31 2012 +0100 @@ -55,7 +55,7 @@ 'annotationUser' : 'anonymous', // list of Annotator plugins 'annotatorPlugins' : ['Auth', 'Permissions', 'Store', 'DigilibIntegrator'], - // Annotator plugin settings (some values provided in handleSetup) + // Annotator plugin settings (some values provided by handleSetup) 'annotatorPluginSettings' : { 'Auth' : { //token : data.annotationToken @@ -85,10 +85,12 @@ 'Store' : { //prefix : data.settings.annotationServerUrl, annotationData: { - //'uri': getAnnotationPageUrl() + // if uri is a function it will be replaced by the result of fn(data) + 'uri': getAnnotationPageUrl }, loadFromSearch: { - //'uri': getAnnotationPageUrl() + // if uri is a function it will be replaced by the result of fn(data) + 'uri': getAnnotationPageUrl } } } @@ -453,13 +455,7 @@ 'user' : settings.annotationUser }, 'Store' : { - 'prefix' : settings.annotationServerUrl, - 'annotationData' : { - 'uri': uri - }, - 'loadFromSearch' : { - 'uri': uri - } + 'prefix' : settings.annotationServerUrl }, 'DigilibIntegrator' : { 'hooks' : { @@ -474,6 +470,19 @@ // add plugins $.each(settings.annotatorPlugins, function (idx, name) { var params = pluginParams[name]; + // fix uri in store params + if (name === "Store") { + if (typeof params.annotationData.uri === 'function') { + params.annotationData.uri = params.annotationData.uri(data); + } else if (params.annotationData.uri == null) { + delete params.annotationData.uri; + } + if (typeof params.loadFromSearch.uri === 'function') { + params.loadFromSearch.uri = params.loadFromSearch.uri(data); + } else if (params.loadFromSearch.uri == null) { + delete params.loadFromSearch.uri; + } + } console.debug("plugin:", name, params); annotator.addPlugin(name, params); });