Commit c58e05a5 by Kim Eunchul

#39714 andやor検索(ウェブ版error処理)

parent 3557e19b
......@@ -736,76 +736,81 @@ CONTENTVIEW.searchHandle = function() {
}
if ($('#txtSearch').val() != '') {
var dataStored = CONTENTVIEW_GENERAL.arrThumbnailsLoaded;
var contentPage = CONTENTVIEW_GENERAL.dataWebContentPage.pages;
var myRegExp = new RegExp($('#txtSearch').val());
var sPageNo = [];
var lstPageNo = [];
var isExistData = false;
//seperate string
var myRegexp = /[^\s"]+|"([^"]*)"/gi;
var myArray = [];
var myQuery = 'myRegExpArr[0].test(contentPage[nIndex].pageText)';
var myRegExpArr = [];
do {
var match = myRegexp.exec($('#txtSearch').val());
if (match != null)
{
myArray.push(match[1] ? match[1] : match[0]);
console.log(myArray);
}
} while (match != null);
myRegExpArr[0] = new RegExp(myArray[0]);
for (var i = 1; i < myArray.length; i++){
if(myArray[i] == "OR" || myArray[i] == "or"){
myRegExpArr[i] = new RegExp(myArray[i]);
}else if(myArray[i].charAt(0) == "(" || myArray[i] == "("){
if(myArray[i] == "("){
if(myArray[i - 1] == "OR" || myArray[i - 1] == "or"){
myQuery += ' || (';
try{
var dataStored = CONTENTVIEW_GENERAL.arrThumbnailsLoaded;
var contentPage = CONTENTVIEW_GENERAL.dataWebContentPage.pages;
var myRegExp = new RegExp($('#txtSearch').val());
var sPageNo = [];
var lstPageNo = [];
var isExistData = false;
//seperate string
var myRegexp = /[^\s"]+|"([^"]*)"/gi;
var myArray = [];
var myQuery = 'myRegExpArr[0].test(contentPage[nIndex].pageText)';
var myRegExpArr = [];
do {
var match = myRegexp.exec($('#txtSearch').val());
if (match != null)
{
myArray.push(match[1] ? match[1] : match[0]);
}
} while (match != null);
myRegExpArr[0] = new RegExp(myArray[0]);
for (var i = 1; i < myArray.length; i++){
if(myArray[i] == "OR" || myArray[i] == "or"){
myRegExpArr[i] = new RegExp(myArray[i]);
}else if(myArray[i].charAt(0) == "(" || myArray[i] == "("){
if(myArray[i] == "("){
if(myArray[i - 1] == "OR" || myArray[i - 1] == "or"){
myQuery += ' || (';
}else{
myQuery += ' && (';
}
}else{
myQuery += ' && (';
if(myArray[i - 1] == "OR" || myArray[i - 1] == "or"){
myRegExpArr[i] = new RegExp(myArray[i].slice(1));
myQuery += ' || ( myRegExpArr[' + i + '].test(contentPage[nIndex].pageText)';
}else{
myRegExpArr[i] = new RegExp(myArray[i].slice(1));
myQuery += ' && ( myRegExpArr[' + i + '].test(contentPage[nIndex].pageText)';
}
}
}else{
if(myArray[i - 1] == "OR" || myArray[i - 1] == "or"){
myRegExpArr[i] = new RegExp(myArray[i].slice(1));
myQuery += ' || ( myRegExpArr[' + i + '].test(contentPage[nIndex].pageText)';
}else if(myArray[i].charAt(myArray[i].length - 1) == ")" || myArray[i] == ")"){
if(myArray[i] == ")"){
myQuery += ' )';
}else{
myRegExpArr[i] = new RegExp(myArray[i].slice(1));
myQuery += ' && ( myRegExpArr[' + i + '].test(contentPage[nIndex].pageText)';
if(myArray[i - 1] == "OR" || myArray[i - 1] == "or"){
myRegExpArr[i] = new RegExp(myArray[i].slice(-1));
myQuery += ' || myRegExpArr[' + i + '].test(contentPage[nIndex].pageText) )';
}else{
myRegExpArr[i] = new RegExp(myArray[i].slice(0, -1));
myQuery += ' && myRegExpArr[' + i + '].test(contentPage[nIndex].pageText) )';
}
}
}
}else if(myArray[i].charAt(myArray[i].length - 1) == ")" || myArray[i] == ")"){
if(myArray[i] == ")"){
myQuery += ' )';
}else{
if(myArray[i - 1] == "OR" || myArray[i - 1] == "or"){
myRegExpArr[i] = new RegExp(myArray[i].slice(-1));
myQuery += ' || myRegExpArr[' + i + '].test(contentPage[nIndex].pageText) )';
myRegExpArr[i] = new RegExp(myArray[i]);
myQuery += ' || myRegExpArr[' + i + '].test(contentPage[nIndex].pageText)';
}else{
myRegExpArr[i] = new RegExp(myArray[i].slice(0, -1));
myQuery += ' && myRegExpArr[' + i + '].test(contentPage[nIndex].pageText) )';
myRegExpArr[i] = new RegExp(myArray[i]);
myQuery += ' && myRegExpArr[' + i + '].test(contentPage[nIndex].pageText)';
}
}
}else{
if(myArray[i - 1] == "OR" || myArray[i - 1] == "or"){
myRegExpArr[i] = new RegExp(myArray[i]);
myQuery += ' || myRegExpArr[' + i + '].test(contentPage[nIndex].pageText)';
}else{
myRegExpArr[i] = new RegExp(myArray[i]);
myQuery += ' && myRegExpArr[' + i + '].test(contentPage[nIndex].pageText)';
}
}
}
for (var nIndex = 0; nIndex < contentPage.length; nIndex++) {
if (eval(myQuery)) {
//searchResult.push(contentPage[nIndex]);
sPageNo.push(contentPage[nIndex]);
for (var nIndex = 0; nIndex < contentPage.length; nIndex++) {
if (eval(myQuery)) {
//searchResult.push(contentPage[nIndex]);
sPageNo.push(contentPage[nIndex]);
}
}
}catch(error){
alert('正しくない検索です');
return;
}
if (sPageNo.length > 0) {
......
//名前空間用のオブジェクトを用意する
var CONTENTVIEW_EVENTS = {};
CONTENTVIEW_EVENTS.click = true;
/* add memo click */
CONTENTVIEW_EVENTS.handleAddMemo = function(event) {
......@@ -255,12 +256,26 @@ CONTENTVIEW_EVENTS.closeCopyTextBox = function() {
$("#overlay").hide();
};
CONTENTVIEW_EVENTS.overClick = function() {
if (CONTENTVIEW_EVENTS.click) {
CONTENTVIEW_EVENTS.click = !CONTENTVIEW_EVENTS.click;
// prevent clicking for 2 sec
setTimeout(function () {
CONTENTVIEW_EVENTS.click = true;
}, 1000)
return false;
} else {
return true;
}
}
/*event click show dialog search*/
CONTENTVIEW_EVENTS.showListSearchResult = function() {
$('#txtSearch').keydown(function (e) {
if (e.keyCode == 13) {
if(CONTENTSEARCH.overClick()){
if(CONTENTVIEW_EVENTS.overClick()){
return;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment