Commit a6aecafd by Takumi Imai

#50096 移植

parent e3ff6916
{
// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "ABookCheck WEB",
"type": "chrome",
"request": "launch",
"url":"http://127.0.0.1:5500/index.html",
"webRoot": "${workspaceFolder}"
}
]
}
\ No newline at end of file
/**
* common js of app(web).
* The following is written.
* 1.language
* 2.loading
* 3.alert
* 4.url
* 5.cms communication
* 6.check if user is logged in
*
* @since 1.4.3.2 & 1.4.3.3
*/
var CHK_Common = {};
CHK_Common.lang;
/**
* get lang code in local storage
* web gets lang form local storage
* but app gets lnag from session storage
*/
CHK_Common.setLangCodeWeb = function() {
let lang = CHK_Common.getLangWeb();
if (lang.split("-")[0] == CHK_CONSTANT.LANG.English) {
lang = CHK_CONSTANT.LANG.ENGLISH;
} else if (lang.split("-")[0] == CHK_CONSTANT.LANG.KOREA) {
lang = CHK_CONSTANT.LANG.KOREA;
} else {
lang =CHK_CONSTANT.LANG.JAPAN;
}
CHK_Common.lang = lang;
}
/**
* get lang in local storage
*
* @returns String pageLang
*/
CHK_Common.getLangWeb = function() {
let pageLang;
if (!CHK_Common.lang) {
if (localStorage[CHK_CONSTANT.LANG.SAVE_NAME]) {
pageLang = localStorage[CHK_CONSTANT.LANG.SAVE_NAME];
}
else {
pageLang = (window.navigator.languages && window.navigator.languages[0]) ||
window.navigator.language ||
window.navigator.userLanguage ||
window.navigator.browserLanguage;
localStorage[CHK_CONSTANT.LANG.SAVE_NAME] = pageLang;
}
}
return pageLang;
}
/**
* change lang of html
*/
CHK_Common.updateLang = function() {
$(".multi-lang").each(function () {
const key = $(this).attr("data-msg");
if (key) {
if ($(this).prop("tagName").toLowerCase() == "input" && ($(this).attr("type") == "text" || $(this).attr("type") == "search")) {
const attr = $(this).attr('placeholder');
if (typeof attr !== 'undefined' && attr !== false) {
$(this).attr("placeholder", CHK_Common.getMsg(key));
} else {
$(this).val(CHK_Common.getMsg(key));
}
} else {
$(this).html(CHK_Common.getMsg(key));
}
}
});
}
/**
* get any lang msg from CHK_Common.msgMap
*
* @param String key
* @returns String msg
*/
CHK_Common.getMsg = function (key) {
const msg = CHK_CONSTANT.MSG_MAP[key];
if (!msg) {
return "";
}
return msg[CHK_Common.lang];
}
/**
* show loading dialog
* show msg by key
*
* @param {String} key
*/
CHK_Common.showLoading = function() {
$("#check_loading").dialog({
dialogClass: 'noTitleDialog ui-dialog-titlebar dialogNoBorder',
autoOpen: false,
resizable: false,
modal: true,
width: "100%",
title: ' ',
open: function(e) {
$('.loadingAnime .loadingBall').css('animation-play-state','');
$(e.target).parent().css('background-color', 'rgba(128,128,128)');
$(e.target).parent().css('position', 'absolute');
$(e.target).parent().css('left', '50%');
$(e.target).parent().css('top', '25vh');
$(e.target).parent().css('transform', 'translateX(-50%)');
$(e.target).parent().css('-webkit- transform', 'translateY(-50%) translateX(-50%)');
$(e.target).parent().children(".ui-dialog-buttonpane").css('background-color', 'rgba(128,128,128)').css('border', 'none');
},
close: function() {}
});
$("#check_loading").dialog('open');
}
/**
* close loading
*/
CHK_Common.closeLoading = function() {
if ($("#check_loading").hasClass("ui-dialog-content")) {
$("#check_loading").dialog('close');
$('.loadingAnime .loadingBall').css('animation-play-state','paused');
}
}
/**
* show alert
*
* @param {String} msgCode
*/
CHK_Common.displayAlert = function(msgCode) {
$("#alertMsg").html(CHK_Common.getMsg(msgCode));
$(".alert-overlay").removeClass("d-none");
$(".alert-area").removeClass("d-none");
const positionY = $(document).scrollTop() + screen.height/8;
const height = screen.height/4;
$(".alert-overlay").css("height", screen.height);
$(".alert-area").css("top", positionY);
$(".alert-area").css("min-height", height);
$("body").css("overflow", "hidden");
}
/**
* close alert
*/
CHK_Common.alertClose = function() {
$(".alert-overlay").addClass("d-none");
$(".alert-area").addClass("d-none");
$("body").css("overflow", "visible");
}
/**
* send ABookCheck
*
* @param {json} param
* @param {boolean} async
* @param {Object} callback
* @param {Object} errorCallback
*/
CHK_Common.sendABookCheckApi = function(param, async = true, callback, errorCallback) {
const url = CHK_Common.getUrlWeb(param.cmd);
CHK_Common.cmsAjax(url, param, async, callback, errorCallback);
}
/**
* get URL for CMS action
* @param {String} method
*/
CHK_Common.getUrlWeb = function(method) {
for (let i in CHK_CONSTANT.CMS_WEB) {
if (CHK_CONSTANT.CMS_WEB[i].includes(method)) {
return "https://" + location.host + "/checkapi/web/" + CHK_CONSTANT.CMS_WEB[i] + "/" + method;
}
}
return null;
}
/**
* go Url page With Current Params
*
* ios will remove all web types data when reopen webview
* need add common parameters: app, lang, debug, mobile_flg, isChat, ...
*
* @param {String} url
* @param {Object} params
*/
CHK_Common.goUrlWithCurrentParams = function(url, params) {
if (!params) {
location.href = url;
}
const mixParams = Object.assign(CHK_Common.getUrlParameter(), params);
if (url.includes("?")) {
location.href = url + '&' + new URLSearchParams(mixParams);
} else {
location.href = url + '?' + new URLSearchParams(mixParams);
}
}
/**
* get url parameter
*
*/
CHK_Common.getUrlParameter = function() {
var ret = {};
if (location.search) {
var param = {};
location.search.substring(1).split('&').forEach(function(val) {
var kv = val.split('=');
param[kv[0]] = kv[1];
});
ret = param;
}
console.log({ret: ret});
return ret;
}
/**
* get sid in local Storage
*
* @returns sid
*/
CHK_Common.getSid = function() {
return "sid";
}
/**
* cms communication
*
* @param {String} url
* @param {Json} param
* @param {boolean} async
* @param {Object} callback
* @param {Object} errorCallback
*/
CHK_Common.cmsAjax = function(url, param, async = true, callback, errorCallback) {
if (url) {
$.ajax({
type: "POST",
url: url,
data: param,
dataType:"json",
cache: false,
async: async,
success: function(result) {
if (result.status == "200") {
if(callback) callback(result);
} else if (result.status == "401") {
location.href = "/login.html";
} else if(errorCallback) {
errorCallback();
} else {
CHK_Common.closeLoading();
CHK_Common.displayAlert(result.message);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
//if(errorCallback) {
//errorCallback();
//} else {
CHK_Common.closeLoading();
CHK_Common.displayAlert("errorCommunicationFailed");
//}
}
});
} else {
if(errorCallback) {
errorCallback();
} else {
CHK_Common.closeLoading();
CHK_Common.displayAlert("errorOccurred");
}
}
}
/**
* Communicate with cms and post
*
* @param {String} url
* @param {Object} params
* @param {String} method
*/
CHK_Common.postCommunication = function(url, params, method='post') {
const form = document.createElement('form');
form.method = method;
form.action = url;
for (const key in params) {
if (params.hasOwnProperty(key)) {
const hiddenField = document.createElement('input');
hiddenField.type = 'hidden';
hiddenField.name = key;
hiddenField.value = params[key];
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form.submit();
};
/**
* Check if user is logged in
*
* @param {boolean} async
*/
CHK_Common.checkAuth = function(async = true) {
let params ={};
params.sid = CHK_Common.getSid;
params.cmd = CHK_CONSTANT.ACT_CMD.checkSession;
CHK_Common.sendABookCheckApi(params, async, null, function() {
CHK_Common.goUrlWithCurrentParams(CHK_CONSTANT.PAGE_NAME.LOGIN);
});
}
\ No newline at end of file
/**
* Common js for footer.
* ※Code is written mainly for dashboard and operationList.
* @since 1.4.3.2 & 1.4.3.3
*/
var CHK_Footer = {};
/**
* Change specific footer bottom to active.
*
* @param {String} bottomNavId
*/
CHK_Footer.activeBottomNav = function(bottomNavId) {
let elm = $("#" + bottomNavId);
if (typeof elm !== 'object') {
console.log('CHK_Footer.activeBottomNav:elm !== object:' + bottomNavId);
return;
}
elm.removeClass('text-secondary');
elm.addClass("text-primary");
let img = elm.find("img")[0];
if (img && img.getAttribute("data-src")) {
img.src = img.getAttribute("data-src");
}
}
/**
* change inactive all footer bottom
*/
CHK_Footer.inactiveAllBottomNav = function() {
let navs = document.getElementsByClassName("bottom-nav");
for (i = 0; i < navs.length; i++) {
navs[i].className = navs[i].className.replace("text-primary", "text-secondary");
let img = navs[i].querySelector("img");
if (img && img.getAttribute('data-inactive-src')) {
img.src = img.getAttribute('data-inactive-src');
}
}
}
/**
* Go page of index.html.
* Store tab id in session for want to show display.
*
* @param {String} tabId
*/
CHK_Footer.goIndexPage = function(tabId) {
sessionStorage.activeTab = tabId;
CHK_Common.goUrlWithCurrentParams(DAFAULT_PAGE);
}
/**
* is the url index.html?
*/
CHK_Footer.isIndexPage = function() {
if (typeof location === 'object' && typeof location.pathname === 'string') {
if (location.pathname.includes(CHK_CONSTANT.PAGE_NAME.DEFAULT) == true) {
return true;
}
}
return false;
}
/**
* Initialize with any navigation
*
* @param {String} bottomNav
*/
CHK_Footer.activeInitBottomNav = function(bottomNav) {
CHK_Footer.inactiveAllBottomNav();
CHK_Footer.activeBottomNav(bottomNav);
}
/**
* Go page of dashboard
*/
CHK_Footer.goDashboard = function() {
sessionStorage.activeTab = CHK_CONSTANT.PAGE_TAB.DASHBOARD;
CHK_Footer.activeInitBottomNav('dashboardBottomNav');
if (CHK_Footer.isIndexPage()) {
CHK_TOP.showPage(CHK_CONSTANT.PAGE_NAME.DASHBOARD);
return;
}
CHK_Footer.goIndexPage(CHK_CONSTANT.PAGE_NAME.DASHBOARD);
}
/**
* Go page of operationList
*/
CHK_Footer.goOperationList = function() {
sessionStorage.activeTab = CHK_CONSTANT.PAGE_TAB.OPERATION_LIST;
CHK_Footer.activeInitBottomNav('operationListBottomNav');
if (CHK_Footer.isIndexPage()) {
CHK_TOP.showPage(CHK_CONSTANT.PAGE_NAME.OPERATION_LIST);
return;
}
CHK_Footer.goIndexPage(CHK_CONSTANT.PAGE_NAME.OPERATION_LIST);
}
/**
* Go to active tab when footer was loaded.
* If it is no active tab, go to page in settings.
*/
CHK_Footer.initFooter = function() {
$("#footer").load(CHK_CONSTANT.PAGE_NAME.FOOTER, function() {
if (typeof sessionStorage != 'undefined' && typeof sessionStorage.activeTab != 'undefined') {
if (sessionStorage.activeTab == CHK_CONSTANT.PAGE_TAB.DASHBOARD) {
CHK_Footer.goDashboard();
} else {
CHK_Footer.goOperationList();
}
return;
}
CHK_Footer.goOperationList();
// CHK.loadDashboardSetting(function() {
// if (CHK.dashboardSetting.dashboardHome) {
// CHK_Footer.goDashboard();
// } else {
// CHK_Footer.goOperationList();
// }
// });
});
}
\ No newline at end of file
/**
* constant js
*
* @since 1.4.3.2 & 1.4.3.3
*/
const CHK_CONSTANT = {};
CHK_CONSTANT.SORT_TYPE = {
NAME: 0,
START_DATE_DESC: 1,
START_DATE_ASC: 2,
TYPE: 3,
LAST_EDIT_DATE: 4,
};
CHK_CONSTANT.PAGE_NAME = {
DASHBOARD: "dashboard",
OPERATION_LIST: "operationList",
FOOTER: "main-footer.html",
DEFAULT: "index.html",
LOGIN: "login.html"
}
CHK_CONSTANT.PAGE_TAB = {
DASHBOARD: "dashboard",
OPERATION_LIST: "operationList"
}
CHK_CONSTANT.OPERATION_TYPE = {
LIST: "0",
DRAWING: "1",
VTOUR: "2",
PDF: "3"
};
CHK_CONSTANT.REPORT_TYPE = {
REPORTONLY: "0",
INSPECT: "1",
WITHREPLY: "2",
WORKFLOW: "3"
}
CHK_CONSTANT.ADD_REPORT_FLG = {
UNABLE: "0",
ABLE: "1"
}
//Command for sending CMS.
//must match the value (method name).
CHK_CONSTANT.ACT_CMD = {
getOperationList: "getOperationList",
goOperation: "redirectOperationPage",
checkSession: "checkAuthUser",
saveOperationLog: "saveOperationLog"
};
//method name corresponding to the command.
//Disallow duplicate method names.
CHK_CONSTANT.CMS_WEB = {
OperationListWeb: ["getOperationList"],
BranchOperation: ["redirectOperationPage"],
GetSession: ["checkAuthUser"],
OperationLogWeb:["saveOperationLog"]
};
CHK_CONSTANT.LANG = {
SAVE_NAME: "lang",
JAPAN: "ja",
KOREA: "ko",
ENGLISH: "en"
}
CHK_CONSTANT.MSG_MAP = {
all:{ja:"全て", ko:"전체", en:"All"},
dateError: { ja: "開始日は終了日の前に設定してください。", ko: "잘못된 검색일입니다.", en: "Please enter correct search date." },
operationListTitle:{ ja: "トップページ|A Book Check", ko: "톱 페이지|A Book Check", en: "Top Page|A Book Check" },
buttonCategory: { ja: "カテゴリー", ko: "카테고리", en: "Category" },
buttonRefresh: { ja: "更新", ko: "갱신", en: "Refresh" },
buttonBack: { ja: "戻る", ko: "Back", en: "Back" },
placeholderOperationName: { ja: "作業名", ko: "작업명", en: "Working Name" },
labelPeriod: { ja: "期間", ko: "기간", en: "Period" },
labelStartDate: { ja: "開始日", ko: "시작일", en: "Start date" },
labelEndDate: { ja: "終了日", ko: "종료일", en: "End date" },
placeholderSelect: { ja: "選択", ko: "선택", en: "Choice" },
labelSort: { ja: "並び替え", ko: "정렬", en: "Sort" },
labelSortName: { ja: "作業名順", ko: "작업명순", en: "By working name" },
labelSortNew: { ja: "作業期間が新しい順", ko: "작업기간이 최신순", en: "By newest period" },
labelSortOld: { ja: "作業期間が古い順", ko: "작업기간이 오래된순", en: "By oldest period" },
labelSortOpen: { ja: "閲覧日が新しい順", ko: "열람순", en: "By newest viewing date" },
labelReset: { ja: "クリア", ko: "클리어", en: "Clear" },
headerItemName: { ja: "作業名", ko: "작업명", en: "Working Name" },
headerStartDate: { ja: "開始日", ko: "시작일", en: "Start date" },
headerEndDate: { ja: "終了日", ko: "종료일", en: "End date" },
buttonHome: { ja: "ホーム", ko: "홈", en: "Home" },
buttonSetting: { ja: "設定", ko: "설정", en: "Setting" },
buttonOperationList: { ja: "作業一覧", ko: "작업일람", en: "Operations List" },
operationListHeaderTitle: { ja: "作業一覧", ko: "작업일람", en: "Operations List" },
buttonDashboard: { ja: "ダッシュボード", ko: "대시보드", en: "Dashboard" },
buttonDashboardSetting: { ja: "設定", ko: "설정", en: "Setting" },
Processing_w_dot: { ja: "処理中...", ko: "처리중", en: "Processing..." },
errorCommunicationFailed: { ja: "通信エラーが発生しました", ko: "통신 오류가 발생했습니다", en: "A communication error has occurred" },
errorOccurred: { ja: "エラーが発生しました", ko: "오류가 발생했습니다", en: "Error Occurred" }
};
\ No newline at end of file
$(function() {
var avwUserEnvObj = new UserEnvironment();
if(avwUserEnvObj.os == 'ipad' || avwUserEnvObj.os == 'android'){
//
}else{
// placement examples
$('.home').powerTip({placement: 's'});
$('.back').powerTip({placement: 's'});
$('.bmList').powerTip({placement: 's'});
$('.bmAdd').powerTip({placement: 's'});
$('.index').powerTip({placement: 's'});
$('.copy').powerTip({placement: 's'});
$('.memoDisplay').powerTip({placement: 's'});
$('.memoAdd').powerTip({placement: 's'});
$('.marking').powerTip({placement: 's'});
$('.markingToolbar').powerTip({placement: 's'});
$('.begin').powerTip({placement: 'n'});
$('.prev').powerTip({placement: 'n'});
$('.next').powerTip({placement: 'n'});
$('.last').powerTip({placement: 'n'});
$('.expansion').powerTip({placement: 'n'});
$('.fit').powerTip({placement: 'n'});
$('.reduction').powerTip({placement: 'n'});
$('.toolbar').powerTip({placement: 'n'});
}
});
......@@ -159,25 +159,5 @@
"txtMaxDownloadCount": "number of max dl",
"msgShareUrlPassword": "When you set a password, please input below.",
"msgStreamingOpenError": "It is the contents that I cannot read in the streaming.",
"msgContentLinkNotOpen": "This content cannot open on WebViewer.",
"operationListTitle": "Top Page|A Book Check",
"openCategory": "Category",
"operationName": "Working Name",
"operationPeriod": "Period",
"operationStartDate": "Start date",
"operationEndDate": "End date",
"selectOperationDate": "Choice",
"sortOperation": "Sort",
"inputClear": "Clear",
"sortOperarionName" : "By working name",
"sortNewWestOperarionPeriod": "By newest period",
"sortOldestOperarionPeriod": "By oldest period",
"sortReportType": "By report type",
"sortMostViewDateFirst": "By newest viewing date",
"operationListScreenName": "Home",
"settingScreenName": "Setting",
"operationListPageTitle": "Working List"
"msgContentLinkNotOpen": "This content cannot open on WebViewer."
}
......@@ -159,25 +159,5 @@
"txtMaxDownloadCount": "最大DL回数",
"msgShareUrlPassword": "パスワードを設定する場合、以下に入力して下さい。",
"msgStreamingOpenError": "ストリーミングでは閲覧出来ないコンテンツです。",
"msgContentLinkNotOpen":"このコンテンツはWeb版で開けません。",
"operationListTitle": "トップページ|A Book Check",
"openCategory": "カテゴリー",
"operationName": "作業名",
"operationPeriod": "期間",
"operationStartDate": "開始日",
"operationEndDate": "終了日",
"selectOperationDate": "選択",
"sortOperation": "並び替え",
"inputClear": "クリア",
"sortOperarionName" : "作業名順",
"sortNewWestOperarionPeriod": "作業期間が新しい順",
"sortOldestOperarionPeriod": "作業期間が古い順",
"sortReportType": "報告タイプ順",
"sortMostViewDateFirst": "閲覧日が新しい順",
"operationListScreenName": "ホーム",
"settingScreenName": "設定",
"operationListPageTitle": "作業一覧"
"msgContentLinkNotOpen":"このコンテンツはWeb版で開けません。"
}
......@@ -157,24 +157,5 @@
"txtMaxDownloadCount": "최대DL횟수",
"msgShareUrlPassword": "암호를 설정할경우 다음의 입력란에 입력하십시오.",
"msgStreamingOpenError": "스트리밍에서는 열람 할 수 없는 컨텐츠입니다.",
"msgContentLinkNotOpen": "이 컨텐츠는 Web판에서 열 수 없습니다.",
"operationListTitle": "톱 페이지|A Book Check",
"openCategory": "카테고리",
"operationName": "작업명",
"operationPeriod": "기간",
"operationStartDate": "시작일",
"operationEndDate": "종료일",
"selectOperationDate": "선택",
"sortOperation": "정렬",
"inputClear": "클리어",
"sortOperarionName" : "보고타입순",
"sortNewWestOperarionPeriod": "작업기간이 최신순",
"sortOldestOperarionPeriod": "작업기간이 오래된순",
"sortReportType": "보고타입순",
"sortMostViewDateFirst": "열람순",
"operationListScreenName": "홈",
"settingScreenName": "설정",
"operationListPageTitle": "작업 목록"
"msgContentLinkNotOpen": "이 컨텐츠는 Web판에서 열 수 없습니다."
}
<?xml version="1.0" encoding="UTF-8"?><svg id="_イヤー_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 94.07 83.08"><defs><style>.cls-1{fill:#0053f0;}</style></defs><g id="_イヤー_1-2"><path id="icon_dashboard_b" class="cls-1" d="M41.73,46.97H0V0H41.73V46.97Zm0,10.24H0v25.74H41.73v-25.74ZM93.95,0H52.22V26.24h41.73V0Zm.12,36.36H52.35v46.72h41.73V36.36Z"/></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><svg id="_イヤー_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 94.07 83.08"><defs><style>.cls-1{fill:#6c757d;}</style></defs><g id="_イヤー_1-2"><path id="icon_dashboard_w" class="cls-1" d="M41.73,46.97H0V0H41.73V46.97Zm0,10.24H0v25.74H41.73v-25.74ZM93.95,0H52.22V26.24h41.73V0Zm.12,36.36H52.35v46.72h41.73V36.36Z"/></g></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?><svg id="_イヤー_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:none;}</style></defs><g id="_イヤー_1-2"><g><g><g><rect class="cls-1" x="6.41" y="53.94" width="30.99" height="19.12"/><rect class="cls-1" x="45.19" y="11.45" width="30.99" height="19.49"/><rect class="cls-1" x="6.41" y="11.45" width="30.99" height="34.88"/><path class="cls-1" d="M53.26,72.4c-.48-2.59-.48-5.25,0-7.84l-4.75-2.75c-.55-.31-.81-.96-.61-1.56,1.22-3.93,3.3-7.54,6.1-10.56,.42-.47,1.11-.58,1.65-.27l4.74,2.75c2-1.71,4.29-3.04,6.77-3.93v-5.49c0-.63,.44-1.18,1.06-1.31,2.66-.59,5.38-.78,8.08-.59v-2.39h-30.99v34.7h6.64l1.33-.76Z"/></g><path id="cog-solid" class="cls-1" d="M93.09,72.87l-3.54-2.05c.36-1.93,.36-3.91,0-5.84l3.54-2.05c.41-.23,.6-.72,.46-1.17-.91-2.93-2.46-5.61-4.54-7.87-.31-.34-.82-.43-1.23-.2l-3.55,2.05c-1.49-1.28-3.2-2.27-5.06-2.92v-4.08c0-.47-.33-.88-.79-.97-2.99-.67-6.09-.67-9.08,0-.46,.09-.79,.5-.79,.97v4.09c-1.84,.66-3.55,1.66-5.04,2.93l-3.53-2.05c-.41-.23-.92-.15-1.23,.2-2.08,2.25-3.63,4.94-4.54,7.87-.14,.45,.05,.94,.46,1.17l3.54,2.05c-.36,1.93-.36,3.91,0,5.84l-3.55,2.03c-.41,.23-.6,.72-.46,1.17,.91,2.93,2.46,5.61,4.54,7.87,.31,.34,.82,.43,1.23,.2l3.54-2.05c1.49,1.28,3.2,2.27,5.06,2.92v4.09c0,.47,.33,.88,.79,.97,2.99,.67,6.09,.67,9.08,0,.46-.09,.79-.5,.79-.97v-4.1c1.84-.66,3.55-1.65,5.04-2.92l3.55,2.05c.41,.23,.92,.15,1.23-.2,2.08-2.25,3.63-4.94,4.54-7.87,.13-.45-.06-.93-.46-1.17Zm-19.25,1.69c-3.68,0-6.65-2.98-6.65-6.65s2.98-6.65,6.65-6.65c3.68,0,6.65,2.98,6.65,6.65h0c0,3.67-2.98,6.65-6.65,6.65h0Z"/></g><rect class="cls-2" width="100" height="100"/></g></g></svg>
\ No newline at end of file
var CHK_CONSTANT = {};
CHK_CONSTANT.SORT_TYPE = {
NAME: 0,
START_DATE_DESC: 1,
START_DATE_ASC: 2,
TYPE: 3,
LAST_EDIT_DATE: 4,
};
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
/**
* common js of top page.
* top page is dashboard and operationList.
*
* @since 1.4.3.2 & 1.4.3.3
*/
var CHK_TOP = {};
$(document).ready(function () {
//setting lang info
CHK_Common.setLangCodeWeb();
//Check if user is logged in
CHK_Common.checkAuth(false);
});
/**
* show page
*/
CHK_TOP.init = function() {
CHK_Common.showLoading();
//setting msg of html
CHK_Common.updateLang();
//show page
CHK_Footer.initFooter();//app should get data after initFooter
CHK_Common.closeLoading();
};
/**
* Show page by arbitrary id
*
* @param {String} pageId
*/
CHK_TOP.showPage = function(pageId) {
//get data
if (pageId == CHK_CONSTANT.PAGE_NAME.OPERATION_LIST) {
CHK_OL.init();
} else if (pageId == CHK_CONSTANT.PAGE_NAME.DASHBOARD) {
CHK_Dashboard.init();
}
//show page
const pages = document.getElementsByClassName("page-content");
for (let i = 0; i < pages.length; i++) {
if (pages[i].id == pageId) {
pages[i].style.display = "block";
} else {
pages[i].style.display = "none";
}
}
}
\ No newline at end of file
<footer class="fixed-bottom bg-light">
<nav class="d-flex justify-content-around">
<a id="dashboardBottomNav" class="d-block w-100 text-center py-2 text-decoration-none text-secondary bottom-nav" href="javascript:CHK_Footer.goDashboard();">
<img src="abvw/img/dashboard/icon_dashboard_inactive.svg" data-inactive-src="abvw/img/dashboard/icon_dashboard_inactive.svg" data-src="abvw/img/dashboard/icon_dashboard.svg" alt="buttonDashboard" class="p-1">
<div class="fs-7 multi-lang" data-msg="buttonDashboard"></div>
</a>
<a id="operationListBottomNav" class="d-block w-100 text-center py-2 text-decoration-none text-primary bottom-nav" href="javascript:CHK_Footer.goOperationList();">
<i class="fas fa-tasks fs-14 p-1"></i>
<div class="fs-7 multi-lang" data-msg="buttonOperationList"></div>
</a>
<a class="d-block w-100 text-center py-2 text-decoration-none text-secondary" href="javascript:CHK_L.sendAppCommand('goSetting');">
<i class="fas fa-cog fs-14 p-1"></i>
<div class="fs-7 multi-lang" data-msg="buttonSetting"></div>
</a>
</nav>
</footer>
\ No newline at end of file
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