@@ -473,7 +473,8 @@ HotelTV.ui_appfull = (function() {
|
||||
if ( _state.menu.stage.cur=="tvCtgShow" ||
|
||||
_state.menu.stage.cur=="tvCtgHide" ||
|
||||
_state.menu.stage.cur=="tvShortcut" ||
|
||||
_state.menu.stage.cur=="tvPreparing" )
|
||||
_state.menu.stage.cur=="tvPreparing" ||
|
||||
_state.menu.stage.cur=="language_selection" )
|
||||
{
|
||||
console.warn("HDMI input doesn't work tv mode");
|
||||
//HDMI사용불가 말풍선 출력
|
||||
@@ -4631,7 +4632,7 @@ HotelTV.ui_appfull = (function() {
|
||||
{
|
||||
'conId': _mpinfo[_state.menu.main[_mmIdx].cur].id
|
||||
}
|
||||
}])
|
||||
}]);
|
||||
}
|
||||
|
||||
$('.main .mypage .slider .owl-item.focus').removeClass('focus');
|
||||
@@ -5933,6 +5934,125 @@ HotelTV.ui_appfull = (function() {
|
||||
});
|
||||
}
|
||||
|
||||
function __uifxn_AppFull_Build_LangSel() {
|
||||
let _state = HotelTV.state;
|
||||
let _trTbl = HotelTV.translation;
|
||||
let _langInf = HotelTV.opening.languages;
|
||||
let _elLangSelDiv = $('.popup>.lang_selection');
|
||||
let _elLangSelCtrlDiv = $('.popup>.lang_selection .selector');
|
||||
let _elLangSelTitleDiv = _elLangSelCtrlDiv.children('.title');
|
||||
let _elLangSelUsageDiv = _elLangSelCtrlDiv.children('.usage');
|
||||
let _elLangSelButtonsDiv = _elLangSelCtrlDiv.children('.buttons');
|
||||
|
||||
// 초기 메인 메뉴 KEY설정
|
||||
_state.menu.stage.cur = "language_selection";
|
||||
|
||||
// Reset language total count as 1
|
||||
_state["langTotalCnt"] = 1;
|
||||
// Remove all items unter _elLangSelButtonsDiv
|
||||
_elLangSelButtonsDiv.children().remove();
|
||||
|
||||
const ___ifxn_drawLangButtons = function() {
|
||||
for (let __lang in _langInf) {
|
||||
console.log("Lang==>" + __lang);
|
||||
let _elDiv_LangBtn = document.createElement('div');
|
||||
if ( __lang===_state.lang ){
|
||||
_elDiv_LangBtn.className = 'langBtn focus';
|
||||
} else {
|
||||
_elDiv_LangBtn.className = 'langBtn';
|
||||
}
|
||||
_elDiv_LangBtn.id = __lang;
|
||||
_elDiv_LangBtn.setAttribute("lang_idx", _state["langTotalCnt"]);
|
||||
_elDiv_LangBtn.innerHTML = _langInf[__lang].name;
|
||||
_state["langTotalCnt"] += 1;
|
||||
_elLangSelButtonsDiv.append(_elDiv_LangBtn);
|
||||
}
|
||||
}
|
||||
|
||||
// Title
|
||||
_elLangSelTitleDiv.text(_trTbl.system.szsellanguage[_state.lang]);
|
||||
|
||||
// Usages
|
||||
_elLangSelUsageDiv.html(_trTbl.system.lang_sel_usage[_state.lang]);
|
||||
|
||||
// Draw Lang Buttons
|
||||
___ifxn_drawLangButtons();
|
||||
|
||||
// Language selection 프레임 활성화
|
||||
if ( _elLangSelDiv.css('display') == "none") {
|
||||
_elLangSelDiv.fadeIn(1000);
|
||||
}
|
||||
}
|
||||
|
||||
function __uifxn_AppFull_HandleLangSelect(_action, _cbFxn=null) {
|
||||
let _state = HotelTV.state;
|
||||
let _trTbl = HotelTV.translation;
|
||||
let _langInf = HotelTV.opening.languages;
|
||||
let _elLangSelDiv = $('.popup>.lang_selection');
|
||||
let _elLangSelCtrlDiv = $('.popup>.lang_selection .selector');
|
||||
let _elLangSelTitleDiv = _elLangSelCtrlDiv.children('.title');
|
||||
let _elLangSelUsageDiv = _elLangSelCtrlDiv.children('.usage');
|
||||
let _elLangSelButtonsDiv = _elLangSelCtrlDiv.children('.buttons');
|
||||
|
||||
|
||||
const ___ifxn_moveLangButton = function(_direction) {
|
||||
let selectedBtnItemCur = _elLangSelButtonsDiv.find('.focus');
|
||||
let selectedBtnItemNext = null;
|
||||
|
||||
if ( _direction=="down" ){
|
||||
selectedBtnItemNext = selectedBtnItemCur.next(".langBtn");
|
||||
} else if ( _direction=="up" ) {
|
||||
selectedBtnItemNext = selectedBtnItemCur.prev(".langBtn");
|
||||
}
|
||||
|
||||
selectedBtnItemCur.removeClass("focus");
|
||||
|
||||
if (selectedBtnItemNext.length) {
|
||||
selectedBtnItemNext.addClass('focus');
|
||||
}else{
|
||||
if ( _direction=="down" ){
|
||||
_elLangSelButtonsDiv.find('.langBtn').first().addClass("focus");
|
||||
} else if ( _direction=="up" ) {
|
||||
_elLangSelButtonsDiv.find('.langBtn').last().addClass("focus");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const __ifxn_sendNextLangUsrData = async function(_nextLang, __cbFxnFailure=null, __cbFxn_Success=null) {
|
||||
try {
|
||||
let _usrDataJson = {
|
||||
'next_lang': _nextLang,
|
||||
};
|
||||
_result = await HotelTV.api.SetUsrDataset(_usrDataJson);
|
||||
console.log("The app main page will be reloaded");
|
||||
window.location.replace('./app_hoteltv_full.html');
|
||||
} catch ( __err ){
|
||||
console.log("CALL API::>" + __err);
|
||||
_elLangSelDiv.fadeOut(1000, function() {
|
||||
if ( __cbFxnFailure ){ __cbFxnFailure(); }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ( _action=="up" ) {
|
||||
___ifxn_moveLangButton(_action);
|
||||
} else if ( _action=="down" ) {
|
||||
___ifxn_moveLangButton(_action);
|
||||
} else if ( _action=="back") {
|
||||
_elLangSelDiv.fadeOut(1000, function() {
|
||||
if ( _cbFxn ){ _cbFxn(); }
|
||||
});
|
||||
} else if ( _action=="enter") {
|
||||
if ( _elLangSelButtonsDiv.find('.focus').length ) {
|
||||
__ifxn_sendNextLangUsrData(_elLangSelButtonsDiv.find('.focus').attr('id'), _cbFxn);
|
||||
} else {
|
||||
__ifxn_sendNextLangUsrData("en-US", _cbFxn);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* HotelTV UI[AppFull] Wrapper Function::> Bottom Guide Bar UI mngr
|
||||
*/
|
||||
@@ -6767,6 +6887,9 @@ HotelTV.ui_appfull = (function() {
|
||||
} else if (_program[Number(_state.menu.main.cur)].service == "screenmirroring") {
|
||||
HotelTV.hcap.LaunchPreApp(_program[Number(_state.menu.main.cur)].service, null);
|
||||
}
|
||||
} else if (_program[Number(_state.menu.main.cur)].type.toLowerCase() == "language") {
|
||||
console.log("Preparing language select sub menu...");
|
||||
__uifxn_AppFull_Build_LangSel();
|
||||
} else {
|
||||
console.log(`Type:${_program[Number(_state.menu.main.cur)].type} doen's have sub menu...`);
|
||||
}
|
||||
@@ -6996,6 +7119,31 @@ HotelTV.ui_appfull = (function() {
|
||||
__uifxn_AppFull_HotKey_ShowBtnOnMM(true);
|
||||
});
|
||||
}
|
||||
} else if ( _state.menu.stage.cur == "language_selection" ) {
|
||||
console.log("HOTKEY(MM:LANGUAGE SELECTION: MENU) KEY EVENT::> " + _evt.keyCode);
|
||||
if (_evt.keyCode == gRmtKey.left) {
|
||||
console.log("LANGUAGE SELECTION::>LEFT");
|
||||
} else if (_evt.keyCode == gRmtKey.up) {
|
||||
console.log("LANGUAGE SELECTION::>UP");
|
||||
__uifxn_AppFull_HandleLangSelect("up");
|
||||
} else if (_evt.keyCode == gRmtKey.right) {
|
||||
console.log("LANGUAGE SELECTION::>RIGHT");
|
||||
} else if (_evt.keyCode == gRmtKey.down) {
|
||||
console.log("LANGUAGE SELECTION::>DOWN");
|
||||
__uifxn_AppFull_HandleLangSelect("down");
|
||||
} else if (_evt.keyCode == gRmtKey.enter) {
|
||||
console.log("LANGUAGE SELECTION::>ENTER");
|
||||
__uifxn_AppFull_HandleLangSelect("enter", function() {
|
||||
_state.menu.stage.cur = "main";
|
||||
__uifxn_AppFull_HotKey_ShowBtnOnMM(true);
|
||||
});
|
||||
} else if (_evt.keyCode == gRmtKey.back) {
|
||||
console.log("LANGUAGE SELECTION::>BACK");
|
||||
__uifxn_AppFull_HandleLangSelect("back", function() {
|
||||
_state.menu.stage.cur = "main";
|
||||
__uifxn_AppFull_HotKey_ShowBtnOnMM(true);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user