diff --git a/.gitignore b/.gitignore index 4a688ff..d974f3d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ node_modules/ -bower_components/ \ No newline at end of file +bower_components/ +.idea \ No newline at end of file diff --git a/angular-ckeditor.js b/angular-ckeditor.js index 5b7af1e..7a5cb6a 100644 --- a/angular-ckeditor.js +++ b/angular-ckeditor.js @@ -41,7 +41,7 @@ // Initialize the editor content when it is ready. controller.ready().then(function initialize() { // Sync view on specific events. - ['dataReady', 'change', 'blur', 'saveSnapshot'].forEach(function (event) { + ['dataReady', 'change', 'blur', 'saveSnapshot', 'key'].forEach(function (event) { controller.onCKEvent(event, function syncView() { ngModelController.$setViewValue(controller.instance.getData() || ''); }); diff --git a/angular-ckeditor.min.js b/angular-ckeditor.min.js index 22ca521..6220c8e 100644 --- a/angular-ckeditor.min.js +++ b/angular-ckeditor.min.js @@ -1,30 +1,2 @@ -!function(a,b){ -// AMD -"function"==typeof define&&define.amd?define(["angular"],b):b(angular)}(this,function(a){/** - * CKEditor directive. - * - * @example - *
- */ -function b(a){return{restrict:"A",require:["ckeditor","ngModel"],controller:["$scope","$element","$attrs","$parse","$q",c],link:function(b,c,e,f){ -// get needed controllers -var g=f[0],h=f[1]; -// Initialize the editor content when it is ready. -g.ready().then(function(){ -// Sync view on specific events. -["dataReady","change","blur","saveSnapshot"].forEach(function(a){g.onCKEvent(a,function(){h.$setViewValue(g.instance.getData()||"")})}),g.instance.setReadOnly(!!e.readonly),e.$observe("readonly",function(a){g.instance.setReadOnly(!!a)}), -// Defer the ready handler calling to ensure that the editor is -// completely ready and populated with data. -d(function(){a(e.ready)(b)})}), -// Set editor data when view data change. -h.$render=function(){g.ready().then(function(){g.instance.setData(h.$viewValue||"",{noSnapshot:!0,callback:function(){ -//Amends the top of the undo stack with the current DOM changes -g.instance.fire("updateSnapshot")}})})}}}}/** - * CKEditor controller. - */ -function c(a,b,c,e,f){var g,h=e(c.ckeditor)(a)||{},i=b[0],j=f.defer();// a deferred to be resolved when the editor is ready -// Create editor instance. -g=i.hasAttribute("contenteditable")&&"true"==i.getAttribute("contenteditable").toLowerCase()?this.instance=CKEDITOR.inline(i,h):this.instance=CKEDITOR.replace(i,h),this.onCKEvent=function(b,c){function e(){var a=arguments;d(function(){f.apply(null,a)})}function f(){var b=arguments;a.$apply(function(){c.apply(null,b)})}return g.on(b,e),function(){g.removeListener(b,f)}},this.onCKEvent("instanceReady",function(){j.resolve(!0)}),this.ready=function(){return j.promise},a.$on("$destroy",function(){j.promise.then(function(){g.destroy(!1)})})}a.module("ckeditor",[]).directive("ckeditor",["$parse",b]); -// Polyfill setImmediate function. -var d=window&&window.setImmediate?window.setImmediate:function(a){setTimeout(a,0)}}); -//# sourceMappingURL=angular-ckeditor.min.js.map \ No newline at end of file +!function(a,b){"function"==typeof define&&define.amd?define(["angular"],b):b(angular)}(this,function(a){function b(a){return{restrict:"A",require:["ckeditor","ngModel"],controller:["$scope","$element","$attrs","$parse","$q",c],link:function(b,c,e,f){var g=f[0],h=f[1];g.ready().then(function(){["dataReady","change","blur","saveSnapshot","key"].forEach(function(a){g.onCKEvent(a,function(){h.$setViewValue(g.instance.getData()||"")})}),g.instance.setReadOnly(!!e.readonly),e.$observe("readonly",function(a){g.instance.setReadOnly(!!a)}),d(function(){a(e.ready)(b)})}),h.$render=function(){g.ready().then(function(){g.instance.setData(h.$viewValue||"",{noSnapshot:!0,callback:function(){g.instance.fire("updateSnapshot")}})})}}}}function c(a,b,c,e,f){var g,h=e(c.ckeditor)(a)||{},i=b[0],j=f.defer();g=i.hasAttribute("contenteditable")&&"true"==i.getAttribute("contenteditable").toLowerCase()?this.instance=CKEDITOR.inline(i,h):this.instance=CKEDITOR.replace(i,h),this.onCKEvent=function(b,c){function e(){var a=arguments;d(function(){f.apply(null,a)})}function f(){var b=arguments;a.$apply(function(){c.apply(null,b)})}return g.on(b,e),function(){g.removeListener(b,f)}},this.onCKEvent("instanceReady",function(){j.resolve(!0)}),this.ready=function(){return j.promise},a.$on("$destroy",function(){j.promise.then(function(){g.destroy(!1)})})}a.module("ckeditor",[]).directive("ckeditor",["$parse",b]);var d=window&&window.setImmediate?window.setImmediate:function(a){setTimeout(a,0)}}); +//# sourceMappingURL=angular-ckeditor.min.map \ No newline at end of file diff --git a/angular-ckeditor.min.map b/angular-ckeditor.min.map index dfd37bb..7e1f396 100644 --- a/angular-ckeditor.min.map +++ b/angular-ckeditor.min.map @@ -1 +1 @@ -{"version":3,"sources":["angular-ckeditor.js"],"names":["root","factory","define","amd","angular","this","ckeditorDirective","$parse","restrict","require","controller","ckeditorController","link","scope","element","attrs","ctrls","ngModelController","ready","then","forEach","event","onCKEvent","$setViewValue","instance","getData","setReadOnly","readonly","$observe","setImmediate","$render","setData","$viewValue","$scope","$element","$attrs","$q","config","ckeditor","editorElement","readyDeferred","defer","hasAttribute","getAttribute","toLowerCase","CKEDITOR","inline","replace","listener","asyncListener","args","arguments","applyListener","apply","$apply","on","removeListener","resolve","promise","$on","destroy","module","directive","window","fn","setTimeout"],"mappings":"CAAC,SAAUA,EAAMC,GAEO,kBAAXC,SAAyBA,OAAOC,IAAKD,QAAQ,WAAYD,GAE/DA,EAAQG,UACbC,KAAM,SAAUD,GAkBhB,QAASE,GAAkBC,GACzB,OACEC,SAAU,IACVC,SAAU,WAAY,WACtBC,YACE,SACA,WACA,SACA,SACA,KACAC,GAEFC,KAAM,SAAUC,EAAOC,EAASC,EAAOC,GAErC,GAAIN,GAAaM,EAAM,GACnBC,EAAoBD,EAAM,EAG9BN,GAAWQ,QAAQC,KAAK,YAErB,YAAa,SAAU,OAAQ,gBAAgBC,QAAQ,SAAUC,GAChEX,EAAWY,UAAUD,EAAO,WAC1BJ,EAAkBM,cAAcb,EAAWc,SAASC,WAAa,QAIrEf,EAAWc,SAASE,cAAeX,EAAMY,UACzCZ,EAAMa,SAAS,WAAY,SAAUD,GACnCjB,EAAWc,SAASE,cAAeC,KAKrCE,EAAa,WACXtB,EAAOQ,EAAMG,OAAOL,OAKxBI,EAAkBa,QAAU,WAC1BpB,EAAWQ,QAAQC,KAAK,WACtBT,EAAWc,SAASO,QAAQd,EAAkBe,YAAc,SAWtE,QAASrB,GAAmBsB,EAAQC,EAAUC,EAAQ5B,EAAQ6B,GAC5D,GAEIZ,GAFAa,EAAS9B,EAAO4B,EAAOG,UAAUL,OACjCM,EAAgBL,EAAS,GAEzBM,EAAgBJ,EAAGK,OAKrBjB,GAFEe,EAAcG,aAAa,oBACoC,QAA/DH,EAAcI,aAAa,mBAAmBC,cACrCvC,KAAKmB,SAAWqB,SAASC,OAAOP,EAAeF,GAG/ChC,KAAKmB,SAAWqB,SAASE,QAAQR,EAAeF,GAY7DhC,KAAKiB,UAAY,SAAUD,EAAO2B,GAGhC,QAASC,KACP,GAAIC,GAAOC,SACXtB,GAAa,WACXuB,EAAcC,MAAM,KAAMH,KAI9B,QAASE,KACP,GAAIF,GAAOC,SACXlB,GAAOqB,OAAO,WACZN,EAASK,MAAM,KAAMH,KAKzB,MAjBA1B,GAAS+B,GAAGlC,EAAO4B,GAiBZ,WACLzB,EAASgC,eAAenC,EAAO+B,KAInC/C,KAAKiB,UAAU,gBAAiB,WAC9BkB,EAAciB,SAAQ,KAQxBpD,KAAKa,MAAQ,WACX,MAAOsB,GAAckB,SAIvBzB,EAAO0B,IAAI,WAAY,WAErBnB,EAAckB,QAAQvC,KAAK,WACzBK,EAASoC,SAAQ,OApIvBxD,EACCyD,OAAO,eACPC,UAAU,YAAa,SAAUxD,GAGlC,IAAIuB,GAAekC,QAAUA,OAAOlC,aAAekC,OAAOlC,aAAe,SAAUmC,GACjFC,WAAWD,EAAI","file":"angular-ckeditor.min.js"} \ No newline at end of file +{"version":3,"sources":["angular-ckeditor.js"],"names":["root","factory","define","amd","angular","this","ckeditorDirective","$parse","restrict","require","controller","ckeditorController","link","scope","element","attrs","ctrls","ngModelController","ready","then","forEach","event","onCKEvent","$setViewValue","instance","getData","setReadOnly","readonly","$observe","setImmediate","$render","setData","$viewValue","noSnapshot","callback","fire","$scope","$element","$attrs","$q","config","ckeditor","editorElement","readyDeferred","defer","hasAttribute","getAttribute","toLowerCase","CKEDITOR","inline","replace","listener","asyncListener","args","arguments","applyListener","apply","$apply","on","removeListener","resolve","promise","$on","destroy","module","directive","window","fn","setTimeout"],"mappings":"CAAC,SAAUA,EAAMC,GAEO,kBAAXC,SAAyBA,OAAOC,IAAKD,QAAQ,WAAYD,GAE/DA,EAAQG,UACbC,KAAM,SAAUD,GAkBhB,QAASE,GAAkBC,GACzB,OACEC,SAAU,IACVC,SAAU,WAAY,WACtBC,YACE,SACA,WACA,SACA,SACA,KACAC,GAEFC,KAAM,SAAUC,EAAOC,EAASC,EAAOC,GAErC,GAAIN,GAAaM,EAAM,GACnBC,EAAoBD,EAAM,EAG9BN,GAAWQ,QAAQC,KAAK,YAErB,YAAa,SAAU,OAAQ,eAAgB,OAAOC,QAAQ,SAAUC,GACvEX,EAAWY,UAAUD,EAAO,WAC1BJ,EAAkBM,cAAcb,EAAWc,SAASC,WAAa,QAIrEf,EAAWc,SAASE,cAAeX,EAAMY,UACzCZ,EAAMa,SAAS,WAAY,SAAUD,GACnCjB,EAAWc,SAASE,cAAeC,KAKrCE,EAAa,WACXtB,EAAOQ,EAAMG,OAAOL,OAKxBI,EAAkBa,QAAU,WAC1BpB,EAAWQ,QAAQC,KAAK,WAEtBT,EAAWc,SAASO,QAAQd,EAAkBe,YAAc,IAC1DC,YAAY,EACZC,SAAU,WAIRxB,EAAWc,SAASW,KAAK,0BAavC,QAASxB,GAAmByB,EAAQC,EAAUC,EAAQ/B,EAAQgC,GAC5D,GAEIf,GAFAgB,EAASjC,EAAO+B,EAAOG,UAAUL,OACjCM,EAAgBL,EAAS,GAEzBM,EAAgBJ,EAAGK,OAKrBpB,GAFEkB,EAAcG,aAAa,oBACoC,QAA/DH,EAAcI,aAAa,mBAAmBC,cACrC1C,KAAKmB,SAAWwB,SAASC,OAAOP,EAAeF,GAG/CnC,KAAKmB,SAAWwB,SAASE,QAAQR,EAAeF,GAY7DnC,KAAKiB,UAAY,SAAUD,EAAO8B,GAGhC,QAASC,KACP,GAAIC,GAAOC,SACXzB,GAAa,WACX0B,EAAcC,MAAM,KAAMH,KAI9B,QAASE,KACP,GAAIF,GAAOC,SACXlB,GAAOqB,OAAO,WACZN,EAASK,MAAM,KAAMH,KAKzB,MAjBA7B,GAASkC,GAAGrC,EAAO+B,GAiBZ,WACL5B,EAASmC,eAAetC,EAAOkC,KAInClD,KAAKiB,UAAU,gBAAiB,WAC9BqB,EAAciB,SAAQ,KAQxBvD,KAAKa,MAAQ,WACX,MAAOyB,GAAckB,SAIvBzB,EAAO0B,IAAI,WAAY,WAErBnB,EAAckB,QAAQ1C,KAAK,WACzBK,EAASuC,SAAQ,OA7IvB3D,EACC4D,OAAO,eACPC,UAAU,YAAa,SAAU3D,GAGlC,IAAIuB,GAAeqC,QAAUA,OAAOrC,aAAeqC,OAAOrC,aAAe,SAAUsC,GACjFC,WAAWD,EAAI","file":"angular-ckeditor.min.js"} \ No newline at end of file