Browse Source

Text widget annotations: implement maximum length and text alignment

Moreover, we refactor the code a bit to extract code that is shared
between the two branches and we only apply text alignment (and create
the array) when it is actually defined, since it's optional and left is
already the default.
Tim van der Meij 9 years ago
parent
commit
be485f59ab
  1. 42
      src/display/annotation_layer.js

42
src/display/annotation_layer.js

@ -29,6 +29,7 @@ @@ -29,6 +29,7 @@
var AnnotationBorderStyleType = sharedUtil.AnnotationBorderStyleType;
var AnnotationType = sharedUtil.AnnotationType;
var isInt = sharedUtil.isInt;
var Util = sharedUtil.Util;
var addLinkAttributes = displayDOMUtils.addLinkAttributes;
var LinkTarget = displayDOMUtils.LinkTarget;
@ -427,6 +428,8 @@ var WidgetAnnotationElement = (function WidgetAnnotationElementClosure() { @@ -427,6 +428,8 @@ var WidgetAnnotationElement = (function WidgetAnnotationElementClosure() {
*/
var TextWidgetAnnotationElement = (
function TextWidgetAnnotationElementClosure() {
var TEXT_ALIGNMENT = ['left', 'center', 'right'];
function TextWidgetAnnotationElement(parameters) {
WidgetAnnotationElement.call(this, parameters);
}
@ -442,26 +445,33 @@ var TextWidgetAnnotationElement = ( @@ -442,26 +445,33 @@ var TextWidgetAnnotationElement = (
render: function TextWidgetAnnotationElement_render() {
this.container.className = 'textWidgetAnnotation';
var element = null;
if (this.renderInteractiveForms) {
var input = document.createElement('input');
input.type = 'text';
input.value = this.data.fieldValue;
element = document.createElement('input');
element.type = 'text';
element.value = this.data.fieldValue;
this.container.appendChild(input);
if (isInt(this.data.maxLen)) {
element.maxLength = this.data.maxLen;
}
} else {
var content = document.createElement('div');
content.textContent = this.data.fieldValue;
var textAlignment = this.data.textAlignment;
content.style.textAlign = ['left', 'center', 'right'][textAlignment];
content.style.verticalAlign = 'middle';
content.style.display = 'table-cell';
var font = (this.data.fontRefName ?
this.page.commonObjs.getData(this.data.fontRefName) : null);
this._setTextStyle(content, font);
this.container.appendChild(content);
element = document.createElement('div');
element.textContent = this.data.fieldValue;
element.style.verticalAlign = 'middle';
element.style.display = 'table-cell';
var font = null;
if (this.data.fontRefName) {
font = this.page.commonObjs.getData(this.data.fontRefName);
}
this._setTextStyle(element, font);
}
if (isInt(this.data.textAlignment)) {
element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
}
this.container.appendChild(element);
return this.container;
},

Loading…
Cancel
Save