angular-trumbowyg
Version:
This is an angular component for [`trumbowyg`](https://github.com/Alex-D/Trumbowyg).
4 lines • 2.04 kB
JavaScript
;angular.module("trumbowyg",[]);
;angular.module("trumbowyg").component("trumbowyg",{templateUrl:"trumbowyg/components/trumbowyg/trumbowyg.html",bindings:{options:"<?",ngDisabled:"<?",placeholder:"@?",onFocus:"&?",onBlur:"&?",onInit:"&?",onChange:"&?",onResize:"&?",onPaste:"&?",onOpenfullscreen:"&?",onClosefullscreen:"&?",onClose:"&?"},require:{ngModel:"ngModel"},controller:["$element","$scope","$attrs",function(e,n,t){var o=this,r=["focus","blur","init","change","resize","paste","openfullscreen","closefullscreen","close"],i="tbw";this.getElementReference=function(){return angular.element(e.find("> div"))},this.getEditorReference=function(){return o.getElementReference().find(".trumbowyg-editor")},this.updateModelValue=function(){n.$applyAsync(function(){var e=o.getEditorReference().trumbowyg("html");o.ngModel.$setViewValue(e)})},this.emitEvent=function(e){var r=t.$normalize("on-"+e);angular.isFunction(o[r])&&n.$applyAsync(function(){return o[r]()})},this.initializeEditor=function(e,n){e.trumbowyg(n).on("tbwchange",function(){return o.updateModelValue()}).on("tbwpaste",function(){return o.updateModelValue()}),angular.forEach(r,function(n){e.on(""+i+n,function(){return o.emitEvent(n)})}),o.ngModel.$render()},this.$onDestroy=function(){o.getElementReference().trumbowyg("destroy")},this.$onChanges=function(e){var n=o.getElementReference();e.options&&!e.options.isFirstChange()&&n.trumbowyg("destroy"),e.options&&o.initializeEditor(n,angular.extend({},o.options)),e.ngDisabled&&o.trumbowyg(o.ngDisabled?"disable":"enable"),e.placeholder&&o.getEditorReference().attr("placeholder",o.placeholder)},this.$onInit=function(){o.ngModel.$render=function(){var e=o.getEditorReference();e.trumbowyg("html",o.ngModel.$modelValue)}}}]});
;angular.module("trumbowyg").run(["$templateCache",function(t){t.put("trumbowyg/components/trumbowyg/trumbowyg.html",'<style media="screen">\n trumbowyg {\n display: block;\n }\n</style>\n<div></div>\n')}]);
//# sourceMappingURL=angular-trumbowyg.min.js.map