From 8b0160bfda40bf50e447cccca53b146ce7d3f3dc Mon Sep 17 00:00:00 2001 From: "Joel,Kim" Date: Tue, 26 Apr 2022 16:43:11 +0900 Subject: [PATCH] issue #1 Fix weather icon issue - using openweather's one 1. Support unread message notification on widjet --- procentric/application/app_hoteltv_full.html | 5 +- .../application/hoteltv.app.full.widjet.css | 46 ++++++++++++++--- .../icons/icon_widjet_top_message_cnt.png | Bin 0 -> 1743 bytes procentric/application/lib/hoteltv.hcap.js | 3 +- .../application/lib/hoteltv.ui_appfull.js | 48 +++++++++++++++--- .../application/lib/hoteltv.ui_utils.js | 4 +- 6 files changed, 86 insertions(+), 20 deletions(-) create mode 100755 procentric/application/images/icons/icon_widjet_top_message_cnt.png diff --git a/procentric/application/app_hoteltv_full.html b/procentric/application/app_hoteltv_full.html index eaca156..19ea69f 100755 --- a/procentric/application/app_hoteltv_full.html +++ b/procentric/application/app_hoteltv_full.html @@ -195,8 +195,7 @@
-
-
+
@@ -443,7 +442,7 @@ case 409: HotelTV.hcap.PwrOff(); break; - case 458: // INFO Key + case 457: // INFO Key HotelTV.hcap.GetScrshot(); break; default: diff --git a/procentric/application/hoteltv.app.full.widjet.css b/procentric/application/hoteltv.app.full.widjet.css index 5e99b34..84d9043 100755 --- a/procentric/application/hoteltv.app.full.widjet.css +++ b/procentric/application/hoteltv.app.full.widjet.css @@ -42,38 +42,70 @@ /* SETP[#003-2]: Message */ +.widjet .top .message { + position: absolute; + top: -11px; + left: 1618px; + height: 100px; + /* float: left; */ + display: block; + padding: 24px 10px 10px 10px; +} + +.widjet .top .message #unread_cnt { + /* position: relative; */ + width: 66px; + height: 100%; + float: left; + background-image: url(images/icons/icon_widjet_top_message_cnt.png); + background-size: contain; + background-repeat: no-repeat; + padding: 4px 0px 0px 0px; + vertical-align: middle; + color: rgb(235, 235, 235); + font-size: 46px; + line-height: 52px; + text-align: center; +} + /* SETP[#003-3]: Weather */ .widjet .top .weather { position: absolute; - top: 7px; - left: 1420px; - height: 52px; + top: -11px; + left: 1370px; + height: 100px; float: left; background-image: none; background-size: contain; background-repeat: no-repeat; display: block; + margin: 7px 0px 0px 0px; } .widjet .top .weather #icon { position: relative; - top: 8px; + /* top: -10px; */ left: 16px; - width: 80px; - height: 52px; + width: 100px; + height: 100%; float: left; background-image: none; background-size: contain; background-repeat: no-repeat; + justify-content: center; + display: flex; + align-items: center; } .widjet .top .weather #temp { position: relative; left: 14px; float: left; - font-size: 64px; + font-size: 60px; + line-height: 100px; + vertical-align: middle; color: rgb(235, 235, 235); } diff --git a/procentric/application/images/icons/icon_widjet_top_message_cnt.png b/procentric/application/images/icons/icon_widjet_top_message_cnt.png new file mode 100755 index 0000000000000000000000000000000000000000..a03e3571d712684afdaa2d49bfaa9cb505cb46b9 GIT binary patch literal 1743 zcmV;=1~B=FP)A*@YrYP1Abll&1^cBEzJD zI!Q@AltDo+Qb)T&phXW6UOJ_r^wJHr&>~7A$Zp!j(y}5Ax(j7lX|2Wn6za^GGc(`b zv)9b`|H1D?^tkp~=lf=6?>%b+gb+dqA%qY@2qA>jgg)ZY;xO@Sv0a=XP8Fv&oZ9%a z_Qu~iqw#P0M2MFZWQaIToFy(0SBo3P9pXO)-O>0NtHk+@pM9lxLP=vHJum?76FXa6 zA%2hIMJ}rTpUcJ0Ml6Sh958X8@R@L*#y?Sh!F%&>aV^|0#Kq?Pi!Ku=Gh)rJYTkdz)geim8S?X*iT%B_zA14OB*>hiLQpdhWJUUyKjnzXDdm03>H5|{N%KX zy0&n9mco>Q?zGv8_(^Fsx4`XOii*zaeT(?XXjQ)xPwllzfjCCo+)IEoyk8^2RT)&?FB&F|Y{zm&RpV^M^`(QM97shbz38yF-_x1*=xHH$uS{AOT) zG+kY8_r7+Z*Zofo431_~7m&Q(56m$zD4NgCq(T-!CwsVyr+VrN;>ij1%*}EGgQ3NI zIia4pm||cMv^g*DR@IE?=7aYP41hN0IuzVUGQmLb)Q^{<0IwSeoci%q9#4!0QynELf+abIL$l7V1p7{?<6T?PWBVO)q_=qvtcAW#~{AH;o- z!WaWV(y)$33bz{wkcRa(q_EULfHbU6BZYMa0;FMm7d@bTak=haf48HD9>_-;2#%KH zKqN52Kwz{S&qM<41_Gnycp(y)Xdp0Jj)_ykR~QJ4mg5v8Fxfz0v>YcP0p0_&ju#<; zu?7O8<#-Mf7;GRgT8_se0o^UK(?D=EtUHmiGw2%w0n)H;LJBJl1W3dB0#bO;K!7x? zok)R`LG?HFEg@||${WG@s^=~CM=$V&(E7R(8Mwzlpfrp(AOph;1WNs@N82WD1W96p zfqov%Mo^i_!qV-W5O7}%h78(eg`tep2Ku@v!%Run7IrUx7!bi`s zQAG8?$#4^Ap% zGdy8nU^JT@$t7$KeU$jbz~E@QL642mQ$u(tv|Y8o!vQ^3&lA@h7%1)TFXBllb@R&o zB@BpWcZYa!YQ;RG?Z??q$cDPj%gghAUUYToxtzgLzwUy&Bu7L03a>!?M6{w>{F{3( zQF!zkP`^<-;V!e4Lfewx3%4IVb`q=Vm*TlO^KK4pPtG31`P4_e zMdBd^@@*2GG+Kc8iLHX~qXwV)|DzK|Jclq{UChz#+o>mdRF!#%pJ1!%?wyClL4~tx zoKxTyEMh0xn!kza_{owWd+yE?*t#e%rIQsjPQlm`;A-Rq2CShkKPaHbG7fH>jsG~xc>J1s;>a!;QG=Oy)5Vi zj&6t2%@KNtWxsO6C%(`H5PeTwR|B=fn9j1j1vgo=5pJ.mypage>.bg>.owl-carousel .owl-item.center #mp_msg_tblrec tbody .focus')[0]).attr('msgnum'); @@ -1874,7 +1874,9 @@ HotelTV.ui_appfull = (function() { //메시지 읽음 처리 HotelTV.api.SetMessageStatus(_cur_msgdesc._id); + _cur_msgdesc.read = true; $('.main>.mypage>.bg>.owl-carousel .owl-item #mp_msg_tblrec tr').filter("[msgidx='" + _cur_msglst_idx.toString() + "']").children('td#num').addClass('read'); + __uifxn_AppFull_Widjet_ShowMsgCnt(); }); } } @@ -3180,7 +3182,6 @@ HotelTV.ui_appfull = (function() { } - /** * HotelTV UI Wrapper Function::> Show Top Widjet Weather * @param {boolean} _en show/hide @@ -3193,6 +3194,37 @@ HotelTV.ui_appfull = (function() { } + /** + * HotelTV UI Wrapper Function::> Show Top Widjet Message Cnt(Unread) + * @param {boolean} _en show/hide + */ + function __uifxn_AppFull_Widjet_ShowMsgCnt(_en) { + let _msgCnt = 0; + const _state = HotelTV.state; + const _guest = HotelTV.guestinfo; + let _trTbl = HotelTV.translation; + const _get_unread_msgCnt = function(_object) { + let _msg_unread_cnt = 0; + for (__j = 1; __j <= _object.length; __j++) { + if (_object[__j].read == false) { + _msg_unread_cnt++; + } + } + return _msg_unread_cnt; + } + + _msgCnt = _get_unread_msgCnt(HotelTV.message); + if (_msgCnt > 0) { + $('.widjet .top .message #unread_cnt').text(_msgCnt.toString()); + $('.widjet .top .message').show(); + } else { + $('.widjet .top .message').hide(); + } + + $('div#lst_mypagebg div #mp_message_title').text(_guest.name + _trTbl.ui.mypage.message.title.title[_state.lang].replace("_XX", _msgCnt.toString())); + } + + /** * HotelTV UI Wrapper Function::> Build Main Menu::> Flight */ @@ -3361,11 +3393,7 @@ HotelTV.ui_appfull = (function() { let _wData = _weather.daily[Number(_idx) + 1]; let _time = _wData.dt_txt.split(' ')[1]; let _temp = _wData.main.temp; - //OpenWeather API관련 아이콘 URL을 가져오는 방법은 아래 링크 참조: - //https://openweathermap.org/weather-conditions - $(_eltbl_fc_daily_items[_idx]).css('background-image', 'url(http://openweathermap.org/img/wn/' + _wData.weather.icon + '@2x.png)'); - //$(_eltbl_fc_daily_items[_idx]).css('background-image', 'url(' + _weather.icon_image[_wData.weather.id] + ')'); - + $(_eltbl_fc_daily_items[_idx]).css('background-image', 'url(' + _weather.icon_image[_wData.weather.code] + ')'); $(_eltbl_fc_daily_items[_idx].children.time)[0].innerText = _time.split(":")[0] + ":" + _time.split(":")[1]; $(_eltbl_fc_daily_items[_idx].children.temp)[0].innerText = _temp.toString() + " °C"; } @@ -3491,6 +3519,9 @@ HotelTV.ui_appfull = (function() { //상단 날씨 아이콘 및 온도 표시 __uifxn_AppFull_Widjet_ShowWeather(); + //상단 메시지(unread)개수 표시 + __uifxn_AppFull_Widjet_ShowMsgCnt(); + // //상단 시계 표시 _hndl_widget_topTime = setInterval(() => { let _szCurTm = HotelTV.ui_utils.GetCur_DateTime(); @@ -4107,6 +4138,9 @@ HotelTV.ui_appfull = (function() { } } $('div#lst_mypagebg div #mp_message_title').text(_guest.name + _trTbl.ui.mypage.message.title.title[_state.lang].replace("_XX", _msg_unread_cnt.toString())); + + //widjet 상단 메시지(unread)개수 표시 + __uifxn_AppFull_Widjet_ShowMsgCnt(); }).catch(_error => { console.log("Fail to get Message info"); }); diff --git a/procentric/application/lib/hoteltv.ui_utils.js b/procentric/application/lib/hoteltv.ui_utils.js index 4c4f46b..50efca3 100755 --- a/procentric/application/lib/hoteltv.ui_utils.js +++ b/procentric/application/lib/hoteltv.ui_utils.js @@ -6,7 +6,7 @@ * @summary short description for the file * @author Joel * - * Created at : 2020-11-26 02:21:56 + * Created at : 2020-11-26 02:21:56 * Last modified : 2020-11-26 15:31:40 */ @@ -153,7 +153,7 @@ HotelTV.ui_utils = (function() { }, Get_FlightStatus: function(_obj, _status, _lang) { - if (_obj) { + if (_obj && _obj.hasOwnProperty(_status) == true) { if (_status && _status != "") { return _obj[_status][_lang] || _status; }