Skip to content

Commit

Permalink
Merge pull request #7622 from timvandermeij/interactive-forms-text
Browse files Browse the repository at this point in the history
Text widget annotations: implement maximum length and text alignment
  • Loading branch information
timvandermeij authored Sep 11, 2016
2 parents bf6f5d1 + be485f5 commit 6b05cfd
Showing 1 changed file with 26 additions and 16 deletions.
42 changes: 26 additions & 16 deletions src/display/annotation_layer.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
}
Expand All @@ -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;
},

Expand Down

0 comments on commit 6b05cfd

Please sign in to comment.