Files
jiapu/dist/public/js/pending-pages.js
T

2 lines
1.7 KiB
JavaScript

(function(n,a){if(typeof module=="object"&&module.exports){module.exports=a(n);return}n.PageAvailability=a(n),n.document&&n.document.addEventListener("DOMContentLoaded",function(){n.PageAvailability.init()})})(typeof globalThis!="undefined"?globalThis:window,function(n){"use strict";var a=n.document;function b(e){return String(e==null?"":e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function d(e){return'<section class="feature-status-banner" role="status"><strong>功能开发中</strong><p>'+b(e||"该功能正在开发中,当前页面保留设计预览。")+"</p></section>"}function g(e){return!!(e&&e.getAttribute("data-feature-status")==="pending")}function m(e){return e&&e.getAttribute("data-feature-message")||"该功能正在开发中,当前页面保留设计预览。"}function c(e){if(n.layui&&n.layui.layer){n.layui.layer.msg(e);return}n.alert&&n.alert(e)}function o(e,t){return!!(e&&t&&e.contains(t))}function p(e){var t;return!e||e.getAttribute("data-feature-link")==="available"?!1:(t=e.getAttribute("href")||"",!!t&&t.charAt(0)!=="#"&&!/^(?:https?:|mailto:|tel:)/i.test(t))}function v(){var e,t,l,u;a&&(e=a.body,g(e)&&(t=a.querySelector("main"),l=t&&(t.querySelector(".module-main")||t),u=m(e),l&&!l.querySelector(".feature-status-banner")&&l.insertAdjacentHTML("afterbegin",d(u)),a.addEventListener("submit",function(r){o(t,r.target)&&(r.preventDefault(),c(u))}),a.addEventListener("click",function(r){var i=r.target,f=i&&i.closest&&i.closest("button"),s=i&&i.closest&&i.closest("a");if(f&&o(t,f)&&f.type!=="reset"){r.preventDefault(),c(u);return}!s||!o(t,s)||s.closest(".module-nav")||!p(s)||(r.preventDefault(),c(u))})))}return{buildBanner:d,isPendingPage:g,shouldBlockLink:p,init:v}});