react-mapfilter
Version:
These components are designed for viewing data in Mapeo. They share a common interface:
206 lines (161 loc) • 8.55 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
require("core-js/modules/es.object.to-string");
require("core-js/modules/es.regexp.to-string");
_Object$defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _construct = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/reflect/construct"));
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
var _react = _interopRequireDefault(require("react"));
var _Print = _interopRequireDefault(require("@material-ui/icons/Print"));
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions"));
var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent"));
var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle"));
var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
var _Input = _interopRequireDefault(require("@material-ui/core/Input"));
var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
var _reactIntl = require("react-intl");
var _ToolbarButton = _interopRequireDefault(require("../internal/ToolbarButton"));
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = (0, _construct.default)(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_construct.default) return false; if (_construct.default.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call((0, _construct.default)(Date, [], function () {})); return true; } catch (e) { return false; } }
var messages = (0, _reactIntl.defineMessages)({
// Title of print settings dialog
dialogTitle: {
"id": "Nl8clw==",
"defaultMessage": 'Print settings'
},
// Label for paper size selection field
paperSize: {
"id": "0eDMPQ==",
"defaultMessage": 'Paper size'
},
// Button label to close print settings dialog
close: {
"id": "cVJ0Dg==",
"defaultMessage": 'Close'
},
// Button label to print a report
print: {
"id": "krWEbA==",
"defaultMessage": 'Print'
}
});
/*:: type Props = {
requestPrint: () => void,
changePaperSize: (paperSize: PaperSize) => void,
paperSize: PaperSize
}*/
/*:: type State = {
dialogOpen: boolean
}*/
var PrintButton = /*#__PURE__*/function (_React$Component) {
(0, _inherits2.default)(PrintButton, _React$Component);
var _super = _createSuper(PrintButton);
function PrintButton() {
var _context;
var _this;
(0, _classCallCheck2.default)(this, PrintButton);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _super.call.apply(_super, (0, _concat.default)(_context = [this]).call(_context, args));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
dialogOpen: false
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleKeyDown", function (event
/*: SyntheticKeyboardEvent<HTMLElement>*/
) {
if (!(event.key === 'p' && event.metaKey)) return;
event.preventDefault();
window.addEventListener('keyup', _this.handleKeyUp);
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleKeyUp", function (event
/*: SyntheticKeyboardEvent<HTMLElement>*/
) {
window.removeEventListener('keyup', _this.handleKeyUp);
if (_this.state.dialogOpen) {
_this.props.requestPrint();
} else {
_this.openDialog();
}
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "openDialog", function () {
return _this.setState({
dialogOpen: true
});
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "closeDialog", function () {
return _this.setState({
dialogOpen: false
});
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleChangePaperSize", function (e
/*: SyntheticInputEvent<HTMLSelectElement>*/
) {
// $FlowFixMe - Flow doesn't recognize value being one of options
var value
/*: PaperSize*/
= e.currentTarget.value;
_this.props.changePaperSize(value);
});
return _this;
}
(0, _createClass2.default)(PrintButton, [{
key: "render",
value: function render() {
var _this2 = this;
var _this$props = this.props,
requestPrint = _this$props.requestPrint,
paperSize = _this$props.paperSize;
var dialogOpen = this.state.dialogOpen;
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ToolbarButton.default, {
onClick: this.openDialog
}, /*#__PURE__*/_react.default.createElement(_Print.default, null), /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, messages.print)), /*#__PURE__*/_react.default.createElement(_Dialog.default, {
open: dialogOpen,
onClose: this.closeDialog,
fullWidth: true,
maxWidth: "xs",
className: "d-print-none"
}, /*#__PURE__*/_react.default.createElement(_DialogTitle.default, null, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, messages.dialogTitle)), /*#__PURE__*/_react.default.createElement(_DialogContent.default, null, /*#__PURE__*/_react.default.createElement(_FormControl.default, null, /*#__PURE__*/_react.default.createElement(_InputLabel.default, {
htmlFor: "paper-size"
}, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, messages.paperSize)), /*#__PURE__*/_react.default.createElement(_Select.default, {
native: true,
value: paperSize,
onChange: this.handleChangePaperSize,
input: /*#__PURE__*/_react.default.createElement(_Input.default, {
id: "paper-size"
})
}, /*#__PURE__*/_react.default.createElement("option", {
value: "a4"
}, "A4 (210mm x 297mm)"), /*#__PURE__*/_react.default.createElement("option", {
value: "letter"
}, "Letter (8.5\" x 11\")")))), /*#__PURE__*/_react.default.createElement(_DialogActions.default, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
onClick: this.closeDialog,
color: "primary"
}, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, messages.close)), /*#__PURE__*/_react.default.createElement(_Button.default, {
onClick: function onClick() {
_this2.closeDialog();
requestPrint();
},
color: "primary"
}, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, messages.print)))));
}
}]);
return PrintButton;
}(_react.default.Component);
var _default = PrintButton;
exports.default = _default;
//# sourceMappingURL=PrintButton.js.map