From 8a3afe52ad84176c5ef6cd14890e5a2e92fe8438 Mon Sep 17 00:00:00 2001 From: leoyang01 Date: Tue, 4 Aug 2015 10:43:54 +0800 Subject: [PATCH] fix: latest model data is always set to instance If the model data is updated during instance.setData, then the latest model data will be missed. See https://github.com/esvit/ng-ckeditor/issues/41. --- ng-ckeditor.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ng-ckeditor.js b/ng-ckeditor.js index 599ae6b..a380026 100644 --- a/ng-ckeditor.js +++ b/ng-ckeditor.js @@ -44,6 +44,7 @@ var EMPTY_HTML = '

', isTextarea = element[0].tagName.toLowerCase() === 'textarea', data = [], + dataDirty = false, isReady = false; if (!isTextarea) { @@ -108,9 +109,14 @@ var item = data.pop() || EMPTY_HTML; isReady = false; + dataDirty = false; instance.setData(item, function () { setModelData(setPristine); - isReady = true; + if(dataDirty) { + onUpdateModelData(); + } else { + isReady = true; + } }); }; @@ -135,6 +141,8 @@ data.push(ngModel.$viewValue); if (isReady) { onUpdateModelData(); + } else { + dataDirty = true; } }; }; @@ -152,4 +160,4 @@ }]); return app; -})); \ No newline at end of file +}));