Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
21 lines
No EOL
3.7 KiB
JavaScript
21 lines
No EOL
3.7 KiB
JavaScript
;'use strict';var ConfirmDialog=(function(){var isAnimationPlaying=false;var isShown=false;var doc=document;try{if(!document.getElementById("confirmation-message"))doc=parent.document;}catch(_){}var screen=doc.getElementById('confirmation-message');var titleNode=screen.querySelector('h1');var messageNode=screen.querySelector('p');var action1Node=screen.querySelector('button:nth-of-type(1)');var action1Callback;var action2Node=screen.querySelector('button:nth-of-type(2)');var action2Callback;var oldzIndex;var callBackAndPreventDefault=function callBackAndPreventDefault(ev){if(ev.target===action1Node){action1Callback();ev.preventDefault();return false;}else if(ev.target===action2Node){action2Callback();ev.preventDefault();return false;}};var _hide=function _hide(){if(!isShown){return;}
|
|
titleNode.removeAttribute('data-l10n-id');titleNode.className='';messageNode.removeAttribute('data-l10n-id');messageNode.className='';action1Node.removeAttribute('data-l10n-id');action1Node.onclick=null;action2Node.removeAttribute('data-l10n-id');action2Node.onclick=null;screen.classList.remove('fade-in');screen.classList.add('fade-out');isAnimationPlaying=true;window.dispatchEvent(new CustomEvent('confirmdialoghiding'));screen.addEventListener('animationend',function cd_fadeOut(ev){action1Node.className='';action2Node.className='';isAnimationPlaying=false;screen.removeEventListener('animationend',cd_fadeOut);screen.classList.add('no-opacity');screen.classList.add('hide');isShown=false;});};var _show=function _show(title,msg,action1,action2,options){var setL10nAttributes=function(element,options){if('string'===typeof options){document.l10n.setAttributes(element,options);}
|
|
if(options.id){document.l10n.setAttributes(element,options.id,options.args);}};if(options&&options.zIndex){oldzIndex=screen.style.zIndex;screen.style.zIndex=options.zIndex;}
|
|
else{oldzIndex=null;}
|
|
if(title){setL10nAttributes(titleNode,title);}else{titleNode.classList.add('hide');}
|
|
if(msg){setL10nAttributes(messageNode,msg);}else{messageNode.classList.add('hide');}
|
|
if(action1){if(action1.title){setL10nAttributes(action1Node,action1.title);}
|
|
if(action1.isDanger){action1Node.classList.add('danger');}
|
|
if(action1.isRecommend){action1Node.classList.add('recommend');}
|
|
if(action1.callback){action1Callback=action1.callback;action1Node.onclick=callBackAndPreventDefault;}
|
|
if(!action2){action2Node.classList.add('hide');action1Node.classList.add('full');}}
|
|
if(action2){if(action2.title){setL10nAttributes(action2Node,action2.title);}
|
|
if(action2.isDanger){action2Node.classList.add('danger');}
|
|
if(action2.isRecommend){action2Node.classList.add('recommend');}
|
|
if(action2.callback){action2Callback=action2.callback;action2Node.onclick=callBackAndPreventDefault;}
|
|
if(!action1){action1Node.classList.add('hide');action2Node.classList.add('full');}}
|
|
if(isShown){return;}
|
|
screen.classList.remove('hide');screen.classList.remove('fade-out');screen.classList.add('fade-in');isAnimationPlaying=true;window.dispatchEvent(new CustomEvent('confirmdialogshowing'));screen.addEventListener('animationend',function cd_fadeIn(ev){isAnimationPlaying=false;screen.removeEventListener('animationend',cd_fadeIn);screen.classList.remove('no-opacity');isShown=true;});};return{hide:function dialog_hide(){if(oldzIndex){screen.style.zIndex=oldzIndex;oldzIndex=null;}
|
|
if(!isAnimationPlaying){_hide();return;}
|
|
screen.addEventListener('animationend',function cd_hideWhenFinished(ev){screen.removeEventListener('animationend',cd_hideWhenFinished);_hide();});},show:function dialog_show(title,msg,action1,action2,options){if(!isAnimationPlaying){_show(title,msg,action1,action2,options);return;}
|
|
screen.addEventListener('animationend',function cd_showWhenFinished(ev){screen.removeEventListener('animationend',cd_showWhenFinished);_show(title,msg,action1,action2,options);});}};}()); |