template.js 3.62 KB
Newer Older
NGO THI HONG committed
1
/**
2
 * template js
NGO THI HONG committed
3 4 5 6
 * @since cms:1.4.3.2&1.4.3.3 web:1.0
 */
var TEMPLATE = {};

7
/** template load header */
8
TEMPLATE.loadHearder = function (elmentId) {
9
    COMMON.showLoading();
10
    $(elmentId).load('../common/html/header.html', function () {
11 12 13 14 15 16
        $('#iconHomeDashboard').removeClass('active');
        $('#iconHomeWorkList').removeClass('active');
        if (sessionStorage.activeHomePage == CONSTANT.PAGE_NAME.OPERATION_LIST) {
            $('#iconHomeWorkList').addClass('active');
        } else {
            $('#iconHomeDashboard').addClass('active');
17
        }
NGO THI HONG committed
18
        I18N.initi18n();
Kang Donghun committed
19
        HEADER.init();
20 21
    });
};
22

23
/**
24
 * template load dashboard setting
25 26 27
 * @param {string} elmentId - element to load setting html
 * @param {*} changeCallback - callback when setting changed
 */
28 29
TEMPLATE.loadDashboardSetting = function (elmentId, changeCallback) {
    $(elmentId).load('dashboardSetting.html', function () {
30
        DashboardSetting.init(changeCallback);
NGO THI HONG committed
31
        I18N.initi18n();
32 33
    });
};
NGO THI HONG committed
34

Takumi Imai committed
35 36 37 38
/**
 * Template load confirm model
 * @param {*} elmentId
 */
39
TEMPLATE.loadConfirmModal = function (elmentId) {
40
    $(elmentId).load('../common/html/confirmModal.html', function () {
NGO THI HONG committed
41
        I18N.initi18n();
42 43
    });
};
NGO THI HONG committed
44

Takumi Imai committed
45 46 47 48 49
/**
 * Template load operation select
 * @param {*} elmentId
 * @param {*} selectCallback
 */
50 51
TEMPLATE.loadOperationSelect = function (elmentId, selectCallback) {
    $(elmentId).load('operationSelect.html', function () {
52
        OperationSelect.init(selectCallback);
NGO THI HONG committed
53
        I18N.initi18n();
54 55
    });
};
NGO THI HONG committed
56

57 58 59
/**
 * show confirm model
 */
60 61 62
TEMPLATE.showModalConfirm = function () {
    $('#showConfirm').click(function () {
        $('#confirm-modal').modal();
63 64
    });
};
65

Takumi Imai committed
66 67 68 69 70
/**
 * Template load notification content
 * @param {*} elmentId
 * @param {*} selectCallback
 */
71 72
TEMPLATE.loadNotificationSelect = function (elmentId, selectCallback) {
    $(elmentId).load('notificationContent.html', function () {
73
        NotificationSelect.init(selectCallback);
74
        I18N.initi18n();
75 76
    });
};
77 78

/**
79
 * load main navs title html to a element by id
80
 * @param {string} elmentId - elementId where contain main title html
81 82
 * @param {string} titleLang - lang of title
 * @param {Array} navs - array nav items (titleLang, href)
83
 */
84 85
TEMPLATE.loadMainNavsTitle = function (elmentId, titleLang, navs, completeCallback) {
    var titleHtmlPath = '../common/html/mainTitle.html';
86
    if (navs) {
87
        titleHtmlPath = '../common/html/mainNavTitle.html';
88
    }
89
    $(elmentId).load(titleHtmlPath, function (data) {
90 91
        $(elmentId).replaceWith(data);
        if (titleLang) {
92
            $('#mainTitleHeader').attr('lang', titleLang);
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
        }
        if (navs) {
            var olElm = $('#mainTitleNavs ol');
            for (var i = 0; i < navs.length; i++) {
                const nav = navs[i];
                var liElm = $('<li class="breadcrumb-item" />');
                if (nav.href) {
                    var aElm = $('<a class="text-decoration-none text-underline lang" />');
                    aElm.attr('href', nav.href);
                    if (nav.titleLang) {
                        aElm.attr('lang', nav.titleLang);
                    }
                    liElm.append(aElm);
                } else {
                    liElm.addClass('lang');
                    liElm.attr('aria-current', 'page');
                    liElm.append('<span></span>');
                    if (nav.titleLang) {
                        liElm.attr('lang', nav.titleLang);
                    }
                }
                olElm.append(liElm);
            }
116 117 118 119 120 121
        }
        I18N.initi18n();
        if (completeCallback) {
            completeCallback();
        }
    });
122
};