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

list.index.js 24KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555
  1. /*Data loading start here*/
  2. import {getCookie, isAuthenticated} from "./cookiehelper.js";
  3. import {getData, getDataObj} from "./base.js";
  4. import {_serverUrl} from "./setting.js";
  5. export var connection;
  6. export function dateTimeFormat(dateTime) {
  7. var date = moment.utc(dateTime).local();
  8. var difmonths = moment().diff(date, "months");
  9. if (difmonths == 0) {
  10. return moment(dateTime).fromNow();
  11. }
  12. return date.format("DD MMM, YYYY HH:mm");
  13. }
  14. function createLoad(data) {
  15. let html = "";
  16. if (data.length != 0) {
  17. for (var i = 0; i < data.length; i++) {
  18. html += `<li class="p-0">
  19. <a href="javascript:;" class="dropdown-item create-form-btn" data-AppConfigType="${data[i].AppConfigType}" data-AppPermissionId="${data[i].AppPermissionId}" data-AppConfigurationId="${data[i].AppConfigurationId}" data-formid="${data[i].FormId}" data-installedAppid="${data[i].InstalledAppId}">${data[i].AppTitle}</a>
  20. </li>`;
  21. }
  22. } else {
  23. html += `<li class="p-0">Apps are Not Installed</li>`;
  24. }
  25. $("#crte-btn-lst").html(html);
  26. $(".create-form-btn").on("click", function () {
  27. const date = new Date();
  28. let number = date.getTime();
  29. let serverUrl = _serverUrl();
  30. let appName = $(this).text();
  31. let formId = $(this).attr("data-formid");
  32. let installedAppId = $(this).attr("data-installedappid");
  33. let appConfigurationId = $(this).attr("data-appconfigurationid");
  34. let pk_id = 0;
  35. const cookie = getCookie("_idty");
  36. let fomrhtml = "";
  37. let width = iFrmeWdth();
  38. if (cookie) {
  39. const {unibaseId, tenantId, userId} = JSON.parse(cookie);
  40. fomrhtml = `<div>
  41. <div class="frm-ifre frm-ifre-${number}" id="frm-ifre-${number}" style="right:${width}px">
  42. <div>
  43. <ul class="m-0 p-0">
  44. <li class="frm-hdr d-none">
  45. <div class="app-title-ifrm">${appName}</div>
  46. <div class="ctrl">
  47. <a href="javascript:;" class="minimize" data-unid="${number}" data-ispopup="true"><span><i class="la la-minus"></i></span></a>
  48. <a href="javascript:;" class="maximum" data-unid="${number}"><span><i class="la la-expand"></i></span></a>
  49. <a href="javascript:;" class="compress d-none" data-unid="${number}"><span><i class="las la-compress"></i></span></a>
  50. <a href="javascript:;" class="close" data-unid="${number}"><span><i class="la la-times"></i></span></a>
  51. </div>
  52. </li>
  53. <li class="frm-bdy">
  54. <div class="ctrl-vrtl">
  55. <a href="javascript:;" class="minimize" data-unid="${number}" data-ispopup="true"><span><i class="la la-minus"></i></span></a>
  56. <a href="javascript:;" class="maximum" data-unid="${number}"><span><i class="la la-expand"></i></span></a>
  57. <a href="javascript:;" class="compress d-none" data-unid="${number}"><span><i class="las la-compress"></i></span></a>
  58. <a href="javascript:;" class="close" data-unid="${number}"><span><i class="la la-times"></i></span></a>
  59. </div>
  60. <iframe class="ld-frm-src" data-ispopup="false" src="${serverUrl}#/${unibaseId}/${tenantId}/${userId}/${installedAppId}/${formId}/${pk_id}/${appConfigurationId}/loadform"></iframe>
  61. </li>
  62. <li class="frm-ftr"></li>
  63. </ul>
  64. </div>
  65. </div>
  66. </div>`;
  67. }
  68. $("#list-page").parent("body").append(fomrhtml);
  69. window.window.postMessage("ld-frm-ifrme", "*");
  70. hdrCrtnClckEvnt(number);
  71. });
  72. }
  73. function hdrCrtnClckEvnt(number) {
  74. $(`.frm-ifre-${number} .minimize`).on("click", function () {
  75. let id = $(this).attr("data-unid");
  76. let isPopUpState = $(this).attr("data-ispopup");
  77. let height = $(`.frm-ifre-${id}`).find(".frm-hdr").height();
  78. $(".list-page").css({filter: "unset", opacity: 1});
  79. $(`.frm-ifre-${id} .frm-hdr`).toggleClass("d-none");
  80. $(`.frm-ifre-${id} .frm-bdy`).toggleClass("d-none");
  81. if (isPopUpState == "true") {
  82. // popup large
  83. $(this).attr("data-ispopup", "false");
  84. $(`.frm-ifre-${id} .maximum`).addClass("d-none");
  85. $(`.frm-ifre-${id} .minimize`).attr("data-ispopup", "false");
  86. $(`.frm-ifre-${id}`).parent().removeClass("wrap-iframe");
  87. $(`.frm-ifre-${id}`).attr("data-ispop_up", "false");
  88. $(`.frm-ifre-${id}`).css({
  89. width: "20%",
  90. height: height,
  91. bottom: "0px",
  92. });
  93. } else {
  94. // popup small
  95. $(this).attr("data-ispopup", "true");
  96. $(`.frm-ifre-${id} .maximum`).removeClass("d-none");
  97. $(`.frm-ifre-${id} .minimize`).attr("data-ispopup", "true");
  98. $(`.frm-ifre-${id}`).attr("data-ispop_up", "true");
  99. $(`.frm-ifre-${id}`).css({
  100. width: "",
  101. height: "",
  102. bottom: "",
  103. });
  104. }
  105. resetwidth();
  106. });
  107. $(`.frm-ifre-${number} .maximum`).on("click", function () {
  108. let id = $(this).attr("data-unid");
  109. $(this).addClass("d-none");
  110. $(this).siblings(".compress").removeClass("d-none");
  111. $(`.frm-ifre-${id}`).find(".ld-frm-src").attr("data-ispopup", "true");
  112. $(`.frm-ifre-${id}`).parent().addClass("wrap-iframe");
  113. $(`.frm-ifre-${id}`).css({width: "75%", position: "unset"});
  114. $(`.frm-ifre-${id} .ld-frm-src`).css({width: "100%"});
  115. $(`.frm-ifre-${id} .frm-bdy`).removeClass("d-none");
  116. $("#list-page").css({filter: "blur(2px)", opacity: "0.5"});
  117. $(`.frm-ifre-${id}`).find(".minimize").toggleClass("d-none");
  118. });
  119. $(`.frm-ifre-${number} .compress`).on("click", function () {
  120. let id = $(this).attr("data-unid");
  121. $(this).addClass("d-none");
  122. $(this).siblings(".maximum").removeClass("d-none");
  123. $(`.frm-ifre-${id}`).parent().removeClass("wrap-iframe");
  124. $(`.frm-ifre-${id}`).css({width: "", position: ""});
  125. $(`.frm-ifre-${id} .ld-frm-src`).css({width: ""});
  126. $("#list-page").css({filter: "", opacity: ""});
  127. $(`.frm-ifre-${id}`).find(".minimize").toggleClass("d-none");
  128. });
  129. $(`.frm-ifre-${number} .close`).on("click", function () {
  130. let id = $(this).attr("data-unid");
  131. $("#list-page").css({filter: "unset", opacity: "1"});
  132. $(`.frm-ifre-${id}`).parent().remove();
  133. resetwidth();
  134. });
  135. }
  136. function loadData() {
  137. $(".bdy-ul").empty();
  138. $('[class="refrsh"]')
  139. .unbind()
  140. .on("click", function () {
  141. loadData();
  142. });
  143. $('[data-clck="ri-grid-fill"]').on("click", function () {
  144. $(".apps-list").toggleClass("d-flex");
  145. });
  146. getData("apis/v4/unibase/platform/apps/myapps").then(function (response) {
  147. let result = JSON.parse(response.result);
  148. let html = "";
  149. for (var i = 0; i < result.length; i++) {
  150. html += `<li class="appsBind" data-myappid="${result[i].MyAppId}"><img src="../imgs/${result[i].ImageUrl}" ><span class="appTitle">${result[i].AppTitle}</span></li>`;
  151. }
  152. $("#apps-list").html(html);
  153. $("li.appsBind").on("click", function () {
  154. $(".apps-list").removeClass("d-flex");
  155. });
  156. });
  157. getData(
  158. "apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/6/PageSize/20"
  159. ).then(function (result) {
  160. let response = JSON.parse(result.result);
  161. if (response.length != 0) {
  162. // Notifcations
  163. let bdyUI = '<div class="accordion" id="notifi-list">';
  164. for (var i = 0; i < response.length; i++) {
  165. bdyUI += `<li class="item-li" id="${
  166. response[i].ReminderId
  167. }" data-ref="${
  168. response[i].RedirectOptions.RefId
  169. }" data-installedAppId="${
  170. response[i].RedirectOptions.InstalledAppId
  171. }" data-formId="${response[i].RedirectOptions.CreateFormId}">
  172. <div class="accordion-header" id="accHeader-${
  173. response[i].ReminderId
  174. }">
  175. <div class="notifiListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${
  176. response[i].ReminderId
  177. }" aria-expanded="false" aria-controls="collapseOne">
  178. <div class="row m-0 w-100 p-0 ">
  179. <div class="col-3 px-0 d-flex flex-row text-truncate">
  180. <input class="form-check-input mr-2" type="checkbox" value="" id="flexCheckDefault">
  181. <div class="mx-3 w-75 text-truncate">
  182. <span class="mx-1">${
  183. response[i].Subject
  184. }</span>
  185. </div>
  186. </div>
  187. <div class="col-9 text-truncate d-flex justify-content-between">
  188. <span class="mx-1 w-mes">${
  189. response[i].Message
  190. }</span>
  191. <span class="mx-1 t-sec-min">${dateTimeFormat(
  192. response[i].ReminderDate
  193. )}</span>
  194. </div>
  195. </div>
  196. </div>
  197. <div id="collapse-${
  198. response[i].ReminderId
  199. }" class="accordion-collapse collapse" aria-labelledby="accHeader-${
  200. response[i].ReminderId
  201. }" data-bs-parent="#notifi-list">
  202. <div class="accordion-body" id="accBody${
  203. response[i].ReminderId
  204. }">
  205. </div>
  206. </div>
  207. </div>
  208. </li>`;
  209. }
  210. bdyUI += "</div>";
  211. $(".bdy-ul").append(bdyUI);
  212. $('.sub-nav-item[data-buttonType="inbox"] .length').remove();
  213. $('.sub-nav-item[data-buttonType="inbox"]').append(
  214. `<span class="length badge rounded-pill bg-light text-dark ml-auto"></span>`
  215. );
  216. $(".notifiListItms").on("click", function () {
  217. let _this = $(this).parents(".item-li");
  218. let obj = {
  219. FromDate: "2022/11/30",
  220. InstalledAppId: Number($(_this).attr("data-installedAppId")),
  221. RecordId: Number($(_this).attr("data-ref")),
  222. ToDate: "2022/11/30",
  223. };
  224. //let obj = { "FromDate": "2022/11/30", "InstalledAppId": 102530270000109, "RecordId": 102533490346298, "ToDate": "2022/11/30" };
  225. getDataObj(
  226. "apis/v4/unibase/platform/widgets/getdefaultwidget",
  227. obj,
  228. true,
  229. "POST"
  230. ).then(function (response) {
  231. let res = JSON.parse(response.result),
  232. html = "";
  233. if (response.message == "200" && response.errors == null) {
  234. html = `<ul class="p-0 m-0 d-flex flex-row">`;
  235. if (
  236. res.AppConfigurations != null &&
  237. res.AppConfigurations.length > 0
  238. ) {
  239. for (var k = 0; k < res.AppConfigurations.length; k++) {
  240. html += `<li class="mx-2 btn-outline-primary btn btn-sm">${res.AppConfigurations[k].SettingName}</li>`;
  241. }
  242. } else {
  243. html += `<li class="p-1 my-0 alert alert-danger" role="alert">
  244. App Configurations Not configure
  245. </li>`;
  246. }
  247. if (res.Stages != null) {
  248. for (var x = 0; x < res.Stages.length; x++) {
  249. if (res.Stages[x].IsDefault) {
  250. html += `<li class="ml-auto">
  251. <a class="btn btn-sm btn-secondary dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">
  252. ${res.Stages[x].StageName}
  253. </a>
  254. <ul class="dropdown-menu">`;
  255. }
  256. }
  257. for (var i = 0; i < res.Stages.length; i++) {
  258. if (!res.Stages[i].IsDefault) {
  259. html += `<li><a class="dropdown-item" href="javascript:void(0);">${res.Stages[i].StageName}</a></li>`;
  260. }
  261. }
  262. html += "</ul></li>";
  263. } else {
  264. html += `<li class="p-1 my-0 alert alert-danger ml-auto" role="alert">
  265. No Stages
  266. </li>`;
  267. }
  268. html += `<li class="p-1 mx-2 my-0 btn-outline-info detailBtn btn btn-sm" data-appid="${Number(
  269. $(_this).attr("data-installedAppId")
  270. )}" data-recordid="${Number(
  271. $(_this).attr("data-ref")
  272. )}">Details-Page</li></ul>`;
  273. } else {
  274. html += `<div class="alert alert-danger" role="alert">
  275. ${response.message} ${response.errors}
  276. </div>`;
  277. }
  278. $(_this).find(".accordion-body").html(html);
  279. detailClick();
  280. });
  281. });
  282. }
  283. });
  284. getData(
  285. "apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/1/PageSize/20"
  286. ).then(function (tskResp) {
  287. let response = JSON.parse(tskResp.result);
  288. if (response.length != 0) {
  289. let _tskhtml = '<div class="accordion" id="task-list">';
  290. for (var i = 0; i < response.length; i++) {
  291. _tskhtml += `<li class="item-li" id="${
  292. response[i].ReminderId
  293. }" data-ref="${
  294. response[i].RedirectOptions.RefId
  295. }" data-installedAppId="${
  296. response[i].RedirectOptions.InstalledAppId
  297. }" data-formId="${response[i].RedirectOptions.CreateFormId}">
  298. <div class="accordion-header" id="accHeader-${
  299. response[i].ReminderId
  300. }">
  301. <div class="tskListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${
  302. response[i].ReminderId
  303. }" aria-expanded="false" aria-controls="collapseOne">
  304. <div class="row m-0 w-100 p-0 ">
  305. <div class="col-3 px-0 d-flex flex-row text-truncate">
  306. <input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
  307. <div class="mx-3 w-75 text-truncat">
  308. <span class="mx-1">${
  309. response[i].Subject
  310. }</span>
  311. </div>
  312. </div>
  313. <div class="col-9 text-truncate d-flex justify-content-between">
  314. <span class="mx-1 w-mes">${
  315. response[i].Message
  316. }</span>
  317. <span class="mx-1 t-sec-min">${dateTimeFormat(
  318. response[i].ReminderDate
  319. )}</span>
  320. </div>
  321. </div>
  322. </div>
  323. <div id="collapse-${
  324. response[i].ReminderId
  325. }" class="accordion-collapse collapse" aria-labelledby="accHeader-${
  326. response[i].ReminderId
  327. }" data-bs-parent="#notifi-list">
  328. <div class="accordion-body" id="accBody${
  329. response[i].ReminderId
  330. }">
  331. <ul class="p-0 m-0 d-flex flex-row justify-content-between">
  332. <li class="mx-2 btn-outline-success btn btn-sm">Confirm</li>
  333. <li class="mx-2 btn-outline-danger btn btn-sm">Reject</li>
  334. <li class="mx-2 btn-outline-primary btn btn-sm">Close</li>
  335. <li class="mx-2 btn-outline-info detailBtn btn btn-sm" data-appId="${
  336. response[i].RedirectOptions
  337. .InstalledAppId
  338. }" data-recordId="${
  339. response[i].RedirectOptions.RefId
  340. }">Details-Page</li>
  341. </ul>
  342. </div>
  343. </div>
  344. </div>
  345. </li>`;
  346. }
  347. _tskhtml += "</div>";
  348. $(".bdy-ul").append(_tskhtml);
  349. detailClick();
  350. }
  351. });
  352. // create button apps load
  353. let appName = [];
  354. getData("apis/v4/unibase/platform/apps/myapps").then(function (res) {
  355. let response = JSON.parse(res.result);
  356. jQuery.each(response, async function (index, item) {
  357. let installedAppId = Number(item.MyAppId);
  358. await getData(
  359. `apis/v4/unibase/platform/apps/listappconfigurations/installedappid/${installedAppId}`
  360. ).then(function (result) {
  361. if (
  362. result.result != null &&
  363. result.result != "" &&
  364. result.result != "[]"
  365. ) {
  366. let _data = JSON.parse(result.result);
  367. let data = _data.filter((x) => x.SettingUrlType == 1);
  368. if (data.length != 0) {
  369. appName.push({
  370. SettingUrlType: data[0].SettingUrlType,
  371. AppTitle: data[0].AppTitle,
  372. FormId: data[0].FormId,
  373. InstalledAppId: data[0].InstalledAppId,
  374. RoleSettingAppId: data[0].RoleSettingAppId,
  375. InstalledAppGuid: data[0].InstalledAppGuid,
  376. AppConfigurationId: data[0].AppConfigurationId,
  377. AppPermissionId: data[0].AppPermissionId,
  378. AppConfigType: data[0].AppConfigType,
  379. });
  380. }
  381. }
  382. });
  383. await createLoad(appName);
  384. });
  385. });
  386. getData("apis/v4/unibase/reminders/platform/getunreadreminderscount").then(
  387. function (response) {
  388. let result = JSON.parse(response.result);
  389. let count = Number(result.NotificationCount) + Number(result.TasksCount);
  390. $('[data-buttontype="inbox"] .length').text(count);
  391. $('[data-notification="count"]').text(count);
  392. if (count > 40) {
  393. $('[data-paggtn="true"]').text(`1-40`);
  394. } else {
  395. $(".li-pgn").empty();
  396. }
  397. }
  398. );
  399. }
  400. function iFrmeWdth() {
  401. let width = 0,
  402. erwdth = 32;
  403. $(".frm-ifre").each(function (i, e) {
  404. if ($(this).length == 0) {
  405. erwdth = 0;
  406. }
  407. if (window.innerWidth > width) {
  408. width = width + $(this).width() + erwdth;
  409. }
  410. });
  411. return width;
  412. }
  413. function resetwidth() {
  414. let width = 0,
  415. erwdth = 32;
  416. $(".frm-ifre").each(function (i, e) {
  417. if (i == 0) {
  418. $(this).css("right", width + "px");
  419. }
  420. if (i != 0) {
  421. $(this).css("right", width + "px");
  422. }
  423. if (window.innerWidth > width) {
  424. width = width + $(this).width() + erwdth;
  425. }
  426. });
  427. }
  428. export function detailClick() {
  429. $(".detailBtn").click(function () {
  430. let serverUrl = _serverUrl();
  431. $(".bdy-ul").addClass("d-none");
  432. let installedAppId = +$(this).attr("data-appId");
  433. let recordId = +$(this).attr("data-recordId");
  434. // Unibase.Themes.Compact.Components.Notification.Instance().loadReminderDetails(105013010001972,105010260000090,'Details','null',6,0,null)
  435. const cookie = getCookie("_idty");
  436. if (cookie) {
  437. const {unibaseId, tenantId, userId} = JSON.parse(cookie);
  438. $("#detailIframe").html(
  439. `<iframe width="100%" style="min-height:calc(100vh - ${$(
  440. ".tp-bar"
  441. ).height()}px)"  name="srcframe" id="srcframe" class="srcframe" src="${serverUrl}#/${unibaseId}/${tenantId}/${userId}/${recordId}/${installedAppId}/loadDetail"></iframe>`
  442. );
  443. }
  444. });
  445. }
  446. export function signaRInit() {
  447. var huburl = _serverUrl() + "notificationhub";
  448. connection = new window["signalR"].HubConnectionBuilder()
  449. .withUrl(huburl)
  450. .build();
  451. register();
  452. }
  453. export async function register() {
  454. connection.on("sendnotification", (obj) => {
  455. $(".ctr-lst-pge .bdy-ul").empty();
  456. loadData();
  457. });
  458. const cookie = getCookie("_idty");
  459. const {unibaseId, tenantId, userId, sessionId, name} = JSON.parse(cookie);
  460. let packet = {
  461. UserId: Number(userId),
  462. UserName: name,
  463. UnibaseId: unibaseId,
  464. TenantId: Number(tenantId),
  465. SessionId: sessionId,
  466. };
  467. try {
  468. const stringConnection = await connection.start();
  469. await connection.invoke("Connect", packet);
  470. } catch (error) {
  471. console.log(error);
  472. }
  473. }
  474. export function resetClckEvnt() {
  475. $(".ChtAppIfrme").remove();
  476. $(".lft-nav-bar .lft-nav-bar-2").removeClass("d-none");
  477. $(".ctr-lst-pge, .rtr-nav-bar").removeClass("d-none");
  478. $(".lft-nav-bar").css("width", "");
  479. }
  480. export function initListIndex() {
  481. let _userInfo = atob(document.cookie.split("=")[1]);
  482. let userInfo = " JSON.parse(_userInfo).result";
  483. let sessionId = "userInfo.sessionId";
  484. signaRInit();
  485. let usrinfoHTML = `<li><a class="dropdown-item" href="javascript:void(0);">${userInfo.name}</a></li>
  486. <li><a class="dropdown-item" href="javascript:void(0);">Cloud Settings</a></li>
  487. <li><a class="dropdown-item" href="javascript:void(0);">Help</a></li>
  488. <li><a class="dropdown-item" href="javascript:void(0);" data-btn="logoff">Logoff</a></li>`;
  489. $(".icn-circle").text(userInfo?.name?.charAt(0)?.toUpperCase());
  490. $(".uindtls").html(usrinfoHTML);
  491. $('[data-btn="logoff"]').on("click", function () {
  492. document.cookie = "_idty=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
  493. window.location = "../login";
  494. });
  495. // List Page loading
  496. /*Data loading start here*/
  497. $(".nav-lft-item").on("click", function () {
  498. $(".nav-lft-item").removeClass("active");
  499. $(this).addClass("active");
  500. if ($(this).attr("data-application") != "Chat Application") {
  501. resetClckEvnt();
  502. }
  503. });
  504. $(".nav-lft-item[data-application='Chat Application']").on(
  505. "click",
  506. function () {
  507. const serverUrl = _serverUrl();
  508. const cookie = getCookie("_idty");
  509. const {unibaseId, tenantId, userId} = JSON.parse(cookie);
  510. $(".lft-nav-bar .lft-nav-bar-2").addClass("d-none");
  511. $(".ctr-lst-pge, .rtr-nav-bar").addClass("d-none");
  512. $(".lft-nav-bar").css("width", "var(--rtrWidth)");
  513. $(".btm-bar .ChtAppIfrme").remove();
  514. $(".btm-bar").append(`<div class="ChtAppIfrme w-100">
  515. <iframe class="" style="height:100%; width:100%" data-ispopup="false" src="${serverUrl}#/${unibaseId}/${tenantId}/${userId}/loadChat"></iframe>
  516. </div>`);
  517. }
  518. );
  519. $(".mnNvIcn").click(function () {
  520. $(".lft-nav-bar").toggleClass("lft-nav-bar-Wrap");
  521. $(".ctr-lst-pge").toggleClass("lft-nav-bar-Wrap");
  522. });
  523. $(".mre-drp a.sub-nav-item.more").on("click", function () {
  524. $(".sub-nav-item").removeClass("active");
  525. if ($(this)[0].className.includes("active")) {
  526. $(this).find("i").css("transform", "rotate(0deg)");
  527. $(this).removeClass("active");
  528. } else {
  529. $(this).find("i").css("transform", "rotate(180deg)");
  530. $(this).addClass("active");
  531. }
  532. $(this).siblings(".ul-drpdown").toggleClass("d-none");
  533. });
  534. $("a.sub-nav-item")
  535. .not(".more.active")
  536. .on("click", function () {
  537. $(".sub-nav-item").not(".more.active").removeClass("active");
  538. $(this).addClass("active");
  539. });
  540. try {
  541. loadData();
  542. } catch (error) {
  543. console.log("LoadData Method is not loading, and getting error");
  544. }
  545. }