(function(global){global.wrappers['/Users/lqez/Dev/summernote/src/js/base/module/AutoReplace.js']=[function(require,module,exports,__dirname,__filename){ "use strict";
exports.__esModule = true;
var lists_1 = require("../core/lists");
var dom_1 = require("../core/dom");
var key_1 = require("../core/key");
var AutoReplace = /** @class */ (function () {
function AutoReplace(context) {
var _this = this;
this.context = context;
this.options = context.options.replace || {};
this.keys = [key_1["default"].code.ENTER, key_1["default"].code.SPACE, key_1["default"].code.PERIOD, key_1["default"].code.COMMA, key_1["default"].code.SEMICOLON, key_1["default"].code.SLASH];
this.previousKeydownCode = null;
this.events = {
'summernote.keyup': function (we, e) {
if (!e.isDefaultPrevented()) {
_this.handleKeyup(e);
}
},
'summernote.keydown': function (we, e) {
_this.handleKeydown(e);
}
};
}
AutoReplace.prototype.shouldInitialize = function () {
return !!this.options.match;
};
AutoReplace.prototype.initialize = function () {
this.lastWord = null;
};
AutoReplace.prototype.destroy = function () {
this.lastWord = null;
};
AutoReplace.prototype.replace = function () {
if (!this.lastWord) {
return;
}
var self = this;
var keyword = this.lastWord.toString();
this.options.match(keyword, function (match) {
if (match) {
var node = '';
if (typeof match === 'string') {
node = dom_1["default"].createText(match);
}
else if (match instanceof jQuery) {
node = match[0];
}
else if (match instanceof Node) {
node = match;
}
if (!node)
return;
self.lastWord.insertNode(node);
self.lastWord = null;
self.context.invoke('editor.focus');
}
});
};
AutoReplace.prototype.handleKeydown = function (e) {
// this forces it to remember the last whole word, even if multiple termination keys are pressed
// before the previous key is let go.
if (this.previousKeydownCode && lists_1["default"].contains(this.keys, this.previousKeydownCode)) {
this.previousKeydownCode = e.keyCode;
return;
}
if (lists_1["default"].contains(this.keys, e.keyCode)) {
var wordRange = this.context.invoke('editor.createRange').getWordRange();
this.lastWord = wordRange;
}
this.previousKeydownCode = e.keyCode;
};
AutoReplace.prototype.handleKeyup = function (e) {
if (lists_1["default"].contains(this.keys, e.keyCode)) {
this.replace();
}
};
return AutoReplace;
}());
exports["default"] = AutoReplace;
},'src/js/base/module/AutoReplace.js',{"../core/lists":"/Users/lqez/Dev/summernote/src/js/base/core/lists.js","../core/dom":"/Users/lqez/Dev/summernote/src/js/base/core/dom.js","../core/key":"/Users/lqez/Dev/summernote/src/js/base/core/key.js"}];})(this);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0b1JlcGxhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBdXRvUmVwbGFjZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVDQUFrQztBQUNsQyxtQ0FBOEI7QUFDOUIsbUNBQThCO0FBRTlCO0lBQ0UscUJBQVksT0FBTztRQUFuQixpQkFpQkM7UUFoQkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFFN0MsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLGdCQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxnQkFBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsZ0JBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxnQkFBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0JBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEgsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUVoQyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osa0JBQWtCLEVBQUUsVUFBQyxFQUFFLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFO29CQUMzQixLQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNyQjtZQUNILENBQUM7WUFDRCxvQkFBb0IsRUFBRSxVQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMxQixLQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELHNDQUFnQixHQUFoQjtRQUNFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxnQ0FBVSxHQUFWO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVELDZCQUFPLEdBQVA7UUFDRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsNkJBQU8sR0FBUDtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU87U0FDUjtRQUVELElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFTLEtBQUs7WUFDeEMsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUVkLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO29CQUM3QixJQUFJLEdBQUcsZ0JBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzlCO3FCQUFNLElBQUksS0FBSyxZQUFZLE1BQU0sRUFBRTtvQkFDbEMsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDakI7cUJBQU0sSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO29CQUNoQyxJQUFJLEdBQUcsS0FBSyxDQUFDO2lCQUNkO2dCQUVELElBQUksQ0FBQyxJQUFJO29CQUFFLE9BQU87Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDckM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQ0FBYSxHQUFiLFVBQWMsQ0FBQztRQUNiLGdHQUFnRztRQUNoRyxxQ0FBcUM7UUFDckMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLElBQUksa0JBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRTtZQUNuRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUNyQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLGtCQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hDLElBQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQsaUNBQVcsR0FBWCxVQUFZLENBQUM7UUFDWCxJQUFJLGtCQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUEvRUQsSUErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbGlzdHMgZnJvbSAnLi4vY29yZS9saXN0cyc7XG5pbXBvcnQgZG9tIGZyb20gJy4uL2NvcmUvZG9tJztcbmltcG9ydCBrZXkgZnJvbSAnLi4vY29yZS9rZXknO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBdXRvUmVwbGFjZSB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMub3B0aW9ucyA9IGNvbnRleHQub3B0aW9ucy5yZXBsYWNlIHx8IHt9O1xuXG4gICAgdGhpcy5rZXlzID0gW2tleS5jb2RlLkVOVEVSLCBrZXkuY29kZS5TUEFDRSwga2V5LmNvZGUuUEVSSU9ELCBrZXkuY29kZS5DT01NQSwga2V5LmNvZGUuU0VNSUNPTE9OLCBrZXkuY29kZS5TTEFTSF07XG4gICAgdGhpcy5wcmV2aW91c0tleWRvd25Db2RlID0gbnVsbDtcblxuICAgIHRoaXMuZXZlbnRzID0ge1xuICAgICAgJ3N1bW1lcm5vdGUua2V5dXAnOiAod2UsIGUpID0+IHtcbiAgICAgICAgaWYgKCFlLmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVLZXl1cChlKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgICdzdW1tZXJub3RlLmtleWRvd24nOiAod2UsIGUpID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVLZXlkb3duKGUpO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgc2hvdWxkSW5pdGlhbGl6ZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLm9wdGlvbnMubWF0Y2g7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHRoaXMubGFzdFdvcmQgPSBudWxsO1xuICB9XG5cbiAgZGVzdHJveSgpIHtcbiAgICB0aGlzLmxhc3RXb3JkID0gbnVsbDtcbiAgfVxuXG4gIHJlcGxhY2UoKSB7XG4gICAgaWYgKCF0aGlzLmxhc3RXb3JkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgY29uc3Qga2V5d29yZCA9IHRoaXMubGFzdFdvcmQudG9TdHJpbmcoKTtcbiAgICB0aGlzLm9wdGlvbnMubWF0Y2goa2V5d29yZCwgZnVuY3Rpb24obWF0Y2gpIHtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICBsZXQgbm9kZSA9ICcnO1xuXG4gICAgICAgIGlmICh0eXBlb2YgbWF0Y2ggPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgbm9kZSA9IGRvbS5jcmVhdGVUZXh0KG1hdGNoKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXRjaCBpbnN0YW5jZW9mIGpRdWVyeSkge1xuICAgICAgICAgIG5vZGUgPSBtYXRjaFswXTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXRjaCBpbnN0YW5jZW9mIE5vZGUpIHtcbiAgICAgICAgICBub2RlID0gbWF0Y2g7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5vZGUpIHJldHVybjtcbiAgICAgICAgc2VsZi5sYXN0V29yZC5pbnNlcnROb2RlKG5vZGUpO1xuICAgICAgICBzZWxmLmxhc3RXb3JkID0gbnVsbDtcbiAgICAgICAgc2VsZi5jb250ZXh0Lmludm9rZSgnZWRpdG9yLmZvY3VzJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVLZXlkb3duKGUpIHtcbiAgICAvLyB0aGlzIGZvcmNlcyBpdCB0byByZW1lbWJlciB0aGUgbGFzdCB3aG9sZSB3b3JkLCBldmVuIGlmIG11bHRpcGxlIHRlcm1pbmF0aW9uIGtleXMgYXJlIHByZXNzZWRcbiAgICAvLyBiZWZvcmUgdGhlIHByZXZpb3VzIGtleSBpcyBsZXQgZ28uXG4gICAgaWYgKHRoaXMucHJldmlvdXNLZXlkb3duQ29kZSAmJiBsaXN0cy5jb250YWlucyh0aGlzLmtleXMsIHRoaXMucHJldmlvdXNLZXlkb3duQ29kZSkpIHtcbiAgICAgIHRoaXMucHJldmlvdXNLZXlkb3duQ29kZSA9IGUua2V5Q29kZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobGlzdHMuY29udGFpbnModGhpcy5rZXlzLCBlLmtleUNvZGUpKSB7XG4gICAgICBjb25zdCB3b3JkUmFuZ2UgPSB0aGlzLmNvbnRleHQuaW52b2tlKCdlZGl0b3IuY3JlYXRlUmFuZ2UnKS5nZXRXb3JkUmFuZ2UoKTtcbiAgICAgIHRoaXMubGFzdFdvcmQgPSB3b3JkUmFuZ2U7XG4gICAgfVxuICAgIHRoaXMucHJldmlvdXNLZXlkb3duQ29kZSA9IGUua2V5Q29kZTtcbiAgfVxuXG4gIGhhbmRsZUtleXVwKGUpIHtcbiAgICBpZiAobGlzdHMuY29udGFpbnModGhpcy5rZXlzLCBlLmtleUNvZGUpKSB7XG4gICAgICB0aGlzLnJlcGxhY2UoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|