New UI layout
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

list.index.js 22KB

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