-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathappbar.dist.js
1 lines (1 loc) · 7.27 KB
/
appbar.dist.js
1
"use strict";function _classCallCheck(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(n,e){for(var t=0;t<e.length;t++){var i=e[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}}function _createClass(n,e,t){return e&&_defineProperties(n.prototype,e),t&&_defineProperties(n,t),n}!function(){var i=__data__,a=["nickname","myaccount","divider","kredit","recharge","divider","logout"],l={divider:function(){return{_isDivider:!0,text:null}},nickname:function(){return{text:d(i.nickname)}},myaccount:function(){return{text:"管理帐号信息",link:t("/")}},kredit:function(){return{text:"Kredit 余额:"+i.kredit/100}},recharge:function(){return{text:"充值",link:t("/recharge")}},logout:function(){return{text:"退出登录",onclick:function(){window.idFrame.logout()}}}},t=function(n){return i.base+n},d=function(n){return n.replace(/</g,"<").replace(/>/g,">")};"idFrame"in window||(window.idFrame={}),"logout"in window.idFrame||(window.idFrame.logout=function(){var n=new XMLHttpRequest;n.withCredentials=!0,n.onload=function(){"function"==typeof window.idFrame.logoutCallback?window.idFrame.logoutCallback():location.reload()},n.onerror=function(){alert("网络错误")},n.open("DELETE",t("/api/token?set-cookie=true")),n.send()});var n=new Promise(function(n,e){setTimeout(e,3e5);var t=setInterval(function(){if("mdc"in window)return"ripple"in window.mdc&&"menu"in window.mdc?n():void 0},200);setTimeout(function(){clearInterval(t)},3e5)});window.idFrame.AppBarFrame=function(){function e(n){if(_classCallCheck(this,e),!((this.config=n).container instanceof HTMLElement||("string"==typeof n.container&&(n.container=document.querySelector(n.container)),n.container instanceof HTMLElement)))throw new Error("Container not found.");this.container=n.container,n.serviceName?(this.loginUrl=n.loginUrl||t("/login?service=".concat(n.serviceName,"#login")),this.signupUrl=n.signupUrl||t("/login?service=".concat(n.serviceName,"#signup"))):(this.loginUrl=n.loginUrl||t("/login#login"),this.signupUrl=n.signupUrl||t("/login#signup")),this.ready=this._init()}return _createClass(e,[{key:"_init",value:function(){var t=this;return n.then(function(){if(i.loggedIn)t.container.innerHTML='\n<span class="idframe idframe--appbar" role="button" title="KEEER 帐号">\n <span class="idframe--appbar__avatar" style="background-image: url(\''.concat(i.avatar,'\')"></span>\n <span class="idframe--appbar__nickname" dir="ltr">').concat(d(i.nickname),'</span>\n <span class="idframe--appbar__dropdown-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg></span>\n</span>'),t.container.firstElementChild.onclick=function(){t._menu.open=!0},t.updateItems(t.config.items||[].concat(a));else{t.container.innerHTML='\n<span class="idframe idframe--appbar idframe--not-logged-in">\n <a class="mdc-button" href="'.concat(t.loginUrl,'"><div class="mdc-button__ripple"></div><span class="mdc-button__label">登录</span></a> \n <a class="mdc-button mdc-button--outlined" href="').concat(t.signupUrl,'"><div class="mdc-button__ripple"></div><span class="mdc-button__label">注册</span></a>\n</span>');for(var n=t.container.querySelectorAll(".mdc-button"),e=0;e<n.length;e++)window.mdc.ripple.MDCRipple.attachTo(n[e])}})}},{key:"_handleItems",value:function(){for(var n,e=this,t='<ul class="mdc-list" role="menu" aria-hidden="true" aria-orientation="vertical" tabindex="-1">',i={},a=0;a<this.items.length;a++){var r,c=this.items[a];if("string"==typeof c){if(!(c in l))throw new Error("Item ".concat(c," not found."));c=l[c](this)}if(!("text"in c))throw new Error("Invalid item "+c);c._isDivider?t+='<li role="separator" class="mdc-list-divider"></li>':"link"in c?t+='<a class="mdc-list-item" role="menuitem" href="'.concat(c.link,'"><span class="mdc-list-item__text">').concat(d(c.text),"</span></a>"):"onclick"in c?(r="idframe-click-".concat(a,"-").concat(Math.floor(1e6*Math.random())),i[r]=c.onclick,t+='<a id="'.concat(r,'" class="mdc-list-item" role="menuitem" href="javascript:;"><span class="mdc-list-item__text">').concat(d(c.text),"</span></a>")):t+='<li class="mdc-list-item idframe-list-item--disabled" role="menuitem"><span class="mdc-list-item__text">'.concat(d(c.text),"</span></li>")}this._menuEl||((n=document.createElement("span")).className="mdc-menu-surface--anchor",this._menuEl=document.createElement("div"),this._menuEl.className="mdc-menu mdc-menu-surface",n.appendChild(this._menuEl),this.ready.then(function(){e.container.firstElementChild.appendChild(n)})),t+="</ul>",this._menuEl.innerHTML=t,this._menuEl.querySelector("ul").addEventListener("click",function(n){n.stopPropagation()}),this._menu=new window.mdc.menu.MDCMenu(this._menuEl);for(var s=this._menu.list_.listElements,o=0;o<s.length;o++)new window.mdc.ripple.MDCRipple(s[o]);setTimeout(function(){for(var n in i)document.getElementById(n).addEventListener("click",i[n])},100)}},{key:"updateItems",value:function(n){if(!n||void 0===n.length)throw new TypeError("Items not an array");var e=this.items;this.items=n;try{this._handleItems()}catch(n){throw this.items=e,this._handleItems(),n}}}]),e}();var e=document.createElement("style");e.innerHTML="\n.idframe--appbar {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n}\n.idframe--not-logged-in {\n margin-top: 2px;\n margin-right: 2px;\n}\n.idframe--appbar__nickname {\n font-size: 16px;\n margin: 0 4px 0 8px;\n color: var(--mdc-theme-primary, black);\n}\n@media(max-width: 599px) {\n .idframe--appbar__nickname {\n display: none;\n }\n}\n.idframe--appbar__avatar {\n width: 40px;\n height: 40px;\n background-size: contain;\n display: inline-block;\n border-radius: 4px;\n}\n.idframe--appbar .mdc-menu-surface--anchor {\n align-self: start;\n}\n.idframe--appbar .idframe-list-item--disabled .mdc-list-item__text {\n opacity: .5;\n}\n.idframe--appbar__dropdown-icon, .idframe--appbar__dropdown-icon svg {\n display: inline-block;\n width: 20px;\n height: 20px;\n opacity: .8;\n fill: var(--mdc-theme-primary, black);\n}",document.head.appendChild(e);var r={"mdc.button.":["https://cdn.jsdelivr.net/npm/@material/[email protected]/dist/mdc.button.min.css"],"mdc.ripple.":["https://cdn.jsdelivr.net/npm/@material/[email protected]/dist/mdc.ripple.min.css","https://cdn.jsdelivr.net/npm/@material/[email protected]/dist/mdc.ripple.min.js"],"mdc.list.":["https://cdn.jsdelivr.net/npm/@material/[email protected]/dist/mdc.list.min.css"],"mdc.menu-surface.":["https://cdn.jsdelivr.net/npm/@material/[email protected]/dist/mdc.menu-surface.min.css"],"mdc.menu.":["https://cdn.jsdelivr.net/npm/@material/[email protected]/dist/mdc.menu.min.css","https://cdn.jsdelivr.net/npm/@material/[email protected]/dist/mdc.menu.min.js"]};for(var c in r){var s=!r[c][0];if(!("mdc"in window.idFrame&&window.idFrame.mdc.style)){for(var o,m=0;m<document.styleSheets.length;m++)-1<(document.styleSheets[m].href||"").indexOf(c)&&(s=!0);s||((o=document.createElement("link")).rel="stylesheet",o.href=r[c][0],document.head.appendChild(o))}if(!("mdc"in window.idFrame&&window.idFrame.mdc.script)){s=!r[c][1];for(var p,u=0;u<document.scripts.length;u++)-1<(document.scripts[u].src||"").indexOf(c)&&(s=!0);s||((p=document.createElement("script")).src=r[c][1],document.head.appendChild(p))}}}();