var popoverData =[]
var originalData=[]
var activeTabId = '全部'
var callBackData='';
var callBackFlag=false;
var callInputThis =''
originalData = [{
action_group: '数据1',
list: [{
"id": "30",
"action_name": "名称1",
"action_type": "数据库动作",
"description": null,
"field_name": "trmo.business_line",
"field_type": "枚举",
"type": "投放中6",
}]
},
{
action_group: '数据2',
list: [{
"id": "2",
"action_name": "名称2",
"action_type": "数据库动作",
"description": null,
"field_name": "trmo.business_line",
"field_type": "枚举",
"type": "投放中",
}]
},
{
action_group: '数据3',
list: [{
"id": "3",
"action_name": "名称3",
"action_type": "数据库动作",
"description": null,
"field_name": "trmo.business_line",
"field_type": "枚举",
"type": "投放中2",
},
{
"id": "4",
"action_name": "名称32",
"action_type": "数据库动作",
"description": null,
"field_name": "trmo.business_line",
"field_type": "枚举",
"type": "投放中3",
},
]
},
{
action_group: '数据4',
list: [{
"id": "40",
"action_name": "名称4",
"action_type": "数据库动作",
"description": null,
"field_name": "trmo.business_line",
"field_type": "枚举",
"type": "投放中",
}]
}
]
var defaultTabActionGroup = '全部';
var defaultTabContentId = defaultTabActionGroup;
var firstTabLink = $('.tablink').first();
firstTabLink.addClass('active');
console.log('activeTabId==========', activeTabId)
var defaultTabContent = $('#' + defaultTabContentId);
defaultTabContent.addClass('active').show();
$(document).on('click', '.tablink', function () {
var tabId = $(this).data('tab');
activeTabId = tabId
console.log('activeTabId点2=========', activeTabId)
$('.tabcontent').removeClass('active').hide();
$('#' + activeTabId).addClass('active').show();
$('.tablink').removeClass('active');
$(this).addClass('active');
});
$('#chosentoufangModal .close').on('click', function () {
$('#chosentoufangModal').hide();
activeTabId = '全部';
$('#searchInput').val('');
var resetAllmydata = [{
"action_group": "全部",
"list": originalData
}];
renderAllmydata(resetAllmydata,originalData);
});
$('#chosentoufangModal').on('hidden.bs.modal', function (e) {
popoverData=[]
activeTabId = '全部';
$('#searchInput').val('');
console.log('关闭模态框chosentoufangModal')
})
$('#chosentoufangModal').on('show.bs.modal', function (e) {
callBackData=''
console.log('打开模态框chosentoufangModal')
})
function renderAllmydata(data,popData) {
console.log('Rendering:', data, popoverData,popData);
const mapList = [...data, ...popData]
console.log('mapList:', mapList);
var everyJson = ""
$('.popTabs').empty();
$('.popContTabs').empty();
mapList.forEach(function (action, index) {
var tabDiv = `<div data-tab=${action.action_group}
class="ant-tabs-tab tablink " id="${action.action_group}">
<div class="ant-tabs-tab-btn" tabindex=${index}
id="rc-tabs-1-tab-${index}" >${action.action_group}</div></div>`
$('.popTabs').append(tabDiv);
var tabContent = $('<div class="allListDiv">').addClass('tabcontent').attr('id', action.action_group);
if (action.action_group === '全部') {
tabContent.empty();
action.list.forEach(function (item, inindex) {
var nowDiv = `<div class="allBorder">
<h4 class="titleTip">
<span role="img" aria-label="solution" class="anticon anticon-solution">
</span>${item.action_group}</h4>
<div class="allListClass">
</div>
`
var $nowDiv = $(nowDiv)
$nowDiv.find('.allListClass').empty()
item.list.forEach(function (every) {
everyJson = JSON.stringify(every);
var innderEvery = `<div class="innderEvery" data-everyjson=${everyJson}>
<div class="inL">
<span>${every.action_name}</span>
</div>
<div class="inR">
<div class="ant-space-item" style="">${every.type}</div>
</div>
</div>`;
$nowDiv.find('.allListClass').append(innderEvery);
});
tabContent.append($nowDiv);
$nowDiv.on('click', '.innderEvery', function () {
var everyjsonData = $(this).data('everyjson')
handleEveryClick(everyjsonData);
});
})
$('.popContent').find('.popContTabs').append(tabContent);
} else {
tabContent.empty();
var nowDiv = `<div class="allBorder">
<h4 class="titleTip">
<span role="img" aria-label="solution" class="anticon anticon-solution">
</span>${action.action_group}</h4>
<div class="allListClass">
</div>
`
var $nowDiv = $(nowDiv)
action.list.forEach(function (every) {
everyJson = JSON.stringify(every);
var innderEvery = `<div class="innderEvery" data-everyjson=${everyJson}>
<div class="inL">
<span>${every.action_name}</span>
</div>
<div class="inR">
<div class="ant-space-item" style="">${every.type}</div>
</div>
</div>`;
$nowDiv.find('.allListClass').append(innderEvery);
});
tabContent.append($nowDiv);
$('.popContent').find('.popContTabs').append(tabContent);
$nowDiv.on('click', '.innderEvery', function () {
var everyjsonData = $(this).data('everyjson')
handleEveryClick(everyjsonData);
});
}
hoverFn()
});
$('.popTabs .tablink').removeClass('active');
$('.popContTabs .tabcontent').removeClass('active').hide();
if (activeTabId) {
$('.popTabs #' + activeTabId).addClass('active');
$('.popContTabs #' + activeTabId).addClass('active').show();
}
}
var visibleGroupPop = true;
$('#searchInput').on('input', function () {
var text = $(this).val();
console.log('text', text)
$('.popTabs .tablink').removeClass('active');
$('.popContTabs .tabcontent').removeClass('active').hide();
if (activeTabId) {
$('.popTabs #' + activeTabId).addClass('active');
$('.popContTabs #' + activeTabId).addClass('active').show();
}
console.log('activeTabId3', activeTabId, $('#' + activeTabId).attr('class'))
console.log($('#' + activeTabId).attr('class'))
if (visibleGroupPop) {
var filteredData = text ?
originalData.map(function (item) {
var filteredList = item.list.filter(function (listItem) {
var actionName = listItem.action_name.toLowerCase();
return actionName.includes(text.toLowerCase());
});
return {
...item,
list: filteredList
};
}) :
originalData;
console.log('filteredData', filteredData)
updatePopoverData(filteredData);
} else {
$(this).val('');
updatePopoverData([...popoverData]);
}
});
function handleEveryClick(nowDiv) {
console.log('点击的每个对象的值', nowDiv)
callBackData=nowDiv
console.log('callBackData updated:', callBackData);
callInputThis.val(callBackData.action_name);
$('#chosentoufangModal').modal('hide');
}
function hoverFn() {
$('.innderEvery').hover(
function () {
$(this).addClass('hovered');
},
function () {
$(this).removeClass('hovered');
}
);
}
function updatePopoverData(newData) {
console.log('进来否')
popoverData = newData;
allmydata = [{
"action_group": "全部",
"list": newData
}];
$(document).trigger('popoverDataUpdated', [allmydata]);
}
$(document).on('popoverDataUpdated', function (event, updatedData) {
console.log('popoverDataUpdated', updatedData)
renderAllmydata(updatedData,popoverData);
});