first commit
This commit is contained in:
78
customerportal/libraries/angularui/ui-tinymce.js
vendored
Normal file
78
customerportal/libraries/angularui/ui-tinymce.js
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
/**
|
||||
|
||||
* Binds a TinyMCE widget to <textarea> elements.
|
||||
|
||||
*/
|
||||
|
||||
angular.module('ui.tinymce', [])
|
||||
|
||||
.value('uiTinymceConfig', {})
|
||||
|
||||
.directive('uiTinymce', ['uiTinymceConfig', function (uiTinymceConfig) {
|
||||
|
||||
uiTinymceConfig = uiTinymceConfig || {};
|
||||
|
||||
var generatedIds = 0;
|
||||
|
||||
return {
|
||||
|
||||
require: 'ngModel',
|
||||
|
||||
link: function (scope, elm, attrs, ngModel) {
|
||||
|
||||
var expression, options, tinyInstance,
|
||||
|
||||
updateView = function () {
|
||||
|
||||
ngModel.$setViewValue(elm.val());
|
||||
|
||||
if (!scope.$root.$$phase) {
|
||||
|
||||
scope.$apply();
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// generate an ID if not present
|
||||
|
||||
if (!attrs.id) {
|
||||
|
||||
attrs.$set('id', 'uiTinymce' + generatedIds++);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (attrs.uiTinymce) {
|
||||
|
||||
expression = scope.$eval(attrs.uiTinymce);
|
||||
|
||||
} else {
|
||||
|
||||
expression = {};
|
||||
|
||||
}
|
||||
|
||||
options = {
|
||||
|
||||
// Update model when calling setContent (such as from the source editor popup)
|
||||
|
||||
setup: function (ed) {
|
||||
|
||||
var args;
|
||||
|
||||
ed.on('init', function(args) {
|
||||
|
||||
ngModel.$render();
|
||||
|
||||
});
|
||||
|
||||
// Update model on button click
|
||||
|
||||
ed.on('ExecCommand', function (e) {
|
||||
|
||||
ed.save();
|
||||
|
||||
updateView();
|
||||
|
||||
Reference in New Issue
Block a user