issue #11 Done amenity feature renewal at 1st step.

This commit is contained in:
Paul Kim
2024-03-18 09:50:07 +09:00
parent d9f0ee0e34
commit 02ad6a7055
3 changed files with 379 additions and 23 deletions

View File

@@ -527,6 +527,11 @@ HotelTV.ui_appfull = (function() {
}
};
}
let _elAmPupOoderRoot = $('.popup .amenity').children('.order');
if ( _elAmPupOoderRoot.css('display')!="none" ){
_elAmPupOoderRoot.hide();
}
return;
}
@@ -577,7 +582,8 @@ HotelTV.ui_appfull = (function() {
}
/**
* HotelTV UI[AppFull] Wrapper Function::> Draw amenity feature
* HotelTV UI[AppFull] Wrapper Function::> Draw amenity feature user's guide
* @param {string} _action
*/
function __uifxn_AppFull_DrawAmUserGuide(_action) {
let _state = HotelTV.state;
@@ -637,9 +643,138 @@ HotelTV.ui_appfull = (function() {
}
}
/**
* HotelTV UI[AppFull] Wrapper Function::> Draw amenity order history
* @param {string} _action
*/
function __uifxn_AppFull_DrawAmOrderList(_action) {
let _state = HotelTV.state;
let _trTbl = HotelTV.translation;
let _opening = HotelTV.opening;
let _order = HotelTV.orders.amenity;
let _aminfo_top = _opening.amenity;
let _aminfo_ctgy = _aminfo_top.menu;
let _elAmPupRoot = $('.popup .amenity');
let _elAmOrderRoot = _elAmPupRoot.children('.order');
let _elAmOrderWinleft = _elAmOrderRoot.children('.winleft');
let __status_am_specific = null;
const __ifxn_removeOrderElements = function(){
if ( _elAmOrderWinleft.children().length>0 ){
_elAmOrderWinleft.children().remove();
}
}
try{
// 어메니티 정보 오브젝트
_aminfo_top = _opening.amenity;
_aminfo_ctgy = _aminfo_top.menu;
__status_am_specific = _state.hotkey.mm[_aminfo_top.button].status;
let __amctgyIdx = __status_am_specific.category_sel.cur;
let __amctgyItemStatus = __status_am_specific.items[_aminfo_ctgy[__amctgyIdx].name];
switch(_action)
{
case 'hide': {
if ( _elAmOrderRoot.css('display')!="none" ){
_elAmOrderRoot.fadeOut(100);
}
} break;
case 'build': {
__ifxn_removeOrderElements();
////// ADD Table Header
var _elTbl_ItemsHdr = document.createElement('table');
_elTbl_ItemsHdr.className = "tbl_header";
let _elTBody_ItmesHdr = document.createElement('tbody');
{
_elTBody_ItmesHdr.setAttribute("id", "hdr");
var _elTr_ItmesHdr = document.createElement('tr');
var _elTh_ItmesHdr_Title = document.createElement('th');
_elTh_ItmesHdr_Title.setAttribute("id", "orderid");
_elTh_ItmesHdr_Title.textContent = _trTbl.ui.amenity.title.ordernum[_state.lang].toUpperCase();
_elTr_ItmesHdr.appendChild(_elTh_ItmesHdr_Title);
var _elTh_ItmesHdr_Amount = document.createElement('th');
_elTh_ItmesHdr_Amount.setAttribute("id", "amount");
_elTh_ItmesHdr_Amount.textContent = _trTbl.ui.amenity.title.amount[_state.lang].toUpperCase();
_elTr_ItmesHdr.appendChild(_elTh_ItmesHdr_Amount);
var _elTh_ItmesHdr_Status = document.createElement('th');
_elTh_ItmesHdr_Status.setAttribute("id", "date");
_elTh_ItmesHdr_Status.textContent = _trTbl.ui.amenity.title.orderdate[_state.lang].toUpperCase();
_elTr_ItmesHdr.appendChild(_elTh_ItmesHdr_Status);
_elTBody_ItmesHdr.appendChild(_elTr_ItmesHdr);
}
_elTbl_ItemsHdr.appendChild(_elTBody_ItmesHdr);
_elAmOrderWinleft.append(_elTbl_ItemsHdr);
////// Append item list record
var _elTbl_ItemsRec = document.createElement('table');
_elTbl_ItemsRec.className = "tbl_record";
let _elTBody_ItmesRec = document.createElement('tbody');
{
_elTBody_ItmesRec.setAttribute("id", "record");
for (let _j = 1; _j <= _order.orders.length; _j++) {
let _objChkAvail=null;
let _objItem = _order.orders[_j];
var _elTr_ItmesRec = document.createElement('tr');
var _elDiv_ItmesRec = document.createElement('div');
_elDiv_ItmesRec.className = "amOrderedItem";
var _elDiv_ItmesRecID = document.createElement('div');
_elDiv_ItmesRecID.setAttribute("id", "orderid");
_elDiv_ItmesRecID.textContent = _objItem.id.toUpperCase();
_elDiv_ItmesRec.appendChild(_elDiv_ItmesRecID);
var _elDiv_ItmesRecAmount = document.createElement('div');
_elDiv_ItmesRecAmount.setAttribute("id", "amount");
_elDiv_ItmesRecAmount.textContent = _objItem.amount[_state.lang].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + _aminfo_top.currency[_state.lang];
_elDiv_ItmesRec.appendChild(_elDiv_ItmesRecAmount);
var _elDiv_ItmesRecDate = document.createElement('div');
_elDiv_ItmesRecDate.setAttribute("id", "date");
_elDiv_ItmesRecDate.textContent = _objItem.createdAt;
_elDiv_ItmesRec.appendChild(_elDiv_ItmesRecDate);
_elTr_ItmesRec.appendChild(_elDiv_ItmesRec);
_elTBody_ItmesRec.appendChild(_elTr_ItmesRec);
}
_elTbl_ItemsRec.appendChild(_elTBody_ItmesRec);
}
_elAmOrderWinleft.append(_elTbl_ItemsRec);
var _elDiv_Summary = document.createElement('div');
_elDiv_Summary.className = "summary";
var _elDiv_Label = document.createElement('div');
_elDiv_Label.setAttribute("id", "label");
_elDiv_Label.textContent = _trTbl.ui.amenity.title.sum[_state.lang].toUpperCase();
_elDiv_Summary.appendChild(_elDiv_Label);
var _elDiv_Value = document.createElement('div');
_elDiv_Value.setAttribute("id", "value");
_elDiv_Value.textContent = _order.amount[_state.lang].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + _aminfo_top.currency[_state.lang];
_elDiv_Summary.appendChild(_elDiv_Value);
_elAmOrderWinleft.append(_elDiv_Summary);
if ( _elAmOrderRoot.css('display')=="none" ){
_elAmOrderRoot.fadeIn(100);
}
} break;
case "destroy": {
__ifxn_removeOrderElements();
} break;
}
}catch(_err){
console.log(`Fail to draw::> ${_err}`);
}
}
/**
* HotelTV UI[AppFull] Wrapper Function::> Draw amenity item selection cart ui
@@ -876,9 +1011,9 @@ HotelTV.ui_appfull = (function() {
_elDiv_QuntCtrlFrm.innerHTML = `<div id="img_thumbnail" style="background-image: url(${_aminfo_item.thumbnail.files[_state.lang].download});"></div>`;
var _elDiv_QuntCtrlFrmQuantity = document.createElement('div');
_elDiv_QuntCtrlFrmQuantity.className = "quantity";
_elDiv_QuntCtrlFrmQuantity.innerHTML = `<div id="lable_quantity">${_trTbl.ui.amenity.title.quantity[_state.lang].toUpperCase()}</div>`;
_elDiv_QuntCtrlFrmQuantity.innerHTML = `<div id="label_quantity">${_trTbl.ui.amenity.title.quantity[_state.lang].toUpperCase()}</div>`;
_elDiv_QuntCtrlFrmQuantity.innerHTML += `<div id="value_quantity"></div>`;
_elDiv_QuntCtrlFrmQuantity.innerHTML += `<div id="lable_amount">${_trTbl.ui.amenity.title.amount[_state.lang].toUpperCase()}</div>`;
_elDiv_QuntCtrlFrmQuantity.innerHTML += `<div id="label_amount">${_trTbl.ui.amenity.title.amount[_state.lang].toUpperCase()}</div>`;
_elDiv_QuntCtrlFrmQuantity.innerHTML += `<div id="value_amount"></div>`;
_elDiv_QuntCtrlFrm.append(_elDiv_QuntCtrlFrmQuantity);
_elAmCtgyBgMenuItemCartWinLeft.append(_elDiv_QuntCtrlFrm);
@@ -955,7 +1090,7 @@ HotelTV.ui_appfull = (function() {
//// Quantity Window Title
let _elDiv_CartWinSummary = document.createElement('div');
_elDiv_CartWinSummary.className = "summary";
_elDiv_CartWinSummary.innerHTML = `<div id="lable">${_trTbl.ui.amenity.title.sum[_state.lang].toUpperCase()}</div>`;
_elDiv_CartWinSummary.innerHTML = `<div id="label">${_trTbl.ui.amenity.title.sum[_state.lang].toUpperCase()}</div>`;
_elDiv_CartWinSummary.innerHTML += `<div id="value">${_carts.amount[_state.lang].toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + _aminfo_top.currency[_state.lang]}</div>`;
_elAmCtgyBgMenuItemCartWinRight.append(_elDiv_CartWinSummary);
}
@@ -1160,8 +1295,10 @@ HotelTV.ui_appfull = (function() {
_elAmCtgyBgMenuItemCartWinLeft.find('.buttons').find('.focus').removeClass('focus');
_elAmCtgyBgMenuItemCartWinLeft.find('.buttons').find('#btn_addtocart').addClass('focus');
} else if ( _str_curBtnID=='btn_addtocart' ){
_elAmCtgyBgMenuItemCartWinLeft.find('.buttons').find('.focus').removeClass('focus');
_elAmCtgyBgMenuItemCartWinLeft.find('.buttons').find('#btn_ordernow').addClass('focus');
if ( _elAmCtgyBgMenuItemCartWinRight.find('.tbl_record').children().length>0 ){
_elAmCtgyBgMenuItemCartWinLeft.find('.buttons').find('.focus').removeClass('focus');
_elAmCtgyBgMenuItemCartWinLeft.find('.buttons').find('#btn_ordernow').addClass('focus');
}
}
} break;
@@ -1557,6 +1694,7 @@ HotelTV.ui_appfull = (function() {
if ( ["ORDER", "CARTS"].includes(_aminfo_ctgy[_idx].name)==true )
{
_elDiv_ItemWinLeft.classList.add(_aminfo_ctgy[_idx].name.toLowerCase());
_elDiv_ItemWinLeft.style.display = 'none';
}
else
{
@@ -1783,6 +1921,12 @@ HotelTV.ui_appfull = (function() {
});
}, 500);
}
} else if (_state.menu.stage.cur == "amenity_ctgy_orderlists") {
if (event.keyCode == gRmtKey.left) {
_elAmCtgySel.trigger('prev.owl', [700]);
} else if (event.keyCode == gRmtKey.right) {
_elAmCtgySel.trigger('next.owl', [700]);
}
} else if (_state.menu.stage.cur == "amenity_ctgy_item_sel") {
if (event.keyCode == gRmtKey.left) {
__uifxn_AppFull_DrawAmItemSeletion("plus");
@@ -1878,6 +2022,14 @@ HotelTV.ui_appfull = (function() {
console.log("TODO::> Draw Carts");
}else if ( _aminfo_ctgy[__status_am_specific.category_sel.cur].name == "ORDER" ){
console.log("TODO::> Draw Order");
__uifxn_AppFull_DrawAmOrderList('build');
_state.menu.stage.prev = _state.menu.stage.cur;
_state.menu.stage.cur = "amenity_ctgy_orderlists";
}else{
__uifxn_AppFull_DrawAmOrderList('hide');
if ( _state.menu.stage.prev!=null ){
_state.menu.stage.cur = _state.menu.stage.prev;
}
}
}
_elAmCtgyBg.trigger("to.owl.carousel", [event.page.index, 1000]);
@@ -1921,8 +2073,8 @@ HotelTV.ui_appfull = (function() {
}
// Draw Titile and message
_elRsOderAlertOrderComplete.children("#title").text(_trTbl.ui.amenity.title.ordercomplete[_state.lang]);
_elRsOderAlertOrderComplete.children("#message").text(_trTbl.ui.amenity.usage.orderAlertComplete[_state.lang]);
_elRsOderAlertOrderComplete.children("#title").text(_trTbl.ui.roomservice.title.ordercomplete[_state.lang]);
_elRsOderAlertOrderComplete.children("#message").text(_trTbl.ui.roomservice.usage.orderAlertComplete[_state.lang]);
if (_elRsOderAlertOrderComplete.css('display') == "none") {
_elRsOderAlertOrderComplete.show();