Commit e783181f by NGUYEN HOANG SON

fix space of operationList js

parent 6e811ad3
......@@ -11,600 +11,600 @@
OL.operationGroupMaster; //category(operationGroupMaster) json data
OL.isOperationGroupMaster = 0; //0: category(operationGroupMaster) not exist 1: category(operationGroupMaster) exist
OL.sortIndex;
OL.operationGroupMasterId;
OL.REPORT_TYPE = {
REPORTONLY: 0, //report only
INSPECT: 1, //rountine
WITHREPLY: 2, // report answer
WORKFLOW: 3 // continuous
}
/**
* process on page load.
* 1.get all data.
* 2.show operationList.
* 3.show category(operationGroupMaster).
*/
OL.init = function () {
console.log('OperationList start');
TEMPLATE.loadHearder("#includedHeader");
TEMPLATE.loadMainNavsTitle('#includedMainTitle', 'workList', null, null);
TEMPLATE.loadConfirmModal("#includedConfirmModal");
TEMPLATE.loadCategoryModal("#includedCategoryModal");
//get all data of operation list scene
OL.getAllDataWeb(sessionStorage.OL_searchKeyWord, sessionStorage.OL_sortIndex, sessionStorage.OL_searchStartDate, sessionStorage.OL_searchEndDate, sessionStorage.OL_operationGroupMasterId);
//show operation list
OL.createOperationList(OL.operationList);
//show category(operationGroupMaster)
OL.createCategory();
};
/**
* get operation list all data
* 1.operation list
* 2.category(operationGroupMaster) list
*
* @param {String} searchKeyword
* @param {Number} sortIndex
* @param {String} searchStartDate
* @param {String} searchEndDate
* @param {Number} operationGroupMasterId
*/
OL.getAllDataWeb = function (searchKeyWord, sortIndex, searchStartDate, searchEndDate, operationGroupMasterId) {
let param = {};
param.sid = COMMON.getSid();
if (typeof searchKeyWord !== 'undefined') {
param.operationName = searchKeyWord;
}
if (typeof sortIndex !== 'undefined') {
param.sort = sortIndex;
}
if (typeof searchStartDate !== 'undefined') {
param.startDate = searchStartDate;
}
if (typeof searchEndDate !== 'undefined') {
param.endDate = searchEndDate;
}
if (typeof operationGroupMasterId !== 'undefined') {
param.operationGroupMasterId = operationGroupMasterId;
}
const url = CONSTANT.URL.CMS.BASE + ClientData.userInfo_accountPath() + CONSTANT.URL.CMS.API.BASE + CONSTANT.URL.CMS.API.ALL_OPERATION_LIST;
COMMON.cmsAjax(url, param, false, function (json) {
OL.saveSearchKeyWord(searchKeyWord, sortIndex, searchStartDate, searchEndDate, operationGroupMasterId);
OL.setSearchInfoWeb();
OL.operationList = json.operationList;
OL.operationGroupMaster = json.operationGroupMasterList;
OL.isOperationGroupMaster = json.isOperationGroupMaster;
});
};
/**
* Transfer search criteria to session.
* Keep value after page move.
*
* @param {String} searchKeyword
* @param {String} sortIndex
* @param {String} searchStartDate
* @param {String} searchEndDate
* @param {String} operationGroupMasterId
*/
OL.saveSearchKeyWord = function (searchKeyword, sortIndex, searchStartDate, searchEndDate, operationGroupMasterId) {
if (typeof searchKeyword !== 'undefined') {
sessionStorage.OL_searchKeyWord = searchKeyword;
}
if (typeof sortIndex !== 'undefined') {
sessionStorage.OL_sortIndex = sortIndex;
}
if (typeof searchStartDate !== 'undefined') {
sessionStorage.OL_searchStartDate = searchStartDate;
}
if (typeof searchEndDate !== 'undefined') {
sessionStorage.OL_searchEndDate = searchEndDate;
}
if (typeof operationGroupMasterId !== 'undefined') {
sessionStorage.OL_operationGroupMasterId = operationGroupMasterId;
}
};
/**
* set search criteria when Initial display.
*/
OL.setSearchInfoWeb = function () {
if (sessionStorage.OL_sortIndex) {
OL.sortIndex = sessionStorage.OL_sortIndex;
}
if (sessionStorage.OL_searchKeyWord) {
$('#searchTaskName').val(sessionStorage.OL_searchKeyWord);
}
if (sessionStorage.OL_searchStartDate) {
$('#searchStartDate').val(sessionStorage.OL_searchStartDate);
}
if (sessionStorage.OL_searchEndDate) {
$('#searchEndDate').val(sessionStorage.OL_searchEndDate);
}
if (sessionStorage.OL_operationGroupMasterId) {
OL.operationGroupMasterId = sessionStorage.OL_operationGroupMasterId;
}
};
/**
* create operation list
*/
OL.createOperationList = function (operationList) {
//Initialization
OL.initActiveSortIndex();
$('#operationTable').empty();
$('#operationCount').text(0);
if (!operationList) {
return;
}
$('#operationCount').text(operationList.length);
//create & show
for (let i = 0; i < operationList.length; i++) {
let classIcon ;
switch (operationList[i].reportType)
{
case OL.REPORT_TYPE.REPORTONLY:
classIcon = "report";
break;
case OL.REPORT_TYPE.INSPECT:
classIcon = "inspection";
break;
case OL.REPORT_TYPE.WITHREPLY:
classIcon = "questionary";
break;
case OL.REPORT_TYPE.WORKFLOW:
classIcon = "proccess";
break;
}
let messageli = $("<li class='card mb-2' name = 'operationId_" + operationList[i].operationId + "' ></li>");
let ahrefRequiredFlg = $("<a href=\"javascript:OL.sendOperation('"
+ operationList[i].operationId
+ "', '"
+ operationList[i].operationType
+ "', '"
+ operationList[i].reportType
+ "', '"
+ operationList[i].enableAddReport
+ "');\" class='h-100 d-block px-3 py-2 text-decoration-none text-dark position-relative'></a>");
let divIcon = $("<div class='position-absolute translate-middle top-50 left-0 ml-3'>"
+ "<div class='type-icon'>"
+ "<span class='" + classIcon + "'></span>"
+ "</div></div>")
OL.sortIndex;
OL.operationGroupMasterId;
OL.REPORT_TYPE = {
REPORTONLY: 0, //report only
INSPECT: 1, //rountine
WITHREPLY: 2, // report answer
WORKFLOW: 3 // continuous
}
/**
* process on page load.
* 1.get all data.
* 2.show operationList.
* 3.show category(operationGroupMaster).
*/
OL.init = function () {
console.log('OperationList start');
TEMPLATE.loadHearder("#includedHeader");
TEMPLATE.loadMainNavsTitle('#includedMainTitle', 'workList', null, null);
TEMPLATE.loadConfirmModal("#includedConfirmModal");
TEMPLATE.loadCategoryModal("#includedCategoryModal");
//get all data of operation list scene
OL.getAllDataWeb(sessionStorage.OL_searchKeyWord, sessionStorage.OL_sortIndex, sessionStorage.OL_searchStartDate, sessionStorage.OL_searchEndDate, sessionStorage.OL_operationGroupMasterId);
//show operation list
OL.createOperationList(OL.operationList);
//show category(operationGroupMaster)
OL.createCategory();
};
/**
* get operation list all data
* 1.operation list
* 2.category(operationGroupMaster) list
*
* @param {String} searchKeyword
* @param {Number} sortIndex
* @param {String} searchStartDate
* @param {String} searchEndDate
* @param {Number} operationGroupMasterId
*/
OL.getAllDataWeb = function (searchKeyWord, sortIndex, searchStartDate, searchEndDate, operationGroupMasterId) {
let param = {};
param.sid = COMMON.getSid();
if (typeof searchKeyWord !== 'undefined') {
param.operationName = searchKeyWord;
}
if (typeof sortIndex !== 'undefined') {
param.sort = sortIndex;
}
if (typeof searchStartDate !== 'undefined') {
param.startDate = searchStartDate;
}
if (typeof searchEndDate !== 'undefined') {
param.endDate = searchEndDate;
}
if (typeof operationGroupMasterId !== 'undefined') {
param.operationGroupMasterId = operationGroupMasterId;
}
const url = CONSTANT.URL.CMS.BASE + ClientData.userInfo_accountPath() + CONSTANT.URL.CMS.API.BASE + CONSTANT.URL.CMS.API.ALL_OPERATION_LIST;
COMMON.cmsAjax(url, param, false, function (json) {
OL.saveSearchKeyWord(searchKeyWord, sortIndex, searchStartDate, searchEndDate, operationGroupMasterId);
OL.setSearchInfoWeb();
OL.operationList = json.operationList;
OL.operationGroupMaster = json.operationGroupMasterList;
OL.isOperationGroupMaster = json.isOperationGroupMaster;
});
};
/**
* Transfer search criteria to session.
* Keep value after page move.
*
* @param {String} searchKeyword
* @param {String} sortIndex
* @param {String} searchStartDate
* @param {String} searchEndDate
* @param {String} operationGroupMasterId
*/
OL.saveSearchKeyWord = function (searchKeyword, sortIndex, searchStartDate, searchEndDate, operationGroupMasterId) {
if (typeof searchKeyword !== 'undefined') {
sessionStorage.OL_searchKeyWord = searchKeyword;
}
if (typeof sortIndex !== 'undefined') {
sessionStorage.OL_sortIndex = sortIndex;
}
if (typeof searchStartDate !== 'undefined') {
sessionStorage.OL_searchStartDate = searchStartDate;
}
if (typeof searchEndDate !== 'undefined') {
sessionStorage.OL_searchEndDate = searchEndDate;
}
if (typeof operationGroupMasterId !== 'undefined') {
sessionStorage.OL_operationGroupMasterId = operationGroupMasterId;
}
};
/**
* set search criteria when Initial display.
*/
OL.setSearchInfoWeb = function () {
if (sessionStorage.OL_sortIndex) {
OL.sortIndex = sessionStorage.OL_sortIndex;
}
if (sessionStorage.OL_searchKeyWord) {
$('#searchTaskName').val(sessionStorage.OL_searchKeyWord);
}
if (sessionStorage.OL_searchStartDate) {
$('#searchStartDate').val(sessionStorage.OL_searchStartDate);
}
if (sessionStorage.OL_searchEndDate) {
$('#searchEndDate').val(sessionStorage.OL_searchEndDate);
}
if (sessionStorage.OL_operationGroupMasterId) {
OL.operationGroupMasterId = sessionStorage.OL_operationGroupMasterId;
}
};
/**
* create operation list
*/
OL.createOperationList = function (operationList) {
//Initialization
OL.initActiveSortIndex();
$('#operationTable').empty();
$('#operationCount').text(0);
if (!operationList) {
return;
}
$('#operationCount').text(operationList.length);
//create & show
for (let i = 0; i < operationList.length; i++) {
let classIcon ;
switch (operationList[i].reportType)
{
case OL.REPORT_TYPE.REPORTONLY:
classIcon = "report";
break;
case OL.REPORT_TYPE.INSPECT:
classIcon = "inspection";
break;
case OL.REPORT_TYPE.WITHREPLY:
classIcon = "questionary";
break;
case OL.REPORT_TYPE.WORKFLOW:
classIcon = "proccess";
break;
}
let messageli = $("<li class='card mb-2' name = 'operationId_" + operationList[i].operationId + "' ></li>");
let ahrefRequiredFlg = $("<a href=\"javascript:OL.sendOperation('"
+ operationList[i].operationId
+ "', '"
+ operationList[i].operationType
+ "', '"
+ operationList[i].reportType
+ "', '"
+ operationList[i].enableAddReport
+ "');\" class='h-100 d-block px-3 py-2 text-decoration-none text-dark position-relative'></a>");
let divIcon = $("<div class='position-absolute translate-middle top-50 left-0 ml-3'>"
+ "<div class='type-icon'>"
+ "<span class='" + classIcon + "'></span>"
+ "</div></div>")
let divDate = "<div class='fs-8 text-secondary text-truncate'>"
+ OL.setOperationDate(operationList[i].operationStartDate)
+ ' ~ '
+ OL.setOperationDate(operationList[i].operationEndDate)
+ "</div>";
let divText = $("<div class='pl-5 h-100 d-flex align-items-center'>"
+ "<div class='w-100'>"
+ "<div class='fs-12 text-truncate'>" + operationList[i].operationName + "</div>"
+ divDate
+ "</div></div>");
ahrefRequiredFlg.append(divIcon);
ahrefRequiredFlg.append(divText);
messageli.append(ahrefRequiredFlg);
$('#operationTable').append(messageli);
}
};
/**
* add color to any sorting type when sortIndex exsist
*
* @param {Number} sortIndex
*/
OL.initActiveSortIndex = function (sortIndex) {
if (!sortIndex && !OL.sortIndex) {
OL.sortIndex = CONSTANT.SORT_TYPE.START_DATE_DESC;
}
$('.sort-type').each(function () {
const sortType = $(this).data('sort');
if (sortType == OL.sortIndex) {
$('.sort-type').removeClass('active');
$(this).addClass('active');
}
});
};
/**
* set date for OperationList
*
* @param {String} date
* @returns operationDate
*/
OL.setOperationDate = function (date) {
const operationDate = date.replace(/-/g, '/').substring(0, 10);
return operationDate;
};
/**
* create category(operationGroupMaster).
*/
OL.createCategory = function () {
if (!OL.isOperationGroupMaster) {
return;
}
OL.initCategory();
OL.createBreadcrumbList();
OL.createCategoryList();
OL.acdMenu();
};
/**
* Initial processing of category(operationGroupMaster).
*/
OL.initCategory = function () {
if (!OL.isOperationGroupMaster) {
return;
}
$('#operationGroupMasterButton').removeClass('d-none');
OL.setCategoryHeight();
$(window).resize(function () {
OL.setCategoryHeight();
});
};
/**
* change height category(operationGroupMaster)
*/
OL.setCategoryHeight = function () {
const CATEGORY_HEIGHT = $('footer').offset().top - $('#category-menu').offset().top;
$('#category-menu').css('overflow', 'scroll');
$('#category-menu').height(CATEGORY_HEIGHT);
$('#overlayDiv').height(CATEGORY_HEIGHT);
};
/**
* create Breadcrumb List
*/
OL.createBreadcrumbList = function () {
if (!OL.isOperationGroupMaster) {
return;
}
$('#groupMasterPath').empty();
if (typeof OL.operationGroupMasterId === 'undefined' || OL.operationGroupMasterId == 0) {
$('#groupMasterPath').append('<li class="breadcrumb-item"><a href="#" class="text-decoration-none text-dark">' + COMMON.getMsg('all') + '</a></li>');
} else {
let treeList = [];
OL.createBreadcrumbTree(treeList, OL.operationGroupMasterId);
treeList.forEach(function (operationGroupMaster) {
$('#groupMasterPath').append(
'<li class="breadcrumb-item"><a onclick="OL.changeOperationGroupMaster(' +
operationGroupMaster.operationGroupMasterId +
');" class="text-decoration-none text-dark">' +
operationGroupMaster.operationGroupMasterName +
'</a></li>',
);
});
}
};
/**
* create Breadcrumb tree List
*
* @param {list} treeList
* @param {string} operationGroupMasterId
* @returns
*/
OL.createBreadcrumbTree = function (treeList, operationGroupMasterId) {
if (operationGroupMasterId == 0) {
return treeList;
}
const groupMaster = OL.operationGroupMaster.filter(it => it.operationGroupMasterId == operationGroupMasterId)[0];
OL.createBreadcrumbTree(treeList, groupMaster.parentOperationGroupMasterId);
treeList.push(groupMaster);
return treeList;
};
/**
* create category(operationGroupMaster) structure
*/
OL.createCategoryList = function () {
if (!OL.isOperationGroupMaster) {
return;
}
//Create a side menu category structure
$('.group-category-list').remove();
OL.operationGroupMaster.sort(function (a, b) {
if (a.operationGroupMasterLevel < b.operationGroupMasterLevel) return -1;
if (a.operationGroupMasterLevel > b.operationGroupMasterLevel) return 1;
return 1;
});
//common
const noCategory = $("<dl id='groupMasterId_0' class='group-category-list'><dt><a onclick='OL.changeOperationGroupMaster(0);'>" + COMMON.getMsg('all') + '</a></dt></dl>');
$('#category-menu').append(noCategory);
//create category(operationGroupMaster) structure
for (let i = 0; i < OL.operationGroupMaster.length; i++) {
if (OL.operationGroupMaster[i].operationGroupMasterLevel == 0) {
const categoryParent = $(
'<dl id=groupMasterId_' +
OL.operationGroupMaster[i].operationGroupMasterId +
" class='group-category-list' style='overflow-x:auto;'><dt class='menu-ttl'><a onclick='OL.changeOperationGroupMaster(" +
OL.operationGroupMaster[i].operationGroupMasterId +
");'>" +
OL.operationGroupMaster[i].operationGroupMasterName +
'</a></dt></dl>',
);
$('#category-menu').append(categoryParent);
} else {
if ($('#groupMasterId_' + OL.operationGroupMaster[i].parentOperationGroupMasterId + '>ul').length > 0) {
const categoryChild = $(
"<li id='groupMasterId_" +
OL.operationGroupMaster[i].operationGroupMasterId +
"' class=''><p class='category-li group-level-" +
OL.operationGroupMaster[i].operationGroupMasterLevel +
"'><a class='category-a' onclick='OL.changeOperationGroupMaster(" +
OL.operationGroupMaster[i].operationGroupMasterId +
");'>" +
OL.operationGroupMaster[i].operationGroupMasterName +
'</a></p></li>',
);
$('#groupMasterId_' + OL.operationGroupMaster[i].parentOperationGroupMasterId + ' >ul').append(categoryChild);
} else {
const groupParents = '#groupMasterId_' + OL.operationGroupMaster[i].parentOperationGroupMasterId;
$(groupParents + ' > p').addClass('sub-menu-ttl');
const categoryChild = $(
"<ul style='display:none;' class=''><li class='' id='groupMasterId_" +
OL.operationGroupMaster[i].operationGroupMasterId +
"' class=''><p class='category-li group-level-" +
OL.operationGroupMaster[i].operationGroupMasterLevel +
"'><a class='category-a' onclick='OL.changeOperationGroupMaster(" +
OL.operationGroupMaster[i].operationGroupMasterId +
");'>" +
OL.operationGroupMaster[i].operationGroupMasterName +
'</a></p></li></ul>',
);
$('#groupMasterId_' + OL.operationGroupMaster[i].parentOperationGroupMasterId).append(categoryChild);
}
}
}
};
/**
* Open/close category(operationGroupMaster) drawer menu
*/
OL.acdMenu = function () {
//Hide accordion contents by default
$('.drawer-menu dd').css('display', 'none');
$('.drawer-menu2 ul').css('display', 'none');
//second accordion
$('.drawer-menu dt').on('click', function () {
$('.sub-menu-ttl').removeClass('openAcd').next().slideUp('fast');
$('.drawer-menu dt').not(this).removeClass('open').next().slideUp('fast');
$(this).toggleClass('open').next().slideToggle('fast');
});
//third accordion
$('.sub-menu-ttl').on('click', function () {
$('.sub-menu-ttl').not($(this)).not($(this).parents().siblings('p')).removeClass('openAcd').next().slideUp('fast');
$(this).toggleClass('openAcd').next().slideToggle('fast');
});
};
/**
* Sort the operationList by screen operation
*
* @param {Object} sortType
*/
OL.changeSortType = function (sortType) {
$('.sort-type').removeClass('active');
$(sortType).addClass('active');
OL.sortIndex = $(sortType).attr('data-sort');
const sortStr = sortType.dataset.sort;
const sortNumber = parseFloat(sortStr);
OL.sortOperationList(sortNumber);
OL.createOperationList(OL.operationList);
};
/**
* sort the operationList
*
* @param {Number} sortNumber
*/
OL.sortOperationList = function (sortNumber) {
+ OL.setOperationDate(operationList[i].operationStartDate)
+ ' ~ '
+ OL.setOperationDate(operationList[i].operationEndDate)
+ "</div>";
let divText = $("<div class='pl-5 h-100 d-flex align-items-center'>"
+ "<div class='w-100'>"
+ "<div class='fs-12 text-truncate'>" + operationList[i].operationName + "</div>"
+ divDate
+ "</div></div>");
ahrefRequiredFlg.append(divIcon);
ahrefRequiredFlg.append(divText);
messageli.append(ahrefRequiredFlg);
$('#operationTable').append(messageli);
}
};
/**
* add color to any sorting type when sortIndex exsist
*
* @param {Number} sortIndex
*/
OL.initActiveSortIndex = function (sortIndex) {
if (!sortIndex && !OL.sortIndex) {
OL.sortIndex = CONSTANT.SORT_TYPE.START_DATE_DESC;
}
$('.sort-type').each(function () {
const sortType = $(this).data('sort');
if (sortType == OL.sortIndex) {
$('.sort-type').removeClass('active');
$(this).addClass('active');
}
});
};
/**
* set date for OperationList
*
* @param {String} date
* @returns operationDate
*/
OL.setOperationDate = function (date) {
const operationDate = date.replace(/-/g, '/').substring(0, 10);
return operationDate;
};
/**
* create category(operationGroupMaster).
*/
OL.createCategory = function () {
if (!OL.isOperationGroupMaster) {
return;
}
OL.initCategory();
OL.createBreadcrumbList();
OL.createCategoryList();
OL.acdMenu();
};
/**
* Initial processing of category(operationGroupMaster).
*/
OL.initCategory = function () {
if (!OL.isOperationGroupMaster) {
return;
}
$('#operationGroupMasterButton').removeClass('d-none');
OL.setCategoryHeight();
$(window).resize(function () {
OL.setCategoryHeight();
});
};
/**
* change height category(operationGroupMaster)
*/
OL.setCategoryHeight = function () {
const CATEGORY_HEIGHT = $('footer').offset().top - $('#category-menu').offset().top;
$('#category-menu').css('overflow', 'scroll');
$('#category-menu').height(CATEGORY_HEIGHT);
$('#overlayDiv').height(CATEGORY_HEIGHT);
};
/**
* create Breadcrumb List
*/
OL.createBreadcrumbList = function () {
if (!OL.isOperationGroupMaster) {
return;
}
$('#groupMasterPath').empty();
if (typeof OL.operationGroupMasterId === 'undefined' || OL.operationGroupMasterId == 0) {
$('#groupMasterPath').append('<li class="breadcrumb-item"><a href="#" class="text-decoration-none text-dark">' + COMMON.getMsg('all') + '</a></li>');
} else {
let treeList = [];
OL.createBreadcrumbTree(treeList, OL.operationGroupMasterId);
treeList.forEach(function (operationGroupMaster) {
$('#groupMasterPath').append(
'<li class="breadcrumb-item"><a onclick="OL.changeOperationGroupMaster(' +
operationGroupMaster.operationGroupMasterId +
');" class="text-decoration-none text-dark">' +
operationGroupMaster.operationGroupMasterName +
'</a></li>',
);
});
}
};
/**
* create Breadcrumb tree List
*
* @param {list} treeList
* @param {string} operationGroupMasterId
* @returns
*/
OL.createBreadcrumbTree = function (treeList, operationGroupMasterId) {
if (operationGroupMasterId == 0) {
return treeList;
}
const groupMaster = OL.operationGroupMaster.filter(it => it.operationGroupMasterId == operationGroupMasterId)[0];
OL.createBreadcrumbTree(treeList, groupMaster.parentOperationGroupMasterId);
treeList.push(groupMaster);
return treeList;
};
/**
* create category(operationGroupMaster) structure
*/
OL.createCategoryList = function () {
if (!OL.isOperationGroupMaster) {
return;
}
//Create a side menu category structure
$('.group-category-list').remove();
OL.operationGroupMaster.sort(function (a, b) {
if (a.operationGroupMasterLevel < b.operationGroupMasterLevel) return -1;
if (a.operationGroupMasterLevel > b.operationGroupMasterLevel) return 1;
return 1;
});
//common
const noCategory = $("<dl id='groupMasterId_0' class='group-category-list'><dt><a onclick='OL.changeOperationGroupMaster(0);'>" + COMMON.getMsg('all') + '</a></dt></dl>');
$('#category-menu').append(noCategory);
//create category(operationGroupMaster) structure
for (let i = 0; i < OL.operationGroupMaster.length; i++) {
if (OL.operationGroupMaster[i].operationGroupMasterLevel == 0) {
const categoryParent = $(
'<dl id=groupMasterId_' +
OL.operationGroupMaster[i].operationGroupMasterId +
" class='group-category-list' style='overflow-x:auto;'><dt class='menu-ttl'><a onclick='OL.changeOperationGroupMaster(" +
OL.operationGroupMaster[i].operationGroupMasterId +
");'>" +
OL.operationGroupMaster[i].operationGroupMasterName +
'</a></dt></dl>',
);
$('#category-menu').append(categoryParent);
} else {
if ($('#groupMasterId_' + OL.operationGroupMaster[i].parentOperationGroupMasterId + '>ul').length > 0) {
const categoryChild = $(
"<li id='groupMasterId_" +
OL.operationGroupMaster[i].operationGroupMasterId +
"' class=''><p class='category-li group-level-" +
OL.operationGroupMaster[i].operationGroupMasterLevel +
"'><a class='category-a' onclick='OL.changeOperationGroupMaster(" +
OL.operationGroupMaster[i].operationGroupMasterId +
");'>" +
OL.operationGroupMaster[i].operationGroupMasterName +
'</a></p></li>',
);
$('#groupMasterId_' + OL.operationGroupMaster[i].parentOperationGroupMasterId + ' >ul').append(categoryChild);
} else {
const groupParents = '#groupMasterId_' + OL.operationGroupMaster[i].parentOperationGroupMasterId;
$(groupParents + ' > p').addClass('sub-menu-ttl');
const categoryChild = $(
"<ul style='display:none;' class=''><li class='' id='groupMasterId_" +
OL.operationGroupMaster[i].operationGroupMasterId +
"' class=''><p class='category-li group-level-" +
OL.operationGroupMaster[i].operationGroupMasterLevel +
"'><a class='category-a' onclick='OL.changeOperationGroupMaster(" +
OL.operationGroupMaster[i].operationGroupMasterId +
");'>" +
OL.operationGroupMaster[i].operationGroupMasterName +
'</a></p></li></ul>',
);
$('#groupMasterId_' + OL.operationGroupMaster[i].parentOperationGroupMasterId).append(categoryChild);
}
}
}
};
/**
* Open/close category(operationGroupMaster) drawer menu
*/
OL.acdMenu = function () {
//Hide accordion contents by default
$('.drawer-menu dd').css('display', 'none');
$('.drawer-menu2 ul').css('display', 'none');
//second accordion
$('.drawer-menu dt').on('click', function () {
$('.sub-menu-ttl').removeClass('openAcd').next().slideUp('fast');
$('.drawer-menu dt').not(this).removeClass('open').next().slideUp('fast');
$(this).toggleClass('open').next().slideToggle('fast');
});
//third accordion
$('.sub-menu-ttl').on('click', function () {
$('.sub-menu-ttl').not($(this)).not($(this).parents().siblings('p')).removeClass('openAcd').next().slideUp('fast');
$(this).toggleClass('openAcd').next().slideToggle('fast');
});
};
/**
* Sort the operationList by screen operation
*
* @param {Object} sortType
*/
OL.changeSortType = function (sortType) {
$('.sort-type').removeClass('active');
$(sortType).addClass('active');
OL.sortIndex = $(sortType).attr('data-sort');
const sortStr = sortType.dataset.sort;
const sortNumber = parseFloat(sortStr);
OL.sortOperationList(sortNumber);
OL.createOperationList(OL.operationList);
};
/**
* sort the operationList
*
* @param {Number} sortNumber
*/
OL.sortOperationList = function (sortNumber) {
if (!OL.operationList) {
return;
}
switch (sortNumber) {
case CONSTANT.SORT_TYPE.NAME:
OL.operationList.sort(function (a, b) {
if (a.operationName > b.operationName) return 1;
if (a.operationName < b.operationName) return -1;
return 0;
});
break;
case CONSTANT.SORT_TYPE.START_DATE_DESC:
OL.operationList.sort(function (a, b) {
if (OL.setOperationDate(a.operationStartDate) < OL.setOperationDate(b.operationStartDate)) return 1;
if (OL.setOperationDate(a.operationStartDate) > OL.setOperationDate(b.operationStartDate)) return -1;
return 0;
});
break;
case CONSTANT.SORT_TYPE.START_DATE_ASC:
OL.operationList.sort(function (a, b) {
if (OL.setOperationDate(a.operationStartDate) > OL.setOperationDate(b.operationStartDate)) return 1;
if (OL.setOperationDate(a.operationStartDate) < OL.setOperationDate(b.operationStartDate)) return -1;
return 0;
});
break;
case CONSTANT.SORT_TYPE.TYPE:
OL.operationList.sort(function (a, b) {
if (a.operationType < b.operationType) return 1;
if (a.operationType > b.operationType) return -1;
return 0;
});
break;
case CONSTANT.SORT_TYPE.LAST_EDIT_DATE:
const defaultDate = '1900-01-01 09:00:00';
OL.operationList.sort(function (a, b) {
if (!a.operationOpenDate) {
a.operationOpenDate = defaultDate;
}
if (!b.operationOpenDate) {
b.operationOpenDate = defaultDate;
}
if (a.operationOpenDate < b.operationOpenDate) return 1;
if (a.operationOpenDate > b.operationOpenDate) return -1;
return 0;
});
break;
}
};
/**
* search operarionList
*/
OL.search = function () {
COMMON.showLoading();
const searchKeyword = $('#searchTaskName').val();
const searchStartDate = $('#searchStartDate').val();
const searchEndDate = $('#searchEndDate').val();
if (searchStartDate && searchEndDate && searchStartDate > searchEndDate) {
COMMON.closeLoading();
COMMON.displayAlert('dateError');
return;
}
OL.getAllDataWeb(searchKeyword, OL.sortIndex, searchStartDate, searchEndDate, OL.operationGroupMasterId);
OL.createOperationList(OL.operationList);
OL.createCategory();
COMMON.closeLoading();
};
/**
* change the operationList by select the category(OperationGroupMaster)
* @param {Number} operationGroupMasterId
*/
OL.changeOperationGroupMaster = function (operationGroupMasterId) {
if ($('#category-menu').hasClass('open')) {
$('#category-toggle-button').click();
$('body').css('overflow', 'visible');
}
OL.operationGroupMasterId = operationGroupMasterId;
OL.search();
};
/**
* open the category(OperationGroupMaster)
*/
OL.openCategory = function () {
window.scrollTo(0, 0);
if ($('#category-menu').hasClass('open')) {
$('body').css('overflow', 'visible');
} else {
$('body').css('overflow', 'hidden');
}
};
/**
* reset search
*/
OL.resetSearch = function () {
$('#searchTaskName').val('');
$('#searchStartDate').val('');
$('#searchEndDate').val('');
OL.changeSortType($('#defaultSort'));
};
/**
* Transition to the report form or operation list screen
*
* @param {String} operationId
*/
OL.sendOperation = function (operationId, operationType, reportType, enableAddReport) {
//save operation logs. needed for sorting
OL.saveOperationReadingLog(operationId, operationType, reportType);
//Transition to the report form or operation list screen
let params = {};
params.sid = COMMON.getSid();
params.operationId = operationId;
params.returnUrl = CONSTANT.URL.WEB.BASE + CONSTANT.URL.WEB.OPERATION_LIST;
const url = OL.createUrlOfOperation(enableAddReport, reportType);
COMMON.postCommunication(url, params);
};
/**
* save operation logs. needed for sorting
*
* @param {String} operationId
* @param {String} operationType
* @param {String} reportType
*/
OL.saveOperationReadingLog = function (operationId, operationType, reportType) {
let params = {};
params.sid = COMMON.getSid();
params.operationId = operationId;
params.deviceType = CONSTANT.DEVICE_TYPE.WEB;
params.operationType = operationType;
params.reportType = reportType;
params.viewingStartDate = COMMON.currentTime();
const url = CONSTANT.URL.CMS.BASE + ClientData.userInfo_accountPath() + CONSTANT.URL.CMS.API.BASE + CONSTANT.URL.CMS.API.OPERATION_VIEW_LOG;
COMMON.cmsAjax(url, params, false);
};
/**
* return url of cms Operation Scene
*
* @param {boolean} enableAddReport
* @param {Number} reportType
* @returns url
*/
OL.createUrlOfOperation = function (enableAddReport, reportType) {
let baseUrl = CONSTANT.URL.CMS.BASE + ClientData.userInfo_accountPath() + CONSTANT.URL.CMS.HTML.BASE;
if (reportType == CONSTANT.REPORT_TYPE.ROUTINE || enableAddReport == '1') {
return baseUrl + CONSTANT.URL.CMS.HTML.TASK_REPORT_LIST;
} else {
return baseUrl + CONSTANT.URL.CMS.HTML.LIST_REPORT_FORM;
}
};
/**
* switch operation List to view
*/
OL.switchToViewList = function () {
switch (sortNumber) {
case CONSTANT.SORT_TYPE.NAME:
OL.operationList.sort(function (a, b) {
if (a.operationName > b.operationName) return 1;
if (a.operationName < b.operationName) return -1;
return 0;
});
break;
case CONSTANT.SORT_TYPE.START_DATE_DESC:
OL.operationList.sort(function (a, b) {
if (OL.setOperationDate(a.operationStartDate) < OL.setOperationDate(b.operationStartDate)) return 1;
if (OL.setOperationDate(a.operationStartDate) > OL.setOperationDate(b.operationStartDate)) return -1;
return 0;
});
break;
case CONSTANT.SORT_TYPE.START_DATE_ASC:
OL.operationList.sort(function (a, b) {
if (OL.setOperationDate(a.operationStartDate) > OL.setOperationDate(b.operationStartDate)) return 1;
if (OL.setOperationDate(a.operationStartDate) < OL.setOperationDate(b.operationStartDate)) return -1;
return 0;
});
break;
case CONSTANT.SORT_TYPE.TYPE:
OL.operationList.sort(function (a, b) {
if (a.operationType < b.operationType) return 1;
if (a.operationType > b.operationType) return -1;
return 0;
});
break;
case CONSTANT.SORT_TYPE.LAST_EDIT_DATE:
const defaultDate = '1900-01-01 09:00:00';
OL.operationList.sort(function (a, b) {
if (!a.operationOpenDate) {
a.operationOpenDate = defaultDate;
}
if (!b.operationOpenDate) {
b.operationOpenDate = defaultDate;
}
if (a.operationOpenDate < b.operationOpenDate) return 1;
if (a.operationOpenDate > b.operationOpenDate) return -1;
return 0;
});
break;
}
};
/**
* search operarionList
*/
OL.search = function () {
COMMON.showLoading();
const searchKeyword = $('#searchTaskName').val();
const searchStartDate = $('#searchStartDate').val();
const searchEndDate = $('#searchEndDate').val();
if (searchStartDate && searchEndDate && searchStartDate > searchEndDate) {
COMMON.closeLoading();
COMMON.displayAlert('dateError');
return;
}
OL.getAllDataWeb(searchKeyword, OL.sortIndex, searchStartDate, searchEndDate, OL.operationGroupMasterId);
OL.createOperationList(OL.operationList);
OL.createCategory();
COMMON.closeLoading();
};
/**
* change the operationList by select the category(OperationGroupMaster)
* @param {Number} operationGroupMasterId
*/
OL.changeOperationGroupMaster = function (operationGroupMasterId) {
if ($('#category-menu').hasClass('open')) {
$('#category-toggle-button').click();
$('body').css('overflow', 'visible');
}
OL.operationGroupMasterId = operationGroupMasterId;
OL.search();
};
/**
* open the category(OperationGroupMaster)
*/
OL.openCategory = function () {
window.scrollTo(0, 0);
if ($('#category-menu').hasClass('open')) {
$('body').css('overflow', 'visible');
} else {
$('body').css('overflow', 'hidden');
}
};
/**
* reset search
*/
OL.resetSearch = function () {
$('#searchTaskName').val('');
$('#searchStartDate').val('');
$('#searchEndDate').val('');
OL.changeSortType($('#defaultSort'));
};
/**
* Transition to the report form or operation list screen
*
* @param {String} operationId
*/
OL.sendOperation = function (operationId, operationType, reportType, enableAddReport) {
//save operation logs. needed for sorting
OL.saveOperationReadingLog(operationId, operationType, reportType);
//Transition to the report form or operation list screen
let params = {};
params.sid = COMMON.getSid();
params.operationId = operationId;
params.returnUrl = CONSTANT.URL.WEB.BASE + CONSTANT.URL.WEB.OPERATION_LIST;
const url = OL.createUrlOfOperation(enableAddReport, reportType);
COMMON.postCommunication(url, params);
};
/**
* save operation logs. needed for sorting
*
* @param {String} operationId
* @param {String} operationType
* @param {String} reportType
*/
OL.saveOperationReadingLog = function (operationId, operationType, reportType) {
let params = {};
params.sid = COMMON.getSid();
params.operationId = operationId;
params.deviceType = CONSTANT.DEVICE_TYPE.WEB;
params.operationType = operationType;
params.reportType = reportType;
params.viewingStartDate = COMMON.currentTime();
const url = CONSTANT.URL.CMS.BASE + ClientData.userInfo_accountPath() + CONSTANT.URL.CMS.API.BASE + CONSTANT.URL.CMS.API.OPERATION_VIEW_LOG;
COMMON.cmsAjax(url, params, false);
};
/**
* return url of cms Operation Scene
*
* @param {boolean} enableAddReport
* @param {Number} reportType
* @returns url
*/
OL.createUrlOfOperation = function (enableAddReport, reportType) {
let baseUrl = CONSTANT.URL.CMS.BASE + ClientData.userInfo_accountPath() + CONSTANT.URL.CMS.HTML.BASE;
if (reportType == CONSTANT.REPORT_TYPE.ROUTINE || enableAddReport == '1') {
return baseUrl + CONSTANT.URL.CMS.HTML.TASK_REPORT_LIST;
} else {
return baseUrl + CONSTANT.URL.CMS.HTML.LIST_REPORT_FORM;
}
};
/**
* switch operation List to view
*/
OL.switchToViewList = function () {
$('.view-menu .view-list-btn').on("click", function() {
$('.view-block-btn').removeClass('active');
$('.view-list-btn').addClass('active');
$('.view-content').removeClass('view-block');
$('.view-content').addClass('view-list');
});
};
};
/**
* switch operation List to grid
*/
OL.switchToGridList = function() {
/**
* switch operation List to grid
*/
OL.switchToGridList = function() {
$('.view-menu .view-block-btn').on("click", function() {
$('.view-list-btn').removeClass('active');
$('.view-block-btn').addClass('active');
$('.view-content').removeClass('view-list');
$('.view-content').addClass('view-block');
});
};
};
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