Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.45 KB | None | 0 0
  1. var js;
  2. var bool = {};
  3.  
  4. window.onTemplateReady = function () {
  5. vm = new ViewModel();
  6. ko.applyBindings(vm);
  7. };
  8.  
  9. window.onTemplateData = function (data) {
  10. switch (data.methodName) {
  11. case 'FloorListGet':
  12. vm.floorList(data.result.floorList);
  13. vm.roomTypes(data.result.roomTypes);
  14. js = ko.toJS(vm);
  15. console.log(js);
  16. this.initializeObject();
  17. this.filter('all','roomType');
  18. this.filter('all','status');
  19. this.filter('all','needCleaning');
  20. console.log(bool);
  21. break;
  22. case 'SetupGet': //not used
  23. console.log("SetupGet should not be running!");
  24. break;
  25. default:
  26. this.console.log("default");
  27. break;
  28. }
  29. };
  30.  
  31. window.onTemplateError = function (msg) {
  32. LS.ShowAlert(msg, 'error', 6000);
  33. };
  34.  
  35. var ViewModel = function () {
  36. this.floorList = ko.observableArray();
  37. this.roomTypes = ko.observableArray();
  38. };
  39.  
  40. function runMemberView(element) {
  41. element.classList.add("not-clickable");
  42. setTimeout(function () { element.classList.remove("not-clickable") }, 3000);
  43. resNo = element.getElementsByClassName("resNo")[0].innerText;
  44. depDate = element.getElementsByClassName("depDate")[0].innerText;
  45. arrDate = element.getElementsByClassName("arrDate")[0].innerText;
  46. roomStatus = element.getElementsByClassName("roomStatus")[0].innerText;
  47. if (resNo != '') {
  48. console.log(resNo);
  49. var url_l = '[#MEMBERHOTEL]lstmpl://#MEMBERHOTEL/RetailWebAPI/LoyaltyGet/?resNo=' + resNo;
  50. LS.SendPosCommand(this, 'NAVIGATE', url_l);
  51. var url_r = '[#HOTELLOYALTY]lstmpl://#HOTELLOYALTY/RetailWebAPI/GetMemberViewData/?resNo=' + resNo;
  52. LS.SendPosCommand(this, 'NAVIGATE', url_r);
  53.  
  54. //JIJ, inform POS what reservation number was selected
  55. LS.SendPosCommand(this, 'HTL-BROWSERPOS', resNo);
  56.  
  57. if (getTime() == arrDate && roomStatus != 'INHOUSE') {
  58. LS.SendPosCommand(this, 'SHOWPANELMODAL', '#HTL-CHECKIN');
  59. } else if (getTime() < depDate) {
  60. LS.SendPosCommand(this, 'SHOWPANELMODAL', '#HTL-RESERVATION');
  61. } else {
  62. LS.SendPosCommand(this, 'SHOWPANELMODAL', '#HTL-CHECKOUT');
  63. }
  64. }
  65. }
  66.  
  67. function getTime() {
  68. var today = new Date();
  69. var dd = String(today.getDate()).padStart(2, '0');
  70. var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
  71. var yyyy = today.getFullYear();
  72. today = yyyy + '-' + mm + '-' + dd;
  73. return today;
  74. }
  75.  
  76. function shouldBeRed(departsToday, status, arrivingGuest) {
  77. if (departsToday)
  78. return false;
  79. else if (status == 'INHOUSE')
  80. return true;
  81. }
  82.  
  83. function shouldBeOrange(status, arrivingGuest) {
  84. if (!arrivingGuest == '')
  85. return true;
  86. }
  87.  
  88. function checkmarkGreen(housekeepingStatus) {
  89. if (housekeepingStatus == 'Vacant Clean' || housekeepingStatus == 'Occupied Clean')
  90. return true;
  91. else
  92. return false;
  93. }
  94.  
  95. function getSetup() {
  96. cardsPerPage(data.result.setup[0].cardsPerRow);
  97. }
  98. function cardsPerPage(cards) {
  99. var cardsPercentage = (100 / cards);
  100. var roomCardElement = document.querySelectorAll(".roomCard");
  101. var roomCardWrapperElement = document.querySelectorAll(".roomCardWrapper");
  102. if (cards <= 7) {
  103. for (var i = 0; i < roomCardElement.length; i++) {
  104. roomCardWrapperElement[i].style.width = cardsPercentage + "%";
  105. }
  106. }
  107. else {
  108. for (var i = 0; i < roomCardElement.length; i++) {
  109. roomCardElement[i].classList.add('roomCardSmall');
  110. roomCardWrapperElement[i].style.width = cardsPercentage + "%";
  111. }
  112. }
  113. }
  114.  
  115. function filter(string,attribute) {
  116. var rooms, currentAttribute, currentRoom;
  117. rooms = document.getElementsByClassName("roomCardWrapper");
  118. for (var i = 0; i < rooms.length; i++) {
  119. currentAttribute = js.floorList[i][attribute];
  120. currentRoom = js.floorList[i].roomNo;
  121. if (string == currentAttribute.toString() || string == 'all')
  122. bool[currentRoom][attribute] = true;
  123. else
  124. bool[currentRoom][attribute] = false;
  125. if (allTrue(bool[currentRoom]))
  126. rooms[i].classList.remove('hide');
  127. else
  128. rooms[i].classList.add('hide');
  129. }
  130. return true;
  131. }
  132.  
  133. function initializeObject() {
  134. for (var i = 0; i < 38; i++) {
  135. var roomNo = js.floorList[i].roomNo;
  136. bool[roomNo] = {};
  137. }
  138. console.log(bool);
  139. }
  140.  
  141. function allTrue(obj) {
  142. for(i in obj)
  143. if(!obj[i]) return false;
  144. return true;
  145. }
  146.  
  147. LS.autoRefresh = function () {
  148. var filename = LS.FILENAME;
  149. var path = '/Templates/' + filename;
  150. var fullPath = path + '/' + filename;
  151. LS.SendToNav('#' + filename, fullPath + '.html', fullPath + '.js', fullPath + '.css');
  152. };
  153. if (!LS.isPOS) {
  154. LS.autoRefresh();
  155. }
  156. //# sourceMappingURL=HOTELBRICKVIEW.js.map
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement