From fc19162ad12b2ed014cb33167020fb3ecffb4f2c Mon Sep 17 00:00:00 2001 From: "Serpent Consulting Services Pvt. Ltd" Date: Fri, 20 Feb 2015 13:09:41 +0530 Subject: [PATCH 1/7] Digital Signature Module Shop by brand module Digital sign module updated with example --- web_digital_sign/__init__.py | 24 + web_digital_sign/__openerp__.py | 50 + web_digital_sign/static/description/icon.png | Bin 0 -> 16349 bytes web_digital_sign/static/lib/excanvas.js | 924 +++++++++++++ .../static/lib/jquery.signature.js | 244 ++++ web_digital_sign/static/src/css/digital.css | 10 + web_digital_sign/static/src/css/jquery-ui.css | 1225 +++++++++++++++++ .../static/src/css/jquery.signature.css | 5 + web_digital_sign/static/src/img/icon.png | Bin 0 -> 16349 bytes .../static/src/js/digital_sign.js | 132 ++ .../static/src/xml/digital_sign.xml | 18 + web_digital_sign/users.py | 32 + web_digital_sign/users_view.xml | 18 + 13 files changed, 2682 insertions(+) create mode 100644 web_digital_sign/__init__.py create mode 100644 web_digital_sign/__openerp__.py create mode 100644 web_digital_sign/static/description/icon.png create mode 100644 web_digital_sign/static/lib/excanvas.js create mode 100644 web_digital_sign/static/lib/jquery.signature.js create mode 100644 web_digital_sign/static/src/css/digital.css create mode 100644 web_digital_sign/static/src/css/jquery-ui.css create mode 100644 web_digital_sign/static/src/css/jquery.signature.css create mode 100644 web_digital_sign/static/src/img/icon.png create mode 100644 web_digital_sign/static/src/js/digital_sign.js create mode 100644 web_digital_sign/static/src/xml/digital_sign.xml create mode 100644 web_digital_sign/users.py create mode 100644 web_digital_sign/users_view.xml diff --git a/web_digital_sign/__init__.py b/web_digital_sign/__init__.py new file mode 100644 index 00000000..e14f6294 --- /dev/null +++ b/web_digital_sign/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 OpenERP SA () +# Copyright (C) 2011-2015 Serpent Consulting Services Pvt. Ltd. (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +import users +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/web_digital_sign/__openerp__.py b/web_digital_sign/__openerp__.py new file mode 100644 index 00000000..6e872a2f --- /dev/null +++ b/web_digital_sign/__openerp__.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 OpenERP SA () +# Copyright (C) 2011-2015 Serpent Consulting Services Pvt. Ltd. (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +{ + "name" : "Web Digital Signature", + "version" : "1.0", + "author" : "Serpent Consulting Services Pvt. Ltd.", + "category": '', + 'complexity': "easy", + 'depends': ['web'], + "description": """ + This module provides the functionality to store digital signature image for a record. + The example can be seen into the User's form view where we have added a test field under signature. + """, + 'data': ['users_view.xml'], + 'js':[ + "static/lib/excanvas.js", + "static/lib/jquery.signature.js", + "static/src/js/digital_sign.js", + ], + 'css':[ + "static/src/css/digital.css", + "static/src/css/jquery.signature.css", + ], + 'website': 'http://www.serpentcs.com', + 'qweb': ['static/src/xml/digital_sign.xml'], + 'installable': True, + 'auto_install': False, +} + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/web_digital_sign/static/description/icon.png b/web_digital_sign/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..53dd30d963540cd1eee217c8db5ee89277fab319 GIT binary patch literal 16349 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 literal 0 HcmV?d00001 diff --git a/web_digital_sign/static/lib/excanvas.js b/web_digital_sign/static/lib/excanvas.js new file mode 100644 index 00000000..367764b4 --- /dev/null +++ b/web_digital_sign/static/lib/excanvas.js @@ -0,0 +1,924 @@ +// Copyright 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +// Known Issues: +// +// * Patterns are not implemented. +// * Radial gradient are not implemented. The VML version of these look very +// different from the canvas one. +// * Clipping paths are not implemented. +// * Coordsize. The width and height attribute have higher priority than the +// width and height style values which isn't correct. +// * Painting mode isn't implemented. +// * Canvas width/height should is using content-box by default. IE in +// Quirks mode will draw the canvas using border-box. Either change your +// doctype to HTML5 +// (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype) +// or use Box Sizing Behavior from WebFX +// (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html) +// * Non uniform scaling does not correctly scale strokes. +// * Optimize. There is always room for speed improvements. + +// Only add this code if we do not already have a canvas implementation +if (!document.createElement('canvas').getContext) { + +(function() { + + // alias some functions to make (compiled) code shorter + var m = Math; + var mr = m.round; + var ms = m.sin; + var mc = m.cos; + var abs = m.abs; + var sqrt = m.sqrt; + + // this is used for sub pixel precision + var Z = 10; + var Z2 = Z / 2; + + /** + * This funtion is assigned to the elements as element.getContext(). + * @this {HTMLElement} + * @return {CanvasRenderingContext2D_} + */ + function getContext() { + return this.context_ || + (this.context_ = new CanvasRenderingContext2D_(this)); + } + + var slice = Array.prototype.slice; + + /** + * Binds a function to an object. The returned function will always use the + * passed in {@code obj} as {@code this}. + * + * Example: + * + * g = bind(f, obj, a, b) + * g(c, d) // will do f.call(obj, a, b, c, d) + * + * @param {Function} f The function to bind the object to + * @param {Object} obj The object that should act as this when the function + * is called + * @param {*} var_args Rest arguments that will be used as the initial + * arguments when the function is called + * @return {Function} A new function that has bound this + */ + function bind(f, obj, var_args) { + var a = slice.call(arguments, 2); + return function() { + return f.apply(obj, a.concat(slice.call(arguments))); + }; + } + + var G_vmlCanvasManager_ = { + init: function(opt_doc) { + if (/MSIE/.test(navigator.userAgent) && !window.opera) { + var doc = opt_doc || document; + // Create a dummy element so that IE will allow canvas elements to be + // recognized. + doc.createElement('canvas'); + doc.attachEvent('onreadystatechange', bind(this.init_, this, doc)); + } + }, + + init_: function(doc) { + // create xmlns + if (!doc.namespaces['g_vml_']) { + doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml', + '#default#VML'); + + } + if (!doc.namespaces['g_o_']) { + doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office', + '#default#VML'); + } + + // Setup default CSS. Only add one style sheet per document + if (!doc.styleSheets['ex_canvas_']) { + var ss = doc.createStyleSheet(); + ss.owningElement.id = 'ex_canvas_'; + ss.cssText = 'canvas{display:inline-block;overflow:hidden;' + + // default size is 300x150 in Gecko and Opera + 'text-align:left;width:300px;height:150px}' + + 'g_vml_\\:*{behavior:url(#default#VML)}' + + 'g_o_\\:*{behavior:url(#default#VML)}'; + + } + + // find all canvas elements + var els = doc.getElementsByTagName('canvas'); + for (var i = 0; i < els.length; i++) { + this.initElement(els[i]); + } + }, + + /** + * Public initializes a canvas element so that it can be used as canvas + * element from now on. This is called automatically before the page is + * loaded but if you are creating elements using createElement you need to + * make sure this is called on the element. + * @param {HTMLElement} el The canvas element to initialize. + * @return {HTMLElement} the element that was created. + */ + initElement: function(el) { + if (!el.getContext) { + + el.getContext = getContext; + + // Remove fallback content. There is no way to hide text nodes so we + // just remove all childNodes. We could hide all elements and remove + // text nodes but who really cares about the fallback content. + el.innerHTML = ''; + + // do not use inline function because that will leak memory + el.attachEvent('onpropertychange', onPropertyChange); + el.attachEvent('onresize', onResize); + + var attrs = el.attributes; + if (attrs.width && attrs.width.specified) { + // TODO: use runtimeStyle and coordsize + // el.getContext().setWidth_(attrs.width.nodeValue); + el.style.width = attrs.width.nodeValue + 'px'; + } else { + el.width = el.clientWidth; + } + if (attrs.height && attrs.height.specified) { + // TODO: use runtimeStyle and coordsize + // el.getContext().setHeight_(attrs.height.nodeValue); + el.style.height = attrs.height.nodeValue + 'px'; + } else { + el.height = el.clientHeight; + } + //el.getContext().setCoordsize_() + } + return el; + } + }; + + function onPropertyChange(e) { + var el = e.srcElement; + + switch (e.propertyName) { + case 'width': + el.style.width = el.attributes.width.nodeValue + 'px'; + el.getContext().clearRect(); + break; + case 'height': + el.style.height = el.attributes.height.nodeValue + 'px'; + el.getContext().clearRect(); + break; + } + } + + function onResize(e) { + var el = e.srcElement; + if (el.firstChild) { + el.firstChild.style.width = el.clientWidth + 'px'; + el.firstChild.style.height = el.clientHeight + 'px'; + } + } + + G_vmlCanvasManager_.init(); + + // precompute "00" to "FF" + var dec2hex = []; + for (var i = 0; i < 16; i++) { + for (var j = 0; j < 16; j++) { + dec2hex[i * 16 + j] = i.toString(16) + j.toString(16); + } + } + + function createMatrixIdentity() { + return [ + [1, 0, 0], + [0, 1, 0], + [0, 0, 1] + ]; + } + + function matrixMultiply(m1, m2) { + var result = createMatrixIdentity(); + + for (var x = 0; x < 3; x++) { + for (var y = 0; y < 3; y++) { + var sum = 0; + + for (var z = 0; z < 3; z++) { + sum += m1[x][z] * m2[z][y]; + } + + result[x][y] = sum; + } + } + return result; + } + + function copyState(o1, o2) { + o2.fillStyle = o1.fillStyle; + o2.lineCap = o1.lineCap; + o2.lineJoin = o1.lineJoin; + o2.lineWidth = o1.lineWidth; + o2.miterLimit = o1.miterLimit; + o2.shadowBlur = o1.shadowBlur; + o2.shadowColor = o1.shadowColor; + o2.shadowOffsetX = o1.shadowOffsetX; + o2.shadowOffsetY = o1.shadowOffsetY; + o2.strokeStyle = o1.strokeStyle; + o2.globalAlpha = o1.globalAlpha; + o2.arcScaleX_ = o1.arcScaleX_; + o2.arcScaleY_ = o1.arcScaleY_; + o2.lineScale_ = o1.lineScale_; + } + + function processStyle(styleString) { + var str, alpha = 1; + + styleString = String(styleString); + if (styleString.substring(0, 3) == 'rgb') { + var start = styleString.indexOf('(', 3); + var end = styleString.indexOf(')', start + 1); + var guts = styleString.substring(start + 1, end).split(','); + + str = '#'; + for (var i = 0; i < 3; i++) { + str += dec2hex[Number(guts[i])]; + } + + if (guts.length == 4 && styleString.substr(3, 1) == 'a') { + alpha = guts[3]; + } + } else { + str = styleString; + } + + return {color: str, alpha: alpha}; + } + + function processLineCap(lineCap) { + switch (lineCap) { + case 'butt': + return 'flat'; + case 'round': + return 'round'; + case 'square': + default: + return 'square'; + } + } + + /** + * This class implements CanvasRenderingContext2D interface as described by + * the WHATWG. + * @param {HTMLElement} surfaceElement The element that the 2D context should + * be associated with + */ + function CanvasRenderingContext2D_(surfaceElement) { + this.m_ = createMatrixIdentity(); + + this.mStack_ = []; + this.aStack_ = []; + this.currentPath_ = []; + + // Canvas context properties + this.strokeStyle = '#000'; + this.fillStyle = '#000'; + + this.lineWidth = 1; + this.lineJoin = 'miter'; + this.lineCap = 'butt'; + this.miterLimit = Z * 1; + this.globalAlpha = 1; + this.canvas = surfaceElement; + + var el = surfaceElement.ownerDocument.createElement('div'); + el.style.width = surfaceElement.clientWidth + 'px'; + el.style.height = surfaceElement.clientHeight + 'px'; + el.style.overflow = 'hidden'; + el.style.position = 'absolute'; + surfaceElement.appendChild(el); + + this.element_ = el; + this.arcScaleX_ = 1; + this.arcScaleY_ = 1; + this.lineScale_ = 1; + } + + var contextPrototype = CanvasRenderingContext2D_.prototype; + contextPrototype.clearRect = function() { + this.element_.innerHTML = ''; + }; + + contextPrototype.beginPath = function() { + // TODO: Branch current matrix so that save/restore has no effect + // as per safari docs. + this.currentPath_ = []; + }; + + contextPrototype.moveTo = function(aX, aY) { + var p = this.getCoords_(aX, aY); + this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y}); + this.currentX_ = p.x; + this.currentY_ = p.y; + }; + + contextPrototype.lineTo = function(aX, aY) { + var p = this.getCoords_(aX, aY); + this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y}); + + this.currentX_ = p.x; + this.currentY_ = p.y; + }; + + contextPrototype.bezierCurveTo = function(aCP1x, aCP1y, + aCP2x, aCP2y, + aX, aY) { + var p = this.getCoords_(aX, aY); + var cp1 = this.getCoords_(aCP1x, aCP1y); + var cp2 = this.getCoords_(aCP2x, aCP2y); + bezierCurveTo(this, cp1, cp2, p); + }; + + // Helper function that takes the already fixed cordinates. + function bezierCurveTo(self, cp1, cp2, p) { + self.currentPath_.push({ + type: 'bezierCurveTo', + cp1x: cp1.x, + cp1y: cp1.y, + cp2x: cp2.x, + cp2y: cp2.y, + x: p.x, + y: p.y + }); + self.currentX_ = p.x; + self.currentY_ = p.y; + } + + contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) { + // the following is lifted almost directly from + // http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes + + var cp = this.getCoords_(aCPx, aCPy); + var p = this.getCoords_(aX, aY); + + var cp1 = { + x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_), + y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_) + }; + var cp2 = { + x: cp1.x + (p.x - this.currentX_) / 3.0, + y: cp1.y + (p.y - this.currentY_) / 3.0 + }; + + bezierCurveTo(this, cp1, cp2, p); + }; + + contextPrototype.arc = function(aX, aY, aRadius, + aStartAngle, aEndAngle, aClockwise) { + aRadius *= Z; + var arcType = aClockwise ? 'at' : 'wa'; + + var xStart = aX + mc(aStartAngle) * aRadius - Z2; + var yStart = aY + ms(aStartAngle) * aRadius - Z2; + + var xEnd = aX + mc(aEndAngle) * aRadius - Z2; + var yEnd = aY + ms(aEndAngle) * aRadius - Z2; + + // IE won't render arches drawn counter clockwise if xStart == xEnd. + if (xStart == xEnd && !aClockwise) { + xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something + // that can be represented in binary + } + + var p = this.getCoords_(aX, aY); + var pStart = this.getCoords_(xStart, yStart); + var pEnd = this.getCoords_(xEnd, yEnd); + + this.currentPath_.push({type: arcType, + x: p.x, + y: p.y, + radius: aRadius, + xStart: pStart.x, + yStart: pStart.y, + xEnd: pEnd.x, + yEnd: pEnd.y}); + + }; + + contextPrototype.rect = function(aX, aY, aWidth, aHeight) { + this.moveTo(aX, aY); + this.lineTo(aX + aWidth, aY); + this.lineTo(aX + aWidth, aY + aHeight); + this.lineTo(aX, aY + aHeight); + this.closePath(); + }; + + contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) { + var oldPath = this.currentPath_; + this.beginPath(); + + this.moveTo(aX, aY); + this.lineTo(aX + aWidth, aY); + this.lineTo(aX + aWidth, aY + aHeight); + this.lineTo(aX, aY + aHeight); + this.closePath(); + this.stroke(); + + this.currentPath_ = oldPath; + }; + + contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) { + var oldPath = this.currentPath_; + this.beginPath(); + + this.moveTo(aX, aY); + this.lineTo(aX + aWidth, aY); + this.lineTo(aX + aWidth, aY + aHeight); + this.lineTo(aX, aY + aHeight); + this.closePath(); + this.fill(); + + this.currentPath_ = oldPath; + }; + + contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) { + var gradient = new CanvasGradient_('gradient'); + gradient.x0_ = aX0; + gradient.y0_ = aY0; + gradient.x1_ = aX1; + gradient.y1_ = aY1; + return gradient; + }; + + contextPrototype.createRadialGradient = function(aX0, aY0, aR0, + aX1, aY1, aR1) { + var gradient = new CanvasGradient_('gradientradial'); + gradient.x0_ = aX0; + gradient.y0_ = aY0; + gradient.r0_ = aR0; + gradient.x1_ = aX1; + gradient.y1_ = aY1; + gradient.r1_ = aR1; + return gradient; + }; + + contextPrototype.drawImage = function(image, var_args) { + var dx, dy, dw, dh, sx, sy, sw, sh; + + // to find the original width we overide the width and height + var oldRuntimeWidth = image.runtimeStyle.width; + var oldRuntimeHeight = image.runtimeStyle.height; + image.runtimeStyle.width = 'auto'; + image.runtimeStyle.height = 'auto'; + + // get the original size + var w = image.width; + var h = image.height; + + // and remove overides + image.runtimeStyle.width = oldRuntimeWidth; + image.runtimeStyle.height = oldRuntimeHeight; + + if (arguments.length == 3) { + dx = arguments[1]; + dy = arguments[2]; + sx = sy = 0; + sw = dw = w; + sh = dh = h; + } else if (arguments.length == 5) { + dx = arguments[1]; + dy = arguments[2]; + dw = arguments[3]; + dh = arguments[4]; + sx = sy = 0; + sw = w; + sh = h; + } else if (arguments.length == 9) { + sx = arguments[1]; + sy = arguments[2]; + sw = arguments[3]; + sh = arguments[4]; + dx = arguments[5]; + dy = arguments[6]; + dw = arguments[7]; + dh = arguments[8]; + } else { + throw Error('Invalid number of arguments'); + } + + var d = this.getCoords_(dx, dy); + + var w2 = sw / 2; + var h2 = sh / 2; + + var vmlStr = []; + + var W = 10; + var H = 10; + + // For some reason that I've now forgotten, using divs didn't work + vmlStr.push(' ' , + '', + ''); + + this.element_.insertAdjacentHTML('BeforeEnd', + vmlStr.join('')); + }; + + contextPrototype.stroke = function(aFill) { + var lineStr = []; + var lineOpen = false; + var a = processStyle(aFill ? this.fillStyle : this.strokeStyle); + var color = a.color; + var opacity = a.alpha * this.globalAlpha; + + var W = 10; + var H = 10; + + lineStr.push(''); + + if (!aFill) { + var lineWidth = this.lineScale_ * this.lineWidth; + + // VML cannot correctly render a line if the width is less than 1px. + // In that case, we dilute the color to make the line look thinner. + if (lineWidth < 1) { + opacity *= lineWidth; + } + + lineStr.push( + '' + ); + } else if (typeof this.fillStyle == 'object') { + var fillStyle = this.fillStyle; + var angle = 0; + var focus = {x: 0, y: 0}; + + // additional offset + var shift = 0; + // scale factor for offset + var expansion = 1; + + if (fillStyle.type_ == 'gradient') { + var x0 = fillStyle.x0_ / this.arcScaleX_; + var y0 = fillStyle.y0_ / this.arcScaleY_; + var x1 = fillStyle.x1_ / this.arcScaleX_; + var y1 = fillStyle.y1_ / this.arcScaleY_; + var p0 = this.getCoords_(x0, y0); + var p1 = this.getCoords_(x1, y1); + var dx = p1.x - p0.x; + var dy = p1.y - p0.y; + angle = Math.atan2(dx, dy) * 180 / Math.PI; + + // The angle should be a non-negative number. + if (angle < 0) { + angle += 360; + } + + // Very small angles produce an unexpected result because they are + // converted to a scientific notation string. + if (angle < 1e-6) { + angle = 0; + } + } else { + var p0 = this.getCoords_(fillStyle.x0_, fillStyle.y0_); + var width = max.x - min.x; + var height = max.y - min.y; + focus = { + x: (p0.x - min.x) / width, + y: (p0.y - min.y) / height + }; + + width /= this.arcScaleX_ * Z; + height /= this.arcScaleY_ * Z; + var dimension = m.max(width, height); + shift = 2 * fillStyle.r0_ / dimension; + expansion = 2 * fillStyle.r1_ / dimension - shift; + } + + // We need to sort the color stops in ascending order by offset, + // otherwise IE won't interpret it correctly. + var stops = fillStyle.colors_; + stops.sort(function(cs1, cs2) { + return cs1.offset - cs2.offset; + }); + + var length = stops.length; + var color1 = stops[0].color; + var color2 = stops[length - 1].color; + var opacity1 = stops[0].alpha * this.globalAlpha; + var opacity2 = stops[length - 1].alpha * this.globalAlpha; + + var colors = []; + for (var i = 0; i < length; i++) { + var stop = stops[i]; + colors.push(stop.offset * expansion + shift + ' ' + stop.color); + } + + // When colors attribute is used, the meanings of opacity and o:opacity2 + // are reversed. + lineStr.push(''); + } else { + lineStr.push(''); + } + + lineStr.push(''); + + this.element_.insertAdjacentHTML('beforeEnd', lineStr.join('')); + }; + + contextPrototype.fill = function() { + this.stroke(true); + } + + contextPrototype.closePath = function() { + this.currentPath_.push({type: 'close'}); + }; + + /** + * @private + */ + contextPrototype.getCoords_ = function(aX, aY) { + var m = this.m_; + return { + x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2, + y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2 + } + }; + + contextPrototype.save = function() { + var o = {}; + copyState(this, o); + this.aStack_.push(o); + this.mStack_.push(this.m_); + this.m_ = matrixMultiply(createMatrixIdentity(), this.m_); + }; + + contextPrototype.restore = function() { + copyState(this.aStack_.pop(), this); + this.m_ = this.mStack_.pop(); + }; + + function matrixIsFinite(m) { + for (var j = 0; j < 3; j++) { + for (var k = 0; k < 2; k++) { + if (!isFinite(m[j][k]) || isNaN(m[j][k])) { + return false; + } + } + } + return true; + } + + function setM(ctx, m, updateLineScale) { + if (!matrixIsFinite(m)) { + return; + } + ctx.m_ = m; + + if (updateLineScale) { + // Get the line scale. + // Determinant of this.m_ means how much the area is enlarged by the + // transformation. So its square root can be used as a scale factor + // for width. + var det = m[0][0] * m[1][1] - m[0][1] * m[1][0]; + ctx.lineScale_ = sqrt(abs(det)); + } + } + + contextPrototype.translate = function(aX, aY) { + var m1 = [ + [1, 0, 0], + [0, 1, 0], + [aX, aY, 1] + ]; + + setM(this, matrixMultiply(m1, this.m_), false); + }; + + contextPrototype.rotate = function(aRot) { + var c = mc(aRot); + var s = ms(aRot); + + var m1 = [ + [c, s, 0], + [-s, c, 0], + [0, 0, 1] + ]; + + setM(this, matrixMultiply(m1, this.m_), false); + }; + + contextPrototype.scale = function(aX, aY) { + this.arcScaleX_ *= aX; + this.arcScaleY_ *= aY; + var m1 = [ + [aX, 0, 0], + [0, aY, 0], + [0, 0, 1] + ]; + + setM(this, matrixMultiply(m1, this.m_), true); + }; + + contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) { + var m1 = [ + [m11, m12, 0], + [m21, m22, 0], + [dx, dy, 1] + ]; + + setM(this, matrixMultiply(m1, this.m_), true); + }; + + contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) { + var m = [ + [m11, m12, 0], + [m21, m22, 0], + [dx, dy, 1] + ]; + + setM(this, m, true); + }; + + /******** STUBS ********/ + contextPrototype.clip = function() { + // TODO: Implement + }; + + contextPrototype.arcTo = function() { + // TODO: Implement + }; + + contextPrototype.createPattern = function() { + return new CanvasPattern_; + }; + + // Gradient / Pattern Stubs + function CanvasGradient_(aType) { + this.type_ = aType; + this.x0_ = 0; + this.y0_ = 0; + this.r0_ = 0; + this.x1_ = 0; + this.y1_ = 0; + this.r1_ = 0; + this.colors_ = []; + } + + CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) { + aColor = processStyle(aColor); + this.colors_.push({offset: aOffset, + color: aColor.color, + alpha: aColor.alpha}); + }; + + function CanvasPattern_() {} + + // set up externs + G_vmlCanvasManager = G_vmlCanvasManager_; + CanvasRenderingContext2D = CanvasRenderingContext2D_; + CanvasGradient = CanvasGradient_; + CanvasPattern = CanvasPattern_; + +})(); + +} // if diff --git a/web_digital_sign/static/lib/jquery.signature.js b/web_digital_sign/static/lib/jquery.signature.js new file mode 100644 index 00000000..fecbf999 --- /dev/null +++ b/web_digital_sign/static/lib/jquery.signature.js @@ -0,0 +1,244 @@ + +(function($) { // Hide scope, no $ conflict + +var signatureOverrides = { + + // Global defaults for signature + options: { + background: '#ffffff', // Colour of the background + color: '#000000', // Colour of the signature + thickness: 2, // Thickness of the lines + guideline: false, // Add a guide line or not? + guidelineColor: '#a0a0a0', // Guide line colour + guidelineOffset: 50, // Guide line offset from the bottom + guidelineIndent: 10, // Guide line indent from the edges + notAvailable: 'Your browser doesn\'t support signing', // Error message when no canvas + syncField: null, // Selector for synchronised text field + change: null // Callback when signature changed + }, + + /* Initialise a new signature area. */ + _create: function() { + + + this.element.addClass(this.widgetFullName || this.widgetBaseClass); + try { + this.canvas = $('' + '' + '')[0]; + this.element.prepend(this.canvas); + this.element.find('img').remove(); + this.ctx = this.canvas.getContext('2d'); + } + catch (e) { + $(this.canvas).remove(); + this.resize = true; + this.canvas = document.createElement('canvas'); + this.canvas.setAttribute('width', this.element.width()); + this.canvas.setAttribute('height', this.element.height()); + this.canvas.innerHTML = this.options.notAvailable; + this.element.append(this.canvas); + if (G_vmlCanvasManager) { // Requires excanvas.js + G_vmlCanvasManager.initElement(this.canvas); + } + this.ctx = this.canvas.getContext('2d'); + } + this._refresh(true); + this._mouseInit(); + }, + + /* Refresh the appearance of the signature area. + @param init (boolean, internal) true if initialising */ + _refresh: function(init) { + if (this.resize) { + var parent = $(this.canvas); + $('div', this.canvas).css({width: parent.width(), height: parent.height()}); + } + this.ctx.fillStyle = this.options.background; + this.ctx.strokeStyle = this.options.color; + this.ctx.lineWidth = this.options.thickness; + this.ctx.lineCap = 'round'; + this.ctx.lineJoin = 'round'; + this.clear(init); + }, + + /* Clear the signature area. + @param init (boolean, internal) true if initialising */ + clear: function(init) { + this.ctx.fillRect(0, 0, this.element.width(), this.element.height()); + if (this.options.guideline) { + this.ctx.save(); + this.ctx.strokeStyle = this.options.guidelineColor; + this.ctx.lineWidth = 1; + this.ctx.beginPath(); + this.ctx.moveTo(this.options.guidelineIndent, + this.element.height() - this.options.guidelineOffset); + this.ctx.lineTo(this.element.width() - this.options.guidelineIndent, + this.element.height() - this.options.guidelineOffset); + this.ctx.stroke(); + this.ctx.restore(); + } + this.lines = []; + if (!init) { + this._changed(); + } + }, + + /* Synchronise changes and trigger change event. + @param event (Event) the triggering event */ + _changed: function(event) { + if (this.options.syncField) { + $(this.options.syncField).val(this.toJSON()); + } + this._trigger('change', event, {}); + }, + + /* Custom options handling. + @param options (object) the new option values */ + _setOptions: function(options) { + if (this._superApply) { + this._superApply(arguments); // Base widget handling + } + else { + $.Widget.prototype._setOptions.apply(this, arguments); // Base widget handling + } + this._refresh(); + }, + + /* Determine if dragging can start. + @param event (Event) the triggering mouse event + @return (boolean) true if allowed, false if not */ + _mouseCapture: function(event) { + return !this.options.disabled; + }, + + /* Start a new line. + @param event (Event) the triggering mouse event */ + _mouseStart: function(event) { + this.offset = this.element.offset(); + this.offset.left -= document.documentElement.scrollLeft || document.body.scrollLeft; + this.offset.top -= document.documentElement.scrollTop || document.body.scrollTop; + this.lastPoint = [this._round(event.clientX - this.offset.left), + this._round(event.clientY - this.offset.top)]; + this.curLine = [this.lastPoint]; + this.lines.push(this.curLine); + }, + + /* Track the mouse. + @param event (Event) the triggering mouse event */ + _mouseDrag: function(event) { + var point = [this._round(event.clientX - this.offset.left), + this._round(event.clientY - this.offset.top)]; + this.curLine.push(point); + this.ctx.beginPath(); + this.ctx.moveTo(this.lastPoint[0], this.lastPoint[1]); + this.ctx.lineTo(point[0], point[1]); + this.ctx.stroke(); + this.lastPoint = point; + }, + + /* End a line. + @param event (Event) the triggering mouse event */ + _mouseStop: function(event) { + this.lastPoint = null; + this.curLine = null; + this._changed(event); + }, + + /* Round to two decimal points. + @param value (number) the value to round + @return (number) the rounded value */ + _round: function(value) { + return Math.round(value * 100) / 100; + }, + + /* Convert the captured lines to JSON text. + @return (string) the JSON text version of the lines */ + toJSON: function() { + return '{"lines":[' + $.map(this.lines, function(line) { + return '[' + $.map(line, function(point) { + return '[' + point + ']'; + }) + ']'; + }) + ']}'; + }, + + /* Convert the captured lines to SVG text. + @return (string) the SVG text version of the lines */ + toSVG: function() { + return '\n\n' + + '\n' + + ' \n' + + ' \n' + + ' \n'+ + $.map(this.lines, function(line) { + return ' \n'; + }).join('') + + ' \n \n\n'; + }, + + /* Draw a signature from its JSON description. + @param sigJSON (object) object with attribute lines + being an array of arrays of points or + (string) text version of the JSON */ + draw: function(sigJSON) { + this.clear(true); + if (typeof sigJSON === 'string') { + sigJSON = $.parseJSON(sigJSON); + } + this.lines = sigJSON.lines || []; + var ctx = this.ctx; + $.each(this.lines, function() { + ctx.beginPath(); + $.each(this, function(i) { + ctx[i === 0 ? 'moveTo' : 'lineTo'](this[0], this[1]); + }); + ctx.stroke(); + }); + this._changed(); + }, + + /* Determine whether or not any drawing has occurred. + @return (boolean) true if not signed, false if signed */ + isEmpty: function() { + return this.lines.length === 0; + }, + + /* Remove the signature functionality. */ + _destroy: function() { + this.element.removeClass(this.widgetFullName || this.widgetBaseClass); + $(this.canvas).remove(); + this.canvas = this.ctx = this.lines = null; + this._mouseDestroy(); + } +}; + +if (!$.Widget.prototype._destroy) { + $.extend(signatureOverrides, { + /* Remove the signature functionality. */ + destroy: function() { + this._destroy(); + $.Widget.prototype.destroy.call(this); // Base widget handling + } + }); +} + +if($.Widget.prototype._getCreateOptions === $.noop) { + $.extend(signatureOverrides, { + /* Restore the metadata functionality. */ + _getCreateOptions: function() { + return $.metadata && $.metadata.get(this.element[0])[this.widgetName]; + } + }); +} + +/* Signature capture and display. + Depends on jquery.ui.widget, jquery.ui.mouse. */ +$.widget('kbw.signature', $.ui.mouse, signatureOverrides); + +// Make some things more accessible +$.kbw.signature.options = $.kbw.signature.prototype.options; + +})(jQuery); \ No newline at end of file diff --git a/web_digital_sign/static/src/css/digital.css b/web_digital_sign/static/src/css/digital.css new file mode 100644 index 00000000..b0a44871 --- /dev/null +++ b/web_digital_sign/static/src/css/digital.css @@ -0,0 +1,10 @@ +/* Styles for signature plugin v1.1.0. */ +/* .kbw-signature { + height : "100px"; + width : "150px"; +} */ + + +.openerp .oe_form_readonly .oe_edit_only, .openerp .oe_form_readonly .oe_form_field:empty { + display: none !important; +} \ No newline at end of file diff --git a/web_digital_sign/static/src/css/jquery-ui.css b/web_digital_sign/static/src/css/jquery-ui.css new file mode 100644 index 00000000..ac8782f8 --- /dev/null +++ b/web_digital_sign/static/src/css/jquery-ui.css @@ -0,0 +1,1225 @@ +/*! jQuery UI - v1.11.2 - 2014-10-16 +* http://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=segoe%20ui%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=ece8da&bgTextureHeader=gloss_wave&bgImgOpacityHeader=100&borderColorHeader=d4ccb0&fcHeader=433f38&iconColorHeader=847e71&bgColorContent=f5f3e5&bgTextureContent=highlight_hard&bgImgOpacityContent=100&borderColorContent=dfd9c3&fcContent=312e25&iconColorContent=808080&bgColorDefault=459e00&bgTextureDefault=highlight_hard&bgImgOpacityDefault=15&borderColorDefault=327E04&fcDefault=ffffff&iconColorDefault=eeeeee&bgColorHover=67b021&bgTextureHover=highlight_soft&bgImgOpacityHover=25&borderColorHover=327E04&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=fafaf4&bgTextureActive=highlight_hard&bgImgOpacityActive=100&borderColorActive=d4ccb0&fcActive=459e00&iconColorActive=8DC262&bgColorHighlight=fcf0ba&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=e8e1b5&fcHighlight=363636&iconColorHighlight=8DC262&bgColorError=ffedad&bgTextureError=highlight_soft&bgImgOpacityError=95&borderColorError=e3a345&fcError=cd5c0a&iconColorError=cd0a0a&bgColorOverlay=2b2922&bgTextureOverlay=inset_soft&bgImgOpacityOverlay=15&opacityOverlay=90&bgColorShadow=cccccc&bgTextureShadow=highlight_hard&bgImgOpacityShadow=95&opacityShadow=20&thicknessShadow=12px&offsetTopShadow=-12px&offsetLeftShadow=-12px&cornerRadiusShadow=10px +* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-clearfix { + min-height: 0; /* support: IE7 */ +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; +} + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin: 2px 0 0 0; + padding: .5em .5em .5em .7em; + min-height: 0; /* support: IE7 */ + font-size: 100%; +} +.ui-accordion .ui-accordion-icons { + padding-left: 2.2em; +} +.ui-accordion .ui-accordion-icons .ui-accordion-icons { + padding-left: 2.2em; +} +.ui-accordion .ui-accordion-header .ui-accordion-header-icon { + position: absolute; + left: .5em; + top: 50%; + margin-top: -8px; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-button { + display: inline-block; + position: relative; + padding: 0; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + overflow: visible; /* removes extra width in IE */ +} +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; +} +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2.2em; +} +/* button elements seem to need a little more width */ +button.ui-button-icon-only { + width: 2.4em; +} +.ui-button-icons-only { + width: 3.4em; +} +button.ui-button-icons-only { + width: 3.7em; +} + +/* button text element */ +.ui-button .ui-button-text { + display: block; + line-height: normal; +} +.ui-button-text-only .ui-button-text { + padding: .4em 1em; +} +.ui-button-icon-only .ui-button-text, +.ui-button-icons-only .ui-button-text { + padding: .4em; + text-indent: -9999999px; +} +.ui-button-text-icon-primary .ui-button-text, +.ui-button-text-icons .ui-button-text { + padding: .4em 1em .4em 2.1em; +} +.ui-button-text-icon-secondary .ui-button-text, +.ui-button-text-icons .ui-button-text { + padding: .4em 2.1em .4em 1em; +} +.ui-button-text-icons .ui-button-text { + padding-left: 2.1em; + padding-right: 2.1em; +} +/* no icon support for input elements, provide padding by default */ +input.ui-button { + padding: .4em 1em; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon, +.ui-button-text-icon-primary .ui-icon, +.ui-button-text-icon-secondary .ui-icon, +.ui-button-text-icons .ui-icon, +.ui-button-icons-only .ui-icon { + position: absolute; + top: 50%; + margin-top: -8px; +} +.ui-button-icon-only .ui-icon { + left: 50%; + margin-left: -8px; +} +.ui-button-text-icon-primary .ui-button-icon-primary, +.ui-button-text-icons .ui-button-icon-primary, +.ui-button-icons-only .ui-button-icon-primary { + left: .5em; +} +.ui-button-text-icon-secondary .ui-button-icon-secondary, +.ui-button-text-icons .ui-button-icon-secondary, +.ui-button-icons-only .ui-button-icon-secondary { + right: .5em; +} + +/* button sets */ +.ui-buttonset { + margin-right: 7px; +} +.ui-buttonset .ui-button { + margin-left: 0; + margin-right: -.3em; +} + +/* workarounds */ +/* reset extra padding in Firefox, see h5bp.com/l */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 45%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} +.ui-dialog { + overflow: hidden; + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 20px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-se { + width: 12px; + height: 12px; + right: -5px; + bottom: -5px; + background-position: 16px 16px; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-menu { + list-style: none; + padding: 0; + margin: 0; + display: block; + outline: none; +} +.ui-menu .ui-menu { + position: absolute; +} +.ui-menu .ui-menu-item { + position: relative; + margin: 0; + padding: 3px 1em 3px .4em; + cursor: pointer; + min-height: 0; /* support: IE7 */ + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); +} +.ui-menu .ui-menu-divider { + margin: 5px 0; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-state-focus, +.ui-menu .ui-state-active { + margin: -1px; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item { + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: 0; + bottom: 0; + left: .2em; + margin: auto 0; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + left: auto; + right: 0; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("data:image/gif;base64,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"); + height: 100%; + filter: alpha(opacity=25); /* support: IE8 */ + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-selectmenu-menu { + padding: 0; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: none; +} +.ui-selectmenu-menu .ui-menu { + overflow: auto; + /* Support: IE7 */ + overflow-x: hidden; + padding-bottom: 1px; +} +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { + font-size: 1em; + font-weight: bold; + line-height: 1.5; + padding: 2px 0.4em; + margin: 0.5em 0 0 0; + height: auto; + border: 0; +} +.ui-selectmenu-open { + display: block; +} +.ui-selectmenu-button { + display: inline-block; + overflow: hidden; + position: relative; + text-decoration: none; + cursor: pointer; +} +.ui-selectmenu-button span.ui-icon { + right: 0.5em; + left: auto; + margin-top: -8px; + position: absolute; + top: 50%; +} +.ui-selectmenu-button span.ui-selectmenu-text { + text-align: left; + padding: 0.4em 2.1em 0.4em 1em; + display: block; + line-height: 1.4; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* support: IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 22px; +} +.ui-spinner-button { + width: 16px; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to override default borders */ +.ui-spinner a.ui-spinner-button { + border-top: none; + border-bottom: none; + border-right: none; +} +/* vertically center icon */ +.ui-spinner .ui-icon { + position: absolute; + margin-top: -8px; + top: 50%; + left: 0; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} + +/* TR overrides */ +.ui-spinner .ui-icon-triangle-1-s { + /* need to fix icons sprite */ + background-position: -65px -16px; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; + -webkit-box-shadow: 0 0 5px #aaa; + box-shadow: 0 0 5px #aaa; +} +body .ui-tooltip { + border-width: 2px; +} + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: segoe ui,Arial,sans-serif; + font-size: 1.1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: segoe ui,Arial,sans-serif; + font-size: 1em; +} +.ui-widget-content { + border: 1px solid #dfd9c3; + background: #f5f3e5 url("images/ui-bg_highlight-hard_100_f5f3e5_1x100.png") 50% top repeat-x; + color: #312e25; +} +.ui-widget-content a { + color: #312e25; +} +.ui-widget-header { + border: 1px solid #d4ccb0; + background: #ece8da url("images/ui-bg_gloss-wave_100_ece8da_500x100.png") 50% 50% repeat-x; + color: #433f38; + font-weight: bold; +} +.ui-widget-header a { + color: #433f38; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { + border: 1px solid #327E04; + background: #459e00 url("images/ui-bg_highlight-hard_15_459e00_1x100.png") 50% 50% repeat-x; + font-weight: bold; + color: #ffffff; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { + color: #ffffff; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { + border: 1px solid #327E04; + background: #67b021 url("images/ui-bg_highlight-soft_25_67b021_1x100.png") 50% 50% repeat-x; + font-weight: bold; + color: #ffffff; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited { + color: #ffffff; + text-decoration: none; +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { + border: 1px solid #d4ccb0; + background: #fafaf4 url("images/ui-bg_highlight-hard_100_fafaf4_1x100.png") 50% 50% repeat-x; + font-weight: bold; + color: #459e00; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #459e00; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #e8e1b5; + background: #fcf0ba url("images/ui-bg_glass_55_fcf0ba_1x400.png") 50% 50% repeat-x; + color: #363636; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #363636; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #e3a345; + background: #ffedad url("images/ui-bg_highlight-soft_95_ffedad_1x100.png") 50% top repeat-x; + color: #cd5c0a; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #cd5c0a; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #cd5c0a; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("images/ui-icons_808080_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("images/ui-icons_847e71_256x240.png"); +} +.ui-state-default .ui-icon { + background-image: url("images/ui-icons_eeeeee_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url("images/ui-icons_ffffff_256x240.png"); +} +.ui-state-active .ui-icon { + background-image: url("images/ui-icons_8DC262_256x240.png"); +} +.ui-state-highlight .ui-icon { + background-image: url("images/ui-icons_8DC262_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("images/ui-icons_cd0a0a_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 6px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 6px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 6px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 6px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #2b2922 url("images/ui-bg_inset-soft_15_2b2922_1x100.png") 50% bottom repeat-x; + opacity: .9; + filter: Alpha(Opacity=90); /* support: IE8 */ +} +.ui-widget-shadow { + margin: -12px 0 0 -12px; + padding: 12px; + background: #cccccc url("images/ui-bg_highlight-hard_95_cccccc_1x100.png") 50% top repeat-x; + opacity: .2; + filter: Alpha(Opacity=20); /* support: IE8 */ + border-radius: 10px; +} diff --git a/web_digital_sign/static/src/css/jquery.signature.css b/web_digital_sign/static/src/css/jquery.signature.css new file mode 100644 index 00000000..5952cf50 --- /dev/null +++ b/web_digital_sign/static/src/css/jquery.signature.css @@ -0,0 +1,5 @@ +/* Styles for signature plugin v1.1.0. */ +.kbw-signature { + display: inline-block; + border: 1px solid #a0a0a0; +} diff --git a/web_digital_sign/static/src/img/icon.png b/web_digital_sign/static/src/img/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..53dd30d963540cd1eee217c8db5ee89277fab319 GIT binary patch literal 16349 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 literal 0 HcmV?d00001 diff --git a/web_digital_sign/static/src/js/digital_sign.js b/web_digital_sign/static/src/js/digital_sign.js new file mode 100644 index 00000000..8fc0bfb5 --- /dev/null +++ b/web_digital_sign/static/src/js/digital_sign.js @@ -0,0 +1,132 @@ +openerp.web_digital_sign = function(instance) { + var _t = instance.web._t; + var QWeb = instance.web.qweb; + var images = {} + + instance.web.form.widgets.add('signature', 'instance.web.form.FieldSignature'); + instance.web.form.FieldSignature = instance.web.form.FieldBinaryImage.extend({ + template: 'FieldSignature', + render_value: function() { + var self = this; + var url; + if (this.get('value') && !instance.web.form.is_bin_size(this.get('value'))) { + url = 'data:image/png;base64,' + this.get('value'); + }else if (this.get('value')) { + var id = JSON.stringify(this.view.datarecord.id || null); + self.digita_dataset = new instance.web.DataSetSearch(self, self.view.model, {}, []); + self.digita_dataset.read_slice(['id', self.name], {'domain': [['id', '=', id]]}).then(function(records){ + _.each(records,function(record){ + if(record[self.name]){ + images[self.name] = record[self.name] + }else{ + images[self.name] = "" + } + }) + }) + var field = this.name; + if (this.options.preview_image) + field = this.options.preview_image; + url = this.session.url('/web/binary/image', { + model: this.view.dataset.model, + id: id, + field: field, + t: (new Date().getTime()), + }); + }else { + images[self.name] = "" + url = this.placeholder; + self.set('value',images[self.name]) + } + var $img = $(QWeb.render("FieldBinaryImage-img", { widget: this, url: url })); + this.$el.find('img').remove(); + if(this.view.get("actual_mode") !== 'edit' && this.view.get("actual_mode") !== 'create'){ + this.$el.prepend($img); + }else if(this.view.get("actual_mode") == 'edit' ){ + this.$el.find('> img').remove(); + this.$el.find('> canvas').remove(); + if(! this.get('value')){ + this.$el.find('> img').remove(); + $(this.$el[0]).find(".signature").signature(); + }else if(this.get('value')){ + this.$el.prepend($img); + } + }else if( this.view.get("actual_mode") == 'create'){ + images = {} + this.$el.find('> img').remove(); + this.$el.find('> canvas').remove(); + if(! this.get('value')){ + this.$el.find('> img').remove(); + $(this.$el[0]).find(".signature").signature(); + }else if(this.get('value')){ + this.$el.prepend($img); + } + } + $(this.$el[0]).find('.clear_sign').click(function(){ + self.$el.find('> img').remove(); + images[self.name] = "" + $(self.$el[0]).find(".signature").show(); + $(self.$el[0]).find(".signature").signature('clear'); + }); + $('.save_sign').click(function(){ + var val + if($(self.$el[0]).find(".signature").hasClass( "kbw-signature" ) && ! $(self.$el[0]).find(".signature").signature('isEmpty')){ + $(self.$el[0]).find(".signature").hide(); + val = $(self.$el[0]).find(".signature > canvas")[0].toDataURL(); + images[self.name] = val.split(',')[1] + var $img = $(QWeb.render("FieldBinaryImage-extend", { widget: self, url: val })); + self.$el.find('> img').remove(); + self.$el.prepend($img); + self.set('value',val.split(',')[1]) + var id = JSON.stringify(self.view.datarecord.id || null); + var field = self.name; + url = self.session.url('/web/binary/image', { + model: self.view.dataset.model, + id: id, + field: field, + t: (new Date().getTime()), + }); + }else{ + var id = JSON.stringify(self.view.datarecord.id || null); + var field = self.name; + if (self.options.preview_image) + field = self.options.preview_image; + url = self.session.url('/web/binary/image', { + model: self.view.dataset.model, + id: id, + field: field, + t: (new Date().getTime()), + }); + var $img = $(QWeb.render("FieldBinaryImage-extend", { widget: self, url: url })); + self.$el.find('> img').remove(); + } + }); + $img.load(function() { + if (! self.options.size) + return; + $img.css("max-width", "" + self.options.size[0] + "px"); + $img.css("max-height", "" + self.options.size[1] + "px"); + $img.css("margin-left", "" + (self.options.size[0] - $img.width()) / 2 + "px"); + $img.css("margin-top", "" + (self.options.size[1] - $img.height()) / 2 + "px"); + }); + $img.on('error', function() { + $img.attr('src', self.placeholder); + instance.webclient.notification.warn(_t("Image"), _t("Could not display the selected image.")); + }); + }, + }); + instance.web.FormView.include({ + save: function(prepend_on_create) { + var self = this; + $('.save_sign').click() + var save_obj = {prepend_on_create: prepend_on_create, ret: null}; + this.save_list.push(save_obj); + return this._process_operations().then(function() { + if (save_obj.error) + return $.Deferred().reject(); + return $.when.apply($, save_obj.ret); + }).done(function() { + self.$el.removeClass('oe_form_dirty'); + }); + }, + }) +} diff --git a/web_digital_sign/static/src/xml/digital_sign.xml b/web_digital_sign/static/src/xml/digital_sign.xml new file mode 100644 index 00000000..68cf2d64 --- /dev/null +++ b/web_digital_sign/static/src/xml/digital_sign.xml @@ -0,0 +1,18 @@ + + + +
+

+ + +
+ + + + + \ No newline at end of file diff --git a/web_digital_sign/users.py b/web_digital_sign/users.py new file mode 100644 index 00000000..cf641f67 --- /dev/null +++ b/web_digital_sign/users.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 OpenERP SA () +# Copyright (C) 2011-2015 Serpent Consulting Services Pvt. Ltd. (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.osv import osv, fields + +class Users(osv.Model): + _inherit = 'res.users' + + _columns = { + 'signature_image': fields.binary('Signature') + } + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/web_digital_sign/users_view.xml b/web_digital_sign/users_view.xml new file mode 100644 index 00000000..ef0c0d8f --- /dev/null +++ b/web_digital_sign/users_view.xml @@ -0,0 +1,18 @@ + + + + + + inherited.res.users.form + res.users + + + + + + + + + \ No newline at end of file From 4251af33f5e912af9d1606e51b821264f51b43d1 Mon Sep 17 00:00:00 2001 From: Mohamed Magdy Date: Mon, 30 Mar 2015 08:26:09 +0200 Subject: [PATCH 2/7] Add XML file to import static files instead of the __openerp__.py file, it fits Odoo v8.0 Convert the business object 'Users' to Odoo 8.0 format --- web_digital_sign/__openerp__.py | 12 +++--------- web_digital_sign/users.py | 11 +++++------ web_digital_sign/views/we_digital_sign_view.xml | 13 +++++++++++++ 3 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 web_digital_sign/views/we_digital_sign_view.xml diff --git a/web_digital_sign/__openerp__.py b/web_digital_sign/__openerp__.py index 6e872a2f..687ce325 100644 --- a/web_digital_sign/__openerp__.py +++ b/web_digital_sign/__openerp__.py @@ -31,15 +31,9 @@ This module provides the functionality to store digital signature image for a record. The example can be seen into the User's form view where we have added a test field under signature. """, - 'data': ['users_view.xml'], - 'js':[ - "static/lib/excanvas.js", - "static/lib/jquery.signature.js", - "static/src/js/digital_sign.js", - ], - 'css':[ - "static/src/css/digital.css", - "static/src/css/jquery.signature.css", + 'data': [ + 'views/we_digital_sign_view.xml', + 'users_view.xml' ], 'website': 'http://www.serpentcs.com', 'qweb': ['static/src/xml/digital_sign.xml'], diff --git a/web_digital_sign/users.py b/web_digital_sign/users.py index cf641f67..20486b62 100644 --- a/web_digital_sign/users.py +++ b/web_digital_sign/users.py @@ -20,13 +20,12 @@ # ############################################################################## -from openerp.osv import osv, fields +from openerp import models, fields, api -class Users(osv.Model): +class Users(models.Model): + _name = 'res.users' _inherit = 'res.users' - - _columns = { - 'signature_image': fields.binary('Signature') - } + + signature_image= fields.Binary(string='Signature') # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/web_digital_sign/views/we_digital_sign_view.xml b/web_digital_sign/views/we_digital_sign_view.xml new file mode 100644 index 00000000..b366fd51 --- /dev/null +++ b/web_digital_sign/views/we_digital_sign_view.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file From 03618d35023b1e85bd27f7424c576848de04145e Mon Sep 17 00:00:00 2001 From: MeetSCS Date: Tue, 1 Dec 2015 14:35:11 +0530 Subject: [PATCH 3/7] Removed v8 modules. Migrated digital sign and one2many kanban Added Lib for digital sign module. Fixed the issue of xpath ref #45. --- web_digital_sign/LICENSE/LICENSE | 17 +++++ web_digital_sign/__init__.py | 22 +------ web_digital_sign/__openerp__.py | 24 +------ .../static/src/js/digital_sign.js | 65 +++++++++++-------- web_digital_sign/users.py | 23 +------ web_digital_sign/users_view.xml | 16 ++--- 6 files changed, 67 insertions(+), 100 deletions(-) create mode 100644 web_digital_sign/LICENSE/LICENSE diff --git a/web_digital_sign/LICENSE/LICENSE b/web_digital_sign/LICENSE/LICENSE new file mode 100644 index 00000000..ab881729 --- /dev/null +++ b/web_digital_sign/LICENSE/LICENSE @@ -0,0 +1,17 @@ + OpenERP, Open Source Management Solution + Copyright (C) 2004-2010 OpenERP SA () + Copyright (C) 2011-2015 Serpent Consulting Services Pvt. Ltd. (). + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + diff --git a/web_digital_sign/__init__.py b/web_digital_sign/__init__.py index e14f6294..1656f744 100644 --- a/web_digital_sign/__init__.py +++ b/web_digital_sign/__init__.py @@ -1,24 +1,4 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 OpenERP SA () -# Copyright (C) 2011-2015 Serpent Consulting Services Pvt. Ltd. (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - +# Part of Odoo. See LICENSE file for full copyright and licensing details. import users # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/web_digital_sign/__openerp__.py b/web_digital_sign/__openerp__.py index 687ce325..a2f39803 100644 --- a/web_digital_sign/__openerp__.py +++ b/web_digital_sign/__openerp__.py @@ -1,27 +1,7 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 OpenERP SA () -# Copyright (C) 2011-2015 Serpent Consulting Services Pvt. Ltd. (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## - +# Part of Odoo. See LICENSE file for full copyright and licensing details. { - "name" : "Web Digital Signature", + "name" : "Web Digital Signature 9.0", "version" : "1.0", "author" : "Serpent Consulting Services Pvt. Ltd.", "category": '', diff --git a/web_digital_sign/static/src/js/digital_sign.js b/web_digital_sign/static/src/js/digital_sign.js index 8fc0bfb5..1363b93d 100644 --- a/web_digital_sign/static/src/js/digital_sign.js +++ b/web_digital_sign/static/src/js/digital_sign.js @@ -1,19 +1,25 @@ -openerp.web_digital_sign = function(instance) { - var _t = instance.web._t; - var QWeb = instance.web.qweb; - var images = {} +odoo.define('web_digital_sign.web_digital_sign',function(require){ + "use strict"; - instance.web.form.widgets.add('signature', 'instance.web.form.FieldSignature'); - instance.web.form.FieldSignature = instance.web.form.FieldBinaryImage.extend({ + var core = require('web.core'); + var data = require('web.data'); + var FormView = require('web.FormView'); + var utils = require('web.utils'); + + var _t = core._t; + var QWeb = core.qweb; + var images = {}; + + var FieldSignature = core.form_widget_registry.map.image.extend({ template: 'FieldSignature', render_value: function() { var self = this; var url; - if (this.get('value') && !instance.web.form.is_bin_size(this.get('value'))) { + if (this.get('value') && ! utils.is_bin_size(this.get('value'))) { url = 'data:image/png;base64,' + this.get('value'); }else if (this.get('value')) { var id = JSON.stringify(this.view.datarecord.id || null); - self.digita_dataset = new instance.web.DataSetSearch(self, self.view.model, {}, []); + self.digita_dataset = new data.DataSetSearch(self, self.view.model, {}, []); self.digita_dataset.read_slice(['id', self.name], {'domain': [['id', '=', id]]}).then(function(records){ _.each(records,function(record){ if(record[self.name]){ @@ -67,7 +73,7 @@ openerp.web_digital_sign = function(instance) { $(self.$el[0]).find(".signature").show(); $(self.$el[0]).find(".signature").signature('clear'); }); - $('.save_sign').click(function(){ + $(this.$el[0]).find('.save_sign').on('click',function(){ var val if($(self.$el[0]).find(".signature").hasClass( "kbw-signature" ) && ! $(self.$el[0]).find(".signature").signature('isEmpty')){ $(self.$el[0]).find(".signature").hide(); @@ -86,18 +92,18 @@ openerp.web_digital_sign = function(instance) { t: (new Date().getTime()), }); }else{ - var id = JSON.stringify(self.view.datarecord.id || null); - var field = self.name; - if (self.options.preview_image) - field = self.options.preview_image; - url = self.session.url('/web/binary/image', { - model: self.view.dataset.model, - id: id, - field: field, - t: (new Date().getTime()), - }); - var $img = $(QWeb.render("FieldBinaryImage-extend", { widget: self, url: url })); - self.$el.find('> img').remove(); + var id = JSON.stringify(self.view.datarecord.id || null); + var field = self.name; + if (self.options.preview_image) + field = self.options.preview_image; + url = self.session.url('/web/binary/image', { + model: self.view.dataset.model, + id: id, + field: field, + t: (new Date().getTime()), + }); + var $img = $(QWeb.render("FieldBinaryImage-extend", { widget: self, url: url })); + self.$el.find('> img').remove(); } }); $img.load(function() { @@ -109,24 +115,29 @@ openerp.web_digital_sign = function(instance) { $img.css("margin-top", "" + (self.options.size[1] - $img.height()) / 2 + "px"); }); $img.on('error', function() { + console.log("eroor") $img.attr('src', self.placeholder); - instance.webclient.notification.warn(_t("Image"), _t("Could not display the selected image.")); + self.do_warn(_t("Image"), _t("Could not display the selected image.")); }); }, }); - instance.web.FormView.include({ + + core.form_widget_registry.add('signature', FieldSignature) + + FormView.include({ save: function(prepend_on_create) { var self = this; $('.save_sign').click() var save_obj = {prepend_on_create: prepend_on_create, ret: null}; this.save_list.push(save_obj); - return this._process_operations().then(function() { + return self._process_operations().then(function() { if (save_obj.error) return $.Deferred().reject(); return $.when.apply($, save_obj.ret); - }).done(function() { + }).done(function(result) { self.$el.removeClass('oe_form_dirty'); }); }, - }) -} + }); + +}); diff --git a/web_digital_sign/users.py b/web_digital_sign/users.py index 20486b62..92e6e1ef 100644 --- a/web_digital_sign/users.py +++ b/web_digital_sign/users.py @@ -1,24 +1,5 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2004-2010 OpenERP SA () -# Copyright (C) 2011-2015 Serpent Consulting Services Pvt. Ltd. (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# Part of Odoo. See LICENSE file for full copyright and licensing details. from openerp import models, fields, api @@ -26,6 +7,6 @@ class Users(models.Model): _name = 'res.users' _inherit = 'res.users' - signature_image= fields.Binary(string='Signature') + signature= fields.Binary(string='Signature') # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/web_digital_sign/users_view.xml b/web_digital_sign/users_view.xml index ef0c0d8f..8c7cc427 100644 --- a/web_digital_sign/users_view.xml +++ b/web_digital_sign/users_view.xml @@ -1,18 +1,16 @@ - - - + + inherited.res.users.form res.users - - + + - - + \ No newline at end of file From 6008384b79f47b48edf36cf91fb86fc075b1097c Mon Sep 17 00:00:00 2001 From: Vishal Patel Date: Tue, 6 Jun 2017 10:50:59 +0530 Subject: [PATCH 4/7] Improved the code and fixed the issue when first time record is being created then jsignature library was not properly initialized. Fixed travis ci log. Improved the code. Improve the description and replaced the attribute 'id' with 'class'. --- web_digital_sign/__init__.py | 2 +- web_digital_sign/__openerp__.py | 26 +- web_digital_sign/static/description/icon.png | Bin 16349 -> 19994 bytes web_digital_sign/static/description/img/1.png | Bin 0 -> 192275 bytes web_digital_sign/static/description/img/2.png | Bin 0 -> 192799 bytes web_digital_sign/static/description/img/3.png | Bin 0 -> 183664 bytes .../static/description/index.html | 68 + web_digital_sign/static/lib/excanvas.js | 924 ----------- .../static/lib/jSignature/jSignatureCustom.js | 1392 +++++++++++++++++ .../static/lib/jquery.signature.js | 244 --- web_digital_sign/static/src/css/digital.css | 10 - web_digital_sign/static/src/css/jquery-ui.css | 1225 --------------- .../static/src/css/jquery.signature.css | 5 - web_digital_sign/static/src/img/icon.png | Bin 16349 -> 0 bytes .../static/src/js/digital_sign.js | 207 ++- .../static/src/xml/digital_sign.xml | 32 +- web_digital_sign/users.py | 1 - web_digital_sign/users_view.xml | 3 +- .../views/we_digital_sign_view.xml | 14 +- 19 files changed, 1600 insertions(+), 2553 deletions(-) create mode 100644 web_digital_sign/static/description/img/1.png create mode 100644 web_digital_sign/static/description/img/2.png create mode 100644 web_digital_sign/static/description/img/3.png create mode 100644 web_digital_sign/static/description/index.html delete mode 100644 web_digital_sign/static/lib/excanvas.js create mode 100644 web_digital_sign/static/lib/jSignature/jSignatureCustom.js delete mode 100644 web_digital_sign/static/lib/jquery.signature.js delete mode 100644 web_digital_sign/static/src/css/digital.css delete mode 100644 web_digital_sign/static/src/css/jquery-ui.css delete mode 100644 web_digital_sign/static/src/css/jquery.signature.css delete mode 100644 web_digital_sign/static/src/img/icon.png diff --git a/web_digital_sign/__init__.py b/web_digital_sign/__init__.py index 1656f744..b597d73a 100644 --- a/web_digital_sign/__init__.py +++ b/web_digital_sign/__init__.py @@ -1,4 +1,4 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. import users -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file + diff --git a/web_digital_sign/__openerp__.py b/web_digital_sign/__openerp__.py index a2f39803..1b0cd679 100644 --- a/web_digital_sign/__openerp__.py +++ b/web_digital_sign/__openerp__.py @@ -1,16 +1,27 @@ # -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. +# See LICENSE file for full copyright and licensing details. { "name" : "Web Digital Signature 9.0", - "version" : "1.0", - "author" : "Serpent Consulting Services Pvt. Ltd.", + "version" : "9.0.1.0.0", + 'author': 'Serpent Consulting Services Pvt. Ltd.', "category": '', + 'license': 'AGPL-3', 'complexity': "easy", 'depends': ['web'], - "description": """ - This module provides the functionality to store digital signature image for a record. - The example can be seen into the User's form view where we have added a test field under signature. - """, + 'description': ''' + This module provides the functionality to store digital signature + for a record. + -> This module is helpfull to make your business process a little + bit more faster & makes it more user friendly by providing you + digital signature functionality on your documents. + -> It is touch screen enable so user can add signature with touch + devices. + -> Digital signature can be very usefull for documents such as + sale orders, purchase orders, inovoices, payslips, procurement + receipts, etc. + The example can be seen into the User's form view where we have + added a test field under signature. + ''', 'data': [ 'views/we_digital_sign_view.xml', 'users_view.xml' @@ -21,4 +32,3 @@ 'auto_install': False, } -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/web_digital_sign/static/description/icon.png b/web_digital_sign/static/description/icon.png index 53dd30d963540cd1eee217c8db5ee89277fab319..d15532dd701481bac03256586f4205e9296217a2 100644 GIT binary patch literal 19994 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 diff --git a/web_digital_sign/static/description/img/1.png b/web_digital_sign/static/description/img/1.png new file mode 100644 index 0000000000000000000000000000000000000000..fa633751a473a6f868a093a07f3104039fce7801 GIT binary patch literal 192275 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 #TLC3i;DZ&(kCY+$P5?xRKIWLscm!_BF zKIDH;muZc2-d&k66m;eO9EX=@woUZQTKmJqF#mY-{G8|TU(a+L$BSQE;%mpbxV|dk>ik3zKqhhvuhw6D36CBKMp|0z4A-R zaLz+%&SM2o6vVb~t&HqThuEh>!u!%q_j^786$X{F5}@N9?b;5q*#Ten{{g_Bf`U6B z1^H-a;~SMn5qlQpwD@@bn>wnpgO8o&z|45DC`A9MzNs}qZDcv~5kdnntL5^#-1mRk z{r)`yGI$qp2heUE9v=FO8GCvvc`7N*e4{1SB#vZZ8Np8mQs4$gMx9UVArI*INhvA7 zd;jK57imq)oo^$hrL;1oW%hPoXJ=>c{5$_X4aFfvI(de^-q##~=QgL~Xv3Rl*Drd^Gdippf91J?wdq8dHzTJ&o*>>xZzOFjjG zWFE`?7`%~W9%=o)vgaJ$ZnCHR`#kp60BRgKyxREXn)wK?_L@MTq6l|_`3l8sh484U zwIa7jL6_f?qwdIp@;87K-I@BACuM?11h+TZwzUVxhl9uL9F(~BgcoYP2Of(KrKaSw z8WJ>NNyzb%Se&W7=}+i1g*-*J7=3_s%scXBj6;}9l^TpnAWVRWB`%F3O<4V7s-!GT zqk6(ImIfDEz2Kl+3~h~&eLm|`-hGZkdid55cJcM+y%}M7rtnKK;hIfrbM+TyW}EJN zMAnZ-u|td=RI)xFm))O^C>cRAPif-m{5>#<=F2ZNp?gG4{&^|?4#M~gIb@`#GZyw! zLjen&oWlM`vH-?d(p^>Qg;h~&Jh2Ix^yfF1$$Lf%6en)_eY+_+er3x?zWY-Jbt@}m zxd^|&SH+cpIO4b!AtXtST(X;o%p79-Zjf{eFa!FaHa3%*neSzgGl!xVn2t3W}hXDO> z`+Y^K#KeDU0a6|2I#-ZDas^$&{B8bKQ%f+{7S#@`vnaKoT}ScMqqSpL+OBK!%Eok) zk+C|NR(pZLq4aiefMo}kvdQk!ePL;SZzK;b==-CTZ2!9pk?tR_bkyW!X`a0fkADFfX^DprjPanFM>LSofl_-l zntQ`bT%76_+}zxRGMn;hxXQzoXkJ^|*`4n!1Qf*sbh?c9NGx?PBvX5XlOVQO>OcO@ z6)*|h_&5g?c}MP&7DZF^K90{MRtObNW4Yhhc#oPl?0y0uG4fOvjO+2a!mTzE_)}{-Nk`U z_yw7r|5xkN3yvxrVK=K4Zd04-6W(v%q6V!ItGenYwSP*Sv?q0 zw=c+HncR#j1TX|kTp4u0$v_|k5D9_6Hr#_D}d`9rqT9jY$cpe~T^Ivb|_MPmwqKcw?rYrRFISQIp zanb#plCg@*ApBtN=~Bic%}SvCVJk!7nm1LV*;l`1&1Pxg2M3cg()u-O%&rOxa`3@* zxJHVw?{3!f(p9bJXeRYMVHzp4(})qCbX;qzz`&0QeV2~6h@~ar%XjY%72v$7px!oP zpUswJUI=j!=>#2E%+_-A{5F><$!Q?#Ct9w4T<*kDiVJQ;74 z2f+6rX(3NICr;LT`4W(#e2E)sFz(OsQ7VJ@wL0s``QsB&1iTpHt)7tR4k)4;a3@2n zjP31nTT0FbOZXQZ;I%7lzE?-diCG;N(3MtG3@A_0U$LHZbNuOltHZ>5p~*5$x}SQ1 z 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ஜ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 literal 0 HcmV?d00001 diff --git a/web_digital_sign/static/description/img/2.png b/web_digital_sign/static/description/img/2.png new file mode 100644 index 0000000000000000000000000000000000000000..39f2775fff91e1a665d65b6b4e29a03c08319a9d GIT binary patch literal 192799 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

LPsOKc3-)sa156W?Yh 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 literal 0 HcmV?d00001 diff --git a/web_digital_sign/static/description/img/3.png b/web_digital_sign/static/description/img/3.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb84b4316ae6610afb9c21a0a60f9e522f9318a GIT binary patch literal 183664 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

#_Ft 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 gdVjCypO$6cg}oXwaEb5P^XDss +

+
+

Web Digital Signature

+

This module provides the functionality to store digital signature for a record

+
    +
  • This module is helpfull to make your business process a little bit more faster & makes it more user friendly by providing you digital signature functionality on your documents.
  • +
  • It is touch screen enable so user can add signature with touch devices.
  • +
  • Digital signature can be very usefull for documents such as sale orders, purchase orders, inovoices, payslips, procurement receipts, etc.
  • +
+
+
+

+

Usage

+

To use this module, you need to add widget="signature" to your binary field in your view.

+ +
+ +
+
+
+

+

Digital Signature View

+

User can store their digital signature + in the binary field, as you can see image. +

+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+

Draw Signature

+

As shown in the image, user can add a signature using mouse, pen, or finger.

+
+
+
+
+
+
+

Clear Digital Signature

+

User can clear signature using clear button and it will re-initialize the signature.

+
+
+
+ +
+
+
+
+ + +
+

For any questions, support and development

+

+ +  Contact Us  +

+
diff --git a/web_digital_sign/static/lib/excanvas.js b/web_digital_sign/static/lib/excanvas.js deleted file mode 100644 index 367764b4..00000000 --- a/web_digital_sign/static/lib/excanvas.js +++ /dev/null @@ -1,924 +0,0 @@ -// Copyright 2006 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -// Known Issues: -// -// * Patterns are not implemented. -// * Radial gradient are not implemented. The VML version of these look very -// different from the canvas one. -// * Clipping paths are not implemented. -// * Coordsize. The width and height attribute have higher priority than the -// width and height style values which isn't correct. -// * Painting mode isn't implemented. -// * Canvas width/height should is using content-box by default. IE in -// Quirks mode will draw the canvas using border-box. Either change your -// doctype to HTML5 -// (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype) -// or use Box Sizing Behavior from WebFX -// (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html) -// * Non uniform scaling does not correctly scale strokes. -// * Optimize. There is always room for speed improvements. - -// Only add this code if we do not already have a canvas implementation -if (!document.createElement('canvas').getContext) { - -(function() { - - // alias some functions to make (compiled) code shorter - var m = Math; - var mr = m.round; - var ms = m.sin; - var mc = m.cos; - var abs = m.abs; - var sqrt = m.sqrt; - - // this is used for sub pixel precision - var Z = 10; - var Z2 = Z / 2; - - /** - * This funtion is assigned to the elements as element.getContext(). - * @this {HTMLElement} - * @return {CanvasRenderingContext2D_} - */ - function getContext() { - return this.context_ || - (this.context_ = new CanvasRenderingContext2D_(this)); - } - - var slice = Array.prototype.slice; - - /** - * Binds a function to an object. The returned function will always use the - * passed in {@code obj} as {@code this}. - * - * Example: - * - * g = bind(f, obj, a, b) - * g(c, d) // will do f.call(obj, a, b, c, d) - * - * @param {Function} f The function to bind the object to - * @param {Object} obj The object that should act as this when the function - * is called - * @param {*} var_args Rest arguments that will be used as the initial - * arguments when the function is called - * @return {Function} A new function that has bound this - */ - function bind(f, obj, var_args) { - var a = slice.call(arguments, 2); - return function() { - return f.apply(obj, a.concat(slice.call(arguments))); - }; - } - - var G_vmlCanvasManager_ = { - init: function(opt_doc) { - if (/MSIE/.test(navigator.userAgent) && !window.opera) { - var doc = opt_doc || document; - // Create a dummy element so that IE will allow canvas elements to be - // recognized. - doc.createElement('canvas'); - doc.attachEvent('onreadystatechange', bind(this.init_, this, doc)); - } - }, - - init_: function(doc) { - // create xmlns - if (!doc.namespaces['g_vml_']) { - doc.namespaces.add('g_vml_', 'urn:schemas-microsoft-com:vml', - '#default#VML'); - - } - if (!doc.namespaces['g_o_']) { - doc.namespaces.add('g_o_', 'urn:schemas-microsoft-com:office:office', - '#default#VML'); - } - - // Setup default CSS. Only add one style sheet per document - if (!doc.styleSheets['ex_canvas_']) { - var ss = doc.createStyleSheet(); - ss.owningElement.id = 'ex_canvas_'; - ss.cssText = 'canvas{display:inline-block;overflow:hidden;' + - // default size is 300x150 in Gecko and Opera - 'text-align:left;width:300px;height:150px}' + - 'g_vml_\\:*{behavior:url(#default#VML)}' + - 'g_o_\\:*{behavior:url(#default#VML)}'; - - } - - // find all canvas elements - var els = doc.getElementsByTagName('canvas'); - for (var i = 0; i < els.length; i++) { - this.initElement(els[i]); - } - }, - - /** - * Public initializes a canvas element so that it can be used as canvas - * element from now on. This is called automatically before the page is - * loaded but if you are creating elements using createElement you need to - * make sure this is called on the element. - * @param {HTMLElement} el The canvas element to initialize. - * @return {HTMLElement} the element that was created. - */ - initElement: function(el) { - if (!el.getContext) { - - el.getContext = getContext; - - // Remove fallback content. There is no way to hide text nodes so we - // just remove all childNodes. We could hide all elements and remove - // text nodes but who really cares about the fallback content. - el.innerHTML = ''; - - // do not use inline function because that will leak memory - el.attachEvent('onpropertychange', onPropertyChange); - el.attachEvent('onresize', onResize); - - var attrs = el.attributes; - if (attrs.width && attrs.width.specified) { - // TODO: use runtimeStyle and coordsize - // el.getContext().setWidth_(attrs.width.nodeValue); - el.style.width = attrs.width.nodeValue + 'px'; - } else { - el.width = el.clientWidth; - } - if (attrs.height && attrs.height.specified) { - // TODO: use runtimeStyle and coordsize - // el.getContext().setHeight_(attrs.height.nodeValue); - el.style.height = attrs.height.nodeValue + 'px'; - } else { - el.height = el.clientHeight; - } - //el.getContext().setCoordsize_() - } - return el; - } - }; - - function onPropertyChange(e) { - var el = e.srcElement; - - switch (e.propertyName) { - case 'width': - el.style.width = el.attributes.width.nodeValue + 'px'; - el.getContext().clearRect(); - break; - case 'height': - el.style.height = el.attributes.height.nodeValue + 'px'; - el.getContext().clearRect(); - break; - } - } - - function onResize(e) { - var el = e.srcElement; - if (el.firstChild) { - el.firstChild.style.width = el.clientWidth + 'px'; - el.firstChild.style.height = el.clientHeight + 'px'; - } - } - - G_vmlCanvasManager_.init(); - - // precompute "00" to "FF" - var dec2hex = []; - for (var i = 0; i < 16; i++) { - for (var j = 0; j < 16; j++) { - dec2hex[i * 16 + j] = i.toString(16) + j.toString(16); - } - } - - function createMatrixIdentity() { - return [ - [1, 0, 0], - [0, 1, 0], - [0, 0, 1] - ]; - } - - function matrixMultiply(m1, m2) { - var result = createMatrixIdentity(); - - for (var x = 0; x < 3; x++) { - for (var y = 0; y < 3; y++) { - var sum = 0; - - for (var z = 0; z < 3; z++) { - sum += m1[x][z] * m2[z][y]; - } - - result[x][y] = sum; - } - } - return result; - } - - function copyState(o1, o2) { - o2.fillStyle = o1.fillStyle; - o2.lineCap = o1.lineCap; - o2.lineJoin = o1.lineJoin; - o2.lineWidth = o1.lineWidth; - o2.miterLimit = o1.miterLimit; - o2.shadowBlur = o1.shadowBlur; - o2.shadowColor = o1.shadowColor; - o2.shadowOffsetX = o1.shadowOffsetX; - o2.shadowOffsetY = o1.shadowOffsetY; - o2.strokeStyle = o1.strokeStyle; - o2.globalAlpha = o1.globalAlpha; - o2.arcScaleX_ = o1.arcScaleX_; - o2.arcScaleY_ = o1.arcScaleY_; - o2.lineScale_ = o1.lineScale_; - } - - function processStyle(styleString) { - var str, alpha = 1; - - styleString = String(styleString); - if (styleString.substring(0, 3) == 'rgb') { - var start = styleString.indexOf('(', 3); - var end = styleString.indexOf(')', start + 1); - var guts = styleString.substring(start + 1, end).split(','); - - str = '#'; - for (var i = 0; i < 3; i++) { - str += dec2hex[Number(guts[i])]; - } - - if (guts.length == 4 && styleString.substr(3, 1) == 'a') { - alpha = guts[3]; - } - } else { - str = styleString; - } - - return {color: str, alpha: alpha}; - } - - function processLineCap(lineCap) { - switch (lineCap) { - case 'butt': - return 'flat'; - case 'round': - return 'round'; - case 'square': - default: - return 'square'; - } - } - - /** - * This class implements CanvasRenderingContext2D interface as described by - * the WHATWG. - * @param {HTMLElement} surfaceElement The element that the 2D context should - * be associated with - */ - function CanvasRenderingContext2D_(surfaceElement) { - this.m_ = createMatrixIdentity(); - - this.mStack_ = []; - this.aStack_ = []; - this.currentPath_ = []; - - // Canvas context properties - this.strokeStyle = '#000'; - this.fillStyle = '#000'; - - this.lineWidth = 1; - this.lineJoin = 'miter'; - this.lineCap = 'butt'; - this.miterLimit = Z * 1; - this.globalAlpha = 1; - this.canvas = surfaceElement; - - var el = surfaceElement.ownerDocument.createElement('div'); - el.style.width = surfaceElement.clientWidth + 'px'; - el.style.height = surfaceElement.clientHeight + 'px'; - el.style.overflow = 'hidden'; - el.style.position = 'absolute'; - surfaceElement.appendChild(el); - - this.element_ = el; - this.arcScaleX_ = 1; - this.arcScaleY_ = 1; - this.lineScale_ = 1; - } - - var contextPrototype = CanvasRenderingContext2D_.prototype; - contextPrototype.clearRect = function() { - this.element_.innerHTML = ''; - }; - - contextPrototype.beginPath = function() { - // TODO: Branch current matrix so that save/restore has no effect - // as per safari docs. - this.currentPath_ = []; - }; - - contextPrototype.moveTo = function(aX, aY) { - var p = this.getCoords_(aX, aY); - this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y}); - this.currentX_ = p.x; - this.currentY_ = p.y; - }; - - contextPrototype.lineTo = function(aX, aY) { - var p = this.getCoords_(aX, aY); - this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y}); - - this.currentX_ = p.x; - this.currentY_ = p.y; - }; - - contextPrototype.bezierCurveTo = function(aCP1x, aCP1y, - aCP2x, aCP2y, - aX, aY) { - var p = this.getCoords_(aX, aY); - var cp1 = this.getCoords_(aCP1x, aCP1y); - var cp2 = this.getCoords_(aCP2x, aCP2y); - bezierCurveTo(this, cp1, cp2, p); - }; - - // Helper function that takes the already fixed cordinates. - function bezierCurveTo(self, cp1, cp2, p) { - self.currentPath_.push({ - type: 'bezierCurveTo', - cp1x: cp1.x, - cp1y: cp1.y, - cp2x: cp2.x, - cp2y: cp2.y, - x: p.x, - y: p.y - }); - self.currentX_ = p.x; - self.currentY_ = p.y; - } - - contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) { - // the following is lifted almost directly from - // http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes - - var cp = this.getCoords_(aCPx, aCPy); - var p = this.getCoords_(aX, aY); - - var cp1 = { - x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_), - y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_) - }; - var cp2 = { - x: cp1.x + (p.x - this.currentX_) / 3.0, - y: cp1.y + (p.y - this.currentY_) / 3.0 - }; - - bezierCurveTo(this, cp1, cp2, p); - }; - - contextPrototype.arc = function(aX, aY, aRadius, - aStartAngle, aEndAngle, aClockwise) { - aRadius *= Z; - var arcType = aClockwise ? 'at' : 'wa'; - - var xStart = aX + mc(aStartAngle) * aRadius - Z2; - var yStart = aY + ms(aStartAngle) * aRadius - Z2; - - var xEnd = aX + mc(aEndAngle) * aRadius - Z2; - var yEnd = aY + ms(aEndAngle) * aRadius - Z2; - - // IE won't render arches drawn counter clockwise if xStart == xEnd. - if (xStart == xEnd && !aClockwise) { - xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something - // that can be represented in binary - } - - var p = this.getCoords_(aX, aY); - var pStart = this.getCoords_(xStart, yStart); - var pEnd = this.getCoords_(xEnd, yEnd); - - this.currentPath_.push({type: arcType, - x: p.x, - y: p.y, - radius: aRadius, - xStart: pStart.x, - yStart: pStart.y, - xEnd: pEnd.x, - yEnd: pEnd.y}); - - }; - - contextPrototype.rect = function(aX, aY, aWidth, aHeight) { - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - }; - - contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) { - var oldPath = this.currentPath_; - this.beginPath(); - - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - this.stroke(); - - this.currentPath_ = oldPath; - }; - - contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) { - var oldPath = this.currentPath_; - this.beginPath(); - - this.moveTo(aX, aY); - this.lineTo(aX + aWidth, aY); - this.lineTo(aX + aWidth, aY + aHeight); - this.lineTo(aX, aY + aHeight); - this.closePath(); - this.fill(); - - this.currentPath_ = oldPath; - }; - - contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) { - var gradient = new CanvasGradient_('gradient'); - gradient.x0_ = aX0; - gradient.y0_ = aY0; - gradient.x1_ = aX1; - gradient.y1_ = aY1; - return gradient; - }; - - contextPrototype.createRadialGradient = function(aX0, aY0, aR0, - aX1, aY1, aR1) { - var gradient = new CanvasGradient_('gradientradial'); - gradient.x0_ = aX0; - gradient.y0_ = aY0; - gradient.r0_ = aR0; - gradient.x1_ = aX1; - gradient.y1_ = aY1; - gradient.r1_ = aR1; - return gradient; - }; - - contextPrototype.drawImage = function(image, var_args) { - var dx, dy, dw, dh, sx, sy, sw, sh; - - // to find the original width we overide the width and height - var oldRuntimeWidth = image.runtimeStyle.width; - var oldRuntimeHeight = image.runtimeStyle.height; - image.runtimeStyle.width = 'auto'; - image.runtimeStyle.height = 'auto'; - - // get the original size - var w = image.width; - var h = image.height; - - // and remove overides - image.runtimeStyle.width = oldRuntimeWidth; - image.runtimeStyle.height = oldRuntimeHeight; - - if (arguments.length == 3) { - dx = arguments[1]; - dy = arguments[2]; - sx = sy = 0; - sw = dw = w; - sh = dh = h; - } else if (arguments.length == 5) { - dx = arguments[1]; - dy = arguments[2]; - dw = arguments[3]; - dh = arguments[4]; - sx = sy = 0; - sw = w; - sh = h; - } else if (arguments.length == 9) { - sx = arguments[1]; - sy = arguments[2]; - sw = arguments[3]; - sh = arguments[4]; - dx = arguments[5]; - dy = arguments[6]; - dw = arguments[7]; - dh = arguments[8]; - } else { - throw Error('Invalid number of arguments'); - } - - var d = this.getCoords_(dx, dy); - - var w2 = sw / 2; - var h2 = sh / 2; - - var vmlStr = []; - - var W = 10; - var H = 10; - - // For some reason that I've now forgotten, using divs didn't work - vmlStr.push(' ' , - '', - ''); - - this.element_.insertAdjacentHTML('BeforeEnd', - vmlStr.join('')); - }; - - contextPrototype.stroke = function(aFill) { - var lineStr = []; - var lineOpen = false; - var a = processStyle(aFill ? this.fillStyle : this.strokeStyle); - var color = a.color; - var opacity = a.alpha * this.globalAlpha; - - var W = 10; - var H = 10; - - lineStr.push(''); - - if (!aFill) { - var lineWidth = this.lineScale_ * this.lineWidth; - - // VML cannot correctly render a line if the width is less than 1px. - // In that case, we dilute the color to make the line look thinner. - if (lineWidth < 1) { - opacity *= lineWidth; - } - - lineStr.push( - '' - ); - } else if (typeof this.fillStyle == 'object') { - var fillStyle = this.fillStyle; - var angle = 0; - var focus = {x: 0, y: 0}; - - // additional offset - var shift = 0; - // scale factor for offset - var expansion = 1; - - if (fillStyle.type_ == 'gradient') { - var x0 = fillStyle.x0_ / this.arcScaleX_; - var y0 = fillStyle.y0_ / this.arcScaleY_; - var x1 = fillStyle.x1_ / this.arcScaleX_; - var y1 = fillStyle.y1_ / this.arcScaleY_; - var p0 = this.getCoords_(x0, y0); - var p1 = this.getCoords_(x1, y1); - var dx = p1.x - p0.x; - var dy = p1.y - p0.y; - angle = Math.atan2(dx, dy) * 180 / Math.PI; - - // The angle should be a non-negative number. - if (angle < 0) { - angle += 360; - } - - // Very small angles produce an unexpected result because they are - // converted to a scientific notation string. - if (angle < 1e-6) { - angle = 0; - } - } else { - var p0 = this.getCoords_(fillStyle.x0_, fillStyle.y0_); - var width = max.x - min.x; - var height = max.y - min.y; - focus = { - x: (p0.x - min.x) / width, - y: (p0.y - min.y) / height - }; - - width /= this.arcScaleX_ * Z; - height /= this.arcScaleY_ * Z; - var dimension = m.max(width, height); - shift = 2 * fillStyle.r0_ / dimension; - expansion = 2 * fillStyle.r1_ / dimension - shift; - } - - // We need to sort the color stops in ascending order by offset, - // otherwise IE won't interpret it correctly. - var stops = fillStyle.colors_; - stops.sort(function(cs1, cs2) { - return cs1.offset - cs2.offset; - }); - - var length = stops.length; - var color1 = stops[0].color; - var color2 = stops[length - 1].color; - var opacity1 = stops[0].alpha * this.globalAlpha; - var opacity2 = stops[length - 1].alpha * this.globalAlpha; - - var colors = []; - for (var i = 0; i < length; i++) { - var stop = stops[i]; - colors.push(stop.offset * expansion + shift + ' ' + stop.color); - } - - // When colors attribute is used, the meanings of opacity and o:opacity2 - // are reversed. - lineStr.push(''); - } else { - lineStr.push(''); - } - - lineStr.push(''); - - this.element_.insertAdjacentHTML('beforeEnd', lineStr.join('')); - }; - - contextPrototype.fill = function() { - this.stroke(true); - } - - contextPrototype.closePath = function() { - this.currentPath_.push({type: 'close'}); - }; - - /** - * @private - */ - contextPrototype.getCoords_ = function(aX, aY) { - var m = this.m_; - return { - x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2, - y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2 - } - }; - - contextPrototype.save = function() { - var o = {}; - copyState(this, o); - this.aStack_.push(o); - this.mStack_.push(this.m_); - this.m_ = matrixMultiply(createMatrixIdentity(), this.m_); - }; - - contextPrototype.restore = function() { - copyState(this.aStack_.pop(), this); - this.m_ = this.mStack_.pop(); - }; - - function matrixIsFinite(m) { - for (var j = 0; j < 3; j++) { - for (var k = 0; k < 2; k++) { - if (!isFinite(m[j][k]) || isNaN(m[j][k])) { - return false; - } - } - } - return true; - } - - function setM(ctx, m, updateLineScale) { - if (!matrixIsFinite(m)) { - return; - } - ctx.m_ = m; - - if (updateLineScale) { - // Get the line scale. - // Determinant of this.m_ means how much the area is enlarged by the - // transformation. So its square root can be used as a scale factor - // for width. - var det = m[0][0] * m[1][1] - m[0][1] * m[1][0]; - ctx.lineScale_ = sqrt(abs(det)); - } - } - - contextPrototype.translate = function(aX, aY) { - var m1 = [ - [1, 0, 0], - [0, 1, 0], - [aX, aY, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), false); - }; - - contextPrototype.rotate = function(aRot) { - var c = mc(aRot); - var s = ms(aRot); - - var m1 = [ - [c, s, 0], - [-s, c, 0], - [0, 0, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), false); - }; - - contextPrototype.scale = function(aX, aY) { - this.arcScaleX_ *= aX; - this.arcScaleY_ *= aY; - var m1 = [ - [aX, 0, 0], - [0, aY, 0], - [0, 0, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), true); - }; - - contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) { - var m1 = [ - [m11, m12, 0], - [m21, m22, 0], - [dx, dy, 1] - ]; - - setM(this, matrixMultiply(m1, this.m_), true); - }; - - contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) { - var m = [ - [m11, m12, 0], - [m21, m22, 0], - [dx, dy, 1] - ]; - - setM(this, m, true); - }; - - /******** STUBS ********/ - contextPrototype.clip = function() { - // TODO: Implement - }; - - contextPrototype.arcTo = function() { - // TODO: Implement - }; - - contextPrototype.createPattern = function() { - return new CanvasPattern_; - }; - - // Gradient / Pattern Stubs - function CanvasGradient_(aType) { - this.type_ = aType; - this.x0_ = 0; - this.y0_ = 0; - this.r0_ = 0; - this.x1_ = 0; - this.y1_ = 0; - this.r1_ = 0; - this.colors_ = []; - } - - CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) { - aColor = processStyle(aColor); - this.colors_.push({offset: aOffset, - color: aColor.color, - alpha: aColor.alpha}); - }; - - function CanvasPattern_() {} - - // set up externs - G_vmlCanvasManager = G_vmlCanvasManager_; - CanvasRenderingContext2D = CanvasRenderingContext2D_; - CanvasGradient = CanvasGradient_; - CanvasPattern = CanvasPattern_; - -})(); - -} // if diff --git a/web_digital_sign/static/lib/jSignature/jSignatureCustom.js b/web_digital_sign/static/lib/jSignature/jSignatureCustom.js new file mode 100644 index 00000000..bb99cac8 --- /dev/null +++ b/web_digital_sign/static/lib/jSignature/jSignatureCustom.js @@ -0,0 +1,1392 @@ +/** @preserve +jSignature v2 "${buildDate}" "${commitID}" +Copyright (c) 2012 Willow Systems Corp http://willow-systems.com +Copyright (c) 2010 Brinley Ang http://www.unbolt.net +MIT License + +*/ +;(function() { + +var apinamespace = 'jSignature' + +/** +Allows one to delay certain eventual action by setting up a timer for it and allowing one to delay it +by "kick"ing it. Sorta like "kick the can down the road" + +@public +@class +@param +@returns {Type} +*/ +var KickTimerClass = function(time, callback) { + var timer + this.kick = function() { + clearTimeout(timer) + timer = setTimeout( + callback + , time + ) + } + this.clear = function() { + clearTimeout(timer) + } + return this +} + +var PubSubClass = function(context){ + 'use strict' + /* @preserve + ----------------------------------------------------------------------------------------------- + JavaScript PubSub library + 2012 (c) Willow Systems Corp (www.willow-systems.com) + based on Peter Higgins (dante@dojotoolkit.org) + Loosely based on Dojo publish/subscribe API, limited in scope. Rewritten blindly. + Original is (c) Dojo Foundation 2004-2010. Released under either AFL or new BSD, see: + http://dojofoundation.org/license for more information. + ----------------------------------------------------------------------------------------------- + */ + this.topics = {} + // here we choose what will be "this" for the called events. + // if context is defined, it's context. Else, 'this' is this instance of PubSub + this.context = context ? context : this + /** + * Allows caller to emit an event and pass arguments to event listeners. + * @public + * @function + * @param topic {String} Name of the channel on which to voice this event + * @param **arguments Any number of arguments you want to pass to the listeners of this event. + */ + this.publish = function(topic, arg1, arg2, etc) { + 'use strict' + if (this.topics[topic]) { + var currentTopic = this.topics[topic] + , args = Array.prototype.slice.call(arguments, 1) + , toremove = [] + , fn + , i, l + , pair + + for (i = 0, l = currentTopic.length; i < l; i++) { + pair = currentTopic[i] // this is a [function, once_flag] array + fn = pair[0] + if (pair[1] /* 'run once' flag set */){ + pair[0] = function(){} + toremove.push(i) + } + fn.apply(this.context, args) + } + for (i = 0, l = toremove.length; i < l; i++) { + currentTopic.splice(toremove[i], 1) + } + } + } + /** + * Allows listener code to subscribe to channel and be called when data is available + * @public + * @function + * @param topic {String} Name of the channel on which to voice this event + * @param callback {Function} Executable (function pointer) that will be ran when event is voiced on this channel. + * @param once {Boolean} (optional. False by default) Flag indicating if the function is to be triggered only once. + * @returns {Object} A token object that cen be used for unsubscribing. + */ + this.subscribe = function(topic, callback, once) { + 'use strict' + if (!this.topics[topic]) { + this.topics[topic] = [[callback, once]]; + } else { + this.topics[topic].push([callback,once]); + } + return { + "topic": topic, + "callback": callback + }; + }; + /** + * Allows listener code to unsubscribe from a channel + * @public + * @function + * @param token {Object} A token object that was returned by `subscribe` method + */ + this.unsubscribe = function(token) { + if (this.topics[token.topic]) { + var currentTopic = this.topics[token.topic] + + for (var i = 0, l = currentTopic.length; i < l; i++) { + if (currentTopic[i][0] === token.callback) { + currentTopic.splice(i, 1) + } + } + } + } +} + +/// Returns front, back and "decor" colors derived from element (as jQuery obj) +function getColors($e){ + var tmp + , undef + , frontcolor = $e.css('color') + , backcolor + , e = $e[0] + + var toOfDOM = false + while(e && !backcolor && !toOfDOM){ + try{ + tmp = $(e).css('background-color') + } catch (ex) { + tmp = 'transparent' + } + if (tmp !== 'transparent' && tmp !== 'rgba(0, 0, 0, 0)'){ + backcolor = tmp + } + toOfDOM = e.body + e = e.parentNode + } + + var rgbaregex = /rgb[a]*\((\d+),\s*(\d+),\s*(\d+)/ // modern browsers + , hexregex = /#([AaBbCcDdEeFf\d]{2})([AaBbCcDdEeFf\d]{2})([AaBbCcDdEeFf\d]{2})/ // IE 8 and less. + , frontcolorcomponents + + // Decomposing Front color into R, G, B ints + tmp = undef + tmp = frontcolor.match(rgbaregex) + if (tmp){ + frontcolorcomponents = {'r':parseInt(tmp[1],10),'g':parseInt(tmp[2],10),'b':parseInt(tmp[3],10)} + } else { + tmp = frontcolor.match(hexregex) + if (tmp) { + frontcolorcomponents = {'r':parseInt(tmp[1],16),'g':parseInt(tmp[2],16),'b':parseInt(tmp[3],16)} + } + } +// if(!frontcolorcomponents){ +// frontcolorcomponents = {'r':255,'g':255,'b':255} +// } + + var backcolorcomponents + // Decomposing back color into R, G, B ints + if(!backcolor){ + // HIghly unlikely since this means that no background styling was applied to any element from here to top of dom. + // we'll pick up back color from front color + if(frontcolorcomponents){ + if (Math.max.apply(null, [frontcolorcomponents.r, frontcolorcomponents.g, frontcolorcomponents.b]) > 127){ + backcolorcomponents = {'r':0,'g':0,'b':0} + } else { + backcolorcomponents = {'r':255,'g':255,'b':255} + } + } else { + // arg!!! front color is in format we don't understand (hsl, named colors) + // Let's just go with white background. + backcolorcomponents = {'r':255,'g':255,'b':255} + } + } else { + tmp = undef + tmp = backcolor.match(rgbaregex) + if (tmp){ + backcolorcomponents = {'r':parseInt(tmp[1],10),'g':parseInt(tmp[2],10),'b':parseInt(tmp[3],10)} + } else { + tmp = backcolor.match(hexregex) + if (tmp) { + backcolorcomponents = {'r':parseInt(tmp[1],16),'g':parseInt(tmp[2],16),'b':parseInt(tmp[3],16)} + } + } +// if(!backcolorcomponents){ +// backcolorcomponents = {'r':0,'g':0,'b':0} +// } + } + + // Deriving Decor color + // THis is LAZY!!!! Better way would be to use HSL and adjust luminocity. However, that could be an overkill. + + var toRGBfn = function(o){return 'rgb(' + [o.r, o.g, o.b].join(', ') + ')'} + , decorcolorcomponents + , frontcolorbrightness + , adjusted + + if (frontcolorcomponents && backcolorcomponents){ + var backcolorbrightness = Math.max.apply(null, [frontcolorcomponents.r, frontcolorcomponents.g, frontcolorcomponents.b]) + + frontcolorbrightness = Math.max.apply(null, [backcolorcomponents.r, backcolorcomponents.g, backcolorcomponents.b]) + adjusted = Math.round(frontcolorbrightness + (-1 * (frontcolorbrightness - backcolorbrightness) * 0.75)) // "dimming" the difference between pen and back. + decorcolorcomponents = {'r':adjusted,'g':adjusted,'b':adjusted} // always shade of gray + } else if (frontcolorcomponents) { + frontcolorbrightness = Math.max.apply(null, [frontcolorcomponents.r, frontcolorcomponents.g, frontcolorcomponents.b]) + var polarity = +1 + if (frontcolorbrightness > 127){ + polarity = -1 + } + // shifting by 25% (64 points on RGB scale) + adjusted = Math.round(frontcolorbrightness + (polarity * 96)) // "dimming" the pen's color by 75% to get decor color. + decorcolorcomponents = {'r':adjusted,'g':adjusted,'b':adjusted} // always shade of gray + } else { + decorcolorcomponents = {'r':191,'g':191,'b':191} // always shade of gray + } + + return { + 'color': frontcolor + , 'background-color': backcolorcomponents? toRGBfn(backcolorcomponents) : backcolor + , 'decor-color': toRGBfn(decorcolorcomponents) + } +} + +function Vector(x,y){ + this.x = x + this.y = y + this.reverse = function(){ + return new this.constructor( + this.x * -1 + , this.y * -1 + ) + } + this._length = null + this.getLength = function(){ + if (!this._length){ + this._length = Math.sqrt( Math.pow(this.x, 2) + Math.pow(this.y, 2) ) + } + return this._length + } + + var polarity = function (e){ + return Math.round(e / Math.abs(e)) + } + this.resizeTo = function(length){ + // proportionally changes x,y such that the hypotenuse (vector length) is = new length + if (this.x === 0 && this.y === 0){ + this._length = 0 + } else if (this.x === 0){ + this._length = length + this.y = length * polarity(this.y) + } else if(this.y === 0){ + this._length = length + this.x = length * polarity(this.x) + } else { + var proportion = Math.abs(this.y / this.x) + , x = Math.sqrt(Math.pow(length, 2) / (1 + Math.pow(proportion, 2))) + , y = proportion * x + this._length = length + this.x = x * polarity(this.x) + this.y = y * polarity(this.y) + } + return this + } + + /** + * Calculates the angle between 'this' vector and another. + * @public + * @function + * @returns {Number} The angle between the two vectors as measured in PI. + */ + this.angleTo = function(vectorB) { + var divisor = this.getLength() * vectorB.getLength() + if (divisor === 0) { + return 0 + } else { + // JavaScript floating point math is screwed up. + // because of it, the core of the formula can, on occasion, have values + // over 1.0 and below -1.0. + return Math.acos( + Math.min( + Math.max( + ( this.x * vectorB.x + this.y * vectorB.y ) / divisor + , -1.0 + ) + , 1.0 + ) + ) / Math.PI + } + } +} + +function Point(x,y){ + this.x = x + this.y = y + + this.getVectorToCoordinates = function (x, y) { + return new Vector(x - this.x, y - this.y) + } + this.getVectorFromCoordinates = function (x, y) { + return this.getVectorToCoordinates(x, y).reverse() + } + this.getVectorToPoint = function (point) { + return new Vector(point.x - this.x, point.y - this.y) + } + this.getVectorFromPoint = function (point) { + return this.getVectorToPoint(point).reverse() + } +} + +/* + * About data structure: + * We don't store / deal with "pictures" this signature capture code captures "vectors" + * + * We don't store bitmaps. We store "strokes" as arrays of arrays. (Actually, arrays of objects containing arrays of coordinates. + * + * Stroke = mousedown + mousemoved * n (+ mouseup but we don't record that as that was the "end / lack of movement" indicator) + * + * Vectors = not classical vectors where numbers indicated shift relative last position. Our vectors are actually coordinates against top left of canvas. + * we could calc the classical vectors, but keeping the the actual coordinates allows us (through Math.max / min) + * to calc the size of resulting drawing very quickly. If we want classical vectors later, we can always get them in backend code. + * + * So, the data structure: + * + * var data = [ + * { // stroke starts + * x : [101, 98, 57, 43] // x points + * , y : [1, 23, 65, 87] // y points + * } // stroke ends + * , { // stroke starts + * x : [55, 56, 57, 58] // x points + * , y : [101, 97, 54, 4] // y points + * } // stroke ends + * , { // stroke consisting of just a dot + * x : [53] // x points + * , y : [151] // y points + * } // stroke ends + * ] + * + * we don't care or store stroke width (it's canvas-size-relative), color, shadow values. These can be added / changed on whim post-capture. + * + */ +function DataEngine(storageObject, context, startStrokeFn, addToStrokeFn, endStrokeFn){ + this.data = storageObject // we expect this to be an instance of Array + this.context = context + + if (storageObject.length){ + // we have data to render + var numofstrokes = storageObject.length + , stroke + , numofpoints + + for (var i = 0; i < numofstrokes; i++){ + stroke = storageObject[i] + numofpoints = stroke.x.length + startStrokeFn.call(context, stroke) + for(var j = 1; j < numofpoints; j++){ + addToStrokeFn.call(context, stroke, j) + } + endStrokeFn.call(context, stroke) + } + } + + this.changed = function(){} + + this.startStrokeFn = startStrokeFn + this.addToStrokeFn = addToStrokeFn + this.endStrokeFn = endStrokeFn + + this.inStroke = false + + this._lastPoint = null + this._stroke = null + this.startStroke = function(point){ + if(point && typeof(point.x) == "number" && typeof(point.y) == "number"){ + this._stroke = {'x':[point.x], 'y':[point.y]} + this.data.push(this._stroke) + this._lastPoint = point + this.inStroke = true + // 'this' does not work same inside setTimeout( + var stroke = this._stroke + , fn = this.startStrokeFn + , context = this.context + setTimeout( + // some IE's don't support passing args per setTimeout API. Have to create closure every time instead. + function() {fn.call(context, stroke)} + , 3 + ) + return point + } else { + return null + } + } + // that "5" at the very end of this if is important to explain. + // we do NOT render links between two captured points (in the middle of the stroke) if the distance is shorter than that number. + // not only do we NOT render it, we also do NOT capture (add) these intermediate points to storage. + // when clustering of these is too tight, it produces noise on the line, which, because of smoothing, makes lines too curvy. + // maybe, later, we can expose this as a configurable setting of some sort. + this.addToStroke = function(point){ + if (this.inStroke && + typeof(point.x) === "number" && + typeof(point.y) === "number" && + // calculates absolute shift in diagonal pixels away from original point + (Math.abs(point.x - this._lastPoint.x) + Math.abs(point.y - this._lastPoint.y)) > 4 + ){ + var positionInStroke = this._stroke.x.length + this._stroke.x.push(point.x) + this._stroke.y.push(point.y) + this._lastPoint = point + + var stroke = this._stroke + , fn = this.addToStrokeFn + , context = this.context + setTimeout( + // some IE's don't support passing args per setTimeout API. Have to create closure every time instead. + function() {fn.call(context, stroke, positionInStroke)} + , 3 + ) + return point + } else { + return null + } + } + this.endStroke = function(){ + var c = this.inStroke + this.inStroke = false + this._lastPoint = null + if (c){ + var stroke = this._stroke + , fn = this.endStrokeFn // 'this' does not work same inside setTimeout( + , context = this.context + , changedfn = this.changed + setTimeout( + // some IE's don't support passing args per setTimeout API. Have to create closure every time instead. + function(){ + fn.call(context, stroke) + changedfn.call(context) + } + , 3 + ) + return true + } else { + return null + } + } +} + +var basicDot = function(ctx, x, y, size){ + var fillStyle = ctx.fillStyle + ctx.fillStyle = ctx.strokeStyle + ctx.fillRect(x + size / -2 , y + size / -2, size, size) + ctx.fillStyle = fillStyle +} +, basicLine = function(ctx, startx, starty, endx, endy){ + ctx.beginPath() + ctx.moveTo(startx, starty) + ctx.lineTo(endx, endy) + ctx.stroke() +} +, basicCurve = function(ctx, startx, starty, endx, endy, cp1x, cp1y, cp2x, cp2y){ + ctx.beginPath() + ctx.moveTo(startx, starty) + ctx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, endx, endy) + ctx.stroke() +} +, strokeStartCallback = function(stroke) { + // this = jSignatureClass instance + basicDot(this.canvasContext, stroke.x[0], stroke.y[0], this.settings.lineWidth) +} +, strokeAddCallback = function(stroke, positionInStroke){ + // this = jSignatureClass instance + + // Because we are funky this way, here we draw TWO curves. + // 1. POSSIBLY "this line" - spanning from point right before us, to this latest point. + // 2. POSSIBLY "prior curve" - spanning from "latest point" to the one before it. + + // Why you ask? + // long lines (ones with many pixels between them) do not look good when they are part of a large curvy stroke. + // You know, the jaggedy crocodile spine instead of a pretty, smooth curve. Yuck! + // We want to approximate pretty curves in-place of those ugly lines. + // To approximate a very nice curve we need to know the direction of line before and after. + // Hence, on long lines we actually wait for another point beyond it to come back from + // mousemoved before we draw this curve. + + // So for "prior curve" to be calc'ed we need 4 points + // A, B, C, D (we are on D now, A is 3 points in the past.) + // and 3 lines: + // pre-line (from points A to B), + // this line (from points B to C), (we call it "this" because if it was not yet, it's the only one we can draw for sure.) + // post-line (from points C to D) (even through D point is 'current' we don't know how we can draw it yet) + // + // Well, actually, we don't need to *know* the point A, just the vector A->B + var Cpoint = new Point(stroke.x[positionInStroke-1], stroke.y[positionInStroke-1]) + , Dpoint = new Point(stroke.x[positionInStroke], stroke.y[positionInStroke]) + , CDvector = Cpoint.getVectorToPoint(Dpoint) + + // Again, we have a chance here to draw TWO things: + // BC Curve (only if it's long, because if it was short, it was drawn by previous callback) and + // CD Line (only if it's short) + + // So, let's start with BC curve. + // if there is only 2 points in stroke array, we don't have "history" long enough to have point B, let alone point A. + // Falling through to drawing line CD is proper, as that's the only line we have points for. + if(positionInStroke > 1) { + // we are here when there are at least 3 points in stroke array. + var Bpoint = new Point(stroke.x[positionInStroke-2], stroke.y[positionInStroke-2]) + , BCvector = Bpoint.getVectorToPoint(Cpoint) + , ABvector + if(BCvector.getLength() > this.lineCurveThreshold){ + // Yey! Pretty curves, here we come! + if(positionInStroke > 2) { + // we are here when at least 4 points in stroke array. + ABvector = (new Point(stroke.x[positionInStroke-3], stroke.y[positionInStroke-3])).getVectorToPoint(Bpoint) + } else { + ABvector = new Vector(0,0) + } + + var minlenfraction = 0.05 + , maxlen = BCvector.getLength() * 0.35 + , ABCangle = BCvector.angleTo(ABvector.reverse()) + , BCDangle = CDvector.angleTo(BCvector.reverse()) + , BCP1vector = new Vector(ABvector.x + BCvector.x, ABvector.y + BCvector.y).resizeTo( + Math.max(minlenfraction, ABCangle) * maxlen + ) + , CCP2vector = (new Vector(BCvector.x + CDvector.x, BCvector.y + CDvector.y)).reverse().resizeTo( + Math.max(minlenfraction, BCDangle) * maxlen + ) + + basicCurve( + this.canvasContext + , Bpoint.x + , Bpoint.y + , Cpoint.x + , Cpoint.y + , Bpoint.x + BCP1vector.x + , Bpoint.y + BCP1vector.y + , Cpoint.x + CCP2vector.x + , Cpoint.y + CCP2vector.y + ) + } + } + if(CDvector.getLength() <= this.lineCurveThreshold){ + basicLine( + this.canvasContext + , Cpoint.x + , Cpoint.y + , Dpoint.x + , Dpoint.y + ) + } +} +, strokeEndCallback = function(stroke){ + // this = jSignatureClass instance + + // Here we tidy up things left unfinished in last strokeAddCallback run. + + // What's POTENTIALLY left unfinished there is the curve between the last points + // in the stroke, if the len of that line is more than lineCurveThreshold + // If the last line was shorter than lineCurveThreshold, it was drawn there, and there + // is nothing for us here to do. + // We can also be called when there is only one point in the stroke (meaning, the + // stroke was just a dot), in which case, again, there is nothing for us to do. + + // So for "this curve" to be calc'ed we need 3 points + // A, B, C + // and 2 lines: + // pre-line (from points A to B), + // this line (from points B to C) + // Well, actually, we don't need to *know* the point A, just the vector A->B + // so, we really need points B, C and AB vector. + var positionInStroke = stroke.x.length - 1 + + if (positionInStroke > 0){ + // there are at least 2 points in the stroke.we are in business. + var Cpoint = new Point(stroke.x[positionInStroke], stroke.y[positionInStroke]) + , Bpoint = new Point(stroke.x[positionInStroke-1], stroke.y[positionInStroke-1]) + , BCvector = Bpoint.getVectorToPoint(Cpoint) + , ABvector + if (BCvector.getLength() > this.lineCurveThreshold){ + // yep. This one was left undrawn in prior callback. Have to draw it now. + if (positionInStroke > 1){ + // we have at least 3 elems in stroke + ABvector = (new Point(stroke.x[positionInStroke-2], stroke.y[positionInStroke-2])).getVectorToPoint(Bpoint) + var BCP1vector = new Vector(ABvector.x + BCvector.x, ABvector.y + BCvector.y).resizeTo(BCvector.getLength() / 2) + basicCurve( + this.canvasContext + , Bpoint.x + , Bpoint.y + , Cpoint.x + , Cpoint.y + , Bpoint.x + BCP1vector.x + , Bpoint.y + BCP1vector.y + , Cpoint.x + , Cpoint.y + ) + } else { + // Since there is no AB leg, there is no curve to draw. This line is still "long" but no curve. + basicLine( + this.canvasContext + , Bpoint.x + , Bpoint.y + , Cpoint.x + , Cpoint.y + ) + } + } + } +} + + +/* +var getDataStats = function(){ + var strokecnt = strokes.length + , stroke + , pointid + , pointcnt + , x, y + , maxX = Number.NEGATIVE_INFINITY + , maxY = Number.NEGATIVE_INFINITY + , minX = Number.POSITIVE_INFINITY + , minY = Number.POSITIVE_INFINITY + for(strokeid = 0; strokeid < strokecnt; strokeid++){ + stroke = strokes[strokeid] + pointcnt = stroke.length + for(pointid = 0; pointid < pointcnt; pointid++){ + x = stroke.x[pointid] + y = stroke.y[pointid] + if (x > maxX){ + maxX = x + } else if (x < minX) { + minX = x + } + if (y > maxY){ + maxY = y + } else if (y < minY) { + minY = y + } + } + } + return {'maxX': maxX, 'minX': minX, 'maxY': maxY, 'minY': minY} +} +*/ + +function conditionallyLinkCanvasResizeToWindowResize(jSignatureInstance, settingsWidth, apinamespace, globalEvents){ + 'use strict' + if ( settingsWidth === 'ratio' || settingsWidth.split('')[settingsWidth.length - 1] === '%' ) { + + this.eventTokens[apinamespace + '.parentresized'] = globalEvents.subscribe( + apinamespace + '.parentresized' + , (function(eventTokens, $parent, originalParentWidth, sizeRatio){ + 'use strict' + + return function(){ + 'use strict' + + var w = $parent.width() + if (w !== originalParentWidth) { + + // UNsubscribing this particular instance of signature pad only. + // there is a separate `eventTokens` per each instance of signature pad + for (var key in eventTokens){ + if (eventTokens.hasOwnProperty(key)) { + globalEvents.unsubscribe(eventTokens[key]) + delete eventTokens[key] + } + } + + var settings = jSignatureInstance.settings + jSignatureInstance.$parent.children().remove() + for (var key in jSignatureInstance){ + if (jSignatureInstance.hasOwnProperty(key)) { + delete jSignatureInstance[key] + } + } + + // scale data to new signature pad size + settings.data = (function(data, scale){ + var newData = [] + var o, i, l, j, m, stroke + for ( i = 0, l = data.length; i < l; i++) { + stroke = data[i] + + o = {'x':[],'y':[]} + + for ( j = 0, m = stroke.x.length; j < m; j++) { + o.x.push(stroke.x[j] * scale) + o.y.push(stroke.y[j] * scale) + } + + newData.push(o) + } + return newData + })( + settings.data + , w * 1.0 / originalParentWidth + ) + + $parent[apinamespace](settings) + } + } + })( + this.eventTokens + , this.$parent + , this.$parent.width() + , this.canvas.width * 1.0 / this.canvas.height + ) + ) + } +} + + +function jSignatureClass(parent, options, instanceExtensions) { + + var $parent = this.$parent = $(parent) + , eventTokens = this.eventTokens = {} + , events = this.events = new PubSubClass(this) + , globalEvents = $.fn[apinamespace]('globalEvents') + , settings = { + 'width' : 'ratio' + ,'height' : 'ratio' + ,'sizeRatio': 4 // only used when height = 'ratio' + ,'color' : '#000' + ,'background-color': '#fff' + ,'decor-color': '#eee' + ,'lineWidth' : 0 + ,'minFatFingerCompensation' : -10 + ,'showUndoButton': false + ,'data': [] + } + $.extend(settings, getColors($parent)) + if (options) { + $.extend(settings, options) + } + this.settings = settings + + for (var extensionName in instanceExtensions){ + if (instanceExtensions.hasOwnProperty(extensionName)) { + instanceExtensions[extensionName].call(this, extensionName) + } + } + + this.events.publish(apinamespace+'.initializing') + + // these, when enabled, will hover above the sig area. Hence we append them to DOM before canvas. + this.$controlbarUpper = (function(){ + var controlbarstyle = 'padding:0 !important;margin:0 !important;'+ + 'width: 100% !important; height: 0 !important;'+ + 'margin-top:-1em !important;margin-bottom:1em !important;' + return $('
').appendTo($parent) + })(); + + this.isCanvasEmulator = false // will be flipped by initializer when needed. + var canvas = this.canvas = this.initializeCanvas(settings) + , $canvas = $(canvas) + + this.$controlbarLower = (function(){ + var controlbarstyle = 'padding:0 !important;margin:0 !important;'+ + 'width: 100% !important; height: 0 !important;'+ + 'margin-top:-1.5em !important;margin-bottom:1.5em !important;' + return $('
').appendTo($parent) + })(); + + this.canvasContext = canvas.getContext("2d") + + // Most of our exposed API will be looking for this: + $canvas.data(apinamespace + '.this', this) + + + settings.lineWidth = (function(defaultLineWidth, canvasWidth){ + if (!defaultLineWidth){ + return Math.max( + Math.round(canvasWidth / 400) /*+1 pixel for every extra 300px of width.*/ + , 2 /* minimum line width */ + ) + } else { + return defaultLineWidth + } + })(settings.lineWidth, canvas.width); + + this.lineCurveThreshold = settings.lineWidth * 3 + + // Add custom class if defined + if(settings.cssclass && $.trim(settings.cssclass) != "") { + $canvas.addClass(settings.cssclass) + } + + // used for shifting the drawing point up on touch devices, so one can see the drawing above the finger. + this.fatFingerCompensation = 0 + + var movementHandlers = (function(jSignatureInstance) { + + //================================ + // mouse down, move, up handlers: + + // shifts - adjustment values in viewport pixels drived from position of canvas on the page + var shiftX + , shiftY + , setStartValues = function(){ + var tos = $(jSignatureInstance.canvas).offset() + shiftX = tos.left * -1 + shiftY = tos.top * -1 + } + , getPointFromEvent = function(e) { + var firstEvent = (e.changedTouches && e.changedTouches.length > 0 ? e.changedTouches[0] : e) + // All devices i tried report correct coordinates in pageX,Y + // Android Chrome 2.3.x, 3.1, 3.2., Opera Mobile, safari iOS 4.x, + // Windows: Chrome, FF, IE9, Safari + // None of that scroll shift calc vs screenXY other sigs do is needed. + // ... oh, yeah, the "fatFinger.." is for tablets so that people see what they draw. + return new Point( + Math.round(firstEvent.pageX + shiftX) + , Math.round(firstEvent.pageY + shiftY) + jSignatureInstance.fatFingerCompensation + ) + } + , timer = new KickTimerClass( + 750 + , function() { jSignatureInstance.dataEngine.endStroke() } + ) + + this.drawEndHandler = function(e) { + try { e.preventDefault() } catch (ex) {} + timer.clear() + jSignatureInstance.dataEngine.endStroke() + } + this.drawStartHandler = function(e) { + e.preventDefault() + // for performance we cache the offsets + // we recalc these only at the beginning the stroke + setStartValues() + jSignatureInstance.dataEngine.startStroke( getPointFromEvent(e) ) + timer.kick() + } + this.drawMoveHandler = function(e) { + e.preventDefault() + if (!jSignatureInstance.dataEngine.inStroke){ + return + } + jSignatureInstance.dataEngine.addToStroke( getPointFromEvent(e) ) + timer.kick() + } + + return this + + }).call( {}, this ) + + // + //================================ + + ;(function(drawEndHandler, drawStartHandler, drawMoveHandler) { + var canvas = this.canvas + , $canvas = $(canvas) + , undef + if (this.isCanvasEmulator){ + $canvas.bind('mousemove.'+apinamespace, drawMoveHandler) + $canvas.bind('mouseup.'+apinamespace, drawEndHandler) + $canvas.bind('mousedown.'+apinamespace, drawStartHandler) + } else { + canvas.ontouchstart = function(e) { + canvas.onmousedown = undef + canvas.onmouseup = undef + canvas.onmousemove = undef + + this.fatFingerCompensation = ( + settings.minFatFingerCompensation && + settings.lineWidth * -3 > settings.minFatFingerCompensation + ) ? settings.lineWidth * -3 : settings.minFatFingerCompensation + + drawStartHandler(e) + + canvas.ontouchend = drawEndHandler + canvas.ontouchstart = drawStartHandler + canvas.ontouchmove = drawMoveHandler + } + canvas.onmousedown = function(e) { + canvas.ontouchstart = undef + canvas.ontouchend = undef + canvas.ontouchmove = undef + + drawStartHandler(e) + + canvas.onmousedown = drawStartHandler + canvas.onmouseup = drawEndHandler + canvas.onmousemove = drawMoveHandler + } + } + }).call( + this + , movementHandlers.drawEndHandler + , movementHandlers.drawStartHandler + , movementHandlers.drawMoveHandler + ) + + //========================================= + // various event handlers + + // on mouseout + mouseup canvas did not know that mouseUP fired. Continued to draw despite mouse UP. + // it is bettr than + // $canvas.bind('mouseout', drawEndHandler) + // because we don't want to break the stroke where user accidentally gets ouside and wants to get back in quickly. + eventTokens[apinamespace + '.windowmouseup'] = globalEvents.subscribe( + apinamespace + '.windowmouseup' + , movementHandlers.drawEndHandler + ) + + this.events.publish(apinamespace+'.attachingEventHandlers') + + // If we have proportional width, we sign up to events broadcasting "window resized" and checking if + // parent's width changed. If so, we (1) extract settings + data from current signature pad, + // (2) remove signature pad from parent, and (3) reinit new signature pad at new size with same settings, (rescaled) data. + conditionallyLinkCanvasResizeToWindowResize.call( + this + , this + , settings.width.toString(10) + , apinamespace, globalEvents + ) + + // end of event handlers. + // =============================== + + this.resetCanvas(settings.data) + + // resetCanvas renders the data on the screen and fires ONE "change" event + // if there is data. If you have controls that rely on "change" firing + // attach them to something that runs before this.resetCanvas, like + // apinamespace+'.attachingEventHandlers' that fires a bit higher. + this.events.publish(apinamespace+'.initialized') + + return this +} // end of initBase + +//========================================================================= +// jSignatureClass's methods and supporting fn's + +jSignatureClass.prototype.resetCanvas = function(data){ + var canvas = this.canvas + , settings = this.settings + , ctx = this.canvasContext + , isCanvasEmulator = this.isCanvasEmulator + + , cw = canvas.width + , ch = canvas.height + + // preparing colors, drawing area + + ctx.clearRect(0, 0, cw + 30, ch + 30) + + ctx.shadowColor = ctx.fillStyle = settings['background-color'] + if (isCanvasEmulator){ + // FLashCanvas fills with Black by default, covering up the parent div's background + // hence we refill + ctx.fillRect(0,0,cw + 30, ch + 30) + } + + ctx.lineWidth = Math.ceil(parseInt(settings.lineWidth, 10)) + ctx.lineCap = ctx.lineJoin = "round" + + // signature line + ctx.strokeStyle = settings['decor-color'] + ctx.shadowOffsetX = 0 + ctx.shadowOffsetY = 0 + var lineoffset = Math.round( ch / 5 ) + basicLine(ctx, lineoffset * 1.5, ch - lineoffset, cw - (lineoffset * 1.5), ch - lineoffset) + ctx.strokeStyle = settings.color + + if (!isCanvasEmulator){ + ctx.shadowColor = ctx.strokeStyle + ctx.shadowOffsetX = ctx.lineWidth * 0.5 + ctx.shadowOffsetY = ctx.lineWidth * -0.6 + ctx.shadowBlur = 0 + } + + // setting up new dataEngine + + if (!data) { data = [] } + + var dataEngine = this.dataEngine = new DataEngine( + data + , this + , strokeStartCallback + , strokeAddCallback + , strokeEndCallback + ) + + settings.data = data // onwindowresize handler uses it, i think. + $(canvas).data(apinamespace+'.data', data) + .data(apinamespace+'.settings', settings) + + // we fire "change" event on every change in data. + // setting this up: + dataEngine.changed = (function(target, events, apinamespace) { + 'use strict' + return function() { + events.publish(apinamespace+'.change') + target.trigger('change') + } + })(this.$parent, this.events, apinamespace) + // let's trigger change on all data reloads + dataEngine.changed() + + // import filters will be passing this back as indication of "we rendered" + return true +} + +function initializeCanvasEmulator(canvas){ + if (canvas.getContext){ + return false + } else { + // for cases when jSignature, FlashCanvas is inserted + // from one window into another (child iframe) + // 'window' and 'FlashCanvas' may be stuck behind + // in that other parent window. + // we need to find it + var window = canvas.ownerDocument.parentWindow + var FC = window.FlashCanvas ? + canvas.ownerDocument.parentWindow.FlashCanvas : + ( + typeof FlashCanvas === "undefined" ? + undefined : + FlashCanvas + ) + + if (FC) { + canvas = FC.initElement(canvas) + + var zoom = 1 + // FlashCanvas uses flash which has this annoying habit of NOT scaling with page zoom. + // It matches pixel-to-pixel to screen instead. + // Since we are targeting ONLY IE 7, 8 with FlashCanvas, we will test the zoom only the IE8, IE7 way + if (window && window.screen && window.screen.deviceXDPI && window.screen.logicalXDPI){ + zoom = window.screen.deviceXDPI * 1.0 / window.screen.logicalXDPI + } + if (zoom !== 1){ + try { + // We effectively abuse the brokenness of FlashCanvas and force the flash rendering surface to + // occupy larger pixel dimensions than the wrapping, scaled up DIV and Canvas elems. + $(canvas).children('object').get(0).resize(Math.ceil(canvas.width * zoom), Math.ceil(canvas.height * zoom)) + // And by applying "scale" transformation we can talk "browser pixels" to FlashCanvas + // and have it translate the "browser pixels" to "screen pixels" + canvas.getContext('2d').scale(zoom, zoom) + // Note to self: don't reuse Canvas element. Repeated "scale" are cumulative. + } catch (ex) {} + } + return true + } else { + throw new Error("Canvas element does not support 2d context. jSignature cannot proceed.") + } + } + +} + +jSignatureClass.prototype.initializeCanvas = function(settings) { + // =========== + // Init + Sizing code + + var canvas = document.createElement('canvas') + , $canvas = $(canvas) + + // We cannot work with circular dependency + if (settings.width === settings.height && settings.height === 'ratio') { + settings.width = '100%' + } + + $canvas.css( + 'margin' + , 0 + ).css( + 'padding' + , 0 + ).css( + 'border' + , 'none' + ).css( + 'height' + , settings.height === 'ratio' || !settings.height ? 1 : settings.height.toString(10) + ).css( + 'width' + , settings.width === 'ratio' || !settings.width ? 1 : settings.width.toString(10) + ) + + $canvas.appendTo(this.$parent) + + // we could not do this until canvas is rendered (appended to DOM) + if (settings.height === 'ratio') { + $canvas.css( + 'height' + , Math.round( $canvas.width() / settings.sizeRatio ) + ) + } else if (settings.width === 'ratio') { + $canvas.css( + 'width' + , Math.round( $canvas.height() * settings.sizeRatio ) + ) + } + + $canvas.addClass(apinamespace) + + // canvas's drawing area resolution is independent from canvas's size. + // pixels are just scaled up or down when internal resolution does not + // match external size. So... + + canvas.width = $canvas.width() + canvas.height = $canvas.height() + + // Special case Sizing code + + this.isCanvasEmulator = initializeCanvasEmulator(canvas) + + // End of Sizing Code + // =========== + + // normally select preventer would be short, but + // Canvas emulator on IE does NOT provide value for Event. Hence this convoluted line. + canvas.onselectstart = function(e){if(e && e.preventDefault){e.preventDefault()}; if(e && e.stopPropagation){e.stopPropagation()}; return false;} + + return canvas +} + + +var GlobalJSignatureObjectInitializer = function(window){ + + var globalEvents = new PubSubClass() + + // common "window resized" event listener. + // jSignature instances will subscribe to this chanel. + // to resize themselves when needed. + ;(function(globalEvents, apinamespace, $, window){ + 'use strict' + + var resizetimer + , runner = function(){ + globalEvents.publish( + apinamespace + '.parentresized' + ) + } + + // jSignature knows how to resize its content when its parent is resized + // window resize is the only way we can catch resize events though... + $(window).bind('resize.'+apinamespace, function(){ + if (resizetimer) { + clearTimeout(resizetimer) + } + resizetimer = setTimeout( + runner + , 500 + ) + }) + // when mouse exists canvas element and "up"s outside, we cannot catch it with + // callbacks attached to canvas. This catches it outside. + .bind('mouseup.'+apinamespace, function(e){ + globalEvents.publish( + apinamespace + '.windowmouseup' + ) + }) + + })(globalEvents, apinamespace, $, window) + + var jSignatureInstanceExtensions = { + + 'exampleExtension':function(extensionName){ + // we are called very early in instance's life. + // right after the settings are resolved and + // jSignatureInstance.events is created + // and right before first ("jSignature.initializing") event is called. + // You don't really need to manupilate + // jSignatureInstance directly, just attach + // a bunch of events to jSignatureInstance.events + // (look at the source of jSignatureClass to see when these fire) + // and your special pieces of code will attach by themselves. + + // this function runs every time a new instance is set up. + // this means every var you create will live only for one instance + // unless you attach it to something outside, like "window." + // and pick it up later from there. + + // when globalEvents' events fire, 'this' is globalEvents object + // when jSignatureInstance's events fire, 'this' is jSignatureInstance + + // Here, + // this = is new jSignatureClass's instance. + + // The way you COULD approch setting this up is: + // if you have multistep set up, attach event to "jSignature.initializing" + // that attaches other events to be fired further lower the init stream. + // Or, if you know for sure you rely on only one jSignatureInstance's event, + // just attach to it directly + + this.events.subscribe( + // name of the event + apinamespace + '.initializing' + // event handlers, can pass args too, but in majority of cases, + // 'this' which is jSignatureClass object instance pointer is enough to get by. + , function(){ + if (this.settings.hasOwnProperty('non-existent setting category?')) { + console.log(extensionName + ' is here') + } + } + ) + } + + } + + var exportplugins = { + 'default':function(data){return this.toDataURL()} + , 'native':function(data){return data} + , 'image':function(data){ + /*this = canvas elem */ + var imagestring = this.toDataURL() + + if (typeof imagestring === 'string' && + imagestring.length > 4 && + imagestring.slice(0,5) === 'data:' && + imagestring.indexOf(',') !== -1){ + + var splitterpos = imagestring.indexOf(',') + + return [ + imagestring.slice(5, splitterpos) + , imagestring.substr(splitterpos + 1) + ] + } + return [] + } + } + + // will be part of "importplugins" + function _renderImageOnCanvas( data, formattype, rerendercallable ) { + 'use strict' + // #1. Do NOT rely on this. No worky on IE + // (url max len + lack of base64 decoder + possibly other issues) + // #2. This does NOT affect what is captured as "signature" as far as vector data is + // concerned. This is treated same as "signature line" - i.e. completely ignored + // the only time you see imported image data exported is if you export as image. + + // we do NOT call rerendercallable here (unlike in other import plugins) + // because importing image does absolutely nothing to the underlying vector data storage + // This could be a way to "import" old signatures stored as images + // This could also be a way to import extra decor into signature area. + + var img = new Image() + // this = Canvas DOM elem. Not jQuery object. Not Canvas's parent div. + , c = this + + img.onload = function() { + var ctx = c.getContext("2d").drawImage( + img, 0, 0 + , ( img.width < c.width) ? img.width : c.width + , ( img.height < c.height) ? img.height : c.height + ) + } + + img.src = 'data:' + formattype + ',' + data + } + + var importplugins = { + 'native':function(data, formattype, rerendercallable){ + // we expect data as Array of objects of arrays here - whatever 'default' EXPORT plugin spits out. + // returning Truthy to indicate we are good, all updated. + rerendercallable( data ) + } + , 'image': _renderImageOnCanvas + , 'image/png;base64': _renderImageOnCanvas + , 'image/jpeg;base64': _renderImageOnCanvas + , 'image/jpg;base64': _renderImageOnCanvas + } + + function _clearDrawingArea( data ) { + this.find('canvas.'+apinamespace) + .add(this.filter('canvas.'+apinamespace)) + .data(apinamespace+'.this').resetCanvas( data ) + return this + } + + function _setDrawingData( data, formattype ) { + var undef + + if (formattype === undef && typeof data === 'string' && data.substr(0,5) === 'data:') { + formattype = data.slice(5).split(',')[0] + // 5 chars of "data:" + mimetype len + 1 "," char = all skipped. + data = data.slice(6 + formattype.length) + if (formattype === data) return + } + + var $canvas = this.find('canvas.'+apinamespace).add(this.filter('canvas.'+apinamespace)) + + if (!importplugins.hasOwnProperty(formattype)){ + throw new Error(apinamespace + " is unable to find import plugin with for format '"+ String(formattype) +"'") + } else if ($canvas.length !== 0){ + importplugins[formattype].call( + $canvas[0] + , data + , formattype + , (function(jSignatureInstance){ + return function(){ return jSignatureInstance.resetCanvas.apply(jSignatureInstance, arguments) } + })($canvas.data(apinamespace+'.this')) + ) + } + + return this + } + + var elementIsOrphan = function(e){ + var topOfDOM = false + e = e.parentNode + while (e && !topOfDOM){ + topOfDOM = $(e).find(".oe_form") + e = e.parentNode + } + return !topOfDOM + } + + //These are exposed as methods under $obj.jSignature('methodname', *args) + var plugins = {'export':exportplugins, 'import':importplugins, 'instance': jSignatureInstanceExtensions} + , methods = { + 'init' : function( options ) { + return this.each( function() { + if (!elementIsOrphan(this)) { + new jSignatureClass(this, options, jSignatureInstanceExtensions) + } + }) + } + , 'getSettings' : function() { + return this.find('canvas.'+apinamespace) + .add(this.filter('canvas.'+apinamespace)) + .data(apinamespace+'.this').settings + } + // around since v1 + , 'clear' : _clearDrawingArea + // was mistakenly introduced instead of 'clear' in v2 + , 'reset' : _clearDrawingArea + , 'addPlugin' : function(pluginType, pluginName, callable){ + if (plugins.hasOwnProperty(pluginType)){ + plugins[pluginType][pluginName] = callable + } + return this + } + , 'listPlugins' : function(pluginType){ + var answer = [] + if (plugins.hasOwnProperty(pluginType)){ + var o = plugins[pluginType] + for (var k in o){ + if (o.hasOwnProperty(k)){ + answer.push(k) + } + } + } + return answer + } + , 'getData' : function( formattype ) { + var undef, $canvas=this.find('canvas.'+apinamespace).add(this.filter('canvas.'+apinamespace)) + if (formattype === undef) formattype = 'default' + if ($canvas.length !== 0 && exportplugins.hasOwnProperty(formattype)){ + return exportplugins[formattype].call( + $canvas.get(0) // canvas dom elem + , $canvas.data(apinamespace+'.data') // raw signature data as array of objects of arrays + ) + } + } + // around since v1. Took only one arg - data-url-formatted string with (likely png of) signature image + , 'importData' : _setDrawingData + // was mistakenly introduced instead of 'importData' in v2 + , 'setData' : _setDrawingData + // this is one and same instance for all jSignature. + , 'globalEvents' : function(){return globalEvents} + // there will be a separate one for each jSignature instance. + , 'events' : function() { + return this.find('canvas.'+apinamespace) + .add(this.filter('canvas.'+apinamespace)) + .data(apinamespace+'.this').events + } + } // end of methods declaration. + + $.fn[apinamespace] = function(method) { + 'use strict' + if ( !method || typeof method === 'object' ) { + return methods.init.apply( this, arguments ) + } else if ( typeof method === 'string' && methods[method] ) { + return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 )) + } else { + $.error( 'Method ' + String(method) + ' does not exist on jQuery.' + apinamespace ) + } + } + +} // end of GlobalJSignatureObjectInitializer + +GlobalJSignatureObjectInitializer(window) + +})(); \ No newline at end of file diff --git a/web_digital_sign/static/lib/jquery.signature.js b/web_digital_sign/static/lib/jquery.signature.js deleted file mode 100644 index fecbf999..00000000 --- a/web_digital_sign/static/lib/jquery.signature.js +++ /dev/null @@ -1,244 +0,0 @@ - -(function($) { // Hide scope, no $ conflict - -var signatureOverrides = { - - // Global defaults for signature - options: { - background: '#ffffff', // Colour of the background - color: '#000000', // Colour of the signature - thickness: 2, // Thickness of the lines - guideline: false, // Add a guide line or not? - guidelineColor: '#a0a0a0', // Guide line colour - guidelineOffset: 50, // Guide line offset from the bottom - guidelineIndent: 10, // Guide line indent from the edges - notAvailable: 'Your browser doesn\'t support signing', // Error message when no canvas - syncField: null, // Selector for synchronised text field - change: null // Callback when signature changed - }, - - /* Initialise a new signature area. */ - _create: function() { - - - this.element.addClass(this.widgetFullName || this.widgetBaseClass); - try { - this.canvas = $('' + '' + '')[0]; - this.element.prepend(this.canvas); - this.element.find('img').remove(); - this.ctx = this.canvas.getContext('2d'); - } - catch (e) { - $(this.canvas).remove(); - this.resize = true; - this.canvas = document.createElement('canvas'); - this.canvas.setAttribute('width', this.element.width()); - this.canvas.setAttribute('height', this.element.height()); - this.canvas.innerHTML = this.options.notAvailable; - this.element.append(this.canvas); - if (G_vmlCanvasManager) { // Requires excanvas.js - G_vmlCanvasManager.initElement(this.canvas); - } - this.ctx = this.canvas.getContext('2d'); - } - this._refresh(true); - this._mouseInit(); - }, - - /* Refresh the appearance of the signature area. - @param init (boolean, internal) true if initialising */ - _refresh: function(init) { - if (this.resize) { - var parent = $(this.canvas); - $('div', this.canvas).css({width: parent.width(), height: parent.height()}); - } - this.ctx.fillStyle = this.options.background; - this.ctx.strokeStyle = this.options.color; - this.ctx.lineWidth = this.options.thickness; - this.ctx.lineCap = 'round'; - this.ctx.lineJoin = 'round'; - this.clear(init); - }, - - /* Clear the signature area. - @param init (boolean, internal) true if initialising */ - clear: function(init) { - this.ctx.fillRect(0, 0, this.element.width(), this.element.height()); - if (this.options.guideline) { - this.ctx.save(); - this.ctx.strokeStyle = this.options.guidelineColor; - this.ctx.lineWidth = 1; - this.ctx.beginPath(); - this.ctx.moveTo(this.options.guidelineIndent, - this.element.height() - this.options.guidelineOffset); - this.ctx.lineTo(this.element.width() - this.options.guidelineIndent, - this.element.height() - this.options.guidelineOffset); - this.ctx.stroke(); - this.ctx.restore(); - } - this.lines = []; - if (!init) { - this._changed(); - } - }, - - /* Synchronise changes and trigger change event. - @param event (Event) the triggering event */ - _changed: function(event) { - if (this.options.syncField) { - $(this.options.syncField).val(this.toJSON()); - } - this._trigger('change', event, {}); - }, - - /* Custom options handling. - @param options (object) the new option values */ - _setOptions: function(options) { - if (this._superApply) { - this._superApply(arguments); // Base widget handling - } - else { - $.Widget.prototype._setOptions.apply(this, arguments); // Base widget handling - } - this._refresh(); - }, - - /* Determine if dragging can start. - @param event (Event) the triggering mouse event - @return (boolean) true if allowed, false if not */ - _mouseCapture: function(event) { - return !this.options.disabled; - }, - - /* Start a new line. - @param event (Event) the triggering mouse event */ - _mouseStart: function(event) { - this.offset = this.element.offset(); - this.offset.left -= document.documentElement.scrollLeft || document.body.scrollLeft; - this.offset.top -= document.documentElement.scrollTop || document.body.scrollTop; - this.lastPoint = [this._round(event.clientX - this.offset.left), - this._round(event.clientY - this.offset.top)]; - this.curLine = [this.lastPoint]; - this.lines.push(this.curLine); - }, - - /* Track the mouse. - @param event (Event) the triggering mouse event */ - _mouseDrag: function(event) { - var point = [this._round(event.clientX - this.offset.left), - this._round(event.clientY - this.offset.top)]; - this.curLine.push(point); - this.ctx.beginPath(); - this.ctx.moveTo(this.lastPoint[0], this.lastPoint[1]); - this.ctx.lineTo(point[0], point[1]); - this.ctx.stroke(); - this.lastPoint = point; - }, - - /* End a line. - @param event (Event) the triggering mouse event */ - _mouseStop: function(event) { - this.lastPoint = null; - this.curLine = null; - this._changed(event); - }, - - /* Round to two decimal points. - @param value (number) the value to round - @return (number) the rounded value */ - _round: function(value) { - return Math.round(value * 100) / 100; - }, - - /* Convert the captured lines to JSON text. - @return (string) the JSON text version of the lines */ - toJSON: function() { - return '{"lines":[' + $.map(this.lines, function(line) { - return '[' + $.map(line, function(point) { - return '[' + point + ']'; - }) + ']'; - }) + ']}'; - }, - - /* Convert the captured lines to SVG text. - @return (string) the SVG text version of the lines */ - toSVG: function() { - return '\n\n' + - '\n' + - ' \n' + - ' \n' + - ' \n'+ - $.map(this.lines, function(line) { - return ' \n'; - }).join('') + - ' \n \n\n'; - }, - - /* Draw a signature from its JSON description. - @param sigJSON (object) object with attribute lines - being an array of arrays of points or - (string) text version of the JSON */ - draw: function(sigJSON) { - this.clear(true); - if (typeof sigJSON === 'string') { - sigJSON = $.parseJSON(sigJSON); - } - this.lines = sigJSON.lines || []; - var ctx = this.ctx; - $.each(this.lines, function() { - ctx.beginPath(); - $.each(this, function(i) { - ctx[i === 0 ? 'moveTo' : 'lineTo'](this[0], this[1]); - }); - ctx.stroke(); - }); - this._changed(); - }, - - /* Determine whether or not any drawing has occurred. - @return (boolean) true if not signed, false if signed */ - isEmpty: function() { - return this.lines.length === 0; - }, - - /* Remove the signature functionality. */ - _destroy: function() { - this.element.removeClass(this.widgetFullName || this.widgetBaseClass); - $(this.canvas).remove(); - this.canvas = this.ctx = this.lines = null; - this._mouseDestroy(); - } -}; - -if (!$.Widget.prototype._destroy) { - $.extend(signatureOverrides, { - /* Remove the signature functionality. */ - destroy: function() { - this._destroy(); - $.Widget.prototype.destroy.call(this); // Base widget handling - } - }); -} - -if($.Widget.prototype._getCreateOptions === $.noop) { - $.extend(signatureOverrides, { - /* Restore the metadata functionality. */ - _getCreateOptions: function() { - return $.metadata && $.metadata.get(this.element[0])[this.widgetName]; - } - }); -} - -/* Signature capture and display. - Depends on jquery.ui.widget, jquery.ui.mouse. */ -$.widget('kbw.signature', $.ui.mouse, signatureOverrides); - -// Make some things more accessible -$.kbw.signature.options = $.kbw.signature.prototype.options; - -})(jQuery); \ No newline at end of file diff --git a/web_digital_sign/static/src/css/digital.css b/web_digital_sign/static/src/css/digital.css deleted file mode 100644 index b0a44871..00000000 --- a/web_digital_sign/static/src/css/digital.css +++ /dev/null @@ -1,10 +0,0 @@ -/* Styles for signature plugin v1.1.0. */ -/* .kbw-signature { - height : "100px"; - width : "150px"; -} */ - - -.openerp .oe_form_readonly .oe_edit_only, .openerp .oe_form_readonly .oe_form_field:empty { - display: none !important; -} \ No newline at end of file diff --git a/web_digital_sign/static/src/css/jquery-ui.css b/web_digital_sign/static/src/css/jquery-ui.css deleted file mode 100644 index ac8782f8..00000000 --- a/web_digital_sign/static/src/css/jquery-ui.css +++ /dev/null @@ -1,1225 +0,0 @@ -/*! jQuery UI - v1.11.2 - 2014-10-16 -* http://jqueryui.com -* Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css -* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=segoe%20ui%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=ece8da&bgTextureHeader=gloss_wave&bgImgOpacityHeader=100&borderColorHeader=d4ccb0&fcHeader=433f38&iconColorHeader=847e71&bgColorContent=f5f3e5&bgTextureContent=highlight_hard&bgImgOpacityContent=100&borderColorContent=dfd9c3&fcContent=312e25&iconColorContent=808080&bgColorDefault=459e00&bgTextureDefault=highlight_hard&bgImgOpacityDefault=15&borderColorDefault=327E04&fcDefault=ffffff&iconColorDefault=eeeeee&bgColorHover=67b021&bgTextureHover=highlight_soft&bgImgOpacityHover=25&borderColorHover=327E04&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=fafaf4&bgTextureActive=highlight_hard&bgImgOpacityActive=100&borderColorActive=d4ccb0&fcActive=459e00&iconColorActive=8DC262&bgColorHighlight=fcf0ba&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=e8e1b5&fcHighlight=363636&iconColorHighlight=8DC262&bgColorError=ffedad&bgTextureError=highlight_soft&bgImgOpacityError=95&borderColorError=e3a345&fcError=cd5c0a&iconColorError=cd0a0a&bgColorOverlay=2b2922&bgTextureOverlay=inset_soft&bgImgOpacityOverlay=15&opacityOverlay=90&bgColorShadow=cccccc&bgTextureShadow=highlight_hard&bgImgOpacityShadow=95&opacityShadow=20&thicknessShadow=12px&offsetTopShadow=-12px&offsetLeftShadow=-12px&cornerRadiusShadow=10px -* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { - display: none; -} -.ui-helper-hidden-accessible { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} -.ui-helper-reset { - margin: 0; - padding: 0; - border: 0; - outline: 0; - line-height: 1.3; - text-decoration: none; - font-size: 100%; - list-style: none; -} -.ui-helper-clearfix:before, -.ui-helper-clearfix:after { - content: ""; - display: table; - border-collapse: collapse; -} -.ui-helper-clearfix:after { - clear: both; -} -.ui-helper-clearfix { - min-height: 0; /* support: IE7 */ -} -.ui-helper-zfix { - width: 100%; - height: 100%; - top: 0; - left: 0; - position: absolute; - opacity: 0; - filter:Alpha(Opacity=0); /* support: IE8 */ -} - -.ui-front { - z-index: 100; -} - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { - cursor: default !important; -} - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { - display: block; - text-indent: -99999px; - overflow: hidden; - background-repeat: no-repeat; -} - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.ui-accordion .ui-accordion-header { - display: block; - cursor: pointer; - position: relative; - margin: 2px 0 0 0; - padding: .5em .5em .5em .7em; - min-height: 0; /* support: IE7 */ - font-size: 100%; -} -.ui-accordion .ui-accordion-icons { - padding-left: 2.2em; -} -.ui-accordion .ui-accordion-icons .ui-accordion-icons { - padding-left: 2.2em; -} -.ui-accordion .ui-accordion-header .ui-accordion-header-icon { - position: absolute; - left: .5em; - top: 50%; - margin-top: -8px; -} -.ui-accordion .ui-accordion-content { - padding: 1em 2.2em; - border-top: 0; - overflow: auto; -} -.ui-autocomplete { - position: absolute; - top: 0; - left: 0; - cursor: default; -} -.ui-button { - display: inline-block; - position: relative; - padding: 0; - line-height: normal; - margin-right: .1em; - cursor: pointer; - vertical-align: middle; - text-align: center; - overflow: visible; /* removes extra width in IE */ -} -.ui-button, -.ui-button:link, -.ui-button:visited, -.ui-button:hover, -.ui-button:active { - text-decoration: none; -} -/* to make room for the icon, a width needs to be set here */ -.ui-button-icon-only { - width: 2.2em; -} -/* button elements seem to need a little more width */ -button.ui-button-icon-only { - width: 2.4em; -} -.ui-button-icons-only { - width: 3.4em; -} -button.ui-button-icons-only { - width: 3.7em; -} - -/* button text element */ -.ui-button .ui-button-text { - display: block; - line-height: normal; -} -.ui-button-text-only .ui-button-text { - padding: .4em 1em; -} -.ui-button-icon-only .ui-button-text, -.ui-button-icons-only .ui-button-text { - padding: .4em; - text-indent: -9999999px; -} -.ui-button-text-icon-primary .ui-button-text, -.ui-button-text-icons .ui-button-text { - padding: .4em 1em .4em 2.1em; -} -.ui-button-text-icon-secondary .ui-button-text, -.ui-button-text-icons .ui-button-text { - padding: .4em 2.1em .4em 1em; -} -.ui-button-text-icons .ui-button-text { - padding-left: 2.1em; - padding-right: 2.1em; -} -/* no icon support for input elements, provide padding by default */ -input.ui-button { - padding: .4em 1em; -} - -/* button icon element(s) */ -.ui-button-icon-only .ui-icon, -.ui-button-text-icon-primary .ui-icon, -.ui-button-text-icon-secondary .ui-icon, -.ui-button-text-icons .ui-icon, -.ui-button-icons-only .ui-icon { - position: absolute; - top: 50%; - margin-top: -8px; -} -.ui-button-icon-only .ui-icon { - left: 50%; - margin-left: -8px; -} -.ui-button-text-icon-primary .ui-button-icon-primary, -.ui-button-text-icons .ui-button-icon-primary, -.ui-button-icons-only .ui-button-icon-primary { - left: .5em; -} -.ui-button-text-icon-secondary .ui-button-icon-secondary, -.ui-button-text-icons .ui-button-icon-secondary, -.ui-button-icons-only .ui-button-icon-secondary { - right: .5em; -} - -/* button sets */ -.ui-buttonset { - margin-right: 7px; -} -.ui-buttonset .ui-button { - margin-left: 0; - margin-right: -.3em; -} - -/* workarounds */ -/* reset extra padding in Firefox, see h5bp.com/l */ -input.ui-button::-moz-focus-inner, -button.ui-button::-moz-focus-inner { - border: 0; - padding: 0; -} -.ui-datepicker { - width: 17em; - padding: .2em .2em 0; - display: none; -} -.ui-datepicker .ui-datepicker-header { - position: relative; - padding: .2em 0; -} -.ui-datepicker .ui-datepicker-prev, -.ui-datepicker .ui-datepicker-next { - position: absolute; - top: 2px; - width: 1.8em; - height: 1.8em; -} -.ui-datepicker .ui-datepicker-prev-hover, -.ui-datepicker .ui-datepicker-next-hover { - top: 1px; -} -.ui-datepicker .ui-datepicker-prev { - left: 2px; -} -.ui-datepicker .ui-datepicker-next { - right: 2px; -} -.ui-datepicker .ui-datepicker-prev-hover { - left: 1px; -} -.ui-datepicker .ui-datepicker-next-hover { - right: 1px; -} -.ui-datepicker .ui-datepicker-prev span, -.ui-datepicker .ui-datepicker-next span { - display: block; - position: absolute; - left: 50%; - margin-left: -8px; - top: 50%; - margin-top: -8px; -} -.ui-datepicker .ui-datepicker-title { - margin: 0 2.3em; - line-height: 1.8em; - text-align: center; -} -.ui-datepicker .ui-datepicker-title select { - font-size: 1em; - margin: 1px 0; -} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { - width: 45%; -} -.ui-datepicker table { - width: 100%; - font-size: .9em; - border-collapse: collapse; - margin: 0 0 .4em; -} -.ui-datepicker th { - padding: .7em .3em; - text-align: center; - font-weight: bold; - border: 0; -} -.ui-datepicker td { - border: 0; - padding: 1px; -} -.ui-datepicker td span, -.ui-datepicker td a { - display: block; - padding: .2em; - text-align: right; - text-decoration: none; -} -.ui-datepicker .ui-datepicker-buttonpane { - background-image: none; - margin: .7em 0 0 0; - padding: 0 .2em; - border-left: 0; - border-right: 0; - border-bottom: 0; -} -.ui-datepicker .ui-datepicker-buttonpane button { - float: right; - margin: .5em .2em .4em; - cursor: pointer; - padding: .2em .6em .3em .6em; - width: auto; - overflow: visible; -} -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { - float: left; -} - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { - width: auto; -} -.ui-datepicker-multi .ui-datepicker-group { - float: left; -} -.ui-datepicker-multi .ui-datepicker-group table { - width: 95%; - margin: 0 auto .4em; -} -.ui-datepicker-multi-2 .ui-datepicker-group { - width: 50%; -} -.ui-datepicker-multi-3 .ui-datepicker-group { - width: 33.3%; -} -.ui-datepicker-multi-4 .ui-datepicker-group { - width: 25%; -} -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { - border-left-width: 0; -} -.ui-datepicker-multi .ui-datepicker-buttonpane { - clear: left; -} -.ui-datepicker-row-break { - clear: both; - width: 100%; - font-size: 0; -} - -/* RTL support */ -.ui-datepicker-rtl { - direction: rtl; -} -.ui-datepicker-rtl .ui-datepicker-prev { - right: 2px; - left: auto; -} -.ui-datepicker-rtl .ui-datepicker-next { - left: 2px; - right: auto; -} -.ui-datepicker-rtl .ui-datepicker-prev:hover { - right: 1px; - left: auto; -} -.ui-datepicker-rtl .ui-datepicker-next:hover { - left: 1px; - right: auto; -} -.ui-datepicker-rtl .ui-datepicker-buttonpane { - clear: right; -} -.ui-datepicker-rtl .ui-datepicker-buttonpane button { - float: left; -} -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, -.ui-datepicker-rtl .ui-datepicker-group { - float: right; -} -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { - border-right-width: 0; - border-left-width: 1px; -} -.ui-dialog { - overflow: hidden; - position: absolute; - top: 0; - left: 0; - padding: .2em; - outline: 0; -} -.ui-dialog .ui-dialog-titlebar { - padding: .4em 1em; - position: relative; -} -.ui-dialog .ui-dialog-title { - float: left; - margin: .1em 0; - white-space: nowrap; - width: 90%; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-dialog .ui-dialog-titlebar-close { - position: absolute; - right: .3em; - top: 50%; - width: 20px; - margin: -10px 0 0 0; - padding: 1px; - height: 20px; -} -.ui-dialog .ui-dialog-content { - position: relative; - border: 0; - padding: .5em 1em; - background: none; - overflow: auto; -} -.ui-dialog .ui-dialog-buttonpane { - text-align: left; - border-width: 1px 0 0 0; - background-image: none; - margin-top: .5em; - padding: .3em 1em .5em .4em; -} -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { - float: right; -} -.ui-dialog .ui-dialog-buttonpane button { - margin: .5em .4em .5em 0; - cursor: pointer; -} -.ui-dialog .ui-resizable-se { - width: 12px; - height: 12px; - right: -5px; - bottom: -5px; - background-position: 16px 16px; -} -.ui-draggable .ui-dialog-titlebar { - cursor: move; -} -.ui-draggable-handle { - -ms-touch-action: none; - touch-action: none; -} -.ui-menu { - list-style: none; - padding: 0; - margin: 0; - display: block; - outline: none; -} -.ui-menu .ui-menu { - position: absolute; -} -.ui-menu .ui-menu-item { - position: relative; - margin: 0; - padding: 3px 1em 3px .4em; - cursor: pointer; - min-height: 0; /* support: IE7 */ - /* support: IE10, see #8844 */ - list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); -} -.ui-menu .ui-menu-divider { - margin: 5px 0; - height: 0; - font-size: 0; - line-height: 0; - border-width: 1px 0 0 0; -} -.ui-menu .ui-state-focus, -.ui-menu .ui-state-active { - margin: -1px; -} - -/* icon support */ -.ui-menu-icons { - position: relative; -} -.ui-menu-icons .ui-menu-item { - padding-left: 2em; -} - -/* left-aligned */ -.ui-menu .ui-icon { - position: absolute; - top: 0; - bottom: 0; - left: .2em; - margin: auto 0; -} - -/* right-aligned */ -.ui-menu .ui-menu-icon { - left: auto; - right: 0; -} -.ui-progressbar { - height: 2em; - text-align: left; - overflow: hidden; -} -.ui-progressbar .ui-progressbar-value { - margin: -1px; - height: 100%; -} -.ui-progressbar .ui-progressbar-overlay { - background: url("data:image/gif;base64,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"); - height: 100%; - filter: alpha(opacity=25); /* support: IE8 */ - opacity: 0.25; -} -.ui-progressbar-indeterminate .ui-progressbar-value { - background-image: none; -} -.ui-resizable { - position: relative; -} -.ui-resizable-handle { - position: absolute; - font-size: 0.1px; - display: block; - -ms-touch-action: none; - touch-action: none; -} -.ui-resizable-disabled .ui-resizable-handle, -.ui-resizable-autohide .ui-resizable-handle { - display: none; -} -.ui-resizable-n { - cursor: n-resize; - height: 7px; - width: 100%; - top: -5px; - left: 0; -} -.ui-resizable-s { - cursor: s-resize; - height: 7px; - width: 100%; - bottom: -5px; - left: 0; -} -.ui-resizable-e { - cursor: e-resize; - width: 7px; - right: -5px; - top: 0; - height: 100%; -} -.ui-resizable-w { - cursor: w-resize; - width: 7px; - left: -5px; - top: 0; - height: 100%; -} -.ui-resizable-se { - cursor: se-resize; - width: 12px; - height: 12px; - right: 1px; - bottom: 1px; -} -.ui-resizable-sw { - cursor: sw-resize; - width: 9px; - height: 9px; - left: -5px; - bottom: -5px; -} -.ui-resizable-nw { - cursor: nw-resize; - width: 9px; - height: 9px; - left: -5px; - top: -5px; -} -.ui-resizable-ne { - cursor: ne-resize; - width: 9px; - height: 9px; - right: -5px; - top: -5px; -} -.ui-selectable { - -ms-touch-action: none; - touch-action: none; -} -.ui-selectable-helper { - position: absolute; - z-index: 100; - border: 1px dotted black; -} -.ui-selectmenu-menu { - padding: 0; - margin: 0; - position: absolute; - top: 0; - left: 0; - display: none; -} -.ui-selectmenu-menu .ui-menu { - overflow: auto; - /* Support: IE7 */ - overflow-x: hidden; - padding-bottom: 1px; -} -.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { - font-size: 1em; - font-weight: bold; - line-height: 1.5; - padding: 2px 0.4em; - margin: 0.5em 0 0 0; - height: auto; - border: 0; -} -.ui-selectmenu-open { - display: block; -} -.ui-selectmenu-button { - display: inline-block; - overflow: hidden; - position: relative; - text-decoration: none; - cursor: pointer; -} -.ui-selectmenu-button span.ui-icon { - right: 0.5em; - left: auto; - margin-top: -8px; - position: absolute; - top: 50%; -} -.ui-selectmenu-button span.ui-selectmenu-text { - text-align: left; - padding: 0.4em 2.1em 0.4em 1em; - display: block; - line-height: 1.4; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.ui-slider { - position: relative; - text-align: left; -} -.ui-slider .ui-slider-handle { - position: absolute; - z-index: 2; - width: 1.2em; - height: 1.2em; - cursor: default; - -ms-touch-action: none; - touch-action: none; -} -.ui-slider .ui-slider-range { - position: absolute; - z-index: 1; - font-size: .7em; - display: block; - border: 0; - background-position: 0 0; -} - -/* support: IE8 - See #6727 */ -.ui-slider.ui-state-disabled .ui-slider-handle, -.ui-slider.ui-state-disabled .ui-slider-range { - filter: inherit; -} - -.ui-slider-horizontal { - height: .8em; -} -.ui-slider-horizontal .ui-slider-handle { - top: -.3em; - margin-left: -.6em; -} -.ui-slider-horizontal .ui-slider-range { - top: 0; - height: 100%; -} -.ui-slider-horizontal .ui-slider-range-min { - left: 0; -} -.ui-slider-horizontal .ui-slider-range-max { - right: 0; -} - -.ui-slider-vertical { - width: .8em; - height: 100px; -} -.ui-slider-vertical .ui-slider-handle { - left: -.3em; - margin-left: 0; - margin-bottom: -.6em; -} -.ui-slider-vertical .ui-slider-range { - left: 0; - width: 100%; -} -.ui-slider-vertical .ui-slider-range-min { - bottom: 0; -} -.ui-slider-vertical .ui-slider-range-max { - top: 0; -} -.ui-sortable-handle { - -ms-touch-action: none; - touch-action: none; -} -.ui-spinner { - position: relative; - display: inline-block; - overflow: hidden; - padding: 0; - vertical-align: middle; -} -.ui-spinner-input { - border: none; - background: none; - color: inherit; - padding: 0; - margin: .2em 0; - vertical-align: middle; - margin-left: .4em; - margin-right: 22px; -} -.ui-spinner-button { - width: 16px; - height: 50%; - font-size: .5em; - padding: 0; - margin: 0; - text-align: center; - position: absolute; - cursor: default; - display: block; - overflow: hidden; - right: 0; -} -/* more specificity required here to override default borders */ -.ui-spinner a.ui-spinner-button { - border-top: none; - border-bottom: none; - border-right: none; -} -/* vertically center icon */ -.ui-spinner .ui-icon { - position: absolute; - margin-top: -8px; - top: 50%; - left: 0; -} -.ui-spinner-up { - top: 0; -} -.ui-spinner-down { - bottom: 0; -} - -/* TR overrides */ -.ui-spinner .ui-icon-triangle-1-s { - /* need to fix icons sprite */ - background-position: -65px -16px; -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} -.ui-tabs .ui-tabs-nav { - margin: 0; - padding: .2em .2em 0; -} -.ui-tabs .ui-tabs-nav li { - list-style: none; - float: left; - position: relative; - top: 0; - margin: 1px .2em 0 0; - border-bottom-width: 0; - padding: 0; - white-space: nowrap; -} -.ui-tabs .ui-tabs-nav .ui-tabs-anchor { - float: left; - padding: .5em 1em; - text-decoration: none; -} -.ui-tabs .ui-tabs-nav li.ui-tabs-active { - margin-bottom: -1px; - padding-bottom: 1px; -} -.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, -.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, -.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { - cursor: text; -} -.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { - cursor: pointer; -} -.ui-tabs .ui-tabs-panel { - display: block; - border-width: 0; - padding: 1em 1.4em; - background: none; -} -.ui-tooltip { - padding: 8px; - position: absolute; - z-index: 9999; - max-width: 300px; - -webkit-box-shadow: 0 0 5px #aaa; - box-shadow: 0 0 5px #aaa; -} -body .ui-tooltip { - border-width: 2px; -} - -/* Component containers -----------------------------------*/ -.ui-widget { - font-family: segoe ui,Arial,sans-serif; - font-size: 1.1em; -} -.ui-widget .ui-widget { - font-size: 1em; -} -.ui-widget input, -.ui-widget select, -.ui-widget textarea, -.ui-widget button { - font-family: segoe ui,Arial,sans-serif; - font-size: 1em; -} -.ui-widget-content { - border: 1px solid #dfd9c3; - background: #f5f3e5 url("images/ui-bg_highlight-hard_100_f5f3e5_1x100.png") 50% top repeat-x; - color: #312e25; -} -.ui-widget-content a { - color: #312e25; -} -.ui-widget-header { - border: 1px solid #d4ccb0; - background: #ece8da url("images/ui-bg_gloss-wave_100_ece8da_500x100.png") 50% 50% repeat-x; - color: #433f38; - font-weight: bold; -} -.ui-widget-header a { - color: #433f38; -} - -/* Interaction states -----------------------------------*/ -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default { - border: 1px solid #327E04; - background: #459e00 url("images/ui-bg_highlight-hard_15_459e00_1x100.png") 50% 50% repeat-x; - font-weight: bold; - color: #ffffff; -} -.ui-state-default a, -.ui-state-default a:link, -.ui-state-default a:visited { - color: #ffffff; - text-decoration: none; -} -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus { - border: 1px solid #327E04; - background: #67b021 url("images/ui-bg_highlight-soft_25_67b021_1x100.png") 50% 50% repeat-x; - font-weight: bold; - color: #ffffff; -} -.ui-state-hover a, -.ui-state-hover a:hover, -.ui-state-hover a:link, -.ui-state-hover a:visited, -.ui-state-focus a, -.ui-state-focus a:hover, -.ui-state-focus a:link, -.ui-state-focus a:visited { - color: #ffffff; - text-decoration: none; -} -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active { - border: 1px solid #d4ccb0; - background: #fafaf4 url("images/ui-bg_highlight-hard_100_fafaf4_1x100.png") 50% 50% repeat-x; - font-weight: bold; - color: #459e00; -} -.ui-state-active a, -.ui-state-active a:link, -.ui-state-active a:visited { - color: #459e00; - text-decoration: none; -} - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - border: 1px solid #e8e1b5; - background: #fcf0ba url("images/ui-bg_glass_55_fcf0ba_1x400.png") 50% 50% repeat-x; - color: #363636; -} -.ui-state-highlight a, -.ui-widget-content .ui-state-highlight a, -.ui-widget-header .ui-state-highlight a { - color: #363636; -} -.ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - border: 1px solid #e3a345; - background: #ffedad url("images/ui-bg_highlight-soft_95_ffedad_1x100.png") 50% top repeat-x; - color: #cd5c0a; -} -.ui-state-error a, -.ui-widget-content .ui-state-error a, -.ui-widget-header .ui-state-error a { - color: #cd5c0a; -} -.ui-state-error-text, -.ui-widget-content .ui-state-error-text, -.ui-widget-header .ui-state-error-text { - color: #cd5c0a; -} -.ui-priority-primary, -.ui-widget-content .ui-priority-primary, -.ui-widget-header .ui-priority-primary { - font-weight: bold; -} -.ui-priority-secondary, -.ui-widget-content .ui-priority-secondary, -.ui-widget-header .ui-priority-secondary { - opacity: .7; - filter:Alpha(Opacity=70); /* support: IE8 */ - font-weight: normal; -} -.ui-state-disabled, -.ui-widget-content .ui-state-disabled, -.ui-widget-header .ui-state-disabled { - opacity: .35; - filter:Alpha(Opacity=35); /* support: IE8 */ - background-image: none; -} -.ui-state-disabled .ui-icon { - filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ -} - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { - width: 16px; - height: 16px; -} -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url("images/ui-icons_808080_256x240.png"); -} -.ui-widget-header .ui-icon { - background-image: url("images/ui-icons_847e71_256x240.png"); -} -.ui-state-default .ui-icon { - background-image: url("images/ui-icons_eeeeee_256x240.png"); -} -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon { - background-image: url("images/ui-icons_ffffff_256x240.png"); -} -.ui-state-active .ui-icon { - background-image: url("images/ui-icons_8DC262_256x240.png"); -} -.ui-state-highlight .ui-icon { - background-image: url("images/ui-icons_8DC262_256x240.png"); -} -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url("images/ui-icons_cd0a0a_256x240.png"); -} - -/* positioning */ -.ui-icon-blank { background-position: 16px 16px; } -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-on { background-position: -96px -144px; } -.ui-icon-radio-off { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, -.ui-corner-top, -.ui-corner-left, -.ui-corner-tl { - border-top-left-radius: 6px; -} -.ui-corner-all, -.ui-corner-top, -.ui-corner-right, -.ui-corner-tr { - border-top-right-radius: 6px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-left, -.ui-corner-bl { - border-bottom-left-radius: 6px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-right, -.ui-corner-br { - border-bottom-right-radius: 6px; -} - -/* Overlays */ -.ui-widget-overlay { - background: #2b2922 url("images/ui-bg_inset-soft_15_2b2922_1x100.png") 50% bottom repeat-x; - opacity: .9; - filter: Alpha(Opacity=90); /* support: IE8 */ -} -.ui-widget-shadow { - margin: -12px 0 0 -12px; - padding: 12px; - background: #cccccc url("images/ui-bg_highlight-hard_95_cccccc_1x100.png") 50% top repeat-x; - opacity: .2; - filter: Alpha(Opacity=20); /* support: IE8 */ - border-radius: 10px; -} diff --git a/web_digital_sign/static/src/css/jquery.signature.css b/web_digital_sign/static/src/css/jquery.signature.css deleted file mode 100644 index 5952cf50..00000000 --- a/web_digital_sign/static/src/css/jquery.signature.css +++ /dev/null @@ -1,5 +0,0 @@ -/* Styles for signature plugin v1.1.0. */ -.kbw-signature { - display: inline-block; - border: 1px solid #a0a0a0; -} diff --git a/web_digital_sign/static/src/img/icon.png b/web_digital_sign/static/src/img/icon.png deleted file mode 100644 index 53dd30d963540cd1eee217c8db5ee89277fab319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16349 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 diff --git a/web_digital_sign/static/src/js/digital_sign.js b/web_digital_sign/static/src/js/digital_sign.js index 1363b93d..f40c68d7 100644 --- a/web_digital_sign/static/src/js/digital_sign.js +++ b/web_digital_sign/static/src/js/digital_sign.js @@ -1,143 +1,122 @@ -odoo.define('web_digital_sign.web_digital_sign',function(require){ +odoo.define('web_digital_sign.web_digital_sign', function(require) { "use strict"; var core = require('web.core'); - var data = require('web.data'); var FormView = require('web.FormView'); var utils = require('web.utils'); + var session = require('web.session'); + var Model = require('web.Model'); var _t = core._t; var QWeb = core.qweb; - var images = {}; var FieldSignature = core.form_widget_registry.map.image.extend({ template: 'FieldSignature', + placeholder: "/web/static/src/img/placeholder.png", + initialize_content: function() { + var self = this; + this.$el.find('> img').remove(); + this.$el.find('.signature > canvas').remove(); + var sign_options = {'decor-color' : '#D1D0CE', 'color': '#000', 'background-color': '#fff','height':'150','width':'550'}; + this.$el.find(".signature").jSignature("init",sign_options); + this.$el.find(".signature").attr({"tabindex": "0",'height':"100"}); + this.empty_sign = this.$el.find(".signature").jSignature("getData",'image'); + this.$el.find('#sign_clean').click(this.on_clear_sign); + this.$el.find('.save_sign').click(this.on_save_sign); + }, + on_clear_sign: function() { + var self = this; + this.$el.find(".signature > canvas").remove(); + this.$el.find('> img').remove(); + this.$el.find(".signature").attr("tabindex", "0"); + var sign_options = {'decor-color' : '#D1D0CE', 'color': '#000', 'background-color': '#fff','height':'150','width':'550','clear': true}; + this.$el.find(".signature").jSignature(sign_options); + this.$el.find(".signature").focus(); + self.set('value', false); + }, + on_save_sign: function(value_) { + var self = this; + this.$el.find('> img').remove(); + var signature = self.$el.find(".signature").jSignature("getData",'image'); + var is_empty = signature + ? self.empty_sign[1] === signature[1] + : false; + if (! is_empty && typeof signature !== "undefined" && signature[1]) { + self.set('value',signature[1]); + } + }, render_value: function() { var self = this; - var url; - if (this.get('value') && ! utils.is_bin_size(this.get('value'))) { + var url = this.placeholder; + if (this.get('value') && !utils.is_bin_size(this.get('value'))) { url = 'data:image/png;base64,' + this.get('value'); - }else if (this.get('value')) { - var id = JSON.stringify(this.view.datarecord.id || null); - self.digita_dataset = new data.DataSetSearch(self, self.view.model, {}, []); - self.digita_dataset.read_slice(['id', self.name], {'domain': [['id', '=', id]]}).then(function(records){ - _.each(records,function(record){ - if(record[self.name]){ - images[self.name] = record[self.name] - }else{ - images[self.name] = "" - } - }) - }) - var field = this.name; - if (this.options.preview_image) - field = this.options.preview_image; + } else if (this.get('value')) { url = this.session.url('/web/binary/image', { - model: this.view.dataset.model, - id: id, - field: field, - t: (new Date().getTime()), + model: this.view.dataset.model, + id: JSON.stringify(this.view.datarecord.id || null), + field: this.options.preview_image + ? this.options.preview_image + : this.name, + t: new Date().getTime() }); - }else { - images[self.name] = "" + } else { url = this.placeholder; - self.set('value',images[self.name]) } - var $img = $(QWeb.render("FieldBinaryImage-img", { widget: this, url: url })); - this.$el.find('img').remove(); - if(this.view.get("actual_mode") !== 'edit' && this.view.get("actual_mode") !== 'create'){ - this.$el.prepend($img); - }else if(this.view.get("actual_mode") == 'edit' ){ + if (this.view.get("actual_mode") === 'view') { + var $img = $(QWeb.render("FieldBinaryImage-extend", { widget: this, url: url })); this.$el.find('> img').remove(); - this.$el.find('> canvas').remove(); - if(! this.get('value')){ - this.$el.find('> img').remove(); - $(this.$el[0]).find(".signature").signature(); - }else if(this.get('value')){ - this.$el.prepend($img); - } - }else if( this.view.get("actual_mode") == 'create'){ - images = {} + this.$el.find(".signature").hide(); + this.$el.prepend($img); + $img.load(function() { + if (! self.options.size) { + return; + } + $img.css("max-width", "" + self.options.size[0] + "px"); + $img.css("max-height", "" + self.options.size[1] + "px"); + $img.css("margin-left", "" + (self.options.size[0] - $img.width()) / 2 + "px"); + $img.css("margin-top", "" + (self.options.size[1] - $img.height()) / 2 + "px"); + }); + $img.on('error', function() { + $img.attr('src', self.placeholder); + self.do_warn(_t("Image"), _t("Could not display the selected image.")); + }); + } else if (this.view.get("actual_mode") === 'edit') { this.$el.find('> img').remove(); - this.$el.find('> canvas').remove(); - if(! this.get('value')){ - this.$el.find('> img').remove(); - $(this.$el[0]).find(".signature").signature(); - }else if(this.get('value')){ - this.$el.prepend($img); - } - } - $(this.$el[0]).find('.clear_sign').click(function(){ - self.$el.find('> img').remove(); - images[self.name] = "" - $(self.$el[0]).find(".signature").show(); - $(self.$el[0]).find(".signature").signature('clear'); - }); - $(this.$el[0]).find('.save_sign').on('click',function(){ - var val - if($(self.$el[0]).find(".signature").hasClass( "kbw-signature" ) && ! $(self.$el[0]).find(".signature").signature('isEmpty')){ - $(self.$el[0]).find(".signature").hide(); - val = $(self.$el[0]).find(".signature > canvas")[0].toDataURL(); - images[self.name] = val.split(',')[1] - var $img = $(QWeb.render("FieldBinaryImage-extend", { widget: self, url: val })); - self.$el.find('> img').remove(); - self.$el.prepend($img); - self.set('value',val.split(',')[1]) - var id = JSON.stringify(self.view.datarecord.id || null); - var field = self.name; - url = self.session.url('/web/binary/image', { - model: self.view.dataset.model, - id: id, - field: field, - t: (new Date().getTime()), - }); - }else{ - var id = JSON.stringify(self.view.datarecord.id || null); - var field = self.name; - if (self.options.preview_image) - field = self.options.preview_image; - url = self.session.url('/web/binary/image', { - model: self.view.dataset.model, - id: id, - field: field, - t: (new Date().getTime()), + if (this.get('value')) { + var field_name = this.options.preview_image + ? this.options.preview_image + : this.name; + new Model(this.view.dataset.model).call("read", [this.view.datarecord.id, [field_name]]).done(function(data) { + if (data) { + var field_desc = _.values(_.pick(data, field_name)); + self.$el.find(".signature").jSignature("reset"); + self.$el.find(".signature").jSignature("setData",'data:image/png;base64,'+field_desc[0]); + } }); - var $img = $(QWeb.render("FieldBinaryImage-extend", { widget: self, url: url })); - self.$el.find('> img').remove(); + } else { + this.$el.find('> img').remove(); + this.$el.find('.signature > canvas').remove(); + var sign_options = {'decor-color' : '#D1D0CE', 'color': '#000','background-color': '#fff','height':'150','width':'550'}; + this.$el.find(".signature").jSignature("init",sign_options); } - }); - $img.load(function() { - if (! self.options.size) - return; - $img.css("max-width", "" + self.options.size[0] + "px"); - $img.css("max-height", "" + self.options.size[1] + "px"); - $img.css("margin-left", "" + (self.options.size[0] - $img.width()) / 2 + "px"); - $img.css("margin-top", "" + (self.options.size[1] - $img.height()) / 2 + "px"); - }); - $img.on('error', function() { - console.log("eroor") - $img.attr('src', self.placeholder); - self.do_warn(_t("Image"), _t("Could not display the selected image.")); - }); - }, + } else if (this.view.get("actual_mode") === 'create') { + this.$el.find('> img').remove(); + this.$el.find('> canvas').remove(); + if (!this.get('value')) { + this.$el.find(".signature").empty().jSignature("init",{'decor-color' : '#D1D0CE', 'color': '#000','background-color': '#fff','height':'150','width':'550'}); + } + } + } }); - core.form_widget_registry.add('signature', FieldSignature) + core.form_widget_registry.add('signature', FieldSignature); FormView.include({ - save: function(prepend_on_create) { - var self = this; - $('.save_sign').click() - var save_obj = {prepend_on_create: prepend_on_create, ret: null}; - this.save_list.push(save_obj); - return self._process_operations().then(function() { - if (save_obj.error) - return $.Deferred().reject(); - return $.when.apply($, save_obj.ret); - }).done(function(result) { - self.$el.removeClass('oe_form_dirty'); - }); - }, + save: function() { + this.$el.find('.save_sign').click(); + return this._super.apply(this, arguments); + } }); }); + diff --git a/web_digital_sign/static/src/xml/digital_sign.xml b/web_digital_sign/static/src/xml/digital_sign.xml index 68cf2d64..0fe6c0be 100644 --- a/web_digital_sign/static/src/xml/digital_sign.xml +++ b/web_digital_sign/static/src/xml/digital_sign.xml @@ -1,18 +1,24 @@ - + - -
-

- - + +
+
+
+ Clear + +
+ Draw your signature +
+
- + - \ No newline at end of file + diff --git a/web_digital_sign/users.py b/web_digital_sign/users.py index 92e6e1ef..3e18fa92 100644 --- a/web_digital_sign/users.py +++ b/web_digital_sign/users.py @@ -9,4 +9,3 @@ class Users(models.Model): signature= fields.Binary(string='Signature') -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file diff --git a/web_digital_sign/users_view.xml b/web_digital_sign/users_view.xml index 8c7cc427..40bd5c5d 100644 --- a/web_digital_sign/users_view.xml +++ b/web_digital_sign/users_view.xml @@ -13,4 +13,5 @@ - \ No newline at end of file + + diff --git a/web_digital_sign/views/we_digital_sign_view.xml b/web_digital_sign/views/we_digital_sign_view.xml index b366fd51..ef98dd96 100644 --- a/web_digital_sign/views/we_digital_sign_view.xml +++ b/web_digital_sign/views/we_digital_sign_view.xml @@ -1,13 +1,13 @@ -

#_Ft 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