updated 一个关系链bug修复

This commit is contained in:
PASSER-BY 2021-11-26 07:35:09 +08:00
parent 128eb45f46
commit 6bc22e041a
4 changed files with 27 additions and 15 deletions

File diff suppressed because one or more lines are too long

View File

@ -137,14 +137,21 @@ relationship.setMode('cantonese',{
};
var bindChange = function(){
var value = $input.value.trim();
var result = relationship({text:value,type:'chain'});
if(result.length){
var name = result[0].split('的').pop();
if(!name){
toggleSex($sex[0].checked);
}else{
toggleSex('爸爸,老公,儿子,哥哥,弟弟,兄弟'.indexOf(name)>-1);
}
var sex = $sex[0].checked?1:0;
var mode = $mode[0].checked?$mode[0].value:$mode[1].value;
var reverse = !$reverse[0].checked;
if(value){
var result = relationship({text:value,sex:sex,reverse:reverse,mode:mode});
if(result.length){
var name = result[0].split('的').pop();
if(!name){
toggleSex($sex[0].checked);
}else{
toggleSex('爸爸,老公,儿子,哥哥,弟弟,兄弟'.indexOf(name)>-1);
}
}
}else{
$result.value = '';
}
};

View File

@ -173,11 +173,11 @@
exp:/,w,h|,h,w/g,
str:''
},
{//并列关系处理1
exp:/(.+)?\[([^\|]+?)\|([^\[\]]+?\|[^\[\]]+?)\](.+)?/g,
{//并列关系处理1 X[A|B|C]Y = XAY#X[B|C]Y
exp:/(.+)?\[([^\|]+?)\|([^\[\]]*\|[^\[\]]*)\](.+)?/g,
str:'$1$2$4#$1[$3]$4'
},
{//并列关系处理2
{//并列关系处理2 X[A|B]Y = XAY#XBY
exp:/(.+)?\[([^\[\]\|]+?)\|([^\[\]\|]+?)?\](.+)?/g,
str:'$1$2$4#$1$3$4'
}
@ -2488,7 +2488,10 @@
}else if(isFemale){
sex = 0;
}
}else{
r_ids = [''];
}
// console.log('[from_ids]',from_ids,'r_ids',r_ids);
var from_selector = from_ids.length>1?'['+from_ids.join('|')+']':from_ids[0];
var to_selector = r_ids.length>1?'['+r_ids.join('|')+']':r_ids[0];
return {
@ -2513,7 +2516,7 @@
_data[key] = [].concat(_mode[lang][key],_map[key]||[]);
}
}
}
}
var from_selectors = getSelectors(options.text);
var to_selectors = options.target?getSelectors(options.target):[''];
// console.log('[selectors]',from_selectors,to_selectors);
@ -2526,7 +2529,7 @@
// console.log('[ids]',data['selector'],data['sex'],ids);
if(ids){
ids.forEach(function(id){
var temps = [id];
var temps = [id];
if(options.type=='chain'){
if(options.reverse){
temps = reverseId(id,data['sex']);

View File

@ -22,5 +22,7 @@ test('relationship.js show to be tested', function (t) {
t.deepEqual(relationship({text:'姑妈',target:'舅妈',reverse:true}),['兄弟眷兄妇','兄弟眷弟妇']);
t.deepEqual(relationship({text:'舅妈',target:'女儿',reverse:true}),['姑甥孙女','姑甥外孙女']);
t.deepEqual(relationship({text:'老公的父母',target:'孩子'}),['爷爷','奶奶']);
t.deepEqual(relationship({text:'爸爸的哥哥的弟弟的儿子'}),['堂哥','堂弟','兄弟','自己']);
t.end();
});