(function(t,I){if(typeof module=="object"&&module.exports){module.exports=I(t);return}t.JoinPages=I(t),t.document&&t.document.addEventListener("DOMContentLoaded",function(){t.JoinPages.init()})})(typeof globalThis!="undefined"?globalThis:window,function(t){"use strict";function I(n){return t.ProfileUI&&typeof t.ProfileUI.confirmAction=="function"?t.ProfileUI.confirmAction(n):Promise.resolve(!t.confirm||t.confirm(n))}var T={0:"待审核",1:"已通过",2:"已拒绝",3:"已撤销"};function f(n){return String(n==null?"":n).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function A(n,e){return t.ProfileUI&&t.ProfileUI.renderApiState?t.ProfileUI.renderApiState(n,e):'
'+f(e)+"
"}function b(n){var e;return typeof n=="number"&&!Number.isSafeInteger(n)||n==null?"":(e=String(n).trim(),/^[1-9][0-9]*$/.test(e)?e:"")}function p(n){var e;return n==null?"":(e=String(n).trim(),e)}function N(n){var e=n||{},a={};return["applicantName","phone","relationDesc","applyReason"].forEach(function(i){var r=p(e[i]);r&&(a[i]=r)}),a}function L(n){var e=n||{},a={applicantName:[50,"申请人姓名不能超过 50 个字符"],phone:[30,"联系电话不能超过 30 个字符"],relationDesc:[100,"关系说明不能超过 100 个字符"],applyReason:[500,"申请理由不能超过 500 个字符"]},i=Object.keys(a),r;for(r=0;ra[i[r]][0])return a[i[r]][1];return""}function G(n){var e=n||{},a=b(e.genealogyId),i=p(e.genealogyName),r=p(e.surname),l=e.status===void 0||e.status===null?"":String(e.status);return!a||!i||!r||l&&l!=="0"?null:{genealogyId:a,genealogyName:i,surname:r,regionFullName:p(e.regionFullName),memberCount:e.memberCount,joinMode:e.joinMode===void 0||e.joinMode===null?"":String(e.joinMode)}}function w(n){var e=n||{},a=b(e.applyId),i=b(e.genealogyId),r=p(e.genealogyName),l=e.status===void 0||e.status===null?"":String(e.status);return!a||!i||!r||!Object.prototype.hasOwnProperty.call(T,l)?null:{applyId:a,genealogyId:i,genealogyName:r,surname:p(e.surname),relationDesc:p(e.relationDesc),applyReason:p(e.applyReason),auditRemark:p(e.auditRemark),auditTime:p(e.auditTime),status:l}}function J(n){var e;return Array.isArray(n)?(e=n.map(w),e.some(function(a){return!a})?[]:e):[]}function q(n){var e;return Array.isArray(n)?(e=n.map(G).filter(Boolean),e.length?e.map(function(a){var i=[a.surname+"氏",a.regionFullName,a.memberCount===void 0||a.memberCount===null?"":a.memberCount+" 位成员"].filter(Boolean).join(" · ");return''}).join(""):A("empty","没有找到可申请加入的家谱")):A("error","家谱列表数据无效,请刷新重试")}function U(n){var e=J(n);return e.length?e.map(function(a){var i=[a.surname?a.surname+"氏":"",a.relationDesc,a.applyReason,a.auditRemark?"审核说明:"+a.auditRemark:"",a.auditTime?"审核时间:"+a.auditTime:""].filter(Boolean).join(" · "),r=a.status==="0"?'':"";return'

'+f(a.genealogyName)+"

"+f(i||"等待申请状态更新")+'

'+T[a.status]+""+r+"
"}).join(""):A("empty","当前没有加入申请")}function g(n,e){var a=e&&(e.status||e.code);return!n||!n.getToken||!n.getToken()||Number(a)===401}function m(n){n&&n.clearToken&&n.clearToken(),t.NavigationUtil.open("login.html")}function v(n){return Number(n&&(n.status||n.code))===403?"forbidden":"error"}function u(n,e,a){var i=t.document&&t.document.querySelector(n);if(i){if(!e){i.innerHTML="";return}if(t.ProfileUI&&t.ProfileUI.setApiState){t.ProfileUI.setApiState(i,a||"error",e);return}i.textContent=e}}function M(n,e,a){if(n){if(t.ProfileUI&&t.ProfileUI.setApiState){t.ProfileUI.setApiState(n,e,a);return}n.innerHTML=A(e,a)}}function k(n,e,a){n&&(n.dataset.defaultLabel||(n.dataset.defaultLabel=n.textContent),n.disabled=!!e,n.textContent=e?a:n.dataset.defaultLabel,n.setAttribute("aria-busy",e?"true":"false"))}function O(n){var e={};return Array.prototype.forEach.call(n.querySelectorAll("[name]"),function(a){e[a.name]=a.value}),e}function C(n){var e=Number(n&&n.joinRemaining);return n&&typeof n.canJoin=="boolean"?n.canJoin:Number.isInteger(e)&&(e===-1||e>0)}async function x(){var n=t.document&&t.document.querySelector("[data-join-apply-page]"),e=t.document&&t.document.querySelector("[data-join-genealogy-search]"),a=t.document&&t.document.querySelector("[data-join-genealogy-options]"),i=t.document&&t.document.querySelector("[data-join-apply-form]"),r=t.document&&t.document.querySelector("[data-join-selected-genealogy]"),l=t.GenealogyApi&&t.GenealogyApi.defaultClient,c="",s=!1;if(!n)return;if(g(l)){m(l);return}function j(){c="",r&&(r.textContent="尚未选择家谱")}async function S(o){var d;j(),u("[data-join-options-status]","正在读取可申请家谱…","loading"),M(a,"loading","正在读取可申请家谱…");try{d=await l.genealogyOptions(o?{keyword:o}:{}),a.innerHTML=q(d),u("[data-join-options-status]","")}catch(y){if(g(l,y)){m(l);return}M(a,v(y),"读取家谱列表失败"),u("[data-join-options-status]",y.message||"读取家谱列表失败,请稍后重试",v(y))}}try{if(!C(await l.genealogyQuota())){u("[data-join-apply-status]","当前没有可用的家谱加入额度","empty"),i.querySelector("[data-join-apply-submit]").disabled=!0;return}}catch(o){if(g(l,o)){m(l);return}u("[data-join-apply-status]",o.message||"无法读取家谱加入额度",v(o)),i.querySelector("[data-join-apply-submit]").disabled=!0;return}e.addEventListener("submit",function(o){o.preventDefault(),S(p(e.querySelector('[name="keyword"]').value))}),a.addEventListener("click",function(o){var d=o.target.closest("[data-join-genealogy-id]");!d||!a.contains(d)||(c=b(d.getAttribute("data-join-genealogy-id")),c&&(r.textContent="已选择:"+d.getAttribute("data-join-genealogy-name"),Array.prototype.forEach.call(a.querySelectorAll("[data-join-genealogy-id]"),function(y){y.classList.toggle("is-selected",y===d)})))}),i.addEventListener("submit",async function(o){var d,y,P,R;if(o.preventDefault(),!s){if(!c){u("[data-join-apply-status]","请先从家谱列表中选择要加入的家谱","error");return}if(d=N(O(i)),y=L(d),y){u("[data-join-apply-status]",y,"error");return}s=!0,k(i.querySelector("[data-join-apply-submit]"),!0,"正在提交…"),u("[data-join-apply-status]","正在提交申请…","loading");try{if(P=w(await l.applyToGenealogy(c,d)),!P)throw new Error("申请响应缺少有效申请信息");if(R=J(await l.myGenealogyJoinApplies()),!R.some(function(h){return h.applyId===P.applyId}))throw new Error("提交后无法读取同一申请");t.NavigationUtil.open("profile-join-family.html")}catch(h){if(g(l,h)){m(l);return}u("[data-join-apply-status]",h.message||"提交加入申请失败,请稍后重试",v(h))}finally{s=!1,k(i.querySelector("[data-join-apply-submit]"),!1,"正在提交…")}}}),await S("")}async function E(){var n=t.document&&t.document.querySelector("[data-my-join-applies-page]"),e=t.document&&t.document.querySelector('[data-join-apply-list="mine"]'),a=t.document&&t.document.querySelector("[data-join-apply-refresh]"),i=t.GenealogyApi&&t.GenealogyApi.defaultClient,r=!1;if(!n)return;if(g(i)){m(i);return}async function l(){var c;u("[data-my-join-applies-status]","正在读取申请记录…","loading");try{return c=await i.myGenealogyJoinApplies(),e.innerHTML=U(c),u("[data-my-join-applies-status]",""),J(c)}catch(s){return g(i,s)?(m(i),[]):(e.innerHTML=A(v(s),"读取加入申请失败"),u("[data-my-join-applies-status]",s.message||"读取加入申请失败,请稍后重试",v(s)),[])}}a.addEventListener("click",function(){l()}),e.addEventListener("click",async function(c){var s=c.target.closest("[data-join-cancel-id]"),j,S;if(!(!s||!e.contains(s)||r)&&(j=b(s.getAttribute("data-join-cancel-id")),!!j&&await I("确认撤销这条加入申请吗?"))){r=!0,s.disabled=!0,u("[data-my-join-applies-status]","正在撤销申请…","loading");try{if(await i.cancelGenealogyJoinApply(j),S=await l(),S.some(function(o){return o.applyId===j&&o.status==="0"}))throw new Error("撤销后申请仍处于待审核状态")}catch(o){if(g(i,o)){m(i);return}u("[data-my-join-applies-status]",o.message||"撤销加入申请失败,请稍后重试",v(o))}finally{r=!1}}}),await l()}async function B(){if(t.document&&t.document.querySelector("[data-join-apply-page]")){await x();return}t.document&&t.document.querySelector("[data-my-join-applies-page]")&&await E()}return{buildJoinApplyBody:N,validateJoinApplyBody:L,normalizeJoinGenealogy:G,normalizeJoinApply:w,normalizeJoinApplies:J,renderJoinGenealogyOptions:q,renderMyJoinApplies:U,canJoinGenealogy:C,initJoinApplyPage:x,initMyJoinAppliesPage:E,init:B}});