Dashboard sipadu mbip
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

pcoded.min.js 52KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105
  1. $.fn.pcodedmenu = function(settings) {
  2. var oid = this.attr("id");
  3. // Pcoded Menu default settings:
  4. var defaults = {
  5. // Common option both for vertical nad horizontal
  6. themelayout: 'horizontal', // value should be horizontal/vertical
  7. MenuTrigger: 'click', // value should be hover/click
  8. SubMenuTrigger: 'click', // value should be hover/click
  9. activeMenuClass: 'active',
  10. ThemeBackgroundPattern: 'pattern6', // Value should be
  11. HeaderBackground: 'theme4', // Value should be theme1/theme2/theme3/theme4/theme5/theme6/theme7/theme8/theme9
  12. LHeaderBackground: 'theme4', // Value should be theme1/theme2/theme3/theme4/theme5/theme6/theme7/theme8/theme9
  13. NavbarBackground: 'theme4', // Value should be theme1/theme2/theme3/theme4/theme5/theme6/theme7/theme8/theme9
  14. ActiveItemBackground: 'theme0', // Value should be theme1/theme2/theme3/theme4/theme5/theme6/theme7/theme8/theme9
  15. SubItemBackground: 'theme4', // Value should be theme1/theme2/theme3/theme4/theme5/theme6/theme7/theme8/theme9
  16. ActiveItemStyle: 'style0',
  17. ItemBorder: true,
  18. freamtype: 'theme9',
  19. ItemBorderStyle: 'solid', // value should be solid/dotted/dashed
  20. SubItemBorder: true,
  21. DropDownIconStyle: 'style1', // value should be style1,style2,style3
  22. FixedNavbarPosition: false,
  23. FixedHeaderPosition: false,
  24. // Horizontal Navigation option
  25. horizontalMenuplacement: 'top', // value should be top/bottom
  26. horizontalMenulayout: 'widebox', //value should be wide/box/widebox
  27. horizontalBrandItem: true,
  28. horizontalLeftNavItem: true,
  29. horizontalRightItem: false,
  30. horizontalSearchItem: false,
  31. horizontalBrandItemAlign: 'left',
  32. horizontalLeftNavItemAlign: 'right',
  33. horizontalRightItemAlign: 'right',
  34. horizontalsearchItemAlign: 'right',
  35. horizontalstickynavigation: false,
  36. horizontalNavigationView: 'view1',
  37. horizontalNavIsCentered: false,
  38. horizontalNavigationMenuIcon: true,
  39. layouttype: 'light',
  40. // Vertical Navigation option
  41. verticalMenuplacement: 'left', // value should be left/right
  42. verticalMenulayout: 'wide', // value should be wide/box/widebox
  43. collapseVerticalLeftHeader: true,
  44. VerticalSubMenuItemIconStyle: 'style6', // value should be style1,style2,style3
  45. VerticalNavigationView: 'view1',
  46. verticalMenueffect: {
  47. desktop: "shrink",
  48. tablet: "push",
  49. phone: "overlay",
  50. },
  51. defaultVerticalMenu: {
  52. desktop: "expanded", // value should be offcanvas/collapsed/expanded/compact/compact-acc/fullpage/ex-popover/sub-expanded
  53. tablet: "collapsed", // value should be offcanvas/collapsed/expanded/compact
  54. phone: "offcanvas", // value should be offcanvas/collapsed/expanded/compact
  55. },
  56. onToggleVerticalMenu: {
  57. desktop: "collapsed", // value should be offcanvas/collapsed/expanded/compact
  58. tablet: "expanded", // value should be offcanvas/collapsed/expanded/compact
  59. phone: "expanded", // value should be offcanvas/collapsed/expanded/compact
  60. },
  61. };
  62. var settings = $.extend({}, defaults, settings);
  63. var PcodedMenu = {
  64. PcodedMenuInit: function() {
  65. PcodedMenu.Handlethemelayout();
  66. PcodedMenu.HandleverticalMenuplacement();
  67. PcodedMenu.HandlehorizontalMenuplacement();
  68. PcodedMenu.HandleMenulayout();
  69. PcodedMenu.HandleDeviceType();
  70. PcodedMenu.Handlecomponetheight();
  71. PcodedMenu.HandleMenuOnClick();
  72. PcodedMenu.HandleMenuTrigger();
  73. PcodedMenu.HandleSubMenuTrigger();
  74. PcodedMenu.HandleActiveItem();
  75. PcodedMenu.HandleOffcanvasMenu();
  76. PcodedMenu.HandleVerticalLeftHeader();
  77. PcodedMenu.HandleThemeBackground();
  78. PcodedMenu.HandleActiveItemStyle();
  79. PcodedMenu.HandleItemBorder();
  80. PcodedMenu.HandleBorderStyle();
  81. PcodedMenu.HandleSubItemBorder();
  82. PcodedMenu.HandleDropDownIconStyle();
  83. PcodedMenu.HandleOptionSelectorPanel();
  84. PcodedMenu.HandleNavbarPosition();
  85. PcodedMenu.HandleVerticalSubMenuItemIconStyle();
  86. PcodedMenu.HandleVerticalNavigationView();
  87. PcodedMenu.HandleHorizontalItemIsCentered();
  88. PcodedMenu.HandleHorizontalItemAlignment();
  89. PcodedMenu.HandleSubMenuOffset();
  90. PcodedMenu.HandleHorizontalStickyNavigation();
  91. PcodedMenu.HandleDocumentClickEvent();
  92. PcodedMenu.HandleVerticalScrollbar();
  93. PcodedMenu.HandleHorizontalMobileMenuToggle();
  94. PcodedMenu.horizontalNavigationMenuIcon();
  95. PcodedMenu.verticalNavigationSearchBar();
  96. PcodedMenu.safariBrowsercompatibility();
  97. PcodedMenu.Handlemenutype();
  98. PcodedMenu.Handlelayoutvartype();
  99. },
  100. safariBrowsercompatibility: function() {
  101. is_chrome = navigator.userAgent.indexOf('Chrome') > -1;
  102. is_explorer = navigator.userAgent.indexOf('MSIE') > -1;
  103. is_firefox = navigator.userAgent.indexOf('Firefox') > -1;
  104. is_safari = navigator.userAgent.indexOf("Safari") > -1;
  105. is_opera = navigator.userAgent.indexOf("Presto") > -1;
  106. is_mac = (navigator.userAgent.indexOf('Mac OS') != -1);
  107. is_windows = !is_mac;
  108. if (is_chrome && is_safari) {
  109. is_safari = false;
  110. }
  111. if (is_safari || is_windows) {}
  112. },
  113. verticalNavigationSearchBar: function() {
  114. if (settings.themelayout === "vertical") {
  115. $('.searchbar-toggle').on('click', function() {
  116. $(this).parent('.pcoded-search').toggleClass('open');
  117. });
  118. }
  119. },
  120. horizontalNavigationMenuIcon: function() {
  121. if (settings.themelayout === "horizontal") {
  122. switch (settings.horizontalNavigationMenuIcon) {
  123. case false:
  124. $('#' + oid + '.pcoded .pcoded-navbar .pcoded-item > li > a .pcoded-micon').hide();
  125. $('#' + oid + '.pcoded .pcoded-navbar .pcoded-item.pcoded-search-item > li > a .pcoded-micon').show();
  126. break;
  127. default:
  128. }
  129. }
  130. },
  131. HandleHorizontalMobileMenuToggle: function() {
  132. if (settings.themelayout === "horizontal") {
  133. $('#mobile-collapse').on('click', function() {
  134. $('.pcoded-navbar').toggleClass('show-menu')
  135. });
  136. }
  137. },
  138. HandleVerticalScrollbar: function() {
  139. if (settings.themelayout === "vertical") {
  140. satnt = settings.defaultVerticalMenu.desktop;
  141. if (satnt === "expanded" || satnt === "compact") {
  142. mt = settings.MenuTrigger;
  143. if (mt === "click") {
  144. $(window).on("load", function() {
  145. $(".sidebar_toggle a").click(function(e) {
  146. e.preventDefault();
  147. var $this = $(this);
  148. rel = $this.attr("rel");
  149. el = $(".pcoded-navbar");
  150. // if (el.hasClass("mCS_destroyed")) {
  151. // el.mCustomScrollbar({
  152. // axis:"y",
  153. // setHeight:"calc(100% - 80px)",
  154. // autoHideScrollbar: false,
  155. // scrollInertia: 100,
  156. // theme:"minimal",
  157. // });
  158. // } else {
  159. // el.mCustomScrollbar("destroy");
  160. // }
  161. });
  162. });
  163. }
  164. // $(".main-menu").mCustomScrollbar({
  165. // axis:"y",
  166. // setHeight:"calc(100% - 80px)",
  167. // autoHideScrollbar: false,
  168. // scrollInertia: 100,
  169. // theme:"minimal",
  170. // });
  171. }
  172. }
  173. },
  174. HandleDocumentClickEvent: function() {
  175. function closeSubMenu() {
  176. $(document).on('click', function(evt) {
  177. var target = $(evt.target);
  178. var sdt = $('#' + oid).attr('pcoded-device-type');
  179. var vnt = $('#' + oid).attr('vertical-nav-type');
  180. var el = $('#' + oid + ' .pcoded-item li');
  181. if (!target.parents('.pcoded-item').length) {
  182. if (sdt != "phone") {
  183. if (vnt != "expanded") {
  184. el.removeClass('pcoded-trigger');
  185. }
  186. }
  187. }
  188. });
  189. };
  190. function closeLeftbarSearch() {
  191. $(document).on('click', function(evt) {
  192. var target = $(evt.target);
  193. var el = $('#' + oid + ' .pcoded-search');
  194. if (!target.parents('.pcoded-search').length) {
  195. el.removeClass('open');
  196. }
  197. });
  198. };
  199. closeSubMenu();
  200. closeLeftbarSearch();
  201. },
  202. HandleHorizontalStickyNavigation: function() {
  203. switch (settings.horizontalstickynavigation) {
  204. case true:
  205. $(window).on('scroll', function() {
  206. var scrolltop = $(this).scrollTop();
  207. if (scrolltop >= 100) {
  208. $('.pcoded-navbar').addClass('stickybar');
  209. $('stickybar').fadeIn(3000);
  210. } else if (scrolltop <= 100) {
  211. $('.pcoded-navbar').removeClass('stickybar')
  212. $('.stickybar').fadeOut(3000);
  213. }
  214. });
  215. break;
  216. case false:
  217. $('.pcoded-navbar').removeClass('stickybar')
  218. break;
  219. default:
  220. }
  221. },
  222. HandleSubMenuOffset: function() {
  223. switch (settings.themelayout) {
  224. case 'horizontal':
  225. var trigger = settings.SubMenuTrigger;
  226. if (trigger === "hover") {
  227. $("li.pcoded-hasmenu").on('mouseenter mouseleave', function(e) {
  228. if ($('.pcoded-submenu', this).length) {
  229. var elm = $('.pcoded-submenu:first', this);
  230. var off = elm.offset();
  231. var l = off.left;
  232. var w = elm.width();
  233. var docH = $(window).height();
  234. var docW = $(window).width();
  235. var isEntirelyVisible = (l + w <= docW);
  236. if (!isEntirelyVisible) {
  237. $(this).addClass('edge');
  238. } else {
  239. $(this).removeClass('edge');
  240. }
  241. }
  242. });
  243. } else {
  244. $("li.pcoded-hasmenu").on('click', function(e) {
  245. e.preventDefault();
  246. if ($('.pcoded-submenu', this).length) {
  247. var elm = $('.pcoded-submenu:first', this);
  248. var off = elm.offset();
  249. var l = off.left;
  250. var w = elm.width();
  251. var docH = $(window).height();
  252. var docW = $(window).width();
  253. var isEntirelyVisible = (l + w <= docW);
  254. if (!isEntirelyVisible) {
  255. $(this).toggleClass('edge');
  256. }
  257. }
  258. });
  259. }
  260. break;
  261. default:
  262. }
  263. },
  264. HandleHorizontalItemIsCentered: function() {
  265. if (settings.themelayout === "horizontal") {
  266. switch (settings.horizontalNavIsCentered) {
  267. case true:
  268. $('#' + oid + ' .pcoded-navbar').addClass("isCentered");
  269. break;
  270. case false:
  271. $('#' + oid + ' .pcoded-navbar').removeClass("isCentered");
  272. break;
  273. default:
  274. }
  275. }
  276. },
  277. HandleHorizontalItemAlignment: function() {
  278. var layout = settings.themelayout;
  279. if (layout === "horizontal") {
  280. function branditemalignment() {
  281. var elm = $('#' + oid + '.pcoded .pcoded-navbar .pcoded-brand');
  282. if (settings.horizontalBrandItem === true) {
  283. switch (settings.horizontalBrandItemAlign) {
  284. case 'left':
  285. elm.removeClass('pcoded-right-align');
  286. elm.addClass('pcoded-left-align');
  287. break;
  288. case 'right':
  289. elm.removeClass('pcoded-left-align');
  290. elm.addClass('pcoded-right-align');
  291. break;
  292. default:
  293. }
  294. } else {
  295. elm.hide();
  296. }
  297. };
  298. function leftitemalignment() {
  299. var elm = $('#' + oid + '.pcoded .pcoded-navbar .pcoded-item.pcoded-left-item');
  300. if (settings.horizontalLeftNavItem === true) {
  301. switch (settings.horizontalLeftNavItemAlign) {
  302. case 'left':
  303. elm.removeClass('pcoded-right-align');
  304. elm.addClass('pcoded-left-align');
  305. break;
  306. case 'right':
  307. elm.removeClass('pcoded-left-align');
  308. elm.addClass('pcoded-right-align');
  309. break;
  310. default:
  311. }
  312. } else {
  313. elm.hide();
  314. }
  315. };
  316. function rightitemalignment() {
  317. var elm = $('#' + oid + '.pcoded .pcoded-navbar .pcoded-item.pcoded-right-item');
  318. if (settings.horizontalRightItem === true) {
  319. switch (settings.horizontalRightItemAlign) {
  320. case 'left':
  321. elm.removeClass('pcoded-right-align');
  322. elm.addClass('pcoded-left-align');
  323. break;
  324. case 'right':
  325. elm.removeClass('pcoded-left-align');
  326. elm.addClass('pcoded-right-align');
  327. break;
  328. default:
  329. }
  330. } else {
  331. elm.hide();
  332. }
  333. };
  334. function searchitemalignment() {
  335. var elm = $('#' + oid + '.pcoded .pcoded-navbar .pcoded-search-item');
  336. if (settings.horizontalSearchItem === true) {
  337. switch (settings.horizontalsearchItemAlign) {
  338. case 'left':
  339. elm.removeClass('pcoded-right-align');
  340. elm.addClass('pcoded-left-align');
  341. break;
  342. case 'right':
  343. elm.removeClass('pcoded-left-align');
  344. elm.addClass('pcoded-right-align');
  345. break;
  346. default:
  347. }
  348. } else {
  349. elm.hide();
  350. }
  351. };
  352. if (settings.horizontalNavIsCentered === false) {
  353. branditemalignment();
  354. leftitemalignment();
  355. rightitemalignment();
  356. searchitemalignment();
  357. }
  358. }
  359. },
  360. HandleVerticalNavigationView: function() {
  361. switch (settings.themelayout) {
  362. case 'vertical':
  363. var ev = settings.VerticalNavigationView;
  364. $('#' + oid + '.pcoded').attr("vnavigation-view", ev);
  365. break;
  366. case 'horizontal':
  367. var ev = settings.horizontalNavigationView;
  368. $('#' + oid + '.pcoded').attr("hnavigation-view", ev);
  369. break;
  370. default:
  371. }
  372. },
  373. HandleVerticalSubMenuItemIconStyle: function() {
  374. switch (settings.themelayout) {
  375. case 'vertical':
  376. var ev = settings.VerticalSubMenuItemIconStyle;
  377. $('#' + oid + ' .pcoded-navbar .pcoded-hasmenu').attr("subitem-icon", ev);
  378. break;
  379. case 'horizontal':
  380. $('#' + oid + ' .pcoded-navbar .pcoded-hasmenu').attr("subitem-icon", ev);
  381. break;
  382. default:
  383. }
  384. },
  385. HandleNavbarPosition: function() {
  386. var navposition = settings.FixedNavbarPosition;
  387. var headerposition = settings.FixedHeaderPosition;
  388. var rheaderposition = settings.FixedRightHeaderPosition;
  389. switch (settings.themelayout) {
  390. case 'vertical':
  391. if (navposition == true) {
  392. $('#' + oid + ' .pcoded-navbar').attr("pcoded-navbar-position", 'fixed');
  393. $('#' + oid + ' .pcoded-header .pcoded-left-header').attr("pcoded-lheader-position", 'fixed');
  394. } else {
  395. $('#' + oid + ' .pcoded-navbar').attr("pcoded-navbar-position", 'absolute');
  396. $('#' + oid + ' .pcoded-header .pcoded-left-header').attr("pcoded-lheader-position", 'absolute');
  397. }
  398. if (headerposition == true) {
  399. $('#' + oid + ' .pcoded-header').attr("pcoded-header-position", 'fixed');
  400. $('#' + oid + ' .pcoded-main-container').css('margin-top', $(".pcoded-header").outerHeight());
  401. } else {
  402. $('#' + oid + ' .pcoded-header').attr("pcoded-header-position", 'relative');
  403. $('#' + oid + ' .pcoded-main-container').css('margin-top', '0px');
  404. }
  405. break;
  406. case 'horizontal':
  407. if (navposition == true) {
  408. $('#' + oid + ' .pcoded-navbar').attr("pcoded-navbar-position", 'fixed');
  409. $('#' + oid + ' .pcoded-header .pcoded-left-header').attr("pcoded-lheader-position", 'fixed');
  410. } else {
  411. $('#' + oid + ' .pcoded-navbar').attr("pcoded-navbar-position", 'absolute');
  412. $('#' + oid + ' .pcoded-header .pcoded-left-header').attr("pcoded-lheader-position", 'absolute');
  413. }
  414. if (headerposition == true) {
  415. $('#' + oid + ' .pcoded-header').attr("pcoded-header-position", 'fixed');
  416. $('#' + oid + ' .pcoded-main-container').css('margin-top', $(".pcoded-header").outerHeight());
  417. } else {
  418. $('#' + oid + ' .pcoded-header').attr("pcoded-header-position", 'relative');
  419. $('#' + oid + ' .pcoded-main-container').css('margin-top', '0px');
  420. }
  421. break;
  422. default:
  423. }
  424. },
  425. HandleOptionSelectorPanel: function() {
  426. $('.selector-toggle > a').on("click", function() {
  427. //debugger;
  428. $('#styleSelector').toggleClass('open')
  429. });
  430. },
  431. HandleDropDownIconStyle: function() {
  432. var ev = settings.DropDownIconStyle;
  433. switch (settings.themelayout) {
  434. case 'vertical':
  435. $('#' + oid + ' .pcoded-navbar .pcoded-hasmenu').attr("dropdown-icon", ev);
  436. break;
  437. case 'horizontal':
  438. $('#' + oid + ' .pcoded-navbar .pcoded-hasmenu').attr("dropdown-icon", ev);
  439. break;
  440. default:
  441. }
  442. },
  443. HandleSubItemBorder: function() {
  444. switch (settings.SubItemBorder) {
  445. case true:
  446. $('#' + oid + ' .pcoded-navbar .pcoded-item').attr("subitem-border", "true");
  447. break;
  448. case false:
  449. $('#' + oid + ' .pcoded-navbar .pcoded-item').attr("subitem-border", "false");
  450. break;
  451. default:
  452. }
  453. },
  454. HandleBorderStyle: function() {
  455. var ev = settings.ItemBorderStyle;
  456. switch (settings.ItemBorder) {
  457. case true:
  458. $('#' + oid + ' .pcoded-navbar .pcoded-item').attr("item-border-style", ev);
  459. break;
  460. case false:
  461. $('#' + oid + ' .pcoded-navbar .pcoded-item').attr("item-border-style", "");
  462. break;
  463. default:
  464. }
  465. },
  466. HandleItemBorder: function() {
  467. switch (settings.ItemBorder) {
  468. case true:
  469. $('#' + oid + ' .pcoded-navbar .pcoded-item').attr("item-border", "true");
  470. break;
  471. case false:
  472. $('#' + oid + ' .pcoded-navbar .pcoded-item').attr("item-border", "false");
  473. break;
  474. default:
  475. }
  476. },
  477. HandleActiveItemStyle: function() {
  478. var ev = settings.ActiveItemStyle;
  479. if (ev != undefined && ev != "") {
  480. $('#' + oid + ' .pcoded-navbar').attr("active-item-style", ev);
  481. } else {
  482. $('#' + oid + ' .pcoded-navbar').attr("active-item-style", "style0");
  483. }
  484. },
  485. Handlemenutype: function() {
  486. var ev = settings.menutype;
  487. var ef = settings.freamtype;
  488. var nimg = settings.NavbarImage;
  489. var img = settings.ActiveNavbarImage;
  490. if (ev != undefined && ev != "") {
  491. $('#' + oid).attr("nav-type", ev);
  492. } else {
  493. $('#' + oid).attr("nav-type", "st1");
  494. }
  495. if (ef != undefined && ef != "") {
  496. $('#' + oid).attr("fream-type", ef);
  497. } else {
  498. $('#' + oid).attr("fream-type", "theme1");
  499. }
  500. if (nimg != undefined && nimg != "") {
  501. $('#' + oid).attr("sidebar-img", nimg);
  502. } else {
  503. $('#' + oid).attr("sidebar-img", "false");
  504. }
  505. if (img != undefined && img != "") {
  506. $('#' + oid).attr("sidebar-img-type", img);
  507. } else {
  508. $('#' + oid).attr("sidebar-img-type", "img1");
  509. }
  510. },
  511. Handlelayoutvartype: function() {
  512. var ev = settings.layouttype;
  513. if (ev != undefined && ev != "") {
  514. $('#' + oid).attr("layout-type", ev);
  515. } else {
  516. $('#' + oid).attr("layout-type", "light");
  517. }
  518. },
  519. HandleThemeBackground: function() {
  520. function themebackgroundpattern() {
  521. var ev = settings.ThemeBackgroundPattern;
  522. if (ev != undefined && ev != "") {
  523. $('body').attr("themebg-pattern", ev);
  524. } else {
  525. $('body').attr("themebg-pattern", "theme1");
  526. }
  527. };
  528. function setheadertheme() {
  529. var ev = settings.HeaderBackground;
  530. if (ev != undefined && ev != "") {
  531. $('#' + oid + ' .pcoded-header').attr("header-theme", ev);
  532. } else {
  533. $('#' + oid + ' .pcoded-header').attr("header-theme", "theme1");
  534. }
  535. };
  536. function setlheadertheme() {
  537. var ev = settings.LHeaderBackground;
  538. if (ev != undefined && ev != "") {
  539. // $('#' + oid + ' .pcoded-header .navbar-logo').attr("logo-theme", ev);
  540. $('#' + oid + ' .pcoded-navigation-label').attr("menu-title-theme", ev);
  541. } else {
  542. // $('#' + oid + ' .pcoded-header .navbar-logo').attr("logo-theme", "theme4");
  543. $('#' + oid + ' .pcoded-navigation-label').attr("menu-title-theme", "theme4");
  544. }
  545. };
  546. function setnavbartheme() {
  547. var ev = settings.NavbarBackground;
  548. if (ev != undefined && ev != "") {
  549. $('#' + oid + ' .pcoded-navbar').attr("navbar-theme", ev);
  550. } else {
  551. $('#' + oid + ' .pcoded-navbar').attr("navbar-theme", "theme1");
  552. }
  553. };
  554. function setactiveitemtheme() {
  555. var ev = settings.ActiveItemBackground;
  556. if (ev != undefined && ev != "") {
  557. $('#' + oid + ' .pcoded-navbar').attr("active-item-theme", ev);
  558. } else {
  559. $('#' + oid + ' .pcoded-navbar').attr("active-item-theme", "theme1");
  560. }
  561. };
  562. function setsubitemtheme() {
  563. var ev = settings.SubItemBackground;
  564. if (ev != undefined && ev != "") {
  565. $('#' + oid + ' .pcoded-navbar').attr("sub-item-theme", ev);
  566. } else {
  567. $('#' + oid + ' .pcoded-navbar').attr("sub-item-theme", "theme1");
  568. }
  569. };
  570. themebackgroundpattern();
  571. setheadertheme();
  572. setlheadertheme();
  573. setnavbartheme();
  574. setactiveitemtheme();
  575. setsubitemtheme();
  576. },
  577. HandleVerticalLeftHeader: function() {
  578. if (settings.themelayout === "vertical") {
  579. switch (settings.collapseVerticalLeftHeader) {
  580. case true:
  581. $('#' + oid + ' .pcoded-header').addClass('iscollapsed');
  582. $('#' + oid + ' .pcoded-header').removeClass('nocollapsed');
  583. $('#' + oid + '.pcoded').addClass('iscollapsed');
  584. $('#' + oid + '.pcoded').removeClass('nocollapsed');
  585. /* $('#'+oid + ' .pcoded-header.nocollapsed .pcoded-left-header').css('width', ''); */
  586. break;
  587. case false:
  588. $('#' + oid + ' .pcoded-header').removeClass('iscollapsed');
  589. $('#' + oid + ' .pcoded-header').addClass('nocollapsed');
  590. $('#' + oid + '.pcoded').removeClass('iscollapsed');
  591. $('#' + oid + '.pcoded').addClass('nocollapsed');
  592. /* $('#'+oid + ' .pcoded-header.nocollapsed .pcoded-left-header').css('width', $(".pcoded-navbar").width()); */
  593. break;
  594. default:
  595. }
  596. } else {
  597. return false;
  598. }
  599. },
  600. HandleOffcanvasMenu: function() {
  601. if (settings.themelayout === "vertical") {
  602. var vnt = $('#' + oid).attr("vertical-nav-type");
  603. if (vnt == "offcanvas") {
  604. $('#' + oid).attr("vertical-layout", "wide");
  605. }
  606. }
  607. },
  608. HandleActiveItem: function() {
  609. /*switch(settings.activeMenuClass){
  610. case "active":
  611. $('li:not("li.pcoded-hasmenu")').on( 'click', function () {
  612. var str = $(this).closest('.pcoded-submenu').length;
  613. if (str === 0){
  614. $(this).closest('.pcoded-inner-navbar').find('li.active').removeClass('active');
  615. $(this).addClass('active');
  616. }else{
  617. if($(this).hasClass('active')){
  618. $(this).removeClass('active');
  619. }else{
  620. $(this).closest('.pcoded-inner-navbar').find('li.active').removeClass('active');
  621. $(this).parents('.pcoded-hasmenu').addClass('active');
  622. $(this).addClass('active');
  623. }
  624. }
  625. });
  626. break;
  627. case false:
  628. $('.pcoded-header').removeClass(settings.navbbgclass);
  629. break;
  630. default:
  631. }*/
  632. },
  633. HandleSubMenuTrigger: function() {
  634. switch (settings.SubMenuTrigger) {
  635. case 'hover':
  636. $('#' + oid + ' .pcoded-navbar .pcoded-hasmenu').addClass('is-hover');
  637. // Initialize
  638. var $window = $(window);
  639. var $dropdown = $('.pcoded-submenu > li');
  640. var currentSize = $window.width();
  641. var currentEvent = '';
  642. // Attach current event on load
  643. (currentSize >= 767) ? bindTwo('hover'): bindTwo('click');
  644. // Atach window resize event
  645. $window.resize(function() {
  646. // get windows new size
  647. var newSize = $window.width();
  648. // Exit if size is same
  649. if (currentSize == newSize) {
  650. return;
  651. }
  652. // Check if size changed, if its greater/smaller and which current event is attached so we dont attach multiple events
  653. if (newSize >= 767 && currentEvent != 'hover') {
  654. bindTwo('hover');
  655. } else if (newSize < 767 && currentEvent != 'click') {
  656. bindTwo('click');
  657. }
  658. // Update new size
  659. currentSize = newSize;
  660. });
  661. function bindTwo(eventType) {
  662. if (eventType == 'hover') {
  663. // Update currentEvent
  664. currentEvent = eventType;
  665. // Make sure all previous events are removed and attach hover
  666. $dropdown.off('click').off('mouseenter mouseleave').hover(
  667. function() {
  668. $(this).addClass('pcoded-trigger');
  669. },
  670. function() {
  671. $(this).removeClass('pcoded-trigger');
  672. }
  673. );
  674. } else if (eventType == 'click') {
  675. // Update currentEvent
  676. currentEvent = eventType;
  677. // Make sure all previous events are removed and attach hover
  678. $dropdown.off('mouseenter mouseleave').off('click').on('click',
  679. function(e) {
  680. e.stopPropagation();
  681. var str = $(this).closest('.pcoded-submenu').length;
  682. if (str === 0) {
  683. if ($(this).hasClass('pcoded-trigger')) {
  684. $(this).removeClass('pcoded-trigger');
  685. } else {
  686. $(this).closest('.pcoded-inner-navbar').find('li.pcoded-trigger').removeClass('pcoded-trigger');
  687. $(this).addClass('pcoded-trigger');
  688. }
  689. } else {
  690. if ($(this).hasClass('pcoded-trigger')) {
  691. $(this).removeClass('pcoded-trigger');
  692. } else {
  693. $(this).closest('.pcoded-submenu').find('li.pcoded-trigger').removeClass('pcoded-trigger');
  694. $(this).addClass('pcoded-trigger');
  695. }
  696. }
  697. }
  698. );
  699. }
  700. }
  701. break;
  702. case 'click':
  703. $('#' + oid + ' .pcoded-navbar .pcoded-hasmenu').removeClass('is-hover');
  704. $(".pcoded-submenu > li").on('click', function(e) {
  705. e.stopPropagation();
  706. var str = $(this).closest('.pcoded-submenu').length;
  707. if (str === 0) {
  708. if ($(this).hasClass('pcoded-trigger')) {
  709. $(this).removeClass('pcoded-trigger');
  710. $(this).children('.pcoded-submenu').slideUp();
  711. } else {
  712. $('.pcoded-hasmenu li.pcoded-trigger').children('.pcoded-submenu').slideUp();
  713. $(this).closest('.pcoded-inner-navbar').find('li.pcoded-trigger').removeClass('pcoded-trigger');
  714. $(this).addClass('pcoded-trigger');
  715. $(this).children('.pcoded-submenu').slideDown();
  716. }
  717. } else {
  718. if ($(this).hasClass('pcoded-trigger')) {
  719. $(this).removeClass('pcoded-trigger');
  720. $(this).children('.pcoded-submenu').slideUp();
  721. } else {
  722. $('.pcoded-hasmenu li.pcoded-trigger').children('.pcoded-submenu').slideUp();
  723. $(this).closest('.pcoded-submenu').find('li.pcoded-trigger').removeClass('pcoded-trigger');
  724. $(this).addClass('pcoded-trigger');
  725. $(this).children('.pcoded-submenu').slideDown();
  726. }
  727. }
  728. });
  729. break;
  730. }
  731. },
  732. HandleMenuTrigger: function() {
  733. switch (settings.MenuTrigger) {
  734. case 'hover':
  735. $('#' + oid + ' .pcoded-navbar').addClass('is-hover');
  736. // Initialize
  737. var $window = $(window);
  738. var $dropdown = $(".pcoded-item > li");
  739. var currentSize = $window.width();
  740. var currentEvent = '';
  741. // Attach current event on load
  742. (currentSize >= 767) ? bindOne('hover'): bindOne('click');
  743. // Atach window resize event
  744. $window.resize(function() {
  745. // get windows new size
  746. var newSize = $window.width();
  747. // Exit if size is same
  748. if (currentSize == newSize) {
  749. return;
  750. }
  751. // Check if size changed, if its greater/smaller and which current event is attached so we dont attach multiple events
  752. if (newSize >= 767 && currentEvent != 'hover') {
  753. bindOne('hover');
  754. } else if (newSize < 767 && currentEvent != 'click') {
  755. bindOne('click');
  756. }
  757. // Update new size
  758. currentSize = newSize;
  759. });
  760. function bindOne(eventType) {
  761. if (eventType == 'hover') {
  762. // Update currentEvent
  763. currentEvent = eventType;
  764. // Make sure all previous events are removed and attach hover
  765. $dropdown.off('click').off('mouseenter mouseleave').hover(
  766. function() {
  767. $(this).addClass('pcoded-trigger');
  768. },
  769. function() {
  770. $(this).removeClass('pcoded-trigger');
  771. }
  772. );
  773. } else if (eventType == 'click') {
  774. // Update currentEvent
  775. currentEvent = eventType;
  776. // Make sure all previous events are removed and attach hover
  777. $dropdown.off('mouseenter mouseleave').off('click').on('click',
  778. function() {
  779. if ($(this).hasClass('pcoded-trigger')) {
  780. $(this).removeClass('pcoded-trigger');
  781. } else {
  782. $(this).closest('.pcoded-inner-navbar').find('li.pcoded-trigger').removeClass('pcoded-trigger');
  783. $(this).addClass('pcoded-trigger');
  784. }
  785. }
  786. );
  787. }
  788. }
  789. break;
  790. case 'click':
  791. $('#' + oid + ' .pcoded-navbar').removeClass('is-hover');
  792. $(".pcoded-item > li ").on('click', function() {
  793. if ($(this).hasClass('pcoded-trigger')) {
  794. $(this).removeClass('pcoded-trigger');
  795. $(this).children('.pcoded-submenu').slideUp();
  796. } else {
  797. $('li.pcoded-trigger').children('.pcoded-submenu').slideUp();
  798. $(this).closest('.pcoded-inner-navbar').find('li.pcoded-trigger').removeClass('pcoded-trigger');
  799. $(this).addClass('pcoded-trigger');
  800. $(this).children('.pcoded-submenu').slideDown();
  801. }
  802. });
  803. break;
  804. }
  805. },
  806. HandleMenuOnClick: function() {
  807. var totalwidth = $(window)[0].innerWidth;
  808. if (settings.themelayout === "vertical") {
  809. $('#mobile-collapse,.sidebar_toggle a, .pcoded-overlay-box,.menu-toggle a').on("click", function() {
  810. $(this).parent().find('.menu-icon').toggleClass("is-clicked");
  811. var dt = $('#' + oid).attr("pcoded-device-type");
  812. if (dt == "desktop") {
  813. var dmc = settings.onToggleVerticalMenu.desktop;
  814. var dm = settings.defaultVerticalMenu.desktop;
  815. var dn = $('#' + oid).attr("vertical-nav-type");
  816. if (dn == dm) {
  817. $('#' + oid).attr("vertical-nav-type", dmc);
  818. } else if (dn == dmc) {
  819. $('#' + oid).attr("vertical-nav-type", dm);
  820. } else {
  821. return false;
  822. }
  823. } else if (dt == "tablet") {
  824. var tmc = settings.onToggleVerticalMenu.tablet;
  825. var tm = settings.defaultVerticalMenu.tablet;
  826. var tn = $('#' + oid).attr("vertical-nav-type");
  827. if (tn == tm) {
  828. $('#' + oid).attr("vertical-nav-type", tmc);
  829. } else if (dn == dmc) {
  830. $('#' + oid).attr("vertical-nav-type", tm);
  831. }
  832. } else if (dt == "phone") {
  833. var pmc = settings.onToggleVerticalMenu.phone;
  834. var pm = settings.defaultVerticalMenu.phone;
  835. var pn = $('#' + oid).attr("vertical-nav-type");
  836. if (pn == pm) {
  837. $('#' + oid).attr("vertical-nav-type", pmc);
  838. } else if (dn == dmc) {
  839. $('#' + oid).attr("vertical-nav-type", pm);
  840. }
  841. }
  842. $('.pcoded').addClass("pcoded-toggle-animate");
  843. setTimeout(function() {
  844. $('.pcoded').removeClass("pcoded-toggle-animate");
  845. }, 250);
  846. });
  847. } else if (settings.themelayout === "horizontal") {
  848. if (totalwidth >= 768 && totalwidth <= 992) {
  849. $('#' + oid).attr("pcoded-device-type", "tablet");
  850. } else if (totalwidth < 768) {
  851. $('#' + oid).attr("pcoded-device-type", "phone");
  852. } else {
  853. $('#' + oid).attr("pcoded-device-type", "desktop");
  854. }
  855. }
  856. },
  857. Handlecomponetheight: function() {
  858. function setHeight() {
  859. var WH = $(window).height();
  860. var HH = $(".pcoded-header").innerHeight();
  861. var NH = $(".pcoded-navbar").innerHeight();
  862. var FH = $(".pcoded-footer").innerHeight();
  863. var contentHH = WH - HH;
  864. var contentVH = WH - HH;
  865. var lpanelH = WH - HH;
  866. // if (settings.themelayout === "horizontal" ) {
  867. // $(".pcoded-navbar").css('height', contentHH);
  868. // } else if (settings.themelayout === "vertical" ) {
  869. // if ( contentVH >= lpanelH ){
  870. // $(".pcoded-navbar").css('height', contentVH);
  871. // }else {
  872. // $(".pcoded-navbar").css('height', lpanelH);
  873. // }
  874. // } else {
  875. // return false;
  876. // }
  877. };
  878. setHeight();
  879. $(window).resize(function() {
  880. setHeight();
  881. });
  882. },
  883. HandleDeviceType: function() {
  884. function devicesize() {
  885. var totalwidth = $(window)[0].innerWidth;
  886. if (settings.themelayout === "vertical") {
  887. if (totalwidth >= 768 && totalwidth <= 992) {
  888. $('#' + oid).attr("pcoded-device-type", "tablet");
  889. var value = settings.defaultVerticalMenu.tablet;
  890. if (value != undefined && value != "") {
  891. $('#' + oid).attr("vertical-nav-type", value);
  892. } else {
  893. $('#' + oid).attr("vertical-nav-type", "collapsed");
  894. }
  895. var ev = settings.verticalMenueffect.tablet;
  896. if (ev != undefined && value != "") {
  897. $('#' + oid).attr("vertical-effect", ev);
  898. } else {
  899. $('#' + oid).attr("vertical-effect", "shrink");
  900. }
  901. } else if (totalwidth < 768) {
  902. $('#' + oid).attr("pcoded-device-type", "phone");
  903. var value = settings.defaultVerticalMenu.phone;
  904. if (value != undefined && value != "") {
  905. $('#' + oid).attr("vertical-nav-type", value);
  906. } else {
  907. $('#' + oid).attr("vertical-nav-type", "offcanvas");
  908. }
  909. var ev = settings.verticalMenueffect.phone;
  910. if (ev != undefined && value != "") {
  911. $('#' + oid).attr("vertical-effect", ev);
  912. } else {
  913. $('#' + oid).attr("vertical-effect", "push");
  914. }
  915. } else {
  916. $('#' + oid).attr("pcoded-device-type", "desktop");
  917. var value = settings.defaultVerticalMenu.desktop;
  918. if (value != undefined && value != "") {
  919. $('#' + oid).attr("vertical-nav-type", value);
  920. } else {
  921. $('#' + oid).attr("vertical-nav-type", "expanded");
  922. }
  923. var ev = settings.verticalMenueffect.desktop;
  924. if (ev != undefined && value != "") {
  925. $('#' + oid).attr("vertical-effect", ev);
  926. } else {
  927. $('#' + oid).attr("vertical-effect", "shrink");
  928. }
  929. }
  930. } else if (settings.themelayout === "horizontal") {
  931. if (totalwidth >= 768 && totalwidth <= 992) {
  932. $('#' + oid).attr("pcoded-device-type", "tablet");
  933. } else if (totalwidth < 768) {
  934. $('#' + oid).attr("pcoded-device-type", "phone");
  935. } else {
  936. $('#' + oid).attr("pcoded-device-type", "desktop");
  937. }
  938. }
  939. };
  940. devicesize();
  941. $(window).resize(function() {
  942. tw = $(window)[0].innerWidth;
  943. dt = $('#' + oid).attr('pcoded-device-type')
  944. if (dt == 'desktop' && tw < 992) {
  945. devicesize();
  946. } else if (dt == 'phone' && tw > 768) {
  947. devicesize();
  948. } else if (dt == 'tablet' && tw < 768) {
  949. devicesize();
  950. } else if (dt == 'tablet' && tw > 992) {
  951. devicesize();
  952. }
  953. });
  954. },
  955. HandleMenulayout: function() {
  956. if (settings.themelayout === "vertical") {
  957. switch (settings.verticalMenulayout) {
  958. case 'wide':
  959. $('#' + oid).attr("vertical-layout", "wide");
  960. break;
  961. case 'box':
  962. $('#' + oid).attr("vertical-layout", "box");
  963. break;
  964. case 'widebox':
  965. $('#' + oid).attr("vertical-layout", "widebox");
  966. break;
  967. default:
  968. }
  969. } else if (settings.themelayout === "horizontal") {
  970. switch (settings.horizontalMenulayout) {
  971. case 'wide':
  972. $('#' + oid).attr("horizontal-layout", "wide");
  973. break;
  974. case 'box':
  975. $('#' + oid).attr("horizontal-layout", "box");
  976. break;
  977. case 'widebox':
  978. $('#' + oid).attr("horizontal-layout", "widebox");
  979. break;
  980. default:
  981. }
  982. } else {
  983. return false;
  984. }
  985. },
  986. HandlehorizontalMenuplacement: function() {
  987. if (settings.themelayout === "horizontal") {
  988. switch (settings.horizontalMenuplacement) {
  989. case 'bottom':
  990. $('#' + oid).attr("horizontal-placement", "bottom");
  991. break;
  992. case 'top':
  993. $('#' + oid).attr("horizontal-placement", "top");
  994. break;
  995. default:
  996. }
  997. } else {
  998. $('#' + oid).removeAttr("horizontal-placement");
  999. }
  1000. },
  1001. HandleverticalMenuplacement: function() {
  1002. if (settings.themelayout === "vertical") {
  1003. switch (settings.verticalMenuplacement) {
  1004. case 'left':
  1005. $('#' + oid).attr("vertical-placement", "left");
  1006. break;
  1007. case 'right':
  1008. $('#' + oid).attr("vertical-placement", "right");
  1009. break;
  1010. default:
  1011. }
  1012. } else {
  1013. $('#' + oid).removeAttr("vertical-placement");
  1014. }
  1015. },
  1016. Handlethemelayout: function() {
  1017. switch (settings.themelayout) {
  1018. case 'horizontal':
  1019. $('#' + oid).attr("theme-layout", "horizontal");
  1020. break;
  1021. case 'vertical':
  1022. $('#' + oid).attr("theme-layout", "vertical");
  1023. break;
  1024. default:
  1025. }
  1026. },
  1027. };
  1028. PcodedMenu.PcodedMenuInit();
  1029. };
  1030. // menu [ vertical ]
  1031. $(window).scroll(function() {
  1032. if ($(this).scrollTop() > 56) {
  1033. $('.pcoded[theme-layout="vertical"] .pcoded-navbar[pcoded-navbar-position="fixed"][pcoded-header-position="relative"]').css('position', 'fixed');
  1034. $('.pcoded[theme-layout="vertical"] .pcoded-navbar[pcoded-navbar-position="fixed"][pcoded-header-position="relative"]').css('top', 0);
  1035. $('.pcoded[theme-layout="vertical"] .pcoded-navbar[pcoded-navbar-position="fixed"][pcoded-header-position="relative"]').css('height', '100%');
  1036. } else {
  1037. $('.pcoded[theme-layout="vertical"] .pcoded-navbar[pcoded-navbar-position="fixed"][pcoded-header-position="relative"]').css('position', 'absolute');
  1038. $('.pcoded[theme-layout="vertical"] .pcoded-navbar[pcoded-navbar-position="fixed"][pcoded-header-position="relative"]').css('top', 'auto');
  1039. }
  1040. });
  1041. // menu [ horizontal ]
  1042. $(window).scroll(function() {
  1043. if ($(this).scrollTop() > 56) {
  1044. $('.pcoded[theme-layout="horizontal"][pcoded-device-type="desktop"] .pcoded-navbar[pcoded-navbar-position="fixed"][pcoded-header-position="relative"]').css('position', 'fixed');
  1045. $('.pcoded[theme-layout="horizontal"][pcoded-device-type="desktop"] .pcoded-navbar[pcoded-navbar-position="fixed"][pcoded-header-position="relative"]').css('top', 0);
  1046. } else {
  1047. $('.pcoded[theme-layout="horizontal"][pcoded-device-type="desktop"] .pcoded-navbar[pcoded-navbar-position="fixed"][pcoded-header-position="relative"]').css('position', 'absolute');
  1048. $('.pcoded[theme-layout="horizontal"][pcoded-device-type="desktop"] .pcoded-navbar[pcoded-navbar-position="fixed"][pcoded-header-position="relative"]').css('top', 'auto');
  1049. }
  1050. });
  1051. // menu [ compact ]
  1052. $(window).on('load', function() {
  1053. $('.pcoded[vertical-nav-type="collapsed"] .pcoded-navbar').hover(function() {
  1054. $('.pcoded').attr("vertical-nav-type", "expanded");
  1055. }, function() {
  1056. $('.pcoded').attr("vertical-nav-type", "collapsed");
  1057. });
  1058. // $('pcoded-inner-navbar li.active').children('.pcoded-submenu').slideDown();
  1059. });