From f1c671d16acf3c72d316a0cad6107e897e10a2e2 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Mon, 3 Jul 2023 11:02:14 +0800 Subject: [PATCH] =?UTF-8?q?issue-=E7=BF=BB=E9=A1=B5(=E6=9A=82=E7=BC=93)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tpm/challengesnew/tpm-md-editor.js | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/modules/tpm/challengesnew/tpm-md-editor.js b/src/modules/tpm/challengesnew/tpm-md-editor.js index bd5986cf..ce56a733 100644 --- a/src/modules/tpm/challengesnew/tpm-md-editor.js +++ b/src/modules/tpm/challengesnew/tpm-md-editor.js @@ -92,9 +92,13 @@ export default ({ mdID, onChange, onCMBeforeChange, onCMBlur, error = false, cla const tipId = `e_tips_mdEditor_${mdID}`; // quote相关 + const [ issuePage , setIssuePage ] = useState(1); + const [ issuePageCount , setIssuePageCount ] = useState(0); + const issueLimit = 10; const [issues, setIssues ] = useState([]); const [quoteVisible, setQuoteVisible] = useState(false); const [screenIssues, setScreenIssues ] = useState([]); + const [ issueKeyWord,setIssueKeyWord] = useState(undefined); const quoteVisibleRef = useRef(false); const chooseIssuesList = useRef([]); @@ -114,18 +118,24 @@ export default ({ mdID, onChange, onCMBeforeChange, onCMBlur, error = false, cla setQuoteVisible(false); }) - isQuoteIssue && getIssueList(); + isQuoteIssue && getIssueList(undefined,1); },[]) // 请求issues接口获取全部可quote的issue列表 - function getIssueList(keyword){ + function getIssueList(keyword,page){ axios.get(`/v1/${owner}/${projectsId}/issues`,{params:{ - only_name:true,keyword,sort_direction:"desc",sort_by:"issues.created_on" + only_name:true,keyword,sort_direction:"desc",sort_by:"issues.created_on", + page,limit:issueLimit }}).then(result=>{ if(result){ !keyword && setIssues(result.data.issues); let data = result.data.issues; setScreenIssues(data && data.length > 0 ? data:undefined); + let count = result.data.total_count ; + let remainder = count % issueLimit ; + let discuss = parseInt(count / issueLimit,0 ); + console.log(remainder,discuss,remainder>0?discuss+1:discuss); + setIssuePageCount(remainder>0?discuss+1:discuss); } }) } @@ -144,8 +154,15 @@ export default ({ mdID, onChange, onCMBeforeChange, onCMBlur, error = false, cla ) }) } + { issuePage{loadmoreIssue(issueKeyWord,issuePage+1)}}>加载更多 } ) + + function loadmoreIssue(key,page){ + quoteVisibleRef.current = true; + setQuoteVisible(true); + getIssueList(key,page); + } // 点击选择要引用的issue function selectQuoteIssue(i){ quoteVisibleRef.current = false; @@ -516,10 +533,12 @@ export default ({ mdID, onChange, onCMBeforeChange, onCMBlur, error = false, cla }else{ rangeCont = rangeCont.substring(rangeCont.lastIndexOf("#")+1); if(rangeCont === " "){ + setIssueKeyWord(undefined); setQuoteVisible(false); quoteVisibleRef.current = false; }else{ - getIssueList(rangeCont); + setIssueKeyWord(rangeCont); + getIssueList(rangeCont,1); } } }