Comparing version 0.3.0 to 0.3.2
{ | ||
"name": "ngDialog", | ||
"version": "0.3.0", | ||
"version": "0.3.2", | ||
"homepage": "https://github.com/likeastore/ngDialog", | ||
@@ -5,0 +5,0 @@ "description": "Modal dialogs and popups provider for Angular.js applications", |
@@ -26,2 +26,3 @@ /* | ||
closeByEscape: true, | ||
closeByNavigation: false, | ||
appendTo: false, | ||
@@ -77,3 +78,6 @@ preCloseCallback: false, | ||
if (typeof window.Hammer !== 'undefined') { | ||
window.Hammer($dialog[0]).off('tap', closeByDocumentHandler); | ||
var hammerTime = angular.element($dialog).scope().hammerTime; | ||
hammerTime.off('tap', closeByDocumentHandler); | ||
hammerTime.destroy(); | ||
delete $dialog.scope().hammerTime; | ||
} else { | ||
@@ -91,2 +95,4 @@ $dialog.unbind('click'); | ||
$rootScope.$broadcast('ngDialog.closing', $dialog); | ||
if (animationEndSupport) { | ||
@@ -183,10 +189,5 @@ $dialog.unbind(animationEndEvent).bind(animationEndEvent, function () { | ||
$q.when(loadTemplate(options.template)).then(function (template) { | ||
template = angular.isString(template) ? | ||
template : | ||
template.data && angular.isString(template.data) ? | ||
template.data : | ||
''; | ||
$q.when(loadTemplate(options.template || options.templateUrl)).then(function (template) { | ||
$templateCache.put(options.template, template); | ||
$templateCache.put(options.template || options.templateUrl, template); | ||
@@ -273,2 +274,8 @@ if (options.showClose) { | ||
if (options.closeByNavigation) { | ||
$rootScope.$on('$locationChangeSuccess', function () { | ||
privateMethods.closeDialog($dialog); | ||
}); | ||
} | ||
closeByDocumentHandler = function (event) { | ||
@@ -284,3 +291,4 @@ var isOverlay = options.closeByDocument ? $el(event.target).hasClass('ngdialog-overlay') : false; | ||
if (typeof window.Hammer !== 'undefined') { | ||
window.Hammer($dialog[0]).on('tap', closeByDocumentHandler); | ||
var hammerTime = scope.hammerTime = window.Hammer($dialog[0]); | ||
hammerTime.on('tap', closeByDocumentHandler); | ||
} else { | ||
@@ -303,2 +311,8 @@ $dialog.bind('click', closeByDocumentHandler); | ||
function loadTemplateUrl (tmpl, config) { | ||
return $http.get(tmpl, angular.extend({cache: false}, config || {})).then(function(res) { | ||
return res.data || ''; | ||
}); | ||
} | ||
function loadTemplate (tmpl) { | ||
@@ -314,6 +328,6 @@ if (!tmpl) { | ||
if (typeof options.cache === 'boolean' && !options.cache) { | ||
return $http.get(tmpl, {cache: false}); | ||
return loadTemplateUrl(tmpl, {cache: false}); | ||
} | ||
return $templateCache.get(tmpl) || $http.get(tmpl, {cache: true}); | ||
return $templateCache.get(tmpl) || loadTemplateUrl(tmpl, {cache: false}); | ||
} | ||
@@ -320,0 +334,0 @@ }, |
@@ -1,2 +0,2 @@ | ||
/*! ng-dialog - v0.3.0 (https://github.com/likeastore/ngDialog) */ | ||
!function(a,b){"use strict";var c=b.module("ngDialog",[]),d=b.element,e=b.isDefined,f=(document.body||document.documentElement).style,g=e(f.animation)||e(f.WebkitAnimation)||e(f.MozAnimation)||e(f.MsAnimation)||e(f.OAnimation),h="animationend webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend",i=!1;c.provider("ngDialog",function(){var c=this.defaults={className:"ngdialog-theme-default",plain:!1,showClose:!0,closeByDocument:!0,closeByEscape:!0,appendTo:!1,preCloseCallback:!1,cache:!0};this.setForceBodyReload=function(a){i=a||!1},this.setDefaults=function(a){b.extend(c,a)};var e,f=0,j=0,k={};this.$get=["$document","$templateCache","$compile","$q","$http","$rootScope","$timeout","$window","$controller",function(l,m,n,o,p,q,r,s,t){var u=l.find("body");i&&q.$on("$locationChangeSuccess",function(){u=l.find("body")});var v={onDocumentKeydown:function(a){27===a.keyCode&&w.close("$escape")},setBodyPadding:function(a){var b=parseInt(u.css("padding-right")||0,10);u.css("padding-right",b+a+"px"),u.data("ng-dialog-original-padding",b)},resetBodyPadding:function(){var a=u.data("ng-dialog-original-padding");a?u.css("padding-right",a+"px"):u.css("padding-right","")},performCloseDialog:function(b,c){var d=b.attr("id");"undefined"!=typeof a.Hammer?a.Hammer(b[0]).off("tap",e):b.unbind("click"),1===j&&u.unbind("keydown"),b.hasClass("ngdialog-closing")||(j-=1),g?b.unbind(h).bind(h,function(){b.scope().$destroy(),b.remove(),0===j&&(u.removeClass("ngdialog-open"),v.resetBodyPadding()),q.$broadcast("ngDialog.closed",b)}).addClass("ngdialog-closing"):(b.scope().$destroy(),b.remove(),0===j&&(u.removeClass("ngdialog-open"),v.resetBodyPadding()),q.$broadcast("ngDialog.closed",b)),k[d]&&(k[d].resolve({id:d,value:c,$dialog:b,remainingDialogs:j}),delete k[d])},closeDialog:function(a,c){var d=a.data("$ngDialogPreCloseCallback");if(d&&b.isFunction(d)){var e=d.call(a,c);b.isObject(e)?e.closePromise?e.closePromise.then(function(){v.performCloseDialog(a,c)}):e.then(function(){v.performCloseDialog(a,c)},function(){}):e!==!1&&v.performCloseDialog(a,c)}else v.performCloseDialog(a,c)}},w={open:function(g){function h(a){return a?b.isString(a)&&l.plain?a:"boolean"!=typeof l.cache||l.cache?m.get(a)||p.get(a,{cache:!0}):p.get(a,{cache:!1}):"Empty template"}var i=this,l=b.copy(c);g=g||{},b.extend(l,g),f+=1,i.latestID="ngdialog"+f;var x;k[i.latestID]=x=o.defer();var y,z,A=b.isObject(l.scope)?l.scope.$new():q.$new();return o.when(h(l.template)).then(function(c){if(c=b.isString(c)?c:c.data&&b.isString(c.data)?c.data:"",m.put(l.template,c),l.showClose&&(c+='<div class="ngdialog-close"></div>'),i.$result=y=d('<div id="ngdialog'+f+'" class="ngdialog"></div>'),y.html('<div class="ngdialog-overlay"></div><div class="ngdialog-content">'+c+"</div>"),l.data&&b.isString(l.data)){var g=l.data.replace(/^\s*/,"")[0];A.ngDialogData="{"===g||"["===g?b.fromJson(l.data):l.data}else l.data&&b.isObject(l.data)&&(A.ngDialogData=b.fromJson(b.toJson(l.data)));if(l.controller&&(b.isString(l.controller)||b.isArray(l.controller)||b.isFunction(l.controller))){var h=t(l.controller,{$scope:A,$element:y});y.data("$ngDialogControllerController",h)}if(l.className&&y.addClass(l.className),z=l.appendTo&&b.isString(l.appendTo)?b.element(document.querySelector(l.appendTo)):u,l.preCloseCallback){var k;b.isFunction(l.preCloseCallback)?k=l.preCloseCallback:b.isString(l.preCloseCallback)&&A&&(b.isFunction(A[l.preCloseCallback])?k=A[l.preCloseCallback]:A.$parent&&b.isFunction(A.$parent[l.preCloseCallback])?k=A.$parent[l.preCloseCallback]:q&&b.isFunction(q[l.preCloseCallback])&&(k=q[l.preCloseCallback])),k&&y.data("$ngDialogPreCloseCallback",k)}return A.closeThisDialog=function(a){v.closeDialog(y,a)},r(function(){n(y)(A);var a=s.innerWidth-u.prop("clientWidth");u.addClass("ngdialog-open");var b=a-(s.innerWidth-u.prop("clientWidth"));b>0&&v.setBodyPadding(b),z.append(y),l.name?q.$broadcast("ngDialog.opened",{dialog:y,name:l.name}):q.$broadcast("ngDialog.opened",y)}),l.closeByEscape&&u.bind("keydown",v.onDocumentKeydown),e=function(a){var b=l.closeByDocument?d(a.target).hasClass("ngdialog-overlay"):!1,c=d(a.target).hasClass("ngdialog-close");(b||c)&&w.close(y.attr("id"),c?"$closeButton":"$document")},"undefined"!=typeof a.Hammer?a.Hammer(y[0]).on("tap",e):y.bind("click",e),j+=1,w}),{id:"ngdialog"+f,closePromise:x.promise,close:function(a){v.closeDialog(y,a)}}},openConfirm:function(a){var c=o.defer(),e={closeByEscape:!1,closeByDocument:!1};b.extend(e,a),e.scope=b.isObject(e.scope)?e.scope.$new():q.$new(),e.scope.confirm=function(a){c.resolve(a);var b=d(document.getElementById(f.id));v.performCloseDialog(b,a)};var f=w.open(e);return f.closePromise.then(function(a){return a?c.reject(a.value):c.reject()}),c.promise},close:function(a,b){var c=d(document.getElementById(a));return c.length?v.closeDialog(c,b):w.closeAll(b),w},closeAll:function(a){var c=document.querySelectorAll(".ngdialog");b.forEach(c,function(b){v.closeDialog(d(b),a)})},getDefaults:function(){return c}};return w}]}),c.directive("ngDialog",["ngDialog",function(a){return{restrict:"A",scope:{ngDialogScope:"="},link:function(c,d,e){d.on("click",function(d){d.preventDefault();var f=b.isDefined(c.ngDialogScope)?c.ngDialogScope:"noScope";b.isDefined(e.ngDialogClosePrevious)&&a.close(e.ngDialogClosePrevious);var g=a.getDefaults();a.open({template:e.ngDialog,className:e.ngDialogClass||g.className,controller:e.ngDialogController,scope:f,data:e.ngDialogData,showClose:"false"===e.ngDialogShowClose?!1:"true"===e.ngDialogShowClose?!0:g.showClose,closeByDocument:"false"===e.ngDialogCloseByDocument?!1:"true"===e.ngDialogCloseByDocument?!0:g.closeByDocument,closeByEscape:"false"===e.ngDialogCloseByEscape?!1:"true"===e.ngDialogCloseByEscape?!0:g.closeByEscape,preCloseCallback:e.ngDialogPreCloseCallback||g.preCloseCallback})})}}}])}(window,window.angular); | ||
/*! ng-dialog - v0.3.2 (https://github.com/likeastore/ngDialog) */ | ||
!function(a,b){"use strict";var c=b.module("ngDialog",[]),d=b.element,e=b.isDefined,f=(document.body||document.documentElement).style,g=e(f.animation)||e(f.WebkitAnimation)||e(f.MozAnimation)||e(f.MsAnimation)||e(f.OAnimation),h="animationend webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend",i=!1;c.provider("ngDialog",function(){var c=this.defaults={className:"ngdialog-theme-default",plain:!1,showClose:!0,closeByDocument:!0,closeByEscape:!0,closeByNavigation:!1,appendTo:!1,preCloseCallback:!1,cache:!0};this.setForceBodyReload=function(a){i=a||!1},this.setDefaults=function(a){b.extend(c,a)};var e,f=0,j=0,k={};this.$get=["$document","$templateCache","$compile","$q","$http","$rootScope","$timeout","$window","$controller",function(l,m,n,o,p,q,r,s,t){var u=l.find("body");i&&q.$on("$locationChangeSuccess",function(){u=l.find("body")});var v={onDocumentKeydown:function(a){27===a.keyCode&&w.close("$escape")},setBodyPadding:function(a){var b=parseInt(u.css("padding-right")||0,10);u.css("padding-right",b+a+"px"),u.data("ng-dialog-original-padding",b)},resetBodyPadding:function(){var a=u.data("ng-dialog-original-padding");a?u.css("padding-right",a+"px"):u.css("padding-right","")},performCloseDialog:function(c,d){var f=c.attr("id");if("undefined"!=typeof a.Hammer){var i=b.element(c).scope().hammerTime;i.off("tap",e),i.destroy(),delete c.scope().hammerTime}else c.unbind("click");1===j&&u.unbind("keydown"),c.hasClass("ngdialog-closing")||(j-=1),q.$broadcast("ngDialog.closing",c),g?c.unbind(h).bind(h,function(){c.scope().$destroy(),c.remove(),0===j&&(u.removeClass("ngdialog-open"),v.resetBodyPadding()),q.$broadcast("ngDialog.closed",c)}).addClass("ngdialog-closing"):(c.scope().$destroy(),c.remove(),0===j&&(u.removeClass("ngdialog-open"),v.resetBodyPadding()),q.$broadcast("ngDialog.closed",c)),k[f]&&(k[f].resolve({id:f,value:d,$dialog:c,remainingDialogs:j}),delete k[f])},closeDialog:function(a,c){var d=a.data("$ngDialogPreCloseCallback");if(d&&b.isFunction(d)){var e=d.call(a,c);b.isObject(e)?e.closePromise?e.closePromise.then(function(){v.performCloseDialog(a,c)}):e.then(function(){v.performCloseDialog(a,c)},function(){}):e!==!1&&v.performCloseDialog(a,c)}else v.performCloseDialog(a,c)}},w={open:function(g){function h(a,c){return p.get(a,b.extend({cache:!1},c||{})).then(function(a){return a.data||""})}function i(a){return a?b.isString(a)&&x.plain?a:"boolean"!=typeof x.cache||x.cache?m.get(a)||h(a,{cache:!1}):h(a,{cache:!1}):"Empty template"}var l=this,x=b.copy(c);g=g||{},b.extend(x,g),f+=1,l.latestID="ngdialog"+f;var y;k[l.latestID]=y=o.defer();var z,A,B=b.isObject(x.scope)?x.scope.$new():q.$new();return o.when(i(x.template||x.templateUrl)).then(function(c){if(m.put(x.template||x.templateUrl,c),x.showClose&&(c+='<div class="ngdialog-close"></div>'),l.$result=z=d('<div id="ngdialog'+f+'" class="ngdialog"></div>'),z.html('<div class="ngdialog-overlay"></div><div class="ngdialog-content">'+c+"</div>"),x.data&&b.isString(x.data)){var g=x.data.replace(/^\s*/,"")[0];B.ngDialogData="{"===g||"["===g?b.fromJson(x.data):x.data}else x.data&&b.isObject(x.data)&&(B.ngDialogData=b.fromJson(b.toJson(x.data)));if(x.controller&&(b.isString(x.controller)||b.isArray(x.controller)||b.isFunction(x.controller))){var h=t(x.controller,{$scope:B,$element:z});z.data("$ngDialogControllerController",h)}if(x.className&&z.addClass(x.className),A=x.appendTo&&b.isString(x.appendTo)?b.element(document.querySelector(x.appendTo)):u,x.preCloseCallback){var i;b.isFunction(x.preCloseCallback)?i=x.preCloseCallback:b.isString(x.preCloseCallback)&&B&&(b.isFunction(B[x.preCloseCallback])?i=B[x.preCloseCallback]:B.$parent&&b.isFunction(B.$parent[x.preCloseCallback])?i=B.$parent[x.preCloseCallback]:q&&b.isFunction(q[x.preCloseCallback])&&(i=q[x.preCloseCallback])),i&&z.data("$ngDialogPreCloseCallback",i)}if(B.closeThisDialog=function(a){v.closeDialog(z,a)},r(function(){n(z)(B);var a=s.innerWidth-u.prop("clientWidth");u.addClass("ngdialog-open");var b=a-(s.innerWidth-u.prop("clientWidth"));b>0&&v.setBodyPadding(b),A.append(z),x.name?q.$broadcast("ngDialog.opened",{dialog:z,name:x.name}):q.$broadcast("ngDialog.opened",z)}),x.closeByEscape&&u.bind("keydown",v.onDocumentKeydown),x.closeByNavigation&&q.$on("$locationChangeSuccess",function(){v.closeDialog(z)}),e=function(a){var b=x.closeByDocument?d(a.target).hasClass("ngdialog-overlay"):!1,c=d(a.target).hasClass("ngdialog-close");(b||c)&&w.close(z.attr("id"),c?"$closeButton":"$document")},"undefined"!=typeof a.Hammer){var k=B.hammerTime=a.Hammer(z[0]);k.on("tap",e)}else z.bind("click",e);return j+=1,w}),{id:"ngdialog"+f,closePromise:y.promise,close:function(a){v.closeDialog(z,a)}}},openConfirm:function(a){var c=o.defer(),e={closeByEscape:!1,closeByDocument:!1};b.extend(e,a),e.scope=b.isObject(e.scope)?e.scope.$new():q.$new(),e.scope.confirm=function(a){c.resolve(a);var b=d(document.getElementById(f.id));v.performCloseDialog(b,a)};var f=w.open(e);return f.closePromise.then(function(a){return a?c.reject(a.value):c.reject()}),c.promise},close:function(a,b){var c=d(document.getElementById(a));return c.length?v.closeDialog(c,b):w.closeAll(b),w},closeAll:function(a){var c=document.querySelectorAll(".ngdialog");b.forEach(c,function(b){v.closeDialog(d(b),a)})},getDefaults:function(){return c}};return w}]}),c.directive("ngDialog",["ngDialog",function(a){return{restrict:"A",scope:{ngDialogScope:"="},link:function(c,d,e){d.on("click",function(d){d.preventDefault();var f=b.isDefined(c.ngDialogScope)?c.ngDialogScope:"noScope";b.isDefined(e.ngDialogClosePrevious)&&a.close(e.ngDialogClosePrevious);var g=a.getDefaults();a.open({template:e.ngDialog,className:e.ngDialogClass||g.className,controller:e.ngDialogController,scope:f,data:e.ngDialogData,showClose:"false"===e.ngDialogShowClose?!1:"true"===e.ngDialogShowClose?!0:g.showClose,closeByDocument:"false"===e.ngDialogCloseByDocument?!1:"true"===e.ngDialogCloseByDocument?!0:g.closeByDocument,closeByEscape:"false"===e.ngDialogCloseByEscape?!1:"true"===e.ngDialogCloseByEscape?!0:g.closeByEscape,preCloseCallback:e.ngDialogPreCloseCallback||g.preCloseCallback})})}}}])}(window,window.angular); |
{ | ||
"name": "ng-dialog", | ||
"version": "0.3.0", | ||
"version": "0.3.2", | ||
"homepage": "https://github.com/likeastore/ngDialog", | ||
@@ -5,0 +5,0 @@ "description": "Modal dialogs and popups provider for Angular.js applications", |
@@ -336,6 +336,8 @@ # ngDialog | ||
Everytime when ngDialog is opened or closed we're broadcasting two events (dispatching events downwards to all child scopes): | ||
Everytime when ngDialog is opened or closed we're broadcasting three events (dispatching events downwards to all child scopes): | ||
- ``ngDialog.opened`` | ||
- ``ngDialog.closing`` | ||
- ``ngDialog.closed`` | ||
@@ -351,9 +353,11 @@ | ||
``ngDialog.closing`` is different than ``ngDialog.closed`` in that it is fired immediately when the dialog begins closing, whereas ``ngDialog.closed`` is fired after all animations are complete. Both will be fired even when animation end support is not detected. | ||
## Themes | ||
Currently ngDialog contains two default themes that show how easily you can create your own. Check ``example`` folder for demonstration purposes. | ||
Currently _ngDialog_ contains two default themes that show how easily you can create your own. Check ``example`` folder for demonstration purposes. | ||
## CDN | ||
ngDialog is available for public on [cdnjs](http://cdnjs.com/libraries/ng-dialog). For example, please use following urls for version ``0.3.0``. | ||
_ngDialog_ is available for public on [cdnjs](http://cdnjs.com/libraries/ng-dialog). For example, please use following urls for version ``0.3.0``. | ||
@@ -366,2 +370,6 @@ ```html | ||
## References | ||
_ngDialog_ default styles are heavily inspired by awesome [Hubspot/Vex](https://github.com/HubSpot/vex) jQuery modals. | ||
## License | ||
@@ -368,0 +376,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
78525
24
1117
385