# HG changeset patch
# User robcast
# Date 1447166555 -3600
# Node ID 270ffb3284a070128f7d159e0221289c698e0108
# Parent 75ec39abcbba2d5d6e3e12fc43c8a829e7dd18d7# Parent c4d32640c1bebd2fb8b965ee97e745f9601f255e
Merge from default c4d32640c1bebd2fb8b965ee97e745f9601f255e
diff -r 75ec39abcbba -r 270ffb3284a0 common/pom.xml
--- a/common/pom.xml Tue Oct 27 11:21:32 2015 +0100
+++ b/common/pom.xml Tue Nov 10 15:42:35 2015 +0100
@@ -15,21 +15,6 @@
http://digilib.sourceforge.net
jar
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 1.7
- 1.7
-
-
-
-
-
-
imageio-jai
@@ -49,13 +34,11 @@
jar
compile
-
diff -r 75ec39abcbba -r 270ffb3284a0 common/src/main/java/digilib/conf/DigilibConfiguration.java
--- a/common/src/main/java/digilib/conf/DigilibConfiguration.java Tue Oct 27 11:21:32 2015 +0100
+++ b/common/src/main/java/digilib/conf/DigilibConfiguration.java Tue Nov 10 15:42:35 2015 +0100
@@ -57,7 +57,7 @@
/** digilib version */
public static String getClassVersion() {
- return "2.3.3";
+ return "2.3.4a";
}
/* non-static getVersion for Java inheritance */
diff -r 75ec39abcbba -r 270ffb3284a0 common/src/main/java/digilib/conf/DigilibRequest.java
--- a/common/src/main/java/digilib/conf/DigilibRequest.java Tue Oct 27 11:21:32 2015 +0100
+++ b/common/src/main/java/digilib/conf/DigilibRequest.java Tue Nov 10 15:42:35 2015 +0100
@@ -463,8 +463,8 @@
float h = Float.parseFloat(parms[3]);
setValue("wh", h / 100f);
} catch (Exception e) {
- errorMessage = "Error parsing range parameter in IIIF path!";
- logger.error(errorMessage, e);
+ errorMessage = "Error parsing range parameter in IIIF path! ";
+ logger.error(errorMessage+e);
return false;
}
} else {
@@ -503,8 +503,8 @@
options.setOption("ascale");
setValue("scale", pct / 100);
} catch (NumberFormatException e) {
- errorMessage = "Error parsing size parameter in IIIF path!";
- logger.error(errorMessage, e);
+ errorMessage = "Error parsing size parameter in IIIF path! ";
+ logger.error(errorMessage+e);
return false;
}
} else {
@@ -530,8 +530,8 @@
setValueFromString("dh", parms[1]);
}
} catch (Exception e) {
- errorMessage = "Error parsing size parameter in IIIF path!";
- logger.error(errorMessage, e);
+ errorMessage = "Error parsing size parameter in IIIF path! ";
+ logger.error(errorMessage+e);
return false;
}
}
@@ -550,8 +550,8 @@
float rot = Float.parseFloat(rotation);
setValue("rot", rot);
} catch (NumberFormatException e) {
- errorMessage = "Error parsing rotation parameter in IIIF path!";
- logger.error(errorMessage, e);
+ errorMessage = "Error parsing rotation parameter in IIIF path! ";
+ logger.error(errorMessage+e);
return false;
}
}
diff -r 75ec39abcbba -r 270ffb3284a0 common/src/main/java/digilib/image/ImageJobDescription.java
--- a/common/src/main/java/digilib/image/ImageJobDescription.java Tue Oct 27 11:21:32 2015 +0100
+++ b/common/src/main/java/digilib/image/ImageJobDescription.java Tue Nov 10 15:42:35 2015 +0100
@@ -141,6 +141,7 @@
*/
public static ImageJobDescription getInstance(DigilibRequest dlReq, DigilibConfiguration dlcfg) {
ImageJobDescription newMap = new ImageJobDescription(dlcfg);
+ newMap.initParams();
// add all params to this map
newMap.params.putAll(dlReq.getParams());
newMap.initOptions();
@@ -159,6 +160,7 @@
*/
public static ImageJobDescription getInstance(ParameterMap pm, DigilibConfiguration dlcfg) {
ImageJobDescription newMap = new ImageJobDescription(dlcfg);
+ newMap.initParams();
// add all params to this map
newMap.params.putAll(pm.getParams());
newMap.initOptions();
@@ -585,6 +587,9 @@
ImageSet fileset = getImageSet();
ImageInput hiresFile = fileset.getBiggest();
hiresSize = hiresFile.getSize();
+ if (hiresSize == null) {
+ throw new FileOpException("Can't get size from hires image file!");
+ }
}
return hiresSize;
}
@@ -793,7 +798,9 @@
public Rectangle2D getOuterImgArea() throws IOException, ImageOpException {
if (outerImgArea == null) {
// calculate scale parameters
- prepareScaleParams();
+ if (imgArea == null) {
+ prepareScaleParams();
+ }
// start with imgArea
outerImgArea = imgArea;
diff -r 75ec39abcbba -r 270ffb3284a0 common/src/main/java/digilib/image/ImageLoaderDocuImage.java
--- a/common/src/main/java/digilib/image/ImageLoaderDocuImage.java Tue Oct 27 11:21:32 2015 +0100
+++ b/common/src/main/java/digilib/image/ImageLoaderDocuImage.java Tue Nov 10 15:42:35 2015 +0100
@@ -274,7 +274,7 @@
return input;
} catch (FileOpException e) {
// maybe just our class doesn't know what to do
- logger.error("ImageLoaderDocuimage unable to identify:", e);
+ logger.error("ImageLoaderDocuimage unable to identify: "+e);
return null;
} finally {
if (!reuseReader && reader != null) {
@@ -481,8 +481,22 @@
} catch (IOException e) {
logger.error("Error writing image:", e);
throw new FileOpException("Error writing image!", e);
+ } finally {
+ if (writer != null) {
+ writer.dispose();
+ }
+ if (imgout != null) {
+ /*
+ * ImageOutputStream likes to keep ServletOutputStream and close it when disposed.
+ * Thanks to Tom Van Wietmarschen's mail to tomcat-users on July 4, 2008!
+ */
+ try {
+ imgout.close();
+ } catch (IOException e) {
+ logger.error("Error closing ImageOutputStream!", e);
+ }
+ }
}
- // TODO: should we: finally { writer.dispose(); }
}
/*
@@ -511,14 +525,24 @@
double deltaX = targetW - Math.floor(targetW);
double deltaY = targetH - Math.floor(targetH);
if (deltaX > epsilon) {
- // round up
- logger.debug("rounding up x scale factor");
- scaleX += (1 - deltaX) / imgW;
+ // round x
+ if (deltaX > 0.5d) {
+ logger.debug("rounding up x scale factor");
+ scaleX += (1 - deltaX) / imgW;
+ } else {
+ logger.debug("rounding down x scale factor");
+ scaleX -= deltaX / imgW;
+ }
}
if (deltaY > epsilon) {
- // round up
- logger.debug("rounding up y scale factor");
- scaleY += (1 - deltaY) / imgH;
+ // round y
+ if (deltaY > 0.5d) {
+ logger.debug("rounding up y scale factor");
+ scaleY += (1 - deltaY) / imgH;
+ } else {
+ logger.debug("rounding down y scale factor");
+ scaleY -= deltaY / imgH;
+ }
}
// scale with AffineTransformOp
logger.debug("scaled from " + imgW + "x" + imgH + " img=" + img);
diff -r 75ec39abcbba -r 270ffb3284a0 common/src/main/java/digilib/meta/IndexMetaDirMeta.java
--- a/common/src/main/java/digilib/meta/IndexMetaDirMeta.java Tue Oct 27 11:21:32 2015 +0100
+++ b/common/src/main/java/digilib/meta/IndexMetaDirMeta.java Tue Nov 10 15:42:35 2015 +0100
@@ -32,7 +32,6 @@
import digilib.io.Directory;
import digilib.io.DocuDirectory;
import digilib.io.DocuDirent;
-import digilib.io.FileOps.FileClass;
/**
* DirMeta implementation reading index.meta files.
diff -r 75ec39abcbba -r 270ffb3284a0 doc/src/site/markdown/iiif-api.md
--- a/doc/src/site/markdown/iiif-api.md Tue Oct 27 11:21:32 2015 +0100
+++ b/doc/src/site/markdown/iiif-api.md Tue Nov 10 15:42:35 2015 +0100
@@ -2,7 +2,7 @@
The Scaler servlet provides not only its native [Scaler API](scaler-api.html) but also an API compliant to the standards of the International Image Interoperability Framework http://iiif.io.
-As of version 2.3 digilib supports the [IIIF Image API version 1.1](http://iiif.io/api/image/1.1/) at [compliance level 2](http://iiif.io/api/image/1.1/compliance.html) (except for forced w,h sizes where the image would be distorted).
+As of version 2.3 digilib supports the [IIIF Image API version 1.1](http://iiif.io/api/image/1.1/) at [compliance level 2](http://iiif.io/api/image/1.1/compliance.html) (since V2.3.3 even for forced w,h sizes where the image will be distorted).
IIIF Image API URLs for an image request have the form:
diff -r 75ec39abcbba -r 270ffb3284a0 pdf/pom.xml
--- a/pdf/pom.xml Tue Oct 27 11:21:32 2015 +0100
+++ b/pdf/pom.xml Tue Nov 10 15:42:35 2015 +0100
@@ -11,11 +11,11 @@
The Digital Image Library - PDF generation servlet
http://digilib.sourceforge.net
-
+
@@ -27,7 +27,7 @@
com.itextpdf
itextpdf
- 5.5.5
+ 5.5.7
jar
compile
@@ -57,7 +57,7 @@
javax.servlet
servlet-api
- 2.3
+ 2.4
jar
provided
diff -r 75ec39abcbba -r 270ffb3284a0 pdf/src/main/java/digilib/conf/PDFRequest.java
--- a/pdf/src/main/java/digilib/conf/PDFRequest.java Tue Oct 27 11:21:32 2015 +0100
+++ b/pdf/src/main/java/digilib/conf/PDFRequest.java Tue Nov 10 15:42:35 2015 +0100
@@ -32,11 +32,9 @@
import org.apache.log4j.Logger;
-import digilib.conf.DigilibConfiguration;
import digilib.image.ImageJobDescription;
import digilib.io.DocuDirectory;
import digilib.io.FileOpException;
-import digilib.io.FileOps.FileClass;
import digilib.util.NumRange;
import digilib.util.OptionsSet;
import digilib.util.ParameterMap;
@@ -59,18 +57,18 @@
/**
- * Initialize the PDFJobInformation
+ * Initialize the PDFRequest
*
- * @param dlcfg
- * The DigilibConfiguration.
+ * @param dlcfg The DigilibConfiguration.
*/
public PDFRequest(DigilibConfiguration dlcfg) {
super(30);
dlConfig = dlcfg;
+ initParams();
}
/**
- * Initialize the PDFJobInformation with a request.
+ * Initialize the PDFRequest with a request.
*
* @param dlcfg The DigilibConfiguration.
* @param request
@@ -79,7 +77,8 @@
public PDFRequest(HttpServletRequest request, DigilibConfiguration dlcfg) throws FileOpException {
super(30);
dlConfig = dlcfg;
- this.setWithRequest(request);
+ initParams();
+ setWithRequest(request);
}
@@ -119,7 +118,7 @@
pages = new NumRange(getAsString("pgs"));
ImageJobDescription ij = ImageJobDescription.getInstance(this, dlConfig);
DocuDirectory dir = ij.getFileDirectory();
- int dirsize = dir.size(FileClass.IMAGE);
+ int dirsize = dir.size();
pages.setMaxnum(dirsize);
}
diff -r 75ec39abcbba -r 270ffb3284a0 pdf/src/main/java/digilib/conf/PDFServletConfiguration.java
--- a/pdf/src/main/java/digilib/conf/PDFServletConfiguration.java Tue Oct 27 11:21:32 2015 +0100
+++ b/pdf/src/main/java/digilib/conf/PDFServletConfiguration.java Tue Nov 10 15:42:35 2015 +0100
@@ -55,7 +55,7 @@
public static final String PDF_CACHEDIR_KEY = "pdf.servlet.cache.dir";
public static String getClassVersion() {
- return "2.3.0 pdf";
+ return DigilibServletConfiguration.getClassVersion() + " pdf";
}
/* non-static getVersion for Java inheritance */
diff -r 75ec39abcbba -r 270ffb3284a0 pdf/src/main/java/digilib/pdf/PDFStreamWorker.java
--- a/pdf/src/main/java/digilib/pdf/PDFStreamWorker.java Tue Oct 27 11:21:32 2015 +0100
+++ b/pdf/src/main/java/digilib/pdf/PDFStreamWorker.java Tue Nov 10 15:42:35 2015 +0100
@@ -176,7 +176,7 @@
Image pdfimg = Image.getInstance(img.getAwtImage(), null);
float docW = PageSize.A4.getWidth() - 2 * PageSize.A4.getBorder();
float docH = PageSize.A4.getHeight() - 2 * PageSize.A4.getBorder();
- // TODO: do we really scale this again?
+ // fit the image to the page
pdfimg.scaleToFit(docW, docH);
// add to PDF
doc.add(pdfimg);
diff -r 75ec39abcbba -r 270ffb3284a0 pom.xml
--- a/pom.xml Tue Oct 27 11:21:32 2015 +0100
+++ b/pom.xml Tue Nov 10 15:42:35 2015 +0100
@@ -101,6 +101,10 @@
org.apache.maven.plugins
maven-compiler-plugin
3.3
+
+ 1.7
+ 1.7
+
diff -r 75ec39abcbba -r 270ffb3284a0 servlet/src/main/java/digilib/servlet/ServletOps.java
--- a/servlet/src/main/java/digilib/servlet/ServletOps.java Tue Oct 27 11:21:32 2015 +0100
+++ b/servlet/src/main/java/digilib/servlet/ServletOps.java Tue Nov 10 15:42:35 2015 +0100
@@ -301,7 +301,9 @@
}
/**
- * Write image img to ServletResponse response.
+ * Write image img to ServletResponse response as data of mimeType.
+ *
+ * If mimeType is null, use heuristics for type.
*
* @param img
* @param mimeType
@@ -317,13 +319,12 @@
logger.error("No response!");
return;
}
- //logger.debug("sending to response: ("+ headersToString(response) + ") committed=" + response.isCommitted());
logger.debug("sending to response. committed=" + response.isCommitted());
- // TODO: should we erase or replace old last-modified header?
try {
- OutputStream outstream = response.getOutputStream();
- // setup output -- if mime type is set use that otherwise
- // if source is JPG then dest will be JPG else it's PNG
+ /*
+ * determine the content-type: if mime type is set use that
+ * otherwise if source is JPG then dest will be JPG else it's PNG
+ */
if (mimeType == null) {
mimeType = img.getMimetype();
if (mimeType == null) {
@@ -338,13 +339,28 @@
} else {
mimeType = "image/png";
}
- // write the image
+ // set the content type
response.setContentType(mimeType);
+ String respType = response.getContentType();
+ if (! mimeType.equals(respType)) {
+ // this shouldn't happen
+ logger.error("Crap! ServletResponse lost content type! ["+respType+"] Aborting!");
+ // TODO: would this even help?
+ response.getOutputStream().close();
+ return;
+ }
+
+ /*
+ * write the image
+ */
+ OutputStream outstream = response.getOutputStream();
img.writeImage(mimeType, outstream);
+
} catch (IOException e) {
throw new ServletException("Error sending image:", e);
- }
- // TODO: should we: finally { img.dispose(); }
+ } finally {
+ img.dispose();
+ }
}
diff -r 75ec39abcbba -r 270ffb3284a0 servlet3/pom.xml
--- a/servlet3/pom.xml Tue Oct 27 11:21:32 2015 +0100
+++ b/servlet3/pom.xml Tue Nov 10 15:42:35 2015 +0100
@@ -7,20 +7,7 @@
digilib-servlet3
digilib-servlet3
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 1.7
- 1.7
-
-
-
-
-
+
org.mortbay.jetty
diff -r 75ec39abcbba -r 270ffb3284a0 servlet3/src/main/java/digilib/servlet/AsyncServletWorker.java
--- a/servlet3/src/main/java/digilib/servlet/AsyncServletWorker.java Tue Oct 27 11:21:32 2015 +0100
+++ b/servlet3/src/main/java/digilib/servlet/AsyncServletWorker.java Tue Nov 10 15:42:35 2015 +0100
@@ -54,10 +54,10 @@
public class AsyncServletWorker implements Runnable, AsyncListener {
/** the AsyncServlet context */
- private AsyncContext asyncContext;
+ private AsyncContext asyncContext = null;
/** the ImageWorker we use */
- private ImageWorker imageWorker;
+ private ImageWorker imageWorker = null;
protected static Logger logger = Logger.getLogger(AsyncServletWorker.class);
private long startTime;
@@ -92,22 +92,29 @@
@Override
public void run() {
try {
- // render the image
+ /*
+ * render the image
+ */
DocuImage img = imageWorker.call();
if (completed) {
logger.debug("AsyncServletWorker already completed (after scaling)!");
return;
}
- // forced destination image type
+ /*
+ * set forced destination image type
+ */
String mt = null;
if (jobinfo.hasOption("jpg")) {
mt = "image/jpeg";
} else if (jobinfo.hasOption("png")) {
mt = "image/png";
}
- // send image
- ServletOps.sendImage(img, mt,
- (HttpServletResponse) asyncContext.getResponse(), logger);
+ /*
+ * send the image
+ */
+ HttpServletResponse response = (HttpServletResponse) asyncContext.getResponse();
+ ServletOps.sendImage(img, mt, response, logger);
+
logger.debug("Job done in: "
+ (System.currentTimeMillis() - startTime) + "ms");
} catch (ImageOpException e) {
@@ -128,7 +135,7 @@
} else {
// submit response
logger.debug("context complete.");
- this.completed = true;
+ completed = true;
asyncContext.complete();
}
}
@@ -144,7 +151,7 @@
public void onComplete(AsyncEvent event) throws IOException {
logger.debug("AsyncServletWorker onComplete");
// make sure complete isn't called twice
- this.completed = true;
+ completed = true;
}
@Override
@@ -155,7 +162,7 @@
return;
}
imageWorker.stopNow();
- this.completed = true;
+ completed = true;
Scaler.digilibError(errMsgType, Error.UNKNOWN, null,
(HttpServletResponse) asyncContext.getResponse());
asyncContext.complete();
@@ -171,7 +178,7 @@
return;
}
imageWorker.stopNow();
- this.completed = true;
+ completed = true;
Scaler.digilibError(errMsgType, Error.UNKNOWN, "ERROR: timeout rendering image!",
(HttpServletResponse) asyncContext.getResponse());
asyncContext.complete();
diff -r 75ec39abcbba -r 270ffb3284a0 servlet3/src/main/java/digilib/servlet/Scaler.java
--- a/servlet3/src/main/java/digilib/servlet/Scaler.java Tue Oct 27 11:21:32 2015 +0100
+++ b/servlet3/src/main/java/digilib/servlet/Scaler.java Tue Nov 10 15:42:35 2015 +0100
@@ -229,8 +229,10 @@
accountlog.debug("request: " + request.getQueryString());
logger.debug("request: " + request.getQueryString());
//logger.debug("headers: " + ServletOps.headersToString(request));
- // logger.debug("response:"+ response + " committed=" +
- // response.isCommitted());
+ //logger.debug("processRequest response committed=" + response.isCommitted());
+ if (response.isCommitted()) {
+ logger.error("Crap: response committed before we got a chance!");
+ }
final long startTime = System.currentTimeMillis();
// parse request
@@ -262,11 +264,13 @@
try {
/*
- * check if we can fast-track without scaling
+ * get the input file
*/
ImageInput fileToLoad = (ImageInput) jobTicket.getInput();
- // check permissions
+ /*
+ * check permissions
+ */
if (useAuthorization) {
// is the current request/user authorized?
if (!authOp.isAuthorized(dlRequest)) {
@@ -275,10 +279,13 @@
}
}
- // if requested, send image as a file
+ /*
+ * if requested, send image as a file
+ */
if (sendFileAllowed && jobTicket.getSendAsFile()) {
String mt = null;
if (jobTicket.hasOption("rawfile")) {
+ // mo=rawfile sends as octet-stream
mt = "application/octet-stream";
}
logger.debug("Sending RAW File as is.");
@@ -287,7 +294,9 @@
return;
}
- // if possible, send the image without actually having to transform it
+ /*
+ * send the image if it's possible without having to transform it
+ */
if (!jobTicket.isTransformRequired()) {
logger.debug("Sending File as is.");
ServletOps.sendFile(fileToLoad.getFile(), null, null, response, logger);
@@ -295,15 +304,19 @@
return;
}
- // check load of workers
+ /*
+ * check load of workers
+ */
if (imageJobCenter.isBusy()) {
logger.error("Servlet overloaded!");
response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
return;
}
- // worker job is done asynchronously
- AsyncContext asyncCtx = request.startAsync(request, response);
+ /*
+ * dispatch worker job to be done asynchronously
+ */
+ AsyncContext asyncCtx = request.startAsync();
// create job
AsyncServletWorker job = new AsyncServletWorker(dlConfig, jobTicket, asyncCtx, errMsgType, startTime);
// AsyncServletWorker is its own AsyncListener
@@ -348,7 +361,7 @@
status = HttpServletResponse.SC_FORBIDDEN;
} else if (error == Error.FILE) {
if (msg == null) {
- msg = "ERROR: Image file not found!";
+ msg = "ERROR: Image file not found or image not readable!";
}
img = notfoundImgFile;
status = HttpServletResponse.SC_NOT_FOUND;
diff -r 75ec39abcbba -r 270ffb3284a0 text/pom.xml
--- a/text/pom.xml Tue Oct 27 11:21:32 2015 +0100
+++ b/text/pom.xml Tue Nov 10 15:42:35 2015 +0100
@@ -38,7 +38,7 @@
javax.servlet
servlet-api
- 2.3
+ 2.4
jar
provided
diff -r 75ec39abcbba -r 270ffb3284a0 webapp/pom.xml
--- a/webapp/pom.xml Tue Oct 27 11:21:32 2015 +0100
+++ b/webapp/pom.xml Tue Nov 10 15:42:35 2015 +0100
@@ -14,10 +14,6 @@
http://digilib.sourceforge.net
war
-
- UTF-8
-
-
diff -r 75ec39abcbba -r 270ffb3284a0 webapp/src/main/webapp/WEB-INF/web-2.4.xml
--- a/webapp/src/main/webapp/WEB-INF/web-2.4.xml Tue Oct 27 11:21:32 2015 +0100
+++ b/webapp/src/main/webapp/WEB-INF/web-2.4.xml Tue Nov 10 15:42:35 2015 +0100
@@ -1,7 +1,9 @@
-
-
-
+
+
digilib
diff -r 75ec39abcbba -r 270ffb3284a0 webapp/src/main/webapp/WEB-INF/web-3.0.xml
--- a/webapp/src/main/webapp/WEB-INF/web-3.0.xml Tue Oct 27 11:21:32 2015 +0100
+++ b/webapp/src/main/webapp/WEB-INF/web-3.0.xml Tue Nov 10 15:42:35 2015 +0100
@@ -1,9 +1,9 @@
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
+ version="3.0">
diff -r 75ec39abcbba -r 270ffb3284a0 webapp/src/main/webapp/WEB-INF/web-additional.xml
--- a/webapp/src/main/webapp/WEB-INF/web-additional.xml Tue Oct 27 11:21:32 2015 +0100
+++ b/webapp/src/main/webapp/WEB-INF/web-additional.xml Tue Nov 10 15:42:35 2015 +0100
@@ -40,6 +40,10 @@
PDFCache
+ /PDFCache/*
+
+
+ PDFCache
/servlet/PDFCache/*
diff -r 75ec39abcbba -r 270ffb3284a0 webapp/src/main/webapp/jquery/jquery.digilib.js
--- a/webapp/src/main/webapp/jquery/jquery.digilib.js Tue Oct 27 11:21:32 2015 +0100
+++ b/webapp/src/main/webapp/jquery/jquery.digilib.js Tue Nov 10 15:42:35 2015 +0100
@@ -45,7 +45,7 @@
var defaults = {
// version of this script
- 'version' : 'jquery.digilib.js 2.3.0-2',
+ 'version' : 'jquery.digilib.js 2.3.4a',
// logo url
'logoUrl' : 'img/digilib-logo-text1.png',
// homepage url (behind logo)
diff -r 75ec39abcbba -r 270ffb3284a0 webapp/src/main/webapp/jquery/jquery.digilib.sliders.js
--- a/webapp/src/main/webapp/jquery/jquery.digilib.sliders.js Tue Oct 27 11:21:32 2015 +0100
+++ b/webapp/src/main/webapp/jquery/jquery.digilib.sliders.js Tue Nov 10 15:42:35 2015 +0100
@@ -151,13 +151,14 @@
// update preview values for a given slider
var updatePreview = function ($slider) {
- if ($slider == null) return;
- var cls = $slider.data('cls');
+ if ($slider == null) {
+ return;
+ }
var $preview = $slider.data('preview');
if ($preview == null) {
- console.error("slider updatePreview without preview!");
return;
- }
+ }
+ var cls = $slider.data('cls');
var $td2 = $preview.find('table.'+cls+'preview td');
// account for current brgt/cont/rgbm/rgba values
var calcRGBValue = function (code, val) {
@@ -168,7 +169,7 @@
var brgt = colorVals.brgt;
var resultVal = cont + brgt;
return Math.min(Math.max(Math.round(resultVal), 0), 255);
- };
+ };
// color one table cell according to index position
var setRGBValues = function (index) {
var val = index * 32;
@@ -340,12 +341,12 @@
update($slider, val);
}
};
- var reset = function () {
+ var resetToStartvalue = function () {
$text.val(startvalue);
textChange();
};
- var resetdefault = function () {
- $text.val(opts.start);
+ var resetToDefaultvalue = function () {
+ $text.val(options.start);
textChange();
};
// connect slider and input
@@ -354,8 +355,8 @@
$slider.data({
'$text' : $text,
'$range' : $range,
- 'reset' : reset,
- 'default' : resetdefault,
+ 'reset' : resetToStartvalue,
+ 'default' : resetToDefaultvalue,
'update' : null
});
return $slider;
@@ -434,7 +435,7 @@
var rgba = input['ra'].val() + '/' + input['ga'].val() + '/' + input['ba'].val();
var rgbm = input['rm'].val() + '/' + input['gm'].val() + '/' + input['bm'].val();
if (typeof onSubmit === 'function') {
- (rgbm, rgba);
+ onSubmit(rgbm, rgba);
}
};
$.each(primaryColors, insertTableRow);