@atlaskit/editor-core
Version:
A package contains Atlassian editor core functionality
47 lines • 2.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var link_1 = require("@atlaskit/icon/glyph/editor/link");
var React = require("react");
var react_1 = require("react");
var analytics_1 = require("../../analytics");
var keymaps_1 = require("../../keymaps");
var prosemirror_1 = require("../../prosemirror");
var ToolbarButton_1 = require("../ToolbarButton");
var styles_1 = require("./styles");
exports.stateKey = new prosemirror_1.PluginKey('hypelinkPlugin');
var ToolbarHyperlink = (function (_super) {
tslib_1.__extends(ToolbarHyperlink, _super);
function ToolbarHyperlink() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.state = {};
_this.toggleLinkPanel = function () {
var _a = _this.props, pluginState = _a.pluginState, editorView = _a.editorView;
pluginState.showLinkPanel(editorView);
return true;
};
_this.handlePluginStateChange = function (pluginState) {
_this.setState({
disabled: !pluginState.linkable || pluginState.active
});
};
return _this;
}
ToolbarHyperlink.prototype.componentDidMount = function () {
this.props.pluginState.subscribe(this.handlePluginStateChange);
};
ToolbarHyperlink.prototype.componentWillUnmount = function () {
this.props.pluginState.unsubscribe(this.handlePluginStateChange);
};
ToolbarHyperlink.prototype.render = function () {
var _a = this.state, adding = _a.adding, disabled = _a.disabled;
return (React.createElement(styles_1.OuterContainer, null,
React.createElement(ToolbarButton_1.default, { disabled: disabled || this.props.disabled, onClick: this.toggleLinkPanel, selected: adding, title: keymaps_1.tooltip(keymaps_1.addLink), iconBefore: React.createElement(link_1.default, { label: "Add link" }) })));
};
return ToolbarHyperlink;
}(react_1.PureComponent));
tslib_1.__decorate([
analytics_1.analyticsDecorator('atlassian.editor.format.hyperlink.button')
], ToolbarHyperlink.prototype, "toggleLinkPanel", void 0);
exports.default = ToolbarHyperlink;
//# sourceMappingURL=index.js.map