How to use FileAttachmentAnnotationElement method in wpt

Best JavaScript code snippet using wpt

annotation_layer.js

Source:annotation_layer.js Github

copy

Full Screen

...75 return new StrikeOutAnnotationElement(parameters);76 case _util.AnnotationType.STAMP:77 return new StampAnnotationElement(parameters);78 case _util.AnnotationType.FILEATTACHMENT:79 return new FileAttachmentAnnotationElement(parameters);80 default:81 return new AnnotationElement(parameters);82 }83 }84 }]);85 return AnnotationElementFactory;86}();87var AnnotationElement = function () {88 function AnnotationElement(parameters) {89 var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;90 var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;91 _classCallCheck(this, AnnotationElement);92 this.isRenderable = isRenderable;93 this.data = parameters.data;94 this.layer = parameters.layer;95 this.page = parameters.page;96 this.viewport = parameters.viewport;97 this.linkService = parameters.linkService;98 this.downloadManager = parameters.downloadManager;99 this.imageResourcesPath = parameters.imageResourcesPath;100 this.renderInteractiveForms = parameters.renderInteractiveForms;101 this.svgFactory = parameters.svgFactory;102 if (isRenderable) {103 this.container = this._createContainer(ignoreBorder);104 }105 }106 _createClass(AnnotationElement, [{107 key: '_createContainer',108 value: function _createContainer() {109 var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;110 var data = this.data,111 page = this.page,112 viewport = this.viewport;113 var container = document.createElement('section');114 var width = data.rect[2] - data.rect[0];115 var height = data.rect[3] - data.rect[1];116 container.setAttribute('data-annotation-id', data.id);117 var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);118 _dom_utils.CustomStyle.setProp('transform', container, 'matrix(' + viewport.transform.join(',') + ')');119 _dom_utils.CustomStyle.setProp('transformOrigin', container, -rect[0] + 'px ' + -rect[1] + 'px');120 if (!ignoreBorder && data.borderStyle.width > 0) {121 container.style.borderWidth = data.borderStyle.width + 'px';122 if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {123 width = width - 2 * data.borderStyle.width;124 height = height - 2 * data.borderStyle.width;125 }126 var horizontalRadius = data.borderStyle.horizontalCornerRadius;127 var verticalRadius = data.borderStyle.verticalCornerRadius;128 if (horizontalRadius > 0 || verticalRadius > 0) {129 var radius = horizontalRadius + 'px / ' + verticalRadius + 'px';130 _dom_utils.CustomStyle.setProp('borderRadius', container, radius);131 }132 switch (data.borderStyle.style) {133 case _util.AnnotationBorderStyleType.SOLID:134 container.style.borderStyle = 'solid';135 break;136 case _util.AnnotationBorderStyleType.DASHED:137 container.style.borderStyle = 'dashed';138 break;139 case _util.AnnotationBorderStyleType.BEVELED:140 (0, _util.warn)('Unimplemented border style: beveled');141 break;142 case _util.AnnotationBorderStyleType.INSET:143 (0, _util.warn)('Unimplemented border style: inset');144 break;145 case _util.AnnotationBorderStyleType.UNDERLINE:146 container.style.borderBottomStyle = 'solid';147 break;148 default:149 break;150 }151 if (data.color) {152 container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);153 } else {154 container.style.borderWidth = 0;155 }156 }157 container.style.left = rect[0] + 'px';158 container.style.top = rect[1] + 'px';159 container.style.width = width + 'px';160 container.style.height = height + 'px';161 return container;162 }163 }, {164 key: '_createPopup',165 value: function _createPopup(container, trigger, data) {166 if (!trigger) {167 trigger = document.createElement('div');168 trigger.style.height = container.style.height;169 trigger.style.width = container.style.width;170 container.appendChild(trigger);171 }172 var popupElement = new PopupElement({173 container: container,174 trigger: trigger,175 color: data.color,176 title: data.title,177 contents: data.contents,178 hideWrapper: true179 });180 var popup = popupElement.render();181 popup.style.left = container.style.width;182 container.appendChild(popup);183 }184 }, {185 key: 'render',186 value: function render() {187 throw new Error('Abstract method `AnnotationElement.render` called');188 }189 }]);190 return AnnotationElement;191}();192var LinkAnnotationElement = function (_AnnotationElement) {193 _inherits(LinkAnnotationElement, _AnnotationElement);194 function LinkAnnotationElement(parameters) {195 _classCallCheck(this, LinkAnnotationElement);196 var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);197 return _possibleConstructorReturn(this, (LinkAnnotationElement.__proto__ || Object.getPrototypeOf(LinkAnnotationElement)).call(this, parameters, isRenderable));198 }199 _createClass(LinkAnnotationElement, [{200 key: 'render',201 value: function render() {202 this.container.className = 'linkAnnotation';203 var link = document.createElement('a');204 (0, _dom_utils.addLinkAttributes)(link, {205 url: this.data.url,206 target: this.data.newWindow ? _dom_utils.LinkTarget.BLANK : undefined207 });208 if (!this.data.url) {209 if (this.data.action) {210 this._bindNamedAction(link, this.data.action);211 } else {212 this._bindLink(link, this.data.dest);213 }214 }215 this.container.appendChild(link);216 return this.container;217 }218 }, {219 key: '_bindLink',220 value: function _bindLink(link, destination) {221 var _this2 = this;222 link.href = this.linkService.getDestinationHash(destination);223 link.onclick = function () {224 if (destination) {225 _this2.linkService.navigateTo(destination);226 }227 return false;228 };229 if (destination) {230 link.className = 'internalLink';231 }232 }233 }, {234 key: '_bindNamedAction',235 value: function _bindNamedAction(link, action) {236 var _this3 = this;237 link.href = this.linkService.getAnchorUrl('');238 link.onclick = function () {239 _this3.linkService.executeNamedAction(action);240 return false;241 };242 link.className = 'internalLink';243 }244 }]);245 return LinkAnnotationElement;246}(AnnotationElement);247var TextAnnotationElement = function (_AnnotationElement2) {248 _inherits(TextAnnotationElement, _AnnotationElement2);249 function TextAnnotationElement(parameters) {250 _classCallCheck(this, TextAnnotationElement);251 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);252 return _possibleConstructorReturn(this, (TextAnnotationElement.__proto__ || Object.getPrototypeOf(TextAnnotationElement)).call(this, parameters, isRenderable));253 }254 _createClass(TextAnnotationElement, [{255 key: 'render',256 value: function render() {257 this.container.className = 'textAnnotation';258 var image = document.createElement('img');259 image.style.height = this.container.style.height;260 image.style.width = this.container.style.width;261 image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';262 image.alt = '[{{type}} Annotation]';263 image.dataset.l10nId = 'text_annotation_type';264 image.dataset.l10nArgs = JSON.stringify({ type: this.data.name });265 if (!this.data.hasPopup) {266 this._createPopup(this.container, image, this.data);267 }268 this.container.appendChild(image);269 return this.container;270 }271 }]);272 return TextAnnotationElement;273}(AnnotationElement);274var WidgetAnnotationElement = function (_AnnotationElement3) {275 _inherits(WidgetAnnotationElement, _AnnotationElement3);276 function WidgetAnnotationElement() {277 _classCallCheck(this, WidgetAnnotationElement);278 return _possibleConstructorReturn(this, (WidgetAnnotationElement.__proto__ || Object.getPrototypeOf(WidgetAnnotationElement)).apply(this, arguments));279 }280 _createClass(WidgetAnnotationElement, [{281 key: 'render',282 value: function render() {283 return this.container;284 }285 }]);286 return WidgetAnnotationElement;287}(AnnotationElement);288var TextWidgetAnnotationElement = function (_WidgetAnnotationElem) {289 _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);290 function TextWidgetAnnotationElement(parameters) {291 _classCallCheck(this, TextWidgetAnnotationElement);292 var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;293 return _possibleConstructorReturn(this, (TextWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(TextWidgetAnnotationElement)).call(this, parameters, isRenderable));294 }295 _createClass(TextWidgetAnnotationElement, [{296 key: 'render',297 value: function render() {298 var TEXT_ALIGNMENT = ['left', 'center', 'right'];299 this.container.className = 'textWidgetAnnotation';300 var element = null;301 if (this.renderInteractiveForms) {302 if (this.data.multiLine) {303 element = document.createElement('textarea');304 element.textContent = this.data.fieldValue;305 } else {306 element = document.createElement('input');307 element.type = 'text';308 element.setAttribute('value', this.data.fieldValue);309 }310 element.disabled = this.data.readOnly;311 if (this.data.maxLen !== null) {312 element.maxLength = this.data.maxLen;313 }314 if (this.data.comb) {315 var fieldWidth = this.data.rect[2] - this.data.rect[0];316 var combWidth = fieldWidth / this.data.maxLen;317 element.classList.add('comb');318 element.style.letterSpacing = 'calc(' + combWidth + 'px - 1ch)';319 }320 } else {321 element = document.createElement('div');322 element.textContent = this.data.fieldValue;323 element.style.verticalAlign = 'middle';324 element.style.display = 'table-cell';325 var font = null;326 if (this.data.fontRefName) {327 font = this.page.commonObjs.getData(this.data.fontRefName);328 }329 this._setTextStyle(element, font);330 }331 if (this.data.textAlignment !== null) {332 element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];333 }334 this.container.appendChild(element);335 return this.container;336 }337 }, {338 key: '_setTextStyle',339 value: function _setTextStyle(element, font) {340 var style = element.style;341 style.fontSize = this.data.fontSize + 'px';342 style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';343 if (!font) {344 return;345 }346 style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';347 style.fontStyle = font.italic ? 'italic' : 'normal';348 var fontFamily = font.loadedName ? '"' + font.loadedName + '", ' : '';349 var fallbackName = font.fallbackName || 'Helvetica, sans-serif';350 style.fontFamily = fontFamily + fallbackName;351 }352 }]);353 return TextWidgetAnnotationElement;354}(WidgetAnnotationElement);355var CheckboxWidgetAnnotationElement = function (_WidgetAnnotationElem2) {356 _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);357 function CheckboxWidgetAnnotationElement(parameters) {358 _classCallCheck(this, CheckboxWidgetAnnotationElement);359 return _possibleConstructorReturn(this, (CheckboxWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(CheckboxWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));360 }361 _createClass(CheckboxWidgetAnnotationElement, [{362 key: 'render',363 value: function render() {364 this.container.className = 'buttonWidgetAnnotation checkBox';365 var element = document.createElement('input');366 element.disabled = this.data.readOnly;367 element.type = 'checkbox';368 if (this.data.fieldValue && this.data.fieldValue !== 'Off') {369 element.setAttribute('checked', true);370 }371 this.container.appendChild(element);372 return this.container;373 }374 }]);375 return CheckboxWidgetAnnotationElement;376}(WidgetAnnotationElement);377var RadioButtonWidgetAnnotationElement = function (_WidgetAnnotationElem3) {378 _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);379 function RadioButtonWidgetAnnotationElement(parameters) {380 _classCallCheck(this, RadioButtonWidgetAnnotationElement);381 return _possibleConstructorReturn(this, (RadioButtonWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(RadioButtonWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));382 }383 _createClass(RadioButtonWidgetAnnotationElement, [{384 key: 'render',385 value: function render() {386 this.container.className = 'buttonWidgetAnnotation radioButton';387 var element = document.createElement('input');388 element.disabled = this.data.readOnly;389 element.type = 'radio';390 element.name = this.data.fieldName;391 if (this.data.fieldValue === this.data.buttonValue) {392 element.setAttribute('checked', true);393 }394 this.container.appendChild(element);395 return this.container;396 }397 }]);398 return RadioButtonWidgetAnnotationElement;399}(WidgetAnnotationElement);400var ChoiceWidgetAnnotationElement = function (_WidgetAnnotationElem4) {401 _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);402 function ChoiceWidgetAnnotationElement(parameters) {403 _classCallCheck(this, ChoiceWidgetAnnotationElement);404 return _possibleConstructorReturn(this, (ChoiceWidgetAnnotationElement.__proto__ || Object.getPrototypeOf(ChoiceWidgetAnnotationElement)).call(this, parameters, parameters.renderInteractiveForms));405 }406 _createClass(ChoiceWidgetAnnotationElement, [{407 key: 'render',408 value: function render() {409 this.container.className = 'choiceWidgetAnnotation';410 var selectElement = document.createElement('select');411 selectElement.disabled = this.data.readOnly;412 if (!this.data.combo) {413 selectElement.size = this.data.options.length;414 if (this.data.multiSelect) {415 selectElement.multiple = true;416 }417 }418 for (var i = 0, ii = this.data.options.length; i < ii; i++) {419 var option = this.data.options[i];420 var optionElement = document.createElement('option');421 optionElement.textContent = option.displayValue;422 optionElement.value = option.exportValue;423 if (this.data.fieldValue.indexOf(option.displayValue) >= 0) {424 optionElement.setAttribute('selected', true);425 }426 selectElement.appendChild(optionElement);427 }428 this.container.appendChild(selectElement);429 return this.container;430 }431 }]);432 return ChoiceWidgetAnnotationElement;433}(WidgetAnnotationElement);434var PopupAnnotationElement = function (_AnnotationElement4) {435 _inherits(PopupAnnotationElement, _AnnotationElement4);436 function PopupAnnotationElement(parameters) {437 _classCallCheck(this, PopupAnnotationElement);438 var isRenderable = !!(parameters.data.title || parameters.data.contents);439 return _possibleConstructorReturn(this, (PopupAnnotationElement.__proto__ || Object.getPrototypeOf(PopupAnnotationElement)).call(this, parameters, isRenderable));440 }441 _createClass(PopupAnnotationElement, [{442 key: 'render',443 value: function render() {444 var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon'];445 this.container.className = 'popupAnnotation';446 if (IGNORE_TYPES.indexOf(this.data.parentType) >= 0) {447 return this.container;448 }449 var selector = '[data-annotation-id="' + this.data.parentId + '"]';450 var parentElement = this.layer.querySelector(selector);451 if (!parentElement) {452 return this.container;453 }454 var popup = new PopupElement({455 container: this.container,456 trigger: parentElement,457 color: this.data.color,458 title: this.data.title,459 contents: this.data.contents460 });461 var parentLeft = parseFloat(parentElement.style.left);462 var parentWidth = parseFloat(parentElement.style.width);463 _dom_utils.CustomStyle.setProp('transformOrigin', this.container, -(parentLeft + parentWidth) + 'px -' + parentElement.style.top);464 this.container.style.left = parentLeft + parentWidth + 'px';465 this.container.appendChild(popup.render());466 return this.container;467 }468 }]);469 return PopupAnnotationElement;470}(AnnotationElement);471var PopupElement = function () {472 function PopupElement(parameters) {473 _classCallCheck(this, PopupElement);474 this.container = parameters.container;475 this.trigger = parameters.trigger;476 this.color = parameters.color;477 this.title = parameters.title;478 this.contents = parameters.contents;479 this.hideWrapper = parameters.hideWrapper || false;480 this.pinned = false;481 }482 _createClass(PopupElement, [{483 key: 'render',484 value: function render() {485 var BACKGROUND_ENLIGHT = 0.7;486 var wrapper = document.createElement('div');487 wrapper.className = 'popupWrapper';488 this.hideElement = this.hideWrapper ? wrapper : this.container;489 this.hideElement.setAttribute('hidden', true);490 var popup = document.createElement('div');491 popup.className = 'popup';492 var color = this.color;493 if (color) {494 var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];495 var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];496 var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];497 popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);498 }499 var contents = this._formatContents(this.contents);500 var title = document.createElement('h1');501 title.textContent = this.title;502 this.trigger.addEventListener('click', this._toggle.bind(this));503 this.trigger.addEventListener('mouseover', this._show.bind(this, false));504 this.trigger.addEventListener('mouseout', this._hide.bind(this, false));505 popup.addEventListener('click', this._hide.bind(this, true));506 popup.appendChild(title);507 popup.appendChild(contents);508 wrapper.appendChild(popup);509 return wrapper;510 }511 }, {512 key: '_formatContents',513 value: function _formatContents(contents) {514 var p = document.createElement('p');515 var lines = contents.split(/(?:\r\n?|\n)/);516 for (var i = 0, ii = lines.length; i < ii; ++i) {517 var line = lines[i];518 p.appendChild(document.createTextNode(line));519 if (i < ii - 1) {520 p.appendChild(document.createElement('br'));521 }522 }523 return p;524 }525 }, {526 key: '_toggle',527 value: function _toggle() {528 if (this.pinned) {529 this._hide(true);530 } else {531 this._show(true);532 }533 }534 }, {535 key: '_show',536 value: function _show() {537 var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;538 if (pin) {539 this.pinned = true;540 }541 if (this.hideElement.hasAttribute('hidden')) {542 this.hideElement.removeAttribute('hidden');543 this.container.style.zIndex += 1;544 }545 }546 }, {547 key: '_hide',548 value: function _hide() {549 var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;550 if (unpin) {551 this.pinned = false;552 }553 if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {554 this.hideElement.setAttribute('hidden', true);555 this.container.style.zIndex -= 1;556 }557 }558 }]);559 return PopupElement;560}();561var LineAnnotationElement = function (_AnnotationElement5) {562 _inherits(LineAnnotationElement, _AnnotationElement5);563 function LineAnnotationElement(parameters) {564 _classCallCheck(this, LineAnnotationElement);565 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);566 return _possibleConstructorReturn(this, (LineAnnotationElement.__proto__ || Object.getPrototypeOf(LineAnnotationElement)).call(this, parameters, isRenderable, true));567 }568 _createClass(LineAnnotationElement, [{569 key: 'render',570 value: function render() {571 this.container.className = 'lineAnnotation';572 var data = this.data;573 var width = data.rect[2] - data.rect[0];574 var height = data.rect[3] - data.rect[1];575 var svg = this.svgFactory.create(width, height);576 var line = this.svgFactory.createElement('svg:line');577 line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);578 line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);579 line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);580 line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);581 line.setAttribute('stroke-width', data.borderStyle.width);582 line.setAttribute('stroke', 'transparent');583 svg.appendChild(line);584 this.container.append(svg);585 this._createPopup(this.container, line, data);586 return this.container;587 }588 }]);589 return LineAnnotationElement;590}(AnnotationElement);591var SquareAnnotationElement = function (_AnnotationElement6) {592 _inherits(SquareAnnotationElement, _AnnotationElement6);593 function SquareAnnotationElement(parameters) {594 _classCallCheck(this, SquareAnnotationElement);595 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);596 return _possibleConstructorReturn(this, (SquareAnnotationElement.__proto__ || Object.getPrototypeOf(SquareAnnotationElement)).call(this, parameters, isRenderable, true));597 }598 _createClass(SquareAnnotationElement, [{599 key: 'render',600 value: function render() {601 this.container.className = 'squareAnnotation';602 var data = this.data;603 var width = data.rect[2] - data.rect[0];604 var height = data.rect[3] - data.rect[1];605 var svg = this.svgFactory.create(width, height);606 var borderWidth = data.borderStyle.width;607 var square = this.svgFactory.createElement('svg:rect');608 square.setAttribute('x', borderWidth / 2);609 square.setAttribute('y', borderWidth / 2);610 square.setAttribute('width', width - borderWidth);611 square.setAttribute('height', height - borderWidth);612 square.setAttribute('stroke-width', borderWidth);613 square.setAttribute('stroke', 'transparent');614 square.setAttribute('fill', 'none');615 svg.appendChild(square);616 this.container.append(svg);617 this._createPopup(this.container, square, data);618 return this.container;619 }620 }]);621 return SquareAnnotationElement;622}(AnnotationElement);623var CircleAnnotationElement = function (_AnnotationElement7) {624 _inherits(CircleAnnotationElement, _AnnotationElement7);625 function CircleAnnotationElement(parameters) {626 _classCallCheck(this, CircleAnnotationElement);627 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);628 return _possibleConstructorReturn(this, (CircleAnnotationElement.__proto__ || Object.getPrototypeOf(CircleAnnotationElement)).call(this, parameters, isRenderable, true));629 }630 _createClass(CircleAnnotationElement, [{631 key: 'render',632 value: function render() {633 this.container.className = 'circleAnnotation';634 var data = this.data;635 var width = data.rect[2] - data.rect[0];636 var height = data.rect[3] - data.rect[1];637 var svg = this.svgFactory.create(width, height);638 var borderWidth = data.borderStyle.width;639 var circle = this.svgFactory.createElement('svg:ellipse');640 circle.setAttribute('cx', width / 2);641 circle.setAttribute('cy', height / 2);642 circle.setAttribute('rx', width / 2 - borderWidth / 2);643 circle.setAttribute('ry', height / 2 - borderWidth / 2);644 circle.setAttribute('stroke-width', borderWidth);645 circle.setAttribute('stroke', 'transparent');646 circle.setAttribute('fill', 'none');647 svg.appendChild(circle);648 this.container.append(svg);649 this._createPopup(this.container, circle, data);650 return this.container;651 }652 }]);653 return CircleAnnotationElement;654}(AnnotationElement);655var PolylineAnnotationElement = function (_AnnotationElement8) {656 _inherits(PolylineAnnotationElement, _AnnotationElement8);657 function PolylineAnnotationElement(parameters) {658 _classCallCheck(this, PolylineAnnotationElement);659 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);660 var _this14 = _possibleConstructorReturn(this, (PolylineAnnotationElement.__proto__ || Object.getPrototypeOf(PolylineAnnotationElement)).call(this, parameters, isRenderable, true));661 _this14.containerClassName = 'polylineAnnotation';662 _this14.svgElementName = 'svg:polyline';663 return _this14;664 }665 _createClass(PolylineAnnotationElement, [{666 key: 'render',667 value: function render() {668 this.container.className = this.containerClassName;669 var data = this.data;670 var width = data.rect[2] - data.rect[0];671 var height = data.rect[3] - data.rect[1];672 var svg = this.svgFactory.create(width, height);673 var vertices = data.vertices;674 var points = [];675 for (var i = 0, ii = vertices.length; i < ii; i++) {676 var x = vertices[i].x - data.rect[0];677 var y = data.rect[3] - vertices[i].y;678 points.push(x + ',' + y);679 }680 points = points.join(' ');681 var borderWidth = data.borderStyle.width;682 var polyline = this.svgFactory.createElement(this.svgElementName);683 polyline.setAttribute('points', points);684 polyline.setAttribute('stroke-width', borderWidth);685 polyline.setAttribute('stroke', 'transparent');686 polyline.setAttribute('fill', 'none');687 svg.appendChild(polyline);688 this.container.append(svg);689 this._createPopup(this.container, polyline, data);690 return this.container;691 }692 }]);693 return PolylineAnnotationElement;694}(AnnotationElement);695var PolygonAnnotationElement = function (_PolylineAnnotationEl) {696 _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);697 function PolygonAnnotationElement(parameters) {698 _classCallCheck(this, PolygonAnnotationElement);699 var _this15 = _possibleConstructorReturn(this, (PolygonAnnotationElement.__proto__ || Object.getPrototypeOf(PolygonAnnotationElement)).call(this, parameters));700 _this15.containerClassName = 'polygonAnnotation';701 _this15.svgElementName = 'svg:polygon';702 return _this15;703 }704 return PolygonAnnotationElement;705}(PolylineAnnotationElement);706var HighlightAnnotationElement = function (_AnnotationElement9) {707 _inherits(HighlightAnnotationElement, _AnnotationElement9);708 function HighlightAnnotationElement(parameters) {709 _classCallCheck(this, HighlightAnnotationElement);710 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);711 return _possibleConstructorReturn(this, (HighlightAnnotationElement.__proto__ || Object.getPrototypeOf(HighlightAnnotationElement)).call(this, parameters, isRenderable, true));712 }713 _createClass(HighlightAnnotationElement, [{714 key: 'render',715 value: function render() {716 this.container.className = 'highlightAnnotation';717 if (!this.data.hasPopup) {718 this._createPopup(this.container, null, this.data);719 }720 return this.container;721 }722 }]);723 return HighlightAnnotationElement;724}(AnnotationElement);725var UnderlineAnnotationElement = function (_AnnotationElement10) {726 _inherits(UnderlineAnnotationElement, _AnnotationElement10);727 function UnderlineAnnotationElement(parameters) {728 _classCallCheck(this, UnderlineAnnotationElement);729 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);730 return _possibleConstructorReturn(this, (UnderlineAnnotationElement.__proto__ || Object.getPrototypeOf(UnderlineAnnotationElement)).call(this, parameters, isRenderable, true));731 }732 _createClass(UnderlineAnnotationElement, [{733 key: 'render',734 value: function render() {735 this.container.className = 'underlineAnnotation';736 if (!this.data.hasPopup) {737 this._createPopup(this.container, null, this.data);738 }739 return this.container;740 }741 }]);742 return UnderlineAnnotationElement;743}(AnnotationElement);744var SquigglyAnnotationElement = function (_AnnotationElement11) {745 _inherits(SquigglyAnnotationElement, _AnnotationElement11);746 function SquigglyAnnotationElement(parameters) {747 _classCallCheck(this, SquigglyAnnotationElement);748 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);749 return _possibleConstructorReturn(this, (SquigglyAnnotationElement.__proto__ || Object.getPrototypeOf(SquigglyAnnotationElement)).call(this, parameters, isRenderable, true));750 }751 _createClass(SquigglyAnnotationElement, [{752 key: 'render',753 value: function render() {754 this.container.className = 'squigglyAnnotation';755 if (!this.data.hasPopup) {756 this._createPopup(this.container, null, this.data);757 }758 return this.container;759 }760 }]);761 return SquigglyAnnotationElement;762}(AnnotationElement);763var StrikeOutAnnotationElement = function (_AnnotationElement12) {764 _inherits(StrikeOutAnnotationElement, _AnnotationElement12);765 function StrikeOutAnnotationElement(parameters) {766 _classCallCheck(this, StrikeOutAnnotationElement);767 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);768 return _possibleConstructorReturn(this, (StrikeOutAnnotationElement.__proto__ || Object.getPrototypeOf(StrikeOutAnnotationElement)).call(this, parameters, isRenderable, true));769 }770 _createClass(StrikeOutAnnotationElement, [{771 key: 'render',772 value: function render() {773 this.container.className = 'strikeoutAnnotation';774 if (!this.data.hasPopup) {775 this._createPopup(this.container, null, this.data);776 }777 return this.container;778 }779 }]);780 return StrikeOutAnnotationElement;781}(AnnotationElement);782var StampAnnotationElement = function (_AnnotationElement13) {783 _inherits(StampAnnotationElement, _AnnotationElement13);784 function StampAnnotationElement(parameters) {785 _classCallCheck(this, StampAnnotationElement);786 var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);787 return _possibleConstructorReturn(this, (StampAnnotationElement.__proto__ || Object.getPrototypeOf(StampAnnotationElement)).call(this, parameters, isRenderable, true));788 }789 _createClass(StampAnnotationElement, [{790 key: 'render',791 value: function render() {792 this.container.className = 'stampAnnotation';793 if (!this.data.hasPopup) {794 this._createPopup(this.container, null, this.data);795 }796 return this.container;797 }798 }]);799 return StampAnnotationElement;800}(AnnotationElement);801var FileAttachmentAnnotationElement = function (_AnnotationElement14) {802 _inherits(FileAttachmentAnnotationElement, _AnnotationElement14);803 function FileAttachmentAnnotationElement(parameters) {804 _classCallCheck(this, FileAttachmentAnnotationElement);805 var _this21 = _possibleConstructorReturn(this, (FileAttachmentAnnotationElement.__proto__ || Object.getPrototypeOf(FileAttachmentAnnotationElement)).call(this, parameters, true));806 var file = _this21.data.file;807 _this21.filename = (0, _dom_utils.getFilenameFromUrl)(file.filename);808 _this21.content = file.content;809 _this21.linkService.onFileAttachmentAnnotation({810 id: (0, _util.stringToPDFString)(file.filename),811 filename: file.filename,812 content: file.content813 });814 return _this21;815 }816 _createClass(FileAttachmentAnnotationElement, [{817 key: 'render',...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var page = require('webpage').create(),2 system = require('system'),3 t, address;4if (system.args.length === 1) {5 console.log('Usage: test.js <some URL>');6 phantom.exit();7}8t = Date.now();9address = system.args[1];10page.open(address, function (status) {11 if (status !== 'success') {12 console.log('FAIL to load the address');13 } else {14 t = Date.now() - t;15 console.log('Loading time ' + t + ' msec');16 var rect = page.evaluate(function () {17 var rect = document.getElementById('rect').getBoundingClientRect();18 return rect;19 });20 page.clipRect = {21 };22 page.render('test.png');23 }24 phantom.exit();25});26 <div id="rect" style="position: absolute; top: 0; left: 0; width: 100px; height: 100px; background-color: blue;"></div>27var pdf = require('webpage').create();28var fs = require('fs');29var file = fs.open('test.pdf', 'rb');30var fileContent = file.read();31file.close();32var fileAttachment = new FileAttachmentAnnotationElement(fileContent, "test.pdf", "application/pdf");33pdf.addFileAttachment(fileAttachment);34pdf.render('test.pdf');

Full Screen

Using AI Code Generation

copy

Full Screen

1var wptextbox = require('wptextbox');2var FileAttachmentAnnotationElement = wptextbox.FileAttachmentAnnotationElement;3var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();4var fileAttachmentAnnotationElementObj = fileAttachmentAnnotationElement.createFileAttachmentAnnotationElement();5console.log(fileAttachmentAnnotationElementObj);6{ isFileAttachmentAnnotationElement: true, createFileAttachmentAnnotationElement: [Function: createFileAttachmentAnnotationElement] }

Full Screen

Using AI Code Generation

copy

Full Screen

1var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();2var fileID = fileAttachmentAnnotationElement.uploadFile("test.pdf");3console.log(fileID);4var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();5var fileName = fileAttachmentAnnotationElement.getFileName(fileID);6console.log(fileName);7var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();8var fileSize = fileAttachmentAnnotationElement.getFileSize(fileID);9console.log(fileSize);10var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();11var fileType = fileAttachmentAnnotationElement.getFileType(fileID);12console.log(fileType);13var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();14var fileUrl = fileAttachmentAnnotationElement.getFileUrl(fileID);15console.log(fileUrl);16var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();17var filePath = fileAttachmentAnnotationElement.getFilePath(fileID);18console.log(filePath);19var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();20var fileContent = fileAttachmentAnnotationElement.getFileContent(fileID);21console.log(fileContent);22var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();23var fileContentBase64 = fileAttachmentAnnotationElement.getFileContentBase64(fileID);24console.log(fileContentBase64);25var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();26var fileContentBase64 = fileAttachmentAnnotationElement.getFileContentBase64(fileID);27console.log(fileContentBase64);28var fileAttachmentAnnotationElement = new FileAttachmentAnnotationElement();

Full Screen

Using AI Code Generation

copy

Full Screen

1var annotationElement = new FileAttachmentAnnotationElement();2annotationElement.setAuthor("John Doe");3annotationElement.setSubject("Subject");4annotationElement.setFileName("test.pdf");5annotationElement.setFileContent("This is a test file");6annotationElement.setFileMimetype("application/pdf");7annotationElement.setFileIcon("fileicon");8annotationElement.setFileDescription("File Description");9annotationElement.setFileCreationDate("2012-01-01T00:00:00Z");10annotationElement.setFileModDate("2012-01-01T00:00:00Z");11annotationElement.setFileChecksum("filechecksum");12annotationElement.setFileChecksumType("filechecksumtype");13annotationElement.setFileChecksumParams("filechecksumparams");14annotationElement.setFileChecksumLocation("filechecksumlocation");15annotationElement.setFileChecksumMethod("filechecksummethod");16annotationElement.setFileChecksumStatus("filechecksumstatus");17annotationElement.setFileChecksumStatusMessage("filechecksumstatusmessage");18annotationElement.setFileChecksumStatusTime("2012-01-01T00:00:00Z");19annotationElement.setFileChecksumStatusBy("filechecksumstatusby");20annotationElement.setFileChecksumStatusByUser("filechecksumstatusbyuser");21annotationElement.setFileChecksumStatusByRole("filechecksumstatusbyrole");22annotationElement.setFileChecksumStatusByOrg("filechecksumstatusbyorg");23annotationElement.setFileChecksumStatusByOrgUnit("filechecksumstatusbyorgunit");24annotationElement.setFileChecksumStatusByOrgUnitType("filechecksumstatusbyorgunittype");25annotationElement.setFileChecksumStatusByOrgUnitPath("filechecksumstatusbyorgunitpath");26annotationElement.setFileChecksumStatusByOrgUnitPathType("filechecksumstatusbyorgunitpathtype");27annotationElement.setFileChecksumStatusByOrgUnitPathLevel("filechecksumstatusbyorgunitpathlevel");28annotationElement.setFileChecksumStatusByOrgUnitPathLevelType("filechecksumstatusbyorgunitpathleveltype");29annotationElement.setFileChecksumStatusByOrgUnitPathLevelValue("filechecksumstatusbyorgunitpathlevelvalue");30annotationElement.setFileChecksumStatusByOrgUnitPathLevelValueType("filechecksumstatusbyorgunitpathlevelvaluetype");31annotationElement.setFileChecksumStatusByOrgUnitPathLevelValuePath("filechecksumstatusbyorgunitpathlevelvaluepath");32annotationElement.setFileChecksumStatusByOrgUnitPathLevelValuePathType("filechecksumstatusbyorgunitpathlevelvaluepathtype");

Full Screen

Using AI Code Generation

copy

Full Screen

1var attachment = new FileAttachmentAnnotationElement();2attachment.setFileName("test.txt");3attachment.setFileContent("This is the content of the file");4attachment.setFileIcon("icon");5attachment.setFileMime("mime");6attachment.setFileSize(1000);7attachment.setFileCreationDate(new Date());8attachment.setFileModificationDate(new Date());9attachment.setFileAuthor("author");10attachment.setFileSubject("subject");11attachment.setFileTitle("title");12attachment.setFileKeywords("keywords");13attachment.setFileDescription("description");14attachment.setFileProducer("producer");15attachment.setFileCreator("creator");16attachment.setFilePageCount(10);17attachment.setFileTrapped(true);18attachment.setFileHidden(true);19attachment.setFileReadOnly(true);20attachment.setFileLinearized(true);21attachment.setFileOptimized(true);22attachment.setFileEncrypted(true);23attachment.setFileVersion(1);24var text = new TextAnnotationElement();25text.setContents("This is the text annotation");26text.setAuthor("author");27text.setCreationDate(new Date());28text.setModificationDate(new Date());29text.setSubject("subject");30text.setTitle("title");31text.setContents("contents");32text.setOpen(true);33text.setInReplyTo("inReplyTo");34text.setIntent("intent");35var stamp = new StampAnnotationElement();36stamp.setStampType("stampType");37stamp.setStampName("stampName");38stamp.setStampImage("stampImage");39var link = new LinkAnnotationElement();40link.setLinkType("linkType");41link.setLinkAction("linkAction");42link.setLinkPage(1);43link.setLinkURL("linkURL");44link.setLinkHighlightMode("linkHighlightMode");45link.setLinkColor("#000000");46link.setLinkOpacity(0.5);47link.setLinkBorderStyle("linkBorderStyle");48link.setLinkBorderWidth(1);49link.setLinkBorderColor("#000000");50link.setLinkBorderDashArray("linkBorderDashArray");51link.setLinkBorderHorizontalCornerRadius(1);52link.setLinkBorderVerticalCornerRadius(1);53link.setLinkBorderEffectIntensity(1);54link.setLinkBorderEffectStyle("linkBorderEffectStyle");55link.setLinkBorderEffectOnTop(true);56link.setLinkBorderEffectShadow(true);57link.setLinkText("linkText");58link.setLinkTextPosition("linkTextPosition");59link.setLinkTextFont("linkTextFont");60link.setLinkTextSize(1);61link.setLinkTextColor("#000000");62link.setLinkTextOpacity(1);

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run wpt automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful