Built files from Bizgaze WebServer
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

navigationhelper.js 50KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779
  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. $("#" + panel).find("#btnDynamicSave").on("click", function () {
  237. let formid = $("#" + panel + ' .modal-header #hf_FormId').val();
  238. window.parent.postMessage(`save-form/${formid}`, '*');
  239. });
  240. }
  241. if (Unibase.Themes.Providers.DetailHelper.isListStages) {
  242. $("#" + panel).find(".btn_CloseForm ").on("click", function () {
  243. Unibase.Themes.Compact.Components.Nav.Instance().isListRefresh();
  244. });
  245. }
  246. $("#" + panel).off('remove').on("remove", function () {
  247. var ModalContainers = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds;
  248. if (ModalContainers.find(x => x == panel) != undefined) {
  249. ModalContainers.splice($.inArray(panel, ModalContainers), 1);
  250. }
  251. instance.loadReportPopUpSettings(panel, ModalContainers);
  252. instance.updateDefaultWidgetValues(panel);
  253. });
  254. $("#" + panel).find(".header,.modal-header").addClass("modal-header pa-10").removeClass("header");
  255. $("#" + panel).find(".footer,.modal-footer").addClass("modal-footer pa-10").removeClass("footer");
  256. if ($("#" + panel).find('.modal-body').siblings(".card-header").length) {
  257. $("#" + panel).find('.modal-body').siblings(".card-header").addClass("modal-header pa-10").removeClass("card-header");
  258. }
  259. if ($("#" + panel).find('.modal-body').siblings(".card-footer").length) {
  260. $("#" + panel).find('.modal-body').siblings(".card-footer").addClass("modal-footer pa-10").removeClass("card-footer");
  261. }
  262. if (!$("#" + panel).find(".scrollable").hasClass('biz-detail-page-view')) {
  263. $("#" + panel).find(".scrollable").addClass("modal-body simple-scroll-bar bg-cyan-light-5").removeClass("scrollable").attr('data-simplebar', '');
  264. }
  265. if (width !== 0)
  266. $("#" + panel).width(width);
  267. if ($(document).width() < 600) {
  268. $("#" + panel).find(".modal-body").addClass("px-0");
  269. }
  270. $(document).off('shown.bs.modal', '#' + panel).on('shown.bs.modal', '#' + panel, function () {
  271. component.load(id, panel, callback);
  272. instance.loadReportPopUpSettings(panel);
  273. if (callback != null) {
  274. callback(panel);
  275. }
  276. if (!Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isPopupPage) {
  277. instance.setPopUpBodyHeight('#' + panel);
  278. }
  279. });
  280. $('#' + panel).modal({ backdrop: 'static', show: true });
  281. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  282. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  283. $(".biz-submenu").css({ "z-index": "1040" });
  284. if (id != 0 && id.includes != undefined) {
  285. if ((id.includes('ticketcreate') || id.includes('ticket')) && !id.includes('ticketlist')) {
  286. $('#div_Footer').addClass('hidden');
  287. }
  288. }
  289. });
  290. }
  291. setPopUpBodyHeight(panelId) {
  292. let headerHeight = 0, footerHeight = 0, deductHeight = 0;
  293. let panel = $(panelId);
  294. let bodyEl = panel.find('.modal-body');
  295. if (bodyEl.siblings(".modal-header").length) {
  296. let headerEl = bodyEl.siblings(".modal-header");
  297. headerHeight = headerEl.outerHeight(true);
  298. if (headerHeight != 0 && headerHeight < 45) {
  299. headerEl.css({ 'height': '45px', 'overflow-y': 'auto' });
  300. headerHeight = 45;
  301. }
  302. }
  303. if (bodyEl.siblings(".modal-footer").length) {
  304. footerHeight = bodyEl.siblings(".modal-footer:visible").outerHeight(true);
  305. }
  306. if (headerHeight && footerHeight) {
  307. deductHeight = headerHeight + footerHeight;
  308. if (Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isDetailsPage) {
  309. deductHeight = headerHeight + footerHeight + 50;
  310. }
  311. bodyEl.css({ "height": `${window.innerHeight - deductHeight}px`, "overflow": "hidden auto" }).attr('data-deductheight', `${deductHeight}`);
  312. }
  313. else {
  314. deductHeight = 143;
  315. bodyEl.height(window.innerHeight - deductHeight).css("overflow", "hidden auto");
  316. }
  317. }
  318. loadReportPopUpSettings(panel, modalContainers) {
  319. const indexInstance = Unibase.Themes.Compact.Components.Index.Instance();
  320. if (modalContainers) {
  321. panel = modalContainers[modalContainers.length - 1];
  322. }
  323. if (this.isReportPopup(panel) || panel.includes('_modal_bizgaze_detail_')) {
  324. const containerEl = $(`#${panel}`);
  325. $('body').addClass('active-report-popup');
  326. if (!indexInstance.desktopMode || !indexInstance.isLeftLayout()) {
  327. const navbarHeight = $('.navbar.biz-navbar').outerHeight(true);
  328. containerEl.css('margin-top', `${navbarHeight}px`);
  329. }
  330. else {
  331. const sideNavWidth = $('#biz-right-side-menu').outerWidth(true);
  332. containerEl.css({ 'margin-right': `${sideNavWidth}px`, width: `calc(100% - ${sideNavWidth}px)` });
  333. }
  334. if (indexInstance.desktopMode && indexInstance.isTopLeftLayout()) {
  335. let isNavVisible = 'true';
  336. if ($('.biz-layout-3-left-nav').hasClass('biz__nav__toggle')) {
  337. isNavVisible = 'false';
  338. }
  339. $('#navbar_toggle_btn').attr('data-nav-visible', isNavVisible);
  340. }
  341. }
  342. else {
  343. $('body').removeClass('active-report-popup');
  344. }
  345. }
  346. isReportPopup(containerid) {
  347. if (containerid && (containerid.includes('_viewall') || containerid.includes('fullscreen') || containerid.includes('_ViewAllByUniqueId_') || containerid.includes('_linkedreport_') || containerid.includes('_previewreport_') || containerid.includes('div_kpireport_'))) {
  348. return true;
  349. }
  350. return false;
  351. }
  352. closePopUp() {
  353. var panel = $("#_bizgaze_modal").prev('.modal')[0].getAttribute('id');
  354. $('#' + panel).modal('hide');
  355. $('#' + panel).remove();
  356. $(".biz-submenu").css({ "z-index": "9999" });
  357. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  358. $(".toplayout-structures-panel").css({ "z-index": "9999" });
  359. let layout_chng = $("#bizgaze_body").find(".hk-wrapper").hasClass("biz-layout-2-top-navbar");
  360. let layout_chng3 = $("#bizgaze_body").find(".biz-wrapper").hasClass("biz__submenu biz__bottom__nav__menu");
  361. let cls_nav_2 = $(".toplayout-structures-panel").hasClass("nav_2_layout");
  362. let cls_nav_3 = $(".biz-layout-3-left-nav").hasClass("nav_3_layout");
  363. let cls_nav_sub = $(".biz-submenu").hasClass("nav_sub_layout");
  364. let set_attr = $(".biz-submenu").attr("data-details_structure");
  365. if (layout_chng == true) {
  366. }
  367. else if (layout_chng3 == true) {
  368. if (cls_nav_sub == false) {
  369. $(".biz-submenu").css({ "z-index": "1040" });
  370. if (set_attr == "true") {
  371. $(".biz-submenu").css({ "z-index": "9999" });
  372. }
  373. else {
  374. $(".biz-submenu").css({ "z-index": "1040" });
  375. }
  376. }
  377. else {
  378. if (set_attr == "true") {
  379. if ($("#bizgaze_body").find("#dashboardWidget-modal-content").length == 0) {
  380. $(".biz-submenu").css({ "z-index": "9999" });
  381. }
  382. else {
  383. $(".biz-submenu").css({ "z-index": "1040" });
  384. }
  385. }
  386. else {
  387. $(".biz-submenu").css({ "z-index": "1040" });
  388. }
  389. }
  390. }
  391. else {
  392. if (cls_nav_3 == false) {
  393. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  394. }
  395. else {
  396. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  397. if ($("#bizgaze_body").find("#dashboardWidget-modal-content").length == 0) {
  398. $("#bizgaze_body").addClass("edit-dashboard-mode");
  399. $(".biz-layout-3-left-nav").css({ "z-index": "9999" });
  400. }
  401. else {
  402. $("#bizgaze_body").removeClass("edit-dashboard-mode");
  403. $(".biz-layout-3-left-nav").css({ "z-index": "1040" });
  404. }
  405. }
  406. if (cls_nav_2 == false) {
  407. $("#bizgaze_body").addClass("edit-dashboard-mode");
  408. $(".toplayout-structures-panel").css({ "z-index": "9999" });
  409. }
  410. }
  411. }
  412. close(containerid, callback) {
  413. var instance = this;
  414. instance.closeDetailsPage(containerid);
  415. }
  416. getLastContainerId() {
  417. return Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  418. }
  419. closeDetailsPage(containerid) {
  420. var instance = this;
  421. let modallength = $("._bizgaze_detail_container").length;
  422. if (modallength > 0) {
  423. var panel = $($("._bizgaze_detail_container")[modallength - 1]).attr('id');
  424. $('#' + panel).empty();
  425. if (instance.detailsViewIndex == 3)
  426. $($('#' + panel).siblings()[0]).removeClass('col-4').addClass('col-12');
  427. $('#' + panel).remove();
  428. }
  429. let containerlength = $("._bizgaze_detail_container").length;
  430. if (containerlength > 0) {
  431. var container = $($("._bizgaze_detail_container")[containerlength - 1]).attr('id');
  432. $('#' + container).removeClass('hidden');
  433. }
  434. }
  435. closeAllModals(containerId) {
  436. $("._bizgaze_detail_container").remove();
  437. $("._bizgaze_popup_container").modal('hide');
  438. let nav = Unibase.Platform.Helpers.NavigationHelper;
  439. nav.ModalContainerIds = [];
  440. if (containerId) {
  441. let rv = Unibase.Platform.Analytics.Components.ReportViewer.Instance().getReportViewerInstance(containerId);
  442. let idx = nav.reportViewerInstance.findIndex(x => { return x.instance == rv; });
  443. let dtl_ins = Unibase.Themes.Compact.Components.Details.Instance();
  444. if (idx > -1 && dtl_ins.isDetailsUpdated) {
  445. Unibase.Themes.Compact.Components.Details.Instance().lastReportInstance = nav.reportViewerInstance[idx].instance;
  446. }
  447. }
  448. nav.reportViewerInstance = [];
  449. Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters = [];
  450. Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters = [];
  451. Unibase.Themes.Providers.DetailHelper.installedAppId = 0;
  452. }
  453. loadList(installedappid, callback) {
  454. return __awaiter(this, void 0, void 0, function* () {
  455. var instance = this;
  456. if (!Unibase.Themes.Compact.Components.Nav.Instance().isDshboardBck) {
  457. Unibase.Themes.Compact.Components.Nav.Instance().isDshboardBckArray.push({ "InstalledAppId": installedappid, "AppName": $('#' + installedappid).find("#hf_Apps_InstalledAppName").val(), "isBack": "App", "isDetails": false, "isDetailsBack": [] });
  458. }
  459. else {
  460. Unibase.Themes.Compact.Components.Nav.Instance().isDshboardBck = false;
  461. }
  462. this.fileCacheHelper.loadJsFiles(["tenants/themes/compact/components/list/list.js", "tenants/themes/compact/components/nav/nav.template.js"], function () {
  463. return __awaiter(this, void 0, void 0, function* () {
  464. $('#preloader-it').remove();
  465. let html = '<div class="skelton_loader biz-secondary-color position-absolute w-100 z-index-10">';
  466. html += Unibase.Themes.Compact.Components.Nav_Template.Instance().skelTonListPage();
  467. html += '</div>';
  468. $('#layout-detail').before(html);
  469. let apptype;
  470. let res = yield Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(installedappid);
  471. apptype = res.result.AppTypeId;
  472. if (apptype == 2 || apptype == 3) {
  473. Unibase.Platform.Helpers.NavigationHelper.Instance().loadSettings(installedappid, callback);
  474. }
  475. else {
  476. instance.closeAllModals(Unibase.Themes.Compact.Components.Details.Instance().lastContinerId);
  477. instance.popin(installedappid, "", Unibase.Themes.Compact.Components.List.Instance(), null);
  478. }
  479. });
  480. });
  481. });
  482. }
  483. loadSettings(installedappid, callback) {
  484. var instance = this;
  485. let html = '<div class="skelton_loader biz-secondary-color position-absolute w-100 z-index-10">';
  486. html += Unibase.Themes.Compact.Components.Nav_Template.Instance().skelTonListPage();
  487. html += '</div>';
  488. $('#layout-detail').before(html);
  489. instance.popup(installedappid, "", Unibase.Themes.Compact.Components.List.Instance(), function () {
  490. $(".report-close-btn").removeClass("d-none");
  491. }, Unibase.Platform.Helpers.Size.Medium);
  492. }
  493. loadForm(FormId, Pk_Value, AppConfigurationId, PortletWidgetId, callback) {
  494. var instance = this.fileCacheHelper;
  495. $(".toplayout-structures-panel").css({ "z-index": "1040" });
  496. Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
  497. Unibase.Platform.Forms.Managers.FormManager.Instance().getForm(FormId).then(function (response) {
  498. instance.loadJsFile(response.result.DefaultJsUrl, function () {
  499. var dynamicInstance = eval(response.result.FormJsVariableName + ".Instance()");
  500. dynamicInstance.loadForm(FormId, Pk_Value, AppConfigurationId, callback, PortletWidgetId);
  501. Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
  502. });
  503. });
  504. if (event !== undefined && event !== null) {
  505. $(event.currentTarget).blur();
  506. }
  507. }
  508. loadDetailSettingForm(FormId, Pk_Value, AppConfigurationId, PortletWidgetId, callback) {
  509. var instance = this.fileCacheHelper;
  510. Unibase.Platform.Helpers.NavigationHelper.Instance().showLoading();
  511. Unibase.Platform.Forms.Managers.FormManager.Instance().getForm(FormId).then(function (response) {
  512. instance.loadJsFile(response.result.DefaultJsUrl, function () {
  513. var dynamicInstance = eval(response.result.FormJsVariableName + ".Instance()");
  514. var activePortletId = Number($(".layout-detail-tabs .tab-addeditem").find(".active").parent().attr("value"));
  515. if (!isNaN(activePortletId)) {
  516. var portletWidgetInfo = {
  517. PortletId: activePortletId,
  518. };
  519. Unibase.Platform.Forms.Components.FormViewer.instance.ProtletWidgetInfo = portletWidgetInfo;
  520. }
  521. dynamicInstance.loadForm(FormId, Pk_Value, AppConfigurationId, callback, PortletWidgetId);
  522. Unibase.Platform.Helpers.NavigationHelper.Instance().hideLoading();
  523. });
  524. });
  525. if (event !== undefined && event !== null) {
  526. $(event.currentTarget).blur();
  527. }
  528. }
  529. loadDetailPopup(id, installedappid, callback) {
  530. var instance = this;
  531. if (id != 0 && installedappid != 0) {
  532. var component = Themes.Compact.Components.Details.Instance();
  533. instance.popup(id, "", component, function (containerid) {
  534. var obj = Themes.Compact.Components.Details.Instance();
  535. obj._recordId = id;
  536. obj._installedAppId = installedappid;
  537. Themes.Providers.DetailHelper.recordId = id;
  538. Themes.Providers.DetailHelper.installedAppId = installedappid;
  539. var detailObj = obj;
  540. Themes.Providers.DetailHelper.SetDetailInstance(obj);
  541. var detail = component;
  542. detail.loadPortlets(obj);
  543. if (callback != null)
  544. callback();
  545. }, Unibase.Platform.Helpers.Size.Auto);
  546. }
  547. else {
  548. MessageHelper.Instance().showError("Installedappid & recordid should not be 0", "");
  549. }
  550. }
  551. loadDetail(id, installedappid, callback, detailContainerId = "", detailheader = false) {
  552. return __awaiter(this, void 0, void 0, function* () {
  553. const instance = this;
  554. let VisibleContainerId = instance.getLastContainerId();
  555. let record = {};
  556. let filter = Unibase.Themes.Compact.Components.Nav.Instance().isDshboardBckArray.filter(function (o) {
  557. return o.InstalledAppId == installedappid;
  558. });
  559. record = { "RecordId": id, "InstalledAppId": installedappid, "isBack": "DetailPage", "DetailConatinerId": detailContainerId, "DetailHeader": detailheader };
  560. if (filter != undefined && filter.length > 0) {
  561. filter[0].isDetails = true;
  562. filter[0].isDetailsBack.push(record);
  563. }
  564. else {
  565. console.log("navigation-back functionality not tracking in detail page, track by conatianerid");
  566. }
  567. if (id != 0 && installedappid != 0) {
  568. this.detailsViewIndex = Unibase.Themes.Compact.Components.Index.Instance().detailsViewIndex;
  569. var containerId = "";
  570. if (instance.isReportPopup(VisibleContainerId)) {
  571. containerId = '_modal_bizgaze_detail_' + moment().unix();
  572. }
  573. var component = Themes.Compact.Components.Details.Instance();
  574. var obj = Themes.Compact.Components.Details.Instance();
  575. if (detailheader == true) {
  576. obj._detailsHeader = detailheader;
  577. Unibase.Themes.Compact.Components.Details.Instance().IsCustomDetailHeader = detailheader;
  578. }
  579. else {
  580. obj._detailsHeader = false;
  581. Unibase.Themes.Compact.Components.Details.Instance().IsCustomDetailHeader = false;
  582. }
  583. obj._recordId = id;
  584. obj._installedAppId = installedappid;
  585. Themes.Providers.DetailHelper.recordId = id;
  586. Themes.Providers.DetailHelper.installedAppId = installedappid;
  587. var detailObj = obj;
  588. Themes.Providers.DetailHelper.SetDetailInstance(obj);
  589. let apptype;
  590. var detail = component;
  591. let ress = yield Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallApp(installedappid);
  592. apptype = ress.result.AppTypeId;
  593. if (apptype == 2 || apptype == 3) {
  594. instance.popup(id, containerId, component, function (containerid, component) {
  595. detail.loadPortlets(obj);
  596. if (callback != null)
  597. callback();
  598. }, Unibase.Platform.Helpers.Size.Medium);
  599. }
  600. else if ($("._bizgaze_popup_container").is(":visible")) {
  601. instance.popup(id, containerId, component, function (containerid, component) {
  602. detail.loadPortlets(obj);
  603. if (callback != null)
  604. callback();
  605. }, Unibase.Platform.Helpers.Size.Auto);
  606. }
  607. else {
  608. if (instance.detailsViewIndex == 1) {
  609. instance.popin(id, containerId, Themes.Compact.Components.Details.Instance(), function (containerid, component) {
  610. detail.loadPortlets(obj);
  611. if (callback != null)
  612. callback();
  613. });
  614. }
  615. else if (instance.detailsViewIndex == 2) {
  616. instance.popin(id, containerId, Themes.Compact.Components.Details.Instance(), function (containerid, component) {
  617. detail.loadPortlets(obj);
  618. if (callback != null)
  619. callback();
  620. $('#' + obj._containerId).parent().addClass('d-flex');
  621. $($("#" + obj._containerId).siblings()[0]).css({ "z-index": "1", "position": "absolute" });
  622. $('#' + obj._containerId).removeClass("col-sm").addClass('col-12 col-xl-10 bg-light').css({ "z-index": "9", "position": "absolute", "right": "0px" });
  623. });
  624. }
  625. else if (instance.detailsViewIndex == 3) {
  626. instance.popin(id, containerId, Themes.Compact.Components.Details.Instance(), function (containerid, component) {
  627. detail.loadPortlets(obj);
  628. if (callback != null)
  629. callback();
  630. $('#' + obj._containerId).parent().addClass('row');
  631. $($('#' + obj._containerId).siblings()[0]).removeClass('hidden col-sm col-12').addClass('col-4');
  632. $('#' + obj._containerId).removeClass('col-sm').addClass('col-8');
  633. });
  634. }
  635. }
  636. }
  637. else {
  638. MessageHelper.Instance().showError("Installedappid & recordid should not be 0", "div_ErrorMessage", VisibleContainerId);
  639. }
  640. });
  641. }
  642. loadSection(id, containerid, component, obj, callback) {
  643. var instance = this;
  644. if (component.cssFiles() !== []) {
  645. this.fileCacheHelper.loadCssFiles(component.cssFiles(), null);
  646. }
  647. this.fileCacheHelper.loadJsFiles(component.jsFiles(), function () {
  648. var panel = containerid;
  649. if (panel === "" || panel === undefined)
  650. panel = '_modal_bizgaze_edit_' + moment().unix();
  651. if (panel != "_bizgaze_body" && panel != "external-form" && panel != "" && !panel.includes("div_portletwidget_") && !panel.includes("div_dashboardportletwidget_") && $.inArray(panel, Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds)) {
  652. if (Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.find(x => x == panel) == undefined) {
  653. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.push(panel);
  654. }
  655. }
  656. if (($("#" + panel).length <= 0) && (!panel.includes('div_dashboardportletwidget') && !panel.includes("div_portletwidget_") && (!panel.includes('_bizgaze_body')))) {
  657. var detailhtml = '<div class="_bizgaze_detail_container p-0 col-sm" id="' + panel + '"></div>';
  658. $("#layout-detail").before(detailhtml);
  659. }
  660. var html = component.html(id, panel);
  661. $("#" + panel).html(html);
  662. component.load(id, panel, callback);
  663. if (callback != null)
  664. callback(containerid, component);
  665. });
  666. }
  667. showLoading() {
  668. $(".unibase_modal_backdrop").removeAttr('style');
  669. $(".preloader-it").fadeIn();
  670. }
  671. hideLoading() {
  672. const instance = this;
  673. let containerid = instance.getLastContainerId();
  674. if (containerid != undefined && Unibase.Themes.Providers.DetailHelper.installedAppId != 0) {
  675. if (containerid.includes('_viewall')) {
  676. containerid = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 2];
  677. }
  678. }
  679. if (($('.skelton_loader').length != 0) && ($("#" + containerid).html() != "")) {
  680. $({ to: 0 }).animate({ to: 1 }, 0, function () {
  681. $(".unibase_modal_backdrop").css("display", "none");
  682. $(".biz-db-header").removeClass('invisible');
  683. $(".BindData_" + containerid).removeClass('invisible');
  684. Unibase.Themes.Compact.Components.Nav.Instance().isList = false;
  685. $("#" + containerid).find('#div_detail_profile').removeClass('invisible');
  686. $(".dashboardwidget-container").removeClass('invisible');
  687. $('.detail-container-content').removeClass('invisible');
  688. $('.skelton_loader').remove();
  689. let html = '<div class="preloader-it" id="preloader-it" style="background: transparent; display: none;"><div class="loader-pendulums">&nbsp;</div></div>';
  690. if ($('.preloader-it').length == 0) {
  691. $('#bizgaze_message').before(html);
  692. }
  693. });
  694. }
  695. $(".preloader-it").fadeOut("slow", function () {
  696. $(".unibase_modal_backdrop").css("display", "none");
  697. $(".biz-db-header").removeClass('invisible');
  698. $(".dashboardwidget-container").removeClass('invisible');
  699. $('.detail-container-content').removeClass('invisible');
  700. });
  701. }
  702. showContainerLoading(containerid) {
  703. $("#" + containerid).find(".line-loader-container").addClass('show-loading');
  704. }
  705. hideContainerLoading(containerid) {
  706. $("#" + containerid).find(".line-loader-container").removeClass('show-loading');
  707. }
  708. popupHtml(html, size, callback) {
  709. var panel = '_modal_bizgaze_popup_' + moment().unix();
  710. let width = 0;
  711. if ($("#" + panel).length <= 0) {
  712. let colSpan = "col-sm-8";
  713. if (size === Unibase.Platform.Helpers.Size.Mini) {
  714. colSpan = "col-sm-4";
  715. }
  716. else if (size === Unibase.Platform.Helpers.Size.Medium) {
  717. colSpan = "col-sm-6";
  718. }
  719. else if (size === Unibase.Platform.Helpers.Size.ExtraLarge) {
  720. colSpan = "col-sm-12";
  721. }
  722. else if (size === Unibase.Platform.Helpers.Size.DockRight) {
  723. colSpan = "";
  724. width = ($(document).width() - 240);
  725. }
  726. var modalhtml = '<div class="_bizgaze_create_container shadow-left shadow-xl modal right bg-light ' + colSpan + ' p-0" id="' + panel + '"></div>';
  727. $("#_bizgaze_modal").before(modalhtml);
  728. }
  729. if ($("#" + panel).length <= 0) {
  730. panel = "_bizgaze_body";
  731. }
  732. var instance = this;
  733. $('#' + panel).html(html);
  734. $("#" + panel).find(".btn-close").click(function () {
  735. instance.closePopUp();
  736. });
  737. $("#" + panel).find(".header").addClass("modal-header").addClass("pa-5").removeClass("header");
  738. $("#" + panel).find(".footer").addClass("modal-footer").addClass("pa-5").removeClass("footer");
  739. $("#" + panel).find(".scrollable").addClass("modal-body").addClass("bg-white").removeClass("scrollable");
  740. $("#" + panel).find(".modal-body").height($(window).outerHeight() - 110);
  741. if (width !== 0)
  742. $("#" + panel).width(width);
  743. if ($(document).width() < 700) {
  744. $("#" + panel).find(".modal-body").removeClass("w-f");
  745. }
  746. $(document).on('shown.bs.modal', '#' + panel, function () {
  747. if (callback != null) {
  748. callback(panel);
  749. }
  750. });
  751. $('#' + panel).modal({ backdrop: 'static', show: true });
  752. }
  753. updateDefaultWidgetValues(panel) {
  754. var ModalContainers = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds;
  755. var key = Object.keys(Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters).find(x => x == "#" + panel);
  756. if (key == "#" + panel) {
  757. delete Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters['#' + panel];
  758. Unibase.Themes.Providers.Detail_Settings.Instance().DetailParameters.length--;
  759. }
  760. var DetailSetting_Instance = Unibase.Themes.Providers.Detail_Settings.Instance();
  761. var Details_Instance = Unibase.Themes.Compact.Components.Details.Instance();
  762. var ContainerId = ModalContainers[ModalContainers.length - 1];
  763. var installedappid = DetailSetting_Instance.DetailParameters["#" + ContainerId].InstalledAppId;
  764. var portletid = Number(DetailSetting_Instance.DetailParameters["#" + ContainerId].ActivePortletId);
  765. Details_Instance.unibase_core_activeportletid = portletid;
  766. Unibase.Themes.Providers.DetailHelper.installedAppId = installedappid;
  767. Details_Instance._installedAppId = installedappid;
  768. Details_Instance.unibase_ActiveInstalledAppId = installedappid;
  769. DetailSetting_Instance.InputParameters = DetailSetting_Instance.DetailParameters["#" + ContainerId].InputParameters;
  770. if (DetailSetting_Instance.InputParameters.length > 0) {
  771. var recordid = Number(DetailSetting_Instance.InputParameters.find(x => x.Key == "hf_" + installedappid + "_recordid").Value);
  772. Details_Instance._recordId = recordid;
  773. }
  774. }
  775. }
  776. Compact.NavigationHelper = NavigationHelper;
  777. })(Compact = Themes.Compact || (Themes.Compact = {}));
  778. })(Themes = Unibase.Themes || (Unibase.Themes = {}));
  779. })(Unibase || (Unibase = {}));