ax5ui-dialog
Advanced tools
Comparing version 0.8.7 to 0.8.8
{ | ||
"name": "ax5ui-dialog", | ||
"version": "0.8.7", | ||
"version": "0.8.8", | ||
"authors": [ | ||
@@ -5,0 +5,0 @@ "ThomasJ <tom@axisj.com>" |
@@ -12,3 +12,3 @@ "use strict"; | ||
className: "dialog", | ||
version: "0.8.6" | ||
version: "0.8.8" | ||
}, function () { | ||
@@ -221,6 +221,6 @@ /** | ||
if (callback) callback.call(that, k); | ||
this.close(); | ||
this.close({ doNotCallback: true }); | ||
} else if (opts.dialogType === "confirm") { | ||
if (callback) callback.call(that, k); | ||
this.close(); | ||
this.close({ doNotCallback: true }); | ||
} else if (opts.dialogType === "prompt") { | ||
@@ -234,3 +234,3 @@ if (k === 'ok') { | ||
if (callback) callback.call(that, k); | ||
this.close(); | ||
this.close({ doNotCallback: true }); | ||
} | ||
@@ -274,3 +274,3 @@ } | ||
if (callback) callback.call(that, k); | ||
this.close(); | ||
this.close({ doNotCallback: true }); | ||
} | ||
@@ -343,2 +343,5 @@ } | ||
opts.dialogType = "alert"; | ||
opts.theme = opts.theme || cfg.theme || ""; | ||
opts.callback = callback; | ||
if (typeof opts.btns === "undefined") { | ||
@@ -351,4 +354,2 @@ opts.btns = { | ||
opts = null; | ||
callback = null; | ||
return this; | ||
@@ -397,2 +398,4 @@ }; | ||
opts.theme = opts.theme || cfg.theme || ""; | ||
opts.callback = callback; | ||
if (typeof opts.btns === "undefined") { | ||
@@ -406,4 +409,2 @@ opts.btns = { | ||
opts = null; | ||
callback = null; | ||
return this; | ||
@@ -451,2 +452,3 @@ }; | ||
opts.theme = opts.theme || cfg.theme || ""; | ||
opts.callback = callback; | ||
@@ -466,4 +468,2 @@ if (typeof opts.input === "undefined") { | ||
opts = null; | ||
callback = null; | ||
return this; | ||
@@ -481,3 +481,4 @@ }; | ||
*/ | ||
this.close = function (opts, that) { | ||
this.close = function (_option) { | ||
var opts, that; | ||
if (this.activeDialog) { | ||
@@ -490,9 +491,17 @@ opts = self.dialogConfig; | ||
setTimeout(function () { | ||
this.activeDialog.remove(); | ||
this.activeDialog = null; | ||
if (this.activeDialog) { | ||
this.activeDialog.remove(); | ||
this.activeDialog = null; | ||
} | ||
that = { | ||
self: this, | ||
state: "close" | ||
state: "close", | ||
dialogId: opts.id | ||
}; | ||
if (opts.callback && (!_option || !_option.doNotCallback)) { | ||
opts.callback.call(that); | ||
} | ||
if (opts && opts.onStateChanged) { | ||
@@ -499,0 +508,0 @@ opts.onStateChanged.call(that, that); |
@@ -1,1 +0,1 @@ | ||
"use strict";!function(){var i,t=ax5.ui,e=ax5.util;t.addClass({className:"dialog",version:"0.8.6"},function(){var n=function(){var n,l=this;this.instanceId=ax5.getGuid(),this.config={id:"ax5-dialog-"+this.instanceId,clickEventName:"click",theme:"default",width:300,title:"",msg:"",lang:{ok:"ok",cancel:"cancel"},animateTime:150},this.activeDialog=null,n=this.config;var a=function(i,t){return i&&i.onStateChanged?i.onStateChanged.call(t,t):this.onStateChanged&&this.onStateChanged.call(t,t),t=null,!0},o=function(t,e){var l={dialogId:t,title:e.title||n.title||"",msg:(e.msg||n.msg||"").replace(/\n/g,"<br/>"),input:e.input,btns:e.btns,_crlf:function(){return this.replace(/\n/g,"<br/>")}};try{return i.tmpl.get.call(this,"dialogDisplay",l)}finally{l=null}},s=function(i,t){var e,l={};i.id=i.id||n.id,e={width:i.width},jQuery(document.body).append(o.call(this,i.id,i)),this.activeDialog=jQuery("#"+i.id),this.activeDialog.css({width:e.width}),i.height=e.height=this.activeDialog.height(),"undefined"==typeof i.position||"center"===i.position?(l.top=jQuery(window).height()/2-e.height/2,l.left=jQuery(window).width()/2-e.width/2):(l.left=i.position.left||0,l.top=i.position.top||0),n.zIndex&&(l["z-index"]=n.zIndex),this.activeDialog.css(l),"prompt"===i.dialogType?this.activeDialog.find("[data-dialog-prompt]").get(0).focus():this.activeDialog.find("[data-dialog-btn]").get(0).focus(),this.activeDialog.find("[data-dialog-btn]").on(n.clickEventName,function(e){g.call(this,e||window.event,i,t)}.bind(this)),jQuery(window).bind("keydown.ax5dialog",function(e){u.call(this,e||window.event,i,t)}.bind(this)),jQuery(window).bind("resize.ax5dialog",function(i){d.call(this,i||window.event)}.bind(this)),a.call(this,i,{self:this,state:"open"}),l=null,e=null},d=function(i){if(!this.activeDialog)return this;var t=l.dialogConfig,e={width:t.width,height:t.height};return"undefined"==typeof t.position||"center"===t.position?(e.top=window.innerHeight/2-e.height/2,e.left=window.innerWidth/2-e.width/2):(e.left=t.position.left||0,e.top=t.position.top||0),e.left<0&&(e.left=0),e.top<0&&(e.top=0),this.activeDialog.css(e),t=null,e=null,this},g=function(i,t,n,l,a){var o;if(i.srcElement&&(i.target=i.srcElement),l=e.findParentNode(i.target,function(i){return i.getAttribute("data-dialog-btn")?!0:void 0})){if(a=l.getAttribute("data-dialog-btn"),o={self:this,key:a,value:t.btns[a],dialogId:t.id,btnTarget:l},"prompt"===t.dialogType){var s=null;for(var d in t.input)if(o[d]=this.activeDialog.find("[data-dialog-prompt="+d+"]").val(),""==o[d]||null==o[d]){s=d;break}}if(t.btns[a].onClick)t.btns[a].onClick.call(o,a);else if("alert"===t.dialogType)n&&n.call(o,a),this.close();else if("confirm"===t.dialogType)n&&n.call(o,a),this.close();else if("prompt"===t.dialogType){if("ok"===a&&s)return this.activeDialog.find('[data-dialog-prompt="'+s+'"]').get(0).focus(),!1;n&&n.call(o,a),this.close()}}o=null,t=null,n=null,l=null,a=null},u=function(i,t,e,n,l){var a,o=null;if(i.keyCode==ax5.info.eventKeys.ESC&&this.close(),"prompt"===t.dialogType&&i.keyCode==ax5.info.eventKeys.RETURN){a={self:this,key:l,value:t.btns[l],dialogId:t.id,btnTarget:n};for(var s in t.input)if(a[s]=this.activeDialog.find("[data-dialog-prompt="+s+"]").val(),""==a[s]||null==a[s]){o=s;break}if(o)return a=null,o=null,!1;e&&e.call(a,l),this.close()}a=null,o=null,t=null,e=null,n=null,l=null};this.init=function(){this.onStateChanged=n.onStateChanged},this.alert=function(i,t,a){return e.isString(i)&&(i={title:n.title,msg:i}),this.activeDialog?(a?console.log(ax5.info.getError("ax5dialog","501","alert")):setTimeout(function(){this.alert(i,t,1)}.bind(this),Number(n.animateTime)+100),this):(l.dialogConfig={},jQuery.extend(!0,l.dialogConfig,n,i),i=l.dialogConfig,i.dialogType="alert","undefined"==typeof i.btns&&(i.btns={ok:{label:n.lang.ok,theme:i.theme}}),s.call(this,i,t),i=null,t=null,this)},this.confirm=function(i,t,a){return e.isString(i)&&(i={title:n.title,msg:i}),this.activeDialog?(a?console.log(ax5.info.getError("ax5dialog","501","confirm")):setTimeout(function(){this.confirm(i,t,1)}.bind(this),Number(n.animateTime)+100),this):(l.dialogConfig={},jQuery.extend(!0,l.dialogConfig,n,i),i=l.dialogConfig,i.dialogType="confirm",i.theme=i.theme||n.theme||"","undefined"==typeof i.btns&&(i.btns={ok:{label:n.lang.ok,theme:i.theme},cancel:{label:n.lang.cancel}}),s.call(this,i,t),i=null,t=null,this)},this.prompt=function(i,t,a){return e.isString(i)&&(i={title:n.title,msg:i}),this.activeDialog?(a?console.log(ax5.info.getError("ax5dialog","501","prompt")):setTimeout(function(){this.prompt(i,t,1)}.bind(this),Number(n.animateTime)+100),this):(l.dialogConfig={},jQuery.extend(!0,l.dialogConfig,n,i),i=l.dialogConfig,i.dialogType="prompt",i.theme=i.theme||n.theme||"","undefined"==typeof i.input&&(i.input={value:{label:""}}),"undefined"==typeof i.btns&&(i.btns={ok:{label:n.lang.ok,theme:i.theme},cancel:{label:n.lang.cancel}}),s.call(this,i,t),i=null,t=null,this)},this.close=function(i,t){return this.activeDialog&&(i=l.dialogConfig,this.activeDialog.addClass("destroy"),jQuery(window).unbind("keydown.ax5dialog"),jQuery(window).unbind("resize.ax5dialog"),setTimeout(function(){this.activeDialog.remove(),this.activeDialog=null,t={self:this,state:"close"},i&&i.onStateChanged?i.onStateChanged.call(t,t):this.onStateChanged&&this.onStateChanged.call(t,t),i=null,t=null}.bind(this),n.animateTime)),this},this.main=function(){t.dialog_instance=t.dialog_instance||[],t.dialog_instance.push(this),arguments&&e.isObject(arguments[0])&&this.setConfig(arguments[0])}.apply(this,arguments)};return n}()),i=ax5.ui.dialog}(),function(){var i=ax5.ui.dialog,t=function(i){return' \n <div id="{{dialogId}}" data-ax5-ui="dialog" class="ax5-ui-dialog {{theme}}">\n <div class="ax-dialog-header">\n {{{title}}}\n </div>\n <div class="ax-dialog-body">\n <div class="ax-dialog-msg">{{{msg}}}</div>\n \n {{#input}}\n <div class="ax-dialog-prompt">\n {{#@each}}\n <div class="form-group">\n {{#@value.label}}\n <label>{{#_crlf}}{{{.}}}{{/_crlf}}</label>\n {{/@value.label}}\n <input type="{{@value.type}}" placeholder="{{@value.placeholder}}" class="form-control {{@value.theme}}" data-dialog-prompt="{{@key}}" style="width:100%;" value="{{@value.value}}" />\n {{#@value.help}}\n <p class="help-block">{{#_crlf}}{{.}}{{/_crlf}}</p>\n {{/@value.help}}\n </div>\n {{/@each}}\n </div>\n {{/input}}\n \n <div class="ax-dialog-buttons">\n <div class="ax-button-wrap">\n {{#btns}}\n {{#@each}}\n <button type="button" data-dialog-btn="{{@key}}" class="btn btn-{{@value.theme}}">{{@value.label}}</button>\n {{/@each}}\n {{/btns}}\n </div>\n </div>\n </div>\n </div> \n '};i.tmpl={dialogDisplay:t,get:function(t,e,n){return ax5.mustache.render(i.tmpl[t].call(this,n),e)}}}(); | ||
"use strict";!function(){var t,i=ax5.ui,e=ax5.util;i.addClass({className:"dialog",version:"0.8.8"},function(){var n=function(){var n,l=this;this.instanceId=ax5.getGuid(),this.config={id:"ax5-dialog-"+this.instanceId,clickEventName:"click",theme:"default",width:300,title:"",msg:"",lang:{ok:"ok",cancel:"cancel"},animateTime:150},this.activeDialog=null,n=this.config;var a=function(t,i){return t&&t.onStateChanged?t.onStateChanged.call(i,i):this.onStateChanged&&this.onStateChanged.call(i,i),i=null,!0},o=function(i,e){var l={dialogId:i,title:e.title||n.title||"",msg:(e.msg||n.msg||"").replace(/\n/g,"<br/>"),input:e.input,btns:e.btns,_crlf:function(){return this.replace(/\n/g,"<br/>")}};try{return t.tmpl.get.call(this,"dialogDisplay",l)}finally{l=null}},s=function(t,i){var e,l={};t.id=t.id||n.id,e={width:t.width},jQuery(document.body).append(o.call(this,t.id,t)),this.activeDialog=jQuery("#"+t.id),this.activeDialog.css({width:e.width}),t.height=e.height=this.activeDialog.height(),"undefined"==typeof t.position||"center"===t.position?(l.top=jQuery(window).height()/2-e.height/2,l.left=jQuery(window).width()/2-e.width/2):(l.left=t.position.left||0,l.top=t.position.top||0),n.zIndex&&(l["z-index"]=n.zIndex),this.activeDialog.css(l),"prompt"===t.dialogType?this.activeDialog.find("[data-dialog-prompt]").get(0).focus():this.activeDialog.find("[data-dialog-btn]").get(0).focus(),this.activeDialog.find("[data-dialog-btn]").on(n.clickEventName,function(e){c.call(this,e||window.event,t,i)}.bind(this)),jQuery(window).bind("keydown.ax5dialog",function(e){g.call(this,e||window.event,t,i)}.bind(this)),jQuery(window).bind("resize.ax5dialog",function(t){d.call(this,t||window.event)}.bind(this)),a.call(this,t,{self:this,state:"open"}),l=null,e=null},d=function(t){if(!this.activeDialog)return this;var i=l.dialogConfig,e={width:i.width,height:i.height};return"undefined"==typeof i.position||"center"===i.position?(e.top=window.innerHeight/2-e.height/2,e.left=window.innerWidth/2-e.width/2):(e.left=i.position.left||0,e.top=i.position.top||0),e.left<0&&(e.left=0),e.top<0&&(e.top=0),this.activeDialog.css(e),i=null,e=null,this},c=function(t,i,n,l,a){var o;if(t.srcElement&&(t.target=t.srcElement),l=e.findParentNode(t.target,function(t){return t.getAttribute("data-dialog-btn")?!0:void 0})){if(a=l.getAttribute("data-dialog-btn"),o={self:this,key:a,value:i.btns[a],dialogId:i.id,btnTarget:l},"prompt"===i.dialogType){var s=null;for(var d in i.input)if(o[d]=this.activeDialog.find("[data-dialog-prompt="+d+"]").val(),""==o[d]||null==o[d]){s=d;break}}if(i.btns[a].onClick)i.btns[a].onClick.call(o,a);else if("alert"===i.dialogType)n&&n.call(o,a),this.close({doNotCallback:!0});else if("confirm"===i.dialogType)n&&n.call(o,a),this.close({doNotCallback:!0});else if("prompt"===i.dialogType){if("ok"===a&&s)return this.activeDialog.find('[data-dialog-prompt="'+s+'"]').get(0).focus(),!1;n&&n.call(o,a),this.close({doNotCallback:!0})}}o=null,i=null,n=null,l=null,a=null},g=function(t,i,e,n,l){var a,o=null;if(t.keyCode==ax5.info.eventKeys.ESC&&this.close(),"prompt"===i.dialogType&&t.keyCode==ax5.info.eventKeys.RETURN){a={self:this,key:l,value:i.btns[l],dialogId:i.id,btnTarget:n};for(var s in i.input)if(a[s]=this.activeDialog.find("[data-dialog-prompt="+s+"]").val(),""==a[s]||null==a[s]){o=s;break}if(o)return a=null,o=null,!1;e&&e.call(a,l),this.close({doNotCallback:!0})}a=null,o=null,i=null,e=null,n=null,l=null};this.init=function(){this.onStateChanged=n.onStateChanged},this.alert=function(t,i,a){return e.isString(t)&&(t={title:n.title,msg:t}),this.activeDialog?(a?console.log(ax5.info.getError("ax5dialog","501","alert")):setTimeout(function(){this.alert(t,i,1)}.bind(this),Number(n.animateTime)+100),this):(l.dialogConfig={},jQuery.extend(!0,l.dialogConfig,n,t),t=l.dialogConfig,t.dialogType="alert",t.theme=t.theme||n.theme||"",t.callback=i,"undefined"==typeof t.btns&&(t.btns={ok:{label:n.lang.ok,theme:t.theme}}),s.call(this,t,i),this)},this.confirm=function(t,i,a){return e.isString(t)&&(t={title:n.title,msg:t}),this.activeDialog?(a?console.log(ax5.info.getError("ax5dialog","501","confirm")):setTimeout(function(){this.confirm(t,i,1)}.bind(this),Number(n.animateTime)+100),this):(l.dialogConfig={},jQuery.extend(!0,l.dialogConfig,n,t),t=l.dialogConfig,t.dialogType="confirm",t.theme=t.theme||n.theme||"",t.callback=i,"undefined"==typeof t.btns&&(t.btns={ok:{label:n.lang.ok,theme:t.theme},cancel:{label:n.lang.cancel}}),s.call(this,t,i),this)},this.prompt=function(t,i,a){return e.isString(t)&&(t={title:n.title,msg:t}),this.activeDialog?(a?console.log(ax5.info.getError("ax5dialog","501","prompt")):setTimeout(function(){this.prompt(t,i,1)}.bind(this),Number(n.animateTime)+100),this):(l.dialogConfig={},jQuery.extend(!0,l.dialogConfig,n,t),t=l.dialogConfig,t.dialogType="prompt",t.theme=t.theme||n.theme||"",t.callback=i,"undefined"==typeof t.input&&(t.input={value:{label:""}}),"undefined"==typeof t.btns&&(t.btns={ok:{label:n.lang.ok,theme:t.theme},cancel:{label:n.lang.cancel}}),s.call(this,t,i),this)},this.close=function(t){var i,e;return this.activeDialog&&(i=l.dialogConfig,this.activeDialog.addClass("destroy"),jQuery(window).unbind("keydown.ax5dialog"),jQuery(window).unbind("resize.ax5dialog"),setTimeout(function(){this.activeDialog&&(this.activeDialog.remove(),this.activeDialog=null),e={self:this,state:"close",dialogId:i.id},!i.callback||t&&t.doNotCallback||i.callback.call(e),i&&i.onStateChanged?i.onStateChanged.call(e,e):this.onStateChanged&&this.onStateChanged.call(e,e),i=null,e=null}.bind(this),n.animateTime)),this},this.main=function(){i.dialog_instance=i.dialog_instance||[],i.dialog_instance.push(this),arguments&&e.isObject(arguments[0])&&this.setConfig(arguments[0])}.apply(this,arguments)};return n}()),t=ax5.ui.dialog}(),function(){var t=ax5.ui.dialog,i=function(t){return' \n <div id="{{dialogId}}" data-ax5-ui="dialog" class="ax5-ui-dialog {{theme}}">\n <div class="ax-dialog-header">\n {{{title}}}\n </div>\n <div class="ax-dialog-body">\n <div class="ax-dialog-msg">{{{msg}}}</div>\n \n {{#input}}\n <div class="ax-dialog-prompt">\n {{#@each}}\n <div class="form-group">\n {{#@value.label}}\n <label>{{#_crlf}}{{{.}}}{{/_crlf}}</label>\n {{/@value.label}}\n <input type="{{@value.type}}" placeholder="{{@value.placeholder}}" class="form-control {{@value.theme}}" data-dialog-prompt="{{@key}}" style="width:100%;" value="{{@value.value}}" />\n {{#@value.help}}\n <p class="help-block">{{#_crlf}}{{.}}{{/_crlf}}</p>\n {{/@value.help}}\n </div>\n {{/@each}}\n </div>\n {{/input}}\n \n <div class="ax-dialog-buttons">\n <div class="ax-button-wrap">\n {{#btns}}\n {{#@each}}\n <button type="button" data-dialog-btn="{{@key}}" class="btn btn-{{@value.theme}}">{{@value.label}}</button>\n {{/@each}}\n {{/btns}}\n </div>\n </div>\n </div>\n </div> \n '};t.tmpl={dialogDisplay:i,get:function(i,e,n){return ax5.mustache.render(t.tmpl[i].call(this,n),e)}}}(); |
{ | ||
"name": "ax5ui-dialog", | ||
"version": "0.8.7", | ||
"version": "0.8.8", | ||
"description": "A dialog plugin that works with Bootstrap & jQuery", | ||
@@ -27,3 +27,19 @@ "license": "LGPL-3.0", | ||
"ax5core": ">=0.4.0" | ||
} | ||
} | ||
}, | ||
"devDependencies": { | ||
"jquery": "^3.1.1", | ||
"karma": "^1.3.0", | ||
"karma-chrome-launcher": "^2.0.0", | ||
"karma-firefox-launcher": "^1.0.0", | ||
"karma-ie-launcher": "^1.0.0", | ||
"karma-mocha": "^1.1.1", | ||
"karma-opera-launcher": "^1.0.0", | ||
"karma-phantomjs-launcher": "^1.0.2", | ||
"karma-requirejs": "^1.1.0", | ||
"karma-safari-launcher": "^1.0.0", | ||
"lodash": "^4.16.2", | ||
"mocha": "^3.0.2", | ||
"phantomjs-prebuilt": "^2.1.12", | ||
"should": "^11.1.0" | ||
} | ||
} |
@@ -10,3 +10,3 @@ // ax5.ui.dialog | ||
className: "dialog", | ||
version: "0.8.7" | ||
version: "0.8.8" | ||
}, (function () { | ||
@@ -131,3 +131,3 @@ /** | ||
} | ||
if(cfg.zIndex){ | ||
if (cfg.zIndex) { | ||
pos["z-index"] = cfg.zIndex; | ||
@@ -183,4 +183,4 @@ } | ||
} | ||
if(box.left < 0) box.left = 0; | ||
if(box.top < 0) box.top = 0; | ||
if (box.left < 0) box.left = 0; | ||
if (box.top < 0) box.top = 0; | ||
@@ -228,7 +228,7 @@ this.activeDialog.css(box); | ||
if (callback) callback.call(that, k); | ||
this.close(); | ||
this.close({doNotCallback: true}); | ||
} | ||
else if (opts.dialogType === "confirm") { | ||
if (callback) callback.call(that, k); | ||
this.close(); | ||
this.close({doNotCallback: true}); | ||
} | ||
@@ -243,3 +243,3 @@ else if (opts.dialogType === "prompt") { | ||
if (callback) callback.call(that, k); | ||
this.close(); | ||
this.close({doNotCallback: true}); | ||
} | ||
@@ -284,3 +284,3 @@ } | ||
if (callback) callback.call(that, k); | ||
this.close(); | ||
this.close({doNotCallback: true}); | ||
} | ||
@@ -353,3 +353,7 @@ } | ||
opts.dialogType = "alert"; | ||
opts.theme = (opts.theme || cfg.theme || ""); | ||
opts.callback = callback; | ||
if (typeof opts.btns === "undefined") { | ||
@@ -362,4 +366,2 @@ opts.btns = { | ||
opts = null; | ||
callback = null; | ||
return this; | ||
@@ -408,2 +410,4 @@ }; | ||
opts.theme = (opts.theme || cfg.theme || ""); | ||
opts.callback = callback; | ||
if (typeof opts.btns === "undefined") { | ||
@@ -417,4 +421,2 @@ opts.btns = { | ||
opts = null; | ||
callback = null; | ||
return this; | ||
@@ -462,2 +464,3 @@ }; | ||
opts.theme = (opts.theme || cfg.theme || ""); | ||
opts.callback = callback; | ||
@@ -477,4 +480,2 @@ if (typeof opts.input === "undefined") { | ||
opts = null; | ||
callback = null; | ||
return this; | ||
@@ -492,3 +493,4 @@ }; | ||
*/ | ||
this.close = function (opts, that) { | ||
this.close = function (_option) { | ||
var opts, that; | ||
if (this.activeDialog) { | ||
@@ -501,3 +503,3 @@ opts = self.dialogConfig; | ||
setTimeout((function () { | ||
if(this.activeDialog) { | ||
if (this.activeDialog) { | ||
this.activeDialog.remove(); | ||
@@ -509,4 +511,10 @@ this.activeDialog = null; | ||
self: this, | ||
state: "close" | ||
state: "close", | ||
dialogId: opts.id | ||
}; | ||
if (opts.callback && (!_option || !_option.doNotCallback)) { | ||
opts.callback.call(that); | ||
} | ||
if (opts && opts.onStateChanged) { | ||
@@ -513,0 +521,0 @@ opts.onStateChanged.call(that, that); |
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
90616
1247
14