11/*! searchNavMenu.js v1.0 | ABAKUS PLUS d.o.o. | Andrej Grlica | [email protected] */ 22/* ==========================================================================
3- Version : 1.0
4- -------------------------------------------------------------------------------
5- Date : 05.08.2017
3+ Version : 1.1
64 -------------------------------------------------------------------------------
5+ Date Updated : 11.08.2017
6+ -----------------------------------------------------
77 Description
88 Script is used for Searching Navigation Menu in Oracle Application Express
99 -------------------------------------------------------------------------------
1010 Parametrs :
1111 item_id : item id from apex
12-
12+ menuOpen : (is menu on load open) true/false
13+ elm : object
14+ e: event
15+ ajaxIdentifier: name of ajax call function
16+ l_skey : character keypress focus on search
1317*/
1418
1519var SrchNavMenuClosed = false ;
1620
17-
18- function LoadSearchNavSubmenu ( item_id ) {
19- if ( ! $ ( "#t_Button_navControl" ) . hasClass ( "is-active" ) )
21+ function LoadSearchNavSubmenu ( item_id , menuOpen ) {
22+ if ( ! apex . theme42 . toggleWidgets . isExpanded ( "nav" ) )
2023 SrchNavMenuClosed = true ;
2124 openAllNavSubmenus ( ) ;
2225 $ ( 'li[id^="t_TreeNav"].is-collapsible' ) . find ( 'span.a-TreeView-toggle' ) . click ( ) ;
2326 //Because all list were open and last one closed we need to open current list
2427 setCurrentNav ( item_id ) ;
28+ if ( menuOpen )
29+ $ ( 'li[id^="t_TreeNav"]' ) . find ( "ul" ) . css ( "display" , "block" ) ;
2530}
2631
2732function openAllNavSubmenus ( elm ) {
@@ -45,8 +50,8 @@ function setCurrentNav(item_id) {
4550 $ ( this ) . find ( "div.a-TreeView-row" ) . removeClass ( "is-selected" ) ;
4651 } ) ;
4752 if ( SrchNavMenuClosed )
48- $ ( " #t_Button_navControl" ) . click ( ) ;
49- else
53+ $ ( ' #t_Button_navControl' ) . click ( ) ;
54+ else
5055 showHideSearchBar ( item_id ) ;
5156}
5257
@@ -56,27 +61,23 @@ function saveSesSateNav(ajaxIdentifier, newVal) {
5661 } , { dataType :"text" ,
5762 success : function ( pData ) {
5863 apex . debug . info ( "Saved session state." ) ;
59- console . log ( "Saved session state." + JSON . stringify ( pData ) ) ;
6064 } ,
6165 error : function ( pData ) {
6266 apex . debug . error ( "Save session state for Search Navigation failed :" + JSON . stringify ( pData ) ) ;
63- console . log ( "Save session state for Search Navigation failed :" + JSON . stringify ( pData ) ) ;
6467 }
6568 } ) ;
6669}
6770
6871
6972function showHideSearchBar ( item_id ) {
70- if ( $ ( "#t_Button_navControl" ) . hasClass ( "is-active ") ) {
73+ if ( apex . theme42 . toggleWidgets . isExpanded ( "nav ") ) {
7174 $ ( 'div[id="' + item_id + '"]' ) . show ( ) ;
72- $ ( 'input.srch_input' ) . trigger ( "keyup" ) ;
73- SrchNavMenuClosed = false ;
75+ $ ( 'input.srch_input' ) . trigger ( "keyup" , [ true ] ) ;
7476 }
7577 else {
76- $ ( 'input.srch_input' ) . trigger ( "keyup" ) ;
78+ $ ( 'input.srch_input' ) . trigger ( "keyup" , [ true ] ) ;
7779 $ ( 'div[id="' + item_id + '"]' ) . hide ( ) ;
7880 $ ( 'li[id^="t_TreeNav"].is-expandable' ) . find ( "ul" ) . css ( "display" , "none" ) ;
79- SrchNavMenuClosed = true ;
8081 }
8182}
8283
@@ -149,9 +150,11 @@ function keyDownSearchNav(e) {
149150 }
150151}
151152
152- function keyUpSearchNav ( elm , e , ajaxIdentifier , save_ss ) {
153+ //elm= input, e=event, ajaxIdentifier=name of ajaxProcedure, save_ss parameter on/off, paegeEvent=keyup of hide/show
154+ function keyUpSearchNav ( elm , e , ajaxIdentifier , save_ss , pageEvent ) {
153155 switch ( e . which ) {
154156 case 13 :
157+ case 17 :
155158 case 40 :
156159 case 38 :
157160 e . preventDefault ( ) ;
@@ -180,16 +183,16 @@ function keyUpSearchNav(elm, e, ajaxIdentifier, save_ss) {
180183 $ ( this ) . css ( "display" , "block" ) ;
181184 } ) ;
182185 }
183- if ( save_ss )
186+ if ( save_ss && ! pageEvent )
184187 saveSesSateNav ( ajaxIdentifier , elmVal ) ;
185188 hoverSearchNav ( ) ;
186189 }
187190}
188191
189192function shortCutSearchNav ( e , l_skey ) {
190193 if ( e . ctrlKey && e . keyCode === l_skey . charCodeAt ( 0 ) ) {
191- if ( SrchNavMenuClosed )
192- $ ( " #t_Button_navControl" ) . click ( ) ;
194+ if ( ! apex . theme42 . toggleWidgets . isExpanded ( "nav" ) )
195+ $ ( ' #t_Button_navControl' ) . click ( ) ;
193196 var tmp = $ ( "input.srch_input" ) . val ( ) ;
194197 $ ( "input.srch_input" ) . focus ( ) . val ( tmp ) ;
195198 e . preventDefault ( ) ;
0 commit comments