(function () {
var targetScreeningWrapper = $('#protein-category');
var $effectScreeningWrapper = $('#target_by_effects');
var pageType = $(document).find('[data-page-type]').attr('data-page-type');
var tagSelectStr = getQueryString('tag');
var speciesSelectStr = getQueryString('species');
var sourceSelectStr = getQueryString('source');
var page = Number($(document).find('[data-products-page-number]').attr('data-products-page-number') || 1);
var targetPage = Number(1);
var targetProteinPage = Number(1);
var categoryName = $(document).find('[data-category-name]').attr('data-category-name');
var categoryaAlias = $(document).find('[data-category-alias]').attr('data-category-alias') || '';
var targetName = $(document).find('[data-target-name]').attr('data-target-name');
var isoformsName = $(document).find('[data-isoforms-name]').attr('data-isoforms-name');
var proteinCategorySelectArr = [];
var targetSelectArr = [];
var tagSelectArr = tagSelectStr !== '' ? tagSelectStr.split(',') : [];
var speciesSelectArr = speciesSelectStr !== '' ? speciesSelectStr.split(',') : [];
var sourceSelectArr = sourceSelectStr !== '' ? sourceSelectStr.split(',') : [];
var effectSelectArr = [];
var getCurrentDate = function getCurrentDate() {
var date = new Date(),
year = date.getFullYear(),
month = date.getMonth() + 1,
strDate = date.getDate();
if (month >= 1 && month <= 9) month = '0' + month;
if (strDate >= 0 && strDate <= 9) strDate = '0' + strDate;
var currentDate = "".concat(year).concat(month).concat(strDate);
return currentDate + '';
};
var date = getCurrentDate(); // 0 select; 1 page
var clickType = 0;
var clickSignSwitch = function clickSignSwitch() {
// clear all
targetScreeningWrapper.find('>p').on('click', function (e) {
e.stopPropagation();
clickType = 0;
var thisSignSwitch = $(this).next().find('li>span');
proteinCategorySelectArr = [];
targetSelectArr = [];
tagSelectArr = [];
speciesSelectArr = [];
sourceSelectArr = [];
thisSignSwitch.removeClass('on');
if (pageType === 'target') {
targetProteinPage = 1;
getTargetProteinProducts(0);
}
if (pageType === 'isoform') {
targetProteinPage = 1;
getTargetIsoformsProteinProducts(0);
} else {
page = 1;
getProductsByTypeNames(0);
}
});
targetScreeningWrapper.find('label').on('click', function (e) {
e.stopPropagation();
clickType = 0;
var thisSignImg = $(this).find('img').attr('src');
var flag = thisSignImg.endsWith('yes1.gif') ? 1 : 0;
var categoryType = $(this).attr('data-category-type'); // console.log(categoryType + "-" + $(this).attr('data-category-url'));
var categoryName = $(this).attr('data-category-url');
if (flag === 0) {
$(this).find('img').attr('src', '/new/images/web/yes1.gif');
if (categoryType === 'category') {
proteinCategorySelectArr.push(categoryName);
} else if (categoryType === 'Tag') {
tagSelectArr.push(categoryName);
} else if (categoryType === 'Species') {
speciesSelectArr.push(categoryName);
} else {
sourceSelectArr.push(categoryName);
}
} else {
$(this).find('img').attr('src', '/new/images/web/non.gif');
if (categoryType === 'category') {
proteinCategorySelectArr.splice($.inArray(categoryName, proteinCategorySelectArr), 1);
} else if (categoryType === 'Tag') {
tagSelectArr.splice($.inArray(categoryName, tagSelectArr), 1);
} else if (categoryType === 'Species') {
speciesSelectArr.splice($.inArray(categoryName, speciesSelectArr), 1);
} else {
sourceSelectArr.splice($.inArray(categoryName, sourceSelectArr), 1);
}
}
if (pageType === 'target') {
targetProteinPage = 1;
getTargetProteinProducts(0);
}
if (pageType === 'isoform') {
targetProteinPage = 1;
getTargetIsoformsProteinProducts(0);
} else {
page = 1;
getProductsByTypeNames(0);
}
});
};
var clickSignSwitchTarget = function clickSignSwitchTarget() {
$effectScreeningWrapper.find('label').on('click', function (e) {
e.stopPropagation();
clickType = 0;
var thisSignImg = $(this).find('img').attr('src');
var flag = thisSignImg.endsWith('yes1.gif') ? 1 : 0;
var categoryType = $(this).attr('data-category-type');
var categoryName = $(this).attr('data-category-url'); // console.log(categoryType + "-" + $(this).attr('data-category-url'));
if (flag === 0) {
$(this).find('img').attr('src', '/new/images/web/yes1.gif');
if (categoryType === 'Target') {
targetSelectArr = [];
targetSelectArr.push(categoryName);
} else {
effectSelectArr = [];
effectSelectArr.push(categoryName);
}
} else {
$(this).find('img').attr('src', '/new/images/web/non.gif');
if (categoryType === 'Target') {
targetSelectArr.splice($.inArray(categoryName, proteinCategorySelectArr), 1);
} else {
effectSelectArr.splice($.inArray(categoryName, effectSelectArr), 1);
}
}
targetPage = 1;
getTargetProducts(0);
});
};
var clickSignSwitchMap = function clickSignSwitchMap() {
$('#target_pathway_map').find('label').on('click', function (e) {
e.stopPropagation();
var thisSignImg = $(this).find('img').attr('src');
var flag = thisSignImg.endsWith('rdo_yes.png') ? 1 : 0;
var id = $(this).attr('data-category-url'); // console.log(categoryType + "-" + $(this).attr('data-category-url'));
if (flag === 0) {
$('#target_pathway_map').find('img').attr('src', '/new/images/web/rdo_no.png');
$('.pathwayMap-list').hide();
$(this).find('img').attr('src', '/new/images/web/rdo_yes.png');
$('#' + id).show();
}
});
};
clickSignSwitch();
clickSignSwitchTarget();
clickSignSwitchMap();
var prevPage = function prevPage(obj) {
clickType = 0;
var type = $(obj).parent().parent().parent().hasClass('pageTop') ? 0 : 1;
if ($(obj).parent().parent().attr("data-page-type") === 'target') {
targetPage -= 1;
getTargetProducts(type);
} else if ($(obj).parent().parent().attr("data-page-type") === 'isoform') {
targetProteinPage -= 1;
getTargetIsoformsProteinProducts(type);
} else if ($(obj).parent().parent().attr("data-page-type") === 'proteins') {
clickType = 1;
page -= 1;
getProductsByTypeNames(type);
} else {
targetProteinPage -= 1;
getTargetProteinProducts(type);
}
};
var nextPage = function nextPage(obj) {
clickType = 0;
var type = $(obj).parent().parent().parent().hasClass('pageTop') ? 0 : 1;
if ($(obj).parent().parent().attr("data-page-type") === 'target') {
targetPage += 1;
getTargetProducts(type);
} else if ($(obj).parent().parent().attr("data-page-type") === 'isoform') {
targetProteinPage += 1;
getTargetIsoformsProteinProducts(type);
} else if ($(obj).parent().parent().attr("data-page-type") === 'proteins') {
clickType = 1;
page += 1;
getProductsByTypeNames(type);
} else {
targetProteinPage += 1;
getTargetProteinProducts(type);
}
};
var goPage = function goPage(obj, pageNum) {
clickType = 0;
var type = $(obj).parent().parent().parent().hasClass('pageTop') ? 0 : 1;
if ($(obj).parent().parent().attr("data-page-type") === 'target') {
targetPage = pageNum;
getTargetProducts(type);
} else if ($(obj).parent().parent().attr("data-page-type") === 'isoform') {
targetProteinPage = pageNum;
getTargetIsoformsProteinProducts(type);
} else if ($(obj).parent().parent().attr("data-page-type") === 'proteins') {
clickType = 1;
page = pageNum;
getProductsByTypeNames(type);
} else {
targetProteinPage = pageNum;
getTargetProteinProducts(type);
}
};
window.prevPage = prevPage;
window.nextPage = nextPage;
window.goPage = goPage;
var changeUrl = function changeUrl(pageNumber, type) {
var curWwwPath = window.location.href;
var pathName = window.location.pathname;
var pos = curWwwPath.indexOf(pathName);
var localhostPath = curWwwPath.substring(0, pos); // console.log(tagSelectArr.toString());
// console.log(speciesSelectArr.toString());
// console.log(sourceSelectArr.toString());
// console.log('clickType:' + clickType);
var queryString = (tagSelectArr.length > 0 ? '?tag=' + tagSelectArr.toString() : '') + (tagSelectArr.length > 0 && speciesSelectArr.length > 0 ? '&' : speciesSelectArr.length > 0 ? '?' : '') + (speciesSelectArr.length > 0 ? 'species=' + speciesSelectArr.toString() : '') + ((tagSelectArr.length > 0 || speciesSelectArr.length > 0) && sourceSelectArr.length > 0 ? '&' : sourceSelectArr.length > 0 ? '?' : '') + (sourceSelectArr.length > 0 ? 'source=' + sourceSelectArr.toString() : '');
if (queryString) {
queryString = queryString + (clickType ? '&page=' + pageNumber : '');
} else {
queryString = clickType ? '?page=' + pageNumber : '';
}
var newUrl = localhostPath + pathName + queryString;
history.replaceState({}, '', newUrl);
};
var getProductsHtml = function getProductsHtml(products) {
var listHtml = '';
$.each(products, function (i, item) {
listHtml += '
' + '' + '- ' + item.catalogNo + '
' + '- ' + '
' + '' + '' + '' + item.name + '' + (typeof item.synonyms !== 'undefined' && item.synonyms !== '' || typeof item.chineseName !== 'undefined' && item.chineseName !== '' ? (typeof item.chineseName !== 'undefined' && item.chineseName !== '' ? ' ' + item.chineseName + ' ' : '') + '' + (typeof item.synonyms !== 'undefined' && item.synonyms !== '' ? categoryaAlias !== '' ? item.synonyms.replace(categoryaAlias, '' + categoryaAlias + '') : item.synonyms : '') + ' ' : '') + ' | ' + '' + (typeof item.species !== 'undefined' ? item.species : '') + ' | ' + '' + (typeof item.source !== 'undefined' ? item.source : '') + ' | ' + '
' + (typeof item.chineseDescription !== 'undefined' && item.chineseDescription !== '' ? '' + '' + (typeof item.chineseDescription !== 'undefined' ? item.chineseDescription : '') + ' | ' + '
' : '') + '
' + ' ' + '
' + '';
});
return listHtml;
};
var getProteinsTypeHtml = function getProteinsTypeHtml(categories, tags, species, sources) {
var typesHtml = '';
if (categories.length > 0 || tags.length > 0 || species.length > 0 || sources.length > 0) {
typesHtml += '';
}
if (categories.length > 0) {
typesHtml += '分类: | ';
var selCategory = ';' + proteinCategorySelectArr.join(';') + ';';
$.each(categories, function (i, item) {
//(categories.length === 1 ? 'style="pointer-events: none;"' : '')
typesHtml += '';
});
typesHtml += ' |
';
}
if (species.length > 0) {
typesHtml += '种属: | ';
var selSpecies = ',' + speciesSelectArr.join() + ',';
$.each(species, function (i, item) {
typesHtml += '';
});
typesHtml += ' |
';
}
if (tags.length > 0) {
typesHtml += '标签: | ';
var selTags = ',' + tagSelectArr.join() + ',';
$.each(tags, function (i, item) {
typesHtml += '';
});
typesHtml += ' |
';
}
if (sources.length > 0) {
typesHtml += '表达系统: | ';
var selSource = ',' + sourceSelectArr.join() + ',';
$.each(sources, function (i, item) {
typesHtml += '';
});
typesHtml += ' |
';
}
if (categories.length > 0 || tags.length > 0 || species.length > 0 || sources.length > 0) {
typesHtml += '
';
}
return typesHtml;
};
var $products = $('#protein-products>.sub_ctg_list_con');
var $page = $(document).find('[data-products-page]');
var $noResults = $('.no-results');
var getProductsByTypeNames = function getProductsByTypeNames(type) {
$('.loading-gif').show(); // console.log(JSON.stringify({'categoryName': categoryName, 'tag': tagSelectArr.join(), 'species': speciesSelectArr.join(), 'source': sourceSelectArr.join(), 'page': page}));
// $.postJSON('/mce_cellCytokines!proteinCategoryProducts.shtml', {'categoryName': categoryName, 'tag': tagSelectArr.join(), 'species': speciesSelectArr.join(), 'source': sourceSelectArr.join(), 'page': page}, "json", true, {
$.ajax({
url: '/mce_cellCytokines!proteinCategoryProducts.shtml?mcenow=' + new Date().getTime(),
data: {
'categoryName': categoryName,
'tag': tagSelectArr.join(),
'species': speciesSelectArr.join(),
'source': sourceSelectArr.join(),
'page': page
},
cache: false,
dataType: 'json',
type: "post",
success: function success(data) {
if (data.success) {
var products = data.products;
var listHtml = getProductsHtml(products);
$products.html(listHtml);
if (listHtml === '') {
noResultShow();
} else {
noResultHide();
}
$(document).find('[data-products-number]').html(data.productsNumber);
var categories = [];
var tags = data.tagList;
var species = data.speciesList;
var sources = data.sourceList;
targetScreeningWrapper.html(getProteinsTypeHtml(categories, tags, species, sources));
$(document).find('[data-effect-products-number]').html(data.productsNumber);
clickSignSwitch();
} else {
noResultShow();
$(document).find('[data-products-number]').html(0);
}
getPages($page, page, data.pageTotal);
},
error: function error(request) {
noResultShow();
$(document).find('[data-products-number]').html(0);
$page.html('');
},
complete: function complete(XMLHttpRequest, textStatus) {
changeUrl(page, type);
if (type) {
positioning($('.sub_ctg_h2'));
}
$('.loading-gif').hide();
}
});
};
var getTargetProductsHtml = function getTargetProductsHtml(products) {
var listHtml = '';
$.each(products, function (i, item) {
var effectName = '';
if (typeof item.effects !== 'undefined' && item.effects !== '') {
$.each(item.effects, function (i, effect) {
effectName += effect.name + (item.effects.length > 1 && i != item.effects.length - 1 ? '; ' : '');
});
}
listHtml += '' + '- ' + item.catalogNo + '
' + '- ' + '
' + '' + '' + item.productName + '' + (item.isNewProduct ? '' : '') + (item.productNameCn != '' ? ' ' + item.productNameCn + ' ' : '') + ' | ' + '' + (effectName !== '' ? targetName + ' ' + effectName : '') + ' | ' + '' + item.purity + ' | ' + '
' + '' + '' + item.information + ' | ' + '
' + '
' + ' ' + '
';
});
return listHtml;
};
var getTargetEffectsHtml = function getTargetEffectsHtml(targets, effects) {
var typesHtml = '';
if (targets.length > 0 || effects.length > 0) {
typesHtml += '';
}
if (targets.length > 0) {
typesHtml += 'By Targets: | ';
var selTargets = ';' + targetSelectArr.join(';') + ';';
$.each(targets, function (i, item) {
typesHtml += '';
});
typesHtml += ' |
';
}
if (effects.length > 0) {
typesHtml += 'By Effects: | ';
var selEffects = ',' + effectSelectArr.join() + ',';
$.each(effects, function (i, item) {
typesHtml += '';
});
typesHtml += ' |
';
}
if (targets.length > 0 || effects.length > 0) {
typesHtml += '
';
}
return typesHtml;
};
var $targetProducts = $('#target-products>.sub_ctg_list_con');
var $targetPage = $(document).find('[data-target-products-page]');
var getTargetProducts = function getTargetProducts(type) {
$('.loading-gif').show();
$.ajax({
url: '/mce_category!targetProductsByProteinCategory.shtml?mcenow=' + new Date().getTime(),
data: {
'proteinCategoryName': categoryName,
'categoryNames': targetSelectArr.join(';'),
'effectName': effectSelectArr.join(),
'page': targetPage
},
cache: false,
dataType: 'json',
type: "post",
success: function success(data) {
if (data.success) {
var products = data.products;
var listHtml = getTargetProductsHtml(products);
$targetProducts.html(listHtml);
if (listHtml === '') {
noResultShow();
} else {
noResultHide();
}
var targets = data.targets;
var effects = data.effects;
$effectScreeningWrapper.html(getTargetEffectsHtml(targets, effects));
$(document).find('[data-target-products-number]').html(data.productsNumber);
clickSignSwitchTarget();
} else {
noResultShow();
$(document).find('[data-target-products-number]').html(0);
}
getPages($targetPage, targetPage, data.pageTotal);
},
error: function error(request) {
noResultShow();
$(document).find('[data-target-products-number]').html(0);
$targetPage.html('');
},
complete: function complete(XMLHttpRequest, textStatus) {
if (type) {
positioning($('.tab-con-1'));
}
$('.loading-gif').hide();
}
});
};
$('#target-category_tit').on('click', function () {
getTargetProducts(0);
});
var $targetProteinProducts = $('#target-protein-products>.sub_ctg_list_con');
var $targetProteinPage = $(document).find('[data-target-protein-products-page]');
var getTargetProteinProducts = function getTargetProteinProducts(type) {
$('.loading-gif').show();
$.ajax({
url: '/mce_category!targetProteinProducts.shtml?mcenow=' + new Date().getTime(),
data: {
'categoryName': targetName,
'proteinCategoryIds': proteinCategorySelectArr.join(';'),
'tag': tagSelectArr.join(),
'species': speciesSelectArr.join(),
'source': sourceSelectArr.join(),
'page': targetProteinPage
},
cache: false,
dataType: 'json',
type: "post",
success: function success(data) {
if (data.success) {
var products = data.products;
var listHtml = getProductsHtml(products);
$targetProteinProducts.html(listHtml);
if (listHtml === '') {
noResultShow();
} else {
noResultHide();
}
var categories = data.proteinCategories;
var tags = data.tagList;
var species = data.speciesList;
var sources = data.sourceList;
targetScreeningWrapper.html(getProteinsTypeHtml(categories, tags, species, sources));
$(document).find('[data-target-protein-products-number]').html(data.productsNumber);
clickSignSwitch();
} else {
noResultShow();
$(document).find('[data-target-protein-products-number]').html(0);
}
getPages($targetProteinPage, targetProteinPage, data.pageTotal);
},
error: function error(request) {
noResultShow();
$(document).find('[data-target-protein-products-number]').html(0);
$targetProteinPage.html('');
},
complete: function complete(XMLHttpRequest, textStatus) {
if (type) {
positioning($('.tab-con-1'));
}
$('.loading-gif').hide();
}
});
};
$('#target-protein_tit').on('click', function () {
getTargetProteinProducts(0);
});
var getTargetIsoformsProteinProducts = function getTargetIsoformsProteinProducts(type) {
$('.loading-gif').show();
$.ajax({
url: '/mce_category!isoformProteinProducts.shtml?mcenow=' + new Date().getTime(),
data: {
'categoryName': targetName,
'isoformsName': isoformsName,
'proteinCategoryIds': proteinCategorySelectArr.join(';'),
'tag': tagSelectArr.join(),
'species': speciesSelectArr.join(),
'source': sourceSelectArr.join(),
'page': targetProteinPage
},
cache: false,
dataType: 'json',
type: "post",
success: function success(data) {
if (data.success) {
var products = data.products;
var listHtml = getProductsHtml(products);
$targetProteinProducts.html(listHtml);
if (listHtml === '') {
noResultShow();
} else {
noResultHide();
}
var categories = data.proteinCategories;
var tags = data.tagList;
var species = data.speciesList;
var sources = data.sourceList;
targetScreeningWrapper.html(getProteinsTypeHtml(categories, tags, species, sources));
$(document).find('[data-target-protein-products-number]').html(data.productsNumber);
clickSignSwitch();
} else {
noResultShow();
$(document).find('[data-target-protein-products-number]').html(0);
}
getPages($targetProteinPage, targetProteinPage, data.pageTotal);
},
error: function error(request) {
noResultShow();
$(document).find('[data-target-protein-products-number]').html(0);
$targetProteinPage.html('');
},
complete: function complete(XMLHttpRequest, textStatus) {
if (type) {
positioning($('.tab-con-1'));
}
$('.loading-gif').hide();
}
});
};
$('#target-isoform-protein_tit').on('click', function () {
getTargetIsoformsProteinProducts(0);
});
var noResultHide = function noResultHide() {
$('#target-protein-products').show();
$('#target-products').show();
$('.loading-gif').hide(); // $noResults.hide();
};
var noResultShow = function noResultShow() {
$('#target-protein-products').hide();
$('#target-products').hide();
$('.loading-gif').hide(); // $noResults.show();
};
})();