Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

navigationhelper.js 49KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Unibase;
  11. (function (Unibase) {
  12. let Themes;
  13. (function (Themes) {
  14. let Compact;
  15. (function (Compact) {
  16. class NavigationHelper {
  17. constructor() {
  18. this.detailsViewIndex = 1;
  19. this.fileCacheHelper = Unibase.Platform.Helpers.FileCacheHelper.Instance();
  20. }
  21. login(callback) {
  22. let _idntityCookie = Unibase.Platform.Helpers.CookieHelper.Instance().getIdentityCookie();
  23. if (_idntityCookie != '' && _idntityCookie != undefined) {
  24. window.location.href = '#/welcome';
  25. $('.modal').modal('hide');
  26. }
  27. else {
  28. var instance = this;
  29. jQuery("#external-form").html('');
  30. if (isMobileApp()) {
  31. Unibase.Platform.Helpers.MobileHelper.Instance().checkCredentials();
  32. }
  33. else {
  34. instance.popin(0, "external-form", Unibase.Themes.Providers.Login.Instance(), null);
  35. }
  36. }
  37. }
  38. registerUser(callback) {
  39. var instance = this;
  40. instance.popin(0, "external-form", Unibase.Themes.Providers.Register.Instance(), callback);
  41. }
  42. signup(callback) {
  43. var instance = this;
  44. instance.popin(0, "external-form", Unibase.Themes.Providers.SignUp.Instance(), null);
  45. }
  46. createcontact(callback) {
  47. var instance = this;
  48. instance.popin(0, "external-form", Unibase.Themes.Providers.CreateCustomer.Instance(), null);
  49. }
  50. forgotPassword(callback) {
  51. var instance = this;
  52. instance.popin(0, "external-form", Unibase.Themes.Providers.ForgotPassword.Instance(), null);
  53. }
  54. logOff(callback) {
  55. var instance = this;
  56. jQuery("#external-form").html('');
  57. instance.popin(0, "external-form", Unibase.Themes.Providers.Login.Instance(), null);
  58. }
  59. register(unibaseid, tenantid, email, phonenumber, callback) {
  60. var instance = this;
  61. this.fileCacheHelper.loadJsFile('tenants/themes/compact/components/confirmregister/mobilregister.js', function () {
  62. instance.popin(0, "external-form", Unibase.Themes.Compact.Components.MobilRegister.Instance(), function (containerid, component) {
  63. var obj = Unibase.Themes.Compact.Components.MobilRegister.Instance();
  64. obj.userid = unibaseid;
  65. obj.tenant = tenantid;
  66. obj.email = email;
  67. obj.phonenumber = phonenumber;
  68. var detail = component;
  69. detail.register(obj);
  70. if (callback != null)
  71. callback();
  72. });
  73. });
  74. }
  75. welcome(callback, isdocument) {
  76. let _filecahe = this.fileCacheHelper;
  77. Unibase.Platform.Membership.Managers.AccountManager.Instance().IsValidSession().then(function (isvalid) {
  78. if (isvalid) {
  79. if (!isdocument) {
  80. $('.preloader-it').remove();
  81. Unibase.Themes.Compact.Components.Index.Instance().init(callback);
  82. }
  83. else if (isdocument === true) {
  84. Unibase.Themes.Compact.Components.Index.Instance().documentinit(callback);
  85. }
  86. else if ((isdocument == 'detail') || (isdocument == 'form') || (isdocument == 'List') || (isdocument == 'notifiList')) {
  87. Unibase.Themes.Compact.Components.Index.Instance().detailsInit(callback);
  88. }
  89. else if (isdocument == 'ChatFull') {
  90. Unibase.Themes.Compact.Components.Index.Instance().init(callback);
  91. }
  92. }
  93. else {
  94. Unibase.Platform.Helpers.CookieHelper.Instance().setIdentityCookie('');
  95. window.location.href = '#/login';
  96. }
  97. });
  98. }
  99. _loadWelcomeFirst(callback) {
  100. var cacheHelper = this.fileCacheHelper;
  101. if (cacheHelper.isFileRegistered("tenants/themes/compact/index.js")) {
  102. if (callback !== null)
  103. callback();
  104. }
  105. else {
  106. this.welcome(callback);
  107. }
  108. }
  109. sleep(ms) {
  110. return new Promise(resolve => setTimeout(resolve, ms));
  111. }
  112. popin(id, containerid, component, callback) {
  113. var instance = this;
  114. if (component.cssFiles() !== []) {
  115. this.fileCacheHelper.loadCssFiles(component.cssFiles(), null);
  116. }
  117. this.fileCacheHelper.loadJsFiles(component.jsFiles(), function () {
  118. var panel = containerid;
  119. if (panel === "" || panel === undefined)
  120. panel = '_modal_bizgaze_edit_' + moment().unix();
  121. if (panel != "external-form" && panel != "" && !panel.includes("div_portletwidget_") && !panel.includes("div_dashboardportletwidget_") && $.inArray(panel, Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds)) {
  122. if (Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.find(x => x == panel) == undefined) {
  123. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.push(panel);
  124. }
  125. }
  126. if (($("#" + panel).length <= 0) && (!panel.includes('div_dashboardportletwidget') && !panel.includes("div_portletwidget_"))) {
  127. var detailhtml = '<div class="_bizgaze_detail_container bg-cyan-light-5-removed p-0 col-sm" id="' + panel + '"></div>';
  128. $("#layout-detail").before(detailhtml);
  129. }
  130. var html = component.html(id, panel);
  131. $('#' + panel).html(html);
  132. $("#" + panel).find(".btn-close").click(function () {
  133. instance.close(panel, null);
  134. });
  135. if (!containerid.includes("_modal_bizgaze_popup_") && instance.detailsViewIndex == 1) {
  136. $("._bizgaze_detail_container").addClass("hidden");
  137. }
  138. $('#' + panel).removeClass("hidden");
  139. if ($("#" + panel).length <= 0) {
  140. panel = "_bizgaze_body";
  141. }
  142. $("#" + panel).find(".header").addClass("modal-header").removeClass("header");
  143. $("#" + panel).find(".footer").addClass("modal-footer").removeClass("footer");
  144. $("#" + panel).find(".scrollable").addClass("modal-body").addClass("bg-cyan-light-5-removed").removeClass("scrollable");
  145. $('._bizgaze_popup_container').find(".card-footer").find(".col-7").addClass("d-none");
  146. $('._bizgaze_popup_container').find(".card-footer").removeClass("d-none").addClass("z-index-9");
  147. $('._bizgaze_popup_container').find(".btnClose").removeClass("hidden btn-primary pull-right").addClass("btn-outline-danger");
  148. $("#" + panel).off('remove').on("remove", function () {
  149. const ModalContainers = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds;
  150. if (ModalContainers.find(x => x == panel) != undefined) {
  151. ModalContainers.splice($.inArray(panel, ModalContainers), 1);
  152. }
  153. instance.updateDefaultWidgetValues(panel);
  154. });
  155. var deductHeight = 90;
  156. if ($(document).width() < 1200) {
  157. $("#" + panel).find(".modal-body").removeClass("w-f");
  158. deductHeight = 160;
  159. }
  160. $("#" + panel).find(".modal-body").css("overflow", "hidden auto");
  161. component.load(id, panel, function () {
  162. if (callback != null) {
  163. callback();
  164. }
  165. });
  166. if (callback != null) {
  167. callback(containerid, component);
  168. }
  169. });
  170. }
  171. popup(id, containerid, component, callback, size) {
  172. $(".biz-submenu").css({ "z - index": "1040" });
  173. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  174. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  175. if (component.cssFiles() !== []) {
  176. this.fileCacheHelper.loadCssFiles(component.cssFiles(), null);
  177. }
  178. $('.preloader-it').attr('data-preloader', 'preloaderForm');
  179. var instance = this;
  180. this.fileCacheHelper.loadJsFiles(component.jsFiles(), function () {
  181. var panel = containerid;
  182. if (panel === "" || panel === undefined)
  183. panel = '_modal_bizgaze_popup_' + moment().unix();
  184. if (panel != "" && !panel.includes("div_portletwidget_") && !panel.includes("div_dashboardportletwidget_") && $.inArray(panel, Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds)) {
  185. if (Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.find(x => x == panel) == undefined) {
  186. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.push(panel);
  187. }
  188. }
  189. let width = 0;
  190. if ($("#" + panel).length <= 0) {
  191. let colSpan = "col-sm-9";
  192. if (size === Unibase.Platform.Helpers.Size.Mini) {
  193. colSpan = "col-sm-4";
  194. }
  195. else if (size === Unibase.Platform.Helpers.Size.Medium) {
  196. colSpan = "col-sm-6";
  197. }
  198. else if (size === Unibase.Platform.Helpers.Size.Large) {
  199. colSpan = "col-sm-8";
  200. }
  201. else if (size === Unibase.Platform.Helpers.Size.ExtraLarge) {
  202. colSpan = "col-sm-12";
  203. }
  204. else if (size === Unibase.Platform.Helpers.Size.DockRight) {
  205. colSpan = "";
  206. width = ($(document).width() - 258);
  207. }
  208. let supportAttr = '';
  209. if (typeof id === 'string') {
  210. if (id != undefined && id.includes != undefined) {
  211. if ((id.includes('ticketcreate') || id.includes('ticket')) && !id.includes('ticketlist')) {
  212. supportAttr = 'data-isticketcreate="true"';
  213. }
  214. }
  215. }
  216. var modalhtml = '<div class="_bizgaze_popup_container shadow-left shadow-xl modal right ml-auto bg-light ' + colSpan + ' p-0" id="' + panel + '" ' + supportAttr + '></div>';
  217. $("#_bizgaze_modal").before(modalhtml);
  218. }
  219. if ($("#" + panel).length <= 0) {
  220. panel = "_bizgaze_body";
  221. }
  222. $('#' + panel).html(component.html(id, panel));
  223. $("#" + panel).find(".btn-close").click(function () {
  224. instance.closePopUp();
  225. });
  226. if (Unibase.Themes.Compact.Components.Index.Instance().isIframe) {
  227. if (Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isForm) {
  228. $("#" + panel).find(".btn_CloseForm ").on("click", function () {
  229. window.parent.postMessage('closeForm_detailIframe', '*');
  230. });
  231. }
  232. $("#" + panel).find(".btn_CloseForm ").on("click", function () {
  233. $("#" + panel).find('.modal-header .close').click();
  234. window.parent.postMessage('closeForm', '*');
  235. });
  236. }
  237. if (Unibase.Themes.Providers.DetailHelper.isListStages) {
  238. $("#" + panel).find(".btn_CloseForm ").on("click", function () {
  239. Unibase.Themes.Compact.Components.Nav.Instance().isListRefresh();
  240. });
  241. }
  242. $("#" + panel).off('remove').on("remove", function () {
  243. var ModalContainers = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds;
  244. if (ModalContainers.find(x => x == panel) != undefined) {
  245. ModalContainers.splice($.inArray(panel, ModalContainers), 1);
  246. }
  247. instance.loadReportPopUpSettings(panel, ModalContainers);
  248. instance.updateDefaultWidgetValues(panel);
  249. });
  250. $("#" + panel).find(".header,.modal-header").addClass("modal-header pa-10").removeClass("header");
  251. $("#" + panel).find(".footer,.modal-footer").addClass("modal-footer pa-10").removeClass("footer");
  252. if ($("#" + panel).find('.modal-body').siblings(".card-header").length) {
  253. $("#" + panel).find('.modal-body').siblings(".card-header").addClass("modal-header pa-10").removeClass("card-header");
  254. }
  255. if ($("#" + panel).find('.modal-body').siblings(".card-footer").length) {
  256. $("#" + panel).find('.modal-body').siblings(".card-footer").addClass("modal-footer pa-10").removeClass("card-footer");
  257. }
  258. if (!$("#" + panel).find(".scrollable").hasClass('biz-detail-page-view')) {
  259. $("#" + panel).find(".scrollable").addClass("modal-body simple-scroll-bar bg-cyan-light-5").removeClass("scrollable").attr('data-simplebar', '');
  260. }
  261. if (width !== 0)
  262. $("#" + panel).width(width);
  263. if ($(document).width() < 600) {
  264. $("#" + panel).find(".modal-body").addClass("px-0");
  265. }
  266. $(document).off('shown.bs.modal', '#' + panel).on('shown.bs.modal', '#' + panel, function () {
  267. component.load(id, panel, callback);
  268. instance.loadReportPopUpSettings(panel);
  269. if (callback != null) {
  270. callback(panel);
  271. }
  272. if (!Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isPopupPage) {
  273. instance.setPopUpBodyHeight('#' + panel);
  274. }
  275. });
  276. $('#' + panel).modal({ backdrop: 'static', show: true });
  277. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  278. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  279. $(".biz-submenu").css({ "z-index": "1040" });
  280. if (id != 0 && id.includes != undefined) {
  281. if ((id.includes('ticketcreate') || id.includes('ticket')) && !id.includes('ticketlist')) {
  282. $('#div_Footer').addClass('hidden');
  283. }
  284. }
  285. });
  286. }
  287. setPopUpBodyHeight(panelId) {
  288. let headerHeight = 0, footerHeight = 0, deductHeight = 0;
  289. let panel = $(panelId);
  290. let bodyEl = panel.find('.modal-body');
  291. if (bodyEl.siblings(".modal-header").length) {
  292. let headerEl = bodyEl.siblings(".modal-header");
  293. headerHeight = headerEl.outerHeight(true);
  294. if (headerHeight != 0 && headerHeight < 45) {
  295. headerEl.css({ 'height': '45px', 'overflow-y': 'auto' });
  296. headerHeight = 45;
  297. }
  298. }
  299. if (bodyEl.siblings(".modal-footer").length) {
  300. footerHeight = bodyEl.siblings(".modal-footer:visible").outerHeight(true);
  301. }
  302. if (headerHeight && footerHeight) {
  303. deductHeight = headerHeight + footerHeight;
  304. if (Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isDetailsPage) {
  305. deductHeight = headerHeight + footerHeight + 50;
  306. }
  307. bodyEl.css({ "height": `${window.innerHeight - deductHeight}px`, "overflow": "hidden auto" }).attr('data-deductheight', `${deductHeight}`);
  308. }
  309. else {
  310. deductHeight = 143;
  311. bodyEl.height(window.innerHeight - deductHeight).css("overflow", "hidden auto");
  312. }
  313. }
  314. loadReportPopUpSettings(panel, modalContainers) {
  315. const indexInstance = Unibase.Themes.Compact.Components.Index.Instance();
  316. if (modalContainers) {
  317. panel = modalContainers[modalContainers.length - 1];
  318. }
  319. if (this.isReportPopup(panel) || panel.includes('_modal_bizgaze_detail_')) {
  320. const containerEl = $(`#${panel}`);
  321. $('body').addClass('active-report-popup');
  322. if (!indexInstance.desktopMode || !indexInstance.isLeftLayout()) {
  323. const navbarHeight = $('.navbar.biz-navbar').outerHeight(true);
  324. containerEl.css('margin-top', `${navbarHeight}px`);
  325. }
  326. else {
  327. const sideNavWidth = $('#biz-right-side-menu').outerWidth(true);
  328. containerEl.css({ 'margin-right': `${sideNavWidth}px`, width: `calc(100% - ${sideNavWidth}px)` });
  329. }
  330. if (indexInstance.desktopMode && indexInstance.isTopLeftLayout()) {
  331. let isNavVisible = 'true';
  332. if ($('.biz-layout-3-left-nav').hasClass('biz__nav__toggle')) {
  333. isNavVisible = 'false';
  334. }
  335. $('#navbar_toggle_btn').attr('data-nav-visible', isNavVisible);
  336. }
  337. }
  338. else {
  339. $('body').removeClass('active-report-popup');
  340. }
  341. }
  342. isReportPopup(containerid) {
  343. if (containerid && (containerid.includes('_viewall') || containerid.includes('fullscreen') || containerid.includes('_ViewAllByUniqueId_') || containerid.includes('_linkedreport_') || containerid.includes('_previewreport_') || containerid.includes('div_kpireport_'))) {
  344. return true;
  345. }
  346. return false;
  347. }
  348. closePopUp() {
  349. var panel = $("#_bizgaze_modal").prev('.modal')[0].getAttribute('id');
  350. $('#' + panel).modal('hide');
  351. $('#' + panel).remove();
  352. $(".biz-submenu").css({ "z-index": "9999" });
  353. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  354. $(".toplayout-structures-panel").css({ "z-index": "9999" });
  355. let layout_chng = $("#bizgaze_body").find(".hk-wrapper").hasClass("biz-layout-2-top-navbar");
  356. let layout_chng3 = $("#bizgaze_body").find(".biz-wrapper").hasClass("biz__submenu biz__bottom__nav__menu");
  357. let cls_nav_2 = $(".toplayout-structures-panel").hasClass("nav_2_layout");
  358. let cls_nav_3 = $(".biz-layout-3-left-nav").hasClass("nav_3_layout");
  359. let cls_nav_sub = $(".biz-submenu").hasClass("nav_sub_layout");
  360. let set_attr = $(".biz-submenu").attr("data-details_structure");
  361. if (layout_chng == true) {
  362. }
  363. else if (layout_chng3 == true) {
  364. if (cls_nav_sub == false) {
  365. $(".biz-submenu").css({ "z-index": "1040" });
  366. if (set_attr == "true") {
  367. $(".biz-submenu").css({ "z-index": "9999" });
  368. }
  369. else {
  370. $(".biz-submenu").css({ "z-index": "1040" });
  371. }
  372. }
  373. else {
  374. if (set_attr == "true") {
  375. if ($("#bizgaze_body").find("#dashboardWidget-modal-content").length == 0) {
  376. $(".biz-submenu").css({ "z-index": "9999" });
  377. }
  378. else {
  379. $(".biz-submenu").css({ "z-index": "1040" });
  380. }
  381. }
  382. else {
  383. $(".biz-submenu").css({ "z-index": "1040" });
  384. }
  385. }
  386. }
  387. else {
  388. if (cls_nav_3 == false) {
  389. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  390. }
  391. else {
  392. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  393. if ($("#bizgaze_body").find("#dashboardWidget-modal-content").length == 0) {
  394. $("#bizgaze_body").addClass("edit-dashboard-mode");
  395. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  396. }
  397. else {
  398. $("#bizgaze_body").removeClass("edit-dashboard-mode");
  399. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  400. }
  401. }
  402. if (cls_nav_2 == false) {
  403. $("#bizgaze_body").addClass("edit-dashboard-mode");
  404. $(".toplayout-structures-panel").css({ "z-index": "9999" });
  405. }
  406. }
  407. }
  408. close(containerid, callback) {
  409. var instance = this;
  410. instance.closeDetailsPage(containerid);
  411. }
  412. getLastContainerId() {
  413. return Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  414. }
  415. closeDetailsPage(containerid) {
  416. var instance = this;
  417. let modallength = $("._bizgaze_detail_container").length;
  418. if (modallength > 0) {
  419. var panel = $($("._bizgaze_detail_container")[modallength - 1]).attr('id');
  420. $('#' + panel).empty();
  421. if (instance.detailsViewIndex == 3)
  422. $($('#' + panel).siblings()[0]).removeClass('col-4').addClass('col-12');
  423. $('#' + panel).remove();
  424. }
  425. let containerlength = $("._bizgaze_detail_container").length;
  426. if (containerlength > 0) {
  427. var container = $($("._bizgaze_detail_container")[containerlength - 1]).attr('id');
  428. $('#' + container).removeClass('hidden');
  429. }
  430. }
  431. closeAllModals(containerId) {
  432. $("._bizgaze_detail_container").remove();
  433. $("._bizgaze_popup_container").modal('hide');
  434. let nav = Unibase.Platform.Helpers.NavigationHelper;
  435. nav.ModalContainerIds = [];
  436. if (containerId) {
  437. let rv = Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(containerId);
  438. let idx = nav.reportViewerInstance.findIndex(x => { return x.instance == rv; });
  439. let dtl_ins = Unibase.Themes.Compact.Components.Details.Instance();
  440. if (idx > -1 && dtl_ins.isDetailsUpdated) {
  441. Unibase.Themes.Compact.Components.Details.Instance().lastReportInstance = nav.reportViewerInstance[idx].instance;
  442. }
  443. }
  444. nav.reportViewerInstance = [];
  445. Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters = [];
  446. Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters = [];
  447. Unibase.Themes.Providers.DetailHelper.installedAppId = 0;
  448. }
  449. loadList(installedappid, callback) {
  450. return __awaiter(this, void 0, void 0, function* () {
  451. var instance = this;
  452. if (!Unibase.Themes.Compact.Components.Nav.Instance().isDshboardBck) {
  453. Unibase.Themes.Compact.Components.Nav.Instance().isDshboardBckArray.push({ "InstalledAppId": installedappid, "AppName": $('#' + installedappid).find("#hf_Apps_InstalledAppName").val(), "isBack": "App", "isDetails": false, "isDetailsBack": [] });
  454. }
  455. else {
  456. Unibase.Themes.Compact.Components.Nav.Instance().isDshboardBck = false;
  457. }
  458. this.fileCacheHelper.loadJsFiles(["tenants/themes/compact/components/list/list.js", "tenants/themes/compact/components/nav/nav.template.js"], function () {
  459. return __awaiter(this, void 0, void 0, function* () {
  460. $('#preloader-it').remove();
  461. let html = '<div class="skelton_loader biz-secondary-color position-absolute w-100 z-index-10">';
  462. html += Unibase.Themes.Compact.Components.Nav_Template.Instance().skelTonListPage();
  463. html += '</div>';
  464. $('#layout-detail').before(html);
  465. let apptype;
  466. let res = yield Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(installedappid);
  467. apptype = res.result.AppTypeId;
  468. if (apptype == 2 || apptype == 3) {
  469. Unibase.Platform.Helpers.NavigationHelper.Instance().loadSettings(installedappid, callback);
  470. }
  471. else {
  472. instance.closeAllModals(Unibase.Themes.Compact.Components.Details.Instance().lastContinerId);
  473. instance.popin(installedappid, "", Unibase.Themes.Compact.Components.List.Instance(), null);
  474. }
  475. });
  476. });
  477. });
  478. }
  479. loadSettings(installedappid, callback) {
  480. var instance = this;
  481. let html = '<div class="skelton_loader biz-secondary-color position-absolute w-100 z-index-10">';
  482. html += Unibase.Themes.Compact.Components.Nav_Template.Instance().skelTonListPage();
  483. html += '</div>';
  484. $('#layout-detail').before(html);
  485. instance.popup(installedappid, "", Unibase.Themes.Compact.Components.List.Instance(), function () {
  486. $(".report-close-btn").removeClass("d-none");
  487. }, Unibase.Platform.Helpers.Size.Medium);
  488. }
  489. loadForm(FormId, Pk_Value, AppConfigurationId, PortletWidgetId, callback) {
  490. var instance = this.fileCacheHelper;
  491. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  492. Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
  493. Unibase.Platform.Forms.Managers.FormManager.Instance().getForm(FormId).then(function (response) {
  494. instance.loadJsFile(response.result.DefaultJsUrl, function () {
  495. var dynamicInstance = eval(response.result.FormJsVariableName + ".Instance()");
  496. dynamicInstance.loadForm(FormId, Pk_Value, AppConfigurationId, callback, PortletWidgetId);
  497. Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
  498. });
  499. });
  500. if (event !== undefined && event !== null) {
  501. $(event.currentTarget).blur();
  502. }
  503. }
  504. loadDetailSettingForm(FormId, Pk_Value, AppConfigurationId, PortletWidgetId, callback) {
  505. var instance = this.fileCacheHelper;
  506. Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
  507. Unibase.Platform.Forms.Managers.FormManager.Instance().getForm(FormId).then(function (response) {
  508. instance.loadJsFile(response.result.DefaultJsUrl, function () {
  509. var dynamicInstance = eval(response.result.FormJsVariableName + ".Instance()");
  510. var activePortletId = Number($(".layout-detail-tabs .tab-addeditem").find(".active").parent().attr("value"));
  511. if (!isNaN(activePortletId)) {
  512. var portletWidgetInfo = {
  513. PortletId: activePortletId,
  514. };
  515. Unibase.Platform.Forms.Components.FormViewer.instance.ProtletWidgetInfo = portletWidgetInfo;
  516. }
  517. dynamicInstance.loadForm(FormId, Pk_Value, AppConfigurationId, callback, PortletWidgetId);
  518. Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
  519. });
  520. });
  521. if (event !== undefined && event !== null) {
  522. $(event.currentTarget).blur();
  523. }
  524. }
  525. loadDetailPopup(id, installedappid, callback) {
  526. var instance = this;
  527. if (id != 0 && installedappid != 0) {
  528. var component = Themes.Compact.Components.Details.Instance();
  529. instance.popup(id, "", component, function (containerid) {
  530. var obj = Themes.Compact.Components.Details.Instance();
  531. obj._recordId = id;
  532. obj._installedAppId = installedappid;
  533. Themes.Providers.DetailHelper.recordId = id;
  534. Themes.Providers.DetailHelper.installedAppId = installedappid;
  535. var detailObj = obj;
  536. Themes.Providers.DetailHelper.SetDetailInstance(obj);
  537. var detail = component;
  538. detail.loadPortlets(obj);
  539. if (callback != null)
  540. callback();
  541. }, Unibase.Platform.Helpers.Size.Auto);
  542. }
  543. else {
  544. MessageHelper.Instance().showError("Installedappid & recordid should not be 0", "");
  545. }
  546. }
  547. loadDetail(id, installedappid, callback, detailContainerId = "", detailheader = false) {
  548. return __awaiter(this, void 0, void 0, function* () {
  549. const instance = this;
  550. let VisibleContainerId = instance.getLastContainerId();
  551. let record = {};
  552. let filter = Unibase.Themes.Compact.Components.Nav.Instance().isDshboardBckArray.filter(function (o) {
  553. return o.InstalledAppId == installedappid;
  554. });
  555. record = { "RecordId": id, "InstalledAppId": installedappid, "isBack": "DetailPage", "DetailConatinerId": detailContainerId, "DetailHeader": detailheader };
  556. if (filter != undefined && filter.length > 0) {
  557. filter[0].isDetails = true;
  558. filter[0].isDetailsBack.push(record);
  559. }
  560. else {
  561. console.log("navigation-back functionality not tracking in detail page, track by conatianerid");
  562. }
  563. if (id != 0 && installedappid != 0) {
  564. this.detailsViewIndex = Unibase.Themes.Compact.Components.Index.Instance().detailsViewIndex;
  565. var containerId = "";
  566. if (instance.isReportPopup(VisibleContainerId)) {
  567. containerId = '_modal_bizgaze_detail_' + moment().unix();
  568. }
  569. var component = Themes.Compact.Components.Details.Instance();
  570. var obj = Themes.Compact.Components.Details.Instance();
  571. if (detailheader == true) {
  572. obj._detailsHeader = detailheader;
  573. Unibase.Themes.Compact.Components.Details.Instance().IsCustomDetailHeader = detailheader;
  574. }
  575. else {
  576. obj._detailsHeader = false;
  577. Unibase.Themes.Compact.Components.Details.Instance().IsCustomDetailHeader = false;
  578. }
  579. obj._recordId = id;
  580. obj._installedAppId = installedappid;
  581. Themes.Providers.DetailHelper.recordId = id;
  582. Themes.Providers.DetailHelper.installedAppId = installedappid;
  583. var detailObj = obj;
  584. Themes.Providers.DetailHelper.SetDetailInstance(obj);
  585. let apptype;
  586. var detail = component;
  587. let ress = yield Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(installedappid);
  588. apptype = ress.result.AppTypeId;
  589. if (apptype == 2 || apptype == 3) {
  590. instance.popup(id, containerId, component, function (containerid, component) {
  591. detail.loadPortlets(obj);
  592. if (callback != null)
  593. callback();
  594. }, Unibase.Platform.Helpers.Size.Medium);
  595. }
  596. else if ($("._bizgaze_popup_container").is(":visible")) {
  597. instance.popup(id, containerId, component, function (containerid, component) {
  598. detail.loadPortlets(obj);
  599. if (callback != null)
  600. callback();
  601. }, Unibase.Platform.Helpers.Size.Auto);
  602. }
  603. else {
  604. if (instance.detailsViewIndex == 1) {
  605. instance.popin(id, containerId, Themes.Compact.Components.Details.Instance(), function (containerid, component) {
  606. detail.loadPortlets(obj);
  607. if (callback != null)
  608. callback();
  609. });
  610. }
  611. else if (instance.detailsViewIndex == 2) {
  612. instance.popin(id, containerId, Themes.Compact.Components.Details.Instance(), function (containerid, component) {
  613. detail.loadPortlets(obj);
  614. if (callback != null)
  615. callback();
  616. $('#' + obj._containerId).parent().addClass('d-flex');
  617. $($("#" + obj._containerId).siblings()[0]).css({ "z-index": "1", "position": "absolute" });
  618. $('#' + obj._containerId).removeClass("col-sm").addClass('col-12 col-xl-10 bg-light').css({ "z-index": "9", "position": "absolute", "right": "0px" });
  619. });
  620. }
  621. else if (instance.detailsViewIndex == 3) {
  622. instance.popin(id, containerId, Themes.Compact.Components.Details.Instance(), function (containerid, component) {
  623. detail.loadPortlets(obj);
  624. if (callback != null)
  625. callback();
  626. $('#' + obj._containerId).parent().addClass('row');
  627. $($('#' + obj._containerId).siblings()[0]).removeClass('hidden col-sm col-12').addClass('col-4');
  628. $('#' + obj._containerId).removeClass('col-sm').addClass('col-8');
  629. });
  630. }
  631. }
  632. }
  633. else {
  634. MessageHelper.Instance().showError("Installedappid & recordid should not be 0", "div_ErrorMessage", VisibleContainerId);
  635. }
  636. });
  637. }
  638. loadSection(id, containerid, component, obj, callback) {
  639. var instance = this;
  640. if (component.cssFiles() !== []) {
  641. this.fileCacheHelper.loadCssFiles(component.cssFiles(), null);
  642. }
  643. this.fileCacheHelper.loadJsFiles(component.jsFiles(), function () {
  644. var panel = containerid;
  645. if (panel === "" || panel === undefined)
  646. panel = '_modal_bizgaze_edit_' + moment().unix();
  647. if (panel != "_bizgaze_body" && panel != "external-form" && panel != "" && !panel.includes("div_portletwidget_") && !panel.includes("div_dashboardportletwidget_") && $.inArray(panel, Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds)) {
  648. if (Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.find(x => x == panel) == undefined) {
  649. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.push(panel);
  650. }
  651. }
  652. if (($("#" + panel).length <= 0) && (!panel.includes('div_dashboardportletwidget') && !panel.includes("div_portletwidget_") && (!panel.includes('_bizgaze_body')))) {
  653. var detailhtml = '<div class="_bizgaze_detail_container p-0 col-sm" id="' + panel + '"></div>';
  654. $("#layout-detail").before(detailhtml);
  655. }
  656. var html = component.html(id, panel);
  657. $("#" + panel).html(html);
  658. component.load(id, panel, callback);
  659. if (callback != null)
  660. callback(containerid, component);
  661. });
  662. }
  663. showLoading() {
  664. $(".unibase_modal_backdrop").removeAttr('style');
  665. $(".preloader-it").fadeIn();
  666. }
  667. hideLoading() {
  668. const instance = this;
  669. let containerid = instance.getLastContainerId();
  670. if (containerid != undefined && Unibase.Themes.Providers.DetailHelper.installedAppId != 0) {
  671. if (containerid.includes('_viewall')) {
  672. containerid = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 2];
  673. }
  674. }
  675. if (($('.skelton_loader').length != 0) && ($("#" + containerid).html() != "")) {
  676. $({ to: 0 }).animate({ to: 1 }, 0, function () {
  677. $(".unibase_modal_backdrop").css("display", "none");
  678. $(".biz-db-header").removeClass('invisible');
  679. $(".BindData_" + containerid).removeClass('invisible');
  680. Unibase.Themes.Compact.Components.Nav.Instance().isList = false;
  681. $("#" + containerid).find('#div_detail_profile').removeClass('invisible');
  682. $(".dashboardwidget-container").removeClass('invisible');
  683. $('.detail-container-content').removeClass('invisible');
  684. $('.skelton_loader').remove();
  685. let html = '<div class="preloader-it" id="preloader-it" style="background: transparent; display: none;"><div class="loader-pendulums">&nbsp;</div></div>';
  686. if ($('.preloader-it').length == 0) {
  687. $('#bizgaze_message').before(html);
  688. }
  689. });
  690. }
  691. $(".preloader-it").fadeOut("slow", function () {
  692. $(".unibase_modal_backdrop").css("display", "none");
  693. $(".biz-db-header").removeClass('invisible');
  694. $(".dashboardwidget-container").removeClass('invisible');
  695. $('.detail-container-content').removeClass('invisible');
  696. });
  697. }
  698. showContainerLoading(containerid) {
  699. $("#" + containerid).find(".line-loader-container").addClass('show-loading');
  700. }
  701. hideContainerLoading(containerid) {
  702. $("#" + containerid).find(".line-loader-container").removeClass('show-loading');
  703. }
  704. popupHtml(html, size, callback) {
  705. var panel = '_modal_bizgaze_popup_' + moment().unix();
  706. let width = 0;
  707. if ($("#" + panel).length <= 0) {
  708. let colSpan = "col-sm-8";
  709. if (size === Unibase.Platform.Helpers.Size.Mini) {
  710. colSpan = "col-sm-4";
  711. }
  712. else if (size === Unibase.Platform.Helpers.Size.Medium) {
  713. colSpan = "col-sm-6";
  714. }
  715. else if (size === Unibase.Platform.Helpers.Size.ExtraLarge) {
  716. colSpan = "col-sm-12";
  717. }
  718. else if (size === Unibase.Platform.Helpers.Size.DockRight) {
  719. colSpan = "";
  720. width = ($(document).width() - 240);
  721. }
  722. var modalhtml = '<div class="_bizgaze_create_container shadow-left shadow-xl modal right bg-light ' + colSpan + ' p-0" id="' + panel + '"></div>';
  723. $("#_bizgaze_modal").before(modalhtml);
  724. }
  725. if ($("#" + panel).length <= 0) {
  726. panel = "_bizgaze_body";
  727. }
  728. var instance = this;
  729. $('#' + panel).html(html);
  730. $("#" + panel).find(".btn-close").click(function () {
  731. instance.closePopUp();
  732. });
  733. $("#" + panel).find(".header").addClass("modal-header").addClass("pa-5").removeClass("header");
  734. $("#" + panel).find(".footer").addClass("modal-footer").addClass("pa-5").removeClass("footer");
  735. $("#" + panel).find(".scrollable").addClass("modal-body").addClass("bg-white").removeClass("scrollable");
  736. $("#" + panel).find(".modal-body").height($(window).outerHeight() - 110);
  737. if (width !== 0)
  738. $("#" + panel).width(width);
  739. if ($(document).width() < 700) {
  740. $("#" + panel).find(".modal-body").removeClass("w-f");
  741. }
  742. $(document).on('shown.bs.modal', '#' + panel, function () {
  743. if (callback != null) {
  744. callback(panel);
  745. }
  746. });
  747. $('#' + panel).modal({ backdrop: 'static', show: true });
  748. }
  749. updateDefaultWidgetValues(panel) {
  750. var ModalContainers = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds;
  751. var key = Object.keys(Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters).find(x => x == "#" + panel);
  752. if (key == "#" + panel) {
  753. delete Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters['#' + panel];
  754. Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters.length--;
  755. }
  756. var DetailSetting_Instance = Unibase.Themes.Providers.Detail_Settings.Instance();
  757. var Details_Instance = Unibase.Themes.Compact.Components.Details.Instance();
  758. var ContainerId = ModalContainers[ModalContainers.length - 1];
  759. var installedappid = DetailSetting_Instance.DetailParameters["#" + ContainerId].InstalledAppId;
  760. var portletid = Number(DetailSetting_Instance.DetailParameters["#" + ContainerId].ActivePortletId);
  761. Details_Instance.unibase_core_activeportletid = portletid;
  762. Unibase.Themes.Providers.DetailHelper.installedAppId = installedappid;
  763. Details_Instance._installedAppId = installedappid;
  764. Details_Instance.unibase_ActiveInstalledAppId = installedappid;
  765. DetailSetting_Instance.InputParameters = DetailSetting_Instance.DetailParameters["#" + ContainerId].InputParameters;
  766. if (DetailSetting_Instance.InputParameters.length > 0) {
  767. var recordid = Number(DetailSetting_Instance.InputParameters.find(x => x.Key == "hf_" + installedappid + "_recordid").Value);
  768. Details_Instance._recordId = recordid;
  769. }
  770. }
  771. }
  772. Compact.NavigationHelper = NavigationHelper;
  773. })(Compact = Themes.Compact || (Themes.Compact = {}));
  774. })(Themes = Unibase.Themes || (Unibase.Themes = {}));
  775. })(Unibase || (Unibase = {}));