mirror of
https://gitee.com/lab1024/smart-admin.git
synced 2025-10-02 18:26:38 +08:00
1 line
11 KiB
JavaScript
1 line
11 KiB
JavaScript
(window["RCDLjsonFunction"]=window["RCDLjsonFunction"]||[]).push([[19],{214:function(e,t,a){"use strict";a.r(t);a.d(t,"ToggleGroup",(function(){return q}));var r=a(55);var n=a.n(r);var o=a(35);var i=a.n(o);var c=a(21);var l=a.n(c);var u=a(276);var d=a.n(u);var s=a(106);var g=a.n(s);var f=a(158);var b=a.n(f);var p=a(33);var v=a.n(p);var h=a(20);var m=a.n(h);var C=a(32);var T=a.n(C);var L=a(36);var D=a.n(L);var R=a(22);var A=a.n(R);var k=a(262);var y=a.n(k);var j=a(99);var O=a(108);var w=a(38);var x=a(9);var G=a(6);var E=a(42);var N=a(102);var _=a(115);var S=a(104);var H=a(114);var M=a(371);var W=a.n(M);function asyncGeneratorStep(e,t,a,r,n,o,i){try{var c=e[o](i);var l=c.value}catch(e){a(e);return}if(c.done){t(l)}else{Promise.resolve(l).then(r,n)}}function _asyncToGenerator(e){return function(){var t=this,a=arguments;return new Promise((function(r,n){var o=e.apply(t,a);function _next(e){asyncGeneratorStep(o,r,n,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(o,r,n,_next,_throw,"throw",e)}_next(undefined)}))}}var q=RCDL.features.ToggleGroup={defaultSelector:null,start:function start(e){var t=e.element,a=e.selector,r=a===void 0?RCDL.features.ToggleGroup.defaultSelector:a;RCDL.features.ToggleGroup.init(r,t)},init:function init(e,t){Object(j["DOMcheckElements"])({element:t,selectors:e,name:"ToggleGroup"}).forEach((function(e){return RCDL.features.ToggleGroup.create(e)}));RCDL.features.ToggleGroup.isDesktop=document.documentElement.clientWidth>=RCDL.config.breakpoints.md;window.addEventListener("resize",Object(O["default"])((function(){RCDL.features.ToggleGroup.handleResize(e)}),300))},create:function create(e){var t=e.getAttribute("data-toggle-group")||"";var a=null;switch(t){case"mobile":a="(max-width: ".concat(RCDL.config.breakpoints.md,"px)");break;case"desktop":a="(min-width: ".concat(RCDL.config.breakpoints.md,"px)");break;default:a="(min-width: 0)";break}if(window.matchMedia(a).matches){RCDL.features.ToggleGroup.build(e)}},build:function build(e){var t="data-toggle";var a=Object(G["default"])("[".concat(t,"]"),e);var r=0;if(RCDL.features.ToggleGroup.checkTabFromAccordion(e)){if(e.hasAttribute("data-toggle-tabs")){var n=Object(E["default"])({tagName:"div",className:"clone-container"});var o=e.cloneNode(true);n.appendChild(o);e.parentNode.parentNode.appendChild(n);o.setAttribute("data-toggle-clone","true");n.style.display="none"}var i=RCDL.features.ToggleGroup.configureTabs(e);var c=RCDL.features.ToggleGroup.buildTabs(i,e);RCDL.features.ToggleGroup.build(c);var l=Object(G["default"])(".clone-container .tabs-container");Object.keys(l).forEach((function(e,t){var a=Object(N["default"])(l[e],".clone-container");a.parentNode.removeChild(a)}));return}Object.keys(a).forEach((function(n,o){if(a[n].getAttribute("data-active")!=="true"){r=Object(_["default"])(e,a[n],t);a[n].setAttribute("data-active","true");a[n].setAttribute("data-depth",r);a[n].setAttribute("aria-haspopup","true");RCDL.features.ToggleGroup.toggle(e,a[n],"hide");RCDL.features.ToggleGroup.click(e,a,a[n],r);RCDL.features.ToggleGroup.openOnLoad(a[n]);if(a[n].getAttribute("role")==="tab"&&o===0){a[n].setAttribute("rc-js-fakeClick","true");Object(S["default"])(a[n])}}}))},reCalcMaxHeight:function reCalcMaxHeight(e,t){if(e!==null&&e.nodeType===e.ELEMENT_NODE){if(Object(w["default"])(e,"rc-list__content")&&t.getAttribute("data-js-open")==="true"){e.style.maxHeight=window.getComputedStyle(e).getPropertyValue("height")}}},openOnLoad:function openOnLoad(e){var t=false;if(document.documentElement.clientWidth<RCDL.config.breakpoints.md){var a=Object(N["default"])(e,"nav");if(a!==null){t=true}}if(!t){if(e.getAttribute("data-js-open")==="true"){e.setAttribute("rc-js-fakeClick","true");Object(S["default"])(e)}}},checkTabFromAccordion:function checkTabFromAccordion(e){if(e.hasAttribute("data-toggle-tabs")){return document.documentElement.clientWidth>RCDL.config.breakpoints.md}else{return false}},checkComponentType:function checkComponentType(e){return e.querySelector(".rc-list__accordion-item")?"accordion":"tab"},configureTabs:function configureTabs(e){var t=Object(G["default"])(".rc-list__accordion-item",e);var a={accordion:e,accordionWrapper:e.parentNode,role:"tablist",navClass:e.getAttribute("data-tabs-nav-classes"),ulClass:e.getAttribute("data-tabs-ul-classes"),contentClass:e.getAttribute("data-tabs-content-classes"),tabs:[]};Object.keys(t).forEach((function(e){if(typeof t[e]!=="undefined"){var r="tab__panel-1--single-".concat(Math.floor(Math.random()*9999));var n=t[e].querySelector(".rc-list__content");a.tabs.push({header:{text:t[e].querySelector(".rc-list__header").innerText,toggle:r},content:{id:r,childNodes:Object(H["default"])(n),contentClass:n.getAttribute("data-content-class")||"rc-max-width--md"}})}}));return a},buildTabs:function buildTabs(e){var t=Object(E["default"])({tagName:"div",className:"tabs-container"});var a=Object(E["default"])({tagName:"nav",className:e.navClass!==null?e.navClass:"rc-tabs__controller rc-tabs__controller--border--full-width",attributes:{"data-toggle-group":""},childs:[{tagName:"ul",className:"rc-scroll--x rc-list rc-list--inline rc-list--align rc-list--blank rc-tab--centered ".concat(e.ulClass!==null?e.ulClass:""),attributes:{role:"tablist"}},{tagName:"div",className:e.contentClass!==null?e.contentClass:""}]});var r=a.children[0];var n=a.children[1];e.tabs.forEach((function(e){r.appendChild(Object(E["default"])({tagName:"li",childs:[{tagName:"button",className:"rc-tab rc-btn",text:e.header.text,attributes:{"data-toggle":e.header.toggle,role:"tab"}}]}));var t=Object(E["default"])({tagName:"div",className:"rc-padding-y--md ".concat(e.content.contentClass),attributes:{id:e.content.id},html:e.content.childNodes});n.appendChild(t)}));t.appendChild(a);t.appendChild(n);e.accordion.outerHTML="";e.accordionWrapper.appendChild(t);return e.accordionWrapper},switchTabsToAccordion:function switchTabsToAccordion(e){var t=Object(N["default"])(e,".clone-container");var a=t.parentNode.querySelector(".tabs-container");RCDL.moveNode(e,a.parentNode,true);a.parentNode.removeChild(a);t.parentNode.removeChild(t)},toggle:function toggle(e,t,a){var r=t.getAttribute("data-toggle");var n=e.getAttribute("data-toggle-effect")||"rc-showhide";var o=r!==""?document.getElementById(r):t.nextElementSibling;if(o!==null){Object(x["default"])("add",o,n)}switch(a){case"hide":RCDL.ariaSelected(t,"false");RCDL.ariaShowHide(o,"hide");break;case"show":RCDL.ariaSelected(t,"true");RCDL.ariaShowHide(o,"show");break;case"toggle":RCDL.ariaSelected(t,"toggle");RCDL.ariaShowHide(o,o.getAttribute("aria-expanded")==="true"?"hide":"show");break;default:}if(t.getAttribute("role")!=="tab"&&o!==null){if(t.getAttribute("aria-selected")==="true"){RCDL.tabRoving(t,o);if(Object(w["default"])(o,"rc-expand--vertical")){Object(x["default"])("add",t,"rc-icon--rotate");o.style.maxHeight=o.scrollHeight+99+"px";if(!o.scrollHeight>0){o.style.maxHeight="none"}}if(Object(w["default"])(o,"rc-expand--horizontal")){o.style.height=e.scrollHeight+"px"}}else{if(Object(w["default"])(o,"rc-expand--vertical")){Object(x["default"])("remove",t,"rc-icon--rotate");o.style.maxHeight="0"}}}},click:function click(e,t,a,r){a.addEventListener("click",(function(n){n.preventDefault();if(n.currentTarget.getAttribute("rc-js-fakeClick")!=="true"){var o=null;if(n.currentTarget.getAttribute("data-toggle")){o=n.target.textContent}else if(Object(N["default"])(n.target,".rc-tab")!==null&&Object(N["default"])(n.target,".rc-tab").matches("button")){var i=Array.from(n.target.parentNode.children);var c=i.filter((function(e){return e.nodeName==="SPAN"}));o=c.map((function(e){return e.textContent})).join(" - ")}var l=window.dataLayer=window.dataLayer||[];var u="ComponentTab";var d="Tabular content";var s="Tab switch";if(RCDL.features.ToggleGroup.checkComponentType(e)==="accordion"){u="ExpandableList";d="Expandable List";s="Open";var g=a.getAttribute("data-toggle");var f=g!==""?document.getElementById(g):a.nextElementSibling;if(f.getAttribute("aria-expanded")==="true"){s="Close"}}l.push({event:"".concat(RCDL.tracking.gtm.id()).concat(u),interaction:{category:d,action:s,label:o},component:{title:o}})}n.currentTarget.removeAttribute("rc-js-fakeClick");if(!RCDL.features.ToggleGroup.checkOpenAccordion(e)){Object.keys(t).forEach((function(o){if(typeof t[o]!=="undefined"&&!t[o].isEqualNode(a)&&t[o].getAttribute("data-depth")>=r){RCDL.features.ToggleGroup.reCalcMaxHeight(a.parentElement.nextElementSibling,n.target);RCDL.features.ToggleGroup.toggle(e,t[o],"hide")}}))}RCDL.features.ToggleGroup.reCalcMaxHeight(a.parentElement.nextElementSibling,n.target);RCDL.features.ToggleGroup.toggle(e,a,a.getAttribute("role")==="tab"?"show":"toggle")}))},checkOpenAccordion:function checkOpenAccordion(e){var t=e.getAttribute("data-rc-toggle-all-open");return t!==null&&document.documentElement.clientWidth<RCDL.config.breakpoints.md},destroy:function destroy(e){var t="data-toggle";var a=Object(G["default"])("[".concat(t,"]"),e);Object.keys(a).forEach((function(t,r){var n=a[t];n.removeAttribute("data-active");n.removeAttribute("data-depth");n.removeAttribute("aria-haspopup");n.removeAttribute("aria-selected");n.outerHTML=n.outerHTML;var o=n.getAttribute("data-toggle");var i=e.getAttribute("data-toggle-effect")||"rc-showhide";var c=o!==""?document.getElementById(o):n.nextElementSibling;c.removeAttribute("aria-expanded");c.removeAttribute("aria-hidden");c.removeAttribute("style");Object(x["default"])("remove",c,i)}))},handleResize:function handleResize(e){var t;if(!RCDL.features.ToggleGroup.isDesktop&&document.documentElement.clientWidth>=RCDL.config.breakpoints.md){RCDL.features.ToggleGroup.isDesktop=true;t=Object(G["default"])(e);Object.keys(t).forEach((function(e){if(t[e].getAttribute("data-toggle-group")==="mobile"){RCDL.features.ToggleGroup.destroy(t[e])}if(t[e].hasAttribute("data-toggle-tabs")){RCDL.features.ToggleGroup.destroy(t[e]);RCDL.features.ToggleGroup.build(t[e])}}))}if(RCDL.features.ToggleGroup.isDesktop&&document.documentElement.clientWidth<RCDL.config.breakpoints.md){RCDL.features.ToggleGroup.isDesktop=false;t=Object(G["default"])(e);Object.keys(t).forEach((function(e){if(t[e].getAttribute("data-toggle-group")==="mobile"){RCDL.features.ToggleGroup.build(t[e])}if(t[e].hasAttribute("data-toggle-tabs")&&t[e].getAttribute("data-toggle-clone")==="true"){RCDL.features.ToggleGroup.switchTabsToAccordion(t[e]);RCDL.features.ToggleGroup.build(t[e])}}))}}};t["default"]={fn:function(){var e=_asyncToGenerator(regeneratorRuntime.mark((function _callee(e){return regeneratorRuntime.wrap((function _callee$(t){while(1){switch(t.prev=t.next){case 0:return t.abrupt("return",RCDL.features.ToggleGroup.start({element:e,selector:"[data-toggle-group]"}));case 1:case"end":return t.stop()}}}),_callee)})));function fn(t){return e.apply(this,arguments)}return fn}(),setup:function setup(e){RCDL.features.ToggleGroup.defaultSelector=e},ToggleGroup:q}}}]); |