25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

AnnotationLayer.js 9.1 KiB

3 yıl önce
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports["default"] = exports.AnnotationLayerInternal = void 0;
  8. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  9. var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
  10. var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
  11. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  12. var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
  13. var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
  14. var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
  15. var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
  16. var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
  17. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  18. var _react = _interopRequireWildcard(require("react"));
  19. var _propTypes = _interopRequireDefault(require("prop-types"));
  20. var _pdfjsDist = _interopRequireDefault(require("pdfjs-dist"));
  21. var _makeCancellablePromise = _interopRequireDefault(require("make-cancellable-promise"));
  22. var _DocumentContext = _interopRequireDefault(require("../DocumentContext"));
  23. var _PageContext = _interopRequireDefault(require("../PageContext"));
  24. var _utils = require("../shared/utils");
  25. var _propTypes2 = require("../shared/propTypes");
  26. function _createSuper(Derived) { return function () { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
  27. function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
  28. var AnnotationLayerInternal = /*#__PURE__*/function (_PureComponent) {
  29. (0, _inherits2["default"])(AnnotationLayerInternal, _PureComponent);
  30. var _super = _createSuper(AnnotationLayerInternal);
  31. function AnnotationLayerInternal() {
  32. var _this;
  33. (0, _classCallCheck2["default"])(this, AnnotationLayerInternal);
  34. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  35. args[_key] = arguments[_key];
  36. }
  37. _this = _super.call.apply(_super, [this].concat(args));
  38. (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
  39. annotations: null
  40. });
  41. (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "loadAnnotations", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
  42. var page, cancellable, annotations;
  43. return _regenerator["default"].wrap(function _callee$(_context) {
  44. while (1) {
  45. switch (_context.prev = _context.next) {
  46. case 0:
  47. page = _this.props.page;
  48. _context.prev = 1;
  49. cancellable = (0, _makeCancellablePromise["default"])(page.getAnnotations());
  50. _this.runningTask = cancellable;
  51. _context.next = 6;
  52. return cancellable.promise;
  53. case 6:
  54. annotations = _context.sent;
  55. _this.setState({
  56. annotations: annotations
  57. }, _this.onLoadSuccess);
  58. _context.next = 13;
  59. break;
  60. case 10:
  61. _context.prev = 10;
  62. _context.t0 = _context["catch"](1);
  63. _this.onLoadError(_context.t0);
  64. case 13:
  65. case "end":
  66. return _context.stop();
  67. }
  68. }
  69. }, _callee, null, [[1, 10]]);
  70. })));
  71. (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLoadSuccess", function () {
  72. var onGetAnnotationsSuccess = _this.props.onGetAnnotationsSuccess;
  73. var annotations = _this.state.annotations;
  74. if (onGetAnnotationsSuccess) onGetAnnotationsSuccess(annotations);
  75. });
  76. (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLoadError", function (error) {
  77. _this.setState({
  78. annotations: false
  79. });
  80. (0, _utils.errorOnDev)(error);
  81. var onGetAnnotationsError = _this.props.onGetAnnotationsError;
  82. if (onGetAnnotationsError) onGetAnnotationsError(error);
  83. });
  84. (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRenderSuccess", function () {
  85. var onRenderAnnotationLayerSuccess = _this.props.onRenderAnnotationLayerSuccess;
  86. if (onRenderAnnotationLayerSuccess) onRenderAnnotationLayerSuccess();
  87. });
  88. (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRenderError", function (error) {
  89. (0, _utils.errorOnDev)(error);
  90. var onRenderAnnotationLayerError = _this.props.onRenderAnnotationLayerError;
  91. if (onRenderAnnotationLayerError) onRenderAnnotationLayerError(error);
  92. });
  93. return _this;
  94. }
  95. (0, _createClass2["default"])(AnnotationLayerInternal, [{
  96. key: "componentDidMount",
  97. value: function componentDidMount() {
  98. var page = this.props.page;
  99. if (!page) {
  100. throw new Error('Attempted to load page annotations, but no page was specified.');
  101. }
  102. this.loadAnnotations();
  103. }
  104. }, {
  105. key: "componentDidUpdate",
  106. value: function componentDidUpdate(prevProps) {
  107. var _this$props = this.props,
  108. page = _this$props.page,
  109. renderInteractiveForms = _this$props.renderInteractiveForms;
  110. if (prevProps.page && page !== prevProps.page || renderInteractiveForms !== prevProps.renderInteractiveForms) {
  111. this.loadAnnotations();
  112. }
  113. }
  114. }, {
  115. key: "componentWillUnmount",
  116. value: function componentWillUnmount() {
  117. (0, _utils.cancelRunningTask)(this.runningTask);
  118. }
  119. }, {
  120. key: "renderAnnotationLayer",
  121. value: function renderAnnotationLayer() {
  122. var annotations = this.state.annotations;
  123. if (!annotations) {
  124. return;
  125. }
  126. var _this$props2 = this.props,
  127. linkService = _this$props2.linkService,
  128. page = _this$props2.page,
  129. renderInteractiveForms = _this$props2.renderInteractiveForms;
  130. var viewport = this.viewport.clone({
  131. dontFlip: true
  132. });
  133. var parameters = {
  134. annotations: annotations,
  135. div: this.annotationLayer,
  136. linkService: linkService,
  137. page: page,
  138. renderInteractiveForms: renderInteractiveForms,
  139. viewport: viewport
  140. };
  141. this.annotationLayer.innerHTML = '';
  142. try {
  143. _pdfjsDist["default"].AnnotationLayer.render(parameters);
  144. this.onRenderSuccess();
  145. } catch (error) {
  146. this.onRenderError(error);
  147. }
  148. }
  149. }, {
  150. key: "render",
  151. value: function render() {
  152. var _this2 = this;
  153. return /*#__PURE__*/_react["default"].createElement("div", {
  154. className: "react-pdf__Page__annotations annotationLayer",
  155. ref: function ref(_ref2) {
  156. _this2.annotationLayer = _ref2;
  157. }
  158. }, this.renderAnnotationLayer());
  159. }
  160. }, {
  161. key: "viewport",
  162. get: function get() {
  163. var _this$props3 = this.props,
  164. page = _this$props3.page,
  165. rotate = _this$props3.rotate,
  166. scale = _this$props3.scale;
  167. return page.getViewport({
  168. scale: scale,
  169. rotation: rotate
  170. });
  171. }
  172. }]);
  173. return AnnotationLayerInternal;
  174. }(_react.PureComponent);
  175. exports.AnnotationLayerInternal = AnnotationLayerInternal;
  176. AnnotationLayerInternal.propTypes = {
  177. linkService: _propTypes2.isLinkService.isRequired,
  178. onGetAnnotationsError: _propTypes["default"].func,
  179. onGetAnnotationsSuccess: _propTypes["default"].func,
  180. onRenderAnnotationLayerError: _propTypes["default"].func,
  181. onRenderAnnotationLayerSuccess: _propTypes["default"].func,
  182. page: _propTypes2.isPage,
  183. renderInteractiveForms: _propTypes["default"].bool,
  184. rotate: _propTypes2.isRotate,
  185. scale: _propTypes["default"].number
  186. };
  187. var AnnotationLayer = function AnnotationLayer(props) {
  188. return /*#__PURE__*/_react["default"].createElement(_DocumentContext["default"].Consumer, null, function (documentContext) {
  189. return /*#__PURE__*/_react["default"].createElement(_PageContext["default"].Consumer, null, function (pageContext) {
  190. return /*#__PURE__*/_react["default"].createElement(AnnotationLayerInternal, (0, _extends2["default"])({}, documentContext, pageContext, props));
  191. });
  192. });
  193. };
  194. var _default = AnnotationLayer;
  195. exports["default"] = _default;