Skip to content
This repository was archived by the owner on Sep 8, 2020. It is now read-only.

Commit eb9421c

Browse files
committed
Change to listen to change event to update
- Change to listen to change event to catch wider variety of changes - Increase setTimeout for spec for now Closes #137
1 parent 479f357 commit eb9421c

File tree

2 files changed

+15
-17
lines changed

2 files changed

+15
-17
lines changed

src/tinymce.js

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -46,33 +46,27 @@ angular.module('ui.tinymce', [])
4646
options = {
4747
// Update model when calling setContent (such as from the source editor popup)
4848
setup: function(ed) {
49-
var args;
50-
ed.on('init', function(args) {
49+
ed.on('init', function() {
5150
ngModel.$render();
5251
ngModel.$setPristine();
5352
});
5453
// Update model on button click
55-
ed.on('ExecCommand', function(e) {
54+
ed.on('ExecCommand', function() {
5655
ed.save();
5756
updateView(ed);
5857
});
59-
// Update model on keypress
60-
ed.on('KeyUp', function(e) {
61-
ed.save();
62-
updateView(ed);
63-
});
64-
// Update model on change, i.e. copy/pasted text, plugins altering content
65-
ed.on('SetContent', function(e) {
66-
if (!e.initial && ngModel.$viewValue !== e.content) {
58+
// Update model on change
59+
ed.on('change', function(e) {
60+
if (!e.originalEvent) {
6761
ed.save();
6862
updateView(ed);
6963
}
7064
});
71-
ed.on('blur', function(e) {
65+
ed.on('blur', function() {
7266
element[0].blur();
7367
});
7468
// Update model when an object has been resized (table, image)
75-
ed.on('ObjectResized', function(e) {
69+
ed.on('ObjectResized', function() {
7670
ed.save();
7771
updateView(ed);
7872
});
@@ -88,12 +82,16 @@ angular.module('ui.tinymce', [])
8882
angular.extend(options, uiTinymceConfig, expression);
8983
tinymce.init(options);
9084

85+
ngModel.$formatters.unshift(function(modelValue) {
86+
return modelValue || '';
87+
});
88+
9189
ngModel.$render = function() {
9290
if (!tinyInstance) {
9391
tinyInstance = tinymce.get(attrs.id);
9492
}
9593
if (tinyInstance) {
96-
tinyInstance.setContent(ngModel.$viewValue || '');
94+
tinyInstance.setContent(ngModel.$viewValue);
9795
}
9896
};
9997

test/tinymce.spec.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ describe('uiTinymce', function () {
7575
}
7676

7777
done();
78-
}, 50);
78+
}, 100);
7979
});
8080
it('should handle undefined gracefully', function(done) {
8181
compile();
@@ -91,7 +91,7 @@ describe('uiTinymce', function () {
9191
}
9292

9393
done();
94-
}, 50);
94+
}, 100);
9595
});
9696
it('should handle null gracefully', function(done) {
9797
compile();
@@ -107,7 +107,7 @@ describe('uiTinymce', function () {
107107
}
108108

109109
done();
110-
}, 50);
110+
}, 100);
111111
});
112112
});
113113
/*describe('using the editor', function () {

0 commit comments

Comments
 (0)