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

nav.js 242KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240
  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. let Components;
  17. (function (Components) {
  18. class Nav extends Unibase.Platform.Core.BaseComponent {
  19. constructor() {
  20. super();
  21. this.indexInstance = Unibase.Themes.Compact.Components.Index.Instance();
  22. this.layoutIndex = this.indexInstance.layoutIndex;
  23. this.leftLayout = this.indexInstance.leftLayout;
  24. this.topLayout = this.indexInstance.topLayout;
  25. this.topLeftLayout = this.indexInstance.topLeftLayout;
  26. this.currentTheme = this.indexInstance.currentTheme;
  27. this.Logo = this.indexInstance.Logo;
  28. this.desktopMode = this.indexInstance.desktopMode;
  29. this.tabMode = this.indexInstance.tabMode;
  30. this.switchToSecondary = false;
  31. this.isRestrictHidden = '';
  32. this.initialLoad = false;
  33. this.isList = false;
  34. this.isDshboardBck = false;
  35. this.isDshboardBckArray = [];
  36. this.dashboards = [];
  37. this.apps = [];
  38. this.createapps = [];
  39. this.fileCacheHelper.loadCssFile("tenants/themes/compact/components/nav/nav.style.css", null);
  40. }
  41. cssFiles() {
  42. return [];
  43. }
  44. jsFiles() {
  45. return [];
  46. }
  47. html(id, containerid) {
  48. var _a, _b, _c, _d;
  49. var instance = this;
  50. var BranchName = "NA";
  51. var TrimmedBranchName = "NA";
  52. if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings != null) {
  53. var branch = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchname");
  54. if (branch != undefined) {
  55. BranchName = branch.settingValue;
  56. TrimmedBranchName = BranchName.length > 20 ? branch.settingValue.substring(0, 20) + "..." : BranchName;
  57. }
  58. }
  59. var branchshortcode = "NA";
  60. if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings != null) {
  61. var branchname = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchcode");
  62. if (branchname != undefined && branchname != null) {
  63. branchshortcode = branchname.settingValue;
  64. }
  65. }
  66. var TrimmedUserName = "";
  67. var UserName = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().name;
  68. if (UserName != null && UserName != undefined && UserName != "") {
  69. TrimmedUserName = UserName.length > 20 ? UserName.substring(0, 20) + "..." : UserName;
  70. }
  71. if (Unibase.Platform.Membership.Infos.Identity.currentUser.isRestrictedUser) {
  72. instance.isRestrictHidden = 'd-none';
  73. }
  74. var adminHtml = '';
  75. let html = `<div class="biz-menu biz-primary-color biz-primary-text-color biz-highlight-color"><div class="biz-nav-fullwidth hidden"></div><div class="biz-main-menu shadow">`;
  76. html += `<div class="menu-content-wrap">
  77. <ul class="navbar-nav flex-column">
  78. <li class="nav-item nav-button d-xl-none d-lg-block" id="nav-button-close">
  79. <a class="nav-link btn btn-icon btn-flush-nav btn-rounded biz-primary-text-color w-100" href="javascript:;" id="biz_nav_close">
  80. <span class="btn-icon-wrap"><i class="dripicons dripicons-cross"></i></span>
  81. </a>
  82. </li>` +
  83. `<li class="nav-item sunbnav-active nav-button" id="nav-button-dashboards" data-buttonType='nav-button-dashboards'>
  84. <a class="nav-link d-none" href="javascript:;" onclick="javascript:Unibase.Themes.Compact.Components.Nav.Instance().showNavOptions(1);" id="lnkDashboards">
  85. <span class="nav-icon-wrap" data-tooltip="true" title="Dashboard"><i class="dripicons dripicons-archive nav-link-icon"></i></span>
  86. </a>
  87. </li>`;
  88. html += `<li class="nav-item nav-button d-none" id="nav-button-apps" data-buttonType='nav-button-apps'>
  89. <a class="nav-link d-none" href="javascript:;" onclick="javascript:Unibase.Themes.Compact.Components.Nav.Instance().showNavOptions(2);" id="lnkApps">
  90. <span class="nav-icon-wrap" data-tooltip="true" title="Apps"><i class="dripicons dripicons-view-apps nav-link-icon"></i></span>
  91. </a>
  92. </li>
  93. <li class="nav-item nav-button d-none" id="nav-button-create">
  94. <a class="nav-link d-none" href="javascript:;" onclick="javascript:Unibase.Themes.Compact.Components.Nav.Instance().showNavOptions(3);" id="lnkCreate">
  95. <span class="nav-icon-wrap" data-tooltip="true" title="Create"><i class="dripicons dripicons-plus"></i></span>
  96. </a>
  97. </li>
  98. <li class="nav-item nav-button d-none" id="nav-button-reports" data-buttonType='nav-button-reports'>
  99. <a class="nav-link d-none" href="javascript:;" onclick="javascript:Unibase.Themes.Compact.Components.Nav.Instance().showNavOptions(4);" id="lnkReports">
  100. <span class="nav-icon-wrap" data-tooltip="true" title="Reports"><i class="dripicons dripicons-graph-pie nav-link-icon"></i></span>
  101. </a>
  102. </li>
  103. </ul>
  104. </div>
  105. <!-- Sidebar Fixnav -->
  106. <div class="biz-bottom-nav-menu">
  107. <ul class="nav nav-light">
  108. <li class="nav-item nav-button d-none" id="nav-button-conversation">
  109. <a class="nav-link dropdown-toggle no-caret" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" id="lnkConversation">
  110. <span class="nav-icon-wrap"><i class="dripicons dripicons-conversation"></i></span>
  111. </a>
  112. </li>`;
  113. if ((_a = this.currentUser) === null || _a === void 0 ? void 0 : _a.isAdmin) {
  114. let hiddenClass = this.layoutIndex == instance.topLayout ? "d-none d-xl-block" : "";
  115. if (this.layoutIndex == instance.leftLayout || !instance.desktopMode) {
  116. adminHtml = `<li class="nav-item dropdown" id="nav-settings-dropdown">
  117. <a href="javascript:;" class="nav-link dropdown-toggle no-caret py-1" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
  118. <span class="nav-icon-wrap"><i class="fa fa-cogs"></i></span>
  119. </a>
  120. <div class="dropdown-menu dropdown-menu-right biz-custom-scrollbar moreoptions" id="bizAppSettingsDpMenu">
  121. <div class="d-none d-xl-block"><a href="javascript:;" onclick="Unibase.Themes.Compact.Components.Nav.Instance().loadLayoutBuilder()" class="dropdown-item"><i class="dropdown-icon fa fa-desktop"></i><span>Layout Builder</span></a>
  122. <a href="javascript:;" onclick="Unibase.Themes.Compact.Components.Nav.Instance().manageDashboards()" class="dropdown-item db-setting-dp-item"><i class=" dropdown-icon fa fa-list"></i><span>Manage Dashboards</span></a>
  123. <a href="javascript:;" onclick="Unibase.Themes.Compact.Components.Nav.Instance().addWidget()" class="dropdown-item db-setting-dp-item"><i class="dropdown-icon fa fa-arrows-alt"></i><span>Design Dashboard</span></a></div>
  124. <a href="javascript:;" onclick="Unibase.Themes.Compact.Components.Nav.Instance().loadAppGroups()" class="dropdown-item"><i class=" dropdown-icon fa fa-list"></i><span>Manage Apps</span></a>
  125. <div class="dropdown-divider"></div>
  126. <a class="dropdown-item" href="javascript:;" id="btnrefresh_dataapis">
  127. <i class=" dropdown-icon fa fa-refresh"></i>
  128. <span>Refresh DataApis</span>
  129. </a>
  130. <a class="dropdown-item" href="javascript:;" id="btnrefresh_actionproviders">
  131. <i class=" dropdown-icon fa fa-refresh"></i>
  132. <span>Refresh Action Providers</span>
  133. </a>
  134. <a class="dropdown-item" href="javascript:;" id="btnrefresh_integrationproviders">
  135. <i class=" dropdown-icon fa fa-refresh"></i>
  136. <span>Refresh Integration Providers</span>
  137. </a>
  138. <a class="dropdown-item" href="javascript:;" id="btnrefresh_Controls">
  139. <i class=" dropdown-icon fa fa-refresh"></i>
  140. <span>Refresh Controls</span>
  141. </a>
  142. <a class="dropdown-item" href="javascript:;" id="btnrefresh_Forms">
  143. <i class=" dropdown-icon fa fa-refresh"></i>
  144. <span>Refresh Forms</span>
  145. </a>
  146. <a class="dropdown-item" href="javascript:;" id="btnrefresh_Autocompletes">
  147. <i class=" dropdown-icon fa fa-refresh"></i>
  148. <span>Refresh AutoCompletes</span>
  149. </a>
  150. <a class="dropdown-item" href="javascript:;" id="btnrefresh_Widgetlayouts">
  151. <i class="dropdown-icon fa fa-refresh"></i>
  152. <span>Refresh WidgetLayouts</span>
  153. </a>
  154. <a class="dropdown-item" href="javascript:;" id="btnrefresh_FileProviders">
  155. <i class=" dropdown-icon fa fa-refresh"></i>
  156. <span>Refresh FileProviders</span>
  157. </a>
  158. <a class="dropdown-item" href="javascript:;" id="btnrefresh_PrintProviders">
  159. <i class=" dropdown-icon fa fa-refresh"></i>
  160. <span>Refresh PrintProviders</span>
  161. </a>
  162. <a class="dropdown-item" href="javascript:;" id="btnrefresh_StaticReportObject">
  163. <i class=" dropdown-icon fa fa-refresh"></i>
  164. <span>Refresh StaticReportObject</span>
  165. </a>
  166. <a class="dropdown-item" href="javascript:;" id="btnupdate_datalistcolums">
  167. <i class=" dropdown-icon fa fa-refresh"></i>
  168. <span>Update ReportQuery</span>
  169. </a>
  170. <a class="dropdown-item" href="javascript:;" id="btnrefresh_cryptoproviders">
  171. <i class=" dropdown-icon fa fa-refresh"></i>
  172. <span>Refresh CryptoProviders</span>
  173. </a>
  174. <a class="dropdown-item" href="javascript:;" id="btnrefresh_templateproviders">
  175. <i class=" dropdown-icon fa fa-refresh"></i>
  176. <span>Refresh TemplateProviders</span>
  177. </a>
  178. <a class="dropdown-item" href="javascript:;" id="btn_refreshnotificationproviders">
  179. <i class=" dropdown-icon fa fa-refresh"></i>
  180. <span>Refresh AutomationProviders</span>
  181. </a>
  182. </div>
  183. </li>`;
  184. adminHtml += `<li class="nav-item d-xl-none" id="nav-button-changebranch">
  185. <a href="javascript:;" class="nav-link lnk_nav_changebranch py-1" id="lnk_nav_changebranch"><div class="mx-1 biz-primary-text-color border border-2 nav-location-icon rounded" data-tooltip="true" title="` + BranchName + `"><p class="text-uppercase"style="padding: 0 2px;font-size: 10px;font-weight: 700;">` + branchshortcode + `</p></div></a>
  186. </li>
  187. <li class="nav-item dropdown mob-view" id="nav-profile-dropdown">
  188. <a class="nav-link dropdown-toggle no-caret py-1 pb-2" href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  189. <span class="nav-icon-wrap profile-Img-Update" data-tooltip="true" title="Profile"><i class="la la-user-circle font-25"></i></span>
  190. </a>
  191. <div class="dropdown-menu dropdown-menu-right profile-dropdown-menu" data-dropdown-in="flipInX" data-dropdown-out="flipOutX">
  192. <a class="dropdown-item d-flex align-items-center border-bottom py-3 lnk_nav_profile" href="javascript:;" id="lnk_nav_profile" data-tooltip="true" title="` + UserName + `"> <div class="w-30p"><i class="fa fa-user"></i></div> <div class="link_nav_profile text-truncate w-100"> ` + TrimmedUserName + `</div> </a>`;
  193. if (this.switchToSecondary) {
  194. adminHtml += `<a class="dropdown-item border-bottom d-flex align-items-center py-3" href="#"><div class="w-30p"><i class="fa fa-server"></i></div><div class="">Switch to Secondary</div></a>`;
  195. }
  196. adminHtml += `<a class="dropdown-item border-bottom d-flex align-items-center py-3 btn_cloudsettings 1" id="btn_cloudsettings" href="javascript:;"><div class="w-30p"><i class="fa fa-cloud"></i></div><div class="">Cloud Settings</div></a>
  197. <a href="javascript:;" class="dropdown-item border-bottom d-none align-items-center py-3 lnk_nav_changebranch"><div class="w-30p"><i class="fa fa-map-marker"></i></div><div>${BranchName}</div></a><a href="javascript:;" class="dropdown-item border-bottom d-none align-items-center py-3 app-settings-dropdown" id="nav-settings-dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><div class="w-30p"><i class="fa fa-cogs"></i></div><div>Settings</div></a>
  198. <a class="dropdown-item d-flex align-items-center py-3 border-bottom userBtnLogoff" id="userBtnLogoff" href="javascript:;"><span class="w-30p"><i class="fa fa-sign-out"></i></span><span>User Logoff</span></a>
  199. <a class="dropdown-item btnLogoff d-flex align-items-center py-3 btn_cloudsettings" id="btnLogoff" href="javascript:;"><div class="w-30p"> <i class="fa fa-power-off"></i></div> <div>Logoff </div></a>
  200. </div>
  201. </li>`;
  202. }
  203. html += adminHtml;
  204. }
  205. if (((_b = this.currentUser) === null || _b === void 0 ? void 0 : _b.isAdmin) == false) {
  206. let hiddenClass = this.layoutIndex == instance.topLayout ? "d-none d-xl-block" : "";
  207. adminHtml = `
  208. <li class="nav-item dropdown mob-view" id="nav-profile-dropdown">
  209. <a class="nav-link dropdown-toggle no-caret" href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  210. <span class="nav-icon-wrap profile-Img-Update" data-tooltip="true" title="Profile"><i class="la la-user-circle font-25"></i></span>
  211. </a>
  212. <div class="dropdown-menu dropdown-menu-right" data-dropdown-in="flipInX" data-dropdown-out="flipOutX">
  213. <a class="dropdown-item d-flex align-items-center border-bottom py-3 lnk_nav_profile" href="javascript:;" id="lnk_nav_profile" data-tooltip="true" title="` + UserName + `"> <div class="w-30p"><i class="fa fa-user"></i></div> <div class="link_nav_profile text-truncate w-100"> ` + TrimmedUserName + `</div></a>`;
  214. if (this.switchToSecondary) {
  215. adminHtml += `<a class="dropdown-item border-bottom d-flex align-items-center py-3" href="javascript:;"><div class="w-30p"><i class="fa fa-server"></i></div><div class="">Switch to Secondary</div></a>`;
  216. }
  217. adminHtml += `<a class="dropdown-item d-flex align-items-center py-3 border-bottom userBtnLogoff" id="userBtnLogoff" href="javascript:;"><span class="w-30p"><i class="fa fa-sign-out"></i></span><span>User Logoff</span></a>
  218. <a class="dropdown-item btnLogoff d-flex align-items-center py-3 btn_cloudsettings" id="btnLogoff" href="javascript:;"><div class="w-30p"> <i class="fa fa-power-off"></i></div> <div>Logoff </div></a>
  219. </div>
  220. </li>`;
  221. html += adminHtml;
  222. }
  223. if (this.layoutIndex == instance.leftLayout || this.layoutIndex == instance.topLayout || this.layoutIndex == instance.topLeftLayout) {
  224. if (this.layoutIndex == instance.topLayout || this.layoutIndex == instance.topLeftLayout) {
  225. let otherHtml = `<a class="nav-link dropdown-toggle no-caret" href="javascript:;" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  226. <span class="nav-icon-wrap profile-Img-Update" data-tooltip="true" title="Profile"><i class="la la-user-circle font-25"></i></span>
  227. </a>
  228. <div class="dropdown-menu dropdown-menu-right bg-white profile-dropdown-menu userdetails" data-dropdown-in="flipInX" data-dropdown-out="flipOutX">
  229. <a class="dropdown-item d-flex align-items-center border-bottom py-3 lnk_nav_profile" href="javascript:;" id="lnk_nav_profile" data-tooltip="true" title="` + UserName + `"> <div class="w-30p"><i class="fa fa-user"></i></div> <div class="link_nav_profile text-truncate w-100"> ` + TrimmedUserName + `</div> </a>`;
  230. if (this.switchToSecondary) {
  231. otherHtml += `<a class="dropdown-item border-bottom d-flex align-items-center py-3" href="#"><div class="w-30p"><i class="fa fa-server"></i></div><div class="">Switch to Secondary</div></a>`;
  232. }
  233. if ((_c = Unibase.Platform.Membership.Infos.Identity.currentUser) === null || _c === void 0 ? void 0 : _c.isAdmin) {
  234. otherHtml += `<a class="dropdown-item border-bottom d-flex align-items-center py-3 btn_cloudsettings" id="btn_cloudsettings" href="javascript:;"><div class="w-30p"><i class="fa fa-cloud"></i></div><div class="">Cloud Settings</div></a>`;
  235. }
  236. otherHtml += `
  237. <a href="javascript:;" class="dropdown-item border-bottom d-flex align-items-center py-3 lnk_nav_changebranch d-md-none" id="lnk_nav_changebranch"><span class="w-30p"><i class="fa fa-map-marker font-18 text-dark pl-1"></i></span>${BranchName}</a>
  238. <a href="javascript:;" class="dropdown-item border-bottom d-flex align-items-center py-3 usertheme" onclick="javascript:Unibase.Themes.Compact.Components.Nav.Instance().loadUserTheme();"><div class="w-30p"><i class="la la-fill-drip font-25" style="transform: rotateY(180deg);"></i></div>Themes</a>
  239. <a href="javascript:;" class="dropdown-item border-bottom d-flex align-items-center py-3 btn_help" id="btn_help" aria-haspopup="true" aria-expanded="false"><span class="w-30p"><i class="ti-help-alt text-dark"></i></span><div>Help</div></a>
  240. <a href="javascript:;" class="app-settings-dropdown no-caret dropdown-item border-bottom d-flex align-items-center py-3" id="nav-settings-dropdown" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="w-30p"><i class="fa fa-cogs text-dark"></i></span><div>Settings</div></a>
  241. <div class="dropdown-menu dropdown-menu-right biz-custom-scrollbar moreoptions" id="bizAppSettingsDpMenu">
  242. <div class="d-none d-xl-block"><a href="javascript:;" onclick="Unibase.Themes.Compact.Components.Nav.Instance().loadLayoutBuilder()" class="dropdown-item"><i class="dropdown-icon fa fa-desktop"></i><span>Layout Builder</span></a>
  243. <a href="javascript:;" onclick="Unibase.Themes.Compact.Components.Nav.Instance().manageDashboards()" class="dropdown-item db-setting-dp-item"><i class="dropdown-icon fa fa-list"></i><span>Manage Dashboards</span></a>
  244. <a href="javascript:;" onclick="Unibase.Themes.Compact.Components.Nav.Instance().addWidget()" class="dropdown-item db-setting-dp-item"><i class="dropdown-icon fa fa-arrows-alt"></i><span>Design Dashboard</span></a></div>
  245. <a href="javascript:;" onclick="Unibase.Themes.Compact.Components.Nav.Instance().loadAppGroups()" class="dropdown-item"><i class="dropdown-icon fa fa-list"></i><span>Manage Apps</span></a>
  246. <div class="dropdown-divider"></div>
  247. <a class="dropdown-item" href="javascript:;" id="btnrefresh_dataapis">
  248. <i class="dropdown-icon fa fa-refresh"></i>
  249. <span>Refresh DataApis</span>
  250. </a>
  251. <a class="dropdown-item" href="javascript:;" id="btnrefresh_actionproviders">
  252. <i class=" dropdown-icon fa fa-refresh"></i>
  253. <span>Refresh Action Providers</span>
  254. </a>
  255. <a class="dropdown-item" href="javascript:;" id="btnrefresh_integrationproviders">
  256. <i class=" dropdown-icon fa fa-refresh"></i>
  257. <span>Refresh Integration Providers</span>
  258. </a>
  259. <a class="dropdown-item" href="javascript:;" id="btnrefresh_Controls">
  260. <i class=" dropdown-icon fa fa-refresh"></i>
  261. <span>Refresh Controls</span>
  262. </a>
  263. <a class="dropdown-item" href="javascript:;" id="btnrefresh_Forms">
  264. <i class=" dropdown-icon fa fa-refresh"></i>
  265. <span>Refresh Forms</span>
  266. </a>
  267. <a class="dropdown-item" href="javascript:;" id="btnrefresh_Autocompletes">
  268. <i class=" dropdown-icon fa fa-refresh"></i>
  269. <span>Refresh Autocompletes</span>
  270. </a>
  271. <a class="dropdown-item" href="javascript:;" id="btnrefresh_Widgetlayouts">
  272. <i class="dropdown-icon fa fa-refresh"></i>
  273. <span>Refresh WidgetLayouts</span>
  274. </a>
  275. <a class="dropdown-item" href="javascript:;" id="btnrefresh_FileProviders">
  276. <i class=" dropdown-icon fa fa-refresh"></i>
  277. <span>Refresh FileProviders</span>
  278. </a>
  279. <a class="dropdown-item" href="javascript:;" id="btnrefresh_PrintProviders">
  280. <i class=" dropdown-icon fa fa-refresh"></i>
  281. <span>Refresh PrintProviders</span>
  282. </a>
  283. <a class="dropdown-item" href="javascript:;" id="btnrefresh_StaticReportObject">
  284. <i class=" dropdown-icon fa fa-refresh"></i>
  285. <span>Refresh StaticReportObject</span>
  286. </a>
  287. <a class="dropdown-item" href="javascript:;" id="btnupdate_datalistcolums">
  288. <i class=" dropdown-icon fa fa-refresh"></i>
  289. <span>Update ReportQuery</span>
  290. </a>
  291. <a class="dropdown-item" href="javascript:;" id="btnrefresh_templateproviders">
  292. <i class=" dropdown-icon fa fa-refresh"></i>
  293. <span>Refresh TemplateProviders</span>
  294. </a>
  295. <a class="dropdown-item" href="javascript:;" id="btn_refreshnotificationproviders">
  296. <i class=" dropdown-icon fa fa-refresh"></i>
  297. <span>Refresh AutomationProviders</span>
  298. </a>
  299. </div>
  300. <a class="dropdown-item d-flex align-items-center py-3 border-bottom userBtnLogoff" id="userBtnLogoff" href="javascript:;"><span class="w-30p"><i class="fa fa-sign-out"></i></span><span>User Logoff</span></a>
  301. <a class="dropdown-item btnLogoff d-flex align-items-center py-3 btn_cloudsettings" id="btnLogoff" href="javascript:;"><div class="w-30p"><i class="fa fa-power-off"></i></div>Logoff</a>
  302. </div>`;
  303. $('#nav-profile-dropdown').append(otherHtml);
  304. }
  305. let layoutNavId = "";
  306. if (this.layoutIndex == instance.leftLayout) {
  307. if (instance.desktopMode)
  308. layoutNavId = "#biz-right-side-menu .navbar-nav";
  309. else
  310. layoutNavId = "#biz-layout-1-nav";
  311. }
  312. else if (this.layoutIndex == instance.topLayout) {
  313. layoutNavId = "#layout2-nav";
  314. }
  315. else if (this.layoutIndex == instance.topLeftLayout) {
  316. layoutNavId = "#biz-layout-3-nav";
  317. }
  318. if (this.desktopMode && (this.layoutIndex == instance.topLayout || this.layoutIndex == instance.topLeftLayout)) {
  319. $(layoutNavId).prepend(adminHtml);
  320. }
  321. if (instance.tabMode) {
  322. $(layoutNavId).prepend(`<li class="nav-item">
  323. <a href="javascript:;" class="nav-link lnk_nav_changebranch" id="lnk_nav_changebranch" data-tooltip="true" title="${BranchName}"><div class="biz-primary-text-color border border-2 nav-location-icon rounded" ><p class="text-uppercase font-weight-700 text-center" style="padding: 0 2px;font-size: 10px;width:2rem">${branchshortcode}</p></div></a>
  324. </li>
  325. <li class="nav-item mx-2 mx-md-0 chat-nav-item d-none dropdown-notifications">
  326. <a href="javascript:;" class="navbar-settings-toggle-btn nav-link" title="Chat" onclick="Unibase.Themes.Compact.Components.Nav.Instance().loadChat();">
  327. <span class="nav-icon-wrap"><i class="fa fa-comments-o font-20 chatAppIcon"></i></span><span class="badge-wrap">
  328. <span class="badge badge-danger font-12 d-none" style="position:absolute;top:-6px;left:1px" id="chatIconBadge">0</span>
  329. </span>
  330. </a>
  331. </li>
  332. <li class="nav-item dropdown dropdown-notifications d-none d-md-block mx-2 mx-md-0 ">
  333. <a href="javascript:;" class="navbar-settings-toggle-btn nav-link no-caret" onclick="javascript:Unibase.Themes.Compact.Components.Notification.Instance().loadReminders();">
  334. <span class="nav-icon-wrap" data-tooltip="true" title="Notifications"><i class="dripicons dripicons-bell font-17"></i>
  335. </span>
  336. <span class="badge-wrap">
  337. <span class="badge badge-danger font-12 d-none" id="notificatonIconBadge"></span>
  338. </span>
  339. </a>
  340. </li>
  341. <li class="nav-item dropdown dropdown-notifications d-none d-md-block mx-2 mx-md-0">
  342. <a href="javascript:;" class="navbar-settings-toggle-btn nav-link no-caret" onclick="javascript:Unibase.Themes.Compact.Components.Notification.Instance().loadTasks();">
  343. <span class="nav-icon-wrap" data-tooltip="true" title="Tasks"><i class="dripicons dripicons-checklist font-17"></i></span>
  344. <span class="badge-wrap">
  345. <span class="badge badge-danger font-12 d-none" id="taskIconBadge"></span>
  346. </span>
  347. </a>
  348. </li>`);
  349. }
  350. else {
  351. let mobileTopNavItemsHtml = `<li class="nav-item nav-date-filter-dp ${instance.isRestrictHidden}" id="navCmnDateFilterDp">
  352. <a href="javascript:;" class="nav-link dropdown-toggle no-caret biz-primary-text-color" data-toggle="dropdown"><i class="las la-calendar font-25"></i>
  353. </a>
  354. <div class="dropdown-menu nav-date-filter-dp-menu py-1 px-0" id="dynamic-filters_navCmnDateFilter" onclick="event.stopPropagation();">
  355. </div>
  356. </li>
  357. <li class="nav-item mx-md-0 chat-nav-item d-none dropdown-notifications">
  358. <a href="javascript:;" class="navbar-settings-toggle-btn nav-link" title="Chat" onclick="Unibase.Themes.Compact.Components.Nav.Instance().loadChat();">
  359. <span class="nav-icon-wrap"><i class="fa fa-comments-o font-20 chatAppIcon"></i></span><span class="badge-wrap">
  360. <span class="badge badge-danger font-12 d-none" style="position:absolute;top:-6px;left:1px" id="chatIconBadge">0</span>
  361. </span>
  362. </a>
  363. </li>
  364. <li class="nav-item dropdown dropdown-notifications">
  365. <a href="javascript:;" class="navbar-settings-toggle-btn nav-link no-caret" onclick="javascript:Unibase.Themes.Compact.Components.Notification.Instance().loadTasks('tab-view');">
  366. <span class="nav-icon-wrap"><i class="dripicons dripicons-bell font-17"></i></span>
  367. <span class="badge-wrap">
  368. <span class="badge badge-danger font-12 d-none" id="notificatonIconBadge"></span>
  369. </span>
  370. </a>
  371. </li>
  372. <li class="nav-item dropdown d-none">
  373. <a class="nav-link dropdown-toggle no-caret" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" id="lnkConversation">
  374. <span class="nav-icon-wrap"><i class="dripicons dripicons-conversation text-white"></i></span>
  375. </a>
  376. </li>`;
  377. $(layoutNavId).find('.nav-item').not('#nav-profile-dropdown').remove();
  378. $(layoutNavId).prepend(mobileTopNavItemsHtml);
  379. if (screen.width <= 360) {
  380. $(layoutNavId).find('li a i').removeClass('font-25 font-20 font-17').addClass('font-18');
  381. $(layoutNavId).find('li.chat-nav-item').removeClass('mx-2');
  382. }
  383. }
  384. if (instance.tabMode) {
  385. let html = `<li class="nav-item dropdown layout-2 right-side-menu-userdetails" id="right_side_menu_userdetails">
  386. <a class="nav-link dropdown-toggle no-caret text-white" href="javascript:void(0);" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
  387. <span class="nav-icon-wrap profile-Img-Update" data-tooltip="true" title="Profile"><i class="la la-user-circle font-25"></i></span>
  388. </a>
  389. <div class="dropdown-menu userdetails">
  390. <a class="dropdown-item d-flex align-items-center border-bottom py-3 lnk_nav_profile" href="javascript:;" id="lnk_nav_profile" data-tooltip="true" title="` + UserName + `"> <div class="w-30p"><i class="fa fa-user"></i></div> <div class="link_nav_profile text-truncate w-100"> ` + TrimmedUserName + `</div> </a>`;
  391. if (this.switchToSecondary) {
  392. html += `<a class="dropdown-item border-bottom d-flex align-items-center py-3" href="#"><div class="w-30p"><i class="fa fa-server"></i></div><div class="">Switch to Secondary</div></a>`;
  393. }
  394. if ((_d = Unibase.Platform.Membership.Infos.Identity.currentUser) === null || _d === void 0 ? void 0 : _d.isAdmin) {
  395. html += `<a class="dropdown-item border-bottom d-flex align-items-center py-3 btn_cloudsettings" id="btn_cloudsettings" href="javascript:;"><div class="w-30p"><i class="fa fa-cloud"></i></div><div class="">Cloud Settings</div></a>`;
  396. }
  397. html += `<a href="javascript:;" class="dropdown-item border-bottom d-flex align-items-center py-3 btn_help" id="btn_help" aria-haspopup="true" aria-expanded="false"><span class="w-30p"><i class="ti-help-alt text-dark"></i></span><div>Help</div></a><a class="dropdown-item d-flex align-items-center py-3 border-bottom userBtnLogoff" id="userBtnLogoff" href="javascript:;"><span class="w-30p"><i class="fa fa-sign-out"></i></span><span>User Logoff</span></a>
  398. <a class="dropdown-item btnLogoff d-flex align-items-center py-3 btn_cloudsettings" id="btnLogoff" href="javascript:;"><div class="w-30p"> <i class="fa fa-power-off"></i></div> <div>Logoff </div></a>
  399. </div>
  400. </li>
  401. ${instance.desktopMode && !instance.indexInstance.isLeftLayout() ? `<li class="nav-item nav-date-filter-item ${instance.isRestrictHidden}" id="navCmnDateFilterItem"><div class="flex-center position-relative"><div id="dynamic-filters_navCmnDateFilter"></div><span class="nav-icon-wrap line-height-0 cursor-pointer" data-tooltip="true" title="Global Datepicker" id="navGlobalDatepickerIcon"><i class="las la-calendar font-25"></i></span></div></li>` : `<li class="nav-item dropdown nav-date-filter-dp mx-2 mx-md-0 ${instance.isRestrictHidden}" id="navCmnDateFilterDp">
  402. <a href="javascript:;" class="nav-link dropdown-toggle no-caret biz-primary-text-color" data-toggle="dropdown"><span class="nav-icon-wrap" data-tooltip="true" title="Global Datepicker"><i class="las la-calendar font-25"></i></span>
  403. </a>
  404. <div class="dropdown-menu nav-date-filter-dp-menu py-1" id="dynamic-filters_navCmnDateFilter" onclick="event.stopPropagation();">
  405. </div>
  406. </li>`}
  407. <li class="nav-item dropdown mx-2 mx-md-0 d-none ${instance.layoutIndex == instance.leftLayout ? 'd-flex' : ''} usertheme">
  408. <a href="javascript:;" class="navbar-settings-toggle-btn nav-link" onclick="javascript:Unibase.Themes.Compact.Components.Nav.Instance().loadUserTheme();">
  409. <span class="nav-icon-wrap" data-tooltip="true" title="Themes"><i class="la la-fill-drip font-25" style="transform: rotateY(180deg);"></i></span>
  410. </a>
  411. </li>`;
  412. $(layoutNavId).prepend(html);
  413. }
  414. $(".navbar-settings-toggle-btn").click(function () {
  415. $(".biz-wrapper,.hk-wrapper").addClass("biz-settings-toggle");
  416. });
  417. $('#right_side_menu_userdetails').on('show.bs.dropdown', function () {
  418. $(".settings-panel-close").click();
  419. $('#right_side_menu_userdetails').addClass('right-sunbnav-active');
  420. });
  421. $('#right_side_menu_userdetails').on('hide.bs.dropdown', function () {
  422. $('#right_side_menu_userdetails').removeClass('right-sunbnav-active');
  423. });
  424. $(".btn_help").click(function () {
  425. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(['platform/apps/managers/appmanager.js'], function () {
  426. Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallAppId("Bizgaze_Extension_Support_Help_App_Help").then(function (res) {
  427. Unibase.Themes.Compact.Components.Nav.Instance().loadList(res.result.InstalledAppId);
  428. });
  429. });
  430. });
  431. Unibase.Platform.Analytics.Components._CommonFilter.Instance().commonFilter(0, '_navCmnDateFilter');
  432. $('#navCmnDateFilterDp').on('show.bs.dropdown', function () {
  433. $(".settings-panel-close").click();
  434. $(this).addClass('right-sunbnav-active');
  435. Unibase.Platform.Analytics.Components._CommonFilter.Instance().commonFilter(0, '_navCmnDateFilter');
  436. });
  437. $('#navCmnDateFilterDp').on('hide.bs.dropdown', function () {
  438. $(this).removeClass('right-sunbnav-active');
  439. });
  440. $('#navGlobalDatepickerIcon').click(function () {
  441. $('#report-daterange_navCmnDateFilter-0').trigger('click');
  442. });
  443. if (!instance.desktopMode) {
  444. const filterIconEl = $('#navCmnDateFilterDp .nav-link');
  445. filterIconEl.removeAttr('data-toggle');
  446. $('#dynamic-filters_navCmnDateFilter').addClass('d-none');
  447. filterIconEl.click(function () {
  448. Unibase.Platform.Analytics.Components._CommonFilter.Instance().commonFilter(0, '_navCmnDateFilter');
  449. $("#bizCmnDateFilterModal").modal({
  450. show: true,
  451. backdrop: 'static'
  452. });
  453. });
  454. }
  455. }
  456. html += `</ul></div>
  457. <!--/ Sidebar Fixnav-->
  458. </div>
  459. <!-- Secondary Menu Pane -->
  460. <div class="biz-submenu">
  461. <a class="navbar-brand" onclick="javascript:Unibase.Themes.Compact.Components.Nav.Instance().getNavParentGroups();">
  462. <img class="brand-img d-inline-block" src="${this.Logo}" alt="brand" onerror="ReloadImage(event)" data-dynamic="1" style="height: 35px">
  463. </a>`;
  464. html += `<div class="nav-header header-wth-search border-bottom mb-10 mx-10 ${instance.isRestrictHidden}">
  465. <div class="nav-header-text">
  466. <a class="d-flex btn-search-toggle w-100" href="javascript:void(0);" id="searchToggleBtn">
  467. <ul class="d-flex list-inline justify-content-between align-items-center w-100">
  468. <li class="nav-title-item text-truncate mr-10"><span class="sub-heading-uppercase nav-title">Title</span></li>
  469. <li class="nav-search-icon-item"><i class="fa fa-search"></i></span></li>
  470. </ul></a>
  471. </div>
  472. <div class="form-group nav-search w-100">
  473. <div class="input-group input-group-type-2">
  474. <input type="text" id="txt_global_Search" placeholder="Search..." class="form-control transparent-input pl-1 pr-25" autocomplete="off">
  475. <div class="input-group-append">
  476. <span class="input-group-text pa-0">
  477. <a href="javascript:;" class="search-icon fe-x clear-search btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-20p h-20p" onclick="Unibase.Themes.Compact.Components.Nav.Instance().clearNavSearch();">
  478. <span class="btn-icon-wrap"><i class="dripicons dripicons-cross"></i></span>
  479. </a>
  480. <a href="javascript:;" class="search-icon fe-x close-search btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-20p h-20p">
  481. <span class="btn-icon-wrap"><i class="dripicons dripicons-cross"></i></span>
  482. </a>
  483. </span>
  484. </div>
  485. </div>
  486. </div>
  487. </div>
  488. <div data-simplebar class="simple-scroll-bar submenu-scroll-bar flex-grow-1 pb-15">
  489. <div class="nav-options-container nav-dashboards" id="nav-dashboards-container">
  490. <ul class="navbar-nav nav-dashboards" id="nav-dashboards" data-navigation="Back2Path"></ul>
  491. </div>
  492. <div class="nav-options-container nav-apps hidden" id="nav-apps-container">
  493. <ul class="navbar-nav flex-column" id="nav-apps"></ul>
  494. </div>
  495. <div class="nav-options-container nav-create hidden" id="nav-create-container">
  496. <ul class="navbar-nav flex-column" id="nav-create"></ul>
  497. </div>
  498. <div class="nav-options-container nav-reports hidden" id="nav-reports-container">
  499. <ul class="navbar-nav flex-column" id="nav-reports"></ul>
  500. </div>
  501. <div class="nav-options-container nav-notifications hidden nav-item dropdown-notifications" id="nav-notifications-container">
  502. <div id="nav-notifications" class=""><div class="notifications-nicescroll-bar biz-dropdown-tasks"></div></div>
  503. </div>
  504. <div class="nav-options-container nav-filters hidden" id="nav-filters-container">
  505. <div class="navbar-nav flex-column" id="nav-filters_old"></div>
  506. <div id="_report_filter_buttons"></div></div>
  507. <div class="nav-options-container nav-widgets-container hidden" id="nav-widgets-container">
  508. <div id="nav-widgets"></div>
  509. </div>
  510. <div class="nav-options-container nav-widgets-container hidden" id="nav-branches-container">
  511. <ul id="nav-branches" class="nav"></ul>
  512. </div>
  513. <div class="nav-options-container nav-navitems-container hidden" id="nav-navitems-container">
  514. <ul id="nav-navitems" class="navbar-nav flex-column" data-navigation="Back2Path"></ul>
  515. </div>
  516. </div>
  517. <!-- /Secondary Menu Pane -->
  518. </div></div>`;
  519. return html;
  520. }
  521. loadimage() {
  522. var _a;
  523. var userImage = (_a = this.currentUser) === null || _a === void 0 ? void 0 : _a.photoUrl;
  524. if (userImage != null && userImage != undefined && userImage != "") {
  525. $("#loginUserImg").attr("src", userImage);
  526. }
  527. else {
  528. $("#loginUserImg").attr("src", "tenants/themes/compact/imgs/avatar.svg");
  529. }
  530. }
  531. load(id, containerid, callback) {
  532. const instance = this;
  533. var html = this.html(0, containerid);
  534. if (this.layoutIndex == instance.leftLayout) {
  535. $("#" + containerid).html(html);
  536. }
  537. $(window).on('orientationchange', function () {
  538. if ((screen.width < 1198 || isMobileApp) && screen.width > screen.height) {
  539. var msg = 'Screen Rotation detected <br> Do you wish to Refresh ? ';
  540. bootbox.confirm({
  541. message: msg,
  542. closeButton: false,
  543. buttons: {
  544. confirm: {
  545. label: 'OK',
  546. className: 'btn-success'
  547. },
  548. cancel: {
  549. label: 'Cancel',
  550. className: 'btn-danger'
  551. }
  552. },
  553. callback: function (result) {
  554. if (result) {
  555. location.reload();
  556. }
  557. else {
  558. $('#modal_popup_EditLineItem').modal('hide');
  559. bootbox.hideAll();
  560. return false;
  561. }
  562. }
  563. });
  564. }
  565. });
  566. var rightSideNavItem = ".biz-wrapper .biz-right-side-menu .right-side-menu-content-wrap .navbar-nav > li.nav-item";
  567. $(rightSideNavItem).click(function () {
  568. $(rightSideNavItem).removeClass('right-sunbnav-active');
  569. $(this).addClass('right-sunbnav-active');
  570. });
  571. this.appendSettingPanelHtml();
  572. this.loadSettingGroups(containerid);
  573. this.loadUserProfile(containerid);
  574. this.loadimage();
  575. this.loadNotifications("nav-notifications");
  576. this.loadLayoutSettings();
  577. this.getNavParentGroups();
  578. if (!Unibase.Platform.Membership.Infos.Identity.currentUser.isAdmin) {
  579. $("#nav-settings-dropdown").removeClass('d-flex').addClass('d-none');
  580. $(".usertheme").removeClass('d-flex').addClass("d-none");
  581. }
  582. let photourl = Unibase.Platform.Membership.Infos.Identity.currentUser.photoUrl;
  583. if (photourl) {
  584. if (photourl.includes("~")) {
  585. photourl = photourl.slice(2);
  586. }
  587. if ($(".biz-wrapper").hasClass("biz__bottom__nav__menu") == true) {
  588. $('.biz-layout-2-top-navbar .profile-Img-Update').parent().addClass("w-40p");
  589. let checkclass = $('.profile-Img-Update').parent().parent(".right_side_menu_userdetails");
  590. $('.profile-Img-Update').html(`<img src='` + photourl + `' class="img-fluid w-30p h-30p rounded-circle" onerror="ReloadImage(event)" data-dynamic="1" style="object-fit: cover;">`);
  591. }
  592. else {
  593. $('.profile-Img-Update').parent().addClass("w-40p");
  594. $('.profile-Img-Update').parent().parent().addClass("mt-1");
  595. $('.profile-Img-Update').html(`<img src='` + photourl + `' class="img-fluid w-30p h-30p rounded-circle" onerror="ReloadImage(event)" data-dynamic="1" style="object-fit: cover;" >`);
  596. }
  597. }
  598. $(".link_nav_profile").text(Unibase.Platform.Membership.Infos.Identity.currentUser.name);
  599. $(".lnk_nav_profile").click(function () {
  600. instance.navigationHelper.loadDetail(Unibase.Platform.Membership.Infos.Identity.currentUser.userId, Unibase.Platform.Membership.Infos.Identity.getSetting("installedappid"), null);
  601. $('.biz-wrapper').removeClass('biz__nav__toggle');
  602. $('.biz-nav-fullwidth').addClass('hidden');
  603. });
  604. $(".lnk_nav_changebranch").click(function () {
  605. instance.loadBranches("nav-branches");
  606. });
  607. $(".btn_cloudsettings").click(function () {
  608. instance.showNavOptions(13);
  609. });
  610. if (this.layoutIndex == instance.topLayout || this.layoutIndex == instance.topLeftLayout)
  611. this.loadAllOtherNavs();
  612. var idleTime = 0;
  613. $("#bizgaze_body").ready(function () {
  614. setInterval(timerIncrement, 1000);
  615. $(this).mousemove(function (e) {
  616. idleTime = 0;
  617. });
  618. $(this).keypress(function (e) {
  619. idleTime = 0;
  620. });
  621. });
  622. function timerIncrement() {
  623. idleTime = idleTime + 1;
  624. if (idleTime >= 3600) {
  625. if (!isMobileApp()) {
  626. var checkcount = $("#bizgaze_body").find("#_bizgaze_modal").find("#sessionsModal").length;
  627. if (checkcount == 0) {
  628. Unibase.Themes.Compact.Components.Nav.instance.sessiontimeout("nav-branches");
  629. }
  630. }
  631. ;
  632. }
  633. }
  634. $("#bizgaze_body").on("click", ".nav-footer-link", function () {
  635. $(".nav-footer-link").removeClass("active");
  636. $(this).addClass("active");
  637. });
  638. if (instance.layoutIndex == instance.topLeftLayout && Unibase.Platform.Membership.Infos.Identity.currentUser.settings) {
  639. const companyName = Unibase.Platform.Membership.Infos.Identity.currentUser.settings.find(x => x.settingName == "companyname");
  640. if (companyName != undefined) {
  641. $('#navCompanyName').text(companyName.settingValue);
  642. }
  643. }
  644. if (Unibase.Platform.Membership.Infos.Identity.currentUser.tenant != null) {
  645. if (Unibase.Platform.Membership.Infos.Identity.currentUser.tenant.isChatAppEnabled) {
  646. $(".chat-nav-item").removeClass("d-none");
  647. Unibase.Platform.Connect.Managers.ChatManager.Instance().getUnreadChatCount().then(function (chatcount) {
  648. if (chatcount != 0) {
  649. $('#chatIconBadge').text(chatcount).removeClass('d-none');
  650. }
  651. });
  652. }
  653. }
  654. instance.setSettingsDropdownMenuHeight();
  655. instance.scrollOnPageUpAndDownKeypress();
  656. }
  657. loadAllOtherNavs() {
  658. Unibase.Themes.Compact.Components.Nav.Instance().showNavOptions(2);
  659. Unibase.Themes.Compact.Components.Nav.Instance().showNavOptions(4);
  660. }
  661. appendSettingPanelHtml() {
  662. const html = `<div class="settings-panel-wrap pa-0 h-100 d-flex flex-column ">
  663. <div class="settings-panel-head">
  664. <a href="javascript:void(0);" id="settings_panel_close" class="settings-panel-close biz-primary-text-color-removed text-danger">
  665. <span><i class="icon dripicons-chevron-right font-20"></i></span>
  666. </a>
  667. <span class="biz-secondary-text-color mr-auto ml-3" id="settings-panel-head-title"></span>
  668. </div>
  669. <div data-simplebar id="settingsPanelBodyWrap" class="simple-scroll-bar flex-grow-1">
  670. <div id="settings-panel-body" class="settings-panel-body"></div>
  671. </div>
  672. <div class="settings-panel-footer text-center notification-footer border-0"></div>
  673. <div id="chatPanelBodyWrap" class="chat-panel-wrap h-100 d-none"></div>
  674. </div>`;
  675. $('.biz-settings-panel').html(html);
  676. $(".settings-panel-close").click(function () {
  677. $('.settings-panel-head').find('.notification-viewall').html("");
  678. $(".biz-wrapper,.hk-wrapper").removeClass("biz-settings-toggle");
  679. $('.hk-settings-panel').removeClass('show');
  680. $('.right-side-menu-content-wrap').find('.nav-item').removeClass('right-sunbnav-active');
  681. });
  682. if (!this.indexInstance.mobileLMode) {
  683. eval(`jquerySwipeHandler.handleSwipe("#chatPanelBodyWrap", [jquerySwipeHandler.SWIPE_LEFT, jquerySwipeHandler.SWIPE_RIGHT], function (direction) {
  684. if(direction == 'SWIPE_LEFT' || direction == 'SWIPE_RIGHT'){
  685. Unibase.Platform.Connect.Components.Chat.Instance().routeHandler();
  686. }
  687. });`);
  688. }
  689. }
  690. scrollOnPageUpAndDownKeypress() {
  691. let total = 0;
  692. $(window).on('keydown', function (e) {
  693. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  694. if (e.keyCode == 38) {
  695. total = Number(total - 50);
  696. if ($('#' + VisibleContainerId).hasClass("_bizgaze_popup_container")) {
  697. $('#' + VisibleContainerId).find(".simplebar-content-wrapper").scrollTop(total);
  698. }
  699. else {
  700. $('#' + VisibleContainerId).find(".simplebar-content-wrapper").scrollTop(total);
  701. }
  702. }
  703. if (e.keyCode == 40) {
  704. total = Number(total + 50);
  705. if ($('#' + VisibleContainerId).hasClass("_bizgaze_popup_container")) {
  706. $('#' + VisibleContainerId).find(".simplebar-content-wrapper").scrollTop(total);
  707. }
  708. else {
  709. $('#' + VisibleContainerId).find(".simplebar-content-wrapper").scrollTop(total);
  710. }
  711. }
  712. total = total;
  713. });
  714. }
  715. addMenuCollapseClickEvent() {
  716. let navItem = $('.hk-wrapper.hk-horizontal-nav .hk-nav .navbar-nav li.nav-item.collapsed');
  717. $(navItem).unbind().click(function () {
  718. if ($(this).hasClass('active')) {
  719. $(this).removeClass('active');
  720. }
  721. else {
  722. $(this).addClass('active');
  723. }
  724. });
  725. }
  726. initiateNavSearch(searchEl) {
  727. const instance = this;
  728. var timer;
  729. $(searchEl).off().keyup(function () {
  730. clearTimeout(timer);
  731. const searchInput = $(this);
  732. timer = setTimeout(function () {
  733. let parentElement = '', groupItem = '', addedLiGroupItem = '', liGroupItem = '', childGroupItem = '';
  734. if (searchInput.hasClass('dashboards-search-input')) {
  735. instance.navInputSearch(searchInput, 'nav-button-dashboard');
  736. }
  737. else if (searchInput.hasClass('reports-search-input')) {
  738. instance.navInputSearch(searchInput, 'nav-button-reports');
  739. parentElement = '#nav-reports';
  740. addedLiGroupItem = '.lireportgrp-item';
  741. liGroupItem = '.lireportgrp-item';
  742. }
  743. else if (searchInput.hasClass('apps-search-input')) {
  744. instance.navInputSearch(searchInput, 'nav-button-apps');
  745. parentElement = '#nav-apps';
  746. addedLiGroupItem = '.liappgrp-addeditem';
  747. liGroupItem = '.liappgrp-item';
  748. childGroupItem = '#liAppGroup_1';
  749. }
  750. if (parentElement != "") {
  751. const SearchTerm = searchInput.val().toString().toLowerCase().replace(/\s/g, '');
  752. if (SearchTerm == "") {
  753. $(groupItem).removeClass("hidden");
  754. $(addedLiGroupItem).removeClass("hidden");
  755. $(`${parentElement} li`).find(".flex-column.show").collapse("hide");
  756. $(childGroupItem).addClass("hidden");
  757. $(groupItem).removeClass("active");
  758. $(`${parentElement} li`).find("a.nav-link").css({ "display": "" });
  759. }
  760. else {
  761. $('.header-wth-search .clear-search').show();
  762. if (searchInput.hasClass('group-search-input')) {
  763. searchInput.siblings('.search-icon').fadeOut();
  764. searchInput.siblings('.clear-search').fadeIn();
  765. }
  766. $(childGroupItem).removeClass("hidden");
  767. $(groupItem).addClass("hidden");
  768. const filteredList = $(parentElement).find('.nav-item input').filter(function () {
  769. if ($(this).attr('value') != undefined) {
  770. return $(this).attr('value').toLowerCase().replace(/\s/g, '').indexOf(SearchTerm) > -1;
  771. }
  772. });
  773. if (filteredList.length > 0) {
  774. filteredList.each(function () {
  775. var value = $(this).attr("value").toLowerCase().replace(/\s/g, '');
  776. $(this).attr("title", value);
  777. }).parent().parent().parent().each(function () {
  778. $(this).removeClass("hidden").addClass('active');
  779. ;
  780. $(this).find(".flex-column").addClass("show").siblings('.nav-link').attr('aria-expanded', 'true');
  781. $(this).find(liGroupItem).addClass("hidden");
  782. $(this).find('input[title *= "' + SearchTerm + '"]').parent().find("a.nav-link").css({ "display": "" });
  783. $(this).find('input[title *= "' + SearchTerm + '"]').parent().removeClass("hidden");
  784. });
  785. }
  786. else {
  787. }
  788. }
  789. }
  790. }, 1000);
  791. });
  792. $('.nav-group-search-li .clear-search').hide();
  793. $(".nav-group-search-li .clear-search").off('click').click(function () {
  794. $(this).siblings('.group-search-input').val("").keyup();
  795. $(this).fadeOut();
  796. $(this).siblings('.search-icon').fadeIn();
  797. $('.top-search-icon').fadeIn();
  798. });
  799. }
  800. navInputSearch(searchInput, name) {
  801. let instance = this;
  802. const searchTerm = searchInput.val().toString().trim().toLowerCase();
  803. let isResultFound = false;
  804. $(`[data-buttontype="${name}"] #nav-dashboards .li-dashboard-item, [data-buttontype="${name}"] #nav-apps .nav-AppGroup, [data-buttontype="${name}"] #nav-reports .nav-ReportGroup`).each(function () {
  805. const lcval = $(this).find(".nav-link.mega-sub-head-nav-link").text().replace(/\s/g, '').toLowerCase();
  806. if (lcval.includes(searchTerm.replace(/\s/g, '')) == true) {
  807. $(this).addClass('d-none');
  808. isResultFound = false;
  809. }
  810. else {
  811. $(this).hide();
  812. }
  813. });
  814. if (instance.layoutIndex == instance.leftLayout) {
  815. $(`#nav-dashboards .li-dashboard-item, #nav-apps .nav-AppGroup, #nav-reports .nav-ReportGroup`).each(function () {
  816. const lcval = $(this).find('.nav-link').text().replace(/\s/g, '').toLowerCase();
  817. if (lcval.indexOf(searchTerm.replace(/\s/g, '')) > -1) {
  818. $(this).show();
  819. isResultFound = true;
  820. }
  821. else {
  822. $(this).hide();
  823. }
  824. });
  825. }
  826. else {
  827. $(`[data-buttontype="${name}"] #nav-dashboards .li-dashboard-item, [data-buttontype="${name}"] #nav-apps .nav-AppGroup, [data-buttontype="${name}"] #nav-reports .nav-ReportGroup`).each(function () {
  828. $($(this)).find('.drp-list').find('.nav-link').each(function () {
  829. let txtval = $(this).text().toLowerCase();
  830. const val = txtval.includes(searchTerm);
  831. if (val != true) {
  832. $(this).hide();
  833. }
  834. else {
  835. isResultFound = true;
  836. $(this).parents('.nav-item.li-dashboard-item').css({ 'display': '' }).removeClass('d-none');
  837. $(this).parents('.nav-item.nav-AppGroup').css({ 'display': '' }).removeClass('d-none hidden');
  838. $(this).parents(".nav-item.nav-ReportGroup").css({ 'display': '' }).removeClass('d-none');
  839. }
  840. });
  841. });
  842. }
  843. $('#nav-dashboards .no-result-item,#nav-apps .no-result-item,#nav-reports .no-result-item').remove();
  844. if (!isResultFound) {
  845. $(`[data-buttontype="${name}"] #nav-dashboards,[data-buttontype="${name}"] #nav-apps, [data-buttontype="${name}"] #nav-reports`).append('<li class="nav-item no-result-item"><a class="nav-link">No results found!</a></li>');
  846. }
  847. if (searchTerm != "") {
  848. if (searchInput.hasClass('group-search-input')) {
  849. searchInput.siblings('.search-icon').fadeOut();
  850. searchInput.siblings('.clear-search').fadeIn();
  851. }
  852. }
  853. }
  854. clearNavSearch() {
  855. const globalInputEl = $('#txt_global_Search');
  856. if (globalInputEl.hasClass('apps-search-input')) {
  857. $("#nav-apps .nav-AppGroup").removeClass("hidden");
  858. $(".liappgrp-addeditem").removeClass("hidden");
  859. $("#nav-apps li").find(".flex-column.show").collapse("hide");
  860. $("#liAppGroup_1").addClass("hidden");
  861. }
  862. else if (globalInputEl.hasClass('reports-search-input')) {
  863. $("#nav-reports .nav-ReportGroup").removeClass("hidden");
  864. $("#nav-reports li").find(".flex-column.show").collapse("hide");
  865. }
  866. else if (globalInputEl.hasClass('dashboards-search-input')) {
  867. $("#nav-dashboards .li-dashboard-item").show().collapse("hide");
  868. }
  869. }
  870. showNavOptions(type) {
  871. var _a;
  872. let elem;
  873. var instance = this;
  874. if (instance.layoutIndex == instance.leftLayout) {
  875. let prevActive = $('.nav-item.nav-button.sunbnav-active').find('a').attr('onclick');
  876. if (prevActive != undefined) {
  877. let prevType = Number(prevActive.replace(/\D/g, ''));
  878. if (prevType === type && this.initialLoad) {
  879. return;
  880. }
  881. }
  882. instance.initialLoad = true;
  883. }
  884. $('body').removeClass('active-report-popup');
  885. $(".nav-options-container").not('.nav-setting-visible').addClass("hidden");
  886. $('.biz-submenu .header-wth-search').find('.nav-header-text').css('pointer-events', 'auto').find('#searchToggleBtn').addClass('btn-search-toggle').find('.nav-search-icon-item').removeClass('d-none');
  887. $(".nav-item").removeClass("sunbnav-active");
  888. $("#simplescrollbar").removeClass("hidden");
  889. if ($('.nav-search').find('.close-search').length > 0) {
  890. $('.nav-search').find('.close-search').trigger('click');
  891. }
  892. if (instance.layoutIndex == instance.leftLayout) {
  893. $('.dashboard-setting-dp,.db-setting-dp-item').addClass('d-none');
  894. if ($('#bizCmnFilterPanel').hasClass('show'))
  895. $('#cmnFilterPanelClose').trigger('click');
  896. }
  897. switch (type) {
  898. case 1:
  899. elem = $("#nav-dashboards");
  900. $("#nav-dashboards-container").removeClass("hidden");
  901. $("#nav-button-dashboards").addClass("sunbnav-active");
  902. $(".nav-title").html("Dashboard");
  903. if ((_a = this.currentUser) === null || _a === void 0 ? void 0 : _a.isAdmin) {
  904. $('.dashboard-setting-dp,.db-setting-dp-item').removeClass('d-none');
  905. }
  906. this.applyLeftLayoutSettings('dashboards');
  907. Unibase.Platform.Helpers.NavigationHelper.Instance().closeAllModals();
  908. this.loadDashboards("nav-dashboards");
  909. Unibase.Platform.Helpers.NavigationHelper.Instance().loadSection(0, "", Unibase.Themes.Compact.Components.Dashboard.Instance(), null, null);
  910. break;
  911. case 2:
  912. elem = $("#nav-apps");
  913. $("#nav-apps-container").removeClass("hidden");
  914. $("#nav-button-apps").addClass("sunbnav-active");
  915. $(".nav-title").html("Apps");
  916. this.applyLeftLayoutSettings('apps');
  917. if (this.apps.length === 0)
  918. this.loadApps("nav-apps");
  919. break;
  920. case 3:
  921. elem = $("#nav-create");
  922. $("#nav-create-container").removeClass("hidden");
  923. $("#nav-button-create").addClass("sunbnav-active");
  924. $(".nav-title").html("Create");
  925. if (this.createapps.length === 0)
  926. this.loadCreateApps("nav-create");
  927. break;
  928. case 4:
  929. elem = $("#nav-reports");
  930. $("#nav-reports-container").removeClass("hidden");
  931. $("#hf_DashboardPortletId").val("");
  932. $("#nav-button-reports").addClass("sunbnav-active");
  933. $(".nav-title").html("Reports");
  934. this.applyLeftLayoutSettings('reports');
  935. this.loadReports("nav-reports");
  936. break;
  937. case 5:
  938. elem = $("#nav-settings");
  939. $("#nav-settings-container").removeClass("hidden");
  940. $("#nav-button-settings").addClass("sunbnav-active");
  941. $(".nav-title").html("Settings");
  942. this.loadSettingGroups("nav-settings");
  943. break;
  944. case 6:
  945. elem = $("#nav-userprofile");
  946. $("#nav-userprofile-container").removeClass("hidden");
  947. $("#nav-button-userprofile").addClass("sunbnav-active");
  948. this.loadUserProfile("nav-userprofile");
  949. break;
  950. case 7:
  951. elem = $("#nav-notifications");
  952. $("#nav-notifications-container").removeClass("hidden");
  953. $("#nav-button-notifications").addClass("sunbnav-active");
  954. $(".nav-title").html("Notifications");
  955. Unibase.Themes.Compact.Components.Notification.Instance().loadReminders();
  956. break;
  957. case 8:
  958. $("#nav-apps-container").removeClass("hidden");
  959. break;
  960. case 9:
  961. elem = $("#nav-widgets");
  962. $("#nav-widgets-container").removeClass("hidden");
  963. $(".nav-title").html("Widgets");
  964. break;
  965. case 10:
  966. break;
  967. case 11:
  968. elem = $("#nav-notifications");
  969. $("#nav-notifications-container").removeClass("hidden");
  970. $(".nav-title").html("Tasks");
  971. Unibase.Themes.Compact.Components.Notification.Instance().loadTasks();
  972. case 13:
  973. elem = $("#nav-fileproviders");
  974. this.loadFileProviders("nav-fileproviders");
  975. break;
  976. }
  977. }
  978. setSettingsDropdownMenuHeight() {
  979. const instance = this;
  980. if (instance.layoutIndex == instance.leftLayout) {
  981. $('#nav-settings-dropdown').on('shown.bs.dropdown', function () {
  982. $('#bizAppSettingsDpMenu').css('max-height', `${window.innerHeight - 60}px`).attr('data-deductheight', '60');
  983. });
  984. $('#biz-right-side-menu').on('shown.bs.dropdown', '#nav-settings-dropdown', function () {
  985. $('#bizAppSettingsDpMenu').css('max-height', `${window.innerHeight - 20}px`).attr('data-deductheight', '20');
  986. });
  987. }
  988. else {
  989. $('#nav-settings-dropdown').click(function () {
  990. $('#bizAppSettingsDpMenu').css('max-height', `${window.innerHeight - 70}px`).attr('data-deductheight', '70');
  991. });
  992. }
  993. }
  994. applyLeftLayoutSettings(navGroup) {
  995. const instance = this;
  996. if (instance.layoutIndex == instance.leftLayout) {
  997. let removeClasses = '';
  998. if ($('#txt_global_Search').length != 0 && $('#txt_global_Search').attr('class') != undefined) {
  999. removeClasses = $('#txt_global_Search').attr("class").match(/[\w-]*-search-input[\w-]*/g);
  1000. }
  1001. $('#txt_global_Search').removeClass(removeClasses).addClass(`${navGroup}-search-input`);
  1002. instance.initiateNavSearch(`.${navGroup}-search-input`);
  1003. if ($(`#nav-${navGroup}`).attr('data-istitlehidden') == 'true') {
  1004. $('.biz-submenu .header-wth-search').addClass('d-none');
  1005. }
  1006. else {
  1007. $('.biz-submenu .header-wth-search').removeClass('d-none');
  1008. }
  1009. if (!$(`#nav-button-${navGroup}`).is(':visible')) {
  1010. $('.biz-submenu .header-wth-search').addClass('d-none').find('#txt_global_Search').removeClass(`#${navGroup}-search-input`);
  1011. }
  1012. if ($(`#nav-button-${navGroup}`).attr('data-issettingsenabled') == 'false') {
  1013. $(`#nav-button-${navGroup}`).nextAll('.nav-button:visible').first().find('.nav-link').trigger('click');
  1014. }
  1015. }
  1016. }
  1017. loadLayoutSettings() {
  1018. const instance = this;
  1019. const settings = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings;
  1020. if (settings) {
  1021. const themeSettings = settings.find(x => x.settingName == "themeobj");
  1022. if (themeSettings) {
  1023. let layoutSettings = themeSettings.settingValue.layoutSettings;
  1024. if (layoutSettings) {
  1025. if (layoutSettings.settingValue) {
  1026. let layoutNavSettings = JSON.parse(layoutSettings.settingValue);
  1027. const layoutIndex = instance.layoutIndex;
  1028. instance.showAllNavGroups();
  1029. $.each(layoutNavSettings, function (group, settings) {
  1030. const navGroup = group.toString();
  1031. if (navGroup != '') {
  1032. if (settings.IsEnabled) {
  1033. if (!settings.Icon && !settings.Title) {
  1034. if (layoutIndex == instance.leftLayout) {
  1035. $(`#nav-button-${navGroup}`).addClass('d-none');
  1036. if (navGroup != 'dashboards') {
  1037. $(`#nav-button-${navGroup}`).find('.nav-link').trigger('click');
  1038. }
  1039. }
  1040. else if (layoutIndex == instance.topLayout || layoutIndex == instance.topLeftLayout) {
  1041. if (layoutIndex == instance.topLeftLayout || (layoutIndex == instance.topLayout && !instance.desktopMode)) {
  1042. if (navGroup == 'dashboards') {
  1043. $('#dash_drp').removeClass('collapse collapse-level-1');
  1044. }
  1045. else if (navGroup == 'apps') {
  1046. $('#pages_drp').removeClass('collapse collapse-level-1');
  1047. }
  1048. else if (navGroup == 'reports') {
  1049. $('#reports_drp').removeClass('collapse collapse-level-1');
  1050. }
  1051. }
  1052. $(`.nav-${navGroup}-item .nav-link`).addClass('d-none');
  1053. $(`#nav-${navGroup} .nav-group-search-li`).addClass('d-none');
  1054. }
  1055. $(`#nav-${navGroup}`).attr('data-istitlehidden', 'true');
  1056. }
  1057. else if (!settings.Icon) {
  1058. if (layoutIndex == instance.leftLayout) {
  1059. $(`#nav-button-${navGroup}`).addClass('d-none');
  1060. if (navGroup != 'dashboards')
  1061. $(`#nav-button-${navGroup}`).find('.nav-link').trigger('click');
  1062. $(`#nav-${navGroup}-container`).addClass('nav-setting-visible').prepend(`<a class="nav-link nav-group-collapse-link biz-primary-text-color" href="javascript:void(0);" data-toggle="collapse" data-target="#nav-${navGroup}"><span class="nav-link-text text-capitalize text-truncate mr-10">${navGroup}</span></a>`).find(`#nav-${navGroup}`).addClass('collapse collapse-level-1').prepend(`<li class="nav-item border-bottom nav-group-search-li position-relative"><input type="text" placeholder="Search..." class="${navGroup}-search-input group-search-input w-100 py-1 biz-primary-text-color" autocomplete="off"><span class="search-icon"><i class="fa fa-search"></i></span><a href="javascript:;" class="clear-search btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-20p h-20p"><span class="btn-icon-wrap"><i class="dripicons dripicons-cross"></i></span></a></li>`);
  1063. instance.initiateNavSearch(`.${navGroup}-search-input`);
  1064. }
  1065. else if (layoutIndex == instance.topLayout || layoutIndex == instance.topLeftLayout) {
  1066. $(`.nav-${navGroup}-item .nav-link-icon`).addClass('d-none');
  1067. }
  1068. }
  1069. else if (!settings.Title) {
  1070. if (layoutIndex == instance.topLayout || layoutIndex == instance.topLeftLayout) {
  1071. $(`.nav-${navGroup}-item .nav-link-text`).addClass('d-none');
  1072. $(`#nav-${navGroup} .nav-group-search-li`).addClass('d-none');
  1073. }
  1074. $(`#nav-${navGroup}`).attr('data-istitlehidden', 'true');
  1075. }
  1076. }
  1077. else {
  1078. if (layoutIndex == instance.leftLayout) {
  1079. $(`#nav-button-${navGroup}`).addClass('d-none').attr('data-issettingsenabled', 'false');
  1080. $(`#nav-${navGroup}-container`).addClass('d-none');
  1081. }
  1082. else if (layoutIndex == instance.topLayout || layoutIndex == instance.topLeftLayout) {
  1083. $(`.nav-${navGroup}-item`).addClass('d-none');
  1084. }
  1085. }
  1086. }
  1087. else {
  1088. $('.nav-header-text .nav-title').removeClass('d-none');
  1089. }
  1090. });
  1091. if (layoutIndex == instance.leftLayout) {
  1092. instance.hideMainMenuSidebar();
  1093. instance.collapseSingleNavGroup();
  1094. }
  1095. else {
  1096. instance.collapseSingleNavGroup();
  1097. }
  1098. }
  1099. else {
  1100. instance.showAllNavGroups();
  1101. }
  1102. if (layoutSettings.isOverrideLogo && layoutSettings.logoImageUrl) {
  1103. $('.navbar-brand .brand-img').attr({ 'src': layoutSettings.logoImageUrl, 'data-loaded': 0, 'data-dynamic': 1 });
  1104. }
  1105. }
  1106. else {
  1107. instance.showAllNavGroups();
  1108. }
  1109. }
  1110. else {
  1111. instance.showAllNavGroups();
  1112. }
  1113. }
  1114. else {
  1115. instance.showAllNavGroups();
  1116. }
  1117. }
  1118. showAllNavGroups() {
  1119. const instance = this;
  1120. const layoutIndex = instance.layoutIndex;
  1121. if (layoutIndex == instance.leftLayout) {
  1122. $('.biz-main-menu .menu-content-wrap').find('.nav-button').removeClass('d-none');
  1123. }
  1124. else if (layoutIndex == instance.topLayout || layoutIndex == instance.topLeftLayout) {
  1125. $('#layoutMainNavbar .nav-group-container').removeClass('d-none');
  1126. }
  1127. }
  1128. hideMainMenuSidebar() {
  1129. const instance = this;
  1130. let isAllNavButtonsHidden = true;
  1131. $('.menu-content-wrap .nav-button').not('#nav-button-create,#nav-button-close').each(function (i, e) {
  1132. if ($(e).is(':visible')) {
  1133. isAllNavButtonsHidden = false;
  1134. return false;
  1135. }
  1136. });
  1137. if (isAllNavButtonsHidden) {
  1138. if (instance.desktopMode) {
  1139. $('.biz-bottom-nav-menu #nav-settings-dropdown').find('.nav-link').first().removeClass('py-1').parent().detach().appendTo($('.right-side-menu-content-wrap .navbar-nav'));
  1140. $('.biz-submenu').css({ 'width': '240px', 'left': '0' });
  1141. $('.biz-pg-wrapper').css('margin-left', '240px');
  1142. }
  1143. else {
  1144. $('.profile-dropdown-menu').find('.lnk_nav_changebranch,.app-settings-dropdown').removeClass('d-none').addClass('d-flex');
  1145. $('.biz-bottom-nav-menu #nav-settings-dropdown').find('.moreoptions').detach().appendTo('.app-settings-dropdown');
  1146. $('.biz-bottom-nav-menu').find('#nav-button-changebranch,#nav-settings-dropdown').addClass('d-none');
  1147. $('#nav-profile-dropdown').detach().appendTo('.biz-navbar-content');
  1148. $('#nav-profile-dropdown').removeClass('dropdown').find('.nav-link').first().addClass('biz-primary-text-color profile-dropdown-btn').removeClass('pb-2 py-1');
  1149. }
  1150. $('.biz-main-menu').addClass('d-none');
  1151. $('.biz-wrapper').addClass('biz-main-menu-hidden');
  1152. }
  1153. }
  1154. collapseSingleNavGroup() {
  1155. const instance = this;
  1156. const layoutIndex = instance.layoutIndex;
  1157. let navGroupContainer;
  1158. if (layoutIndex == instance.leftLayout) {
  1159. navGroupContainer = $('.nav-options-container:visible');
  1160. }
  1161. else if (layoutIndex == instance.topLeftLayout) {
  1162. navGroupContainer = $('.nav-group-container:visible');
  1163. }
  1164. else if (layoutIndex == instance.topLayout && !instance.desktopMode) {
  1165. navGroupContainer = $('.nav-group-container:visible');
  1166. }
  1167. if (navGroupContainer && navGroupContainer.length == 1 && navGroupContainer.find('.nav-group-collapse-link').length > 0) {
  1168. navGroupContainer.find('.collapse').first().collapse('show');
  1169. }
  1170. }
  1171. loadDashboards(containerid) {
  1172. $("#nav-dashboards .li-dashboard-item").remove();
  1173. var instance = this;
  1174. var dashboardmanager = Unibase.Platform.Dashboards.Managers.DashboardManager.Instance();
  1175. dashboardmanager.getDashboards().then(function (response) {
  1176. const modalContainerId = instance.navigationHelper.getLastContainerId();
  1177. if (response.result != null && response.result.length != 0) {
  1178. let html = "";
  1179. let dbGroupHtml = "";
  1180. var grouptemplate = Components.Nav_Template.Instance().DashboardGroupsTemplate();
  1181. let dbGroupTemplate = Components.Nav_Template.Instance().DashboardGroupsTemplate3();
  1182. if (instance.desktopMode && instance.layoutIndex == instance.topLayout)
  1183. grouptemplate = Components.Nav_Template.Instance().DashboardGroupsTemplate2();
  1184. var template = Components.Nav_Template.Instance().DashboardsTemplate();
  1185. var optionTemplate = Components.Nav_Template.Instance().DashboardItemTemplate();
  1186. var dashboards = response.result;
  1187. var dashboardgroups;
  1188. dashboardgroups = [];
  1189. instance.dashboards = dashboards;
  1190. if (dashboards != null) {
  1191. var prevdashboardgroupname = "";
  1192. var firstgroupid = -1;
  1193. var groupname = '';
  1194. for (let i = 0; i < dashboards.length; i++) {
  1195. var dashboard = dashboards[i];
  1196. var groupname = dashboard.DashboardGroupName;
  1197. if (groupname === null)
  1198. groupname = "No Group";
  1199. if (firstgroupid === -1) {
  1200. firstgroupid = dashboard.DashboardGroupId;
  1201. instance.loadDashboardsInDashboard(firstgroupid, 0);
  1202. }
  1203. var dashboardIndex = dashboardgroups.findIndex(x => x.DashboardGroupId == dashboard.DashboardGroupId && x.DashboardGroupName == groupname);
  1204. if (dashboardIndex == -1) {
  1205. dashboardgroups.push({
  1206. DashboardGroupId: dashboard.DashboardGroupId,
  1207. DashboardGroupName: groupname,
  1208. DisplayIndex: 0,
  1209. ViewAll: true,
  1210. IconName: "",
  1211. PortletCount: 0
  1212. });
  1213. prevdashboardgroupname = groupname;
  1214. }
  1215. }
  1216. $(`#${containerid},.dashboard-options-list`).empty();
  1217. for (let i = 0; i < dashboardgroups.length; i++) {
  1218. let group = dashboardgroups[i];
  1219. let groupid = group.DashboardGroupId;
  1220. var templateScript = Handlebars.compile(grouptemplate);
  1221. var dbTemplateScript = Handlebars.compile(dbGroupTemplate);
  1222. let context = { "DashboardGroupId": group.DashboardGroupId, "DashboardGroupName": group.DashboardGroupName };
  1223. html = templateScript(context);
  1224. dbGroupHtml = dbTemplateScript(context);
  1225. $("#" + containerid).append(html);
  1226. $("#dbGroupsDropdownList").append(dbGroupHtml);
  1227. if (i == 0) {
  1228. $('#nav-dashboards,#dbGroupsDropdownList').find('.li-dashboard-item').first().addClass('active-item');
  1229. let firstGroupTitle = '';
  1230. if ($('.li-dashboard-item').first().text().length != 0) {
  1231. firstGroupTitle = $('.li-dashboard-item').first().text().trim();
  1232. }
  1233. $('#lblDbGroup_Title').text(firstGroupTitle);
  1234. }
  1235. let groupdashboards = dashboards.filter(function (dashboard, index) {
  1236. return dashboard.DashboardGroupId === group.DashboardGroupId;
  1237. });
  1238. if (groupdashboards.length > 0) {
  1239. function dashboardChangeHandler(dashboardId, pinCmnFilters) {
  1240. const dashboardOptionListEl = $(".dashboard-options-list");
  1241. let dashBoardName = $('#' + dashboardId).find('#hf_Dashboard_DashboardName').attr('data-dashboardname');
  1242. const navHelper = Unibase.Platform.Helpers.NavigationHelper;
  1243. if (navHelper.ModalContainerIds.length > 1) {
  1244. navHelper.ModalContainerIds.forEach(function (containerId) {
  1245. navHelper.ModalContainerIds = navHelper.ModalContainerIds.filter(id => id !== containerId);
  1246. $(`#${containerId}`).remove();
  1247. });
  1248. $('.modal-backdrop').remove();
  1249. }
  1250. if (!$('#hf_DashboardPortletId').length && dashboardId) {
  1251. instance.loadDashboardsInDashboard(groupid, dashboardId, true);
  1252. }
  1253. else {
  1254. instance.loadDashboard(dashboardId, dashBoardName, pinCmnFilters);
  1255. }
  1256. let groupTitle = $('.liDashboardGroup_' + groupid).find("a").first().text();
  1257. $('#lblDbGroup_Title').text(groupTitle);
  1258. let groupdashboards = dashboards.filter(function (dashboard, index) {
  1259. return dashboard.DashboardGroupId === group.DashboardGroupId;
  1260. });
  1261. dashboardOptionListEl.html('');
  1262. groupdashboards.forEach(function (dashboard, index) {
  1263. context = dashboard;
  1264. let optiontemplatescript = Handlebars.compile(optionTemplate);
  1265. let optionhtml = optiontemplatescript(context);
  1266. dashboardOptionListEl.append(optionhtml);
  1267. });
  1268. $('li.li-dashboard-item.active-item,.ligrp-item.active-item').removeClass('active-item');
  1269. $(`.liDashboardGroup_${groupid}`).addClass('active-item');
  1270. if (dashboardId) {
  1271. $(`.liDashboardGroup_${groupid} .UlItem_${dashboardId}`).addClass('active-item');
  1272. dashboardOptionListEl.find(`#filterItem_${dashboardId}`).addClass("active");
  1273. }
  1274. else {
  1275. if (instance.desktopMode && instance.layoutIndex === instance.topLayout) {
  1276. $(`#liDashboardGroup_${groupid}`).find('.ligrp-item').first().addClass('active-item');
  1277. }
  1278. dashboardOptionListEl.find('.filter-item').first().addClass("active");
  1279. }
  1280. instance.removeToolTipForFilterItem(dashboardOptionListEl);
  1281. }
  1282. groupdashboards.forEach(function (dashboard, index) {
  1283. context = dashboard;
  1284. templateScript = Handlebars.compile(template);
  1285. html = templateScript(context);
  1286. if (!instance.desktopMode) {
  1287. dashboard.PinCommonFilters = false;
  1288. }
  1289. if (instance.desktopMode && instance.layoutIndex == instance.topLayout) {
  1290. const dashboardId = dashboard.DashboardId;
  1291. $(`#dashboard-drp-${groupid}`).append(html);
  1292. if (index === 0) {
  1293. $('#nav-dashboards').find('.ligrp-item').first().addClass('active-item');
  1294. }
  1295. $(`#nav-dashboards .UlItem_${dashboardId} .nav-link`).attr('onclick', '');
  1296. $(`#nav-dashboards .UlItem_${dashboardId} .nav-link`).click(function (e) {
  1297. e.stopPropagation();
  1298. dashboardChangeHandler(dashboardId, dashboard.PinCommonFilters);
  1299. $("#dash_drp").css('display', 'none');
  1300. });
  1301. }
  1302. let optionTemplateScript = Handlebars.compile(optionTemplate);
  1303. let optionHtml = optionTemplateScript(context);
  1304. if (i == 0) {
  1305. const dashboardOptionListEl = $(".dashboard-options-list");
  1306. dashboardOptionListEl.append(optionHtml);
  1307. if (index == groupdashboards.length - 1) {
  1308. dashboardOptionListEl.find('.filter-item').first().addClass("active");
  1309. instance.removeToolTipForFilterItem(dashboardOptionListEl);
  1310. }
  1311. if (index === 0 && dashboard.PinCommonFilters) {
  1312. Unibase.Themes.Compact.Components.Dashboard.Instance().loadCommonFilterPanel(modalContainerId);
  1313. }
  1314. }
  1315. });
  1316. }
  1317. }
  1318. if (dashboardgroups.length > 5) {
  1319. instance.appendNavSearchInput(containerid);
  1320. }
  1321. else if (instance.layoutIndex == instance.leftLayout) {
  1322. $('.biz-submenu .header-wth-search').find('.nav-header-text').css('pointer-events', 'none').find('#searchToggleBtn').removeClass('btn-search-toggle').find('.nav-search-icon-item').addClass('d-none');
  1323. }
  1324. instance.loadTopNavMegaMenu('nav-dashboards');
  1325. }
  1326. }
  1327. else {
  1328. $(`#${containerid}`).html('<li class="nav-item"><a class="nav-link">No Dashboards!</a></li>');
  1329. let createDbHtml = '';
  1330. if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin) {
  1331. createDbHtml = `<a href = "javascript:;" class="btn btn-outline-primary btn-sm mt-10 create-db-group-btn" onclick = "Unibase.Themes.Compact.Components.Dashboard.Instance().loadCreateDashboard();" > Create Dashboard </a>`;
  1332. }
  1333. $('#dbGroupsDropdownMenu').html(`<div class="text-center"><p class="text-danger">No Dashboards Found!</p>${createDbHtml}</div>`);
  1334. $('#' + modalContainerId).find('.db-group-title').text('No Dashboards Found!');
  1335. instance.navigationHelper.hideLoading();
  1336. }
  1337. });
  1338. }
  1339. removeToolTipForFilterItem(containerEl) {
  1340. const instance = this;
  1341. containerEl.find('.filter-link').each(function (i, el) {
  1342. if ($(el)[0].offsetWidth >= $(el)[0].scrollWidth) {
  1343. $(el).removeAttr('title');
  1344. }
  1345. });
  1346. instance.setFiltersNavigation();
  1347. }
  1348. setFiltersNavigation(containerId) {
  1349. const instance = this;
  1350. let containerid = containerId;
  1351. if (!containerid) {
  1352. containerid = instance.navigationHelper.getLastContainerId();
  1353. }
  1354. instance.showHideFilterNavIcons(containerid);
  1355. instance.filterNavMouseDragging(containerid);
  1356. instance.filterNavMouseScroll(containerid);
  1357. }
  1358. changeFilterScroll(elem, containerid) {
  1359. const instance = this;
  1360. const containerEl = $('#filters-list' + containerid);
  1361. const containerElWidth = $(containerEl).outerWidth();
  1362. const currentPos = containerEl.scrollLeft();
  1363. const operation = $(elem).data('operation');
  1364. let scrollLeftVal = 0;
  1365. if (operation == '-') {
  1366. scrollLeftVal = currentPos - containerElWidth;
  1367. }
  1368. else {
  1369. scrollLeftVal = currentPos + containerElWidth;
  1370. }
  1371. containerEl.animate({
  1372. scrollLeft: scrollLeftVal
  1373. }, 300, function () {
  1374. instance.toggleFilterNavIconsOnScroll(containerid);
  1375. });
  1376. }
  1377. toggleFilterNavIconsOnScroll(containerid) {
  1378. const containerEl = $('#filters-list' + containerid);
  1379. const containerElWidth = $(containerEl).outerWidth();
  1380. const newScrollLeft = containerEl.scrollLeft();
  1381. const scrollWidth = containerEl.prop('scrollWidth');
  1382. const filterContainerEl = $(`#card-header-filters${containerid}`);
  1383. if (Math.round(scrollWidth - newScrollLeft) < Math.round(containerElWidth + 2)) {
  1384. filterContainerEl.find('.filter-right-icon').addClass('hidden');
  1385. }
  1386. else {
  1387. filterContainerEl.find('.filter-right-icon').removeClass('hidden');
  1388. }
  1389. if (newScrollLeft === 0) {
  1390. filterContainerEl.find('.filter-left-icon').addClass('hidden');
  1391. }
  1392. else {
  1393. filterContainerEl.find('.filter-left-icon').removeClass('hidden');
  1394. }
  1395. }
  1396. showHideFilterNavIcons(containerid) {
  1397. const containerEl = $("#filters-list" + containerid);
  1398. const indexInstance = Unibase.Themes.Compact.Components.Index.Instance();
  1399. if (Unibase.Themes.Compact.Components.Index.Instance().isIframeObj.isListPage) {
  1400. indexInstance.desktopMode = true;
  1401. $("#card-header-filters" + containerid).find('.filter-nav-icon').removeClass('hidden').addClass('d-block');
  1402. $("#card-header-filters" + containerid).find('.biz-report-filters').addClass('iframe');
  1403. }
  1404. if (indexInstance.desktopMode) {
  1405. if (containerEl.prop('scrollWidth') > Math.round(containerEl.outerWidth() + 2)) {
  1406. $("#card-header-filters" + containerid).find('.filter-right-icon').removeClass('hidden');
  1407. }
  1408. else {
  1409. $("#card-header-filters" + containerid).find('.filter-right-icon').addClass('hidden');
  1410. }
  1411. }
  1412. }
  1413. filterNavMouseDragging(containerid) {
  1414. const instance = this;
  1415. const indexInstance = Unibase.Themes.Compact.Components.Index.Instance();
  1416. if (indexInstance.desktopMode) {
  1417. const slider = $("#filters-list" + containerid);
  1418. let mouseDown = false;
  1419. let startX, scrollLeft;
  1420. let startDragging = function (e) {
  1421. mouseDown = true;
  1422. startX = e.pageX - slider.offset().left;
  1423. scrollLeft = slider.scrollLeft();
  1424. };
  1425. let stopDragging = function (event) {
  1426. mouseDown = false;
  1427. };
  1428. slider.off().on('mousemove', (e) => {
  1429. e.preventDefault();
  1430. if (!mouseDown) {
  1431. return;
  1432. }
  1433. const x = e.pageX - slider.offset().left;
  1434. const scroll = x - startX;
  1435. slider.scrollLeft(scrollLeft - scroll);
  1436. instance.toggleFilterNavIconsOnScroll(containerid);
  1437. });
  1438. slider.on('mousedown', startDragging);
  1439. slider.on('mouseup', stopDragging);
  1440. slider.on('mouseleave', stopDragging);
  1441. }
  1442. }
  1443. filterNavMouseScroll(containerid) {
  1444. const instance = this;
  1445. const amount = 50;
  1446. const slider = $("#filters-list" + containerid);
  1447. slider.on("DOMMouseScroll mousewheel", function (event) {
  1448. let oEvent = event.originalEvent, direction = oEvent.detail ? oEvent.detail * -amount : oEvent.wheelDelta, position = $(this).scrollLeft();
  1449. position += direction > 0 ? -amount : amount;
  1450. $(this).scrollLeft(position);
  1451. instance.toggleFilterNavIconsOnScroll(containerid);
  1452. event.preventDefault();
  1453. });
  1454. }
  1455. ;
  1456. loadDashboard(dashboardid, dashboardname, pincmnfilters) {
  1457. let instance = this;
  1458. instance.isDshboardBckArray.push({ "DashbaordId": dashboardid, "DashboardName": dashboardname, "isBack": "Dashboard" });
  1459. const commonFilterInstance = Unibase.Platform.Analytics.Components._CommonFilter.Instance();
  1460. commonFilterInstance.commonfilterColumns = [];
  1461. commonFilterInstance.appliedFilters = [];
  1462. commonFilterInstance.selectedCommonFilters = [];
  1463. let rvInsArray = Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance;
  1464. if (rvInsArray.length > 0) {
  1465. for (var i = 0; i < rvInsArray.length; i++) {
  1466. rvInsArray[i].instance.inputParameters = [];
  1467. rvInsArray[i].instance.dynamicFilters = [];
  1468. }
  1469. }
  1470. Unibase.Themes.Compact.Components.Dashboard.Instance().loadWidgets(dashboardid, dashboardname);
  1471. const modalContainerId = instance.navigationHelper.getLastContainerId();
  1472. if ($(`#filterItem_${dashboardid}`).attr('data-pincmnfilters') === 'true' || pincmnfilters) {
  1473. if ($('#bizCmnFilterPanel').hasClass('show')) {
  1474. const portletId = +$("#hf_PortletId").val();
  1475. Unibase.Platform.Analytics.Components._CommonFilter.Instance().commonFilter(portletId, `_CmnFilterPanel_${$("#hf_PortletId").parent().attr('id')}`);
  1476. }
  1477. else {
  1478. Unibase.Themes.Compact.Components.Dashboard.Instance().loadCommonFilterPanel(modalContainerId);
  1479. }
  1480. }
  1481. else {
  1482. let cls_fnav = $("#bizgaze_body").find('.biz-layout-3-top-navbar').hasClass("hk-nav-toggle");
  1483. if (cls_fnav == false) {
  1484. Unibase.Themes.Compact.Components.Dashboard.Instance().closeCmnFilterPanel(modalContainerId);
  1485. }
  1486. }
  1487. }
  1488. prflDropDownMenu() {
  1489. $('.mob-view').removeClass('show');
  1490. $('.mob-view').find('a[aria-expanded="true"]').attr({ 'aria-expanded': 'false' });
  1491. $('.mob-view').find('.dropdown-menu').removeClass('show');
  1492. }
  1493. loadDashboardsInDashboard(groupid, dashboardid, IsEvent) {
  1494. var dboards = this.dashboards.filter(x => x.DashboardGroupId == groupid);
  1495. Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length = 0;
  1496. try {
  1497. if (($(window).width()) <= 575) {
  1498. this.activeFooter(dboards[0].DashboardId, true);
  1499. }
  1500. }
  1501. catch (e) {
  1502. }
  1503. this.prflDropDownMenu();
  1504. $("._bizgaze_detail_container.bg-cyan-light-5-removed").each(function (i, e) {
  1505. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.filter(id => id !== $(e).attr('id'));
  1506. $(e).remove();
  1507. });
  1508. $("._bizgaze_detail_container").removeClass("hidden");
  1509. if ($(".dashboard-options-list").length === 0) {
  1510. Unibase.Platform.Helpers.NavigationHelper.Instance().loadSection(0, "", Unibase.Themes.Compact.Components.Dashboard.Instance(), null, null);
  1511. }
  1512. $('#layoutMainNavbar,.biz-submenu').find('.nav-item.active-item').removeClass('active-item');
  1513. if ($('#bizCmnFilterPanel').hasClass('show')) {
  1514. $('#cmnFilterPanelClose').trigger('click');
  1515. }
  1516. if (!this.desktopMode) {
  1517. $('#settings_panel_close').trigger('click');
  1518. }
  1519. Unibase.Themes.Providers.DetailHelper.installedAppId = 0;
  1520. Unibase.Themes.Providers.DetailHelper.recordId = 0;
  1521. Unibase.Platform.Helpers.NavigationHelper.installedAppId = 0;
  1522. Unibase.Themes.Compact.Components.Dashboard.Instance().loadDashboards(dboards, dashboardid, IsEvent);
  1523. }
  1524. manageDashboards() {
  1525. var instance = this;
  1526. var jsfiles = ["platform/dashboards/components/managedashboards.js"];
  1527. instance.fileCacheHelper.loadJsFiles(jsfiles, function () {
  1528. instance.navigationHelper.popup(0, "", Unibase.Platform.Dashboards.Components.ManageDashboard.Instance(), null, Unibase.Platform.Helpers.Size.DockLeft);
  1529. });
  1530. }
  1531. loadAppGroups() {
  1532. var instance = this;
  1533. var jsfiles = ["platform/bundle/index.load.appgroup.min.js"];
  1534. instance.fileCacheHelper.loadJsFiles(jsfiles, function () {
  1535. Unibase.Platform.Helpers.FileCacheHelper.Instance().addCacheFiles(["platform/appgroups/components/manageappgroup.js", "platform/appgroups/managers/appgroupmanager.js"]);
  1536. instance.navigationHelper.popup(0, "", Unibase.Platform.AppGroups.Components.ManageAppGroup.Instance(), null, Unibase.Platform.Helpers.Size.DockLeft);
  1537. });
  1538. }
  1539. loadApps(containerid) {
  1540. let instance = this;
  1541. if ($(`#${containerid} .nav-item`).length <= 1) {
  1542. var manager = Unibase.Platform.Apps.Managers.AppManager.Instance();
  1543. manager.getMyApps().then(function (response) {
  1544. if (response.result.length != 0) {
  1545. var myapps = response.result;
  1546. let html = "";
  1547. let grouptemplate = Components.Nav_Template.Instance().appGroupTemplate();
  1548. var template = Components.Nav_Template.Instance().appTemplate();
  1549. var appgroups;
  1550. appgroups = [];
  1551. for (let i = 0; i < myapps.length; i++) {
  1552. var myapp = myapps[i];
  1553. var groupname = myapp.AppGroupName;
  1554. if (myapp.ParentAppId != 0) {
  1555. groupname = "Child Apps";
  1556. myapp.AppGroupId = 1;
  1557. }
  1558. if (groupname === null || groupname === "")
  1559. groupname = "No Group";
  1560. var isAppGroupExists = appgroups.findIndex(x => x.AppGroupName == groupname);
  1561. if (isAppGroupExists == -1) {
  1562. appgroups.push({
  1563. AppGroupId: myapp.AppGroupId,
  1564. AppGroupName: groupname,
  1565. IconName: myapp.GroupIconName,
  1566. });
  1567. }
  1568. }
  1569. $("#" + containerid).empty();
  1570. for (let i = 0; i < appgroups.length; i++) {
  1571. var group = appgroups[i];
  1572. var groupid = group.AppGroupId;
  1573. var templateScript = Handlebars.compile(grouptemplate);
  1574. var context = { "AppGroupId": group.AppGroupId, "AppGroupName": group.AppGroupName, "IconName": group.IconName };
  1575. html = templateScript(context);
  1576. $("#" + containerid).append(html);
  1577. var groupapps = myapps.filter(function (myapp, index) {
  1578. return myapp.AppGroupId === group.AppGroupId;
  1579. });
  1580. if (groupapps.length > 0) {
  1581. groupapps.forEach(function (dashboard, index) {
  1582. context = dashboard;
  1583. templateScript = Handlebars.compile(template);
  1584. html = templateScript(context);
  1585. $("#liAppGroup_" + groupid + "_item").before(html);
  1586. });
  1587. }
  1588. }
  1589. $("#liAppGroup_1").addClass("hidden");
  1590. if ($('#nav-apps .nav-AppGroup').not('.hidden').length > 5) {
  1591. instance.appendNavSearchInput(containerid);
  1592. }
  1593. else if (instance.layoutIndex == instance.leftLayout) {
  1594. $('.biz-submenu .header-wth-search').addClass('d-none');
  1595. }
  1596. instance.loadTopNavMegaMenu('nav-apps');
  1597. }
  1598. else {
  1599. $(`#${containerid}`).html('<li class="nav-item"><a class="nav-link">No Apps!</a></li>');
  1600. }
  1601. });
  1602. }
  1603. let detailContainerId = $('._bizgaze_detail_container').attr('id');
  1604. if (!$(`#searchWrapper${detailContainerId}`).is(':visible') && !$('#div_detail_profile').is(':visible')) {
  1605. $('#nav-apps .liappgrp-item.active-item').removeClass('active-item');
  1606. }
  1607. $("#nav-apps .nav-AppGroup").removeClass("hidden");
  1608. $(".liappgrp-addeditem").removeClass("hidden");
  1609. $("#nav-apps li").find(".flex-column.show").collapse("hide");
  1610. $("#liAppGroup_1").addClass("hidden");
  1611. $("#txt_global_Search").val('');
  1612. $('#nav-apps').on('mouseenter', '.nav-app-link', function () {
  1613. let canCreate = $(this).find('.createform').attr('createid');
  1614. if (canCreate == 'true') {
  1615. $(this).find('.createform').removeClass('hidden');
  1616. }
  1617. else {
  1618. $(this).find('.createform').addClass('hidden');
  1619. }
  1620. }).on("mouseleave", '.nav-app-link', function () {
  1621. $(this).find('.createform').addClass('hidden');
  1622. });
  1623. }
  1624. loadApp(reportid) {
  1625. }
  1626. loadCreateAppGroups() {
  1627. }
  1628. loadCreateApps(containerid) {
  1629. var jsfiles = [
  1630. "platform/apps/managers/appmanager.js",
  1631. "platform/apps/infos/apps.js"
  1632. ];
  1633. var instance = this;
  1634. if ($(`#${containerid} .nav-item`).length <= 1) {
  1635. this.fileCacheHelper.loadJsFiles(jsfiles, function () {
  1636. var manager = Unibase.Platform.Apps.Managers.AppManager.Instance();
  1637. manager.getMyApps().then(function (response) {
  1638. if (response.result.length != 0) {
  1639. var myapps = response.result;
  1640. instance.createapps = myapps;
  1641. let html = "";
  1642. let grouptemplate = Components.Nav_Template.Instance().createAppGroupTemplate();
  1643. if (instance.layoutIndex == instance.topLayout)
  1644. grouptemplate = Components.Nav_Template.Instance().createAppGroupTemplate2();
  1645. var template = Components.Nav_Template.Instance().createAppTemplate();
  1646. var appgroups;
  1647. appgroups = [];
  1648. myapps = myapps.sort(function (a, b) {
  1649. var aAppGroupName = a.AppGroupName;
  1650. var bAppGroupName = b.AppGroupName;
  1651. if (aAppGroupName === null)
  1652. aAppGroupName = "";
  1653. if (bAppGroupName === null)
  1654. bAppGroupName = "";
  1655. var x = aAppGroupName.toLowerCase();
  1656. var y = bAppGroupName.toLowerCase();
  1657. if (x < y) {
  1658. return -1;
  1659. }
  1660. if (x > y) {
  1661. return 1;
  1662. }
  1663. return 0;
  1664. });
  1665. var prevappgroupname = "";
  1666. for (let i = 0; i < myapps.length; i++) {
  1667. var myapp = myapps[i];
  1668. var groupname = myapp.AppGroupName;
  1669. if (groupname === null || groupname === "")
  1670. groupname = "No Group";
  1671. if (prevappgroupname != groupname) {
  1672. appgroups.push({
  1673. AppGroupId: myapp.AppGroupId,
  1674. AppGroupName: groupname,
  1675. IconName: myapp.GroupIconName,
  1676. });
  1677. prevappgroupname = groupname;
  1678. }
  1679. }
  1680. $("#" + containerid).empty();
  1681. for (let i = 0; i < appgroups.length; i++) {
  1682. var group = appgroups[i];
  1683. var groupid = group.AppGroupId;
  1684. var templateScript = Handlebars.compile(grouptemplate);
  1685. var context = { "AppGroupId": group.AppGroupId, "AppGroupName": group.AppGroupName, "IconName": group.IconName };
  1686. html = templateScript(context);
  1687. $("#" + containerid).append(html);
  1688. var groupapps = myapps.filter(function (myapp, index) {
  1689. return myapp.AppGroupId === group.AppGroupId;
  1690. });
  1691. if (groupapps.length > 0) {
  1692. groupapps.forEach(function (dashboard, index) {
  1693. context = dashboard;
  1694. templateScript = Handlebars.compile(template);
  1695. html = templateScript(context);
  1696. $("#licreateAppGroup_" + groupid + "_item").before(html);
  1697. });
  1698. }
  1699. }
  1700. }
  1701. else {
  1702. $(`#${containerid}`).html('<li class="nav-item"><a class="nav-link">No Apps!</a></li>');
  1703. }
  1704. });
  1705. });
  1706. }
  1707. }
  1708. loadCreateApp(reportid) {
  1709. }
  1710. loadSettingGroups(containerid) {
  1711. var _fileCacheHelper = this.fileCacheHelper;
  1712. var instance = this;
  1713. $("#btnrefresh").click(function () {
  1714. _fileCacheHelper.loadJsFile('/platform/apps/managers/appmanager.js', function () {
  1715. Unibase.Platform.Apps.Managers.AppManager.Instance().refreshApps().then(function (response) {
  1716. });
  1717. });
  1718. });
  1719. $("#btnrefresh_Forms").click(function () {
  1720. _fileCacheHelper.loadJsFile('/platform/forms/managers/formmanager.js', function () {
  1721. Unibase.Platform.Forms.Managers.FormManager.Instance().refreshForms().then(function (response) {
  1722. });
  1723. });
  1724. });
  1725. $("#btnrefresh_Autocompletes").click(function () {
  1726. _fileCacheHelper.loadJsFile('/platform/forms/managers/formmanager.js', function () {
  1727. Unibase.Platform.Forms.Managers.FormManager.Instance().refreshAutocompletes().then(function (response) {
  1728. });
  1729. });
  1730. });
  1731. $("#btnrefresh_Controls").click(function () {
  1732. _fileCacheHelper.loadJsFile('/platform/forms/managers/formmanager.js', function () {
  1733. Unibase.Platform.Forms.Managers.FormManager.Instance().refreshControls().then(function (response) {
  1734. });
  1735. });
  1736. });
  1737. $("#btnrefresh_actionproviders").click(function () {
  1738. _fileCacheHelper.loadJsFile('/platform/forms/managers/formmanager.js', function () {
  1739. Unibase.Platform.Forms.Managers.FormManager.Instance().refreshActionProviders().then(function (response) {
  1740. });
  1741. });
  1742. });
  1743. $("#btnrefresh_Widgets").click(function () {
  1744. _fileCacheHelper.loadJsFile('/platform/widgets/managers/widgetmanager.js', function () {
  1745. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().refreshWidgets().then(function (response) {
  1746. });
  1747. });
  1748. });
  1749. $("#btnrefresh_Widgetlayouts").click(function () {
  1750. _fileCacheHelper.loadJsFile('/platform/widgets/managers/widgetmanager.js', function () {
  1751. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().refreshWidgetLayouts().then(function (response) {
  1752. });
  1753. });
  1754. });
  1755. $("#btnrefresh_datalists").click(function () {
  1756. _fileCacheHelper.loadJsFile('/platform/datasources/managers/datalistmanager.js', function () {
  1757. Unibase.Platform.DataSources.Managers.DataListManager.Instance().refreshDataLists().then(function (response) {
  1758. });
  1759. });
  1760. });
  1761. $("#btnrefresh_reports").click(function () {
  1762. _fileCacheHelper.loadJsFile('/platform/analytics/managers/reportmanager.js', function () {
  1763. Unibase.Platform.Analytics.Managers.ReportManager.Instance().refreshReports().then(function (response) {
  1764. alert(response);
  1765. });
  1766. });
  1767. });
  1768. $("#btnrefresh_dataapis").click(function () {
  1769. _fileCacheHelper.loadJsFile('/platform/dataapis/managers/dataapimanager.js', function () {
  1770. Unibase.Platform.DataApis.Manangers.DataApiManager.Instance().refreshDataApis().then(function (response) {
  1771. });
  1772. });
  1773. });
  1774. $("#btnrefresh_integrationproviders").click(function () {
  1775. _fileCacheHelper.loadJsFile('/platform/integrations/managers/integrationmanager.js', function () {
  1776. Unibase.Platform.Integrations.Managers.IntegrationManager.Instance().refreshIntegrationProviders().then(function (response) {
  1777. });
  1778. });
  1779. });
  1780. $("#btnrefresh_FileProviders").click(function () {
  1781. _fileCacheHelper.loadJsFile('apps/collaboration/managers/filemanager.js', function () {
  1782. Unibase.Apps.Collaboration.FileManager.Instance().refreshApps().then(function (response) {
  1783. });
  1784. });
  1785. });
  1786. $("#btnrefresh_PrintProviders").click(function () {
  1787. _fileCacheHelper.loadJsFile('platform/templates/managers/templatemanager.js', function () {
  1788. Unibase.Platform.Templates.Managers.TemplateManager.Instance().refreshPrintProviders().then(function (response) {
  1789. });
  1790. });
  1791. });
  1792. $("#btnrefresh_templateproviders").click(function () {
  1793. _fileCacheHelper.loadJsFile('platform/templates/managers/templatemanager.js', function () {
  1794. Unibase.Platform.Templates.Managers.TemplateManager.Instance().refreshTemplateProviders().then(function (response) {
  1795. });
  1796. });
  1797. });
  1798. $("#btnrefresh_cryptoproviders").click(function () {
  1799. _fileCacheHelper.loadJsFile('platform/crypto/managers/cryptomanager.js', function () {
  1800. Unibase.Platform.Crypto.Managers.CryptoManger.Instance().refreshcryptoproviders().then(function (response) {
  1801. });
  1802. });
  1803. });
  1804. $("#btnrefresh_StaticReportObject").click(function () {
  1805. instance.refreshReportStaticObj();
  1806. });
  1807. $("#btnupdate_datalistcolums").click(function () {
  1808. instance.updateReport(0);
  1809. });
  1810. $("#btn_refreshnotificationproviders").click(function () {
  1811. _fileCacheHelper.loadJsFile('platform/automation/managers/rulemanager.js', function () {
  1812. Unibase.Platform.Automation.Managers.RuleManager.Instance().refreshNotificationProviders().then(function (response) {
  1813. });
  1814. });
  1815. });
  1816. }
  1817. refreshReportStaticObj() {
  1818. var instance = this;
  1819. instance.fileCacheHelper.loadJsFile('platform/core/infos/status.js', function () {
  1820. Unibase.Platform.Analytics.Managers.ReportManager.Instance().refreshStaticObj(0).then(function (rsoresponse) {
  1821. if (rsoresponse.status == Unibase.Data.Status.Success) {
  1822. return MessageHelper.Instance().showSuccess('StaticObject Refreshed Successfully', '');
  1823. }
  1824. });
  1825. });
  1826. }
  1827. updateReport(reportid) {
  1828. var instance = this;
  1829. if (reportid != 0)
  1830. reportid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_reportid").Value);
  1831. instance.fileCacheHelper.loadJsFile('/platform/analytics/managers/reportmanager.js', function () {
  1832. Unibase.Platform.Analytics.Managers.ReportManager.Instance().updatecolumns(reportid).then(function (csresponse) {
  1833. if (csresponse.status == Unibase.Data.Status.Error) {
  1834. return MessageHelper.Instance().showError(csresponse.message, 'div_message');
  1835. }
  1836. else {
  1837. return MessageHelper.Instance().showSuccess('Report Executed', '');
  1838. }
  1839. });
  1840. });
  1841. }
  1842. loadSettings(groupid) {
  1843. }
  1844. loadReports(containerid) {
  1845. if ($(`#${containerid} .nav-item`).length <= 1) {
  1846. var instance = this;
  1847. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getViewableReports().then(function (response) {
  1848. if (response.result.length != 0) {
  1849. var allReports = response.result;
  1850. let html = "";
  1851. let groupTemplate = Components.Nav_Template.Instance().reportGroupTemplate();
  1852. let reportTemplate = Components.Nav_Template.Instance().reportTemplate();
  1853. var groupTemplateScript = Handlebars.compile(groupTemplate);
  1854. var reportTemplateScript = Handlebars.compile(reportTemplate);
  1855. let filterReportGroups = allReports.filter((report, index, self) => index === self.findIndex((x) => (x.ReportGroupId === report.ReportGroupId)));
  1856. filterReportGroups = filterReportGroups.filter(x => x.IsInternalGroup == false);
  1857. $.each(filterReportGroups, function (index, group) {
  1858. let context = { "ReportGroupId": group.ReportGroupId, "ReportGroupName": group.GroupName };
  1859. html += groupTemplateScript(context);
  1860. });
  1861. $(`#${containerid}`).html(html);
  1862. $.each(allReports, function (index, report) {
  1863. let reportHtml = "";
  1864. if (!report.DisplayName) {
  1865. report.DisplayName = report.ReportName;
  1866. }
  1867. var context = report;
  1868. reportHtml = reportTemplateScript(context);
  1869. $(`#reportgroup-drp-${report.ReportGroupId}`).append(reportHtml);
  1870. });
  1871. if (filterReportGroups.length > 5) {
  1872. instance.appendNavSearchInput(containerid);
  1873. }
  1874. else if (instance.layoutIndex == instance.leftLayout) {
  1875. $('.biz-submenu .header-wth-search').addClass('d-none');
  1876. }
  1877. if (instance.desktopMode && instance.layoutIndex !== instance.topLayout) {
  1878. $("#nav-reports .nav-item[title]").tooltip({ position: { my: "left top", at: "right+5 top+2", collision: "none" } });
  1879. }
  1880. instance.loadTopNavMegaMenu('nav-reports');
  1881. }
  1882. else {
  1883. $(`#${containerid}`).html('<li class="nav-item"><a class="nav-link">No Reports!</a></li>');
  1884. }
  1885. });
  1886. }
  1887. $("#nav-reports .nav-ReportGroup").removeClass("hidden");
  1888. $(".lireportgrp-item").removeClass("hidden");
  1889. $("#nav-reports li").find(".flex-column.show").collapse("hide");
  1890. $("#txt_global_Search").val('');
  1891. }
  1892. appendNavSearchInput(containerid) {
  1893. const instance = this;
  1894. if (instance.layoutIndex == instance.topLayout || instance.layoutIndex == instance.topLeftLayout) {
  1895. if ($(`#${containerid}`).attr('data-istitlehidden') != 'true') {
  1896. instance.addMenuCollapseClickEvent();
  1897. let searchInputClass = '';
  1898. let searchInputPlaceholder = '';
  1899. if (containerid == 'nav-dashboards') {
  1900. searchInputClass = 'dashboards-search-input';
  1901. searchInputPlaceholder = 'Dashboards';
  1902. }
  1903. else if (containerid == 'nav-apps') {
  1904. searchInputClass = 'apps-search-input';
  1905. searchInputPlaceholder = 'Apps';
  1906. }
  1907. else if (containerid == 'nav-reports') {
  1908. searchInputClass = 'reports-search-input';
  1909. searchInputPlaceholder = 'Reports';
  1910. }
  1911. let searchHtml = '';
  1912. if (instance.desktopMode && instance.layoutIndex === instance.topLayout) {
  1913. searchHtml = `<li class="nav-item border-bottom nav-group-search-li top-menu-search position-relative"><span class="top-search-icon opacity-90"><i class="fa fa-search"></i></span><a href="javascript:;" class="clear-search btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-20p h-20p"><span class="btn-icon-wrap"><i class="dripicons dripicons-cross"></i></span></a> <input type="text" placeholder="Search ${searchInputPlaceholder}..." class="${searchInputClass} group-search-input w-100 py-1 biz-primary-text-color pl-20" autocomplete="off"></li>`;
  1914. $("#" + containerid).parents('.collapse-level-1').find('.nav-group-search-li').remove();
  1915. $("#" + containerid).parents('.collapse-level-1').prepend(searchHtml);
  1916. }
  1917. else {
  1918. searchHtml = `<li class="nav-item border-bottom nav-group-search-li position-relative"><input type="text" placeholder="Search ${searchInputPlaceholder}..." class="${searchInputClass} group-search-input w-100 py-1 biz-primary-text-color" autocomplete="off"><span class="search-icon"><i class="fa fa-search"></i></span><a href="javascript:;" class="clear-search btn btn-icon btn-flush-biz-theme btn-rounded flush-soft-hover w-20p h-20p"><span class="btn-icon-wrap"><i class="dripicons dripicons-cross"></i></span></a></li>`;
  1919. $("#" + containerid).find('.nav-group-search-li').remove();
  1920. $("#" + containerid).prepend(searchHtml);
  1921. }
  1922. instance.initiateNavSearch(`.${searchInputClass}`);
  1923. }
  1924. }
  1925. }
  1926. loadTopNavMegaMenu(containerid) {
  1927. const instance = this;
  1928. if (instance.desktopMode && instance.layoutIndex === instance.topLayout) {
  1929. const containerEl = $(`#${containerid}`);
  1930. let navGroupEl = '';
  1931. if (containerid.includes('nav-dashboards')) {
  1932. navGroupEl = $('#dash_drp');
  1933. }
  1934. else if (containerid.includes('nav-apps')) {
  1935. navGroupEl = $('#pages_drp');
  1936. }
  1937. else if (containerid.includes('nav-reports')) {
  1938. navGroupEl = $('#reports_drp');
  1939. }
  1940. containerEl.removeClass('flex-column');
  1941. navGroupEl.find('.biz_anchor,.mega-sub-head-nav-link').click(function () {
  1942. $(this).parents("ul.collapse.collapse-level-1").css('display', 'none');
  1943. });
  1944. let isSettingsPanelVisible = false;
  1945. navGroupEl.parents('#layoutMainNavbar').find('.nav-group-collapse-link, .collapse.collapse-level-1').off('mouseenter mouseleave').hover(function () {
  1946. $(this).parent().find(".collapse.collapse-level-1").css('display', 'block');
  1947. $('#reportdatepicker__navCmnDateFilter_0').hide();
  1948. $('.profile-dropdown-menu').removeClass('show');
  1949. if ($('.biz-settings-toggle').length) {
  1950. isSettingsPanelVisible = true;
  1951. $('.biz-settings-toggle').removeClass('biz-settings-toggle');
  1952. }
  1953. else {
  1954. isSettingsPanelVisible = false;
  1955. }
  1956. $('.select2-dropdown').parent().hide();
  1957. }, function () {
  1958. isSettingsPanelVisible && $('.hk-wrapper').addClass('biz-settings-toggle');
  1959. $(this).parent().find(".collapse.collapse-level-1").css('display', 'none');
  1960. $('.select2-dropdown').parent().show();
  1961. });
  1962. navGroupEl.addClass('pl-15');
  1963. navGroupEl.find('.nav-group-search-li').attr('style', 'width:400px !important;margin-left:0px !important');
  1964. navGroupEl.attr('style', 'min-width: 90vw;position:fixed !important;display:none').removeClass('flex-column');
  1965. navGroupEl.find('.nav-item').addClass('p-0');
  1966. navGroupEl.find('.mega-nav-li-list .mega-sub-head-nav-link').addClass('font-weight-bold').attr("data-toggle", '');
  1967. navGroupEl.find('.mega-nav-li-list').find('.drp-list').removeClass('collapse-level-1 flex-column collapse');
  1968. navGroupEl.find('.liappgrp-item ,.lireportgrp-item').find('.mega-nav-item').addClass('font-14');
  1969. navGroupEl.find('.mega-sub-head-nav-link ,.liappgrp-item,.lireportgrp-item .biz_anchor,.li-dashboard-item .nav-link').removeClass('nav-hover-link');
  1970. $('#nav-apps').find('.mega-nav-li-list .drp-list .w-90,.mega-nav-li-list .drp-list .w-10').removeClass('w-10 w-90').addClass('w-100');
  1971. navGroupEl.find('.mega-nav-item').attr('style', 'opacity:0.8;border:1px solid transparent;').addClass('h-100');
  1972. $('#nav-reports').find('.mega-nav-li-list .drp-list .mega-nav-item').css('width', '75%');
  1973. navGroupEl.find('.mega-nav-li-list').css('break-inside', 'avoid');
  1974. navGroupEl.find('.mega-nav').addClass('mega-nav-col');
  1975. $('.dashboards-search-input,.apps-search-input,.reports-search-input').focus(function () {
  1976. $('.top-search-icon').addClass('d-none');
  1977. });
  1978. $('.dashboards-search-input,.apps-search-input,.reports-search-input').blur(function () {
  1979. $('.top-search-icon').removeClass('d-none');
  1980. });
  1981. $('.dashboards-search-input,.apps-search-input,.reports-search-input').keyup(function (e) {
  1982. let val = $(e.target).val();
  1983. $(this).parent().parent().find(".collapse-item").find("ul li").find(".nav-link").show();
  1984. if (val === '') {
  1985. $(this).parent().parent().find(".collapse-item").find("ul li").find(".nav-link").show();
  1986. $(this).parent().parent().find(".collapse-item").find("#liAppGroup_1").removeClass("active").addClass("hidden");
  1987. $(e.target).parent().find('.top-search-icon').removeClass('d-none');
  1988. $(e.target).parent().find('.clear-search.btn').fadeOut();
  1989. }
  1990. else {
  1991. $(e.target).parent().find('.top-search-icon').addClass('d-none');
  1992. }
  1993. });
  1994. $(".nav-dashboards-item,.nav-apps-item,.nav-reports-item").on("mouseenter", function (e) {
  1995. $('#nav-apps li.nav-item.nav-AppGroup:first-child').addClass('hidden');
  1996. let dis_val = $('#nav-apps li.nav-item.nav-AppGroup#liAppGroup_1').hasClass("active");
  1997. if (dis_val == false) {
  1998. $('#nav-apps li.nav-item.nav-AppGroup#liAppGroup_1').addClass('hidden');
  1999. }
  2000. else {
  2001. $('#nav-apps li.nav-item.nav-AppGroup#liAppGroup_1').removeClass('hidden');
  2002. }
  2003. });
  2004. }
  2005. }
  2006. activeFooter(id, isDashBoard) {
  2007. try {
  2008. var footerElement = document.getElementsByClassName("biz-mobile-footer");
  2009. if (footerElement) {
  2010. let existingActiveElement = $(footerElement).find(".active");
  2011. if (existingActiveElement) {
  2012. $(existingActiveElement).removeClass("active");
  2013. }
  2014. }
  2015. var footerGroupElement = document.querySelector(".footerItem_" + id);
  2016. if (isDashBoard && footerGroupElement == undefined) {
  2017. var dashBoardGroupId = this.dashboards.find(x => x.DashboardId == id).DashboardGroupId;
  2018. footerGroupElement = document.querySelector(".footerItem_" + dashBoardGroupId);
  2019. }
  2020. if (footerGroupElement) {
  2021. let footerItem = $(footerGroupElement).find(".nav-footer-link");
  2022. if (footerItem) {
  2023. footerItem.addClass("active");
  2024. }
  2025. }
  2026. }
  2027. catch (e) {
  2028. }
  2029. }
  2030. loadList(installedappid) {
  2031. const instance = this;
  2032. this.installedAppId = installedappid;
  2033. Unibase.Themes.Providers.DetailHelper.recordId = 0;
  2034. Unibase.Themes.Providers.DetailHelper.installedAppId = 0;
  2035. Unibase.Platform.Helpers.NavigationHelper.Filter = [];
  2036. Unibase.Platform.Helpers.NavigationHelper.ListSearchTerm = "";
  2037. Unibase.Themes.Compact.Components.Details.Instance().lastContinerId = '';
  2038. try {
  2039. if (($(window).width()) <= 575) {
  2040. this.activeFooter(installedappid);
  2041. }
  2042. }
  2043. catch (e) {
  2044. }
  2045. this.navigationHelper.loadList(installedappid, null);
  2046. $('#layoutMainNavbar,.biz-submenu').find('.nav-item.active-item').removeClass('active-item');
  2047. $(`.UlItem_${installedappid}`).addClass('active-item');
  2048. $('.db-setting-dp-item').addClass('d-none');
  2049. if ($('#bizCmnFilterPanel').hasClass('show'))
  2050. $('#cmnFilterPanelClose').trigger('click');
  2051. if (!instance.desktopMode) {
  2052. $('#settings_panel_close').trigger('click');
  2053. }
  2054. }
  2055. loadCreateHtml(installedappid) {
  2056. var instance = this.fileCacheHelper;
  2057. var jsfiles = [
  2058. "platform/apps/managers/appmanager.js",
  2059. "platform/forms/components/formviewer/formviewer.js",
  2060. "platform/forms/managers/formmanager.js",
  2061. "platform/apps/enums/appconfigurationtypes.js"
  2062. ];
  2063. this.fileCacheHelper.loadJsFiles(jsfiles, function () {
  2064. Unibase.Platform.Apps.Managers.AppManager.Instance().getListAppConfigurations(installedappid).then(function (response) {
  2065. var data = response.result;
  2066. var FormId;
  2067. var AppConfigId;
  2068. if (response.result == null || response.result.length == 0) {
  2069. }
  2070. else {
  2071. for (let i = 0; i < data.length; i++) {
  2072. if (Number(response.result[i].SettingUrlType) == Unibase.Platform.Apps.Enums.SettingUrlType.Form && Number(response.result[i].AppConfigType) == Unibase.Platform.Apps.Enums.AppConfigeType.List && response.result[i].Ungrouped == true) {
  2073. FormId = response.result[i].FormId;
  2074. AppConfigId = response.result[i].AppConfigurationId;
  2075. }
  2076. }
  2077. }
  2078. if (FormId)
  2079. instance.loadJsFile("platform/forms/components/formviewer/formviewer.js", function () {
  2080. Unibase.Platform.Forms.Components.FormViewer.Instance().loadForm(FormId, 0, AppConfigId, null, 0);
  2081. });
  2082. });
  2083. });
  2084. }
  2085. loadReport(Reportid) {
  2086. var instance = this;
  2087. if (!instance.isDshboardBck) {
  2088. instance.isDshboardBckArray.push({ "ReportId": Reportid, "ReportName": $('#' + Reportid).find("#hf_Analytics_ReportName").val(), "isBack": "Report" });
  2089. }
  2090. else {
  2091. instance.isDshboardBck = false;
  2092. }
  2093. this.navigationHelper.closeAllModals();
  2094. try {
  2095. if (($(window).width()) <= 575) {
  2096. this.activeFooter(Reportid);
  2097. }
  2098. }
  2099. catch (e) {
  2100. }
  2101. Unibase.Platform.Helpers.NavigationHelper.reportViewerInstance = [];
  2102. Unibase.Platform.Helpers.NavigationHelper.installedAppId = 0;
  2103. Unibase.Themes.Providers.DetailHelper.installedAppId = 0;
  2104. Unibase.Themes.Providers.DetailHelper.recordId = 0;
  2105. this.fileCacheHelper.loadJsFiles(["platform/analytics/managers/reportmanager.js", "platform/analytics/components/reportviewer/reportviewerhiddenfields.js", "platform/analytics/managers/reportmanager.js", "platform/analytics/components/reportbuilder/reportbuilderhiddenfields.js", "platform/analytics/enums/reporttype.js", "platform/analytics/enums/viewertype.js", "platform/analytics/components/reportviewer/_reportviewer.js", "platform/analytics/components/reportviewer/reportviewer.js", "platform/filters/components/editfilter.js"], function () {
  2106. instance.navigationHelper.popin(Reportid, "", Unibase.Platform.Analytics.Components.ReportViewer.Instance(), null);
  2107. $(".reportview-remove-none").removeClass("d-none");
  2108. $('#layoutMainNavbar,.biz-submenu').find('.nav-item.active-item').removeClass('active-item');
  2109. $(`li.UlItem_${Reportid}`).addClass('active-item');
  2110. if (!instance.desktopMode) {
  2111. $('#settings_panel_close').trigger('click');
  2112. }
  2113. });
  2114. $('.filters-dropdown-div-top-layout').addClass('d-none');
  2115. instance.installedAppId = 0;
  2116. instance.reportId = Reportid;
  2117. }
  2118. loadUserProfile(containerid) {
  2119. var cookieHelper = Unibase.Platform.Helpers.CookieHelper.Instance();
  2120. var currentuser = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  2121. var userIdentityStr = cookieHelper.getUserIdentityCookie();
  2122. if (userIdentityStr == "")
  2123. $(".userBtnLogoff").removeClass('d-flex').addClass('d-none');
  2124. $(".userBtnLogoff").click(function () {
  2125. Unibase.Platform.Membership.Managers.AccountManager.Instance().userLogoff(currentuser.sessionId).then(function (response) {
  2126. if (userIdentityStr !== "") {
  2127. var obj = JSON.parse(userIdentityStr);
  2128. cookieHelper.deleteCookie(Unibase.Platform.Helpers.CookieHelper._userIdentitycookie);
  2129. Unibase.Platform.Membership.Infos.Identity.setCurrentUser(obj);
  2130. window.location.href = '#/welcome';
  2131. window.location.reload();
  2132. MessageHelper.Instance().showSuccess("User Logged Out Successfully", '');
  2133. }
  2134. });
  2135. });
  2136. $(".btnLogoff").click(function () {
  2137. if (isMobileApp()) {
  2138. Unibase.Platform.Helpers.MobileHelper.Instance().cacheUserCredantials('', '');
  2139. Unibase.Platform.Helpers.MobileHelper.Instance().logout();
  2140. Unibase.Platform.Membership.Infos.Identity.setCurrentUser(null);
  2141. cookieHelper.deleteCookie(Unibase.Platform.Helpers.CookieHelper._userIdentitycookie);
  2142. }
  2143. else {
  2144. Unibase.Platform.Membership.Infos.Identity.setCurrentUser(null);
  2145. $("#bizgaze_body").html("");
  2146. cookieHelper.deleteCookie(Unibase.Platform.Helpers.CookieHelper._userIdentitycookie);
  2147. window.location.href = '/#/logoff';
  2148. window.location.reload();
  2149. }
  2150. });
  2151. if (jQuery("#" + containerid) == undefined || jQuery("#" + containerid).html() == undefined)
  2152. return;
  2153. if (jQuery("#" + containerid).html().length < 10) {
  2154. var _fileCacheHelper = this.fileCacheHelper;
  2155. $("#btn_bizgaze_normalmode").click(function () {
  2156. _fileCacheHelper.loadJsFile("tenants/themes/compact/js/designmode/designmode.js", function () {
  2157. let IsAdmin = true;
  2158. let InstalledAppId = 0;
  2159. var isadmin = $("#hfBizgaze_IsAdmin").val();
  2160. if (isadmin === 1)
  2161. IsAdmin = true;
  2162. var installedAppId = $("#hfLayout_InstalledPageId").val();
  2163. if (installedAppId !== undefined && installedAppId !== 0 && installedAppId !== "")
  2164. InstalledAppId = Number(installedAppId);
  2165. Components.DesignMode.Instance().closeDesignMode(IsAdmin, InstalledAppId);
  2166. });
  2167. });
  2168. }
  2169. }
  2170. loadNotifications(containerid) {
  2171. Unibase.Themes.Compact.Components.Notification.Instance().init(containerid);
  2172. }
  2173. loadFilters(containerid) {
  2174. var instance = this;
  2175. var containerid = $("._bizgaze_detail_container:visible").attr("id");
  2176. var jsfiles = ['platform/analytics/enums/datatype.js', 'platform/analytics/components/filterpanel/filterpanel.js', 'platform/filters/components/filter.js', 'platform/filters/components/editfilter.js'];
  2177. if (!$("#hf_DashboardPortletId").val()) {
  2178. instance.fileCacheHelper.loadJsFiles(jsfiles, function () {
  2179. Unibase.Platform.Analytics.Components.ReportViewer.Instance().loadFilters(instance.reportId, containerid);
  2180. });
  2181. }
  2182. else {
  2183. this.fileCacheHelper.loadJsFile("platform/analytics/components/commonfilter/_commonfilter.js", function () {
  2184. if ($('.Reportid__commonfilter').text())
  2185. Unibase.Platform.Analytics.Components._CommonFilter.Instance().commonFilter($("#hf_DashboardPortletId").val(), null);
  2186. });
  2187. }
  2188. }
  2189. addWidget() {
  2190. const instance = this;
  2191. var _fileCacheHelper = this.fileCacheHelper;
  2192. $(".toplayout-structures-panel").addClass("nav_2_layout");
  2193. $(".biz-layout-3-left-nav").addClass("nav_3_layout");
  2194. $(".biz-submenu").addClass("nav_sub_layout");
  2195. _fileCacheHelper.loadJsFile("platform/widgets/components/widget.js", function () {
  2196. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2197. if (InstalledAppId == undefined || InstalledAppId == null) {
  2198. InstalledAppId = 0;
  2199. }
  2200. Unibase.Platform.Widgets.Components.Widget.Instance().EditScreen(InstalledAppId);
  2201. });
  2202. if (instance.layoutIndex == instance.leftLayout) {
  2203. $('.biz-submenu .header-wth-search').addClass('d-none');
  2204. }
  2205. }
  2206. loadLayoutBuilder() {
  2207. var _fileCacheHelper = this.fileCacheHelper;
  2208. _fileCacheHelper.loadJsFiles(["platform/layout/components/layoutbuilder/layoutbuilder.js",
  2209. "platform/layout/components/layoutbuilder/layoutbuilder.template.js"], function () {
  2210. Unibase.Platform.Layouts.Components.LayoutBuilder.Instance().init();
  2211. });
  2212. }
  2213. loadUserTheme(isCompany, companyId, isRole) {
  2214. const instance = this;
  2215. var _fileCacheHelper = this.fileCacheHelper;
  2216. var roleId = 0;
  2217. if (isRole == true) {
  2218. roleId = companyId;
  2219. companyId = 0;
  2220. }
  2221. $('#settingsPanelBodyWrap').removeClass('d-none');
  2222. $('#chatPanelBodyWrap').addClass('d-none');
  2223. $('.biz-settings-panel').removeClass('notifications-tasks-panel');
  2224. _fileCacheHelper.loadJsFiles(["platform/bundle/index.themes.builder.js"], function () {
  2225. Unibase.Themes.Compact.Components.UserTheme.Instance().userTheme(isCompany, companyId, roleId, isRole);
  2226. $('.settings-panel-wrap').addClass('p-0');
  2227. $('.settings-panel-head').addClass('px-3 py-2').removeClass('border-bottom mobileChat-view d-none');
  2228. $(".biz-settings-panel").toggleClass("show");
  2229. $('#settings-panel-body').addClass('px-3');
  2230. $('.notification-footer').addClass('d-none');
  2231. $(".biz-settings-panel").css({ "background": "white" });
  2232. if ($('.settings-panel-head').children().length == 2) {
  2233. $('#settings-panel-head-title').remove();
  2234. $('#myTab').remove();
  2235. let appendhtml = '<span class="biz-primary-text-color-removed flex-grow-1 ml-10 order-1" id="settings-panel-head-title">Themes</span>';
  2236. $('#settings_panel_close').before(appendhtml);
  2237. }
  2238. if (isCompany == true) {
  2239. $('.biz-settings-panel.hk-settings-panel').parent().addClass('companyApp');
  2240. }
  2241. if (Unibase.Themes.Compact.Components.Index.Instance().layoutIndex == instance.leftLayout) {
  2242. $('.biz-settings-panel').addClass('layout-1');
  2243. }
  2244. if (Unibase.Themes.Compact.Components.Index.Instance().layoutIndex == instance.topLayout) {
  2245. $('.biz-settings-panel').addClass('layout-2');
  2246. }
  2247. });
  2248. }
  2249. loadFileProviders(containerid) {
  2250. let ModalHtml = `<div class="settings-modal-container">
  2251. <div class="modal fade" id="loadFileProvidersModal" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-hidden="true">
  2252. <div class="modal-dialog modal-dialog-centered" role="document">
  2253. <div class="modal-content rounded-10">
  2254. <div class="modal-header" style="border-style: dashed;">
  2255. <h5 class="modal-title ml-auto">Cloud Settings</h5>
  2256. <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true" class="badge badge-soft-danger font-20 rounded-circle pb-2 px-2">×</span> </button>
  2257. </div>
  2258. <div class="modal-body">
  2259. <form>
  2260. <div class="form-group">
  2261. <label class="control-label text-primary font-weight-500 mb-5 pl-3" for="fileProviderSelect"> FileProvider</label>
  2262. <select class="form-control border border-top-0 border-right-0 border-left-0" style="width: 100%;" id="txtAutoComplete_FileProviderId"> </select>
  2263. </div>
  2264. <div class="text-center">
  2265. <button type="submit" class="btn px-4 py-1 btn btn-sm btn-primary" onclick="Unibase.Themes.Compact.Components.Nav.Instance().updateFileProvider()">Apply</button>
  2266. </div>
  2267. </form>
  2268. </div>
  2269. </div>
  2270. </div>
  2271. </div>
  2272. </div>`;
  2273. $("#_bizgaze_modal").append(ModalHtml);
  2274. $('#loadFileProvidersModal').modal();
  2275. var url = _appsettings.server_url() + '/apis/v4/unibase/unicloud/fileproviders/getfileprovidersAutoComplete';
  2276. AutoCompleteHelper.getHelper().Create("#txtAutoComplete_FileProviderId", "#hfAutoComplete_FileProviderId", url, function (response) {
  2277. var data = response;
  2278. });
  2279. var instance = this;
  2280. $("#txtAutoComplete_FileProviderId").empty();
  2281. instance.fileCacheHelper.loadJsFile("platform/files/managers/filemanager.js", function () {
  2282. Unibase.Platform.Files.Managers.FileManager.Instance().getfileprovider().then(function (response) {
  2283. var data = JSON.parse(JSON.stringify(response.result));
  2284. var fileproviderid = data[0].fileproviderid;
  2285. var providername = data[0].fileprovidername;
  2286. var fileprovider = new Option(providername, fileproviderid.toString(), true);
  2287. $("#txtAutoComplete_FileProviderId").append(fileprovider);
  2288. $("#txtAutoComplete_FileProviderId").val(fileproviderid);
  2289. });
  2290. });
  2291. }
  2292. _bindtenants_data() {
  2293. Unibase.Platform.Membership.Managers.AccountManager.Instance().getSharedTenants().then(function (result) {
  2294. $("#selectbranch").empty();
  2295. let data = result.result;
  2296. for (var i = 0; i < data.length; i++) {
  2297. var primary_tenant = data[i].tenantName;
  2298. var primary_tenant_id = data[i].tenantId;
  2299. var html = `<option class="primary-account font-10" value =` + primary_tenant_id + `> ` + primary_tenant + ` </option>`;
  2300. $("#selectbranch").append(html);
  2301. }
  2302. let branch_selct = $("#selectbranch").find("option").length;
  2303. if (branch_selct <= 1) {
  2304. $("#selectbranch").parent(".branch-Group").addClass("d-none");
  2305. }
  2306. $("#selectbranch").val(_appsettings.active_identity().tenantId);
  2307. });
  2308. }
  2309. loadBranches(containerid) {
  2310. var instance = this;
  2311. $(".settings-panel-close").trigger('click');
  2312. let ModalHtml = `<div class="settings-modal-container">
  2313. <div class="modal fade" id="settingsModal" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-hidden="true">
  2314. <div class="modal-dialog modal-dialog-centered" role="document">
  2315. <div class="modal-content rounded-10">
  2316. <div class="modal-header" style="border-style: dashed;">
  2317. <h5 class="modal-title ml-auto">Change Branch</h5>
  2318. <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true" class="badge badge-soft-danger font-20 rounded-circle pb-2 px-2">×</span> </button>
  2319. </div>
  2320. <div class="modal-body">
  2321. <div class="row date-time-row">
  2322. <div class="col-sm-6">
  2323. <div class="form-group">
  2324. <label class="control-label text-primary font-weight-500 mb-5 biz-highlight-text-color" for="fiscalYearSelect"> Fiscal Year</label>
  2325. <select class="form-control border border-top-0 border-right-0 border-left-0" style="width: 100%;" id="txtAutoComplete_PartitionId"> </select>
  2326. </div>
  2327. </div>
  2328. <div class="col-sm-6">
  2329. <div class="form-group ${this.isRestrictHidden}">
  2330. <label class="control-label text-primary font-weight-500 mb-0 biz-highlight-text-color">FromDate-ToDate</label>
  2331. ${!instance.desktopMode ? '<input class="form-control datepicker-input cmn-daterange-input" type="text" placeholder="DD/MM/YYYY - DD/MM/YYYY" id="mobileCmnDataRangeInput">' : ''}
  2332. <div id="dynamic-filters_modalCmnDateFilter"></div>
  2333. </div>
  2334. </div>
  2335. </div>
  2336. <div class="form-group branch-Section">
  2337. <label class="control-label text-primary font-weight-500 mb-5 biz-highlight-text-color" for="branchSelect"> Branch</label>
  2338. <select class="form-control border border-top-0 border-right-0 border-left-0" style="width: 100%;" id="txtAutoComplete_BranchId"> </select>
  2339. </div>
  2340. <div class="form-group branch-Group">
  2341. <label class="control-label text-primary font-weight-500 mb-5 biz-highlight-text-color"> Switch To</label>
  2342. <select class="form-control border border-top-0 border-right-0 border-left-0 pl-0" id="selectbranch" style="width:100%;">
  2343. </select>
  2344. </div>
  2345. <div class="text-center">
  2346. <button class="btn px-4 py-1 btn btn-sm btn-primary" onclick="Unibase.Themes.Compact.Components.Nav.Instance().changeBranch()">Apply</button>
  2347. </div>
  2348. </div>
  2349. </div>
  2350. </div>
  2351. </div>
  2352. </div>`;
  2353. $("#_bizgaze_modal").append(ModalHtml);
  2354. let checkisrescritted = _appsettings.active_identity().isRestrictedUser;
  2355. if (checkisrescritted) {
  2356. $("#settingsModal").find(".branch-Section,.date-time-row").addClass("d-none");
  2357. }
  2358. instance._bindtenants_data();
  2359. $('#settingsModal').modal();
  2360. let _secDataenabled = _appsettings.active_identity().secDataEnabled;
  2361. if (_secDataenabled) {
  2362. $(".secondary-account").attr("selected", "selected");
  2363. }
  2364. else {
  2365. $(".primary-account").attr("selected", "selected");
  2366. }
  2367. $('#settingsModal').on('hide.bs.modal', function (e) {
  2368. $('.right-side-menu-content-wrap').find('.nav-item').removeClass('right-sunbnav-active');
  2369. });
  2370. var url = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getbranchesAutoComplete';
  2371. AutoCompleteHelper.getHelper().Create("#txtAutoComplete_BranchId", "#hfAutoComplete_BranchId", url, function (response) {
  2372. var data = response;
  2373. });
  2374. var url = _appsettings.server_url() + '/apis/v4/unibase/platform/partitions/getPartitionsAutoComplete';
  2375. AutoCompleteHelper.getHelper().Create("#txtAutoComplete_PartitionId", "#hfAutoComplete_PartitionId", url, function (response) {
  2376. var data = response;
  2377. });
  2378. $("#txtAutoComplete_BranchId").empty();
  2379. $("#txtAutoComplete_PartitionId").empty();
  2380. var BranchId = 0, PartitionId = 0;
  2381. var Branch = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchid");
  2382. var PartitionId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().partitionId;
  2383. var PartitionName = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().partitionName;
  2384. if (Branch != undefined) {
  2385. BranchId = Branch.settingValue;
  2386. if (BranchId != 0) {
  2387. var BranchName = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchname").settingValue;
  2388. var branch = new Option(BranchName, BranchId.toString(), true);
  2389. $("#txtAutoComplete_BranchId").append(branch);
  2390. $("#txtAutoComplete_BranchId").val(BranchId);
  2391. }
  2392. }
  2393. if (PartitionId != undefined) {
  2394. var partition = new Option(PartitionName, PartitionId.toString(), true);
  2395. $("#txtAutoComplete_PartitionId").append(partition);
  2396. $("#txtAutoComplete_PartitionId").val(PartitionId);
  2397. }
  2398. if (instance.desktopMode) {
  2399. Unibase.Platform.Analytics.Components._CommonFilter.Instance().commonFilter(0, '_modalCmnDateFilter');
  2400. }
  2401. else {
  2402. const fromDate = moment(instance.currentUser.fromDate).format('DD/MM/YYYY');
  2403. const toDate = moment(instance.currentUser.toDate).format('DD/MM/YYYY');
  2404. $('#mobileCmnDataRangeInput').val(fromDate + ' - ' + toDate);
  2405. $('#mobileCmnDataRangeInput').off('click').click(function () {
  2406. Unibase.Platform.Analytics.Components._CommonFilter.Instance().commonFilter(0, '_navCmnDateFilter');
  2407. $("#bizCmnDateFilterModal").modal({
  2408. show: true,
  2409. backdrop: 'static'
  2410. });
  2411. });
  2412. }
  2413. }
  2414. _isSwitched() {
  2415. let _currentTenant = _appsettings.active_identity().tenantId;
  2416. let _switchedTenant = $('#selectbranch').find(":selected").val();
  2417. return _currentTenant != Number(_switchedTenant);
  2418. }
  2419. changeBranch() {
  2420. var instance = this;
  2421. var BranchId = $("#txtAutoComplete_BranchId").val();
  2422. var PartitionId = $("#txtAutoComplete_PartitionId").val();
  2423. BranchId = BranchId == null ? 0 : BranchId;
  2424. PartitionId = PartitionId == null ? 0 : PartitionId;
  2425. if (this._isSwitched()) {
  2426. $('#settingsModal').modal("hide");
  2427. let checkswitchid = $('#selectbranch').find(":selected").val();
  2428. Unibase.Platform.Membership.Managers.AccountManager.Instance().switchtotenant(Number(checkswitchid));
  2429. }
  2430. else {
  2431. instance.fileCacheHelper.loadJsFile("apps/crm/companies/managers/companymanager.js", function () {
  2432. Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().changeBranch(BranchId, PartitionId).then(function (res) {
  2433. $('#settingsModal').modal("hide");
  2434. if (isMobileApp()) {
  2435. Unibase.Platform.Helpers.MobileHelper.Instance().redirectToLogin();
  2436. }
  2437. else {
  2438. window.location.href = '#/welcome';
  2439. window.location.reload();
  2440. }
  2441. });
  2442. });
  2443. }
  2444. }
  2445. sessiontimeout(containerid) {
  2446. Unibase.Platform.Helpers.CookieHelper.Instance().setIdentityCookie('');
  2447. $(".settings-panel-close").trigger('click');
  2448. $(".sessioninput").val('');
  2449. var Username = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().name;
  2450. let ModalHtml = `<div class="modal fade" id="sessionsModal" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog" aria-hidden="true">
  2451. <div class="modal-dialog modal-lg modal-dialog-centered " role="document" >
  2452. <div class="modal-content rounded-10 text-center bg-white" style="background:url(tenants/themes/compact/imgs/biz-alert-bg.png);background-size:100%;background-repeat:no-repeat">
  2453. <img src="tenants/themes/compact/imgs/alertimg.png" class="img-fluid pt-20 pb-10 w-80p m-auto sessiontimeoutimg" >
  2454. <div class="modal-body sessiontimeoutmodal text-center pb-30">
  2455. <h5>Hi ${Username}</h5>
  2456. <p class="py-1">For Security reasons, the session will expire automatically, If the browser window <br> is idle for a long time. </p>
  2457. <label class="sessiontimeoutlabel"></label>
  2458. <form name="sessionform" onkeydown="return event.key != 'Enter';" >
  2459. <div class="input-group w-50 mx-auto">
  2460. <input type="password" class="form-control border sessioninput" placeholder="Enter your Password to Login *" aria-label="Passwrod" aria-describedby="basic-addon2" id="reEnterpswd" name="loginpassword">
  2461. <div class="input-group-append">
  2462. <a toggle="#InputPassword" id="confirmPasswordHide" class="fa fa-eye-slash font-15 btn" style="position:absolute;right:55px; top: 7px;z-index:10; padding:5px" ></a>
  2463. <button class="btn btn-primary rounded login-btn" id="login-btn" type="button" onclick=" Unibase.Themes.Compact.Components.Nav.instance.checkpassword()" name="loginpassword"><i class="fa fa-sign-in"></i></button>
  2464. </div>
  2465. </div>
  2466. </form>
  2467. </div>
  2468. <span>or</span>
  2469. <div class="pt-1 pb-3">Click here to </span><a class="text-dark font-weight-600 loginpage" id="btnLogoff" href="javascript:;" style="text-decoration: underline;">Sign out</a></div>
  2470. </div>
  2471. </div>
  2472. </div>
  2473. </div>`;
  2474. $("#_bizgaze_modal").html(ModalHtml);
  2475. $('#sessionsModal').modal();
  2476. $(".loginpage").click(function () {
  2477. $("#btnLogoff").click();
  2478. $("#userBtnLogoff").click();
  2479. });
  2480. $("#reEnterpswd").off().keyup(function (e) {
  2481. if (e.which == 13) {
  2482. e.preventDefault();
  2483. Unibase.Themes.Compact.Components.Nav.instance.checkpassword();
  2484. }
  2485. });
  2486. $("#confirmPasswordHide").click(function () {
  2487. var input = $('#reEnterpswd');
  2488. input.attr('type') == "password" ? input.attr('type', 'text') : input.attr('type', 'password');
  2489. $("#confirmPasswordHide").toggleClass('fa-eye-slash fa-eye');
  2490. $("#reEnterpswd").focus();
  2491. });
  2492. }
  2493. checkpassword() {
  2494. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/membership/requests/login.js", function () {
  2495. const Loginpassword = $(".sessioninput").val();
  2496. if (Loginpassword === "") {
  2497. $(".sessiontimeoutlabel").html('<div class="alert alert-danger" role ="alert">Enter Your Password to Login Again </div>');
  2498. return false;
  2499. }
  2500. else {
  2501. const unibaseid = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().unibaseId;
  2502. var request = new Unibase.Platform.Membership.Requests.Login("", Loginpassword.toString(), unibaseid, true);
  2503. var _accountManager = Unibase.Platform.Membership.Managers.AccountManager.Instance();
  2504. _accountManager.validateLogin(request).then(function (response) {
  2505. const _identity = response.result;
  2506. if (_identity === null) {
  2507. $(".sessiontimeoutlabel").html('<div class="alert alert-danger" role ="alert">' + response.message + '</div>');
  2508. return false;
  2509. }
  2510. else {
  2511. $('#sessionsModal').modal('hide');
  2512. $('#sessionsModal').on('hidden.bs.modal', function () {
  2513. $(this).remove();
  2514. });
  2515. Unibase.Platform.Membership.Infos.Identity.setCurrentUser(_identity);
  2516. }
  2517. });
  2518. }
  2519. });
  2520. }
  2521. getNavParentGroups() {
  2522. const instance = this;
  2523. var userInfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  2524. if (userInfo.settings) {
  2525. var index = userInfo.settings.findIndex(x => x.settingName == 'navigationid');
  2526. var navigationId = 0;
  2527. if (index != -1) {
  2528. navigationId = userInfo.settings.find(x => x.settingName == 'navigationid').settingValue;
  2529. }
  2530. if (navigationId != 0) {
  2531. instance.fileCacheHelper.loadJsFiles(["platform/navigation/managers/navigationmanager.js", "platform/dashboards/managers/dashboardmanager.js"], function () {
  2532. Unibase.Platform.Navigation.Managers.NavigationManager.Instance().getNavParentGroups(navigationId).then(function (response) {
  2533. if (response.result != null && response.result.length > 0) {
  2534. var html = '';
  2535. var iconhtml = '';
  2536. var count = 0;
  2537. var active = "";
  2538. Unibase.Platform.Dashboards.Managers.DashboardManager.Instance().getDashboards().then(function (res) {
  2539. if (res.result != null && res.result.length > 0) {
  2540. instance.dashboards = res.result;
  2541. }
  2542. if (instance.layoutIndex == instance.leftLayout) {
  2543. var navElement = $(document.querySelectorAll(".menu-content-wrap")).find(".navbar-nav");
  2544. if (navElement) {
  2545. $(navElement).children().not('#nav-button-close').empty();
  2546. }
  2547. }
  2548. else if (instance.layoutIndex == instance.topLayout || instance.layoutIndex == instance.topLeftLayout) {
  2549. $('#layoutMainNavbar .nav-group-container').remove();
  2550. }
  2551. for (var i = 0; i < response.result.length; i++) {
  2552. if (response.result[i].IsFooter) {
  2553. if (($(window).width() <= 575)) {
  2554. instance.loadFooter(response.result[i].NavigationGroupId);
  2555. }
  2556. }
  2557. else {
  2558. if (instance.layoutIndex == instance.leftLayout) {
  2559. if (count == 0) {
  2560. active = "sunbnav-active";
  2561. }
  2562. else {
  2563. active = "";
  2564. }
  2565. html = `<li class="nav-item nav-button ${active}" id = "navgrp_${response.result[i].NavigationGroupName}" ><a class="nav-link" href = "javascript:;" onclick = "Unibase.Themes.Compact.Components.Nav.Instance().getNavChildGroups(${response.result[i].NavigationGroupId},'nav-navitems','${response.result[i].NavigationGroupName}')" id = "lnkNavGroups" >`;
  2566. if (response.result[i].ImageUrl != null && response.result[i].ImageUrl != "") {
  2567. var bool = response.result[i].ImageUrl.includes("~");
  2568. if (bool) {
  2569. response.result[i].ImageUrl = response.result[i].ImageUrl.replace("~", "");
  2570. }
  2571. iconhtml = `<img src="${response.result[i].ImageUrl}" class="w-30p h-30p" data-dynamic="1" onerror="ReloadImage(event)" data-loaded="1" > </a></li>`;
  2572. }
  2573. else {
  2574. iconhtml = `<span class="nav-icon-wrap" > <i class="${response.result[i].Icon}"></i></span></a></li>`;
  2575. }
  2576. html = html + iconhtml;
  2577. $(".biz-main-menu").find(".navbar-nav li:last").after(html);
  2578. if (count == 0) {
  2579. instance.getNavChildGroups(response.result[i].NavigationGroupId, 'nav-navitems', response.result[i].NavigationGroupName, true);
  2580. count++;
  2581. }
  2582. }
  2583. else if (instance.layoutIndex == instance.topLayout || instance.layoutIndex == instance.topLeftLayout) {
  2584. $('#layoutMainNavbar').append(`<li class="nav-item nav-group-container nav-navitems-container ${instance.layoutIndex == instance.topLayout ? 'my-0' : ''}" id="navgrp_${response.result[i].NavigationGroupId}"><a class="nav-link nav-group-collapse-link" href="javascript:void(0);" data-toggle="collapse" data-target="#navGrpNav_${response.result[i].NavigationGroupId}" id="navLink_${response.result[i].NavigationGroupId}"></a><ul id="navGrpNav_${response.result[i].NavigationGroupId}" class="flex-column collapse collapse-level-1" data-navigation="Back2Path"><li class="nav-item"><ul class="nav flex-column" id="nav-navitems-${response.result[i].NavigationGroupId}"></ul></li></ul></li>`);
  2585. if (instance.layoutIndex == instance.topLayout && instance.desktopMode) {
  2586. $(`#navLink_${response.result[i].NavigationGroupId}`).removeAttr('data-target');
  2587. }
  2588. if (response.result[i].ImageUrl != null && response.result[i].ImageUrl != "") {
  2589. var bool = response.result[i].ImageUrl.includes("~");
  2590. if (bool) {
  2591. response.result[i].ImageUrl = response.result[i].ImageUrl.replace("~", "");
  2592. }
  2593. iconhtml = `<img src="${response.result[i].ImageUrl}" class="w-30p h-30p" data-dynamic="1" onerror="ReloadImage(event)" data-loaded="1">`;
  2594. }
  2595. else {
  2596. iconhtml = `<i class="${response.result[i].Icon} nav-link-icon"></i>`;
  2597. }
  2598. $(`#navLink_${response.result[i].NavigationGroupId}`).html(`${iconhtml}<span class="nav-link-text">${response.result[i].NavigationGroupName}</span>`);
  2599. instance.getNavChildGroups(response.result[i].NavigationGroupId, `nav-navitems-${response.result[i].NavigationGroupId}`, response.result[i].NavigationGroupName, true);
  2600. }
  2601. }
  2602. }
  2603. });
  2604. if (response.result.length > 0 && instance.layoutIndex == instance.leftLayout) {
  2605. if (document.getElementById("nav-button-dashboards")) {
  2606. document.getElementById("nav-button-dashboards").remove();
  2607. }
  2608. if (document.getElementById("nav-button-apps")) {
  2609. document.getElementById("nav-button-apps").remove();
  2610. }
  2611. if (document.getElementById("nav-button-create")) {
  2612. document.getElementById("nav-button-create").remove();
  2613. }
  2614. if (document.getElementById("nav-button-reports")) {
  2615. document.getElementById("nav-button-reports").remove();
  2616. }
  2617. }
  2618. }
  2619. else {
  2620. instance.showLeftLayoutDefaultNavIcons();
  2621. if (isMobileApp()) {
  2622. instance.loadMobileReminders();
  2623. }
  2624. }
  2625. });
  2626. });
  2627. }
  2628. else {
  2629. instance.showLeftLayoutDefaultNavIcons();
  2630. if (isMobileApp()) {
  2631. instance.loadMobileReminders();
  2632. }
  2633. }
  2634. }
  2635. else {
  2636. instance.showLeftLayoutDefaultNavIcons();
  2637. }
  2638. }
  2639. showLeftLayoutDefaultNavIcons() {
  2640. const instance = this;
  2641. if (instance.layoutIndex == instance.leftLayout) {
  2642. $("#lnkDashboards").removeClass("d-none");
  2643. $("#lnkReports").removeClass("d-none");
  2644. $("#lnkCreate").removeClass("d-none");
  2645. $("#lnkApps").removeClass("d-none");
  2646. }
  2647. instance.showNavOptions(1);
  2648. }
  2649. getNavChildGroups(navParentGroupId, containerId, navParentGrpName, test) {
  2650. var instance = this;
  2651. if (instance.layoutIndex == instance.leftLayout) {
  2652. $("#nav-apps-container").addClass("hidden");
  2653. $("#nav-reports-container").addClass("hidden");
  2654. $("#nav-dashboards-container").addClass("hidden");
  2655. $("#nav-navitems-container").removeClass("hidden");
  2656. $(".nav-title").text(navParentGrpName);
  2657. }
  2658. $("#" + containerId).empty();
  2659. instance.fileCacheHelper.loadJsFile("platform/navigation/managers/navigationmanager.js", function () {
  2660. Unibase.Platform.Navigation.Managers.NavigationManager.Instance().getNavItems(navParentGroupId, false).then(function (response) {
  2661. if (response.result != null) {
  2662. var navitems = response.result;
  2663. var navGroups = [];
  2664. var apptemplate = Components.Nav_Template.Instance().navAppTemplate();
  2665. var appgrouptemplate = Components.Nav_Template.Instance().navAppGroupTemplate();
  2666. var dashboardtemaplate = Components.Nav_Template.Instance().navDashboardTemplate();
  2667. var dashboardgrouptemaplate = Components.Nav_Template.Instance().navDashboardGroupTemplate();
  2668. var reporttemplate = Components.Nav_Template.Instance().navReportTemplate();
  2669. var reportgrouptemplate = Components.Nav_Template.Instance().navReportGroupTemplate();
  2670. var templateScript;
  2671. var context;
  2672. var count = 0;
  2673. for (var i = 0; i < navitems.length; i++) {
  2674. var item = navitems[i];
  2675. if (navitems[i].IsChild) {
  2676. if (navGroups.length > 0) {
  2677. var index = navGroups.findIndex(x => x.NavigationGroupId == item.NavigationGroupId && x.NavigationGroupName == item.NavigationGroupName);
  2678. if (index == -1) {
  2679. navGroups.push({ NavigationGroupId: item.NavigationGroupId, NavigationGroupName: item.NavigationGroupName });
  2680. instance.renderNavChildGroup(item, context, containerId, navitems);
  2681. }
  2682. }
  2683. else {
  2684. navGroups.push({ NavigationGroupId: item.NavigationGroupId, NavigationGroupName: item.NavigationGroupName });
  2685. instance.renderNavChildGroup(item, context, containerId, navitems);
  2686. }
  2687. }
  2688. else {
  2689. var html = ``;
  2690. context = navitems[i];
  2691. if (item.NavigationGroupType == 1) {
  2692. if (item.IsGroup) {
  2693. templateScript = Handlebars.compile(dashboardgrouptemaplate);
  2694. }
  2695. else {
  2696. templateScript = Handlebars.compile(dashboardtemaplate);
  2697. }
  2698. }
  2699. else if (item.NavigationGroupType == 2) {
  2700. if (item.IsGroup) {
  2701. templateScript = Handlebars.compile(appgrouptemplate);
  2702. }
  2703. else {
  2704. templateScript = Handlebars.compile(apptemplate);
  2705. }
  2706. }
  2707. else if (item.NavigationGroupType == 3) {
  2708. if (item.IsGroup) {
  2709. templateScript = Handlebars.compile(reportgrouptemplate);
  2710. }
  2711. else {
  2712. templateScript = Handlebars.compile(reporttemplate);
  2713. }
  2714. }
  2715. else {
  2716. var jstemplate = `<li id='{{ItemId}}' class="nav-item lireportgrp-item lireportgrp-addeditem UlItem_{{ItemId}}">
  2717. <a href="javascript:;" class="nav-link nav-anchor biz_anchor nav-hover-link text-truncate" data-reportname="{{ItemName}}" onclick="{{OnClick}}">{{ItemName}}</a></li>`;
  2718. templateScript = Handlebars.compile(jstemplate);
  2719. }
  2720. html = templateScript(context);
  2721. jQuery("#" + containerId).append(html);
  2722. }
  2723. if (test) {
  2724. if (count == 0) {
  2725. if (navitems[i].NavigationGroupType == 1) {
  2726. if (navitems[i].IsGroup) {
  2727. instance.loadDashboardsInDashboard(navitems[i].ItemId, 0, true);
  2728. }
  2729. else {
  2730. instance.loadNavDashBoard(navitems[i].ItemId, navitems[i].ItemName);
  2731. }
  2732. }
  2733. else if (navitems[i].NavigationGroupType == 2) {
  2734. }
  2735. else if (navitems[i].NavigationGroupType == 3) {
  2736. }
  2737. else if (navitems[i].NavigationGroupType == 4) {
  2738. }
  2739. count++;
  2740. }
  2741. }
  2742. }
  2743. if (isMobileApp()) {
  2744. instance.loadMobileReminders();
  2745. }
  2746. $('#nav-navitems .ligrp-item,#layoutMainNavbar .ligrp-item').first().addClass('active-item');
  2747. $('#nav-navitems .nav-item').not('.nav-item.collapsed').off().click(function (e) {
  2748. e.stopImmediatePropagation();
  2749. $('#nav-navitems .nav-item.active-item').removeClass('active-item');
  2750. let clickedEl = $(e.currentTarget);
  2751. if (!$(clickedEl).hasClass('collapsed')) {
  2752. $(clickedEl).addClass('active-item');
  2753. if ($(clickedEl).parents('.collapsed').length) {
  2754. $(clickedEl).parents('.collapsed').find('[data-toggle="collapse"]').addClass('active-item');
  2755. }
  2756. }
  2757. });
  2758. $('#layoutMainNavbar .ligrp-item').off().click(function (e) {
  2759. e.stopImmediatePropagation();
  2760. $('#layoutMainNavbar .nav-item.active-item').removeClass('active-item');
  2761. $(this).addClass('active-item');
  2762. });
  2763. }
  2764. });
  2765. });
  2766. }
  2767. renderNavChildGroup(item, context, containerId, navitems) {
  2768. var groupid = item.NavigationGroupId;
  2769. var templateScript = Handlebars.compile(Components.Nav_Template.Instance().navGroupTemplate());
  2770. context = { "NavGroupId": item.NavigationGroupId, "NavGroupName": item.NavigationGroupName };
  2771. var html = templateScript(context);
  2772. jQuery("#" + containerId).append(html);
  2773. var groupitems = navitems.filter(function (navitem, index) {
  2774. return navitem.NavigationGroupId === item.NavigationGroupId;
  2775. });
  2776. if (groupitems.length > 0) {
  2777. groupitems.forEach(function (item, index) {
  2778. var context = item;
  2779. if (item.NavigationGroupType == 1) {
  2780. if (item.IsGroup) {
  2781. templateScript = Handlebars.compile(Components.Nav_Template.Instance().navDashboardGroupTemplate());
  2782. }
  2783. else {
  2784. templateScript = Handlebars.compile(Components.Nav_Template.Instance().navDashboardTemplate());
  2785. }
  2786. }
  2787. else if (item.NavigationGroupType == 2) {
  2788. if (item.IsGroup) {
  2789. templateScript = Handlebars.compile(Components.Nav_Template.Instance().navAppGroupTemplate());
  2790. }
  2791. else {
  2792. templateScript = Handlebars.compile(Components.Nav_Template.Instance().navAppTemplate());
  2793. }
  2794. }
  2795. else if (item.NavigationGroupType == 3) {
  2796. if (item.IsGroup) {
  2797. templateScript = Handlebars.compile(Components.Nav_Template.Instance().navReportGroupTemplate());
  2798. }
  2799. else {
  2800. templateScript = Handlebars.compile(Components.Nav_Template.Instance().navReportTemplate());
  2801. }
  2802. }
  2803. else {
  2804. var jstemplate = `<li id='{{ItemId}}' class="nav-item lireportgrp-item lireportgrp-addeditem UlItem_{{ItemId}}">
  2805. <a href="javascript:;" class="nav-link nav-anchor biz_anchor nav-hover-link text-truncate" data-reportname="{{ItemName}}" onclick="{{OnClick}}">{{ItemName}}</a></li>`;
  2806. templateScript = Handlebars.compile(jstemplate);
  2807. }
  2808. html = templateScript(context);
  2809. $("#liNavGroup_" + groupid + "_item").before(html);
  2810. });
  2811. }
  2812. }
  2813. loadFooter(navGroupId) {
  2814. var instance = this;
  2815. instance.fileCacheHelper.loadJsFile("apps/crm/companies/managers/companymanager.js", function () {
  2816. Unibase.Platform.Navigation.Managers.NavigationManager.Instance().getNavItems(navGroupId, true).then(function (response) {
  2817. if (response.result != null) {
  2818. var footer = '<div class="biz-mobile-footer h-55p shadow w-100 bg-white z-index-2 py-3 px-4"><ul class="d-flex list-inline align-items-center justify-content-between mobile-footer-content"></ul></div>';
  2819. $("#bizgaze_body").append(footer);
  2820. var navitems = response.result;
  2821. var count = 0;
  2822. var active = "";
  2823. for (let i = 0; i < navitems.length; i++) {
  2824. var iconhtml = "";
  2825. if (count == 0) {
  2826. active = "active";
  2827. count++;
  2828. }
  2829. else {
  2830. active = "";
  2831. }
  2832. if (navitems[i].NavigationGroupType == 1) {
  2833. var load = "";
  2834. if (navitems[i].IsGroup) {
  2835. load = "loadDashboardsInDashboard";
  2836. }
  2837. else {
  2838. load = "loadNavDashBoard";
  2839. }
  2840. let html = `<li id='${navitems[i].ItemId}' class="nav-footer-top ligrp-addeditem footerItem_${navitems[i].ItemId}" ><input type="hidden" id="hf_Dashboard_DashboardId" value="${navitems[i].ItemId}"><input type="hidden" id="hf_Dashboard_DashboardName" data-Dashboardname="${navitems[i].ItemName}"value="${navitems[i].ItemName}"> <a href="javascript:;" class="nav-footer-link p-3 ${navitems[i].ItemName} ${active}" data-Dashboardname="${navitems[i].ItemName}" onclick="javascript:Unibase.Themes.Compact.Components.Nav.Instance().${load}(${navitems[i].ItemId},\'${navitems[i].ItemName}\')">`;
  2841. if (navitems[i].ImageUrl != null && navitems[i].ImageUrl != "") {
  2842. var bool = navitems[i].ImageUrl.includes("~");
  2843. if (bool) {
  2844. navitems[i].ImageUrl.replace("~", "");
  2845. }
  2846. iconhtml = `<img src="${navitems[i].ImageUrl}" class="w-30p h-30p" data-dynamic="1" onerror="ReloadImage(event)" data-loaded="1" > </a></li>`;
  2847. }
  2848. else {
  2849. iconhtml = `<i class='${navitems[i].Icon} font-25 ' style="color:black !important"></i> </a></li>`;
  2850. }
  2851. html = html + iconhtml;
  2852. $(".mobile-footer-content").append(html);
  2853. }
  2854. else if (navitems[i].NavigationGroupType == 2) {
  2855. var icon = navitems[i].Icon;
  2856. var image = navitems[i].ImageUrl;
  2857. var html = `<li id='${navitems[i].ItemId}' class="nav-footer-top footerItem_${navitems[i].ItemId}"> <input type="hidden" id = "hf_Apps_InstalledAppId"
  2858. value = "${navitems[i].ItemId}" > <input type="hidden" id = "hf_Apps_InstalledAppName" data-installedappname="${navitems[i].ItemName}" value = "${navitems[i].ItemName}" ><a href="javascript:;" class="nav-footer-link p-3 biz-${navitems[i].ItemId} ${active}" data-installedappname="${navitems[i].ItemName}" onclick = "Unibase.Themes.Compact.Components.Nav.Instance().loadList(${navitems[i].ItemId})" > `;
  2859. if (navitems[i].ImageUrl != null && navitems[i].ImageUrl != "") {
  2860. var bool = navitems[i].ImageUrl.includes("~");
  2861. if (bool) {
  2862. navitems[i].ImageUrl.replace("~", "");
  2863. }
  2864. iconhtml = `<img src="${navitems[i].ImageUrl}" class="w-30p h-30p" data-dynamic="1" onerror="ReloadImage(event)" data-loaded="1" > </a></li>`;
  2865. }
  2866. else {
  2867. iconhtml = `<i class='${navitems[i].Icon} font-25' style="color:black !important"></i> </a></li>`;
  2868. }
  2869. html = html + iconhtml;
  2870. $(".mobile-footer-content").append(html);
  2871. }
  2872. else if (navitems[i].NavigationGroupType == 3) {
  2873. let html = `<li id='${navitems[i].ItemId}' class="nav-footer-top lireportgrp-item lireportgrp-addeditem footerItem_${navitems[i].ItemId}"><input type="hidden" id="hf_Analytics_ReportId"
  2874. value="${navitems[i].ItemId}"><input type="hidden" id="hf_Analytics_ReportName" data-reportname="${navitems[i].ItemName}" value="${navitems[i].ItemName}">
  2875. <a href="javascript:;" class="nav-footer-link p-3" data-reportname="${navitems[i].ItemName} ${active}" onclick="javascript: Unibase.Themes.Compact.Components.Nav.Instance().loadReport(${navitems[i].ItemId});">`;
  2876. if (navitems[i].ImageUrl != null && navitems[i].ImageUrl != "") {
  2877. var bool = navitems[i].ImageUrl.includes("~");
  2878. if (bool) {
  2879. navitems[i].ImageUrl.replace("~", "");
  2880. }
  2881. iconhtml = `<img src="${navitems[i].ImageUrl}" class="w-30p h-30p" data-dynamic="1" onerror="ReloadImage(event)" data- loaded="1" > </a></li>`;
  2882. }
  2883. else {
  2884. iconhtml = `<i class='${navitems[i].Icon} font-25' style="color:black !important"></i> </a></li>`;
  2885. }
  2886. html = html + iconhtml;
  2887. $(".mobile-footer-content").append(html);
  2888. }
  2889. else {
  2890. let html = `<li id='${navitems[i].ItemId}' class="nav-footer-top ligrp-addeditem footerItem_${navitems[i].ItemId}" ><input type="hidden" id="hf_User_UserId" value="${navitems[i].ItemId}"><input type="hidden" id="hf_User_UserName" data-Dashboardname="${navitems[i].ItemName}"value="${navitems[i].ItemName}"> <a href="javascript:;" class="nav-footer-link p-3 ${navitems[i].ItemName} ${active}" data-Username="${navitems[i].ItemName}" onclick="${navitems[i].OnClick}">`;
  2891. if (navitems[i].ImageUrl == null && navitems[i].ImageUrl == "" && navitems[i].Icon == "") {
  2892. iconhtml = `${navitems[i].ItemName}</a></li>`;
  2893. }
  2894. if (navitems[i].ImageUrl != null && navitems[i].ImageUrl != "") {
  2895. var bool = navitems[i].ImageUrl.includes("~");
  2896. if (bool) {
  2897. navitems[i].ImageUrl.replace("~", "");
  2898. }
  2899. iconhtml = `<img src="${navitems[i].ImageUrl}" class="w-30p h-30p" data-dynamic="1" onerror="ReloadImage(event)" data-loaded="1" > </a></li>`;
  2900. }
  2901. else if (navitems[i].Icon != "") {
  2902. iconhtml = `<i class='${navitems[i].Icon} font-25 ' style="color:black !important"></i> </a></li>`;
  2903. }
  2904. html = html + iconhtml;
  2905. $(".mobile-footer-content").append(html);
  2906. }
  2907. }
  2908. }
  2909. });
  2910. });
  2911. }
  2912. loadNavDashBoard(dashboardId, dashboardName) {
  2913. const instance = this;
  2914. instance.prflDropDownMenu();
  2915. var Dashboard_len = $(".dashboard-options-list").length;
  2916. if ($("._bizgaze_detail_container.bg-cyan-light-5-removed").length != 0) {
  2917. Unibase.Themes.Providers.DetailHelper.installedAppId = 0;
  2918. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.pop();
  2919. }
  2920. $("._bizgaze_detail_container.bg-cyan-light-5-removed").remove();
  2921. $("._bizgaze_detail_container").removeClass("hidden");
  2922. if (Dashboard_len == 0 && Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length > 0) {
  2923. $(".biz-pg-wrapper ._bizgaze_detail_container.bg-cyan-light-5-removed").remove();
  2924. Unibase.Platform.Helpers.NavigationHelper.Instance().loadSection(0, "", Unibase.Themes.Compact.Components.Dashboard.Instance(), null, null);
  2925. }
  2926. $("#lblDbGroup_Title").text(dashboardName);
  2927. $(".layout-dashboard-tabs").addClass('hidden');
  2928. const dboards = instance.dashboards.filter(x => x.DashboardId == dashboardId);
  2929. const groupId = dboards[0].DashboardGroupId;
  2930. instance.loadDashboardsInDashboard(groupId, dashboardId, true);
  2931. $('.biz-wrapper').removeClass('biz__nav__toggle');
  2932. $('.biz-nav-fullwidth').addClass('hidden');
  2933. }
  2934. loadUserProfile_() {
  2935. var instance = this;
  2936. instance.navigationHelper.loadDetail(Unibase.Platform.Membership.Infos.Identity.currentUser.userId, Unibase.Platform.Membership.Infos.Identity.getSetting("installedappid"), null);
  2937. }
  2938. loadUserLogOff() {
  2939. var cookieHelper = Unibase.Platform.Helpers.CookieHelper.Instance();
  2940. if (isMobileApp()) {
  2941. Unibase.Platform.Helpers.MobileHelper.Instance().cacheUserCredantials('', '');
  2942. Unibase.Platform.Helpers.MobileHelper.Instance().logout();
  2943. }
  2944. else {
  2945. Unibase.Platform.Membership.Infos.Identity.setCurrentUser(null);
  2946. $("#bizgaze_body").html("");
  2947. cookieHelper.deleteCookie(Unibase.Platform.Helpers.CookieHelper._userIdentitycookie);
  2948. window.location.href = '/#/logoff';
  2949. window.location.reload();
  2950. }
  2951. }
  2952. static Instance() {
  2953. if (this.instance === undefined)
  2954. this.instance = new Nav();
  2955. return this.instance;
  2956. }
  2957. updateFileProvider() {
  2958. var FileProviderId = Number($("#txtAutoComplete_FileProviderId").val());
  2959. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/files/managers/filemanager.js", function () {
  2960. Unibase.Platform.Files.Managers.FileManager.Instance().updateFileProvider(FileProviderId).then(function () {
  2961. $('#loadFileProvidersModal').modal("hide");
  2962. });
  2963. });
  2964. }
  2965. loadChat() {
  2966. $('#settingsPanelBodyWrap').addClass('d-none');
  2967. $('#chatPanelBodyWrap').removeClass('d-none');
  2968. $('.biz-settings-panel .settings-panel-head').addClass('d-none');
  2969. $(".biz-wrapper,.hk-wrapper").addClass("biz-settings-toggle");
  2970. if ($("#nav-chats-container").children().length === 0) {
  2971. if (this.indexInstance.isIframe) {
  2972. Unibase.Platform.Connect.Components.Chat.isFullScreen = true;
  2973. }
  2974. Unibase.Platform.Connect.Components.Chat.Instance().loadchats();
  2975. }
  2976. }
  2977. loadMobileReminders() {
  2978. let params = Unibase.Platform.Helpers.MobileHelper.Instance().getReminderParmeters();
  2979. let reminderType = Unibase.Platform.Helpers.MobileHelper.Instance().getReminderType();
  2980. if (params != '') {
  2981. Unibase.Platform.Helpers.MobileHelper.Instance().loadMobileReminders(params);
  2982. }
  2983. else if (reminderType != '' && reminderType != null) {
  2984. this.fileCacheHelper.loadJsFiles(['platform/communications/enums/reminders/remindertype.js', 'platform/communications/managers/reminders/remindermanager.js'], function () {
  2985. Unibase.Themes.Compact.Components.Notification.Instance().loadReminders('tab-view').then(function () {
  2986. $(".biz-wrapper,.hk-wrapper").addClass("biz-settings-toggle");
  2987. if (reminderType == 'Task') {
  2988. Unibase.Themes.Compact.Components.Notification.Instance().tabView('task-tab');
  2989. }
  2990. });
  2991. });
  2992. }
  2993. }
  2994. wizard() {
  2995. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["tenants/themes/compact/components/dashboard/wizard/request/wizardrequest.js", "tenants/themes/compact/components/dashboard/wizard/manager/wizardmanager.js", "tenants/themes/compact/components/dashboard/wizard/wizard.js", "platform/core/helpers/file/file.js"], function () {
  2996. Unibase.Themes.Compact.Components.Wizard.Wizard.Instance().wizardApp();
  2997. });
  2998. }
  2999. stagesListPage(id, _installedAppId, _recordId) {
  3000. let instance = this;
  3001. var fromDate = "";
  3002. var toDate = "";
  3003. var cf_fromDate = Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate;
  3004. var cf_toDate = Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate;
  3005. if (cf_fromDate != null && cf_toDate != null) {
  3006. fromDate = cf_fromDate.toString();
  3007. toDate = cf_toDate.toString();
  3008. }
  3009. else {
  3010. fromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  3011. toDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  3012. }
  3013. var expObj = {
  3014. InstalledAppId: Number(_installedAppId),
  3015. RecordId: Number(_recordId),
  3016. FromDate: fromDate,
  3017. ToDate: toDate
  3018. };
  3019. Unibase.Platform.Widgets.Managers.WidgetManager.Instance().getDefaultWidget(expObj).then(function (res) {
  3020. let html = '', response;
  3021. for (var i = 0; i < res.result.Stages.length; i++) {
  3022. response = res.result.Stages[i];
  3023. if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin) {
  3024. html += `<a class="dropdown-item" onclick="Unibase.Themes.Compact.Components.Details.Instance().change(${response.StageId}, ${response.InstalledAppId},'${id}')" data-stageindex="${response.StageIndex}" data-stageid="${response.StageId}" data-stageList_Name="${response.StageName}" data-inastalledappid="${response.InstalledAppId}" href="javascript:void();">${response.StageName}</a>`;
  3025. }
  3026. else {
  3027. if (response.ChangeAll && response.StageRoles == null) {
  3028. html += `<a class="dropdown-item" onclick="Unibase.Themes.Compact.Components.Details.Instance().change(${response.StageId}, ${response.InstalledAppId},'${id}')" data-stageindex="${response.StageIndex}" data-stageid="${response.StageId}" data-stageList_Name="${response.StageName}" data-inastalledappid="${response.InstalledAppId}" href="javascript:void();">${response.StageName}</a>`;
  3029. }
  3030. if (response.StageRoles != null && response.StageRoles.length != 0) {
  3031. for (var j = 0; j < response.StageRoles.length; j++) {
  3032. if (response.ChangeAll && (!response.StageRoles[j].ExcludeChangeRole)) {
  3033. html += `<a class="dropdown-item" onclick="Unibase.Themes.Compact.Components.Details.Instance().change(${response.StageId}, ${response.InstalledAppId},'${id}')" data-stageindex="${response.StageIndex}" data-stageid="${response.StageId}" data-stageList_Name="${response.StageName}" data-inastalledappid="${response.InstalledAppId}" href="javascript:void();">${response.StageName}</a>`;
  3034. }
  3035. }
  3036. }
  3037. if (response.ChangeAll == false && response.StageRoles != null && response.StageRoles.length > 0) {
  3038. html += `<a class="dropdown-item" onclick="Unibase.Themes.Compact.Components.Details.Instance().change(${response.StageId}, ${response.InstalledAppId},'${id}')" data-stageindex="${response.StageIndex}" data-stageid="${response.StageId}" data-stageList_Name="${response.StageName}" data-inastalledappid="${response.InstalledAppId}" href="javascript:void();">${response.StageName}</a>`;
  3039. }
  3040. }
  3041. }
  3042. $(`[aria-labelledby="${id}"]`).removeClass('d-none').html(html);
  3043. let inptParamter = JSON.parse(res.result.Data)[0];
  3044. Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters = [];
  3045. for (const property in inptParamter) {
  3046. debugger;
  3047. console.log(`${property}: ${inptParamter[property]}`);
  3048. Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.push({
  3049. Key: "hf_" + _installedAppId + "_" + property.toLowerCase(),
  3050. Value: inptParamter[property],
  3051. DataType: typeof (inptParamter[property])
  3052. });
  3053. }
  3054. Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.push({
  3055. Key: "hf_" + _installedAppId + "_" + "recordid",
  3056. Value: _recordId.toString(),
  3057. DataType: typeof (_recordId)
  3058. });
  3059. Unibase.Themes.Providers.DetailHelper.installedAppId = Number(_installedAppId);
  3060. Unibase.Themes.Providers.DetailHelper.recordId = Number(_recordId);
  3061. Unibase.Themes.Providers.DetailHelper.isListStages = true;
  3062. Unibase.Themes.Providers.Detail_Settings.Instance().InstalledAppId = Number(_installedAppId);
  3063. Unibase.Themes.Providers.Detail_Settings.Instance().RecordId = Number(_recordId);
  3064. Unibase.Themes.Providers.Detail_Settings.Instance().isListStages = true;
  3065. });
  3066. }
  3067. isListRefresh() {
  3068. Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters = [];
  3069. Unibase.Themes.Providers.DetailHelper.installedAppId = 0;
  3070. Unibase.Themes.Providers.DetailHelper.recordId = 0;
  3071. Unibase.Themes.Providers.DetailHelper.isListStages = false;
  3072. Unibase.Themes.Providers.Detail_Settings.Instance().InstalledAppId = 0;
  3073. Unibase.Themes.Providers.Detail_Settings.Instance().RecordId = 0;
  3074. Unibase.Themes.Providers.Detail_Settings.Instance().isListStages = false;
  3075. }
  3076. logOffBootbox() {
  3077. bootbox.confirm({
  3078. message: "Do you want Logoff",
  3079. closeButton: false,
  3080. buttons: {
  3081. confirm: {
  3082. label: 'Logoff',
  3083. className: 'btn-success'
  3084. },
  3085. cancel: {
  3086. label: 'Cancel',
  3087. className: 'btn-danger'
  3088. }
  3089. },
  3090. callback: function (result) {
  3091. if (result) {
  3092. $(".btnLogoff").click();
  3093. }
  3094. else {
  3095. return '';
  3096. }
  3097. }
  3098. });
  3099. }
  3100. exitMobileApp() {
  3101. return __awaiter(this, void 0, void 0, function* () {
  3102. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1], instance = this, length = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length;
  3103. let isPopup = false, isDetailContainer = false;
  3104. let InstalledAppId_html = Unibase.Themes.Providers.DetailHelper.installedAppId;
  3105. var userInfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  3106. if (userInfo.settings) {
  3107. var index = userInfo.settings.findIndex(x => x.settingName == 'navigationid');
  3108. var navigationId = 0;
  3109. if (index != -1) {
  3110. navigationId = userInfo.settings.find(x => x.settingName == 'navigationid').settingValue;
  3111. }
  3112. }
  3113. if (InstalledAppId_html != null) {
  3114. if ($('#' + VisibleContainerId).find('.mainform_container').length != 0 || $('._bizgaze_popup_container').length != 0) {
  3115. isPopup = true;
  3116. Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp();
  3117. if (length == Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length) {
  3118. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.pop();
  3119. }
  3120. }
  3121. if (InstalledAppId_html != 0) {
  3122. if ($('._bizgaze_detail_container').length > 1) {
  3123. isDetailContainer = true;
  3124. $('#' + VisibleContainerId).find('.detail-close').click();
  3125. }
  3126. }
  3127. if ((length == 1) || ($('._bizgaze_detail_container').length == 1) && isDetailContainer == false) {
  3128. if (navigationId != 0) {
  3129. if (!$('[data-navigation="Back2Path"] li:first')[0].classList.value.includes('active-item')) {
  3130. $('#nav-button-dashboard').click();
  3131. if ($('[data-navigation="Back2Path"] li.nav-NavGroup:first').index() == 0) {
  3132. $('[data-navigation="Back2Path"] li.nav-NavGroup a').click();
  3133. $('[data-navigation="Back2Path"] li.nav-NavGroup:first').find('.nav-parent-item:first a').click();
  3134. }
  3135. else {
  3136. $('[data-navigation="Back2Path"] li:first a').click();
  3137. }
  3138. }
  3139. else {
  3140. if (isMobileApp()) {
  3141. Unibase.Platform.Helpers.MobileHelper.Instance().exitMobileApp();
  3142. }
  3143. else {
  3144. yield instance.logOffBootbox();
  3145. }
  3146. }
  3147. }
  3148. if (navigationId == 0) {
  3149. if (isPopup == false) {
  3150. if (!$('[data-navigation="Back2Path"]').children('.li-dashboard-item:first')[0].classList.value.includes('active-item') || ($("[data-buttonType='nav-button-apps']")[0].classList.value.includes('sunbnav-active') && $('.liappgrp-item.nav-app-link').filter('.active-item') && InstalledAppId_html == 0)) {
  3151. if (($("[data-buttonType='nav-button-apps']")[0].classList.value.includes('sunbnav-active') || ($("[data-buttonType='nav-button-apps']").children('a').attr('aria-expanded') == 'true')) || ($('.liappgrp-item.nav-app-link').filter('.active-item') && InstalledAppId_html == 0)) {
  3152. if ($('[data-navigation="Back2Path"] .li-dashboard-item:first').filter('.active-item').length == 0) {
  3153. instance.dshBoardBack();
  3154. }
  3155. else {
  3156. if (isMobileApp()) {
  3157. Unibase.Platform.Helpers.MobileHelper.Instance().exitMobileApp();
  3158. }
  3159. else {
  3160. yield instance.logOffBootbox();
  3161. }
  3162. }
  3163. }
  3164. else {
  3165. if (!$("[data-buttonType='nav-button-apps']")[0].classList.value.includes('sunbnav-active') && $('#' + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[0] + ':visible').length >= 1) {
  3166. $('[data-navigation="Back2Path"] li:first a').click();
  3167. Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.pop();
  3168. }
  3169. else {
  3170. if (isMobileApp()) {
  3171. Unibase.Platform.Helpers.MobileHelper.Instance().exitMobileApp();
  3172. }
  3173. else {
  3174. yield instance.logOffBootbox();
  3175. }
  3176. }
  3177. }
  3178. }
  3179. else {
  3180. if ($('[data-navigation="Back2Path"]').children('.li-dashboard-item:first')[0].classList.value.includes('active-item') && InstalledAppId_html == 0) {
  3181. instance.dshBoardBack();
  3182. }
  3183. else {
  3184. if (isMobileApp()) {
  3185. Unibase.Platform.Helpers.MobileHelper.Instance().exitMobileApp();
  3186. }
  3187. else {
  3188. yield instance.logOffBootbox();
  3189. }
  3190. }
  3191. }
  3192. }
  3193. }
  3194. }
  3195. }
  3196. });
  3197. }
  3198. isJsFileLoaded(filename) {
  3199. if (_appsettings.isdevelopement()) {
  3200. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("platform/core/helpers/filecache/auditjsfile.js", function () {
  3201. Unibase.Platform.Helpers.AuditJsFile.Instance().init(filename);
  3202. });
  3203. }
  3204. }
  3205. dshBoardBack() {
  3206. let instance = this;
  3207. if (instance.isDshboardBckArray.length != 1 && instance.isDshboardBckArray.length != 0) {
  3208. instance.isDshboardBck = true;
  3209. instance.isDshboardBckArray.pop();
  3210. let len = instance.isDshboardBckArray.length - 1;
  3211. console.log(instance.isDshboardBckArray[len].isBack);
  3212. if (instance.isDshboardBckArray[len].isBack == "Dashboard") {
  3213. let data = instance.dashboards.filter(function (o) { return o.DashboardId == instance.isDshboardBckArray[len].DashbaordId; });
  3214. instance.loadDashboardsInDashboard(data[0].DashboardGroupId, instance.isDshboardBckArray[len].DashbaordId, true);
  3215. }
  3216. else if (instance.isDshboardBckArray[len].isBack == "App") {
  3217. Unibase.Themes.Compact.Components.Nav.Instance().loadList(instance.isDshboardBckArray[len].InstalledAppId);
  3218. }
  3219. else if (instance.isDshboardBckArray[len].isBack == "Report") {
  3220. Unibase.Themes.Compact.Components.Nav.Instance().loadReport(instance.isDshboardBckArray[len].ReportId);
  3221. }
  3222. }
  3223. else {
  3224. if (isMobileApp()) {
  3225. Unibase.Platform.Helpers.MobileHelper.Instance().exitMobileApp();
  3226. }
  3227. else {
  3228. instance.logOffBootbox();
  3229. }
  3230. }
  3231. }
  3232. }
  3233. Components.Nav = Nav;
  3234. })(Components = Compact.Components || (Compact.Components = {}));
  3235. })(Compact = Themes.Compact || (Themes.Compact = {}));
  3236. })(Themes = Unibase.Themes || (Unibase.Themes = {}));
  3237. })(Unibase || (Unibase = {}));