├── .gitattributes ├── LICENSE ├── README.md ├── apexplugin.json ├── docs ├── Preview.gif ├── Preview2.gif ├── hide_region.png ├── menu.png ├── searchNavMenu.css └── searchNavMenu.js └── plug-in └── item_type_plugin_si_abakus_searchnavigationmenu.sql /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Andrej Grlica 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SearchNavigationMenu (SNM) 2 | 3 | ## Demo 4 | A demo application is available on apex.oracle.com
5 | https://apex.oracle.com/pls/apex/f?p=111583 6 | 7 | ## Preview 8 | ![](https://raw.githubusercontent.com/grlicaa/SearchNavigationMenu/master/docs/Preview.gif) 9 | ![](https://raw.githubusercontent.com/grlicaa/SearchNavigationMenu/master/docs/Preview2.gif) 10 | 11 | ## Change log 12 | V 2.1. 13 | 19 | For upgrading to new version of SNM 2.1, please add next two following lines to your "Options"
20 |
 21 |  "OnSearchShowChildren":true,
 22 |  "UseFocus":true,
 23 | 
24 | 25 | V 2.0. 26 | 34 | V 1.4. 35 | 40 | V 1.3. 41 | 44 | V 1.2. 45 | 49 | V 1.1. 50 | 55 | 56 | ## Install 57 | 58 | ### New install 59 |
    60 |
  1. Import plug-in "item_type_plugin_si_abakus_searchnavigationmenu.sql" into your application.
  2. 61 |
  3. Add region on global page. 62 | (Region must be on page but you can hide it with style="display:none;" in "Custom Attributes") 63 | (Recommend to also set the condition of this region to not display on your Login Page
  4. 64 |
  5. Add SearchNavigationMenu [Plug-in] item to the region. 65 | ![](https://raw.githubusercontent.com/grlicaa/SearchNavigationMenu/master/docs/hide_region.png) 66 |
  6. 67 |
  7. Decide options and style of the item (or leave default values). 68 | ![](https://raw.githubusercontent.com/grlicaa/SearchNavigationMenu/master/docs/Settings.menu.png) 69 |
  8. 70 |
  9. Save changes. Search Navigation Menu is now ready to use.
  10. 71 |
  11. Please leave some feedback. Thanks!
  12. 72 |
73 | 74 | ### Replace existing plug-in 75 | Because you are replacing the plug-in, the default options are inherited from the previous installation of the plug-in.
76 | Please set new Options and Styles for the item. You can use examples in help section. 77 | 78 | 79 | 80 | ## Functionality 81 | 82 | ### Implemented 83 | 95 | 96 | ### Recommended Functions: 97 | ```javascript 98 | setSNMShortcuts(p_shortcuts_array); // Add multiple new shortcuts to the array. 99 | appendSNMShortcut(p_shortcut_object); // Add one shortcut to the array. 100 | openModalSNMHelp(); // Open help menu, same as F1. 101 | ``` 102 | 103 | ### Tested On (so far): 104 | 105 | #### Browsers 106 | 111 | 112 | #### Oracle APEX Versions 113 | 117 | 118 | ## Documentation 119 | 120 | ### Option Settings 121 | #### Default Settings 122 |
123 | {
124 |  "menuOpen": false,   
125 |  "MmenuClickOpenClose": true,
126 |  "saveSS": true,
127 |  "shortcutSaveSS": false,
128 |  "shortcutCaseSensitive": true,
129 |  "OnSearchShowChildren":true,
130 |  "UseFocus":true,
131 |  "shortcuts": []
132 | }
133 | 
134 | ##### MenuOpen: 135 | MMenu fully expanded on-load (Not Recommended)
136 | ##### MenuClickOpenClose: 137 | Default APEX behavior on navigation menu click is to open target page. This is a problem when the item doesn't have a target.
138 | In that case, if you want to open a sub-menu you need to click on the "arrow down".
139 | With this option set to true, when a user clicks on a "no target" nav item (title, icon or arrow) it instead opens the sub-menu. 140 | ##### SaveSS : 141 | SaveSS stands for "Save Session State of item".
142 | ##### ShortcutSaveSS : 143 | ShortcutSaveSS stands for "Save Session State of item when using a Shortcut".
144 | ##### ShortcutCaseSensitive : 145 | Shortcut can be made case-sensitive. Caution: This will only affect the shortcut, not the search string. 146 | 147 | #### Shortcuts: 148 | For more information on shortcut settings, you can use SNM Shortcut Modeller. 149 | ##### Default Settings 150 |
151 | {  
152 |   "name": "emp",
153 |   "action": "page",
154 |   "page_id": 300,
155 |   "newWindow": false,
156 |   "clearCache": true,
157 |   "clearCacheList": "300,301,RIR",
158 |   "example": "emp"
159 | }
160 | 
161 | ###### Name: 162 | Name of shortcut. This is used for SNM to find the object.
163 | This is useful if you want users to be able to search in specific items. See the example below: 164 |
person:Andrej
165 | This means: Find shortcut "person", if object is IR or ITEM add search parameter value "Andrej". 166 | URL of Page Objects don't take parameters, only shortcuts. 167 | ###### Action : 168 | Depending on this setting engine decide what to do with shortcut. We have four basic actions types PAGE, IR, URL and ITEM.
169 | Every type have his own properties and all of them have "Common settings". 170 | ###### page_id : 171 | Page ID is the value for the page you want the shortcut to focus on. If this option is null, SNM will search the active page. 172 | ###### newWindow : 173 | This will open the search results in a New Window if set to true. The default is set to "false".
174 | ###### clearCache and clearCacheList : 175 | This setting will include "ClearCache" into the search URL if set to true.
176 | If clearCache option in set to "true" the link is added to the clearCacheList. If the clearCacheList doesn't exist then page_id is placed in the clearCache zone. 177 | ###### Example : 178 | Here we can create an example for the Help Menu.
179 | User can see this example by pressing F1 whilst Search Box is active. 180 | ###### PAGE: 181 |
182 | { 
183 |   "name": "emp",
184 |   "action": "page",
185 |   "page_id": 300,
186 |   "newWindow": true,
187 |   "clearCache": true,
188 |   "clearCacheList": "RIR,300",
189 |   "example":"emp"
190 | }
191 | Setting for Page Objects are like default settings. We can define which page to redirect to.
192 | Options are: Clear cache, open in new window and example (Help Menu). 193 | ###### IR: 194 |
195 | { 
196 |   "name": "person",
197 |   "action": "IR",
198 |   "IR_static_id": "EMP",
199 |   "IR_type": "column",
200 |   "IR_column": "ENAME",
201 |   "IR_value": "KING",
202 |   "IR_operator": "C",
203 |   "IR_clearCache": "RIR",
204 |   "page_id": 300,
205 |   "example": "person:andrej"
206 | }
207 | IR_static_id: Static ID for IR, required if there are multiple IRs on the page.
208 | IR_type: Row or Column (default is Row).
209 | IR_column: Define the column name (or null)
210 | IR_value: If this parameter isn't defined then this is the default value, or it can be used for the shortcut.
211 | IR_operator: Operators: C, EQ, etc. See link below for more operators.
212 | IR_clearCache: CIR or RIR.
213 | For more information on IR Linking: https://docs.oracle.com/database/apex-5.1/HTMDB/linking-to-interactive-reports.htm#HTMDB30108 214 | ###### URL : 215 |
216 | { 
217 |   "name": "google",
218 |   "action": "url",
219 |   "url": "http://google.com",
220 |   "newWindow": true
221 | }
222 | ###### ITEM : 223 |
224 | {
225 |   "name": "EMPNO",
226 |   "action": "item",
227 |   "item_name": "P300_ACTIVE",
228 |   "item_value": "Y",
229 |   "page_id": 300,
230 |   "clearCache": true
231 | }
232 | 233 | ### Style settings 234 | For more information on style settings you can use SNM Style Modeller. 235 |
236 | /* ** Style Settings for SNM (including icons) */
237 | 
238 | /* FIX: If you use Font Awesome, enable to this fix Search Icon */
239 | /*
240 | .srch_nav span {
241 |    top: 2px;
242 | }
243 | */
244 | /* FIX: If you use Font Awesome disable this .t-TreeNav */
245 | 
246 | .t-TreeNav .a-TreeView-node--topLevel ul .a-TreeView-content .fa {
247 |    vertical-align: top;
248 |    width: 32px;
249 |    height: 32px;
250 |    line-height: 32px;
251 |    text-align: center;
252 |    transition: width .2s ease;
253 | }
254 | 
255 | /* Search Result Style */
256 | .a-TreeView-label strong {
257 |     font-weight: bold;
258 |     color: black;
259 |     background-color: #ffef9a;
260 | }
261 | /* Search Box Field Style */
262 | .srch_nav input {
263 |     color: black;
264 |     background-color: #f1f6fa;
265 |     border-color: #ededed;
266 | }
267 | /* Search Box Margin when clicked */
268 | .srch_nav input:focus {
269 |     border-color: #ff7052;
270 | }
271 | 
272 | 273 | ## About me 274 | Andrej Grlica
275 | Company The Righr Thing Solutions
276 | I have been an Oracle APEX Developer since 2008
277 | When I'm not focusing on a code problem, you can find me on:
278 | Work Email : [andrej.grlica@right-thing.solutions](mailto:andrej.grlica@right-thing.solutions)
279 | Private Email : [andrej.grlica@gmail.com](mailto:andrej.grlica@gmail.com)
280 | LinkedIn: [Link](https://www.linkedin.com/in/andrej-grlica-303998a4/)
281 | Slack (#orclapex) PM:[@grlicaa](https://orclapex.slack.com/messages/@grlicaa/) 282 | -------------------------------------------------------------------------------- /apexplugin.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "Search Navigation Menu", 3 | "version" : "2.1", 4 | "description" : "Oracle Application Express item Plug-in for search on Navigation Menu.", 5 | "keywords" : ["search", "navigation", "menu", "list", "shortcut", "shortcuts"], 6 | "homepage" : "https://github.com/grlicaa/SearchNavigationMenu", 7 | "license" : "MIT", 8 | "author" : { 9 | "name" : "Andrej Grlica", 10 | "email" : "andrej.grlica@gmail.com", 11 | "twitter" : "AndrejGrlica", 12 | }, 13 | "repository" : { 14 | "type" : "git", 15 | "url" : "https://github.com/grlicaa/SearchNavigationMenu.git" 16 | }, 17 | "oracle" : { 18 | "versions" : ["12.2.0.1", "12.1.0.1", "11.2.0.1"], 19 | "apex" : { 20 | "versions" : ["5.0.0", "5.0.1", "5.0.2", "5.0.3", "5.0.4", "5.1.0", "5.1.1", "5.1.2", "5.1.3", "5.1.4", "18.1.0", "18.2.0", "19.1.0"], 21 | "plugin" : { 22 | "internalName" : "si.abakus.searchnavigationmenu", 23 | "type" : "item", 24 | "demo" : "https://apex.oracle.com/pls/apex/f?p=111583", 25 | "previewImage" : "https://raw.githubusercontent.com/grlicaa/SearchNavigationMenu/master/docs/Preview2.gif" 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /docs/Preview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grlicaa/SearchNavigationMenu/7e99798a9cba7f5a4291b24532aa9183fe881d2c/docs/Preview.gif -------------------------------------------------------------------------------- /docs/Preview2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grlicaa/SearchNavigationMenu/7e99798a9cba7f5a4291b24532aa9183fe881d2c/docs/Preview2.gif -------------------------------------------------------------------------------- /docs/hide_region.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grlicaa/SearchNavigationMenu/7e99798a9cba7f5a4291b24532aa9183fe881d2c/docs/hide_region.png -------------------------------------------------------------------------------- /docs/menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grlicaa/SearchNavigationMenu/7e99798a9cba7f5a4291b24532aa9183fe881d2c/docs/menu.png -------------------------------------------------------------------------------- /docs/searchNavMenu.css: -------------------------------------------------------------------------------- 1 | /*! searchNavMenu.css v2.0 | ABAKUS PLUS d.o.o. | Andrej Grlica | andrej.grlica@abakus.si */ 2 | /* ========================================================================== 3 | ------------------------------------------------------------------------------- 4 | Description 5 | Used for Searching Navigation Menu Style Sheet in Oracle Application Express 6 | ------------------------------------------------------------------------------- 7 | */ 8 | 9 | .srch_nav { 10 | position:relative; 11 | width:95%; 12 | margin: 4px; 13 | } 14 | .srch_icon { 15 | font-size: 20px; 16 | } 17 | .srch_nav span { 18 | position: absolute; 19 | display: block; 20 | left: 7px; 21 | top: 7px; 22 | font-size: 20px; 23 | } 24 | .srch_nav input { 25 | width: 100%; 26 | margin:2px; 27 | padding: 3px 2px 3px 25px; 28 | border: 1px solid; 29 | display: block; 30 | border-radius: 4px; 31 | transition: 0.2s ease-out; 32 | } 33 | .srch_nav input:focus { 34 | outline: 0; 35 | } 36 | body.js-navCollapsed div.srch_nav { 37 | display:none; 38 | } 39 | body.js-navExpanded div.srch_nav { 40 | display:block; 41 | } 42 | 43 | /* HELP modal dialog */ 44 | .srch_modal { 45 | position:fixed !important; 46 | } 47 | .srch_modal span.ui-dialog-title { 48 | font-size:20px !important; 49 | font-weight:bold !important; 50 | } 51 | .srch_modal table td.td_right { 52 | text-align:right; 53 | } 54 | .srch_modal table tr.tr_bg td { 55 | font-weight:bold; 56 | background-color:#e6e6e6; 57 | } 58 | .srch_modal table tr td { 59 | padding:2px; 60 | } 61 | -------------------------------------------------------------------------------- /docs/searchNavMenu.js: -------------------------------------------------------------------------------- 1 | /*! searchNavMenu.js v2.2 | Andrej Grlica | andrej.grlica@right-thing.solutions */ 2 | /* ========================================================================== 3 | 4 | Description: 5 | Script is used for Search Navigation Menu in Oracle Application Express 6 | 7 | ------------------------------------------------------------------------------- 8 | 9 | Parameters : 10 | item_id = item id from apex 11 | menuOptions = (additional menu options) 12 | elm = object 13 | e = event 14 | ajaxIdentifier = name of ajax call function 15 | l_skey = character keypress focus on search 16 | */ 17 | 18 | var SNMClosed = false; 19 | var SNMOptions = 20 | { 21 | "MenuOpen": false, 22 | "MenuClickOpenClose": true, 23 | "SaveSS": true, 24 | "ShortcutSaveSS": false, 25 | "ShrtCaseSensitive": true, 26 | "OnSearchShowChildren": true, 27 | "UseFocus":true, 28 | "Shortcuts": [] 29 | }; 30 | 31 | function setSNMShortcuts(p_shortcuts) { 32 | SNMOptions.Shortcuts = p_shortcuts; 33 | } 34 | 35 | function appendSNMShortcut(p_shortcut) { 36 | (SNMOptions.Shortcuts).push(p_shortcuts); 37 | } 38 | 39 | function openModalSNMHelp() { 40 | openModalSNM("SNM_Help", getHelpSNM()); 41 | } 42 | 43 | function openSNMChildrenIfExists() { 44 | if (SNMOptions.OnSearchShowChildren) { 45 | $('li[id^="t_TreeNav"].is-expandable[style="display: grid;"]').children("ul").children("li").each(function () { 46 | if ($(this).has( "strong" ).length || ($(this).has( "ul" ).length == false && $(this).has( "strong" ).length == false)) 47 | $(this).css("display", "grid"); 48 | }); 49 | $('li[id^="t_TreeNav"].is-collapsible[style="display: grid;"]').children("ul").children("li").each(function () { 50 | if ($(this).has( "strong" ).length || ($(this).has( "ul" ).length == false && $(this).has( "strong" ).length == false)) 51 | $(this).css("display", "grid"); 52 | }); 53 | } 54 | } 55 | 56 | function LoadSearchNavMenu(item_id, menuOptions, ajaxIdentifier, l_skey, elmVal) { 57 | if (menuOptions) 58 | SNMOptions = menuOptions; 59 | 60 | SNMOptions.ajaxId = ajaxIdentifier; 61 | SNMOptions.ItemId = item_id; 62 | if (SNMOptions.MenuClickOpenClose) 63 | $("#t_Body_nav #t_TreeNav").on("click", "ul li.a-TreeView-node div.a-TreeView-content:not(:has(a))", function() { 64 | $(this).prev("span.a-TreeView-toggle").click(); 65 | }); 66 | 67 | if (SNMOptions.SaveSS) 68 | $("input.srch_input").val(elmVal); 69 | 70 | //Add events on items 71 | //----- KeyDOWN 72 | $("input.srch_input").keydown(function(e) { 73 | keyDownSearchNav($(this), e); 74 | //openSNMChildrenIfExists(); 75 | }); 76 | 77 | //----- KeyUP 78 | $("input.srch_input").keyup(function(e, pageEvent) { 79 | keyUpSearchNav($(this), e, pageEvent); 80 | }); 81 | 82 | 83 | //----- Clear field IE problem, it's not on KEYUP 84 | $("input.srch_input").bind('input propertychange', function(e, pageEvent) { 85 | if (this.value == "") { 86 | var currItem = document.activeElement; 87 | setCurrentNav(item_id); 88 | if (!pageEvent) 89 | saveSesSateNav(""); 90 | if (SNMOptions.UseFocus) 91 | currItem.focus(); 92 | else 93 | $(this).focus(); 94 | } 95 | }); 96 | 97 | //----- Click on input bar, prevent default "Chrome problem". 98 | $("input.srch_input").on("click", function(e){e.preventDefault(); return false;}); 99 | 100 | apex.jQuery(window).on("apexwindowresized", function(e) { 101 | onResizeWinSearchNav(); 102 | }); 103 | 104 | // ----- Keybind to focus on Search Box. Ctrl + User Selected Key (Default = S) 105 | if (l_skey) 106 | SNMOptions.skey = l_skey; 107 | $(document).on("keydown", function(e){ 108 | shortCutSearchNav(e, l_skey); 109 | }); 110 | 111 | addModalSNM("SNM_Help", "Search Navigation Menu HELP"); 112 | 113 | //---- On document ready 114 | $(function() { 115 | var currItem = document.activeElement; 116 | if (!isNavTreeOpen()) 117 | SNMClosed=true; 118 | openAllNavSubmenus(); 119 | $('li[id^="t_TreeNav"].is-collapsible').find('span.a-TreeView-toggle').click(); 120 | //Because all list were open and last one closed we need to open current list 121 | setCurrentNav(item_id); 122 | 123 | if (SNMOptions.MenuOpen) 124 | showAllSublistsSearchNav(); 125 | 126 | if (SNMOptions.UseFocus) 127 | currItem.focus(); 128 | }); 129 | } 130 | 131 | function openAllNavSubmenus(elm) { 132 | var l_elm=""; 133 | if (elm) 134 | l_elm="li[id="+elm.attr("id")+"] "; 135 | $(l_elm+'li[id^="t_TreeNav"].is-expandable').each(function() { 136 | $(this).find("span.a-TreeView-toggle").click(); 137 | openAllNavSubmenus($(this)); 138 | }); 139 | } 140 | 141 | function setCurrentNav(item_id) { 142 | $('li[id^="t_TreeNav"]').each( function(){ 143 | if ($(this).find("div.a-TreeView-content:first").hasClass("is-current")) { 144 | $(this).find("div.a-TreeView-row:first").addClass("is-selected"); 145 | if ($(this).hasClass("is-expandable")) 146 | $(this).find("span.a-TreeView-toggle:first").click(); 147 | } 148 | else if ($(this).find("div.a-TreeView-content:first").hasClass("is-current--top")) { 149 | $(this).find("span.a-TreeView-toggle:first").click(); 150 | } 151 | else 152 | $(this).find("div.a-TreeView-row:first").removeClass("is-selected"); 153 | }); 154 | if (SNMClosed) 155 | $('#t_Button_navControl').click(); 156 | else 157 | showHideSearchBar(item_id); 158 | } 159 | 160 | function isNavTreeOpen() { 161 | try { 162 | return apex.theme42.toggleWidgets.isExpanded("nav"); 163 | } 164 | catch(e) { 165 | apex.debug.info("Error: apex.theme42.toggleWidgets.isExpanded('nav') doesn't exist before Oracle APEX 5.1 errormsg: "+e); 166 | return $('body').hasClass('js-navExpanded'); 167 | } 168 | return false; 169 | } 170 | 171 | function redirectUrlSNM(redirectURL, pNewWindow) { 172 | if (redirectURL && !pNewWindow) { 173 | window.location.href = redirectURL; 174 | if (!SNMOptions.ShortcutSaveSS && redirectURL.toLowerCase().indexOf("javascript:") == 0) { 175 | $("input.srch_input").val(""); 176 | setCurrentNav(SNMOptions.ItemId); 177 | } 178 | } 179 | else if (redirectURL && pNewWindow) { 180 | if (!SNMOptions.ShortcutSaveSS) { 181 | $("input.srch_input").val(""); 182 | setCurrentNav(SNMOptions.ItemId); 183 | } 184 | window.open(redirectURL, "_blank"); 185 | } 186 | } 187 | 188 | function saveSesSateNav(newVal, redirectURL, pNewWindow) { 189 | if (SNMOptions.SaveSS) { 190 | apex.server.plugin( SNMOptions.ajaxId, { 191 | x01: newVal 192 | }, {dataType:"json", 193 | accept: "application/json", 194 | success: function( pData ) { 195 | if(pData.state == 'OK') { 196 | apex.debug.info("Saved session state."); 197 | redirectUrlSNM(redirectURL, pNewWindow); 198 | } 199 | else 200 | apex.debug.error("Saving the session state for Search Navigation failed: "+JSON.stringify(pData) ); 201 | }, 202 | error: function( pData ) { 203 | apex.debug.error("Saving the session state for Search Navigation failed: "+JSON.stringify(pData) ); 204 | } 205 | }); 206 | } 207 | else { 208 | redirectUrlSNM(redirectURL, pNewWindow); 209 | } 210 | } 211 | 212 | function showHideSearchBar(item_id) { 213 | if (isNavTreeOpen()) 214 | $('input.srch_input').trigger("keyup", [true]); 215 | else { 216 | $('input.srch_input').trigger("keyup", [true]); 217 | hideAllSublistsSearchNav(); 218 | } 219 | } 220 | 221 | function hideAllSublistsSearchNav() { 222 | $('li[id^="t_TreeNav"].is-expandable').find("ul").css("display", "none"); 223 | } 224 | function showAllSublistsSearchNav() { 225 | $('li[id^="t_TreeNav"].is-expandable').find("ul").css("display", "grid"); 226 | } 227 | 228 | function colorSearchNav(txt, rplStr) { 229 | var loc = txt.toLowerCase().indexOf(rplStr.toLowerCase()); 230 | if (loc!=-1) { 231 | return txt.slice(0, loc)+''+txt.slice(loc, loc+rplStr.length)+''+txt.slice(rplStr.length+loc, txt.length); 232 | } 233 | return txt; 234 | } 235 | 236 | function hoverSearchNav() { 237 | $('li[id^="t_TreeNav_"] div.is-hover').removeClass("is-hover"); 238 | $('li[id^="t_TreeNav_"][style*="display: grid"] a.a-TreeView-label strong').each(function() { 239 | $(this).parents("li").eq(0).children("div").addClass("is-hover"); 240 | return false; 241 | }); 242 | } 243 | 244 | function stepNextSearchNav(reverse) { 245 | var obj = $('li[id^="t_TreeNav_"] div.is-hover'), newObj, flg; //flg for flag next object 246 | if (obj[0]) { 247 | obj.removeClass("is-hover"); 248 | $('li[id^="t_TreeNav_"][style*="display: grid"] a.a-TreeView-label strong').each(function() { 249 | if($(this).parents("li").eq(0).attr("id") == obj.parent("li").attr("id") && reverse) 250 | return false; 251 | else if (flg) { 252 | newObj=$(this).parents("li").eq(0); 253 | return false; 254 | } 255 | else if ($(this).parents("li").eq(0).attr("id") == obj.parent("li").attr("id") && !reverse && !flg) { 256 | flg = true; 257 | newObj=$(this).parents("li").eq(0); 258 | } 259 | else 260 | newObj=$(this).parents("li").eq(0); 261 | }); 262 | if (newObj) 263 | $(newObj).children("div").addClass("is-hover"); 264 | else 265 | $(obj).addClass("is-hover"); 266 | } 267 | else 268 | hoverSearchNav(); 269 | } 270 | 271 | function parseSNMShortcut(obj, elmVal) { 272 | var retURL = ""; 273 | 274 | if ("action" in obj) { 275 | var l_clearCache="", l_page_id = $v("pFlowStepId"); 276 | if (obj.page_id) 277 | l_page_id = obj.page_id; 278 | if (obj.clearCache) 279 | if ("clearCacheList" in obj) 280 | l_clearCache = obj.clearCacheList; 281 | else 282 | l_clearCache = l_page_id; 283 | 284 | if (obj.action.toLowerCase() == "page" && !elmVal) 285 | retURL = "f?p="+$v("pFlowId")+":"+l_page_id+":"+$v("pInstance")+":::"+l_clearCache+"::" 286 | else if (obj.action.toLowerCase() == "url" && !elmVal) { 287 | if (obj.url) 288 | retURL = obj.url; 289 | } 290 | else if (obj.action.toLowerCase() == "ir") { 291 | var ir_link="IR"; 292 | if ("IR_static_id" in obj) 293 | ir_link+="["+obj.IR_static_id+"]"; 294 | if ("IR_operator" in obj) 295 | ir_link+=obj.IR_operator+"_"; 296 | if ("IR_type" in obj) 297 | if (obj.IR_type.toLowerCase() == "column") 298 | if ("IR_column" in obj) 299 | ir_link+=obj.IR_column; 300 | else 301 | ir_link+="ROWFILTER"; 302 | else 303 | ir_link+="ROWFILTER"; 304 | else 305 | ir_link+="ROWFILTER"; 306 | if (l_clearCache) { 307 | if ("IR_clearCache" in obj) 308 | l_clearCache +=","+obj.IR_clearCache; 309 | } 310 | else { 311 | if ("IR_clearCache" in obj) 312 | l_clearCache = obj.IR_clearCache; 313 | } 314 | if (elmVal) 315 | retURL = "f?p="+$v("pFlowId")+":"+l_page_id+":"+$v("pInstance")+":::"+l_clearCache+":"+ir_link+":"+elmVal; 316 | else 317 | if ("IR_value" in obj) 318 | retURL = "f?p="+$v("pFlowId")+":"+l_page_id+":"+$v("pInstance")+":::"+l_clearCache+":"+ir_link+":"+obj.IR_value; 319 | } 320 | else if (obj.action.toLowerCase() == "item") { 321 | if (elmVal) { 322 | if ("item_name" in obj) 323 | retURL = "f?p="+$v("pFlowId")+":"+l_page_id+":"+$v("pInstance")+":::"+l_clearCache+":"+obj.item_name+":"+elmVal; 324 | } 325 | else 326 | if ("item_name" in obj && "item_value" in obj) 327 | retURL = "f?p="+$v("pFlowId")+":"+l_page_id+":"+$v("pInstance")+":::"+l_clearCache+":"+obj.item_name+":"+obj.item_value; 328 | } 329 | } 330 | if (retURL) 331 | apex.debug.info("Object:"+JSON.stringify(obj)+" returning URL :'"+retURL+"'"); 332 | return retURL; 333 | } 334 | 335 | function redirectSNM(obj, startWith, elmVal) { 336 | var rdr, l_newWindow, valSessionState=""; 337 | if (SNMOptions.ShortcutSaveSS) 338 | valSessionState=elmVal; 339 | if(obj) { 340 | if (obj.newWindow) 341 | l_newWindow = true; 342 | if (startWith) 343 | rdr=parseSNMShortcut(obj, elmVal.substr(obj.name.length+1, elmVal.length-obj.name.length+1)); 344 | else 345 | rdr=parseSNMShortcut(obj); 346 | 347 | if (rdr) { 348 | saveSesSateNav(valSessionState, rdr, l_newWindow); 349 | return true; 350 | } 351 | } 352 | else { 353 | rdr = $('li[id^="t_TreeNav_"][style*="display: grid"] div.is-hover a.a-TreeView-label').attr("href"); 354 | if (rdr) { 355 | window.location.href = rdr; 356 | return true; 357 | } 358 | } 359 | return false; 360 | } 361 | 362 | function checkAndRedirectSNM(elm) { 363 | var elmVal = $(elm).val(), find_shortcut = false, caseSensitive; 364 | if (SNMOptions.ShrtCaseSensitive) 365 | caseSensitive=true; 366 | if (!jQuery.isEmptyObject(SNMOptions.Shortcuts)) { 367 | for(var i=0; i') 386 | 387 | $("#"+name).dialog( 388 | {"modal":true 389 | ,"title":title 390 | ,"autoOpen":false 391 | ,"resizable":true 392 | ,"dialogClass":"no-close srch_modal" 393 | ,"width":'500px' 394 | ,"closeOnEscape":true 395 | ,buttons : { 396 | "Close" : function () { 397 | $(this).dialog("close"); 398 | } 399 | } 400 | } 401 | ); 402 | } 403 | 404 | function openModalSNM(name, p_msg) { 405 | $("#"+name) 406 | .css('margin','12px') // Make dialog text easier to read. 407 | .html(p_msg) // Generate the message. 408 | .dialog('open'); // Open the dialog. 409 | } 410 | 411 | function getHelpSNM() { 412 | var l_return = "

Shortcuts :

"; 413 | l_return +=""; 414 | l_return +=""; 415 | l_return +=""; 416 | 417 | if (!jQuery.isEmptyObject(SNMOptions.Shortcuts)) { 418 | l_return +=""; 419 | for(var i=0; i"; 421 | l_return +=""; 464 | 465 | if ("example" in SNMOptions.Shortcuts[i]) 466 | l_return +=""; 467 | else 468 | l_return +=""; 469 | l_return +=""; 470 | } 471 | } 472 | l_return +="
CTRL+"+SNMOptions.skey+" :Focus on search box item
F1 :Opens search navigation menu help page
Shortcut labelTypeConditionExample (type in)
"+SNMOptions.Shortcuts[i].action+""; 422 | if (SNMOptions.Shortcuts[i].action.toLowerCase()=="ir") { 423 | if (SNMOptions.Shortcuts[i].IR_type.toLowerCase()=="column") { 424 | if ("IR_column" in SNMOptions.Shortcuts[i]) 425 | l_return +="column "+SNMOptions.Shortcuts[i].IR_column.toUpperCase()+" "; 426 | } 427 | else 428 | l_return +="row "; 429 | 430 | if ("IR_operator" in SNMOptions.Shortcuts[i]) { 431 | if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "C") 432 | l_return +="contains"; 433 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "GTE") 434 | l_return +="greather than or equal to"; 435 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "GT") 436 | l_return +="greather than"; 437 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "LIKE") 438 | l_return +="like"; 439 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "LT") 440 | l_return +="less than"; 441 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "LTE") 442 | l_return +="less than r equal to"; 443 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "N") 444 | l_return +="null"; 445 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "NC") 446 | l_return +="not cointains"; 447 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "NEQ") 448 | l_return +="not equals"; 449 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "NLIKE") 450 | l_return +="not like"; 451 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "NN") 452 | l_return +="not null"; 453 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "NIN") 454 | l_return +="not in"; 455 | else if (SNMOptions.Shortcuts[i].IR_operator.toUpperCase() == "IN") 456 | l_return +="in"; 457 | else 458 | l_return +="equals"; 459 | } 460 | else 461 | l_return +="contains"; 462 | } 463 | l_return +=""+SNMOptions.Shortcuts[i].example+"
"; 473 | return l_return; 474 | } 475 | 476 | function keyDownSearchNav(elm, e) { 477 | switch (e.which) { 478 | case 13: 479 | checkAndRedirectSNM(elm); 480 | e.preventDefault(); 481 | break; 482 | case 40: 483 | stepNextSearchNav(false); 484 | e.preventDefault(); 485 | break; 486 | case 38: 487 | stepNextSearchNav(true); 488 | e.preventDefault(); 489 | break; 490 | case 112: 491 | openModalSNMHelp(); 492 | e.preventDefault(); 493 | break; 494 | } 495 | } 496 | 497 | //elm= input, e=event, paegeEvent=keyup of hide/show 498 | function keyUpSearchNav(elm, e, pageEvent) { 499 | switch (e.which) { 500 | case 13: 501 | case 17: 502 | case 40: 503 | case 38: 504 | case 112: 505 | e.preventDefault(); 506 | break; 507 | default: 508 | var elmVal = $(elm).val(), save_ss = false; 509 | $(".a-TreeView-label strong").replaceWith(function() { return $(this).html(); }); 510 | if (elmVal != "") { 511 | $('li[id^="t_TreeNav"]').each(function() { 512 | if ($(this).find(".a-TreeView-label").text().toLowerCase().indexOf(elmVal.toLowerCase())!= -1 ) { 513 | if ($(this).hasClass("is-expandable")) 514 | $(this).find("ul").css("display", "grid"); 515 | $(this).find(".a-TreeView-label").each(function(){ 516 | $(this).html(colorSearchNav($(this).text(),elmVal)); 517 | }); 518 | $(this).css("display", "grid"); 519 | } 520 | else 521 | $(this).css("display", "none"); 522 | }); 523 | } 524 | else { 525 | $('li[id^="t_TreeNav"]').each(function() { 526 | if ($(this).hasClass("is-expandable")) 527 | $(this).find("ul").css("display", "none"); 528 | $(this).css("display", "grid"); 529 | }); 530 | } 531 | if (!pageEvent) 532 | saveSesSateNav(elmVal); 533 | hoverSearchNav(); 534 | openSNMChildrenIfExists(); 535 | } 536 | } 537 | 538 | function shortCutSearchNav(e, l_skey) { 539 | if(e.ctrlKey && e.keyCode === l_skey.charCodeAt(0)){ 540 | if (!isNavTreeOpen()) 541 | $('#t_Button_navControl').click(); 542 | var tmp = $("input.srch_input").val(); 543 | $("input.srch_input").focus().val(tmp); 544 | e.preventDefault(); 545 | return false; 546 | } 547 | } 548 | 549 | function onResizeWinSearchNav() { 550 | if ($("input.srch_input").is(":focus")) 551 | $('.t-PageBody:not(.js-navExpanded) #t_Button_navControl').click(); 552 | else { 553 | if (!isNavTreeOpen()) 554 | hideAllSublistsSearchNav(); 555 | } 556 | } -------------------------------------------------------------------------------- /plug-in/item_type_plugin_si_abakus_searchnavigationmenu.sql: -------------------------------------------------------------------------------- 1 | set define off verify off feedback off 2 | whenever sqlerror exit sql.sqlcode rollback 3 | -------------------------------------------------------------------------------- 4 | -- 5 | -- ORACLE Application Express (APEX) export file 6 | -- 7 | -- You should run the script connected to SQL*Plus as the Oracle user 8 | -- APEX_050000 or as the owner (parsing schema) of the application. 9 | -- 10 | -- NOTE: Calls to apex_application_install override the defaults below. 11 | -- 12 | -------------------------------------------------------------------------------- 13 | begin 14 | wwv_flow_api.import_begin ( 15 | p_version_yyyy_mm_dd=>'2013.01.01' 16 | ,p_release=>'5.0.0.00.31' 17 | ,p_default_workspace_id=>1680528706851854 18 | ,p_default_application_id=>101 19 | ,p_default_owner=>'ANDREJGR' 20 | ); 21 | end; 22 | / 23 | prompt --application/ui_types 24 | begin 25 | null; 26 | end; 27 | / 28 | prompt --application/shared_components/plugins/item_type/si_abakus_searchnavigationmenu 29 | begin 30 | wwv_flow_api.create_plugin( 31 | p_id=>wwv_flow_api.id(10654364716041103) 32 | ,p_plugin_type=>'ITEM TYPE' 33 | ,p_name=>'SI.ABAKUS.SEARCHNAVIGATIONMENU' 34 | ,p_display_name=>'SearchNavigationMenu' 35 | ,p_supported_ui_types=>'DESKTOP' 36 | ,p_javascript_file_urls=>'#PLUGIN_FILES#searchNavMenu.js' 37 | ,p_css_file_urls=>'#PLUGIN_FILES#searchNavMenu.css' 38 | ,p_plsql_code=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 39 | '-- GLOBAL', 40 | 'subtype gt_string is varchar2(32767);', 41 | '', 42 | 'function render (', 43 | ' p_item in apex_plugin.t_page_item,', 44 | ' p_plugin in apex_plugin.t_plugin,', 45 | ' p_value in varchar2,', 46 | ' p_is_readonly in boolean,', 47 | ' p_is_printer_friendly in boolean )', 48 | ' return apex_plugin.t_page_item_render_result', 49 | ' is', 50 | ' l_result apex_plugin.t_page_item_render_result;', 51 | ' ', 52 | ' l_placeholder gt_string := p_item.placeholder;', 53 | ' l_item_id gt_string := p_item.name;', 54 | ' l_item_css gt_string := p_item.element_css_classes;', 55 | '', 56 | ' l_skey gt_string := p_item.attribute_01;', 57 | ' l_css_icon gt_string := p_item.attribute_02;', 58 | ' l_options gt_string := p_item.attribute_03; ', 59 | ' l_style gt_string := p_item.attribute_04;', 60 | ' ', 61 | ' l_css_code gt_string;', 62 | ' l_onload_code gt_string; ', 63 | 'begin', 64 | '', 65 | ' ----- Set CSS -----------', 66 | ' l_css_code := l_style; ', 67 | ' ', 68 | ' if l_css_icon is null then ', 69 | ' l_css_code := l_css_code||''.srch_nav input{padding: 3px 2px 3px 3px;}'';', 70 | ' end if; ', 71 | '', 72 | ' apex_css.add(l_css_code);', 73 | '', 74 | ' ----- Close / Open navigation menu', 75 | ' l_onload_code:= l_onload_code||''$("#t_Button_navControl").on("click", function(){showHideSearchBar("''||l_item_id||''");});'';', 76 | ' ', 77 | ' --Add element on page', 78 | ' l_onload_code:= l_onload_code||''$("#t_TreeNav").prepend("
"+ ', 79 | ' ""+'';', 80 | ' if l_css_icon is not null then ', 81 | ' l_onload_code:= l_onload_code||''"
");'';', 82 | ' else', 83 | ' l_onload_code:= l_onload_code||''"");'';', 84 | ' end if;', 85 | ' ', 86 | ' --Load settings', 87 | ' l_onload_code:= l_onload_code||''LoadSearchNavMenu("''||l_item_id||''",''||CASE WHEN l_options IS NOT NULL THEN l_options ELSE ''null'' END||'',"''', 88 | ' || apex_plugin.get_ajax_identifier ||''","''||l_skey||''","''||p_value||''");'';', 89 | '', 90 | ' apex_javascript.add_onload_code(l_onload_code);', 91 | '', 92 | ' --', 93 | ' l_result.is_navigable := TRUE;', 94 | ' --', 95 | ' RETURN(l_result);', 96 | '', 97 | 'end;', 98 | '', 99 | 'function render (', 100 | ' p_item in apex_plugin.t_page_item,', 101 | ' p_plugin in apex_plugin.t_plugin )', 102 | ' return apex_plugin.t_page_item_ajax_result', 103 | ' IS', 104 | ' l_result apex_plugin.t_page_item_ajax_result;', 105 | ' err_num NUMBER;', 106 | ' err_msg VARCHAR2(1000);', 107 | 'begin', 108 | ' apex_debug.info(''Save to session state item:%s value:%s'', p_item.name, apex_application.g_x01);', 109 | ' apex_util.set_session_state(p_item.name, apex_application.g_x01);', 110 | ' commit;', 111 | ' htp.p(''{"state":"OK"}'');', 112 | ' RETURN (l_result);', 113 | 'exception', 114 | ' when others then', 115 | ' err_num := SQLCODE;', 116 | ' err_msg := SUBSTR(SQLERRM, 1, 1000);', 117 | ' htp.p(''{"state":"error", "SQLCODE":"''||err_num||''", "SQLERRM":"''||err_msg||''"}'');', 118 | ' raise;', 119 | 'end;')) 120 | ,p_render_function=>'render' 121 | ,p_ajax_function=>'render' 122 | ,p_standard_attributes=>'ELEMENT:PLACEHOLDER' 123 | ,p_substitute_attributes=>true 124 | ,p_subscribe_plugin_settings=>true 125 | ,p_version_identifier=>'2.1' 126 | ,p_about_url=>'https://github.com/grlicaa/SearchNavigationMenu' 127 | ,p_files_version=>29 128 | ); 129 | wwv_flow_api.create_plugin_attribute( 130 | p_id=>wwv_flow_api.id(10656340564070556) 131 | ,p_plugin_id=>wwv_flow_api.id(10654364716041103) 132 | ,p_attribute_scope=>'COMPONENT' 133 | ,p_attribute_sequence=>1 134 | ,p_display_sequence=>10 135 | ,p_prompt=>'Ctrl+' 136 | ,p_attribute_type=>'TEXT' 137 | ,p_is_required=>false 138 | ,p_default_value=>'S' 139 | ,p_supported_ui_types=>'DESKTOP' 140 | ,p_is_translatable=>false 141 | ,p_text_case=>'UPPER' 142 | ,p_help_text=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 143 | 'User can define key combination to focus on Search navigation Menu.
', 144 | '
', 145 | 'Default value = "S"
', 146 | 'Null value = disabled
', 147 | '
', 148 | 'If you need to use Crl+"S" as browser save as than we recommend to switch this option to something else !
', 149 | '
', 150 | 'Ctrl+
', 151 | '"F" is browser default for find
', 152 | '"L" is browser default for focus oo address bar
', 153 | '"M" is browser default for mute
', 154 | '"N" is browser default for new window
', 155 | '"O" is browser default for open
', 156 | '"P" is browser default for print
', 157 | '"S" is browser default for save
', 158 | '"T" is browser default for new tab
', 159 | '"U" is browser default for source code
', 160 | '"1-9" is browser default to switch between open tabs
')) 161 | ); 162 | wwv_flow_api.create_plugin_attribute( 163 | p_id=>wwv_flow_api.id(10656654187074176) 164 | ,p_plugin_id=>wwv_flow_api.id(10654364716041103) 165 | ,p_attribute_scope=>'COMPONENT' 166 | ,p_attribute_sequence=>2 167 | ,p_display_sequence=>20 168 | ,p_prompt=>'Icon CSS calss' 169 | ,p_attribute_type=>'ICON' 170 | ,p_is_required=>false 171 | ,p_default_value=>'fa-search' 172 | ,p_supported_ui_types=>'DESKTOP' 173 | ,p_is_translatable=>false 174 | ,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 175 | 'fa-search
', 176 | 'fa-calendar-search
', 177 | 'fa-cloud-search
', 178 | 'fa-database-search
', 179 | 'fa-envelope-search
', 180 | 'fa-file-search
', 181 | 'fa-folder-search
', 182 | 'fa-search-minus
', 183 | 'fa-search-plus
', 184 | 'fa-server-search
', 185 | 'fa-table-search
', 186 | 'fa-window-search')) 187 | ,p_help_text=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 188 | '

Warning:

', 189 | 'If you use old font "awesome" and not font "APEX" then please add this row inside "Style" setting :
', 190 | '
.srch_nav span {top:2px;    /* If you use FONT APEX disable/delete this setting */}
', 191 | '
', 192 | 'Settings :', 193 | '
', 194 | 'Default value : "fa-search"
', 195 | 'Null value : icon span is hidden
')) 196 | ); 197 | wwv_flow_api.create_plugin_attribute( 198 | p_id=>wwv_flow_api.id(5386975599547065) 199 | ,p_plugin_id=>wwv_flow_api.id(10654364716041103) 200 | ,p_attribute_scope=>'COMPONENT' 201 | ,p_attribute_sequence=>3 202 | ,p_display_sequence=>30 203 | ,p_prompt=>'Options' 204 | ,p_attribute_type=>'TEXTAREA' 205 | ,p_is_required=>false 206 | ,p_default_value=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 207 | '{"MenuOpen":false,', 208 | ' "MenuClickOpenClose":true,', 209 | ' "SaveSS":true,', 210 | ' "ShortcutSaveSS":false,', 211 | ' "ShrtCaseSensitive":true,', 212 | ' "OnSearchShowChildren":true,', 213 | ' "UseFocus":true,', 214 | ' "Shortcuts" : []', 215 | '}')) 216 | ,p_supported_ui_types=>'DESKTOP' 217 | ,p_is_translatable=>false 218 | ,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 219 | '
',
220 | '{',
221 | '  "MenuOpen": false,',
222 | '  "MenuClickOpenClose": true,',
223 | '  "SaveSS": true,',
224 | '  "ShortcutSaveSS": false,',
225 | '  "ShrtCaseSensitive": true,',
226 | '  "OnSearchShowChildren": true,',
227 | '  "UseFocus": true,',
228 | '  "Shortcuts": [',
229 | '    {',
230 | '      "name": "home",',
231 | '      "action": "page",',
232 | '      "page_id": 1,',
233 | '      "clearCache": true,',
234 | '      "clearCacheList": "1,300"',
235 | '    },',
236 | '    {',
237 | '      "name": "n$emp",',
238 | '      "action": "page",',
239 | '      "page_id": 300,',
240 | '      "newWindow": true,',
241 | '      "clearCache": true,',
242 | '      "clearCacheList": "RIR,300"',
243 | '    },',
244 | '    {',
245 | '      "name": "emp",',
246 | '      "action": "page",',
247 | '      "page_id": 300,',
248 | '      "clearCache": true,',
249 | '      "clearCacheList": "RIR,300"',
250 | '    },',
251 | '    {',
252 | '      "name": "emp",',
253 | '      "action": "IR",',
254 | '      "IR_type": "row",',
255 | '      "IR_static_id": "EMP",',
256 | '      "IR_operator": "EQ",',
257 | '      "IR_clearCache": "CIR",',
258 | '      "page_id": 300,',
259 | '      "clearCache": false',
260 | '    },',
261 | '    {',
262 | '      "name": "person",',
263 | '      "action": "IR",',
264 | '      "IR_type": "column",',
265 | '      "IR_column": "ENAME",',
266 | '      "IR_value": "KING",',
267 | '      "IR_operator": "C",',
268 | '      "IR_clearCache": "RIR",',
269 | '      "page_id": 300,',
270 | '      "example": "person:andrej"',
271 | '    },',
272 | '    {',
273 | '      "name": "king",',
274 | '      "action": "IR",',
275 | '      "IR_type": "column",',
276 | '      "IR_column": "ENAME",',
277 | '      "IR_value": "KING",',
278 | '      "IR_operator": "EQ",',
279 | '      "IR_clearCache": "RIR",',
280 | '      "page_id": 300',
281 | '    },',
282 | '    {',
283 | '      "name": "job",',
284 | '      "action": "IR",',
285 | '      "IR_type": "column",',
286 | '      "IR_column": "JOB",',
287 | '      "IR_operator": "EQ",',
288 | '      "IR_clearCache": "RIR",',
289 | '      "page_id": 300,',
290 | '      "example": "job:MANAGER"',
291 | '    },',
292 | '    {',
293 | '      "name": "google",',
294 | '      "action": "url",',
295 | '      "url": "http://google.com",',
296 | '      "newWindow": true',
297 | '    },',
298 | '    {',
299 | '      "name": "facebook",',
300 | '      "action": "url",',
301 | '      "url": "http://facebook.com"',
302 | '    },',
303 | '    {',
304 | '      "name": "EMPNO",',
305 | '      "action": "item",',
306 | '      "item_name": "P300_EMPNO",',
307 | '      "page_id": 300,',
308 | '      "clearCache": true',
309 | '    },',
310 | '    {',
311 | '      "name": "EMPNO",',
312 | '      "action": "item",',
313 | '      "item_name": "P300_ACTIVE",',
314 | '      "item_value": "Y",',
315 | '      "page_id": 300,',
316 | '      "clearCache": true',
317 | '    }',
318 | '  ]',
319 | '}
')) 320 | ,p_help_text=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 321 | '

Main settings

', 322 | '
',
323 | '{"MenuOpen":false,   ',
324 | ' "MenuClickOpenClose":true, ',
325 | ' "SaveSS":true,',
326 | ' "ShortcutSaveSS":false,',
327 | ' "ShrtCaseSensitive":true,',
328 | ' "OnSearchShowChildren": true,',
329 | ' "UseFocus":true,',
330 | ' "Shortcuts" : []',
331 | '}',
332 | '
', 333 | '

MenuOpen :

', 334 | 'Menu fully opened on load (not recommended)
', 335 | '

MenuClickOpenClose :

', 336 | 'Default APEX behavior on navigation menu click is to open target page. Problem becomes when link don''t have target.
', 337 | 'In that case if you want to open sub-menu you need to click on "arrow down".
', 338 | 'With this option enabled (set to "Yes") when user click on "no target" in navigation menu (title, icon or arrow) it opens sub-menu.', 339 | '

SaveSS :

', 340 | 'SaveSS stands for Save Session State of item.
', 341 | '

ShortcutSaveSS :

', 342 | 'ShortcutSaveSS stands for Save Session State of item when shortcut has occurred.
', 343 | 'User usually need only to open quick setting with shortcut and than empty search field.', 344 | '

ShrtCaseSensitive :

', 345 | 'Shortcut can be case sensitive. Be aware this is setting only for shortcut name and not searching value.', 346 | '
', 347 | '

Shortcuts

', 348 | '

Common settings

', 349 | '
',
350 | '{  "name": "emp",',
351 | '  "action": "page",',
352 | '  "page_id": 300,',
353 | '  "newWindow": false,',
354 | '  "clearCache": true,',
355 | '  "clearCacheList": "300,301,RIR",',
356 | '  "example": "emp"',
357 | '}
', 358 | '

name :

', 359 | 'Name of shortcut. This is used for search engine to find action.
', 360 | 'If user need to add parameter for IR or ITEM type shortcut search it can be done like below example. ', 361 | '
person:Andrej
', 362 | 'This means find shortcut "person" if action is IR or ITEM add search parameter value "Andrej".', 363 | 'URL od PAGE action type don''t take parameters only shortcuts.', 364 | '

page_id :

', 365 | 'Page id is setting on what page we need search or redirect. If this option is null, engine takes current page.', 366 | '

newWindow :

', 367 | 'This option means if we need to open search result in new window than we set this option to "true".
', 368 | 'By default this option in "false".', 369 | '

clearCache and clearCacheList :

', 370 | 'Depending of clearCache setting we add clear cache in search URL.
', 371 | 'If clearCache option in set to "true" we put in link clearCacheList. If clearCacheList don''t exists than we put page_id into clearCache zone.', 372 | '

example :

', 373 | 'Here we can put example for user to demonstrate purpuse od shortcut.
', 374 | 'User can see this example by pressing F1 key on search box.', 375 | '

action :

', 376 | 'Depending on this setting engine decide what to do with shortcut. We have four basic actions types PAGE, IR, URL and ITEM.
', 377 | 'Every type have his own properties and all of them have "Common settings".', 378 | '

PAGE :

', 379 | '
',
380 | '{ "name": "emp",',
381 | '  "action": "page",',
382 | '  "page_id": 300,',
383 | '  "newWindow": true,',
384 | '  "clearCache": true,',
385 | '  "clearCacheList": "RIR,300",',
386 | '  "example":"emp"',
387 | '}
', 388 | 'Setting for PAGE actions are like common settings. We can define which page to redirect.
', 389 | 'Options are clear cache, open in new window and example for user.', 390 | '

IR :

', 391 | '
',
392 | '{ "name": "person",',
393 | '  "action": "IR",',
394 | '  "IR_static_id": "EMP",',
395 | '  "IR_type": "column",',
396 | '  "IR_column": "ENAME",',
397 | '  "IR_value": "KING",',
398 | '  "IR_operator": "C",',
399 | '  "IR_clearCache": "RIR",',
400 | '  "page_id": 300,',
401 | '  "example": "person:andrej"',
402 | '}
', 403 | 'IR_static_id if you have more than one IR on page.
', 404 | 'IR_type row or column (if empty default is row).
', 405 | 'IR_column if column define column.
', 406 | 'IR_value if we don''t add parameter than this is default value or it can be used for shortcut.
', 407 | 'IR_operator C, EQ..
', 408 | 'IR_clearCache CIR or RIR.
', 409 | 'More about IR Linking on : https://docs.oracle.com/database/apex-5.1/HTMDB/linking-to-interactive-reports.htm#HTMDB30108
', 410 | '

URL :

', 411 | '
',
412 | '{ "name": "google",',
413 | '  "action": "url",',
414 | '  "url": "http://google.com",',
415 | '  "newWindow": true',
416 | '}
', 417 | '

ITEM :

', 418 | '
',
419 | '{',
420 | '  "name": "EMPNO",',
421 | '  "action": "item",',
422 | '  "item_name": "P300_ACTIVE",',
423 | '  "item_value": "Y",',
424 | '  "page_id": 300,',
425 | '  "clearCache": true',
426 | '}
')) 427 | ); 428 | wwv_flow_api.create_plugin_attribute( 429 | p_id=>wwv_flow_api.id(5387589268552662) 430 | ,p_plugin_id=>wwv_flow_api.id(10654364716041103) 431 | ,p_attribute_scope=>'COMPONENT' 432 | ,p_attribute_sequence=>4 433 | ,p_display_sequence=>40 434 | ,p_prompt=>'Style' 435 | ,p_attribute_type=>'TEXTAREA' 436 | ,p_is_required=>false 437 | ,p_default_value=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 438 | '/* ', 439 | '** STYLE Settings for search navigation menu and menu icons', 440 | '*/', 441 | '/* FIX If you use FONT awesome enable this .srch_nav span */', 442 | '/*', 443 | '.srch_nav span { ', 444 | ' top:2px;', 445 | '}', 446 | '*/', 447 | '/* FIX If you use FONT awesome disable this .t-TreeNav */', 448 | '.t-TreeNav .a-TreeView-node--topLevel ul .a-TreeView-content .fa {', 449 | ' vertical-align: top;', 450 | ' width: 32px; /* This can be decrease to have smaller spacing */', 451 | ' height: 32px;', 452 | ' line-height: 32px;', 453 | ' text-align: center;', 454 | ' transition: width .2s ease;', 455 | '}', 456 | '/* Search resault setting */', 457 | '.a-TreeView-label strong {', 458 | ' font-weight:bold; ', 459 | ' color:black;', 460 | ' background-color:#ffef9a;', 461 | '}', 462 | '/* Input field style setting */', 463 | '.srch_nav input {', 464 | ' color:black;', 465 | ' background-color:#f1f6fa;', 466 | ' border-color:#ededed;', 467 | '}', 468 | '/* Input field on hover setting */', 469 | '.srch_nav input:focus {', 470 | ' border-color:#ff7052;', 471 | '}')) 472 | ,p_supported_ui_types=>'DESKTOP' 473 | ,p_is_translatable=>false 474 | ,p_help_text=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 475 | '
',
476 | '/* ',
477 | '** STYLE Settings for search navigation menu and menu icons',
478 | '*/',
479 | '/* FIX If you use FONT awesome enable this .srch_nav span */',
480 | '/*',
481 | '.srch_nav span { ',
482 | '   top:2px;',
483 | '}',
484 | '*/',
485 | '/* FIX If you use FONT awesome disable  this .t-TreeNav */',
486 | '.t-TreeNav .a-TreeView-node--topLevel ul .a-TreeView-content .fa {',
487 | '   vertical-align: top;',
488 | '   width: 32px; /* This can be decrease to have smaller spacing */',
489 | '   height: 32px;',
490 | '   line-height: 32px;',
491 | '   text-align: center;',
492 | '   transition: width .2s ease;',
493 | '}',
494 | '/* Search resault setting */',
495 | '.a-TreeView-label strong {',
496 | '    font-weight:bold; ',
497 | '    color:black;',
498 | '    background-color:#ffef9a;',
499 | '}',
500 | '/* Input field style setting */',
501 | '.srch_nav input {',
502 | '    color:black;',
503 | '    background-color:#f1f6fa;',
504 | '    border-color:#ededed;',
505 | '}',
506 | '/* Input field on hover setting */',
507 | '.srch_nav input:focus {',
508 | '    border-color:#ff7052;',
509 | '}',
510 | '
')) 511 | ); 512 | end; 513 | / 514 | begin 515 | wwv_flow_api.g_varchar2_table := wwv_flow_api.empty_varchar2_table; 516 | wwv_flow_api.g_varchar2_table(1) := '2F2A21207365617263684E61764D656E752E6373732076322E30207C204142414B555320504C555320642E6F2E6F2E207C20416E6472656A2047726C696361207C20616E6472656A2E67726C696361406162616B75732E7369202A2F0D0A2F2A203D3D3D'; 517 | wwv_flow_api.g_varchar2_table(2) := '3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D0D0A2020202D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D'; 518 | wwv_flow_api.g_varchar2_table(3) := '2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0D0A2020204465736372697074696F6E0D0A095573656420666F7220536561726368696E67204E617669676174'; 519 | wwv_flow_api.g_varchar2_table(4) := '696F6E204D656E75205374796C6520536865657420696E204F7261636C65204170706C69636174696F6E20457870726573730D0A2020202D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D'; 520 | wwv_flow_api.g_varchar2_table(5) := '2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D200D0A2A2F200D0A0D0A2E737263685F6E6176207B0D0A09706F736974696F6E3A72656C61746976653B0D0A2020202077696474683A3935253B0D0A096D61726769'; 521 | wwv_flow_api.g_varchar2_table(6) := '6E3A203470783B090D0A7D0D0A2E737263685F69636F6E207B0D0A09666F6E742D73697A653A20323070783B0D0A7D0D0A2E737263685F6E6176207370616E207B0D0A09706F736974696F6E3A206162736F6C7574653B0D0A09646973706C61793A2062'; 522 | wwv_flow_api.g_varchar2_table(7) := '6C6F636B3B0D0A096C6566743A203770783B0D0A09746F703A203770783B0D0A09666F6E742D73697A653A20323070783B0D0A7D0D0A2E737263685F6E617620696E707574207B0D0A0977696474683A20313030253B0D0A096D617267696E3A3270783B'; 523 | wwv_flow_api.g_varchar2_table(8) := '0D0A0970616464696E673A20337078203270782033707820323570783B0D0A09626F726465723A2031707820736F6C69643B200D0A09646973706C61793A20626C6F636B3B0D0A09626F726465722D7261646975733A203470783B0D0A097472616E7369'; 524 | wwv_flow_api.g_varchar2_table(9) := '74696F6E3A20302E327320656173652D6F75743B0D0A7D0D0A2E737263685F6E617620696E7075743A666F637573207B0D0A096F75746C696E653A20303B0D0A7D0D0A626F64792E6A732D6E6176436F6C6C6170736564206469762E737263685F6E6176'; 525 | wwv_flow_api.g_varchar2_table(10) := '20207B0D0A09646973706C61793A6E6F6E653B0D0A7D0D0A626F64792E6A732D6E6176457870616E646564206469762E737263685F6E617620207B0D0A09646973706C61793A626C6F636B3B0D0A7D0D0A0D0A2F2A2048454C50206D6F64616C20646961'; 526 | wwv_flow_api.g_varchar2_table(11) := '6C6F67202A2F0D0A2E737263685F6D6F64616C207B0D0A09706F736974696F6E3A66697865642021696D706F7274616E743B0D0A7D0D0A2E737263685F6D6F64616C207370616E2E75692D6469616C6F672D7469746C65207B0D0A20202020666F6E742D'; 527 | wwv_flow_api.g_varchar2_table(12) := '73697A653A323070782021696D706F7274616E743B0D0A20202020666F6E742D7765696768743A626F6C642021696D706F7274616E743B0D0A7D0D0A2E737263685F6D6F64616C207461626C652074642E74645F7269676874207B0D0A20202020746578'; 528 | wwv_flow_api.g_varchar2_table(13) := '742D616C69676E3A72696768743B0D0A7D0D0A2E737263685F6D6F64616C207461626C652074722E74725F6267207464207B0D0A20202020666F6E742D7765696768743A626F6C643B0D0A202020206261636B67726F756E642D636F6C6F723A23653665'; 529 | wwv_flow_api.g_varchar2_table(14) := '3665363B0D0A7D0D0A2E737263685F6D6F64616C207461626C65207472207464207B0D0A2020202070616464696E673A3270783B0D0A7D0D0A'; 530 | null; 531 | end; 532 | / 533 | begin 534 | wwv_flow_api.create_plugin_file( 535 | p_id=>wwv_flow_api.id(10654881315044736) 536 | ,p_plugin_id=>wwv_flow_api.id(10654364716041103) 537 | ,p_file_name=>'searchNavMenu.css' 538 | ,p_mime_type=>'text/css' 539 | ,p_file_charset=>'utf-8' 540 | ,p_file_content=>wwv_flow_api.varchar2_to_blob(wwv_flow_api.g_varchar2_table) 541 | ); 542 | end; 543 | / 544 | begin 545 | wwv_flow_api.g_varchar2_table := wwv_flow_api.empty_varchar2_table; 546 | wwv_flow_api.g_varchar2_table(1) := '2F2A21207365617263684E61764D656E752E6A732076322E31207C204142414B555320504C555320642E6F2E6F2E207C20416E6472656A2047726C696361207C20616E6472656A2E67726C696361406162616B75732E7369202A2F0D0A2F2A203D3D3D3D'; 547 | wwv_flow_api.g_varchar2_table(2) := '3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D0D0A0D0A2020204465736372697074696F6E3A0D0A095363726970742069'; 548 | wwv_flow_api.g_varchar2_table(3) := '73207573656420666F7220536561726368204E617669676174696F6E204D656E7520696E204F7261636C65204170706C69636174696F6E20457870726573730D0A090D0A2020202D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D'; 549 | wwv_flow_api.g_varchar2_table(4) := '2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D0D0A090D0A09506172616D6574657273203A200D0A09096974656D5F6964203D206974656D2069642066726F6D2061706578'; 550 | wwv_flow_api.g_varchar2_table(5) := '0D0A09096D656E754F7074696F6E73203D20286164646974696F6E616C206D656E75206F7074696F6E73290D0A0909656C6D203D206F626A6563740D0A090965203D206576656E740D0A0909616A61784964656E746966696572203D206E616D65206F66'; 551 | wwv_flow_api.g_varchar2_table(6) := '20616A61782063616C6C2066756E6374696F6E0D0A09096C5F736B6579203D20636861726163746572206B6579707265737320666F637573206F6E207365617263680D0A2A2F0D0A0D0A76617220534E4D436C6F736564203D2066616C73653B0D0A7661'; 552 | wwv_flow_api.g_varchar2_table(7) := '7220534E4D4F7074696F6E73203D0D0A090909097B0D0A0909090909224D656E754F70656E223A2066616C73652C0D0A0909090909224D656E75436C69636B4F70656E436C6F7365223A20747275652C0D0A090909090922536176655353223A20747275'; 553 | wwv_flow_api.g_varchar2_table(8) := '652C0D0A09090909092253686F7274637574536176655353223A2066616C73652C0D0A090909090922536872744361736553656E736974697665223A20747275652C0D0A0909090909224F6E53656172636853686F774368696C6472656E223A20747275'; 554 | wwv_flow_api.g_varchar2_table(9) := '652C0D0A090909090922557365466F637573223A747275652C0D0A09090909092253686F727463757473223A205B5D0D0A090909097D3B0D0A0D0A66756E6374696F6E20736574534E4D53686F72746375747328705F73686F72746375747329207B0D0A'; 555 | wwv_flow_api.g_varchar2_table(10) := '09534E4D4F7074696F6E732E53686F727463757473203D20705F73686F7274637574733B0D0A7D0D0A0D0A66756E6374696F6E20617070656E64534E4D53686F727463757428705F73686F727463757429207B0D0A0928534E4D4F7074696F6E732E5368'; 556 | wwv_flow_api.g_varchar2_table(11) := '6F727463757473292E7075736828705F73686F727463757473293B0D0A7D0D0A0D0A66756E6374696F6E206F70656E4D6F64616C534E4D48656C702829207B0D0A096F70656E4D6F64616C534E4D2822534E4D5F48656C70222C2067657448656C70534E'; 557 | wwv_flow_api.g_varchar2_table(12) := '4D2829293B0D0A7D0D0A0D0A66756E6374696F6E206F70656E534E4D4368696C6472656E49664578697374732829207B0D0A0969662028534E4D4F7074696F6E732E4F6E53656172636853686F774368696C6472656E290D0A09092428276C695B69645E'; 558 | wwv_flow_api.g_varchar2_table(13) := '3D22745F547265654E6176225D2E69732D657870616E6461626C655B7374796C653D22646973706C61793A20626C6F636B3B225D27292E6368696C6472656E2822756C22292E6368696C6472656E28226C6922292E656163682866756E6374696F6E2028'; 559 | wwv_flow_api.g_varchar2_table(14) := '29207B0D0A09090969662028242874686973292E6861732820227374726F6E672220292E6C656E677468207C7C2028242874686973292E686173282022756C2220292E6C656E677468203D3D2066616C736520262620242874686973292E686173282022'; 560 | wwv_flow_api.g_varchar2_table(15) := '7374726F6E672220292E6C656E677468203D3D2066616C736529290D0A09090909242874686973292E6373732822646973706C6179222C2022626C6F636B22293B200D0A09097D293B0D0A09092428276C695B69645E3D22745F547265654E6176225D2E'; 561 | wwv_flow_api.g_varchar2_table(16) := '69732D636F6C6C61707369626C655B7374796C653D22646973706C61793A20626C6F636B3B225D27292E6368696C6472656E2822756C22292E6368696C6472656E28226C6922292E656163682866756E6374696F6E202829207B0D0A0909096966202824'; 562 | wwv_flow_api.g_varchar2_table(17) := '2874686973292E6861732820227374726F6E672220292E6C656E677468207C7C2028242874686973292E686173282022756C2220292E6C656E677468203D3D2066616C736520262620242874686973292E6861732820227374726F6E672220292E6C656E'; 563 | wwv_flow_api.g_varchar2_table(18) := '677468203D3D2066616C736529290D0A09090909242874686973292E6373732822646973706C6179222C2022626C6F636B22293B200D0A09097D293B09090D0A7D0D0A0D0A66756E6374696F6E204C6F61645365617263684E61764D656E75286974656D'; 564 | wwv_flow_api.g_varchar2_table(19) := '5F69642C206D656E754F7074696F6E732C20616A61784964656E7469666965722C206C5F736B65792C20656C6D56616C29207B0D0A09696620286D656E754F7074696F6E73290D0A0909534E4D4F7074696F6E73203D206D656E754F7074696F6E733B0D'; 565 | wwv_flow_api.g_varchar2_table(20) := '0A0D0A09534E4D4F7074696F6E732E616A61784964203D20616A61784964656E7469666965723B200D0A09534E4D4F7074696F6E732E4974656D4964203D206974656D5F69643B200D0A0969662028534E4D4F7074696F6E732E4D656E75436C69636B4F'; 566 | wwv_flow_api.g_varchar2_table(21) := '70656E436C6F7365290D0A090924282223745F426F64795F6E61762023745F547265654E617622292E6F6E2822636C69636B222C2022756C206C692E612D54726565566965772D6E6F6465206469762E612D54726565566965772D636F6E74656E743A6E'; 567 | wwv_flow_api.g_varchar2_table(22) := '6F74283A68617328612929222C2066756E6374696F6E2829207B0D0A090909242874686973292E7072657628227370616E2E612D54726565566965772D746F67676C6522292E636C69636B28293B0D0A09097D293B090D0A09090D0A0969662028534E4D'; 568 | wwv_flow_api.g_varchar2_table(23) := '4F7074696F6E732E536176655353290D0A0909242822696E7075742E737263685F696E70757422292E76616C28656C6D56616C293B09090D0A090D0A202020202F2F416464206576656E7473206F6E206974656D730D0A202020202F2F2D2D2D2D2D204B'; 569 | wwv_flow_api.g_varchar2_table(24) := '6579444F574E0D0A20202020242822696E7075742E737263685F696E70757422292E6B6579646F776E2866756E6374696F6E286529207B0D0A09096B6579446F776E5365617263684E617628242874686973292C2065293B0D0A09092F2F6F70656E534E'; 570 | wwv_flow_api.g_varchar2_table(25) := '4D4368696C6472656E496645786973747328293B0D0A202020207D293B0D0A202020200D0A092F2F2D2D2D2D2D204B657955500D0A20202020242822696E7075742E737263685F696E70757422292E6B657975702866756E6374696F6E28652C20706167'; 571 | wwv_flow_api.g_varchar2_table(26) := '654576656E7429207B0D0A09096B657955705365617263684E617628242874686973292C20652C20706167654576656E74293B0D0A202020207D293B200D0A0D0A09090D0A092F2F2D2D2D2D2D20436C656172206669656C642049452070726F626C656D'; 572 | wwv_flow_api.g_varchar2_table(27) := '2C2069742773206E6F74206F6E204B455955500D0A09242822696E7075742E737263685F696E70757422292E62696E642827696E7075742070726F70657274796368616E6765272C2066756E6374696F6E28652C20706167654576656E7429207B0D0A09'; 573 | wwv_flow_api.g_varchar2_table(28) := '0969662028746869732E76616C7565203D3D20222229207B0D0A09090973657443757272656E744E6176286974656D5F6964293B0D0A0909096966202821706167654576656E74290D0A0909090973617665536573536174654E6176282222293B200D0A'; 574 | wwv_flow_api.g_varchar2_table(29) := '09097D0D0A097D293B0D0A090D0A202020202F2F2D2D2D2D2D20436C69636B206F6E20696E707574206261722C2070726576656E742064656661756C7420224368726F6D652070726F626C656D222E0D0A20202020242822696E7075742E737263685F69'; 575 | wwv_flow_api.g_varchar2_table(30) := '6E70757422292E6F6E2822636C69636B222C2066756E6374696F6E2865297B652E70726576656E7444656661756C7428293B2072657475726E2066616C73653B7D293B0D0A200D0A20202020617065782E6A51756572792877696E646F77292E6F6E2822'; 576 | wwv_flow_api.g_varchar2_table(31) := '6170657877696E646F77726573697A6564222C2066756E6374696F6E286529207B0D0A2020202020202020202020206F6E526573697A6557696E5365617263684E617628293B0D0A202020207D293B0D0A0D0A202020202F2F202020202D2D2D2D2D204B'; 577 | wwv_flow_api.g_varchar2_table(32) := '657962696E6420746F20666F637573206F6E2053656172636820426F782E204374726C202B20557365722053656C6563746564204B6579202844656661756C74203D2053290D0A20202020696620286C5F736B6579290D0A0909534E4D4F7074696F6E73'; 578 | wwv_flow_api.g_varchar2_table(33) := '2E736B6579203D206C5F736B65793B0D0A09092428646F63756D656E74292E6F6E28226B6579646F776E222C2066756E6374696F6E2865297B0D0A09090973686F72744375745365617263684E617628652C206C5F736B6579293B0D0A20202020202020'; 579 | wwv_flow_api.g_varchar2_table(34) := '207D293B090D0A09090D0A096164644D6F64616C534E4D2822534E4D5F48656C70222C2022536561726368204E617669676174696F6E204D656E752048454C5022293B0D0A090D0A092F2F2D2D2D2D204F6E20646F63756D656E74207265616479090D0A'; 580 | wwv_flow_api.g_varchar2_table(35) := '09242866756E6374696F6E2829207B0D0A090976617220637572724974656D203D20646F63756D656E742E616374697665456C656D656E743B0D0A0909696620282169734E6176547265654F70656E2829290D0A090909534E4D436C6F7365643D747275'; 581 | wwv_flow_api.g_varchar2_table(36) := '653B0D0A09096F70656E416C6C4E61765375626D656E757328293B0D0A09092428276C695B69645E3D22745F547265654E6176225D2E69732D636F6C6C61707369626C6527292E66696E6428277370616E2E612D54726565566965772D746F67676C6527'; 582 | wwv_flow_api.g_varchar2_table(37) := '292E636C69636B28293B200D0A09092F2F4265636175736520616C6C206C6973742077657265206F70656E20616E64206C617374206F6E6520636C6F736564207765206E65656420746F206F70656E2063757272656E74206C6973740D0A090973657443'; 583 | wwv_flow_api.g_varchar2_table(38) := '757272656E744E6176286974656D5F6964293B0D0A09090D0A090969662028534E4D4F7074696F6E732E4D656E754F70656E290D0A09090973686F77416C6C5375626C697374735365617263684E617628293B0D0A0D0A090969662028534E4D4F707469'; 584 | wwv_flow_api.g_varchar2_table(39) := '6F6E732E557365466F637573290D0A090909637572724974656D2E666F63757328293B0D0A097D293B090D0A7D0D0A0D0A66756E6374696F6E206F70656E416C6C4E61765375626D656E757328656C6D29207B0D0A09766172206C5F656C6D3D22223B0D'; 585 | wwv_flow_api.g_varchar2_table(40) := '0A0969662028656C6D290D0A09096C5F656C6D3D226C695B69643D222B656C6D2E617474722822696422292B225D20223B0D0A0924286C5F656C6D2B276C695B69645E3D22745F547265654E6176225D2E69732D657870616E6461626C6527292E656163'; 586 | wwv_flow_api.g_varchar2_table(41) := '682866756E6374696F6E2829207B0D0A0909242874686973292E66696E6428227370616E2E612D54726565566965772D746F67676C6522292E636C69636B28293B0D0A09096F70656E416C6C4E61765375626D656E75732824287468697329293B0D0A09'; 587 | wwv_flow_api.g_varchar2_table(42) := '7D293B0D0A7D0D0A0D0A66756E6374696F6E2073657443757272656E744E6176286974656D5F696429207B0D0A092428276C695B69645E3D22745F547265654E6176225D27292E65616368282066756E6374696F6E28297B0D0A20202020202020206966'; 588 | wwv_flow_api.g_varchar2_table(43) := '2028242874686973292E66696E6428226469762E612D54726565566965772D636F6E74656E743A666972737422292E686173436C617373282269732D63757272656E74222929207B0D0A202020202020202020202020242874686973292E66696E642822'; 589 | wwv_flow_api.g_varchar2_table(44) := '6469762E612D54726565566965772D726F773A666972737422292E616464436C617373282269732D73656C656374656422293B0D0A20202020202020202020202069662028242874686973292E686173436C617373282269732D657870616E6461626C65'; 590 | wwv_flow_api.g_varchar2_table(45) := '2229290D0A20202020202020202020202020202020242874686973292E66696E6428227370616E2E612D54726565566965772D746F67676C653A666972737422292E636C69636B28293B20200D0A202020202020207D0D0A09202020656C736520696620'; 591 | wwv_flow_api.g_varchar2_table(46) := '28242874686973292E66696E6428226469762E612D54726565566965772D636F6E74656E743A666972737422292E686173436C617373282269732D63757272656E742D2D746F70222929207B0D0A090909242874686973292E66696E6428227370616E2E'; 592 | wwv_flow_api.g_varchar2_table(47) := '612D54726565566965772D746F67676C653A666972737422292E636C69636B28293B200D0A092020207D0D0A20202020202020656C73650D0A2020202020202020202020242874686973292E66696E6428226469762E612D54726565566965772D726F77'; 593 | wwv_flow_api.g_varchar2_table(48) := '3A666972737422292E72656D6F7665436C617373282269732D73656C656374656422293B0D0A202020207D293B0D0A0969662028534E4D436C6F736564290D0A090924282723745F427574746F6E5F6E6176436F6E74726F6C27292E636C69636B28293B'; 594 | wwv_flow_api.g_varchar2_table(49) := '0D0A20202020656C73650D0A090973686F7748696465536561726368426172286974656D5F6964293B0D0A7D0D0A0D0A66756E6374696F6E2069734E6176547265654F70656E2829207B0D0A09747279207B0D0A090972657475726E20617065782E7468'; 595 | wwv_flow_api.g_varchar2_table(50) := '656D6534322E746F67676C65576964676574732E6973457870616E64656428226E617622293B0D0A097D0D0A096361746368286529207B0D0A0909617065782E64656275672E696E666F28224572726F723A20617065782E7468656D6534322E746F6767'; 596 | wwv_flow_api.g_varchar2_table(51) := '6C65576964676574732E6973457870616E64656428276E6176272920646F65736E2774206578697374206265666F7265204F7261636C65204150455820352E31206572726F726D73673A20222B65293B200D0A090972657475726E20242827626F647927'; 597 | wwv_flow_api.g_varchar2_table(52) := '292E686173436C61737328276A732D6E6176457870616E64656427293B0D0A097D0D0A0972657475726E2066616C73653B0D0A7D0D0A0D0A66756E6374696F6E20726564697265637455726C534E4D28726564697265637455524C2C20704E657757696E'; 598 | wwv_flow_api.g_varchar2_table(53) := '646F7729207B0D0A0969662028726564697265637455524C2026262021704E657757696E646F7729207B0D0A090977696E646F772E6C6F636174696F6E2E68726566203D20726564697265637455524C3B0D0A09096966202821534E4D4F7074696F6E73'; 599 | wwv_flow_api.g_varchar2_table(54) := '2E53686F727463757453617665535320262620726564697265637455524C2E746F4C6F7765724361736528292E696E6465784F6628226A6176617363726970743A2229203D3D203029207B0D0A090909242822696E7075742E737263685F696E70757422'; 600 | wwv_flow_api.g_varchar2_table(55) := '292E76616C282222293B0D0A09090973657443757272656E744E617628534E4D4F7074696F6E732E4974656D4964293B0D0A09097D0D0A097D0D0A09656C73652069662028726564697265637455524C20262620704E657757696E646F7729207B0D0A09'; 601 | wwv_flow_api.g_varchar2_table(56) := '096966202821534E4D4F7074696F6E732E53686F727463757453617665535329207B0D0A090909242822696E7075742E737263685F696E70757422292E76616C282222293B0D0A09090973657443757272656E744E617628534E4D4F7074696F6E732E49'; 602 | wwv_flow_api.g_varchar2_table(57) := '74656D4964293B0D0A09097D0D0A090977696E646F772E6F70656E28726564697265637455524C2C20225F626C616E6B22293B0D0A097D0D0A7D0D0A0D0A66756E6374696F6E2073617665536573536174654E6176286E657756616C2C20726564697265'; 603 | wwv_flow_api.g_varchar2_table(58) := '637455524C2C20704E657757696E646F7729207B0D0A0969662028534E4D4F7074696F6E732E53617665535329207B0D0A0909617065782E7365727665722E706C7567696E2820534E4D4F7074696F6E732E616A617849642C207B0D0A0909097830313A'; 604 | wwv_flow_api.g_varchar2_table(59) := '206E657756616C0D0A09097D2C207B64617461547970653A226A736F6E222C200D0A0909096163636570743A20226170706C69636174696F6E2F6A736F6E222C0D0A090909737563636573733A2066756E6374696F6E282070446174612029207B0D0A09'; 605 | wwv_flow_api.g_varchar2_table(60) := '09090969662870446174612E7374617465203D3D20274F4B2729207B0D0A0909090909617065782E64656275672E696E666F282253617665642073657373696F6E2073746174652E22293B20200D0A0909090909726564697265637455726C534E4D2872'; 606 | wwv_flow_api.g_varchar2_table(61) := '6564697265637455524C2C20704E657757696E646F77293B0D0A090909097D0D0A09090909656C73650D0A0909090909617065782E64656275672E6572726F722822536176696E67207468652073657373696F6E20737461746520666F72205365617263'; 607 | wwv_flow_api.g_varchar2_table(62) := '68204E617669676174696F6E206661696C65643A20222B4A534F4E2E737472696E67696679287044617461292020293B0D0A09092020207D2C0D0A09092020206572726F723A2066756E6374696F6E282070446174612029207B0D0A0909092061706578'; 608 | wwv_flow_api.g_varchar2_table(63) := '2E64656275672E6572726F722822536176696E67207468652073657373696F6E20737461746520666F7220536561726368204E617669676174696F6E206661696C65643A20222B4A534F4E2E737472696E676966792870446174612920293B0D0A090920'; 609 | wwv_flow_api.g_varchar2_table(64) := '20207D0D0A09097D293B200D0A097D0D0A09656C7365207B0D0A0909726564697265637455726C534E4D28726564697265637455524C2C20704E657757696E646F77293B0D0A097D0D0A7D0D0A0D0A66756E6374696F6E2073686F774869646553656172'; 610 | wwv_flow_api.g_varchar2_table(65) := '6368426172286974656D5F696429207B0D0A20206966202869734E6176547265654F70656E282929200D0A20202020242827696E7075742E737263685F696E70757427292E7472696767657228226B65797570222C205B747275655D293B0D0A2020656C'; 611 | wwv_flow_api.g_varchar2_table(66) := '7365207B0D0A09242827696E7075742E737263685F696E70757427292E7472696767657228226B65797570222C205B747275655D293B0D0A0968696465416C6C5375626C697374735365617263684E617628293B0D0A20207D0D0A7D0D0A0D0A66756E63'; 612 | wwv_flow_api.g_varchar2_table(67) := '74696F6E2068696465416C6C5375626C697374735365617263684E61762829207B0D0A092428276C695B69645E3D22745F547265654E6176225D2E69732D657870616E6461626C6527292E66696E642822756C22292E6373732822646973706C6179222C'; 613 | wwv_flow_api.g_varchar2_table(68) := '20226E6F6E6522293B0D0A7D0D0A66756E6374696F6E2073686F77416C6C5375626C697374735365617263684E61762829207B0D0A092428276C695B69645E3D22745F547265654E6176225D2E69732D657870616E6461626C6527292E66696E64282275'; 614 | wwv_flow_api.g_varchar2_table(69) := '6C22292E6373732822646973706C6179222C2022626C6F636B22293B0D0A7D0D0A0D0A66756E6374696F6E20636F6C6F725365617263684E6176287478742C2072706C53747229207B0D0A20202020766172206C6F63203D207478742E746F4C6F776572'; 615 | wwv_flow_api.g_varchar2_table(70) := '4361736528292E696E6465784F662872706C5374722E746F4C6F776572436173652829293B0D0A20202020696620286C6F63213D2D3129207B0D0A202020202020202072657475726E207478742E736C69636528302C206C6F63292B273C7374726F6E67'; 616 | wwv_flow_api.g_varchar2_table(71) := '3E272B7478742E736C696365286C6F632C206C6F632B72706C5374722E6C656E677468292B273C2F7374726F6E673E272B7478742E736C6963652872706C5374722E6C656E6774682B6C6F632C207478742E6C656E677468293B0D0A202020207D0D0A20'; 617 | wwv_flow_api.g_varchar2_table(72) := '20202072657475726E207478743B202020200D0A7D0D0A0D0A66756E6374696F6E20686F7665725365617263684E61762829207B0D0A202020202428276C695B69645E3D22745F547265654E61765F225D206469762E69732D686F76657227292E72656D'; 618 | wwv_flow_api.g_varchar2_table(73) := '6F7665436C617373282269732D686F76657222293B0D0A202020202428276C695B69645E3D22745F547265654E61765F225D5B7374796C652A3D22646973706C61793A20626C6F636B225D20612E612D54726565566965772D6C6162656C207374726F6E'; 619 | wwv_flow_api.g_varchar2_table(74) := '6727292E656163682866756E6374696F6E2829207B0D0A2020202020202020242874686973292E706172656E747328226C6922292E65712830292E6368696C6472656E282264697622292E616464436C617373282269732D686F76657222293B0D0A2020'; 620 | wwv_flow_api.g_varchar2_table(75) := '20202020202072657475726E2066616C73653B0D0A202020207D293B0D0A7D0D0A0D0A66756E6374696F6E20737465704E6578745365617263684E6176287265766572736529207B0D0A20202020766172206F626A203D202428276C695B69645E3D2274'; 621 | wwv_flow_api.g_varchar2_table(76) := '5F547265654E61765F225D206469762E69732D686F76657227292C206E65774F626A2C20666C673B202F2F666C6720666F7220666C6167206E657874206F626A6563740D0A20202020696620286F626A5B305D29207B0D0A20202020202020206F626A2E'; 622 | wwv_flow_api.g_varchar2_table(77) := '72656D6F7665436C617373282269732D686F76657222293B0D0A20202020202020202428276C695B69645E3D22745F547265654E61765F225D5B7374796C652A3D22646973706C61793A20626C6F636B225D20612E612D54726565566965772D6C616265'; 623 | wwv_flow_api.g_varchar2_table(78) := '6C207374726F6E6727292E656163682866756E6374696F6E2829207B0D0A2020202020202020202020696628242874686973292E706172656E747328226C6922292E65712830292E61747472282269642229203D3D206F626A2E706172656E7428226C69'; 624 | wwv_flow_api.g_varchar2_table(79) := '22292E617474722822696422292026262072657665727365290D0A20202020202020202020202020202072657475726E2066616C73653B0D0A2020202020202020202020656C73652069662028666C6729207B0D0A202020202020202020202020202020'; 625 | wwv_flow_api.g_varchar2_table(80) := '6E65774F626A3D242874686973292E706172656E747328226C6922292E65712830293B0D0A20202020202020202020202020202072657475726E2066616C73653B0D0A20202020202020202020207D0D0A2020202020202020202020656C736520696620'; 626 | wwv_flow_api.g_varchar2_table(81) := '28242874686973292E706172656E747328226C6922292E65712830292E61747472282269642229203D3D206F626A2E706172656E7428226C6922292E617474722822696422292026262021726576657273652026262021666C6729207B0D0A2020202020'; 627 | wwv_flow_api.g_varchar2_table(82) := '20202020202020202020666C67203D20747275653B0D0A2020202020202020202020202020206E65774F626A3D242874686973292E706172656E747328226C6922292E65712830293B0D0A20202020202020202020207D0D0A2020202020202020202020'; 628 | wwv_flow_api.g_varchar2_table(83) := '656C73650D0A2020202020202020202020202020206E65774F626A3D242874686973292E706172656E747328226C6922292E65712830293B0D0A20202020202020207D293B0D0A2020202020202020696620286E65774F626A290D0A2020202020202020'; 629 | wwv_flow_api.g_varchar2_table(84) := '2020202024286E65774F626A292E6368696C6472656E282264697622292E616464436C617373282269732D686F76657222293B0D0A2020202020202020656C73650D0A20202020202020202020202024286F626A292E616464436C617373282269732D68'; 630 | wwv_flow_api.g_varchar2_table(85) := '6F76657222293B2020200D0A202020207D0D0A20202020656C73650D0A20202020202020686F7665725365617263684E617628293B202020200D0A7D0D0A0D0A66756E6374696F6E207061727365534E4D53686F7274637574286F626A2C20656C6D5661'; 631 | wwv_flow_api.g_varchar2_table(86) := '6C29207B0D0A097661722072657455524C203D2022223B0D0A090D0A096966202822616374696F6E2220696E206F626A29207B0D0A0909766172206C5F636C65617243616368653D22222C206C5F706167655F6964203D202476282270466C6F77537465'; 632 | wwv_flow_api.g_varchar2_table(87) := '70496422293B0D0A0909696620286F626A2E706167655F6964290D0A0909096C5F706167655F6964203D206F626A2E706167655F69643B0D0A0909696620286F626A2E636C6561724361636865290D0A0909096966202822636C65617243616368654C69'; 633 | wwv_flow_api.g_varchar2_table(88) := '73742220696E206F626A290D0A090909096C5F636C6561724361636865203D206F626A2E636C65617243616368654C6973743B0D0A090909656C73650D0A090909096C5F636C6561724361636865203D206C5F706167655F69643B200D0A09090D0A0909'; 634 | wwv_flow_api.g_varchar2_table(89) := '696620286F626A2E616374696F6E2E746F4C6F776572436173652829203D3D202270616765222026262021656C6D56616C29200D0A09090972657455524C203D2022663F703D222B2476282270466C6F77496422292B223A222B6C5F706167655F69642B'; 635 | wwv_flow_api.g_varchar2_table(90) := '223A222B2476282270496E7374616E636522292B223A3A3A222B6C5F636C65617243616368652B223A3A220D0A0909656C736520696620286F626A2E616374696F6E2E746F4C6F776572436173652829203D3D202275726C222026262021656C6D56616C'; 636 | wwv_flow_api.g_varchar2_table(91) := '29207B0D0A090909696620286F626A2E75726C290D0A0909090972657455524C203D206F626A2E75726C3B0D0A09097D0D0A0909656C736520696620286F626A2E616374696F6E2E746F4C6F776572436173652829203D3D202269722229207B0D0A0909'; 637 | wwv_flow_api.g_varchar2_table(92) := '097661722069725F6C696E6B3D224952223B0D0A090909696620282249525F7374617469635F69642220696E206F626A290D0A0909090969725F6C696E6B2B3D225B222B6F626A2E49525F7374617469635F69642B225D223B0D0A090909696620282249'; 638 | wwv_flow_api.g_varchar2_table(93) := '525F6F70657261746F722220696E206F626A290D0A0909090969725F6C696E6B2B3D6F626A2E49525F6F70657261746F722B225F223B0D0A090909696620282249525F747970652220696E206F626A290D0A09090909696620286F626A2E49525F747970'; 639 | wwv_flow_api.g_varchar2_table(94) := '652E746F4C6F776572436173652829203D3D2022636F6C756D6E22290D0A0909090909696620282249525F636F6C756D6E2220696E206F626A290D0A09090909090969725F6C696E6B2B3D6F626A2E49525F636F6C756D6E3B0D0A0909090909656C7365'; 640 | wwv_flow_api.g_varchar2_table(95) := '0D0A09090909090969725F6C696E6B2B3D22524F5746494C544552223B0D0A09090909656C73650D0A090909090969725F6C696E6B2B3D22524F5746494C544552223B09090D0A090909656C73650D0A0909090969725F6C696E6B2B3D22524F5746494C'; 641 | wwv_flow_api.g_varchar2_table(96) := '544552223B090D0A090909696620286C5F636C656172436163686529207B0D0A09090909696620282249525F636C65617243616368652220696E206F626A290D0A09090909096C5F636C6561724361636865202B3D222C222B6F626A2E49525F636C6561'; 642 | wwv_flow_api.g_varchar2_table(97) := '7243616368653B0D0A0909097D0D0A090909656C7365207B0D0A09090909696620282249525F636C65617243616368652220696E206F626A290D0A09090909096C5F636C6561724361636865203D206F626A2E49525F636C65617243616368653B090909'; 643 | wwv_flow_api.g_varchar2_table(98) := '090D0A0909097D0D0A09090969662028656C6D56616C290D0A0909090972657455524C203D2022663F703D222B2476282270466C6F77496422292B223A222B6C5F706167655F69642B223A222B2476282270496E7374616E636522292B223A3A3A222B6C'; 644 | wwv_flow_api.g_varchar2_table(99) := '5F636C65617243616368652B223A222B69725F6C696E6B2B223A222B656C6D56616C3B0D0A090909656C73650D0A09090909696620282249525F76616C75652220696E206F626A29090D0A090909090972657455524C203D2022663F703D222B24762822'; 645 | wwv_flow_api.g_varchar2_table(100) := '70466C6F77496422292B223A222B6C5F706167655F69642B223A222B2476282270496E7374616E636522292B223A3A3A222B6C5F636C65617243616368652B223A222B69725F6C696E6B2B223A222B6F626A2E49525F76616C75653B0D0A09097D09090D'; 646 | wwv_flow_api.g_varchar2_table(101) := '0A0909656C736520696620286F626A2E616374696F6E2E746F4C6F776572436173652829203D3D20226974656D2229207B0D0A09090969662028656C6D56616C29207B0D0A0909090969662028226974656D5F6E616D652220696E206F626A29090D0A09'; 647 | wwv_flow_api.g_varchar2_table(102) := '0909090972657455524C203D2022663F703D222B2476282270466C6F77496422292B223A222B6C5F706167655F69642B223A222B2476282270496E7374616E636522292B223A3A3A222B6C5F636C65617243616368652B223A222B6F626A2E6974656D5F'; 648 | wwv_flow_api.g_varchar2_table(103) := '6E616D652B223A222B656C6D56616C3B0D0A0909097D0D0A090909656C7365200D0A0909090969662028226974656D5F6E616D652220696E206F626A20262620226974656D5F76616C75652220696E206F626A290D0A090909090972657455524C203D20'; 649 | wwv_flow_api.g_varchar2_table(104) := '22663F703D222B2476282270466C6F77496422292B223A222B6C5F706167655F69642B223A222B2476282270496E7374616E636522292B223A3A3A222B6C5F636C65617243616368652B223A222B6F626A2E6974656D5F6E616D652B223A222B6F626A2E'; 650 | wwv_flow_api.g_varchar2_table(105) := '6974656D5F76616C75653B0909090D0A09097D090D0A097D0D0A096966202872657455524C290D0A0909617065782E64656275672E696E666F28224F626A6563743A222B4A534F4E2E737472696E67696679286F626A292B222072657475726E696E6720'; 651 | wwv_flow_api.g_varchar2_table(106) := '55524C203A27222B72657455524C2B222722293B0D0A0972657475726E2072657455524C3B0D0A7D0D0A0D0A66756E6374696F6E207265646972656374534E4D286F626A2C207374617274576974682C20656C6D56616C29207B0D0A0976617220726472'; 652 | wwv_flow_api.g_varchar2_table(107) := '2C206C5F6E657757696E646F772C2076616C53657373696F6E53746174653D22223B0D0A0969662028534E4D4F7074696F6E732E53686F7274637574536176655353290D0A090976616C53657373696F6E53746174653D656C6D56616C3B0D0A09696628'; 653 | wwv_flow_api.g_varchar2_table(108) := '6F626A29207B0D0A0909696620286F626A2E6E657757696E646F77290D0A0909096C5F6E657757696E646F77203D20747275653B0D0A09096966202873746172745769746829200D0A0909097264723D7061727365534E4D53686F7274637574286F626A'; 654 | wwv_flow_api.g_varchar2_table(109) := '2C20656C6D56616C2E737562737472286F626A2E6E616D652E6C656E6774682B312C20656C6D56616C2E6C656E6774682D6F626A2E6E616D652E6C656E6774682B3129293B0D0A0909656C7365200D0A0909097264723D7061727365534E4D53686F7274'; 655 | wwv_flow_api.g_varchar2_table(110) := '637574286F626A293B0D0A09090D0A09096966202872647229207B0D0A09090973617665536573536174654E61762876616C53657373696F6E53746174652C207264722C206C5F6E657757696E646F77293B200D0A09090972657475726E20747275653B'; 656 | wwv_flow_api.g_varchar2_table(111) := '0D0A09097D0D0A097D0D0A09656C7365207B090D0A0909726472203D202428276C695B69645E3D22745F547265654E61765F225D5B7374796C652A3D22646973706C61793A20626C6F636B225D206469762E69732D686F76657220612E612D5472656556'; 657 | wwv_flow_api.g_varchar2_table(112) := '6965772D6C6162656C27292E6174747228226872656622293B0D0A09096966202872647229207B0D0A09090977696E646F772E6C6F636174696F6E2E68726566203D207264723B0D0A09090972657475726E20747275653B0D0A09097D0D0A097D0D0A09'; 658 | wwv_flow_api.g_varchar2_table(113) := '72657475726E2066616C73653B0D0A7D0D0A0D0A66756E6374696F6E20636865636B416E645265646972656374534E4D28656C6D29207B0D0A0976617220656C6D56616C203D202428656C6D292E76616C28292C2066696E645F73686F7274637574203D'; 659 | wwv_flow_api.g_varchar2_table(114) := '2066616C73652C206361736553656E7369746976653B0D0A0969662028534E4D4F7074696F6E732E536872744361736553656E736974697665290D0A09096361736553656E7369746976653D747275653B0D0A0969662028216A51756572792E6973456D'; 660 | wwv_flow_api.g_varchar2_table(115) := '7074794F626A65637428534E4D4F7074696F6E732E53686F7274637574732929207B0D0A0909666F722876617220693D303B20693C534E4D4F7074696F6E732E53686F7274637574732E6C656E6774683B20692B2B29207B0D0A0909096966202828534E'; 661 | wwv_flow_api.g_varchar2_table(116) := '4D4F7074696F6E732E53686F7274637574735B695D2E6E616D65203D3D20656C6D56616C202626206361736553656E73697469766529207C7C2028534E4D4F7074696F6E732E53686F7274637574735B695D2E6E616D652E746F4C6F7765724361736528'; 662 | wwv_flow_api.g_varchar2_table(117) := '29203D3D20656C6D56616C2E746F4C6F77657243617365282920262620216361736553656E7369746976652929207B0D0A0909090966696E645F73686F7274637574203D207265646972656374534E4D28534E4D4F7074696F6E732E53686F7274637574'; 663 | wwv_flow_api.g_varchar2_table(118) := '735B695D293B0D0A0909097D0D0A090909656C7365206966202828656C6D56616C2E696E6465784F6628534E4D4F7074696F6E732E53686F7274637574735B695D2E6E616D652B223A2229203D3D2030202626206361736553656E73697469766529207C'; 664 | wwv_flow_api.g_varchar2_table(119) := '7C0D0A09090909092028656C6D56616C2E746F4C6F7765724361736528292E696E6465784F6628534E4D4F7074696F6E732E53686F7274637574735B695D2E6E616D652E746F4C6F7765724361736528292B223A2229203D3D2030202026262021636173'; 665 | wwv_flow_api.g_varchar2_table(120) := '6553656E7369746976652929207B0D0A090909090966696E645F73686F7274637574203D207265646972656374534E4D28534E4D4F7074696F6E732E53686F7274637574735B695D2C20747275652C20656C6D56616C293B0D0A0909097D0D0A09090969'; 666 | wwv_flow_api.g_varchar2_table(121) := '66202866696E645F73686F727463757429207B20627265616B3B207D0D0A09097D0D0A097D0D0A09696620282166696E645F73686F7274637574290D0A090966696E645F73686F7274637574203D207265646972656374534E4D28293B0D0A7D0D0A0D0A'; 667 | wwv_flow_api.g_varchar2_table(122) := '2F2A20204556454E54532E2E2E2E2E2E2E2E202A2F0D0A0D0A66756E6374696F6E206164644D6F64616C534E4D286E616D652C207469746C6529207B0D0A09242827626F647927292E617070656E6428273C6469762069643D22272B6E616D652B272220'; 668 | wwv_flow_api.g_varchar2_table(123) := '2F3E27290D0A090D0A0924282223222B6E616D65292E6469616C6F67280D0A09097B226D6F64616C223A747275650D0A09092C227469746C65223A7469746C650D0A09092C226175746F4F70656E223A66616C73650D0A09092C22726573697A61626C65'; 669 | wwv_flow_api.g_varchar2_table(124) := '223A747275650D0A09092C226469616C6F67436C617373223A226E6F2D636C6F736520737263685F6D6F64616C220D0A09092C227769647468223A273530307078270D0A09092C22636C6F73654F6E457363617065223A747275650D0A09092C62757474'; 670 | wwv_flow_api.g_varchar2_table(125) := '6F6E73203A207B0D0A0909090922436C6F736522203A2066756E6374696F6E202829207B0D0A0909090909242874686973292E6469616C6F672822636C6F736522293B0D0A090909097D0D0A0909097D0D0A09097D0D0A09293B0D0A7D0D0A0D0A66756E'; 671 | wwv_flow_api.g_varchar2_table(126) := '6374696F6E206F70656E4D6F64616C534E4D286E616D652C20705F6D736729207B0D0A0924282223222B6E616D65290D0A092E63737328276D617267696E272C27313270782729202F2F204D616B65206469616C6F672074657874206561736965722074'; 672 | wwv_flow_api.g_varchar2_table(127) := '6F20726561642E0D0A092E68746D6C28705F6D736729202F2F2047656E657261746520746865206D6573736167652E0D0A092E6469616C6F6728276F70656E27293B202F2F204F70656E20746865206469616C6F672E0D0A7D0D0A0D0A66756E6374696F'; 673 | wwv_flow_api.g_varchar2_table(128) := '6E2067657448656C70534E4D2829207B0D0A09766172206C5F72657475726E203D20223C68333E53686F727463757473203A3C2F68333E223B0D0A096C5F72657475726E202B3D223C7461626C653E223B0D0A096C5F72657475726E202B3D223C74723E'; 674 | wwv_flow_api.g_varchar2_table(129) := '3C746420636C6173733D5C2274645F72696768745C223E3C7374726F6E673E4354524C2B222B534E4D4F7074696F6E732E736B65792B22203A3C2F7374726F6E673E3C2F74643E3C746420636F6C7370616E3D5C22345C223E466F637573206F6E207365'; 675 | wwv_flow_api.g_varchar2_table(130) := '6172636820626F78206974656D3C2F74643E3C2F74723E223B0D0A096C5F72657475726E202B3D223C74723E3C746420636C6173733D5C2274645F72696768745C223E3C7374726F6E673E4631203A3C2F7374726F6E673E3C2F74643E3C746420636F6C'; 676 | wwv_flow_api.g_varchar2_table(131) := '7370616E3D5C22345C223E4F70656E7320736561726368206E617669676174696F6E206D656E752068656C7020706167653C2F74643E3C2F74723E223B0D0A090D0A0969662028216A51756572792E6973456D7074794F626A65637428534E4D4F707469'; 677 | wwv_flow_api.g_varchar2_table(132) := '6F6E732E53686F7274637574732929207B0D0A09092020206C5F72657475726E202B3D223C747220636C6173733D5C2274725F62675C223E3C74643E53686F7274637574206C6162656C3C2F74643E3C74643E547970653C2F74643E3C74643E436F6E64'; 678 | wwv_flow_api.g_varchar2_table(133) := '6974696F6E3C2F74643E3C74643E4578616D706C6520287479706520696E293C2F74643E3C2F74723E223B0D0A0909666F722876617220693D303B20693C534E4D4F7074696F6E732E53686F7274637574732E6C656E6774683B20692B2B29207B0D0A09'; 679 | wwv_flow_api.g_varchar2_table(134) := '09096C5F72657475726E202B3D223C74723E3C74643E3C7374726F6E673E222B534E4D4F7074696F6E732E53686F7274637574735B695D2E6E616D652B223C2F7374726F6E673E3C2F74643E3C74643E222B534E4D4F7074696F6E732E53686F72746375'; 680 | wwv_flow_api.g_varchar2_table(135) := '74735B695D2E616374696F6E2B223C2F74643E223B0D0A0909096C5F72657475726E202B3D223C74643E223B0D0A09090969662028534E4D4F7074696F6E732E53686F7274637574735B695D2E616374696F6E2E746F4C6F7765724361736528293D3D22'; 681 | wwv_flow_api.g_varchar2_table(136) := '69722229207B0D0A0909090969662028534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F747970652E746F4C6F7765724361736528293D3D22636F6C756D6E2229207B0D0A0909090909696620282249525F636F6C756D6E2220696E20'; 682 | wwv_flow_api.g_varchar2_table(137) := '534E4D4F7074696F6E732E53686F7274637574735B695D290D0A0909090909096C5F72657475726E202B3D22636F6C756D6E20222B534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F636F6C756D6E2E746F5570706572436173652829'; 683 | wwv_flow_api.g_varchar2_table(138) := '2B2220223B0D0A090909097D0D0A09090909656C73650D0A09090909096C5F72657475726E202B3D22726F7720223B0D0A09090909090D0A09090909696620282249525F6F70657261746F722220696E20534E4D4F7074696F6E732E53686F7274637574'; 684 | wwv_flow_api.g_varchar2_table(139) := '735B695D29207B0D0A090909090969662028534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F6F70657261746F722E746F5570706572436173652829203D3D20224322290D0A0909090909096C5F72657475726E202B3D22636F6E7461'; 685 | wwv_flow_api.g_varchar2_table(140) := '696E73223B0D0A0909090909656C73652069662028534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F6F70657261746F722E746F5570706572436173652829203D3D202247544522290D0A0909090909096C5F72657475726E202B3D22'; 686 | wwv_flow_api.g_varchar2_table(141) := '6772656174686572207468616E206F7220657175616C20746F223B0D0A0909090909656C73652069662028534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F6F70657261746F722E746F5570706572436173652829203D3D2022475422'; 687 | wwv_flow_api.g_varchar2_table(142) := '290D0A0909090909096C5F72657475726E202B3D226772656174686572207468616E223B0D0A0909090909656C73652069662028534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F6F70657261746F722E746F55707065724361736528'; 688 | wwv_flow_api.g_varchar2_table(143) := '29203D3D20224C494B4522290D0A0909090909096C5F72657475726E202B3D226C696B65223B0D0A0909090909656C73652069662028534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F6F70657261746F722E746F5570706572436173'; 689 | wwv_flow_api.g_varchar2_table(144) := '652829203D3D20224C5422290D0A0909090909096C5F72657475726E202B3D226C657373207468616E223B0D0A0909090909656C73652069662028534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F6F70657261746F722E746F557070'; 690 | wwv_flow_api.g_varchar2_table(145) := '6572436173652829203D3D20224C544522290D0A0909090909096C5F72657475726E202B3D226C657373207468616E207220657175616C20746F223B0D0A0909090909656C73652069662028534E4D4F7074696F6E732E53686F7274637574735B695D2E'; 691 | wwv_flow_api.g_varchar2_table(146) := '49525F6F70657261746F722E746F5570706572436173652829203D3D20224E22290D0A0909090909096C5F72657475726E202B3D226E756C6C223B0D0A0909090909656C73652069662028534E4D4F7074696F6E732E53686F7274637574735B695D2E49'; 692 | wwv_flow_api.g_varchar2_table(147) := '525F6F70657261746F722E746F5570706572436173652829203D3D20224E4322290D0A0909090909096C5F72657475726E202B3D226E6F7420636F696E7461696E73223B0D0A0909090909656C73652069662028534E4D4F7074696F6E732E53686F7274'; 693 | wwv_flow_api.g_varchar2_table(148) := '637574735B695D2E49525F6F70657261746F722E746F5570706572436173652829203D3D20224E455122290D0A0909090909096C5F72657475726E202B3D226E6F7420657175616C73223B0D0A0909090909656C73652069662028534E4D4F7074696F6E'; 694 | wwv_flow_api.g_varchar2_table(149) := '732E53686F7274637574735B695D2E49525F6F70657261746F722E746F5570706572436173652829203D3D20224E4C494B4522290D0A0909090909096C5F72657475726E202B3D226E6F74206C696B65223B0D0A0909090909656C73652069662028534E'; 695 | wwv_flow_api.g_varchar2_table(150) := '4D4F7074696F6E732E53686F7274637574735B695D2E49525F6F70657261746F722E746F5570706572436173652829203D3D20224E4E22290D0A0909090909096C5F72657475726E202B3D226E6F74206E756C6C223B0D0A0909090909656C7365206966'; 696 | wwv_flow_api.g_varchar2_table(151) := '2028534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F6F70657261746F722E746F5570706572436173652829203D3D20224E494E22290D0A0909090909096C5F72657475726E202B3D226E6F7420696E223B0D0A0909090909656C7365'; 697 | wwv_flow_api.g_varchar2_table(152) := '2069662028534E4D4F7074696F6E732E53686F7274637574735B695D2E49525F6F70657261746F722E746F5570706572436173652829203D3D2022494E22290D0A0909090909096C5F72657475726E202B3D22696E223B0D0A0909090909656C7365200D'; 698 | wwv_flow_api.g_varchar2_table(153) := '0A0909090909096C5F72657475726E202B3D22657175616C73223B09090909090D0A090909097D0D0A09090909656C73650909090D0A09090909096C5F72657475726E202B3D22636F6E7461696E73223B0D0A0909097D0D0A0909096C5F72657475726E'; 699 | wwv_flow_api.g_varchar2_table(154) := '202B3D223C2F74643E223B090D0A0909090D0A09090969662028226578616D706C652220696E20534E4D4F7074696F6E732E53686F7274637574735B695D290D0A090909096C5F72657475726E202B3D223C74643E222B534E4D4F7074696F6E732E5368'; 700 | wwv_flow_api.g_varchar2_table(155) := '6F7274637574735B695D2E6578616D706C652B223C2F74643E223B0D0A090909656C7365090D0A090909096C5F72657475726E202B3D223C74643E3C2F74643E223B090D0A0909096C5F72657475726E202B3D223C2F74723E223B0D0A09097D0D0A097D'; 701 | wwv_flow_api.g_varchar2_table(156) := '0D0A096C5F72657475726E202B3D223C2F7461626C653E223B0D0A0972657475726E206C5F72657475726E3B0D0A7D0D0A0D0A66756E6374696F6E206B6579446F776E5365617263684E617628656C6D2C206529207B0D0A097377697463682028652E77'; 702 | wwv_flow_api.g_varchar2_table(157) := '6869636829207B0D0A0909202020636173652031333A0D0A090920202020202020636865636B416E645265646972656374534E4D28656C6D293B0D0A090909202020652E70726576656E7444656661756C7428293B0D0A0909092020627265616B3B0D0A'; 703 | wwv_flow_api.g_varchar2_table(158) := '0909202020636173652034303A0D0A0909092020737465704E6578745365617263684E61762866616C7365293B20200D0A0909092020652E70726576656E7444656661756C7428293B0D0A0909092020627265616B3B0D0A090920202063617365203338'; 704 | wwv_flow_api.g_varchar2_table(159) := '3A0D0A0909092020737465704E6578745365617263684E61762874727565293B0D0A0909092020652E70726576656E7444656661756C7428293B2020200D0A0909092020627265616B3B09090920200D0A09090963617365203131323A0D0A0909092020'; 705 | wwv_flow_api.g_varchar2_table(160) := '6F70656E4D6F64616C534E4D48656C7028293B0D0A0909092020652E70726576656E7444656661756C7428293B20090D0A0909092020627265616B3B0D0A097D0D0A7D0D0A0D0A2F2F656C6D3D20696E7075742C20653D6576656E742C20706165676545'; 706 | wwv_flow_api.g_varchar2_table(161) := '76656E743D6B65797570206F6620686964652F73686F770D0A66756E6374696F6E206B657955705365617263684E617628656C6D2C20652C20706167654576656E7429207B0D0A097377697463682028652E776869636829207B0D0A0920202063617365'; 707 | wwv_flow_api.g_varchar2_table(162) := '2031333A0D0A09202020636173652031373A0D0A09202020636173652034303A0D0A09202020636173652033383A0D0A0920202063617365203131323A0D0A0909202020652E70726576656E7444656661756C7428293B0D0A0909202020627265616B3B'; 708 | wwv_flow_api.g_varchar2_table(163) := '0D0A0920202064656661756C743A200D0A090976617220656C6D56616C203D202428656C6D292E76616C28292C20736176655F7373203D2066616C73653B0D0A0909202428222E612D54726565566965772D6C6162656C207374726F6E6722292E726570'; 709 | wwv_flow_api.g_varchar2_table(164) := '6C616365576974682866756E6374696F6E2829207B2072657475726E20242874686973292E68746D6C28293B207D293B200D0A09092069662028656C6D56616C20213D20222229207B0D0A090909202428276C695B69645E3D22745F547265654E617622'; 710 | wwv_flow_api.g_varchar2_table(165) := '5D27292E656163682866756E6374696F6E2829207B0D0A09090920202069662028242874686973292E66696E6428222E612D54726565566965772D6C6162656C22292E7465787428292E746F4C6F7765724361736528292E696E6465784F6628656C6D56'; 711 | wwv_flow_api.g_varchar2_table(166) := '616C2E746F4C6F77657243617365282929213D202D312029207B0D0A0909090920202069662028242874686973292E686173436C617373282269732D657870616E6461626C652229290D0A0909090909202020242874686973292E66696E642822756C22'; 712 | wwv_flow_api.g_varchar2_table(167) := '292E6373732822646973706C6179222C2022626C6F636B22293B0D0A09090909202020242874686973292E66696E6428222E612D54726565566965772D6C6162656C22292E656163682866756E6374696F6E28297B0D0A09090909092020202428746869'; 713 | wwv_flow_api.g_varchar2_table(168) := '73292E68746D6C28636F6C6F725365617263684E617628242874686973292E7465787428292C656C6D56616C29293B200D0A090909092020207D293B0D0A09090909202020242874686973292E6373732822646973706C6179222C2022626C6F636B2229'; 714 | wwv_flow_api.g_varchar2_table(169) := '3B200D0A0909092020207D0D0A090909202020656C73650D0A0909090920242874686973292E6373732822646973706C6179222C20226E6F6E6522293B0D0A09090920207D293B0D0A09097D0D0A0909656C7365207B0D0A09092020202428276C695B69'; 715 | wwv_flow_api.g_varchar2_table(170) := '645E3D22745F547265654E6176225D27292E656163682866756E6374696F6E2829207B0D0A090909202069662028242874686973292E686173436C617373282269732D657870616E6461626C652229290D0A09090909092020242874686973292E66696E'; 716 | wwv_flow_api.g_varchar2_table(171) := '642822756C22292E6373732822646973706C6179222C20226E6F6E6522293B0D0A0909092020242874686973292E6373732822646973706C6179222C2022626C6F636B22293B0D0A09092020207D293B0D0A09097D20202020202020200D0A0909696620'; 717 | wwv_flow_api.g_varchar2_table(172) := '2821706167654576656E74290D0A09090973617665536573536174654E617628656C6D56616C293B200D0A0909686F7665725365617263684E617628293B0D0A09096F70656E534E4D4368696C6472656E496645786973747328293B0D0A090969662028'; 718 | wwv_flow_api.g_varchar2_table(173) := '534E4D4F7074696F6E732E557365466F637573290D0A09090924665F46697273745F6669656C6428293B0D0A09090D0A097D202020200D0A7D0D0A0D0A66756E6374696F6E2073686F72744375745365617263684E617628652C206C5F736B657929207B'; 719 | wwv_flow_api.g_varchar2_table(174) := '0D0A09696628652E6374726C4B657920262620652E6B6579436F6465203D3D3D206C5F736B65792E63686172436F64654174283029297B200D0A0909696620282169734E6176547265654F70656E2829290D0A09090924282723745F427574746F6E5F6E'; 720 | wwv_flow_api.g_varchar2_table(175) := '6176436F6E74726F6C27292E636C69636B28293B0D0A090976617220746D70203D20242822696E7075742E737263685F696E70757422292E76616C28293B0D0A0909242822696E7075742E737263685F696E70757422292E666F63757328292E76616C28'; 721 | wwv_flow_api.g_varchar2_table(176) := '746D70293B0D0A0909652E70726576656E7444656661756C7428293B0D0A090972657475726E2066616C73653B0D0A097D090D0A7D0D0A0D0A66756E6374696F6E206F6E526573697A6557696E5365617263684E61762829207B0D0A0969662028242822'; 722 | wwv_flow_api.g_varchar2_table(177) := '696E7075742E737263685F696E70757422292E697328223A666F6375732229290D0A202020202020202020202020202020617065782E7468656D6534322E746F67676C65576964676574732E657870616E6457696467657428226E617622293B0D0A0965'; 723 | wwv_flow_api.g_varchar2_table(178) := '6C7365207B0D0A0909696620282169734E6176547265654F70656E2829290D0A09090968696465416C6C5375626C697374735365617263684E617628293B0D0A097D0D0A7D'; 724 | null; 725 | end; 726 | / 727 | begin 728 | wwv_flow_api.create_plugin_file( 729 | p_id=>wwv_flow_api.id(10655323366045241) 730 | ,p_plugin_id=>wwv_flow_api.id(10654364716041103) 731 | ,p_file_name=>'searchNavMenu.js' 732 | ,p_mime_type=>'application/x-javascript' 733 | ,p_file_charset=>'utf-8' 734 | ,p_file_content=>wwv_flow_api.varchar2_to_blob(wwv_flow_api.g_varchar2_table) 735 | ); 736 | end; 737 | / 738 | begin 739 | wwv_flow_api.import_end(p_auto_install_sup_obj => nvl(wwv_flow_application_install.get_auto_install_sup_obj, false), p_is_component_import => true); 740 | commit; 741 | end; 742 | / 743 | set verify on feedback on define on 744 | prompt ...done 745 | --------------------------------------------------------------------------------