forked from Gitlink/forgeplus-react
issue-翻页(暂缓)
This commit is contained in:
parent
f00fdbfdab
commit
f1c671d16a
|
|
@ -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<issuePageCount && <li><a className="load_more_issue" onClick={()=>{loadmoreIssue(issueKeyWord,issuePage+1)}}>加载更多</a></li> }
|
||||
</div>
|
||||
)
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue