Guest User

Untitled

a guest
Mar 15th, 2018
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.97 KB | None | 0 0
  1. define(['ojs/ojcore', 'knockout', 'jquery', 'appController', 'Util/ServiceConfig', 'Util/preloader',
  2. 'ojs/ojknockout', 'promise', 'ojs/ojinputtext', 'ojs/ojlabel', 'ojs/ojbutton', 'ojs/ojlistview', 'ojs/ojarraydataprovider'
  3. ], function (oj, ko, $, app, service, preloader) {
  4.  
  5. function DirectoryViewModel(params) {
  6. var self = this;
  7.  
  8. // self.router = params.ojRouter.parentRouter;
  9.  
  10. self.profileUser = ko.observable("");
  11. self.loggedInUser = ko.observable("");
  12. self.loggedInPass = ko.observable("");
  13. var logged = localStorage.getItem("loggedInUser");
  14. if ((logged != '') || (logged != 'undefined') || (logged != null)) {
  15. self.profileUser(localStorage.getItem("loggedInUser"));
  16. self.loggedInUser(localStorage.getItem("loggedInUser"));
  17. self.loggedInPass(localStorage.getItem("loggedInPass"));
  18. }
  19.  
  20. self.nameSearch = ko.observable('');
  21. self.name = ko.observable('');
  22. self.start = ko.observable(0);
  23. self.end = ko.observable(10);
  24. self.isFocussed = ko.observable(false);
  25.  
  26. self.datasource = ko.observableArray([]);
  27. self.dataProvider = ko.observable();
  28.  
  29. self.Search = function () {
  30. self.name(self.nameSearch());
  31. self.datasource([]);
  32. self.start(0);
  33. self.end(10);
  34. $("#loadMore").hide();
  35. localStorage.setItem('previousData', null);
  36. preloader.showPreloader();
  37. service.loadDirectory(self.nameSearch(), self.start(), self.end(), self.loggedInUser(), self.loggedInPass()).then(searchSuccessCB, searchFailCB);
  38. };
  39.  
  40. self.loadProfilePage = function (event) {
  41. console.log(event.detail.value);
  42. var user = event.detail.value[0];
  43. user = user.split(' ').join('.');
  44. user = user.toLowerCase();
  45. if (user !== self.loggedInUser())
  46. params.ojRouter.parentRouter.go('profile/' + event.detail.value);
  47. else
  48. params.ojRouter.parentRouter.go('myprofile');
  49. localStorage.setItem("previousData", JSON.stringify(self.datasource()));
  50. localStorage.setItem("startNum", self.start());
  51. localStorage.setItem("endNum", self.end());
  52. localStorage.setItem("name", self.name());
  53. };
  54.  
  55. self.loadMore = function () {
  56. console.log("Entering inside Load More...");
  57. $("#loadMore").hide();
  58. preloader.showPreloader();
  59. service.loadDirectory(self.name(), self.start(), self.end(), self.loggedInUser(), self.loggedInPass()).then(searchSuccessCB, searchFailCB);
  60. };
  61.  
  62. function searchSuccessCB(data) {
  63. if (data.DATA_DS.EMPLOYEE != null) {
  64. console.log("getvalues.success: ");
  65. console.log(data);
  66. console.log(data.DATA_DS.EMPLOYEE);
  67. console.log("Number of Rows");
  68. console.log(data.DATA_DS.EMPLOYEE[0].TOTAL_RN[0]);
  69. console.log(data.DATA_DS.EMPLOYEE[0].length);
  70. for (i = 0; i < data.DATA_DS.EMPLOYEE.length; i++) {
  71. var obj = {};
  72. obj.directname = data.DATA_DS.EMPLOYEE[i].DISPLAY_NAME;
  73. console.log(data.DATA_DS.EMPLOYEE[i]);
  74. console.log("Checking index");
  75. if (data.DATA_DS.EMPLOYEE[i].hasOwnProperty("EMP_IMAGE"))
  76. {
  77. console.log("contains image");
  78. obj.directPictureURL = formatBaseImage(data.DATA_DS.EMPLOYEE[i].EMP_IMAGE[0].IMAGE[0]);
  79. } else
  80. {
  81. console.log("No image");
  82. obj.directPictureURL = null;
  83. }
  84.  
  85. obj.directDesig = data.DATA_DS.EMPLOYEE[i].JOB_TITLE;
  86. obj.directArea = data.DATA_DS.EMPLOYEE[i].DEPARTMENT;
  87. self.datasource.push(obj);
  88. }
  89. self.dataProvider(new oj.ArrayDataProvider(self.datasource(),
  90. {keys: self.datasource().map(function (value) {
  91. return value.directname;
  92. })}));
  93. console.log("Start and end values are -->");
  94. console.log(data.DATA_DS.P_START[0]);
  95. console.log(data.DATA_DS.P_END[0]);
  96. var nmb_row = parseFloat(data.DATA_DS.EMPLOYEE[0].TOTAL_RN[0]);
  97. var end_num = parseFloat(data.DATA_DS.P_END[0]);
  98. console.log(nmb_row);
  99. console.log(end_num);
  100. console.log(typeof (nmb_row));
  101. console.log(typeof (end_num));
  102. if (nmb_row > end_num)
  103. {
  104. console.log("Show Load More");
  105. $("#loadMore").show();
  106. localStorage.setItem("loadMoreFlag", 1);
  107.  
  108. } else
  109. {
  110. console.log("Hide Load More");
  111. $("#loadMore").hide();
  112. localStorage.setItem("loadMoreFlag", 0);
  113. }
  114. var new_Pstart = +data.DATA_DS.P_END[0] + +1;
  115. var new_Pend = +data.DATA_DS.P_END[0] + +10;
  116. console.log(new_Pstart);
  117. console.log(new_Pend);
  118. self.start(new_Pstart);
  119. self.end(new_Pend);
  120. } else {
  121. console.log("No Data Found");
  122. $('.Meeting_details').text("No Data Found");
  123. }
  124. preloader.hidePreloader();
  125. }
  126. function searchFailCB(error) {
  127. preloader.hidePreloader();
  128. console.log("Search get values Error: ");
  129. console.log(error);
  130. }
  131. function formatBaseImage(baseString)
  132. {
  133. str = baseString.replace(/[\n\r]/g, '');
  134. base64str = 'data:image/jpeg;base64,' + str;
  135. return base64str;
  136. }
  137.  
  138. self.cancelClick = function (event) {
  139. event.preventDefault();
  140. $(".oj-applayout-content").css("padding-top", "60px");
  141. $(".oj-applayout-fixed-top").slideDown(400, "linear");
  142. $(".search-cancel-btn").addClass("oj-sm-hide");
  143. $(".search_btn").addClass("oj-sm-hide");
  144. $("#search-input .oj-inputtext-input").attr('type', 'text');
  145. $('.search_bar').animate({top: '0', marginTop: '1.5%'}, 400);
  146. $('.oj-hybrid-padding').animate({paddingTop: '0'}, 400);
  147. $(".home-search-bar-background .oj-inputtext-input").removeClass('search_opened');
  148. $(".home-search-bar-background .oj-inputtext-input").animate({backgroundPosition: '50%'}, 400);
  149. $(".home-search-bar-background").animate({backgroundImage: 'url(css/images/ios_search_icon.png)'}, 400);
  150. self.nameSearch("");
  151. $(".opaque-layer-for-content").addClass("oj-sm-hide");
  152. };
  153. function rawValueChangeCallback(event) {
  154. if (self.isFocussed()) {
  155. if (event['detail']['value'])
  156. {
  157. self.nameSearch(event['detail']['value']);
  158. $(".search_btn").removeClass("oj-sm-hide");
  159. $(".opaque-layer-for-content").addClass("oj-sm-hide");
  160. $(".home-search-bar-background .oj-inputtext-input").css("background-image", "none");
  161. } else
  162. {
  163. $(".home-search-bar-background .oj-inputtext-input").css("background-image", "url(css/images/ios_search_icon.png)");
  164. $(".search_btn").addClass("oj-sm-hide");
  165. }
  166. } else {
  167. $(".opaque-layer-for-content").addClass("oj-sm-hide");
  168. $(".home-search-bar-background").removeClass("active");
  169. }
  170. }
  171.  
  172.  
  173. // Header Config
  174. self.headerConfig = {'viewName': 'header', 'viewModelFactory': app.getHeaderModel()};
  175.  
  176. self.handleActivated = function (info) {
  177. // Implement if needed
  178. };
  179.  
  180. self.handleAttached = function (info) {
  181. $("#search-input").focusin(function () {
  182. console.log('focussed in..');
  183. self.isFocussed(true);
  184. $(".oj-applayout-fixed-top").slideUp(400, "linear");
  185. $(".oj-applayout-content").css("padding-top", "0px");
  186. $('.search_bar').animate({top: '1.5rem'});
  187. $("#search-input .oj-inputtext-input").attr('type', 'search');
  188. $(".oj-hybrid-padding").animate({paddingTop: '1.625rem'}, 400);
  189. $(".home-search-bar-background .oj-inputtext-input").animate({backgroundPosition: '5px'}, 400);
  190. $(".home-search-bar-background .oj-inputtext-input").addClass('search_opened');
  191. $(".search-cancel-btn").removeClass("oj-sm-hide");
  192. if (self.nameSearch().length === 0) {
  193. $(".opaque-layer-for-content").removeClass("oj-sm-hide");
  194. }
  195. });
  196. document.getElementById("search-input").addEventListener('rawValueChanged', rawValueChangeCallback);
  197. $("#search-input").keydown(function (event) {
  198. if (event.keyCode === 13) {
  199. event.preventDefault();
  200. $('.search_btn').trigger('click');
  201. document.activeElement.blur();
  202. }
  203. });
  204.  
  205. self.datasource(JSON.parse(localStorage.getItem("previousData")));
  206. localStorage.setItem("previousData", null);
  207. console.log(self.datasource());
  208. var loadMoreFlag = localStorage.getItem("loadMoreFlag");
  209. if (self.datasource() != null)
  210. {
  211. self.dataProvider(new oj.ArrayDataProvider(self.datasource(),
  212. {keys: self.datasource().map(function (value) {
  213. return value.directname;
  214. })}));
  215. if (loadMoreFlag === '1') {
  216. $("#loadMore").show();
  217. self.start(localStorage.getItem("startNum"));
  218. self.end(localStorage.getItem("endNum"));
  219. self.name(localStorage.getItem("name"))
  220. } else {
  221. $("#loadMore").hide();
  222. }
  223. }
  224.  
  225. Keyboard.hideFormAccessoryBar(true, function (success) {
  226. console.log("Done key hided: " + success);
  227. });
  228. };
  229.  
  230. self.handleBindingsApplied = function (info) {
  231. // Implement if needed
  232. };
  233. self.handleDetached = function (info) {
  234. // Implement if needed
  235. Keyboard.hideFormAccessoryBar(false, function (success) {
  236. console.log("Done key hided: " + success);
  237. });
  238. };
  239. }
  240. return DirectoryViewModel;
  241. });
Add Comment
Please, Sign In to add comment