Repository: incubator-atlas Updated Branches: refs/heads/0.7-incubating 8e257e33f -> 9b7ccce3e
http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/external_lib/pnotify.custom.min.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/external_lib/pnotify.custom.min.js b/dashboardv2/public/js/external_lib/pnotify.custom.min.js new file mode 100644 index 0000000..9c5f67e --- /dev/null +++ b/dashboardv2/public/js/external_lib/pnotify.custom.min.js @@ -0,0 +1,48 @@ +/* +PNotify 3.0.0 sciactive.com/pnotify/ +(C) 2015 Hunter Perrin; Google, Inc. +license Apache-2.0 +*/ +(function(b,k){"function"===typeof define&&define.amd?define("pnotify",["jquery"],function(q){return k(q,b)}):"object"===typeof exports&&"undefined"!==typeof module?module.exports=k(require("jquery"),global||b):b.PNotify=k(b.jQuery,b)})(this,function(b,k){var q=function(l){var k={dir1:"down",dir2:"left",push:"bottom",spacing1:36,spacing2:36,context:b("body"),modal:!1},g,h,n=b(l),r=function(){h=b("body");d.prototype.options.stack.context=h;n=b(l);n.bind("resize",function(){g&&clearTimeout(g);g=setTimeout(function(){d.positionAll(!0)}, +10)})},s=function(c){var a=b("<div />",{"class":"ui-pnotify-modal-overlay"});a.prependTo(c.context);c.overlay_close&&a.click(function(){d.removeStack(c)});return a},d=function(c){this.parseOptions(c);this.init()};b.extend(d.prototype,{version:"3.0.0",options:{title:!1,title_escape:!1,text:!1,text_escape:!1,styling:"brighttheme",addclass:"",cornerclass:"",auto_display:!0,width:"300px",min_height:"16px",type:"notice",icon:!0,animation:"fade",animate_speed:"normal",shadow:!0,hide:!0,delay:8E3,mouse_reset:!0, +remove:!0,insert_brs:!0,destroy:!0,stack:k},modules:{},runModules:function(c,a){var p,b;for(b in this.modules)p="object"===typeof a&&b in a?a[b]:a,"function"===typeof this.modules[b][c]&&(this.modules[b].notice=this,this.modules[b].options="object"===typeof this.options[b]?this.options[b]:{},this.modules[b][c](this,"object"===typeof this.options[b]?this.options[b]:{},p))},state:"initializing",timer:null,animTimer:null,styles:null,elem:null,container:null,title_container:null,text_container:null,animating:!1, +timerHide:!1,init:function(){var c=this;this.modules={};b.extend(!0,this.modules,d.prototype.modules);this.styles="object"===typeof this.options.styling?this.options.styling:d.styling[this.options.styling];this.elem=b("<div />",{"class":"ui-pnotify "+this.options.addclass,css:{display:"none"},"aria-live":"assertive","aria-role":"alertdialog",mouseenter:function(a){if(c.options.mouse_reset&&"out"===c.animating){if(!c.timerHide)return;c.cancelRemove()}c.options.hide&&c.options.mouse_reset&&c.cancelRemove()}, +mouseleave:function(a){c.options.hide&&c.options.mouse_reset&&"out"!==c.animating&&c.queueRemove();d.positionAll()}});"fade"===this.options.animation&&this.elem.addClass("ui-pnotify-fade-"+this.options.animate_speed);this.container=b("<div />",{"class":this.styles.container+" ui-pnotify-container "+("error"===this.options.type?this.styles.error:"info"===this.options.type?this.styles.info:"success"===this.options.type?this.styles.success:this.styles.notice),role:"alert"}).appendTo(this.elem);""!== +this.options.cornerclass&&this.container.removeClass("ui-corner-all").addClass(this.options.cornerclass);this.options.shadow&&this.container.addClass("ui-pnotify-shadow");!1!==this.options.icon&&b("<div />",{"class":"ui-pnotify-icon"}).append(b("<span />",{"class":!0===this.options.icon?"error"===this.options.type?this.styles.error_icon:"info"===this.options.type?this.styles.info_icon:"success"===this.options.type?this.styles.success_icon:this.styles.notice_icon:this.options.icon})).prependTo(this.container); +this.title_container=b("<h4 />",{"class":"ui-pnotify-title"}).appendTo(this.container);!1===this.options.title?this.title_container.hide():this.options.title_escape?this.title_container.text(this.options.title):this.title_container.html(this.options.title);this.text_container=b("<div />",{"class":"ui-pnotify-text","aria-role":"alert"}).appendTo(this.container);!1===this.options.text?this.text_container.hide():this.options.text_escape?this.text_container.text(this.options.text):this.text_container.html(this.options.insert_brs? +String(this.options.text).replace(/\n/g,"<br />"):this.options.text);"string"===typeof this.options.width&&this.elem.css("width",this.options.width);"string"===typeof this.options.min_height&&this.container.css("min-height",this.options.min_height);d.notices="top"===this.options.stack.push?b.merge([this],d.notices):b.merge(d.notices,[this]);"top"===this.options.stack.push&&this.queuePosition(!1,1);this.options.stack.animation=!1;this.runModules("init");this.options.auto_display&&this.open();return this}, +update:function(c){var a=this.options;this.parseOptions(a,c);this.elem.removeClass("ui-pnotify-fade-slow ui-pnotify-fade-normal ui-pnotify-fade-fast");"fade"===this.options.animation&&this.elem.addClass("ui-pnotify-fade-"+this.options.animate_speed);this.options.cornerclass!==a.cornerclass&&this.container.removeClass("ui-corner-all "+a.cornerclass).addClass(this.options.cornerclass);this.options.shadow!==a.shadow&&(this.options.shadow?this.container.addClass("ui-pnotify-shadow"):this.container.removeClass("ui-pnotify-shadow")); +!1===this.options.addclass?this.elem.removeClass(a.addclass):this.options.addclass!==a.addclass&&this.elem.removeClass(a.addclass).addClass(this.options.addclass);!1===this.options.title?this.title_container.slideUp("fast"):this.options.title!==a.title&&(this.options.title_escape?this.title_container.text(this.options.title):this.title_container.html(this.options.title),!1===a.title&&this.title_container.slideDown(200));!1===this.options.text?this.text_container.slideUp("fast"):this.options.text!== +a.text&&(this.options.text_escape?this.text_container.text(this.options.text):this.text_container.html(this.options.insert_brs?String(this.options.text).replace(/\n/g,"<br />"):this.options.text),!1===a.text&&this.text_container.slideDown(200));this.options.type!==a.type&&this.container.removeClass(this.styles.error+" "+this.styles.notice+" "+this.styles.success+" "+this.styles.info).addClass("error"===this.options.type?this.styles.error:"info"===this.options.type?this.styles.info:"success"===this.options.type? +this.styles.success:this.styles.notice);if(this.options.icon!==a.icon||!0===this.options.icon&&this.options.type!==a.type)this.container.find("div.ui-pnotify-icon").remove(),!1!==this.options.icon&&b("<div />",{"class":"ui-pnotify-icon"}).append(b("<span />",{"class":!0===this.options.icon?"error"===this.options.type?this.styles.error_icon:"info"===this.options.type?this.styles.info_icon:"success"===this.options.type?this.styles.success_icon:this.styles.notice_icon:this.options.icon})).prependTo(this.container); +this.options.width!==a.width&&this.elem.animate({width:this.options.width});this.options.min_height!==a.min_height&&this.container.animate({minHeight:this.options.min_height});this.options.hide?a.hide||this.queueRemove():this.cancelRemove();this.queuePosition(!0);this.runModules("update",a);return this},open:function(){this.state="opening";this.runModules("beforeOpen");var c=this;this.elem.parent().length||this.elem.appendTo(this.options.stack.context?this.options.stack.context:h);"top"!==this.options.stack.push&& +this.position(!0);this.animateIn(function(){c.queuePosition(!0);c.options.hide&&c.queueRemove();c.state="open";c.runModules("afterOpen")});return this},remove:function(c){this.state="closing";this.timerHide=!!c;this.runModules("beforeClose");var a=this;this.timer&&(l.clearTimeout(this.timer),this.timer=null);this.animateOut(function(){a.state="closed";a.runModules("afterClose");a.queuePosition(!0);a.options.remove&&a.elem.detach();a.runModules("beforeDestroy");if(a.options.destroy&&null!==d.notices){var c= +b.inArray(a,d.notices);-1!==c&&d.notices.splice(c,1)}a.runModules("afterDestroy")});return this},get:function(){return this.elem},parseOptions:function(c,a){this.options=b.extend(!0,{},d.prototype.options);this.options.stack=d.prototype.options.stack;for(var p=[c,a],m,f=0;f<p.length;f++){m=p[f];if("undefined"===typeof m)break;if("object"!==typeof m)this.options.text=m;else for(var e in m)this.modules[e]?b.extend(!0,this.options[e],m[e]):this.options[e]=m[e]}},animateIn:function(c){this.animating= +"in";var a=this;c=function(){a.animTimer&&clearTimeout(a.animTimer);"in"===a.animating&&(a.elem.is(":visible")?(this&&this.call(),a.animating=!1):a.animTimer=setTimeout(c,40))}.bind(c);"fade"===this.options.animation?(this.elem.one("webkitTransitionEnd mozTransitionEnd MSTransitionEnd oTransitionEnd transitionend",c).addClass("ui-pnotify-in"),this.elem.css("opacity"),this.elem.addClass("ui-pnotify-fade-in"),this.animTimer=setTimeout(c,650)):(this.elem.addClass("ui-pnotify-in"),c())},animateOut:function(c){this.animating= +"out";var a=this;c=function(){a.animTimer&&clearTimeout(a.animTimer);"out"===a.animating&&("0"!=a.elem.css("opacity")&&a.elem.is(":visible")?a.animTimer=setTimeout(c,40):(a.elem.removeClass("ui-pnotify-in"),this&&this.call(),a.animating=!1))}.bind(c);"fade"===this.options.animation?(this.elem.one("webkitTransitionEnd mozTransitionEnd MSTransitionEnd oTransitionEnd transitionend",c).removeClass("ui-pnotify-fade-in"),this.animTimer=setTimeout(c,650)):(this.elem.removeClass("ui-pnotify-in"),c())},position:function(c){var a= +this.options.stack,b=this.elem;"undefined"===typeof a.context&&(a.context=h);if(a){"number"!==typeof a.nextpos1&&(a.nextpos1=a.firstpos1);"number"!==typeof a.nextpos2&&(a.nextpos2=a.firstpos2);"number"!==typeof a.addpos2&&(a.addpos2=0);var d=!b.hasClass("ui-pnotify-in");if(!d||c){a.modal&&(a.overlay?a.overlay.show():a.overlay=s(a));b.addClass("ui-pnotify-move");var f;switch(a.dir1){case "down":f="top";break;case "up":f="bottom";break;case "left":f="right";break;case "right":f="left"}c=parseInt(b.css(f).replace(/(?:\..*|[^0-9.])/g, +""));isNaN(c)&&(c=0);"undefined"!==typeof a.firstpos1||d||(a.firstpos1=c,a.nextpos1=a.firstpos1);var e;switch(a.dir2){case "down":e="top";break;case "up":e="bottom";break;case "left":e="right";break;case "right":e="left"}c=parseInt(b.css(e).replace(/(?:\..*|[^0-9.])/g,""));isNaN(c)&&(c=0);"undefined"!==typeof a.firstpos2||d||(a.firstpos2=c,a.nextpos2=a.firstpos2);if("down"===a.dir1&&a.nextpos1+b.height()>(a.context.is(h)?n.height():a.context.prop("scrollHeight"))||"up"===a.dir1&&a.nextpos1+b.height()> +(a.context.is(h)?n.height():a.context.prop("scrollHeight"))||"left"===a.dir1&&a.nextpos1+b.width()>(a.context.is(h)?n.width():a.context.prop("scrollWidth"))||"right"===a.dir1&&a.nextpos1+b.width()>(a.context.is(h)?n.width():a.context.prop("scrollWidth")))a.nextpos1=a.firstpos1,a.nextpos2+=a.addpos2+("undefined"===typeof a.spacing2?25:a.spacing2),a.addpos2=0;"number"===typeof a.nextpos2&&(a.animation?b.css(e,a.nextpos2+"px"):(b.removeClass("ui-pnotify-move"),b.css(e,a.nextpos2+"px"),b.css(e),b.addClass("ui-pnotify-move"))); +switch(a.dir2){case "down":case "up":b.outerHeight(!0)>a.addpos2&&(a.addpos2=b.height());break;case "left":case "right":b.outerWidth(!0)>a.addpos2&&(a.addpos2=b.width())}"number"===typeof a.nextpos1&&(a.animation?b.css(f,a.nextpos1+"px"):(b.removeClass("ui-pnotify-move"),b.css(f,a.nextpos1+"px"),b.css(f),b.addClass("ui-pnotify-move")));switch(a.dir1){case "down":case "up":a.nextpos1+=b.height()+("undefined"===typeof a.spacing1?25:a.spacing1);break;case "left":case "right":a.nextpos1+=b.width()+("undefined"=== +typeof a.spacing1?25:a.spacing1)}}return this}},queuePosition:function(b,a){g&&clearTimeout(g);a||(a=10);g=setTimeout(function(){d.positionAll(b)},a);return this},cancelRemove:function(){this.timer&&l.clearTimeout(this.timer);this.animTimer&&l.clearTimeout(this.animTimer);"closing"===this.state&&(this.state="open",this.animating=!1,this.elem.addClass("ui-pnotify-in"),"fade"===this.options.animation&&this.elem.addClass("ui-pnotify-fade-in"));return this},queueRemove:function(){var b=this;this.cancelRemove(); +this.timer=l.setTimeout(function(){b.remove(!0)},isNaN(this.options.delay)?0:this.options.delay);return this}});b.extend(d,{notices:[],reload:q,removeAll:function(){b.each(d.notices,function(){this.remove&&this.remove(!1)})},removeStack:function(c){b.each(d.notices,function(){this.remove&&this.options.stack===c&&this.remove(!1)})},positionAll:function(c){g&&clearTimeout(g);g=null;if(d.notices&&d.notices.length)b.each(d.notices,function(){var a=this.options.stack;a&&(a.overlay&&a.overlay.hide(),a.nextpos1= +a.firstpos1,a.nextpos2=a.firstpos2,a.addpos2=0,a.animation=c)}),b.each(d.notices,function(){this.position()});else{var a=d.prototype.options.stack;a&&(delete a.nextpos1,delete a.nextpos2)}},styling:{brighttheme:{container:"brighttheme",notice:"brighttheme-notice",notice_icon:"brighttheme-icon-notice",info:"brighttheme-info",info_icon:"brighttheme-icon-info",success:"brighttheme-success",success_icon:"brighttheme-icon-success",error:"brighttheme-error",error_icon:"brighttheme-icon-error"},jqueryui:{container:"ui-widget ui-widget-content ui-corner-all", +notice:"ui-state-highlight",notice_icon:"ui-icon ui-icon-info",info:"",info_icon:"ui-icon ui-icon-info",success:"ui-state-default",success_icon:"ui-icon ui-icon-circle-check",error:"ui-state-error",error_icon:"ui-icon ui-icon-alert"},bootstrap3:{container:"alert",notice:"alert-warning",notice_icon:"glyphicon glyphicon-exclamation-sign",info:"alert-info",info_icon:"glyphicon glyphicon-info-sign",success:"alert-success",success_icon:"glyphicon glyphicon-ok-sign",error:"alert-danger",error_icon:"glyphicon glyphicon-warning-sign"}}}); +d.styling.fontawesome=b.extend({},d.styling.bootstrap3);b.extend(d.styling.fontawesome,{notice_icon:"fa fa-exclamation-circle",info_icon:"fa fa-info",success_icon:"fa fa-check",error_icon:"fa fa-warning"});l.document.body?r():b(r);return d};return q(k)}); +(function(d,e){"function"===typeof define&&define.amd?define("pnotify.buttons",["jquery","pnotify"],e):"object"===typeof exports&&"undefined"!==typeof module?module.exports=e(require("jquery"),require("./pnotify")):e(d.jQuery,d.PNotify)})(this,function(d,e){e.prototype.options.buttons={closer:!0,closer_hover:!0,sticker:!0,sticker_hover:!0,show_on_nonblock:!1,labels:{close:"Close",stick:"Stick",unstick:"Unstick"},classes:{closer:null,pin_up:null,pin_down:null}};e.prototype.modules.buttons={closer:null, +sticker:null,init:function(a,b){var c=this;a.elem.on({mouseenter:function(b){!c.options.sticker||a.options.nonblock&&a.options.nonblock.nonblock&&!c.options.show_on_nonblock||c.sticker.trigger("pnotify:buttons:toggleStick").css("visibility","visible");!c.options.closer||a.options.nonblock&&a.options.nonblock.nonblock&&!c.options.show_on_nonblock||c.closer.css("visibility","visible")},mouseleave:function(a){c.options.sticker_hover&&c.sticker.css("visibility","hidden");c.options.closer_hover&&c.closer.css("visibility", +"hidden")}});this.sticker=d("<div />",{"class":"ui-pnotify-sticker","aria-role":"button","aria-pressed":a.options.hide?"false":"true",tabindex:"0",title:a.options.hide?b.labels.stick:b.labels.unstick,css:{cursor:"pointer",visibility:b.sticker_hover?"hidden":"visible"},click:function(){a.options.hide=!a.options.hide;a.options.hide?a.queueRemove():a.cancelRemove();d(this).trigger("pnotify:buttons:toggleStick")}}).bind("pnotify:buttons:toggleStick",function(){var b=null===c.options.classes.pin_up?a.styles.pin_up: +c.options.classes.pin_up,e=null===c.options.classes.pin_down?a.styles.pin_down:c.options.classes.pin_down;d(this).attr("title",a.options.hide?c.options.labels.stick:c.options.labels.unstick).children().attr("class","").addClass(a.options.hide?b:e).attr("aria-pressed",a.options.hide?"false":"true")}).append("<span />").trigger("pnotify:buttons:toggleStick").prependTo(a.container);(!b.sticker||a.options.nonblock&&a.options.nonblock.nonblock&&!b.show_on_nonblock)&&this.sticker.css("display","none"); +this.closer=d("<div />",{"class":"ui-pnotify-closer","aria-role":"button",tabindex:"0",title:b.labels.close,css:{cursor:"pointer",visibility:b.closer_hover?"hidden":"visible"},click:function(){a.remove(!1);c.sticker.css("visibility","hidden");c.closer.css("visibility","hidden")}}).append(d("<span />",{"class":null===b.classes.closer?a.styles.closer:b.classes.closer})).prependTo(a.container);(!b.closer||a.options.nonblock&&a.options.nonblock.nonblock&&!b.show_on_nonblock)&&this.closer.css("display", +"none")},update:function(a,b){!b.closer||a.options.nonblock&&a.options.nonblock.nonblock&&!b.show_on_nonblock?this.closer.css("display","none"):b.closer&&this.closer.css("display","block");!b.sticker||a.options.nonblock&&a.options.nonblock.nonblock&&!b.show_on_nonblock?this.sticker.css("display","none"):b.sticker&&this.sticker.css("display","block");this.sticker.trigger("pnotify:buttons:toggleStick");this.closer.find("span").attr("class","").addClass(null===b.classes.closer?a.styles.closer:b.classes.closer); +b.sticker_hover?this.sticker.css("visibility","hidden"):a.options.nonblock&&a.options.nonblock.nonblock&&!b.show_on_nonblock||this.sticker.css("visibility","visible");b.closer_hover?this.closer.css("visibility","hidden"):a.options.nonblock&&a.options.nonblock.nonblock&&!b.show_on_nonblock||this.closer.css("visibility","visible")}};d.extend(e.styling.brighttheme,{closer:"brighttheme-icon-closer",pin_up:"brighttheme-icon-sticker",pin_down:"brighttheme-icon-sticker brighttheme-icon-stuck"});d.extend(e.styling.jqueryui, +{closer:"ui-icon ui-icon-close",pin_up:"ui-icon ui-icon-pin-w",pin_down:"ui-icon ui-icon-pin-s"});d.extend(e.styling.bootstrap2,{closer:"icon-remove",pin_up:"icon-pause",pin_down:"icon-play"});d.extend(e.styling.bootstrap3,{closer:"glyphicon glyphicon-remove",pin_up:"glyphicon glyphicon-pause",pin_down:"glyphicon glyphicon-play"});d.extend(e.styling.fontawesome,{closer:"fa fa-times",pin_up:"fa fa-pause",pin_down:"fa fa-play"})}); +(function(b,a){"function"===typeof define&&define.amd?define("pnotify.callbacks",["jquery","pnotify"],a):"object"===typeof exports&&"undefined"!==typeof module?module.exports=a(require("jquery"),require("./pnotify")):a(b.jQuery,b.PNotify)})(this,function(b,a){var c=a.prototype.init,d=a.prototype.open,e=a.prototype.remove;a.prototype.init=function(){this.options.before_init&&this.options.before_init(this.options);c.apply(this,arguments);this.options.after_init&&this.options.after_init(this)};a.prototype.open= +function(){var a;this.options.before_open&&(a=this.options.before_open(this));!1!==a&&(d.apply(this,arguments),this.options.after_open&&this.options.after_open(this))};a.prototype.remove=function(a){var b;this.options.before_close&&(b=this.options.before_close(this,a));!1!==b&&(e.apply(this,arguments),this.options.after_close&&this.options.after_close(this,a))}}); +(function(e,c){"function"===typeof define&&define.amd?define("pnotify.confirm",["jquery","pnotify"],c):"object"===typeof exports&&"undefined"!==typeof module?module.exports=c(require("jquery"),require("./pnotify")):c(e.jQuery,e.PNotify)})(this,function(e,c){c.prototype.options.confirm={confirm:!1,prompt:!1,prompt_class:"",prompt_default:"",prompt_multi_line:!1,align:"right",buttons:[{text:"Ok",addClass:"",promptTrigger:!0,click:function(b,a){b.remove();b.get().trigger("pnotify.confirm",[b,a])}},{text:"Cancel", +addClass:"",click:function(b){b.remove();b.get().trigger("pnotify.cancel",b)}}]};c.prototype.modules.confirm={container:null,prompt:null,init:function(b,a){this.container=e('<div class="ui-pnotify-action-bar" style="margin-top:5px;clear:both;" />').css("text-align",a.align).appendTo(b.container);a.confirm||a.prompt?this.makeDialog(b,a):this.container.hide()},update:function(b,a){a.confirm?(this.makeDialog(b,a),this.container.show()):this.container.hide().empty()},afterOpen:function(b,a){a.prompt&& +this.prompt.focus()},makeDialog:function(b,a){var h=!1,l=this,g,d;this.container.empty();a.prompt&&(this.prompt=e("<"+(a.prompt_multi_line?'textarea rows="5"':'input type="text"')+' style="margin-bottom:5px;clear:both;" />').addClass(("undefined"===typeof b.styles.input?"":b.styles.input)+" "+("undefined"===typeof a.prompt_class?"":a.prompt_class)).val(a.prompt_default).appendTo(this.container));for(var m=a.buttons[0]&&a.buttons[0]!==c.prototype.options.confirm.buttons[0],f=0;f<a.buttons.length;f++)if(!(null=== +a.buttons[f]||m&&c.prototype.options.confirm.buttons[f]&&c.prototype.options.confirm.buttons[f]===a.buttons[f])){g=a.buttons[f];h?this.container.append(" "):h=!0;d=e('<button type="button" class="ui-pnotify-action-button" />').addClass(("undefined"===typeof b.styles.btn?"":b.styles.btn)+" "+("undefined"===typeof g.addClass?"":g.addClass)).text(g.text).appendTo(this.container).on("click",function(k){return function(){"function"==typeof k.click&&k.click(b,a.prompt?l.prompt.val():null)}}(g));a.prompt&& +!a.prompt_multi_line&&g.promptTrigger&&this.prompt.keypress(function(b){return function(a){13==a.keyCode&&b.click()}}(d));b.styles.text&&d.wrapInner('<span class="'+b.styles.text+'"></span>');b.styles.btnhover&&d.hover(function(a){return function(){a.addClass(b.styles.btnhover)}}(d),function(a){return function(){a.removeClass(b.styles.btnhover)}}(d));if(b.styles.btnactive)d.on("mousedown",function(a){return function(){a.addClass(b.styles.btnactive)}}(d)).on("mouseup",function(a){return function(){a.removeClass(b.styles.btnactive)}}(d)); +if(b.styles.btnfocus)d.on("focus",function(a){return function(){a.addClass(b.styles.btnfocus)}}(d)).on("blur",function(a){return function(){a.removeClass(b.styles.btnfocus)}}(d))}}};e.extend(c.styling.jqueryui,{btn:"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only",btnhover:"ui-state-hover",btnactive:"ui-state-active",btnfocus:"ui-state-focus",input:"",text:"ui-button-text"});e.extend(c.styling.bootstrap2,{btn:"btn",input:""});e.extend(c.styling.bootstrap3,{btn:"btn btn-default", +input:"form-control"});e.extend(c.styling.fontawesome,{btn:"btn btn-default",input:"form-control"})}); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/external_lib/respond.min.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/external_lib/respond.min.js b/dashboardv2/public/js/external_lib/respond.min.js new file mode 100644 index 0000000..80a7b69 --- /dev/null +++ b/dashboardv2/public/js/external_lib/respond.min.js @@ -0,0 +1,5 @@ +/*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl + * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT + * */ + +!function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='­<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?: o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeC hild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substr ing(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&(" //"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/main.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/main.js b/dashboardv2/public/js/main.js index 63dd71e..2b005a9 100644 --- a/dashboardv2/public/js/main.js +++ b/dashboardv2/public/js/main.js @@ -18,14 +18,14 @@ require.config({ /* starting point for application */ - hbs: { - disableI18n: true, // This disables the i18n helper and doesn't require the json i18n files (e.g. en_us.json) - helperPathCallback: // Callback to determine the path to look for helpers + 'hbs': { + 'disableI18n': true, // This disables the i18n helper and doesn't require the json i18n files (e.g. en_us.json) + 'helperPathCallback': // Callback to determine the path to look for helpers function(name) { // ('/template/helpers/'+name by default) return 'modules/Helpers'; }, - templateExtension: 'html', // Set the extension automatically appended to templates - compileOptions: {} // options object which is passed to Handlebars compiler + 'templateExtension': 'html', // Set the extension automatically appended to templates + 'compileOptions': {} // options object which is passed to Handlebars compiler }, /** * Requested as soon as the loader has processed the configuration. It does @@ -34,72 +34,75 @@ require.config({ * as part of a config block. * @type {Array} An array of dependencies to load. */ - deps: ['marionette'], + 'deps': ['marionette'], /** * The number of seconds to wait before giving up on loading a script. * @default 7 seconds * @type {Number} */ - waitSeconds: 30, + 'waitSeconds': 30, - shim: { - backbone: { - deps: ['underscore', 'jquery'], - exports: 'Backbone' + 'shim': { + 'backbone': { + 'deps': ['underscore', 'jquery'], + 'exports': 'Backbone' }, 'jquery-ui': { - deps: ['jquery'], + 'deps': ['jquery'] }, - asBreadcrumbs: { - deps: ['jquery'], - exports: 'asBreadcrumbs' + 'asBreadcrumbs': { + 'deps': ['jquery'], + 'exports': 'asBreadcrumbs' }, - bootstrap: { - deps: ['jquery'], - exports: 'jquery' + 'bootstrap': { + 'deps': ['jquery'], + 'exports': 'jquery' }, - underscore: { - exports: '_' + 'underscore': { + 'exports': '_' }, - marionette: { - deps: ['backbone'] + 'marionette': { + 'deps': ['backbone'] }, - backgrid: { - deps: ['backbone'], - exports: 'Backgrid' + 'backgrid': { + 'deps': ['backbone'], + 'exports': 'Backgrid' }, 'backgrid-paginator': { - deps: ['backbone', 'backgrid'] + 'deps': ['backbone', 'backgrid'] }, 'backgrid-filter': { - deps: ['backbone', 'backgrid'] + 'deps': ['backbone', 'backgrid'] }, 'backgrid-orderable': { - deps: ['backbone', 'backgrid'], + 'deps': ['backbone', 'backgrid'], }, 'backgrid-sizeable': { - deps: ['backbone', 'backgrid'], + 'deps': ['backbone', 'backgrid'], }, 'backgrid-select-all': { - deps: ['backbone', 'backgrid'] + 'deps': ['backbone', 'backgrid'] }, - hbs: { - deps: ['underscore', 'handlebars'] + 'hbs': { + 'deps': ['underscore', 'handlebars'] }, - d3: { - exports: 'd3' + 'd3': { + 'exports': ['d3'] }, 'd3-tip': { - deps: ['d3'], - exports: 'd3-tip' + 'deps': ['d3'], + 'exports': ['d3-tip'] }, - noty: { - deps: ['jquery'], + 'dagreD3': { + 'deps': ['d3'], + 'exports': ['dagreD3'] }, - dagreD3: { - deps: ['d3'], - exports: 'dagreD3' + 'pnotify': { + 'exports': ['pnotify'] + }, + 'jquery-placeholder': { + 'deps': ['jquery'] } }, @@ -121,7 +124,6 @@ require.config({ 'd3': 'libs/d3/d3.min', 'd3-tip': 'libs/d3/index', 'tmpl': 'templates', - 'noty': 'libs/noty/js/jquery.noty.packaged.min', 'requirejs.text': 'libs/requirejs-text/text', 'handlebars': 'external_lib/require-handlebars-plugin/js/handlebars', 'json2': 'external_lib/require-handlebars-plugin/js/json2', @@ -130,7 +132,11 @@ require.config({ 'dagreD3': 'libs/dagre-d3/dagre-d3.min', 'select2': 'libs/select2/select2.min', 'backgrid-select-all': 'libs/backgrid-select-all/backgrid-select-all.min', + 'moment': 'libs/moment/js/moment.min', 'jquery-ui': 'external_lib/jquery-ui/jquery-ui.min', + 'pnotify': 'external_lib/pnotify.custom.min', + 'jquery-placeholder': 'libs/jquery-placeholder/js/jquery.placeholder', + 'platform': 'libs/platform/platform' }, /** @@ -139,7 +145,7 @@ require.config({ * To get timely, correct error triggers in IE, force a define/shim export. * @type {Boolean} */ - enforceDefine: false + 'enforceDefine': false }); require(['App', http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/audit/AuditTableLayoutView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/audit/AuditTableLayoutView_tmpl.html b/dashboardv2/public/js/templates/audit/AuditTableLayoutView_tmpl.html index 056ecaa..f7a3a48 100644 --- a/dashboardv2/public/js/templates/audit/AuditTableLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/audit/AuditTableLayoutView_tmpl.html @@ -23,10 +23,10 @@ <span class="labelShowRecord pull-left" data-id="pageRecordText"></span> <ul class="pager pull-right"> <li> - <button class="btn" data-id="previousAuditData">Previous</button> + <button type="button" class="btn" data-id="previousAuditData">Previous</button> </li> <li> - <button class="btn" data-id="nextAuditData">Next</button> + <button type="button" class="btn" data-id="nextAuditData">Next</button> </li> </ul> <div id="r_auditTableLayoutView"></div> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/business_catalog/AddTermView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/business_catalog/AddTermView_tmpl.html b/dashboardv2/public/js/templates/business_catalog/AddTermView_tmpl.html index 2c8bf30..e784e6a 100644 --- a/dashboardv2/public/js/templates/business_catalog/AddTermView_tmpl.html +++ b/dashboardv2/public/js/templates/business_catalog/AddTermView_tmpl.html @@ -17,8 +17,13 @@ <form name="tagDefinitionform" class="css-form" onsubmit="return false;"> <!-- <h4 style="margin-bottom:30px">Add Term</h4> --> <div class="form-group"> + {{#if defaultTerm}} + <input class="form-control" data-id="termName" placeholder="Enter Taxonomy Name" autofocus> + <p class='alertTerm' style='display:none'>Taxonomy name should not have spaces</p> + {{else}} <input class="form-control" data-id="termName" placeholder="Name(Required)" autofocus> - <p class='alertTerm' style='display:none'>Term name should not have spaces</p> + <p class='alertTerm' style='display:none'>Term name should not have spaces</p> + {{/if}} </div> <div class="form-group"> <textarea class="form-control" data-id="termDetail" placeholder="Description"></textarea> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/business_catalog/BusinessCatalogDetailLayoutView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/business_catalog/BusinessCatalogDetailLayoutView_tmpl.html b/dashboardv2/public/js/templates/business_catalog/BusinessCatalogDetailLayoutView_tmpl.html index 80eb49f..0a4ab6f 100644 --- a/dashboardv2/public/js/templates/business_catalog/BusinessCatalogDetailLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/business_catalog/BusinessCatalogDetailLayoutView_tmpl.html @@ -20,7 +20,7 @@ <div class="hide"> <div class="page-title clearfix"> <h1><span data-id="title"></span></h1> - <button data-id="editButton" class="btn btn-default pull-right editbutton" id="editText"><i class="fa fa-pencil"></i></button> + <button type="button" data-id="editButton" class="btn btn-default pull-right editbutton" id="editText"><i class="fa fa-pencil"></i></button> <p class="sub-title" data-id="description">Description</p> <!-- <div data-id="editBox" style="margin-bottom:10px;"> <textarea class="well well-sm col-sm-12" data-id="descriptionTextArea"></textarea> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/business_catalog/TreeLayoutView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/business_catalog/TreeLayoutView_tmpl.html b/dashboardv2/public/js/templates/business_catalog/TreeLayoutView_tmpl.html index 4662665..fd50bda 100644 --- a/dashboardv2/public/js/templates/business_catalog/TreeLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/business_catalog/TreeLayoutView_tmpl.html @@ -16,8 +16,8 @@ --> <div class="clearfix add-seperator"> <p data-id="descriptionAssign" style="display:none">Assign a term to this asset</p> - <button class="btn btn-atlasAction btn-atlas pull-left" data-id="backTaxanomy"><i class="fa fa-chevron-left"></i> Back</button> - <button class="btn btn-atlasAction btn-atlas pull-right" onclick="this.blur();" title="Refresh" data-id="refreshTaxanomy"><i class="fa fa-refresh"></i></button> + <button type="button" class="btn btn-atlasAction btn-atlas pull-left" data-id="backTaxanomy"><i class="fa fa-chevron-left"></i> Back</button> + <button type="button" class="btn btn-atlasAction btn-atlas pull-right" onclick="this.blur();" title="Refresh" data-id="refreshTaxanomy"><i class="fa fa-refresh"></i></button> </div> <div> <select type="text" class="form-control" data-id="searchTermInput"></select> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/common/modal.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/common/modal.html b/dashboardv2/public/js/templates/common/modal.html index 806e3dd..61321a3 100644 --- a/dashboardv2/public/js/templates/common/modal.html +++ b/dashboardv2/public/js/templates/common/modal.html @@ -32,9 +32,9 @@ {{#if showFooter}} <div class="modal-footer"> {{#if allowCancel}} {{#if cancelText}} - <button class="btn btn-atlas cancel">{{tt cancelText}}</button> + <button type="button" class="btn btn-atlas cancel">{{tt cancelText}}</button> {{/if}} {{/if}} - <button class="btn btn-atlas ok">{{tt okText}}</button> + <button type="button" class="btn btn-atlas ok">{{tt okText}}</button> </div> {{/if}} {{/if}} </div> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html b/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html index d8199b2..f34bcea 100644 --- a/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/detail_page/DetailPageLayoutView_tmpl.html @@ -18,12 +18,12 @@ <div class="row"> <a href="javascript:void(0);" class="backButton" data-id="backButton"><i class="fa fa-chevron-left"></i> Back To Results</a> </div> - <h1><span data-id="title"></span><!-- <small>Bookmark</small> <button data-id="editButton" class="btn btn-default pull-right editbutton" id="editText"><i class="fa fa-pencil"></i></button> --></h1> + <h1><span data-id="title"></span></h1> <div data-id="editBox" style="margin-bottom:10px;"> <textarea class="well well-sm col-sm-12" data-id="descriptionTextArea"></textarea> <div class="clearfix" align="right"> - <button class="btn-atlas" data-id="cancelButton">Cancel</button> - <button class="btn-atlas" data-id="publishButton">Publish</button> + <button type="button" class="btn-atlas" data-id="cancelButton">Cancel</button> + <button type="button" class="btn-atlas" data-id="publishButton">Publish</button> </div> </div> <div class="tagTerm"> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html b/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html index 12e3a0a..6a2e81c 100644 --- a/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/graph/LineageLayoutView_tmpl.html @@ -26,8 +26,8 @@ </div> <svg width=100% height=350></svg> <div class="zoomButtonGroup"> - <button class="zoomButton" id="zoom_in">+</button> - <button class="zoomButton" id="zoom_out">-</button> + <button type="button" class="zoomButton" id="zoom_in">+</button> + <button type="button" class="zoomButton" id="zoom_out">-</button> </div> </div> </div> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/search/SearchLayoutView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/search/SearchLayoutView_tmpl.html b/dashboardv2/public/js/templates/search/SearchLayoutView_tmpl.html index de34b58..db31046 100644 --- a/dashboardv2/public/js/templates/search/SearchLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/search/SearchLayoutView_tmpl.html @@ -20,13 +20,13 @@ <div class="col-md-6"> <span class="pull-left">Text</span> <label class="switch pull-left"> - <input type="checkbox" name="queryType" value="text"> - <div class="slider round"></div> - </label> + <input type="checkbox" class="switch-input" name="queryType" value="text"/> + <span class="switch-slider"></span> + </label> <span class="pull-left">DSL</span> </div> <div class="col-md-6"> - <button class="btn btn-atlasAction btn-atlas pull-right typeLOV" title="Refresh" data-id="refreshBtn"><i class="fa fa-refresh"></i></button> + <button type="button" class="btn btn-atlasAction btn-atlas pull-right typeLOV" title="Refresh" data-id="refreshBtn"><i class="fa fa-refresh"></i></button> </div> </div> </div> @@ -36,10 +36,10 @@ <select data-id="typeLOV"></select> </div> <div class="searchInputClick"> - <input type="text" class="form-control" data-id="searchInput" placeholder="Search using a query string: e.g. sales_fact" style="margin-top: 5px;"> + <input type="text" class="form-control" data-id="searchInput" placeholder="Search using a query string: e.g. sales_fact" style="margin-top: 5px;"> </div> </div> <div class="clearAdvanceSearch" data-id="clearSearch">Clear</div> - <button class="btn btn-atlas advanceSearchBtn" data-id="searchBtn" disabled="disabled">Search</button> + <button type="button" class="btn btn-atlas advanceSearchBtn" data-id="searchBtn" disabled="disabled">Search</button> </div> <div id="searchResult"></div> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html b/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html index 609ec23..32a0083 100644 --- a/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/search/SearchResultLayoutView_tmpl.html @@ -24,10 +24,10 @@ <div data-id="paginationDiv" style="display:none"> <ul class="pager pull-right"> <li> - <button class="btn" data-id="previousData" disabled=true>Previous</button> + <button type="button" class="btn" data-id="previousData" disabled=true>Previous</button> </li> <li> - <button class="btn" data-id="nextData">Next</button> + <button type="button" class="btn" data-id="nextData">Next</button> </li> </ul> </div> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/tag/TagAttributeDetailLayoutView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/tag/TagAttributeDetailLayoutView_tmpl.html b/dashboardv2/public/js/templates/tag/TagAttributeDetailLayoutView_tmpl.html index eb96963..04ec41e 100644 --- a/dashboardv2/public/js/templates/tag/TagAttributeDetailLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/tag/TagAttributeDetailLayoutView_tmpl.html @@ -16,7 +16,7 @@ --> <div class="page-title clearfix"> <h1><span data-id="title"></span></h1> - <button data-id="editButton" class="btn btn-default pull-right editbutton" id="editText"><i class="fa fa-pencil"></i></button> + <button type="button" data-id="editButton" class="btn btn-default pull-right editbutton" id="editText"><i class="fa fa-pencil"></i></button> <p class="sub-title" data-id="description"></p> <span class="attrLabel">Attributes:</span> <div data-id="showAttribute"> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/templates/tag/TagLayoutView_tmpl.html ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/templates/tag/TagLayoutView_tmpl.html b/dashboardv2/public/js/templates/tag/TagLayoutView_tmpl.html index 2f653e5..c653239 100644 --- a/dashboardv2/public/js/templates/tag/TagLayoutView_tmpl.html +++ b/dashboardv2/public/js/templates/tag/TagLayoutView_tmpl.html @@ -15,8 +15,8 @@ * limitations under the License. --> <div class="clearfix add-seperator"> - <button class="btn btn-atlasAction btn-atlas pull-left" data-id="createTag"><i class="fa fa-plus"></i> Create Tag</button> - <button class="btn btn-atlasAction btn-atlas pull-right" title="Refresh" data-id="refreshTag" onclick="this.blur();"><i class="fa fa-refresh"></i></button> + <button type="button" class="btn btn-atlasAction btn-atlas pull-left" data-id="createTag" type="button"><i class="fa fa-plus"></i> Create Tag</button> + <button type="button" class="btn btn-atlasAction btn-atlas pull-right" title="Refresh" data-id="refreshTag" onclick="this.blur();" type="button"><i class="fa fa-refresh"></i></button> </div> <input type="text" class="form-control" data-id="offlineSearchTag" placeholder="Search Tags"> <ul class="tag-tree" data-id="tagsParent"> http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/utils/Messages.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/utils/Messages.js b/dashboardv2/public/js/utils/Messages.js index 9ecdc67..6776903 100644 --- a/dashboardv2/public/js/utils/Messages.js +++ b/dashboardv2/public/js/utils/Messages.js @@ -33,6 +33,7 @@ define(['require'], function(require) { addAttributeSuccessMessage: "Tag attribute is added successfully", updateTagDescriptionMessage: "Tag description is updated successfully", updateTermDescriptionMessage: "Term description is updated successfully", + editSuccessMessage: " has been updated successfully" }; return Messages; }); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/utils/Overrides.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/utils/Overrides.js b/dashboardv2/public/js/utils/Overrides.js index ea4ada3..11919e7 100644 --- a/dashboardv2/public/js/utils/Overrides.js +++ b/dashboardv2/public/js/utils/Overrides.js @@ -16,9 +16,22 @@ * limitations under the License. */ -define(['require', 'backgrid', 'asBreadcrumbs'], function(require) { +define(['require', 'marionette', 'backgrid', 'asBreadcrumbs', 'jquery-placeholder'], function(require) { 'use strict'; + Backbone.$.ajaxSetup({ + cache: false + }); + + // For placeholder support + if (!('placeholder' in HTMLInputElement.prototype)) { + var originalRender = Backbone.Marionette.LayoutView.prototype.render; + Backbone.Marionette.LayoutView.prototype.render = function() { + originalRender.apply(this, arguments); + this.$('input, textarea').placeholder(); + } + } + String.prototype.trunc = String.prototype.trunc || function(n) { return (this.length > n) ? this.substr(0, n - 1) + '...' : this; http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/utils/Utils.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/utils/Utils.js b/dashboardv2/public/js/utils/Utils.js index 7fcde19..48963ad 100644 --- a/dashboardv2/public/js/utils/Utils.js +++ b/dashboardv2/public/js/utils/Utils.js @@ -16,25 +16,25 @@ * limitations under the License. */ -define(['require', 'utils/Globals'], function(require, Globals) { +define(['require', 'utils/Globals', 'pnotify'], function(require, Globals, pnotify) { 'use strict'; var Utils = {}; var prevNetworkErrorTime = 0; - require(['noty'], function() { - $.extend($.noty.defaults, { - timeout: 5000, - layout: "topRight", - theme: "relax", - closeWith: ['click', 'button'], - animation: { - open: 'animated flipInX', - close: 'animated flipOutX', - easing: 'swing', - speed: 500 - } + + Utils.escapeHtml = function(string) { + var entityMap = { + "&": "&", + "<": "<", + ">": ">", + '"': '"', + "'": ''', + "/": '/' + }; + return String(string).replace(/[&<>"'\/]/g, function(s) { + return entityMap[s]; }); - }); + } Utils.generateUUID = function() { var d = new Date().getTime(); if (window.performance && typeof window.performance.now === "function") { @@ -48,30 +48,34 @@ define(['require', 'utils/Globals'], function(require, Globals) { return uuid; }; + var notify = function(options) { + new pnotify(_.extend({ icon: true, hide: true, delay: 3000,remove:true }, options)); + } Utils.notifyInfo = function(options) { - noty({ - type: "information", - text: "<i class='fa fa-exclamation-circle'></i> " + (options.content || "Info message.") + notify({ + type: "info", + text: options.content || "Info message." }); }; + Utils.notifyWarn = function(options) { - noty({ - type: "warning", - text: "<i class='fa fa-times-circle'></i> " + (options.content || "Info message.") + notify({ + type: "notice", + text: options.content || "Info message." }); }; Utils.notifyError = function(options) { - noty({ + notify({ type: "error", - text: "<i class='fa fa-times-circle'></i> " + (options.content || "Error occurred.") + text: options.content || "Error occurred." }); }; Utils.notifySuccess = function(options) { - noty({ + notify({ type: "success", - text: "<i class='fa fa-check-circle-o'></i> " + (options.content || "Error occurred.") + text: options.content || "Error occurred." }); }; Utils.defaultErrorHandler = function(model, error) { http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/views/audit/AuditTableLayoutView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/audit/AuditTableLayoutView.js b/dashboardv2/public/js/views/audit/AuditTableLayoutView.js index f9920f2..acb5d16 100644 --- a/dashboardv2/public/js/views/audit/AuditTableLayoutView.js +++ b/dashboardv2/public/js/views/audit/AuditTableLayoutView.js @@ -61,7 +61,7 @@ define(['require', this.entityCollection = new VEntityList(); this.count = 26; this.entityCollection.url = "/api/atlas/entities/" + this.guid + "/audit"; - this.entityCollection.modelAttrName = "events" + this.entityCollection.modelAttrName = "events"; this.entityModel = new this.entityCollection.model(); this.pervOld = []; this.commonTableOptions = { @@ -162,7 +162,7 @@ define(['require', columns: cols }))); if (!(that.entityCollection.models.length < that.count)) { - that.RAuditTableLayoutView.$el.find('table tr').last().hide() + that.RAuditTableLayoutView.$el.find('table tr').last().hide(); } }); }, @@ -193,7 +193,6 @@ define(['require', sortable: false, formatter: _.extend({}, Backgrid.CellFormatter.prototype, { fromRaw: function(rawValue, model) { - that.detailBtnDisable = false; if (Globals.auditAction[rawValue]) { return Globals.auditAction[rawValue]; } else { @@ -209,7 +208,7 @@ define(['require', sortable: false, formatter: _.extend({}, Backgrid.CellFormatter.prototype, { fromRaw: function(rawValue, model) { - return '<div class="label label-success auditDetailBtn" data-id="auditCreate" data-action="' + Globals.auditAction[model.attributes.action] + '" disabled="' + that.detailBtnDisable + '" data-modalId="' + model.get('eventKey') + '">Detail</div>'; + return '<div class="label label-success auditDetailBtn" data-id="auditCreate" data-action="' + Globals.auditAction[model.attributes.action] + '" data-modalId="' + model.get('eventKey') + '">Detail</div>'; } }) }, @@ -238,7 +237,7 @@ define(['require', }); view.$el.on('click', 'td a', function() { modal.trigger('cancel'); - }) + }); }); }, onClickNextAuditData: function() { @@ -246,7 +245,7 @@ define(['require', this.ui.previousAuditData.removeAttr("disabled"); $.extend(this.entityCollection.queryParams, { startKey: function() { - return that.next + return that.next; } }); this.fetchCollection({ @@ -260,7 +259,7 @@ define(['require', this.ui.nextAuditData.removeAttr("disabled"); $.extend(this.entityCollection.queryParams, { startKey: function() { - return that.pervOld.pop() + return that.pervOld.pop(); } }); this.fetchCollection({ http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/views/business_catalog/AddTermLayoutView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/business_catalog/AddTermLayoutView.js b/dashboardv2/public/js/views/business_catalog/AddTermLayoutView.js index 4a0ea1a..15915d3 100644 --- a/dashboardv2/public/js/views/business_catalog/AddTermLayoutView.js +++ b/dashboardv2/public/js/views/business_catalog/AddTermLayoutView.js @@ -31,6 +31,12 @@ define(['require', template: AddTermViewTmpl, + templateHelpers: function() { + return { + defaultTerm: this.defaultTerm + }; + }, + /** Layout sub regions */ regions: {}, /** ui selector cache */ @@ -48,7 +54,7 @@ define(['require', * @constructs */ initialize: function(options) { - _.extend(this, _.pick(options, 'url', 'model')); + _.extend(this, _.pick(options, 'url', 'model','defaultTerm')); }, bindEvents: function() {}, onRender: function() {} http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/views/business_catalog/AddTermToEntityLayoutView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/business_catalog/AddTermToEntityLayoutView.js b/dashboardv2/public/js/views/business_catalog/AddTermToEntityLayoutView.js index d977436..5e66f53 100644 --- a/dashboardv2/public/js/views/business_catalog/AddTermToEntityLayoutView.js +++ b/dashboardv2/public/js/views/business_catalog/AddTermToEntityLayoutView.js @@ -70,7 +70,7 @@ define(['require', var obj = { termName: this.modal.$el.find('.taxonomyTree li.active a').data('name').split("`").join(""), guid: that.multiple[i].id.id - } + }; CommonViewFunction.saveTermToAsset(obj, that); } } else { http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js b/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js index 9c7816a..5802c92 100644 --- a/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js +++ b/dashboardv2/public/js/views/business_catalog/TreeLayoutView.js @@ -258,7 +258,7 @@ define(['require', if (isParent) { this.parentCollection.url = this.url; this.parentCollection.fullCollection.reset(undefined, { silent: true }); - this.parentCollection.fetch({ reset: true }); + this.parentCollection.fetch({ reset: true,cache:true }); } else { this.childCollection.url = this.url + "?hierarchy/path:."; this.childCollection.fullCollection.reset(undefined, { silent: true }); @@ -614,7 +614,8 @@ define(['require', ], function(AddTermLayoutView, Modal) { var view = new AddTermLayoutView({ url: "/api/atlas/v1/taxonomies", - model: new that.parentCollection.model() + model: new that.parentCollection.model(), + defaultTerm:true }); var modal = new Modal({ title: 'Taxonomy', @@ -628,7 +629,6 @@ define(['require', modal.on('ok', function() { that.saveDefaultTaxonomy(view); }); - view.ui.termName.attr("placeholder", "Enter Taxonomy Name"); view.ui.termName.on('keyup', function() { if (this.value.indexOf(' ') >= 0) { modal.$el.find('button.ok').prop('disabled', true); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/views/schema/SchemaLayoutView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/schema/SchemaLayoutView.js b/dashboardv2/public/js/views/schema/SchemaLayoutView.js index a1bf839..47a8464 100644 --- a/dashboardv2/public/js/views/schema/SchemaLayoutView.js +++ b/dashboardv2/public/js/views/schema/SchemaLayoutView.js @@ -253,7 +253,7 @@ define(['require', nameHtml = '<a>' + rawValue + '</a>'; } if (model.get('$id$') && model.get('$id$').state && Globals.entityStateReadOnly[model.get('$id$').state]) { - nameHtml += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; + nameHtml += '<button type="button" title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; return '<div class="readOnly readOnlyLink">' + nameHtml + '</div>'; } else { return nameHtml; http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/views/search/SearchResultLayoutView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/search/SearchResultLayoutView.js b/dashboardv2/public/js/views/search/SearchResultLayoutView.js index 970e105..2eca6a1 100644 --- a/dashboardv2/public/js/views/search/SearchResultLayoutView.js +++ b/dashboardv2/public/js/views/search/SearchResultLayoutView.js @@ -62,10 +62,10 @@ define(['require', events: function() { var events = {}; events["click " + this.ui.tagClick] = function(e) { + var scope = $(e.currentTarget); if (e.target.nodeName.toLocaleLowerCase() == "i") { this.onClickTagCross(e); } else { - var scope = $(e.currentTarget); if (scope.hasClass('term')) { var url = scope.data('href').split(".").join("/terms/"); Globals.saveApplicationState.tabState.stateChanged = false; @@ -76,7 +76,7 @@ define(['require', }); } else { Utils.setUrl({ - url: '#!/tag/tagAttribute/' + e.currentTarget.text, + url: '#!/tag/tagAttribute/' + scope.text(), mergeBrowserUrl: false, trigger: true }); @@ -265,10 +265,10 @@ define(['require', if (that.searchCollection.models.length) { that.startRenderTableProcess(); } - var resultData = 'Results for <b>' + that.searchCollection.queryParams.query + '</b>' - var multiAssignDataTag = '<a href="javascript:void(0)" class="inputAssignTag multiSelectTag assignTag" style="display:none" data-id="addAssignTag"><i class="fa fa-plus"></i>' + " " + 'Assign Tag</a>' + var resultData = 'Results for <b>' + that.searchCollection.queryParams.query + '</b>'; + var multiAssignDataTag = '<a href="javascript:void(0)" class="inputAssignTag multiSelectTag assignTag" style="display:none" data-id="addAssignTag"><i class="fa fa-plus"></i>' + " " + 'Assign Tag</a>'; if (Globals.taxonomy) { - var multiAssignDataTerm = '<a href="javascript:void(0)" class="inputAssignTag multiSelect" style="display:none" data-id="addTerm"><i class="fa fa-folder-o"></i>' + " " + 'Assign Term</a>' + var multiAssignDataTerm = '<a href="javascript:void(0)" class="inputAssignTag multiSelect" style="display:none" data-id="addTerm"><i class="fa fa-folder-o"></i>' + " " + 'Assign Term</a>'; that.$('.searchResult').html(resultData + multiAssignDataTerm + multiAssignDataTag); } else { that.$('.searchResult').html(resultData + multiAssignDataTag); @@ -306,7 +306,7 @@ define(['require', }, checkTableFetch: function() { if (this.asyncFetchCounter <= 0) { - this.$('div[data-id="r_tableSpinner"]').removeClass('show') + this.$('div[data-id="r_tableSpinner"]').removeClass('show'); this.$('.fontLoader').hide(); this.$('.searchTable').show(); this.$('.searchResult').show(); @@ -318,7 +318,7 @@ define(['require', var responseData = this.searchCollection.responseData; if (this.searchCollection.responseData) { if (responseData.dataType && responseData.dataType.typeName.indexOf('_temp') == -1) { - that.renderTableLayoutView(that.getFixedDslColumn()) + that.renderTableLayoutView(that.getFixedDslColumn()); } else { var idFound = false, fetchResultCount = 0; @@ -356,24 +356,25 @@ define(['require', id = data.definition.id; } that.searchCollection.get(id).set(data.definition.values); - that.searchCollection.get(id).set('$id$', data.definition.id); - that.searchCollection.get(id).set('$traits$', data.definition.traits); + that.searchCollection.get(id).set({ + '$id$': data.definition.id, + '$traits$': data.definition.traits + }); } } - }, error: function(error, data, status) {}, complete: function() { --that.asyncFetchCounter; if (that.asyncFetchCounter === 0) { - that.renderTableLayoutView(that.getFixedDslColumn()) + that.renderTableLayoutView(that.getFixedDslColumn()); } } }); } }); if (idFound === false) { - that.renderTableLayoutView(this.getDaynamicColumn()) + that.renderTableLayoutView(this.getDaynamicColumn()); } } } @@ -408,7 +409,7 @@ define(['require', for (var i = 0; i < this.searchCollection.models.length; i++) { var model = this.searchCollection.models[i]; if (model && (model.get('name') || model.get('qualifiedName'))) { - ++nameCheck + ++nameCheck; } if (model && model.get('$id$') === undefined) { i = i - 1; @@ -435,7 +436,7 @@ define(['require', if (model.get('qualifiedName')) { rawValue = model.get('qualifiedName'); } else if (model.get('$id$') && model.get('$id$').qualifiedName) { - rawValue = model.get('$id$').qualifiedName + rawValue = model.get('$id$').qualifiedName; } else { return ""; } @@ -446,14 +447,14 @@ define(['require', nameHtml = '<a>' + rawValue + '</a>'; } if (model.get('$id$') && model.get('$id$').state && Globals.entityStateReadOnly[model.get('$id$').state]) { - nameHtml += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; + nameHtml += '<button type="button" title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; return '<div class="readOnly readOnlyLink">' + nameHtml + '</div>'; } else { return nameHtml; } } }) - } + }; } if (nameCheck === 0) { col['typeName'] = { @@ -466,11 +467,11 @@ define(['require', var nameHtml = ""; if (rawValue === undefined) { if (model.get('$id$') && model.get('$id$')['$typeName$']) { - rawValue = model.get('$id$')['$typeName$'] + rawValue = model.get('$id$')['$typeName$']; } else if (model.get('$typeName$')) { rawValue = model.get('$typeName$'); } else if (model.get('typeName')) { - rawValue = model.get('typeName') + rawValue = model.get('typeName'); } else { return ""; } @@ -481,14 +482,14 @@ define(['require', nameHtml = '<a>' + rawValue + '</a>'; } if (model.get('$id$') && model.get('$id$').state && Globals.entityStateReadOnly[model.get('$id$').state]) { - nameHtml += '<button title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; + nameHtml += '<button type="button" title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; return '<div class="readOnly readOnlyLink">' + nameHtml + '</div>'; } else { return nameHtml; } } }) - } + }; } col['description'] = { @@ -496,13 +497,13 @@ define(['require', cell: "String", editable: false, sortable: false - } + }; col['owner'] = { label: "Owner", cell: "String", editable: false, sortable: false - } + }; col['tag'] = { label: "Tags", cell: "Html", @@ -666,7 +667,7 @@ define(['require', }); this.previousClick = true; this.fetchCollection(); - }, + } }); return SearchResultLayoutView; }); http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/dashboardv2/public/js/views/tag/CreateTagLayoutView.js ---------------------------------------------------------------------- diff --git a/dashboardv2/public/js/views/tag/CreateTagLayoutView.js b/dashboardv2/public/js/views/tag/CreateTagLayoutView.js index 426fb74..8ff076a 100644 --- a/dashboardv2/public/js/views/tag/CreateTagLayoutView.js +++ b/dashboardv2/public/js/views/tag/CreateTagLayoutView.js @@ -1,3 +1,4 @@ + /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -19,8 +20,9 @@ define(['require', 'backbone', 'hbs!tmpl/tag/createTagLayoutView_tmpl', - 'utils/Utils' -], function(require, Backbone, CreateTagLayoutViewTmpl, Utils) { + 'utils/Utils', + 'platform' +], function(require, Backbone, CreateTagLayoutViewTmpl, Utils, platform) { var CreateTagLayoutView = Backbone.Marionette.LayoutView.extend( /** @lends CreateTagLayoutView */ @@ -81,6 +83,15 @@ define(['require', str += '<option>' + val.get("tags") + '</option>'; }); that.ui.parentTag.html(str); + console.log(platform); + // IE9 support + if (platform.name === "IE") { + that.ui.parentTag.select2({ + multiple: true, + placeholder: "Search Tags", + allowClear: true + }); + } } }); return CreateTagLayoutView; http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/release-log.txt ---------------------------------------------------------------------- diff --git a/release-log.txt b/release-log.txt index ec780fb..ac044c9 100644 --- a/release-log.txt +++ b/release-log.txt @@ -30,6 +30,7 @@ ATLAS-409 Atlas will not import avro tables with schema read from a file (dosset ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags) ALL CHANGES: +ATLAS-1192 Atlas IE support (kevalbhatt) ATLAS-1215 Atlas UI not working in firefox due to fix in ATLAS-1199 (kevalbhatt) ATLAS-1199 Atlas UI not loading after fresh build due to jquery-asBreadcrumbs plugin upgrade (kevalbhatt via shwethags) ATLAS-1206 Atlas UI not working with IE or Chrome on Windows OS in Kerberos mode (nixonrodrigues via sumasai) http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/webapp/src/main/resources/spring-security.xml ---------------------------------------------------------------------- diff --git a/webapp/src/main/resources/spring-security.xml b/webapp/src/main/resources/spring-security.xml index ea9aa94..5395d4e 100644 --- a/webapp/src/main/resources/spring-security.xml +++ b/webapp/src/main/resources/spring-security.xml @@ -33,6 +33,7 @@ <security:http pattern="/img/**" security="none" /> <security:http pattern="/libs/**" security="none" /> <security:http pattern="/js/**" security="none" /> + <security:http pattern="/ieerror.html" security="none" /> <security:http pattern="/api/atlas/admin/status" security="none" /> <security:http disable-url-rewriting="true" http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9b7ccce3/webapp/src/main/webapp/login.jsp ---------------------------------------------------------------------- diff --git a/webapp/src/main/webapp/login.jsp b/webapp/src/main/webapp/login.jsp index 54a623a..465e4e8 100644 --- a/webapp/src/main/webapp/login.jsp +++ b/webapp/src/main/webapp/login.jsp @@ -1,26 +1,38 @@ +<!doctype html> <!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. --> -<!DOCTYPE html> -<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"><![endif]--> -<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]--> -<!--[if IE 8]><html class="no-js lt-ie9"><![endif]--> +<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> +<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> +<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> +<!--[if lt IE 9]> +<script type="text/javascript"> +function Redirect() { + window.location.assign("ieerror.html"); + } +Redirect(); +</script> +<![endif]--> +<!--[if gt IE 7]> + <script src="js/external_lib/es5-shim.min.js"></script> + <script src="js/external_lib/respond.min.js"></script> +<![endif]--> <!--[if gt IE 8]><!--> <html class="no-js"> - <!--<![endif]--> +<!--<![endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> @@ -58,6 +70,5 @@ </div> </div> </div> - - </body> +</body> </html> \ No newline at end of file
