From cb9496fb01eb23fa1b90fb9515df256d841c2031 Mon Sep 17 00:00:00 2001 From: Jeffrey Kemp Date: Fri, 17 Apr 2020 21:04:41 +0800 Subject: [PATCH 1/3] v0.8 WIP - Initial Map Position attribute does not support comma as decimal separator #21; removed obsolete Google Signed-In parameter --- ...type_plugin_com_jk64_simple_google_map.sql | 130 +++++++++++------- src/jk64simplemap_pkg.sql | 57 +++++--- 2 files changed, 117 insertions(+), 70 deletions(-) diff --git a/region_type_plugin_com_jk64_simple_google_map.sql b/region_type_plugin_com_jk64_simple_google_map.sql index d7a0f29..2e8dea8 100644 --- a/region_type_plugin_com_jk64_simple_google_map.sql +++ b/region_type_plugin_com_jk64_simple_google_map.sql @@ -1,3 +1,4 @@ +prompt --application/set_environment set define off verify off feedback off whenever sqlerror exit sql.sqlcode rollback -------------------------------------------------------------------------------- @@ -5,26 +6,21 @@ whenever sqlerror exit sql.sqlcode rollback -- ORACLE Application Express (APEX) export file -- -- You should run the script connected to SQL*Plus as the Oracle user --- APEX_050000 or as the owner (parsing schema) of the application. +-- APEX_180200 or as the owner (parsing schema) of the application. -- -- NOTE: Calls to apex_application_install override the defaults below. -- -------------------------------------------------------------------------------- begin wwv_flow_api.import_begin ( - p_version_yyyy_mm_dd=>'2013.01.01' -,p_release=>'5.0.4.00.12' + p_version_yyyy_mm_dd=>'2018.05.24' +,p_release=>'18.2.0.00.12' ,p_default_workspace_id=>20749515040658038 ,p_default_application_id=>76577 ,p_default_owner=>'SAMPLE' ); end; / -prompt --application/ui_types -begin -null; -end; -/ prompt --application/shared_components/plugins/region_type/com_jk64_simple_google_map begin wwv_flow_api.create_plugin( @@ -33,10 +29,42 @@ wwv_flow_api.create_plugin( ,p_name=>'COM.JK64.SIMPLE_GOOGLE_MAP' ,p_display_name=>'JK64 Simple Google Map' ,p_supported_ui_types=>'DESKTOP:JQM_SMARTPHONE' -,p_plsql_code=>wwv_flow_utilities.join(wwv_flow_t_varchar2( -'-- JK64 Simple Google Map v0.7', +,p_plsql_code=>wwv_flow_string.join(wwv_flow_t_varchar2( +'/**********************************************************', +'create or replace package jk64simplemap_pkg as', +'-- jk64 JK64 Simple Google Map v0.8 Apr 2020', '', -'g_tochar_format constant varchar2(100) := ''fm99999999999990.099999999999999999999999999999'';', +'function render (', +' p_region in apex_plugin.t_region,', +' p_plugin in apex_plugin.t_plugin,', +' p_is_printer_friendly in boolean )', +'return apex_plugin.t_region_render_result;', +'', +'end jk64simplemap_pkg;', +'/', +'', +'create or replace package body jk64simplemap_pkg as', +'**********************************************************/', +'-- jk64 JK64 Simple Google Map v0.8 Apr 2020', +'', +'-- format to use to convert a lat/lng number to string for passing via javascript', +'-- 0.0000001 is enough precision for the practical limit of commercial surveying, error up to +/- 11.132 mm at the equator', +'g_tochar_format constant varchar2(100) := ''fm990.0999999'';', +'', +'subtype plugin_attr is varchar2(32767);', +'', +'procedure parse_latlng (p_val in varchar2, p_label in varchar2, p_lat out number, p_lng out number) is', +' delim_pos number;', +'begin', +' -- allow space as the delimiter; this should be used in locales which use comma (,) as decimal separator', +' if instr(trim(p_val),'' '') > 0 then', +' delim_pos := instr(p_val,'' '');', +' else', +' delim_pos := instr(p_val,'','');', +' end if;', +' p_lat := apex_plugin_util.get_attribute_as_number(substr(p_val,1,delim_pos-1), p_label || '' latitude'');', +' p_lng := apex_plugin_util.get_attribute_as_number(substr(p_val,delim_pos+1), p_label || '' longitude'');', +'end parse_latlng;', '', 'function render (', ' p_region in apex_plugin.t_region,', @@ -44,13 +72,11 @@ wwv_flow_api.create_plugin( ' p_is_printer_friendly in boolean )', 'return apex_plugin.t_region_render_result', 'as', -' subtype plugin_attr is varchar2(32767);', '', ' -- Variables', ' l_result apex_plugin.t_region_render_result;', ' l_script varchar2(32767);', ' l_region varchar2(100);', -' l_js_params varchar2(1000);', ' l_lat number;', ' l_lng number;', ' l_readonly varchar2(1000) := ''false'';', @@ -111,25 +137,23 @@ wwv_flow_api.create_plugin( ' raise_application_error(-20000, ''Pan attribute must evaluate to true or false.'');', ' end if;', ' end if;', -'', -' if l_sign_in = ''Y'' then', -' l_js_params := ''&''||''signed_in=true'';', -' end if;', ' ', ' apex_javascript.add_library', -' (p_name => ''js?key='' || l_api_key || l_js_params', -' ,p_directory => ''https://maps.googleapis.com/maps/api/''', -' ,p_skip_extension => true);', +' (p_name => ''js?key='' || l_api_key', +' || case when l_sign_in = ''Y'' then', +' ''&''||''signed_in=true''', +' end', +' ,p_directory => ''https://maps.googleapis.com/maps/api/''', +' ,p_skip_extension => true);', '', ' apex_javascript.add_library', ' (p_name => ''simplemap''', ' ,p_directory => p_plugin.file_prefix', ' ,p_check_to_add_minified => true);', ' ', -' l_lat := to_number(substr(l_latlong,1,instr(l_latlong,'','')-1));', -' l_lng := to_number(substr(l_latlong,instr(l_latlong,'','')+1));', -' ', -' l_gesture_handling := nvl(l_gesture_handling,''auto'');', +' if l_latlong is not null then', +' parse_latlng(l_latlong, p_label=>''Initial Map Position'', p_lat=>l_lat, p_lng=>l_lng);', +' end if;', ' ', ' l_region := case', ' when p_region.static_id is not null', @@ -162,7 +186,7 @@ wwv_flow_api.create_plugin( ',readonly:'' || l_readonly || ''', ',zoom:'' || l_zoom_enabled || ''', ',pan:'' || l_pan_enabled || ''', -',gestureHandling:"'' || l_gesture_handling || ''"', +',gestureHandling:"'' || nvl(l_gesture_handling,''auto'') || ''"', '};', 'function r_#REGION#(f){/in/.test(document.readyState)?setTimeout("r_#REGION#("+f+")",9):f()}', 'r_#REGION#(function(){simplemap.init(opt_#REGION#);});', @@ -173,15 +197,30 @@ wwv_flow_api.create_plugin( ' sys.htp.p(replace(l_script,''#REGION#'',l_region));', '', ' return l_result;', +'exception', +' when others then', +' apex_debug.error(sqlerrm);', +' apex_debug.message(dbms_utility.format_error_stack);', +' apex_debug.message(dbms_utility.format_call_stack);', +' raise;', 'end render;', -'')) +'', +'/**********************************************************', +'end jk64simplemap_pkg;', +'/', +'**********************************************************/')) +,p_api_version=>1 ,p_render_function=>'render' ,p_substitute_attributes=>true ,p_subscribe_plugin_settings=>true -,p_help_text=>'Add a region of this type to your page and you have a map which the user can click to set a single Marker. If you set Synchronize with Item it will copy the lat,lng that the user clicks into that item; also, if the item is changed the map will move t' -||'he marker to the new location. If you set an Address item and your Google API Key, it will do a reverse geocode and put the first address result into it. You can also get the address clicked on via the "address" event whereby you can get each compone' -||'nt of an address (e.g. street number, road, locality, etc.) as separate strings.' -,p_version_identifier=>'0.7' +,p_help_text=>wwv_flow_string.join(wwv_flow_t_varchar2( +'Add a region of this type to your page and you have a map which the user can click to set a single Marker.', +'', +'If you set Synchronize with Item it will copy the lat,lng that the user clicks into that item; also, if the item is changed the map will move the marker to the new location.', +'', +'If you set an Address item and your Google API Key, it will do a reverse geocode and put the first address result into it. You can also get the address clicked on via the "address" event whereby you can get each component of an address (e.g. street n' +||'umber, road, locality, etc.) as separate strings.')) +,p_version_identifier=>'0.8' ,p_about_url=>'https://github.com/jeffreykemp/jk64-plugin-simplemap' ,p_files_version=>32 ); @@ -279,7 +318,7 @@ wwv_flow_api.create_plugin_attribute( ,p_is_required=>false ,p_max_length=>4000 ,p_is_translatable=>false -,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png', 'http://maps.google.com/mapfiles/ms/icons/red-dot.png', 'http://maps.google.com/mapfiles/ms/icons/purple-dot.png', @@ -294,19 +333,6 @@ wwv_flow_api.create_plugin_attribute( 'http://maps.google.com/mapfiles/ms/icons/red-pushpin.png')) ,p_help_text=>'URL to the icon to show for the marker. Leave blank for the default red Google pin.' ); -wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(460955230348744902) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) -,p_attribute_scope=>'COMPONENT' -,p_attribute_sequence=>7 -,p_display_sequence=>70 -,p_prompt=>'Enable Google Sign-In' -,p_attribute_type=>'CHECKBOX' -,p_is_required=>false -,p_default_value=>'N' -,p_is_translatable=>false -,p_help_text=>'Set to Yes to enable Google sign-in on the map.' -); wwv_flow_api.create_plugin_attribute( p_id=>wwv_flow_api.id(460957626548832231) ,p_plugin_id=>wwv_flow_api.id(451789494362035918) @@ -333,6 +359,7 @@ wwv_flow_api.create_plugin_attribute( ,p_max_length=>2 ,p_is_translatable=>false ,p_depending_on_attribute_id=>wwv_flow_api.id(460957626548832231) +,p_depending_on_has_to_exist=>true ,p_depending_on_condition_type=>'NOT_NULL' ,p_text_case=>'UPPER' ,p_examples=>'AU' @@ -348,7 +375,7 @@ wwv_flow_api.create_plugin_attribute( ,p_attribute_type=>'TEXTAREA' ,p_is_required=>false ,p_is_translatable=>false -,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( 'Here is an example, a light greyscale style map:', '
',
 '[{"featureType":"water","elementType":"geometry","stylers":[{"color":"#e9e9e9"},{"lightness":17}]},{"featureType":"landscape","elementType":"geometry","stylers":[{"color":"#f5f5f5"},{"lightness":20}]},{"featureType":"road.highway","elementType":"geom'
@@ -361,7 +388,7 @@ wwv_flow_api.create_plugin_attribute(
 '

', 'To hide the (clickable) POIs from the map, use this:', '[{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]}]')) -,p_help_text=>wwv_flow_utilities.join(wwv_flow_t_varchar2( +,p_help_text=>wwv_flow_string.join(wwv_flow_t_varchar2( 'You can generate map styles using this tool: http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html', '

', 'Another way is to copy one from a site like https://snazzymaps.com/')) @@ -406,6 +433,7 @@ wwv_flow_api.create_plugin_attribute( ,p_unit=>'(0-23)' ,p_is_translatable=>false ,p_depending_on_attribute_id=>wwv_flow_api.id(166127726872043700) +,p_depending_on_has_to_exist=>true ,p_depending_on_condition_type=>'EQUALS' ,p_depending_on_expression=>'Y' ,p_help_text=>'If geolocation is successful, pan map and zoom to this level.' @@ -421,7 +449,7 @@ wwv_flow_api.create_plugin_attribute( ,p_is_required=>false ,p_show_in_wizard=>false ,p_is_translatable=>false -,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( 'true', '

', ':P1_ITEM IS NOT NULL')) @@ -438,7 +466,7 @@ wwv_flow_api.create_plugin_attribute( ,p_is_required=>false ,p_show_in_wizard=>false ,p_is_translatable=>false -,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( 'true', '

', ':P1_ITEM IS NOT NULL')) @@ -455,7 +483,7 @@ wwv_flow_api.create_plugin_attribute( ,p_is_required=>false ,p_show_in_wizard=>false ,p_is_translatable=>false -,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( 'true', '

', ':P1_ITEM IS NOT NULL')) @@ -483,8 +511,8 @@ wwv_flow_api.create_plugin_attr_value( ,p_display_sequence=>10 ,p_display_value=>'cooperative' ,p_return_value=>'cooperative' -,p_help_text=>wwv_flow_utilities.join(wwv_flow_t_varchar2( -'Scroll events and one-finger touch gestures scroll the page, and do not zoom or pan the map. Two-finger touch gestures pan and zoom the map. Scroll events with a ctrl key or ⌘ key pressed zoom the map.', +,p_help_text=>wwv_flow_string.join(wwv_flow_t_varchar2( +unistr('Scroll events and one-finger touch gestures scroll the page, and do not zoom or pan the map. Two-finger touch gestures pan and zoom the map. Scroll events with a ctrl key or \2318 key pressed zoom the map.'), 'In this mode the map cooperates with the page.')) ); wwv_flow_api.create_plugin_attr_value( diff --git a/src/jk64simplemap_pkg.sql b/src/jk64simplemap_pkg.sql index 6a6c725..fb7f62f 100644 --- a/src/jk64simplemap_pkg.sql +++ b/src/jk64simplemap_pkg.sql @@ -1,4 +1,6 @@ +/********************************************************** create or replace package jk64simplemap_pkg as +-- jk64 JK64 Simple Google Map v0.8 Apr 2020 function render ( p_region in apex_plugin.t_region, @@ -8,12 +10,29 @@ return apex_plugin.t_region_render_result; end jk64simplemap_pkg; / -show err create or replace package body jk64simplemap_pkg as --- JK64 Simple Google Map v0.7 +**********************************************************/ +-- jk64 JK64 Simple Google Map v0.8 Apr 2020 -g_tochar_format constant varchar2(100) := 'fm99999999999990.099999999999999999999999999999'; +-- format to use to convert a lat/lng number to string for passing via javascript +-- 0.0000001 is enough precision for the practical limit of commercial surveying, error up to +/- 11.132 mm at the equator +g_tochar_format constant varchar2(100) := 'fm990.0999999'; + +subtype plugin_attr is varchar2(32767); + +procedure parse_latlng (p_val in varchar2, p_label in varchar2, p_lat out number, p_lng out number) is + delim_pos number; +begin + -- allow space as the delimiter; this should be used in locales which use comma (,) as decimal separator + if instr(trim(p_val),' ') > 0 then + delim_pos := instr(p_val,' '); + else + delim_pos := instr(p_val,','); + end if; + p_lat := apex_plugin_util.get_attribute_as_number(substr(p_val,1,delim_pos-1), p_label || ' latitude'); + p_lng := apex_plugin_util.get_attribute_as_number(substr(p_val,delim_pos+1), p_label || ' longitude'); +end parse_latlng; function render ( p_region in apex_plugin.t_region, @@ -21,13 +40,11 @@ function render ( p_is_printer_friendly in boolean ) return apex_plugin.t_region_render_result as - subtype plugin_attr is varchar2(32767); -- Variables l_result apex_plugin.t_region_render_result; l_script varchar2(32767); l_region varchar2(100); - l_js_params varchar2(1000); l_lat number; l_lng number; l_readonly varchar2(1000) := 'false'; @@ -44,7 +61,7 @@ as l_item_name plugin_attr := p_region.attribute_04; l_marker_zoom plugin_attr := p_region.attribute_05; l_icon plugin_attr := p_region.attribute_06; - l_sign_in plugin_attr := p_region.attribute_07; + --[unused] plugin_attr := p_region.attribute_07; l_geocode_item plugin_attr := p_region.attribute_08; l_country plugin_attr := p_region.attribute_09; l_mapstyle plugin_attr := p_region.attribute_10; @@ -88,25 +105,20 @@ begin raise_application_error(-20000, 'Pan attribute must evaluate to true or false.'); end if; end if; - - if l_sign_in = 'Y' then - l_js_params := '&'||'signed_in=true'; - end if; apex_javascript.add_library - (p_name => 'js?key=' || l_api_key || l_js_params - ,p_directory => 'https://maps.googleapis.com/maps/api/' - ,p_skip_extension => true); + (p_name => 'js?key=' || l_api_key + ,p_directory => 'https://maps.googleapis.com/maps/api/' + ,p_skip_extension => true); apex_javascript.add_library (p_name => 'simplemap' ,p_directory => p_plugin.file_prefix ,p_check_to_add_minified => true); - l_lat := to_number(substr(l_latlong,1,instr(l_latlong,',')-1)); - l_lng := to_number(substr(l_latlong,instr(l_latlong,',')+1)); - - l_gesture_handling := nvl(l_gesture_handling,'auto'); + if l_latlong is not null then + parse_latlng(l_latlong, p_label=>'Initial Map Position', p_lat=>l_lat, p_lng=>l_lng); + end if; l_region := case when p_region.static_id is not null @@ -139,7 +151,7 @@ container:"map_#REGION#_container" ,readonly:' || l_readonly || ' ,zoom:' || l_zoom_enabled || ' ,pan:' || l_pan_enabled || ' -,gestureHandling:"' || l_gesture_handling || '" +,gestureHandling:"' || nvl(l_gesture_handling,'auto') || '" }; function r_#REGION#(f){/in/.test(document.readyState)?setTimeout("r_#REGION#("+f+")",9):f()} r_#REGION#(function(){simplemap.init(opt_#REGION#);}); @@ -150,8 +162,15 @@ function click_#REGION#(lat,lng) {simplemap.setMarker(opt_#REGION#,lat,lng);} sys.htp.p(replace(l_script,'#REGION#',l_region)); return l_result; +exception + when others then + apex_debug.error(sqlerrm); + apex_debug.message(dbms_utility.format_error_stack); + apex_debug.message(dbms_utility.format_call_stack); + raise; end render; +/********************************************************** end jk64simplemap_pkg; / -show err \ No newline at end of file +**********************************************************/ \ No newline at end of file From a0125bde59c73edf09fd1b469f5c9f8be4a98a94 Mon Sep 17 00:00:00 2001 From: Jeffrey Kemp Date: Wed, 22 Apr 2020 09:47:33 +0800 Subject: [PATCH 2/3] v0.8 backport to APEX 5.0.3 --- demo_app.sql | 363 ++++++++++-------- ...type_plugin_com_jk64_simple_google_map.sql | 280 +++++++------- 2 files changed, 330 insertions(+), 313 deletions(-) diff --git a/demo_app.sql b/demo_app.sql index 4d52fa6..34c7fad 100644 --- a/demo_app.sql +++ b/demo_app.sql @@ -13,10 +13,10 @@ whenever sqlerror exit sql.sqlcode rollback begin wwv_flow_api.import_begin ( p_version_yyyy_mm_dd=>'2013.01.01' -,p_release=>'5.0.4.00.12' -,p_default_workspace_id=>20749515040658038 +,p_release=>'5.0.3.00.03' +,p_default_workspace_id=>2216419243751626 ,p_default_application_id=>76577 -,p_default_owner=>'SAMPLE' +,p_default_owner=>'XXSPS' ); end; / @@ -27,12 +27,12 @@ prompt APPLICATION 76577 - Demo Simple Map Plugin -- Application Export: -- Application: 76577 -- Name: Demo Simple Map Plugin --- Date and Time: 19:40 Monday October 8, 2018 --- Exported By: JEFF +-- Date and Time: 09:43 Wednesday April 22, 2020 +-- Exported By: EZ002363 -- Flashback: 0 -- Export Type: Application Export --- Version: 5.0.4.00.12 --- Instance ID: 61916131238277 +-- Version: 5.0.3.00.03 +-- Instance ID: 61900181192554 -- -- Application Statistics: @@ -82,7 +82,7 @@ begin wwv_flow_api.create_flow( p_id=>wwv_flow.g_flow_id ,p_display_id=>nvl(wwv_flow_application_install.get_application_id,76577) -,p_owner=>nvl(wwv_flow_application_install.get_schema,'JK64') +,p_owner=>nvl(wwv_flow_application_install.get_schema,'SAMPLE') ,p_name=>nvl(wwv_flow_application_install.get_application_name,'Demo Simple Map Plugin') ,p_alias=>nvl(wwv_flow_application_install.get_application_alias,'JK64_SIMPLE_MAP') ,p_page_view_logging=>'YES' @@ -106,8 +106,8 @@ wwv_flow_api.create_flow( ,p_browser_frame=>'D' ,p_rejoin_existing_sessions=>'N' ,p_csv_encoding=>'Y' -,p_last_updated_by=>'JEFF' -,p_last_upd_yyyymmddhh24miss=>'20181008193734' +,p_last_updated_by=>'EZ002363' +,p_last_upd_yyyymmddhh24miss=>'20200422094253' ,p_file_prefix => nvl(wwv_flow_application_install.get_static_app_file_prefix,'') ,p_ui_type_name => null ); @@ -172,7 +172,7 @@ wwv_flow_api.create_plugin_setting( p_id=>wwv_flow_api.id(75504023794592469) ,p_plugin_type=>'REGION TYPE' ,p_plugin=>'PLUGIN_COM.JK64.SIMPLE_GOOGLE_MAP' -,p_attribute_01=>'AIzaSyAjv4gBMm5HHYRVvPj-DIPKQtTr0-DVge0' +,p_attribute_01=>'--- put your Google API key here ---' ); wwv_flow_api.create_plugin_setting( p_id=>wwv_flow_api.id(24993407215347461781) @@ -7563,16 +7563,48 @@ end; prompt --application/shared_components/plugins/region_type/com_jk64_simple_google_map begin wwv_flow_api.create_plugin( - p_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(550541452409009734) ,p_plugin_type=>'REGION TYPE' ,p_name=>'COM.JK64.SIMPLE_GOOGLE_MAP' ,p_display_name=>'JK64 Simple Google Map' ,p_supported_ui_types=>'DESKTOP:JQM_SMARTPHONE' ,p_image_prefix => nvl(wwv_flow_application_install.get_static_plugin_file_prefix('REGION TYPE','COM.JK64.SIMPLE_GOOGLE_MAP'),'') ,p_plsql_code=>wwv_flow_utilities.join(wwv_flow_t_varchar2( -'-- JK64 Simple Google Map v0.7', +'/**********************************************************', +'create or replace package jk64simplemap_pkg as', +'-- jk64 JK64 Simple Google Map v0.8 Apr 2020', '', -'g_tochar_format constant varchar2(100) := ''fm99999999999990.099999999999999999999999999999'';', +'function render (', +' p_region in apex_plugin.t_region,', +' p_plugin in apex_plugin.t_plugin,', +' p_is_printer_friendly in boolean )', +'return apex_plugin.t_region_render_result;', +'', +'end jk64simplemap_pkg;', +'/', +'', +'create or replace package body jk64simplemap_pkg as', +'**********************************************************/', +'-- jk64 JK64 Simple Google Map v0.8 Apr 2020', +'', +'-- format to use to convert a lat/lng number to string for passing via javascript', +'-- 0.0000001 is enough precision for the practical limit of commercial surveying, error up to +/- 11.132 mm at the equator', +'g_tochar_format constant varchar2(100) := ''fm990.0999999'';', +'', +'subtype plugin_attr is varchar2(32767);', +'', +'procedure parse_latlng (p_val in varchar2, p_label in varchar2, p_lat out number, p_lng out number) is', +' delim_pos number;', +'begin', +' -- allow space as the delimiter; this should be used in locales which use comma (,) as decimal separator', +' if instr(trim(p_val),'' '') > 0 then', +' delim_pos := instr(p_val,'' '');', +' else', +' delim_pos := instr(p_val,'','');', +' end if;', +' p_lat := apex_plugin_util.get_attribute_as_number(substr(p_val,1,delim_pos-1), p_label || '' latitude'');', +' p_lng := apex_plugin_util.get_attribute_as_number(substr(p_val,delim_pos+1), p_label || '' longitude'');', +'end parse_latlng;', '', 'function render (', ' p_region in apex_plugin.t_region,', @@ -7580,13 +7612,11 @@ wwv_flow_api.create_plugin( ' p_is_printer_friendly in boolean )', 'return apex_plugin.t_region_render_result', 'as', -' subtype plugin_attr is varchar2(32767);', '', ' -- Variables', ' l_result apex_plugin.t_region_render_result;', ' l_script varchar2(32767);', ' l_region varchar2(100);', -' l_js_params varchar2(1000);', ' l_lat number;', ' l_lng number;', ' l_readonly varchar2(1000) := ''false'';', @@ -7603,7 +7633,7 @@ wwv_flow_api.create_plugin( ' l_item_name plugin_attr := p_region.attribute_04;', ' l_marker_zoom plugin_attr := p_region.attribute_05;', ' l_icon plugin_attr := p_region.attribute_06;', -' l_sign_in plugin_attr := p_region.attribute_07;', +' --[unused] plugin_attr := p_region.attribute_07;', ' l_geocode_item plugin_attr := p_region.attribute_08;', ' l_country plugin_attr := p_region.attribute_09;', ' l_mapstyle plugin_attr := p_region.attribute_10;', @@ -7647,25 +7677,20 @@ wwv_flow_api.create_plugin( ' raise_application_error(-20000, ''Pan attribute must evaluate to true or false.'');', ' end if;', ' end if;', -'', -' if l_sign_in = ''Y'' then', -' l_js_params := ''&''||''signed_in=true'';', -' end if;', ' ', ' apex_javascript.add_library', -' (p_name => ''js?key='' || l_api_key || l_js_params', -' ,p_directory => ''https://maps.googleapis.com/maps/api/''', -' ,p_skip_extension => true);', +' (p_name => ''js?key='' || l_api_key', +' ,p_directory => ''https://maps.googleapis.com/maps/api/''', +' ,p_skip_extension => true);', '', ' apex_javascript.add_library', ' (p_name => ''simplemap''', ' ,p_directory => p_plugin.file_prefix', ' ,p_check_to_add_minified => true);', ' ', -' l_lat := to_number(substr(l_latlong,1,instr(l_latlong,'','')-1));', -' l_lng := to_number(substr(l_latlong,instr(l_latlong,'','')+1));', -' ', -' l_gesture_handling := nvl(l_gesture_handling,''auto'');', +' if l_latlong is not null then', +' parse_latlng(l_latlong, p_label=>''Initial Map Position'', p_lat=>l_lat, p_lng=>l_lng);', +' end if;', ' ', ' l_region := case', ' when p_region.static_id is not null', @@ -7698,7 +7723,7 @@ wwv_flow_api.create_plugin( ',readonly:'' || l_readonly || ''', ',zoom:'' || l_zoom_enabled || ''', ',pan:'' || l_pan_enabled || ''', -',gestureHandling:"'' || l_gesture_handling || ''"', +',gestureHandling:"'' || nvl(l_gesture_handling,''auto'') || ''"', '};', 'function r_#REGION#(f){/in/.test(document.readyState)?setTimeout("r_#REGION#("+f+")",9):f()}', 'r_#REGION#(function(){simplemap.init(opt_#REGION#);});', @@ -7709,21 +7734,31 @@ wwv_flow_api.create_plugin( ' sys.htp.p(replace(l_script,''#REGION#'',l_region));', '', ' return l_result;', +'exception', +' when others then', +' apex_debug.error(sqlerrm);', +' apex_debug.message(dbms_utility.format_error_stack);', +' apex_debug.message(dbms_utility.format_call_stack);', +' raise;', 'end render;', -'')) +'', +'/**********************************************************', +'end jk64simplemap_pkg;', +'/', +'**********************************************************/')) ,p_render_function=>'render' ,p_substitute_attributes=>true ,p_subscribe_plugin_settings=>true ,p_help_text=>'Add a region of this type to your page and you have a map which the user can click to set a single Marker. If you set Synchronize with Item it will copy the lat,lng that the user clicks into that item; also, if the item is changed the map will move t' -||'he marker to the new location. If you set an Address item and your Google API Key, it will do a reverse geocode and put the first address result into it. You can also get the address clicked on via the "address" event whereby you can get each compone' -||'nt of an address (e.g. street number, road, locality, etc.) as separate strings.' -,p_version_identifier=>'0.7' +||'he marker to the new location. If you set an Address item, it will do a reverse geocode and put the first address result into it. You can also get the address clicked on via the "address" event whereby you can get each component of an address (e.g. s' +||'treet number, road, locality, etc.) as separate strings.' +,p_version_identifier=>'0.8' ,p_about_url=>'https://github.com/jeffreykemp/jk64-plugin-simplemap' -,p_files_version=>32 +,p_files_version=>34 ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(460954154970738655) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(559706113017712471) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'APPLICATION' ,p_attribute_sequence=>1 ,p_display_sequence=>10 @@ -7734,8 +7769,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Google Maps API key is required. Refer: https://developers.google.com/maps/documentation/javascript/get-api-key#get-an-api-key' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(451819937752798136) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(550571895799771952) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>1 ,p_display_sequence=>10 @@ -7749,8 +7784,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Set the latitude and longitude as a pair of numbers to be used to position the map on page load, if no pin coordinates have been provided by the page item.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(451799355861303403) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(550551313908277219) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>2 ,p_display_sequence=>20 @@ -7764,8 +7799,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Set the initial map zoom level on page load, to be used if the page item has no coordinates to show.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(451800003562328963) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(550551961609302779) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>3 ,p_display_sequence=>30 @@ -7779,8 +7814,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Set the desired height for the map region. Note: the map width will adjust to the maximum available space.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(453458313195674073) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(552210271242647889) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>4 ,p_display_sequence=>40 @@ -7791,8 +7826,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Position of the marker will be retrieved from and stored in this item as a Lat,Long value.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(453462327972847251) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(552214286019821067) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>5 ,p_display_sequence=>50 @@ -7805,8 +7840,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'If a marker is set or moved, zoom the map to this level. Leave blank to make the map not zoom when the marker is moved.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(455728257328932389) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(554480215375906205) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>6 ,p_display_sequence=>60 @@ -7831,21 +7866,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'URL to the icon to show for the marker. Leave blank for the default red Google pin.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(460955230348744902) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) -,p_attribute_scope=>'COMPONENT' -,p_attribute_sequence=>7 -,p_display_sequence=>70 -,p_prompt=>'Enable Google Sign-In' -,p_attribute_type=>'CHECKBOX' -,p_is_required=>false -,p_default_value=>'N' -,p_is_translatable=>false -,p_help_text=>'Set to Yes to enable Google sign-in on the map.' -); -wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(460957626548832231) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(559709584595806047) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>8 ,p_display_sequence=>80 @@ -7857,8 +7879,8 @@ wwv_flow_api.create_plugin_attribute( ||' at the application level.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(460958382838835612) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(559710340885809428) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>9 ,p_display_sequence=>90 @@ -7868,15 +7890,15 @@ wwv_flow_api.create_plugin_attribute( ,p_display_length=>10 ,p_max_length=>2 ,p_is_translatable=>false -,p_depending_on_attribute_id=>wwv_flow_api.id(460957626548832231) +,p_depending_on_attribute_id=>wwv_flow_api.id(559709584595806047) ,p_depending_on_condition_type=>'NOT_NULL' ,p_text_case=>'UPPER' ,p_examples=>'AU' ,p_help_text=>'Leave blank to allow geocoding to find any place on earth. Set to country code (see https://developers.google.com/public-data/docs/canonical/countries_csv for valid values) to restrict geocoder to that country.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(386120024950259856) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(484871982997233672) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>10 ,p_display_sequence=>100 @@ -7903,8 +7925,8 @@ wwv_flow_api.create_plugin_attribute( 'Another way is to copy one from a site like https://snazzymaps.com/')) ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(235116258240312638) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(333868216287286454) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>11 ,p_display_sequence=>110 @@ -7915,8 +7937,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Google API Key required. When the user clicks a point on the map, a Google Maps reverse geocode will be executed and the first result (usually the address) will be copied to the item you specify here.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(166127726872043700) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(264879684919017516) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>12 ,p_display_sequence=>120 @@ -7928,8 +7950,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'If Yes, on load the map will attempt to locate the user''s position and pan&zoom to that location (it might prompt the user for permission first).' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(166129328009114965) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(264881286056088781) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>13 ,p_display_sequence=>130 @@ -7941,14 +7963,14 @@ wwv_flow_api.create_plugin_attribute( ,p_max_length=>2 ,p_unit=>'(0-23)' ,p_is_translatable=>false -,p_depending_on_attribute_id=>wwv_flow_api.id(166127726872043700) +,p_depending_on_attribute_id=>wwv_flow_api.id(264879684919017516) ,p_depending_on_condition_type=>'EQUALS' ,p_depending_on_expression=>'Y' ,p_help_text=>'If geolocation is successful, pan map and zoom to this level.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(84098310226731587) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(182850268273705403) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>14 ,p_display_sequence=>140 @@ -7964,8 +7986,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'By default, this plugin allows the user to click the map to move the marker. To make the map "readonly" (i.e. disallow the user from moving the marker), set this to a PL/SQL expression that evaluates to TRUE.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(136485801003815099) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(235237759050788915) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>15 ,p_display_sequence=>150 @@ -7981,8 +8003,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'If this evaluates to true, the Zoom controls will be enabled. If no expression is supplied, the default is true (enabled).' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(136486940693818121) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(235238898740791937) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>16 ,p_display_sequence=>160 @@ -7998,8 +8020,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'If this evaluates to true, the Pan controls will be enabled. If no expression is supplied, the default is true (enabled).' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(136492766356927488) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(235244724403901304) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>17 ,p_display_sequence=>170 @@ -8014,60 +8036,60 @@ wwv_flow_api.create_plugin_attribute( ||' to users getting stuck on the map and having to reload the page in order to get back to the rest of the page. This option allows you to make scrolling more intuitive and less frustrating map interaction experience on mobile browsers.' ); wwv_flow_api.create_plugin_attr_value( - p_id=>wwv_flow_api.id(136493840498930472) -,p_plugin_attribute_id=>wwv_flow_api.id(136492766356927488) + p_id=>wwv_flow_api.id(235245798545904288) +,p_plugin_attribute_id=>wwv_flow_api.id(235244724403901304) ,p_display_sequence=>10 ,p_display_value=>'cooperative' ,p_return_value=>'cooperative' ,p_help_text=>wwv_flow_utilities.join(wwv_flow_t_varchar2( -'Scroll events and one-finger touch gestures scroll the page, and do not zoom or pan the map. Two-finger touch gestures pan and zoom the map. Scroll events with a ctrl key or ⌘ key pressed zoom the map.', +'Scroll events and one-finger touch gestures scroll the page, and do not zoom or pan the map. Two-finger touch gestures pan and zoom the map. Scroll events with a ctrl key or ? key pressed zoom the map.', 'In this mode the map cooperates with the page.')) ); wwv_flow_api.create_plugin_attr_value( - p_id=>wwv_flow_api.id(136494202493932213) -,p_plugin_attribute_id=>wwv_flow_api.id(136492766356927488) + p_id=>wwv_flow_api.id(235246160540906029) +,p_plugin_attribute_id=>wwv_flow_api.id(235244724403901304) ,p_display_sequence=>20 ,p_display_value=>'greedy' ,p_return_value=>'greedy' ,p_help_text=>'All touch gestures and scroll events pan or zoom the map.' ); wwv_flow_api.create_plugin_attr_value( - p_id=>wwv_flow_api.id(136494642700933503) -,p_plugin_attribute_id=>wwv_flow_api.id(136492766356927488) + p_id=>wwv_flow_api.id(235246600747907319) +,p_plugin_attribute_id=>wwv_flow_api.id(235244724403901304) ,p_display_sequence=>30 ,p_display_value=>'none' ,p_return_value=>'none' ,p_help_text=>'The map cannot be panned or zoomed by user gestures.' ); wwv_flow_api.create_plugin_attr_value( - p_id=>wwv_flow_api.id(136495023725935043) -,p_plugin_attribute_id=>wwv_flow_api.id(136492766356927488) + p_id=>wwv_flow_api.id(235246981772908859) +,p_plugin_attribute_id=>wwv_flow_api.id(235244724403901304) ,p_display_sequence=>40 ,p_display_value=>'auto' ,p_return_value=>'auto' ,p_help_text=>'(default) Gesture handling is either cooperative or greedy, depending on whether the page is scrollable.' ); wwv_flow_api.create_plugin_event( - p_id=>wwv_flow_api.id(136498374702129253) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(235250332749103069) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_name=>'address' ,p_display_name=>'address' ); wwv_flow_api.create_plugin_event( - p_id=>wwv_flow_api.id(166130896831132002) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(264882854878105818) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_name=>'geolocate' ,p_display_name=>'geolocate' ); wwv_flow_api.create_plugin_event( - p_id=>wwv_flow_api.id(451803157131465009) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(550555115178438825) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_name=>'mapclick' ,p_display_name=>'mapClick' ); wwv_flow_api.create_plugin_event( - p_id=>wwv_flow_api.id(460956166897747772) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(559708124944721588) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_name=>'maploaded' ,p_display_name=>'mapLoaded' ); @@ -8075,69 +8097,67 @@ end; / begin wwv_flow_api.g_varchar2_table := wwv_flow_api.empty_varchar2_table; -wwv_flow_api.g_varchar2_table(1) := '7661722073696D706C656D6170203D207B0D0A2F2F204A4B36342053696D706C6520476F6F676C65204D61702076302E360D0A0D0A67656F636F6465203A2066756E6374696F6E20286F70742C67656F636F64657229207B0D0A2020617065782E646562'; -wwv_flow_api.g_varchar2_table(2) := '7567282273696D706C656D61702E67656F636F646522293B0D0A202067656F636F6465722E67656F636F6465280D0A202020207B616464726573733A202476286F70742E67656F636F64654974656D290D0A202020202C636F6D706F6E656E7452657374'; -wwv_flow_api.g_varchar2_table(3) := '72696374696F6E733A206F70742E636F756E747279213D3D22223F7B636F756E7472793A6F70742E636F756E7472797D3A7B7D0D0A20207D2C2066756E6374696F6E28726573756C74732C2073746174757329207B0D0A20202020696620287374617475'; -wwv_flow_api.g_varchar2_table(4) := '73203D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E4F4B29207B0D0A202020202020617065782E6465627567286F70742E726567696F6E49642B222067656F636F6465206F6B22293B0D0A20202020202076617220706F7320'; -wwv_flow_api.g_varchar2_table(5) := '3D20726573756C74735B305D2E67656F6D657472792E6C6F636174696F6E3B0D0A20202020202073696D706C656D61702E7365744D61726B6572286F70742C706F732E6C617428292C706F732E6C6E672829290D0A202020202020696620286F70742E73'; -wwv_flow_api.g_varchar2_table(6) := '796E634974656D213D3D222229207B0D0A20202020202020202473286F70742E73796E634974656D2C706F732E6C617428292B222C222B706F732E6C6E672829293B0D0A2020202020207D0D0A202020207D20656C7365207B0D0A202020202020617065'; -wwv_flow_api.g_varchar2_table(7) := '782E6465627567286F70742E726567696F6E49642B222067656F636F64652077617320756E7375636365737366756C20666F722074686520666F6C6C6F77696E6720726561736F6E3A20222B737461747573293B0D0A202020207D0D0A20207D293B0D0A'; -wwv_flow_api.g_varchar2_table(8) := '7D2C0D0A0D0A7365744D61726B6572203A2066756E6374696F6E20286F70742C6C61742C6C6E6729207B0D0A2020617065782E6465627567282273696D706C656D61702E7365744D61726B657222293B0D0A2020696620286C6174213D3D6E756C6C2026'; -wwv_flow_api.g_varchar2_table(9) := '26206C6E67213D3D6E756C6C29207B0D0A20202020766172206F6C64706F73203D206F70742E6D61726B65723F6F70742E6D61726B65722E676574506F736974696F6E28293A6E657720676F6F676C652E6D6170732E4C61744C6E6728302C30293B0D0A'; -wwv_flow_api.g_varchar2_table(10) := '20202020696620286C61743D3D6F6C64706F732E6C61742829202626206C6E673D3D6F6C64706F732E6C6E67282929207B0D0A202020202020617065782E6465627567286F70742E726567696F6E49642B22206D61726B6572206E6F74206368616E6765'; -wwv_flow_api.g_varchar2_table(11) := '6422293B0D0A202020207D20656C7365207B0D0A202020202020617065782E6465627567286F70742E726567696F6E49642B22206D6F7665206D61726B657222293B0D0A20202020202076617220706F73203D206E657720676F6F676C652E6D6170732E'; -wwv_flow_api.g_varchar2_table(12) := '4C61744C6E67286C61742C6C6E67293B0D0A2020202020206F70742E6D61702E70616E546F28706F73293B0D0A202020202020696620286F70742E6D61726B65725A6F6F6D29207B0D0A20202020202020206F70742E6D61702E7365745A6F6F6D286F70'; -wwv_flow_api.g_varchar2_table(13) := '742E6D61726B65725A6F6F6D293B0D0A2020202020207D0D0A202020202020696620286F70742E6D61726B657229207B0D0A20202020202020206F70742E6D61726B65722E7365744D6170286F70742E6D6170293B0D0A20202020202020206F70742E6D'; -wwv_flow_api.g_varchar2_table(14) := '61726B65722E736574506F736974696F6E28706F73293B0D0A2020202020207D20656C7365207B0D0A20202020202020206F70742E6D61726B6572203D206E657720676F6F676C652E6D6170732E4D61726B6572287B6D61703A206F70742E6D61702C20'; -wwv_flow_api.g_varchar2_table(15) := '706F736974696F6E3A20706F732C2069636F6E3A206F70742E69636F6E7D293B0D0A2020202020207D0D0A202020207D0D0A20207D20656C736520696620286F70742E6D61726B657229207B0D0A20202020617065782E6465627567286F70742E726567'; -wwv_flow_api.g_varchar2_table(16) := '696F6E49642B222072656D6F7665206D61726B657222293B0D0A202020206F70742E6D61726B65722E7365744D6170286E756C6C293B0D0A20207D0D0A7D2C0D0A0D0A67657441646472657373203A2066756E6374696F6E20286F70742C6C61742C6C6E'; -wwv_flow_api.g_varchar2_table(17) := '6729207B0D0A2020617065782E6465627567282273696D706C656D61702E6765744164647265737322293B0D0A09766172206C61746C6E67203D207B6C61743A206C61742C206C6E673A206C6E677D3B0D0A096F70742E67656F636F6465722E67656F63'; -wwv_flow_api.g_varchar2_table(18) := '6F6465287B276C6F636174696F6E273A206C61746C6E677D2C2066756E6374696F6E28726573756C74732C2073746174757329207B0D0A090969662028737461747573203D3D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E4F'; -wwv_flow_api.g_varchar2_table(19) := '4B29207B0D0A090909666F722028693D303B20693C726573756C74732E6C656E6774683B20692B2B29207B0D0A09090909617065782E6465627567286F70742E726567696F6E49642B2220726573756C745B222B692B225D3D222B726573756C74735B69'; -wwv_flow_api.g_varchar2_table(20) := '5D2E666F726D61747465645F616464726573732B222028222B726573756C74735B695D2E74797065732E6A6F696E28292B222922293B0D0A0909097D0D0A09090969662028726573756C74735B305D29207B0D0A090909092473286F70742E6164647265'; -wwv_flow_api.g_varchar2_table(21) := '73734974656D2C726573756C74735B305D2E666F726D61747465645F61646472657373293B0D0A202020202020202076617220636F6D706F6E656E7473203D20726573756C74735B305D2E616464726573735F636F6D706F6E656E74733B0D0A20202020'; -wwv_flow_api.g_varchar2_table(22) := '20202020666F722028693D303B20693C636F6D706F6E656E74732E6C656E6774683B20692B2B29207B0D0A20202020202020202020617065782E6465627567286F70742E726567696F6E49642B2220726573756C745B305D20222B636F6D706F6E656E74'; -wwv_flow_api.g_varchar2_table(23) := '735B695D2E74797065732B223D222B636F6D706F6E656E74735B695D2E73686F72745F6E616D652B222028222B636F6D706F6E656E74735B695D2E6C6F6E675F6E616D652B222922293B0D0A20202020202020207D0D0A2020202020202020617065782E'; -wwv_flow_api.g_varchar2_table(24) := '6A5175657279282223222B6F70742E726567696F6E4964292E74726967676572282261646472657373222C207B6D61703A6F70742E6D61702C20726573756C743A726573756C74735B305D7D293B0D0A0909097D20656C7365207B0D0A0909090977696E'; -wwv_flow_api.g_varchar2_table(25) := '646F772E616C6572742827496E73756666696369656E7420726573756C747320666F756E6427293B0D0A0909097D0D0A09097D20656C73652069662028737461747573203D3D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E5A'; -wwv_flow_api.g_varchar2_table(26) := '45524F5F524553554C545329207B0D0A09090977696E646F772E616C65727428224E6F20726573756C747320666F756E6422293B0D0A09097D20656C7365207B0D0A09090977696E646F772E616C657274282747656F636F646572206661696C65642064'; -wwv_flow_api.g_varchar2_table(27) := '756520746F3A2027202B20737461747573293B0D0A09097D0D0A097D293B0D0A7D2C0D0A0D0A696E6974203A2066756E6374696F6E20286F707429207B0D0A2020617065782E6465627567282273696D706C656D61702E696E697422293B0D0A09766172'; -wwv_flow_api.g_varchar2_table(28) := '206D794F7074696F6E73203D207B0D0A09097A6F6F6D3A206F70742E696E69745A6F6F6D2C0D0A090963656E7465723A206E657720676F6F676C652E6D6170732E4C61744C6E67286F70742E696E69744C61742C6F70742E696E69744C6E67292C0D0A09'; -wwv_flow_api.g_varchar2_table(29) := '096D61705479706549643A20676F6F676C652E6D6170732E4D61705479706549642E524F41444D41500D0A097D3B0D0A096F70742E6D6170203D206E657720676F6F676C652E6D6170732E4D617028646F63756D656E742E676574456C656D656E744279'; -wwv_flow_api.g_varchar2_table(30) := '4964286F70742E636F6E7461696E6572292C6D794F7074696F6E73293B0D0A09696620286F70742E6D61707374796C6529207B0D0A09096F70742E6D61702E7365744F7074696F6E73287B7374796C65733A206F70742E6D61707374796C657D293B0D0A'; -wwv_flow_api.g_varchar2_table(31) := '097D0D0A2020696620286F70742E726561646F6E6C7929207B0D0A202020202F2F64697361626C65207A6F6F6D2F70616E20696620726561646F6E6C790D0A202020206F70742E6D61702E7365744F7074696F6E73287B0D0A2020202020202064697361'; -wwv_flow_api.g_varchar2_table(32) := '626C6544656661756C7455493A20747275650D0A2020202020202C647261676761626C653A206F70742E70616E0D0A2020202020202C7A6F6F6D436F6E74726F6C3A206F70742E7A6F6F6D0D0A2020202020202C7363726F6C6C776865656C3A206F7074'; -wwv_flow_api.g_varchar2_table(33) := '2E7A6F6F6D0D0A2020202020202C64697361626C65446F75626C65436C69636B5A6F6F6D3A2021286F70742E7A6F6F6D290D0A2020202020202C6765737475726548616E646C696E673A206F70742E6765737475726548616E646C696E670D0A20202020'; -wwv_flow_api.g_varchar2_table(34) := '7D293B0D0A20207D20656C7365207B0D0A202020206F70742E6D61702E7365744F7074696F6E73287B0D0A20202020202020647261676761626C653A206F70742E70616E0D0A2020202020202C7A6F6F6D436F6E74726F6C3A206F70742E7A6F6F6D0D0A'; -wwv_flow_api.g_varchar2_table(35) := '2020202020202C7363726F6C6C776865656C3A206F70742E7A6F6F6D0D0A2020202020202C64697361626C65446F75626C65436C69636B5A6F6F6D3A2021286F70742E7A6F6F6D290D0A2020202020202C6765737475726548616E646C696E673A206F70'; -wwv_flow_api.g_varchar2_table(36) := '742E6765737475726548616E646C696E670D0A202020207D293B0D0A20207D0D0A09696620286F70742E73796E634974656D213D3D222229207B0D0A09097661722076616C203D202476286F70742E73796E634974656D293B0D0A09096966202876616C'; -wwv_flow_api.g_varchar2_table(37) := '213D3D6E756C6C2026262076616C2E696E6465784F6628222C2229203E202D3129207B0D0A09090976617220617272203D2076616C2E73706C697428222C22293B0D0A09090973696D706C656D61702E7365744D61726B6572286F70742C6172725B305D'; -wwv_flow_api.g_varchar2_table(38) := '2C6172725B315D293B0D0A09097D0D0A090924282223222B6F70742E73796E634974656D292E6368616E67652866756E6374696F6E28297B200D0A090909766172206C61746C6E67203D20746869732E76616C75653B0D0A090909696620286C61746C6E'; -wwv_flow_api.g_varchar2_table(39) := '67213D3D6E756C6C202626206C61746C6E67213D3D756E646566696E6564202626206C61746C6E672E696E6465784F6628222C2229203E202D3129207B0D0A0909090976617220617272203D206C61746C6E672E73706C697428222C22293B0D0A090909'; -wwv_flow_api.g_varchar2_table(40) := '0973696D706C656D61702E7365744D61726B6572286F70742C6172725B305D2C6172725B315D293B0D0A0909097D202020200D0A09097D293B0D0A097D0D0A09696620286F70742E616464726573734974656D213D3D222229207B0D0A09096F70742E67'; -wwv_flow_api.g_varchar2_table(41) := '656F636F646572203D206E657720676F6F676C652E6D6170732E47656F636F6465723B0D0A097D0D0A202069662028216F70742E726561646F6E6C7929207B0D0A20202020676F6F676C652E6D6170732E6576656E742E6164644C697374656E6572286F'; -wwv_flow_api.g_varchar2_table(42) := '70742E6D61702C2022636C69636B222C2066756E6374696F6E20286576656E7429207B0D0A202020202020766172206C6174203D206576656E742E6C61744C6E672E6C617428290D0A2020202020202020202C6C6E67203D206576656E742E6C61744C6E'; -wwv_flow_api.g_varchar2_table(43) := '672E6C6E6728293B0D0A20202020202073696D706C656D61702E7365744D61726B6572286F70742C6C61742C6C6E67293B0D0A202020202020696620286F70742E73796E634974656D213D3D222229207B0D0A20202020202020202473286F70742E7379'; -wwv_flow_api.g_varchar2_table(44) := '6E634974656D2C6C61742B222C222B6C6E67293B0D0A2020202020207D0D0A202020202020696620286F70742E616464726573734974656D213D3D222229207B0D0A202020202020202073696D706C656D61702E67657441646472657373286F70742C6C'; -wwv_flow_api.g_varchar2_table(45) := '61742C6C6E67293B0D0A2020202020207D0D0A202020202020617065782E6A5175657279282223222B6F70742E726567696F6E4964292E7472696767657228226D6170636C69636B222C207B6D61703A6F70742E6D61702C206C61743A6C61742C206C6E'; -wwv_flow_api.g_varchar2_table(46) := '673A6C6E677D293B0D0A202020207D293B0D0A20207D0D0A09696620286F70742E67656F636F64654974656D213D222229207B0D0A09097661722067656F636F646572203D206E657720676F6F676C652E6D6170732E47656F636F64657228293B0D0A09'; -wwv_flow_api.g_varchar2_table(47) := '0924282223222B6F70742E67656F636F64654974656D292E6368616E67652866756E6374696F6E28297B0D0A09090973696D706C656D61702E67656F636F6465286F70742C67656F636F646572293B0D0A09097D293B0D0A097D0D0A09696620286F7074'; -wwv_flow_api.g_varchar2_table(48) := '2E67656F6C6F6361746529207B0D0A0909696620286E6176696761746F722E67656F6C6F636174696F6E29207B0D0A090909617065782E6465627567286F70742E726567696F6E49642B222067656F6C6F6361746522293B0D0A0909096E617669676174'; -wwv_flow_api.g_varchar2_table(49) := '6F722E67656F6C6F636174696F6E2E67657443757272656E74506F736974696F6E2866756E6374696F6E28706F736974696F6E29207B0D0A0909090976617220706F73203D207B0D0A09090909096C61743A20706F736974696F6E2E636F6F7264732E6C'; -wwv_flow_api.g_varchar2_table(50) := '617469747564652C0D0A09090909096C6E673A20706F736974696F6E2E636F6F7264732E6C6F6E6769747564650D0A090909097D3B0D0A090909096F70742E6D61702E70616E546F28706F73293B0D0A09090909696620286F70742E67656F6C6F636174'; -wwv_flow_api.g_varchar2_table(51) := '655A6F6F6D29207B0D0A0909090920206F70742E6D61702E7365745A6F6F6D286F70742E67656F6C6F636174655A6F6F6D293B0D0A090909097D0D0A2020202020202020696620286F70742E73796E634974656D213D3D222229207B0D0A202020202020'; -wwv_flow_api.g_varchar2_table(52) := '202020202473286F70742E73796E634974656D2C706F732E6C61742B222C222B706F732E6C6E67293B0D0A20202020202020207D0D0A2020202020202020696620286F70742E616464726573734974656D213D3D222229207B0D0A202020202020202020'; -wwv_flow_api.g_varchar2_table(53) := '2073696D706C656D61702E67657441646472657373286F70742C706F732E6C61742C706F732E6C6E67293B0D0A20202020202020207D0D0A09090909617065782E6A5175657279282223222B6F70742E726567696F6E4964292E74726967676572282267'; -wwv_flow_api.g_varchar2_table(54) := '656F6C6F63617465222C207B6D61703A6F70742E6D61702C206C61743A706F732E6C61742C206C6E673A706F732E6C6E677D293B0D0A0909097D293B0D0A09097D20656C7365207B0D0A090909617065782E6465627567286F70742E726567696F6E4964'; -wwv_flow_api.g_varchar2_table(55) := '2B222062726F7773657220646F6573206E6F7420737570706F72742067656F6C6F636174696F6E22293B0D0A09097D0D0A097D0D0A09617065782E6A5175657279282223222B6F70742E726567696F6E4964292E7472696767657228226D61706C6F6164'; -wwv_flow_api.g_varchar2_table(56) := '6564222C207B6D61703A6F70742E6D61707D293B0D0A7D0D0A0D0A7D'; +wwv_flow_api.g_varchar2_table(1) := '7661722073696D706C656D6170203D207B0A2F2F204A4B36342053696D706C6520476F6F676C65204D61702076302E360A0A67656F636F6465203A2066756E6374696F6E20286F70742C67656F636F64657229207B0A2020617065782E64656275672822'; +wwv_flow_api.g_varchar2_table(2) := '73696D706C656D61702E67656F636F646522293B0A202067656F636F6465722E67656F636F6465280A202020207B616464726573733A202476286F70742E67656F636F64654974656D290A202020202C636F6D706F6E656E745265737472696374696F6E'; +wwv_flow_api.g_varchar2_table(3) := '733A206F70742E636F756E747279213D3D22223F7B636F756E7472793A6F70742E636F756E7472797D3A7B7D0A20207D2C2066756E6374696F6E28726573756C74732C2073746174757329207B0A2020202069662028737461747573203D3D20676F6F67'; +wwv_flow_api.g_varchar2_table(4) := '6C652E6D6170732E47656F636F6465725374617475732E4F4B29207B0A202020202020617065782E6465627567286F70742E726567696F6E49642B222067656F636F6465206F6B22293B0A20202020202076617220706F73203D20726573756C74735B30'; +wwv_flow_api.g_varchar2_table(5) := '5D2E67656F6D657472792E6C6F636174696F6E3B0A20202020202073696D706C656D61702E7365744D61726B6572286F70742C706F732E6C617428292C706F732E6C6E672829290A202020202020696620286F70742E73796E634974656D213D3D222229'; +wwv_flow_api.g_varchar2_table(6) := '207B0A20202020202020202473286F70742E73796E634974656D2C706F732E6C617428292B222C222B706F732E6C6E672829293B0A2020202020207D0A202020207D20656C7365207B0A202020202020617065782E6465627567286F70742E726567696F'; +wwv_flow_api.g_varchar2_table(7) := '6E49642B222067656F636F64652077617320756E7375636365737366756C20666F722074686520666F6C6C6F77696E6720726561736F6E3A20222B737461747573293B0A202020207D0A20207D293B0A7D2C0A0A7365744D61726B6572203A2066756E63'; +wwv_flow_api.g_varchar2_table(8) := '74696F6E20286F70742C6C61742C6C6E6729207B0A2020617065782E6465627567282273696D706C656D61702E7365744D61726B657222293B0A2020696620286C6174213D3D6E756C6C202626206C6E67213D3D6E756C6C29207B0A2020202076617220'; +wwv_flow_api.g_varchar2_table(9) := '6F6C64706F73203D206F70742E6D61726B65723F6F70742E6D61726B65722E676574506F736974696F6E28293A6E657720676F6F676C652E6D6170732E4C61744C6E6728302C30293B0A20202020696620286C61743D3D6F6C64706F732E6C6174282920'; +wwv_flow_api.g_varchar2_table(10) := '2626206C6E673D3D6F6C64706F732E6C6E67282929207B0A202020202020617065782E6465627567286F70742E726567696F6E49642B22206D61726B6572206E6F74206368616E67656422293B0A202020207D20656C7365207B0A202020202020617065'; +wwv_flow_api.g_varchar2_table(11) := '782E6465627567286F70742E726567696F6E49642B22206D6F7665206D61726B657222293B0A20202020202076617220706F73203D206E657720676F6F676C652E6D6170732E4C61744C6E67286C61742C6C6E67293B0A2020202020206F70742E6D6170'; +wwv_flow_api.g_varchar2_table(12) := '2E70616E546F28706F73293B0A202020202020696620286F70742E6D61726B65725A6F6F6D29207B0A20202020202020206F70742E6D61702E7365745A6F6F6D286F70742E6D61726B65725A6F6F6D293B0A2020202020207D0A20202020202069662028'; +wwv_flow_api.g_varchar2_table(13) := '6F70742E6D61726B657229207B0A20202020202020206F70742E6D61726B65722E7365744D6170286F70742E6D6170293B0A20202020202020206F70742E6D61726B65722E736574506F736974696F6E28706F73293B0A2020202020207D20656C736520'; +wwv_flow_api.g_varchar2_table(14) := '7B0A20202020202020206F70742E6D61726B6572203D206E657720676F6F676C652E6D6170732E4D61726B6572287B6D61703A206F70742E6D61702C20706F736974696F6E3A20706F732C2069636F6E3A206F70742E69636F6E7D293B0A202020202020'; +wwv_flow_api.g_varchar2_table(15) := '7D0A202020207D0A20207D20656C736520696620286F70742E6D61726B657229207B0A20202020617065782E6465627567286F70742E726567696F6E49642B222072656D6F7665206D61726B657222293B0A202020206F70742E6D61726B65722E736574'; +wwv_flow_api.g_varchar2_table(16) := '4D6170286E756C6C293B0A20207D0A7D2C0A0A67657441646472657373203A2066756E6374696F6E20286F70742C6C61742C6C6E6729207B0A2020617065782E6465627567282273696D706C656D61702E6765744164647265737322293B0A0976617220'; +wwv_flow_api.g_varchar2_table(17) := '6C61746C6E67203D207B6C61743A206C61742C206C6E673A206C6E677D3B0A096F70742E67656F636F6465722E67656F636F6465287B276C6F636174696F6E273A206C61746C6E677D2C2066756E6374696F6E28726573756C74732C2073746174757329'; +wwv_flow_api.g_varchar2_table(18) := '207B0A090969662028737461747573203D3D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E4F4B29207B0A090909666F722028693D303B20693C726573756C74732E6C656E6774683B20692B2B29207B0A09090909617065782E'; +wwv_flow_api.g_varchar2_table(19) := '6465627567286F70742E726567696F6E49642B2220726573756C745B222B692B225D3D222B726573756C74735B695D2E666F726D61747465645F616464726573732B222028222B726573756C74735B695D2E74797065732E6A6F696E28292B222922293B'; +wwv_flow_api.g_varchar2_table(20) := '0A0909097D0A09090969662028726573756C74735B305D29207B0A090909092473286F70742E616464726573734974656D2C726573756C74735B305D2E666F726D61747465645F61646472657373293B0A202020202020202076617220636F6D706F6E65'; +wwv_flow_api.g_varchar2_table(21) := '6E7473203D20726573756C74735B305D2E616464726573735F636F6D706F6E656E74733B0A2020202020202020666F722028693D303B20693C636F6D706F6E656E74732E6C656E6774683B20692B2B29207B0A20202020202020202020617065782E6465'; +wwv_flow_api.g_varchar2_table(22) := '627567286F70742E726567696F6E49642B2220726573756C745B305D20222B636F6D706F6E656E74735B695D2E74797065732B223D222B636F6D706F6E656E74735B695D2E73686F72745F6E616D652B222028222B636F6D706F6E656E74735B695D2E6C'; +wwv_flow_api.g_varchar2_table(23) := '6F6E675F6E616D652B222922293B0A20202020202020207D0A2020202020202020617065782E6A5175657279282223222B6F70742E726567696F6E4964292E74726967676572282261646472657373222C207B6D61703A6F70742E6D61702C2072657375'; +wwv_flow_api.g_varchar2_table(24) := '6C743A726573756C74735B305D7D293B0A0909097D20656C7365207B0A0909090977696E646F772E616C6572742827496E73756666696369656E7420726573756C747320666F756E6427293B0A0909097D0A09097D20656C736520696620287374617475'; +wwv_flow_api.g_varchar2_table(25) := '73203D3D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E5A45524F5F524553554C545329207B0A09090977696E646F772E616C65727428224E6F20726573756C747320666F756E6422293B0A09097D20656C7365207B0A090909'; +wwv_flow_api.g_varchar2_table(26) := '77696E646F772E616C657274282747656F636F646572206661696C65642064756520746F3A2027202B20737461747573293B0A09097D0A097D293B0A7D2C0A0A696E6974203A2066756E6374696F6E20286F707429207B0A2020617065782E6465627567'; +wwv_flow_api.g_varchar2_table(27) := '282273696D706C656D61702E696E697422293B0A09766172206D794F7074696F6E73203D207B0A09097A6F6F6D3A206F70742E696E69745A6F6F6D2C0A090963656E7465723A206E657720676F6F676C652E6D6170732E4C61744C6E67286F70742E696E'; +wwv_flow_api.g_varchar2_table(28) := '69744C61742C6F70742E696E69744C6E67292C0A09096D61705479706549643A20676F6F676C652E6D6170732E4D61705479706549642E524F41444D41500A097D3B0A096F70742E6D6170203D206E657720676F6F676C652E6D6170732E4D617028646F'; +wwv_flow_api.g_varchar2_table(29) := '63756D656E742E676574456C656D656E7442794964286F70742E636F6E7461696E6572292C6D794F7074696F6E73293B0A09696620286F70742E6D61707374796C6529207B0A09096F70742E6D61702E7365744F7074696F6E73287B7374796C65733A20'; +wwv_flow_api.g_varchar2_table(30) := '6F70742E6D61707374796C657D293B0A097D0A2020696620286F70742E726561646F6E6C7929207B0A202020202F2F64697361626C65207A6F6F6D2F70616E20696620726561646F6E6C790A202020206F70742E6D61702E7365744F7074696F6E73287B'; +wwv_flow_api.g_varchar2_table(31) := '0A2020202020202064697361626C6544656661756C7455493A20747275650A2020202020202C647261676761626C653A206F70742E70616E0A2020202020202C7A6F6F6D436F6E74726F6C3A206F70742E7A6F6F6D0A2020202020202C7363726F6C6C77'; +wwv_flow_api.g_varchar2_table(32) := '6865656C3A206F70742E7A6F6F6D0A2020202020202C64697361626C65446F75626C65436C69636B5A6F6F6D3A2021286F70742E7A6F6F6D290A2020202020202C6765737475726548616E646C696E673A206F70742E6765737475726548616E646C696E'; +wwv_flow_api.g_varchar2_table(33) := '670A202020207D293B0A20207D20656C7365207B0A202020206F70742E6D61702E7365744F7074696F6E73287B0A20202020202020647261676761626C653A206F70742E70616E0A2020202020202C7A6F6F6D436F6E74726F6C3A206F70742E7A6F6F6D'; +wwv_flow_api.g_varchar2_table(34) := '0A2020202020202C7363726F6C6C776865656C3A206F70742E7A6F6F6D0A2020202020202C64697361626C65446F75626C65436C69636B5A6F6F6D3A2021286F70742E7A6F6F6D290A2020202020202C6765737475726548616E646C696E673A206F7074'; +wwv_flow_api.g_varchar2_table(35) := '2E6765737475726548616E646C696E670A202020207D293B0A20207D0A09696620286F70742E73796E634974656D213D3D222229207B0A09097661722076616C203D202476286F70742E73796E634974656D293B0A09096966202876616C213D3D6E756C'; +wwv_flow_api.g_varchar2_table(36) := '6C2026262076616C2E696E6465784F6628222C2229203E202D3129207B0A09090976617220617272203D2076616C2E73706C697428222C22293B0A09090973696D706C656D61702E7365744D61726B6572286F70742C6172725B305D2C6172725B315D29'; +wwv_flow_api.g_varchar2_table(37) := '3B0A09097D0A090924282223222B6F70742E73796E634974656D292E6368616E67652866756E6374696F6E28297B200A090909766172206C61746C6E67203D20746869732E76616C75653B0A090909696620286C61746C6E67213D3D6E756C6C20262620'; +wwv_flow_api.g_varchar2_table(38) := '6C61746C6E67213D3D756E646566696E6564202626206C61746C6E672E696E6465784F6628222C2229203E202D3129207B0A0909090976617220617272203D206C61746C6E672E73706C697428222C22293B0A0909090973696D706C656D61702E736574'; +wwv_flow_api.g_varchar2_table(39) := '4D61726B6572286F70742C6172725B305D2C6172725B315D293B0A0909097D202020200A09097D293B0A097D0A09696620286F70742E616464726573734974656D213D3D222229207B0A09096F70742E67656F636F646572203D206E657720676F6F676C'; +wwv_flow_api.g_varchar2_table(40) := '652E6D6170732E47656F636F6465723B0A097D0A202069662028216F70742E726561646F6E6C7929207B0A20202020676F6F676C652E6D6170732E6576656E742E6164644C697374656E6572286F70742E6D61702C2022636C69636B222C2066756E6374'; +wwv_flow_api.g_varchar2_table(41) := '696F6E20286576656E7429207B0A202020202020766172206C6174203D206576656E742E6C61744C6E672E6C617428290A2020202020202020202C6C6E67203D206576656E742E6C61744C6E672E6C6E6728293B0A20202020202073696D706C656D6170'; +wwv_flow_api.g_varchar2_table(42) := '2E7365744D61726B6572286F70742C6C61742C6C6E67293B0A202020202020696620286F70742E73796E634974656D213D3D222229207B0A20202020202020202473286F70742E73796E634974656D2C6C61742B222C222B6C6E67293B0A202020202020'; +wwv_flow_api.g_varchar2_table(43) := '7D0A202020202020696620286F70742E616464726573734974656D213D3D222229207B0A202020202020202073696D706C656D61702E67657441646472657373286F70742C6C61742C6C6E67293B0A2020202020207D0A202020202020617065782E6A51'; +wwv_flow_api.g_varchar2_table(44) := '75657279282223222B6F70742E726567696F6E4964292E7472696767657228226D6170636C69636B222C207B6D61703A6F70742E6D61702C206C61743A6C61742C206C6E673A6C6E677D293B0A202020207D293B0A20207D0A09696620286F70742E6765'; +wwv_flow_api.g_varchar2_table(45) := '6F636F64654974656D213D222229207B0A09097661722067656F636F646572203D206E657720676F6F676C652E6D6170732E47656F636F64657228293B0A090924282223222B6F70742E67656F636F64654974656D292E6368616E67652866756E637469'; +wwv_flow_api.g_varchar2_table(46) := '6F6E28297B0A09090973696D706C656D61702E67656F636F6465286F70742C67656F636F646572293B0A09097D293B0A097D0A09696620286F70742E67656F6C6F6361746529207B0A0909696620286E6176696761746F722E67656F6C6F636174696F6E'; +wwv_flow_api.g_varchar2_table(47) := '29207B0A090909617065782E6465627567286F70742E726567696F6E49642B222067656F6C6F6361746522293B0A0909096E6176696761746F722E67656F6C6F636174696F6E2E67657443757272656E74506F736974696F6E2866756E6374696F6E2870'; +wwv_flow_api.g_varchar2_table(48) := '6F736974696F6E29207B0A0909090976617220706F73203D207B0A09090909096C61743A20706F736974696F6E2E636F6F7264732E6C617469747564652C0A09090909096C6E673A20706F736974696F6E2E636F6F7264732E6C6F6E6769747564650A09'; +wwv_flow_api.g_varchar2_table(49) := '0909097D3B0A090909096F70742E6D61702E70616E546F28706F73293B0A09090909696620286F70742E67656F6C6F636174655A6F6F6D29207B0A0909090920206F70742E6D61702E7365745A6F6F6D286F70742E67656F6C6F636174655A6F6F6D293B'; +wwv_flow_api.g_varchar2_table(50) := '0A090909097D0A2020202020202020696620286F70742E73796E634974656D213D3D222229207B0A202020202020202020202473286F70742E73796E634974656D2C706F732E6C61742B222C222B706F732E6C6E67293B0A20202020202020207D0A2020'; +wwv_flow_api.g_varchar2_table(51) := '202020202020696620286F70742E616464726573734974656D213D3D222229207B0A2020202020202020202073696D706C656D61702E67657441646472657373286F70742C706F732E6C61742C706F732E6C6E67293B0A20202020202020207D0A090909'; +wwv_flow_api.g_varchar2_table(52) := '09617065782E6A5175657279282223222B6F70742E726567696F6E4964292E74726967676572282267656F6C6F63617465222C207B6D61703A6F70742E6D61702C206C61743A706F732E6C61742C206C6E673A706F732E6C6E677D293B0A0909097D293B'; +wwv_flow_api.g_varchar2_table(53) := '0A09097D20656C7365207B0A090909617065782E6465627567286F70742E726567696F6E49642B222062726F7773657220646F6573206E6F7420737570706F72742067656F6C6F636174696F6E22293B0A09097D0A097D0A09617065782E6A5175657279'; +wwv_flow_api.g_varchar2_table(54) := '282223222B6F70742E726567696F6E4964292E7472696767657228226D61706C6F61646564222C207B6D61703A6F70742E6D61707D293B0A7D0A0A7D'; null; end; / begin wwv_flow_api.create_plugin_file( - p_id=>wwv_flow_api.id(84100026180778296) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(182851984227752112) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_file_name=>'simplemap.js' ,p_mime_type=>'text/javascript' ,p_file_charset=>'utf-8' @@ -8189,8 +8209,8 @@ end; / begin wwv_flow_api.create_plugin_file( - p_id=>wwv_flow_api.id(84104929671016582) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(182856887717990398) +,p_plugin_id=>wwv_flow_api.id(550541452409009734) ,p_file_name=>'simplemap.min.js' ,p_mime_type=>'text/javascript' ,p_file_charset=>'utf-8' @@ -8238,6 +8258,7 @@ wwv_flow_api.create_page( ,p_step_sub_title_type=>'TEXT_WITH_SUBSTITUTIONS' ,p_first_item=>'NO_FIRST_ITEM' ,p_page_template_options=>'#DEFAULT#' +,p_dialog_chained=>'Y' ,p_overwrite_navigation_list=>'N' ,p_page_is_public_y_n=>'N' ,p_cache_mode=>'NOCACHE' @@ -8251,8 +8272,8 @@ wwv_flow_api.create_page( 'A geocode result will be retrieved and the various address components copied into the display items on the page.', '

', 'The Map Style is "Light Dream".')) -,p_last_updated_by=>'JEFF' -,p_last_upd_yyyymmddhh24miss=>'20181008190037' +,p_last_updated_by=>'EZ002363' +,p_last_upd_yyyymmddhh24miss=>'20200422094131' ); wwv_flow_api.create_page_plug( p_id=>wwv_flow_api.id(24993451701044461852) @@ -8286,7 +8307,6 @@ wwv_flow_api.create_page_plug( ,p_attribute_03=>'350' ,p_attribute_04=>'P1_LAT_LONG' ,p_attribute_05=>'16' -,p_attribute_07=>'N' ,p_attribute_10=>'[{"featureType":"landscape","stylers":[{"hue":"#FFBB00"},{"saturation":43.400000000000006},{"lightness":37.599999999999994},{"gamma":1}]},{"featureType":"road.highway","stylers":[{"hue":"#FFC200"},{"saturation":-61.8},{"lightness":45.599999999999994}' ||',{"gamma":1}]},{"featureType":"road.arterial","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":51.19999999999999},{"gamma":1}]},{"featureType":"road.local","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":52},{"gamma":1}]},{' ||'"featureType":"water","stylers":[{"hue":"#0078FF"},{"saturation":-13.200000000000003},{"lightness":2.4000000000000057},{"gamma":1}]},{"featureType":"poi","stylers":[{"hue":"#00FF6A"},{"saturation":-1.0989010989011234},{"lightness":11.200000000000017}' @@ -8446,6 +8466,7 @@ wwv_flow_api.create_page_da_action( ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_JAVASCRIPT_CODE' ,p_attribute_01=>'$s("P1_INFO", "You clicked at: " + this.data.lat + "," + this.data.lng);' +,p_stop_execution_on_error=>'Y' ); wwv_flow_api.create_page_da_event( p_id=>wwv_flow_api.id(134723656491859933) @@ -8485,6 +8506,7 @@ wwv_flow_api.create_page_da_action( ' case "postal_code" : $s("P1_POSTAL_CODE", components[i].short_name); break;', ' }', '}')) +,p_stop_execution_on_error=>'Y' ); end; / @@ -8500,6 +8522,7 @@ wwv_flow_api.create_page( ,p_step_sub_title_type=>'TEXT_WITH_SUBSTITUTIONS' ,p_first_item=>'NO_FIRST_ITEM' ,p_page_template_options=>'#DEFAULT#' +,p_dialog_chained=>'Y' ,p_overwrite_navigation_list=>'N' ,p_page_is_public_y_n=>'N' ,p_cache_mode=>'NOCACHE' @@ -8533,8 +8556,8 @@ wwv_flow_api.create_page( ' }', ']', '')) -,p_last_updated_by=>'JEFF' -,p_last_upd_yyyymmddhh24miss=>'20181008183416' +,p_last_updated_by=>'EZ002363' +,p_last_upd_yyyymmddhh24miss=>'20200422094131' ); wwv_flow_api.create_page_plug( p_id=>wwv_flow_api.id(30097686398806071537) @@ -8555,7 +8578,6 @@ wwv_flow_api.create_page_plug( ,p_attribute_03=>'350' ,p_attribute_04=>'P2_LAT_LONG' ,p_attribute_05=>'16' -,p_attribute_07=>'N' ,p_attribute_10=>wwv_flow_utilities.join(wwv_flow_t_varchar2( '[', ' {', @@ -8642,6 +8664,7 @@ wwv_flow_api.create_page_da_action( '});', 'apex.debug("show info window on map at marker");', 'opt_map.iw.open(this.data.map, opt_map.marker);')) +,p_stop_execution_on_error=>'Y' ); end; / @@ -8657,6 +8680,7 @@ wwv_flow_api.create_page( ,p_step_sub_title_type=>'TEXT_WITH_SUBSTITUTIONS' ,p_first_item=>'NO_FIRST_ITEM' ,p_page_template_options=>'#DEFAULT#' +,p_dialog_chained=>'Y' ,p_overwrite_navigation_list=>'N' ,p_page_is_public_y_n=>'N' ,p_cache_mode=>'NOCACHE' @@ -8664,8 +8688,8 @@ wwv_flow_api.create_page( 'This map will ask your browser for your location. If this is successful, the map will zoom and pan to that location, plot it on the map, and then attempt a reverse geocode to get the address.', '

', 'Note: the demo app will not store or transmit this information anywhere.')) -,p_last_updated_by=>'JEFF' -,p_last_upd_yyyymmddhh24miss=>'20181008192545' +,p_last_updated_by=>'EZ002363' +,p_last_upd_yyyymmddhh24miss=>'20200422094131' ); wwv_flow_api.create_page_plug( p_id=>wwv_flow_api.id(149994816758213832) @@ -8686,7 +8710,6 @@ wwv_flow_api.create_page_plug( ,p_attribute_03=>'350' ,p_attribute_04=>'P3_LAT_LONG' ,p_attribute_05=>'16' -,p_attribute_07=>'N' ,p_attribute_11=>'P3_ADDRESS' ,p_attribute_12=>'Y' ,p_attribute_13=>'13' @@ -8883,6 +8906,7 @@ wwv_flow_api.create_page_da_action( ' case "postal_code" : $s("P3_POSTAL_CODE", components[i].short_name); break;', ' }', '}')) +,p_stop_execution_on_error=>'Y' ); wwv_flow_api.create_page_da_event( p_id=>wwv_flow_api.id(147430864761327129) @@ -8901,6 +8925,7 @@ wwv_flow_api.create_page_da_action( ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_JAVASCRIPT_CODE' ,p_attribute_01=>'$s("P3_INFO", "Geolocate says you are here: " + this.data.lat + "," + this.data.lng);' +,p_stop_execution_on_error=>'Y' ); end; / diff --git a/region_type_plugin_com_jk64_simple_google_map.sql b/region_type_plugin_com_jk64_simple_google_map.sql index 2e8dea8..e22fca3 100644 --- a/region_type_plugin_com_jk64_simple_google_map.sql +++ b/region_type_plugin_com_jk64_simple_google_map.sql @@ -1,4 +1,3 @@ -prompt --application/set_environment set define off verify off feedback off whenever sqlerror exit sql.sqlcode rollback -------------------------------------------------------------------------------- @@ -6,30 +5,35 @@ whenever sqlerror exit sql.sqlcode rollback -- ORACLE Application Express (APEX) export file -- -- You should run the script connected to SQL*Plus as the Oracle user --- APEX_180200 or as the owner (parsing schema) of the application. +-- APEX_050000 or as the owner (parsing schema) of the application. -- -- NOTE: Calls to apex_application_install override the defaults below. -- -------------------------------------------------------------------------------- begin wwv_flow_api.import_begin ( - p_version_yyyy_mm_dd=>'2018.05.24' -,p_release=>'18.2.0.00.12' -,p_default_workspace_id=>20749515040658038 -,p_default_application_id=>76577 -,p_default_owner=>'SAMPLE' + p_version_yyyy_mm_dd=>'2013.01.01' +,p_release=>'5.0.3.00.03' +,p_default_workspace_id=>2216419243751626 +,p_default_application_id=>101 +,p_default_owner=>'XXSPS' ); end; / +prompt --application/ui_types +begin +null; +end; +/ prompt --application/shared_components/plugins/region_type/com_jk64_simple_google_map begin wwv_flow_api.create_plugin( - p_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(501163678790508848) ,p_plugin_type=>'REGION TYPE' ,p_name=>'COM.JK64.SIMPLE_GOOGLE_MAP' ,p_display_name=>'JK64 Simple Google Map' ,p_supported_ui_types=>'DESKTOP:JQM_SMARTPHONE' -,p_plsql_code=>wwv_flow_string.join(wwv_flow_t_varchar2( +,p_plsql_code=>wwv_flow_utilities.join(wwv_flow_t_varchar2( '/**********************************************************', 'create or replace package jk64simplemap_pkg as', '-- jk64 JK64 Simple Google Map v0.8 Apr 2020', @@ -93,7 +97,7 @@ wwv_flow_api.create_plugin( ' l_item_name plugin_attr := p_region.attribute_04;', ' l_marker_zoom plugin_attr := p_region.attribute_05;', ' l_icon plugin_attr := p_region.attribute_06;', -' l_sign_in plugin_attr := p_region.attribute_07;', +' --[unused] plugin_attr := p_region.attribute_07;', ' l_geocode_item plugin_attr := p_region.attribute_08;', ' l_country plugin_attr := p_region.attribute_09;', ' l_mapstyle plugin_attr := p_region.attribute_10;', @@ -140,9 +144,6 @@ wwv_flow_api.create_plugin( ' ', ' apex_javascript.add_library', ' (p_name => ''js?key='' || l_api_key', -' || case when l_sign_in = ''Y'' then', -' ''&''||''signed_in=true''', -' end', ' ,p_directory => ''https://maps.googleapis.com/maps/api/''', ' ,p_skip_extension => true);', '', @@ -209,24 +210,19 @@ wwv_flow_api.create_plugin( 'end jk64simplemap_pkg;', '/', '**********************************************************/')) -,p_api_version=>1 ,p_render_function=>'render' ,p_substitute_attributes=>true ,p_subscribe_plugin_settings=>true -,p_help_text=>wwv_flow_string.join(wwv_flow_t_varchar2( -'Add a region of this type to your page and you have a map which the user can click to set a single Marker.', -'', -'If you set Synchronize with Item it will copy the lat,lng that the user clicks into that item; also, if the item is changed the map will move the marker to the new location.', -'', -'If you set an Address item and your Google API Key, it will do a reverse geocode and put the first address result into it. You can also get the address clicked on via the "address" event whereby you can get each component of an address (e.g. street n' -||'umber, road, locality, etc.) as separate strings.')) +,p_help_text=>'Add a region of this type to your page and you have a map which the user can click to set a single Marker. If you set Synchronize with Item it will copy the lat,lng that the user clicks into that item; also, if the item is changed the map will move t' +||'he marker to the new location. If you set an Address item, it will do a reverse geocode and put the first address result into it. You can also get the address clicked on via the "address" event whereby you can get each component of an address (e.g. s' +||'treet number, road, locality, etc.) as separate strings.' ,p_version_identifier=>'0.8' ,p_about_url=>'https://github.com/jeffreykemp/jk64-plugin-simplemap' -,p_files_version=>32 +,p_files_version=>34 ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(460954154970738655) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(510328339399211585) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'APPLICATION' ,p_attribute_sequence=>1 ,p_display_sequence=>10 @@ -237,8 +233,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Google Maps API key is required. Refer: https://developers.google.com/maps/documentation/javascript/get-api-key#get-an-api-key' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(451819937752798136) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(501194122181271066) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>1 ,p_display_sequence=>10 @@ -252,8 +248,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Set the latitude and longitude as a pair of numbers to be used to position the map on page load, if no pin coordinates have been provided by the page item.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(451799355861303403) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(501173540289776333) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>2 ,p_display_sequence=>20 @@ -267,8 +263,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Set the initial map zoom level on page load, to be used if the page item has no coordinates to show.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(451800003562328963) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(501174187990801893) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>3 ,p_display_sequence=>30 @@ -282,8 +278,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Set the desired height for the map region. Note: the map width will adjust to the maximum available space.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(453458313195674073) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(502832497624147003) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>4 ,p_display_sequence=>40 @@ -294,8 +290,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Position of the marker will be retrieved from and stored in this item as a Lat,Long value.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(453462327972847251) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(502836512401320181) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>5 ,p_display_sequence=>50 @@ -308,8 +304,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'If a marker is set or moved, zoom the map to this level. Leave blank to make the map not zoom when the marker is moved.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(455728257328932389) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(505102441757405319) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>6 ,p_display_sequence=>60 @@ -318,7 +314,7 @@ wwv_flow_api.create_plugin_attribute( ,p_is_required=>false ,p_max_length=>4000 ,p_is_translatable=>false -,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 'http://maps.google.com/mapfiles/ms/icons/blue-dot.png', 'http://maps.google.com/mapfiles/ms/icons/red-dot.png', 'http://maps.google.com/mapfiles/ms/icons/purple-dot.png', @@ -334,8 +330,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'URL to the icon to show for the marker. Leave blank for the default red Google pin.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(460957626548832231) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(510331810977305161) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>8 ,p_display_sequence=>80 @@ -347,8 +343,8 @@ wwv_flow_api.create_plugin_attribute( ||' at the application level.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(460958382838835612) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(510332567267308542) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>9 ,p_display_sequence=>90 @@ -358,16 +354,15 @@ wwv_flow_api.create_plugin_attribute( ,p_display_length=>10 ,p_max_length=>2 ,p_is_translatable=>false -,p_depending_on_attribute_id=>wwv_flow_api.id(460957626548832231) -,p_depending_on_has_to_exist=>true +,p_depending_on_attribute_id=>wwv_flow_api.id(510331810977305161) ,p_depending_on_condition_type=>'NOT_NULL' ,p_text_case=>'UPPER' ,p_examples=>'AU' ,p_help_text=>'Leave blank to allow geocoding to find any place on earth. Set to country code (see https://developers.google.com/public-data/docs/canonical/countries_csv for valid values) to restrict geocoder to that country.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(386120024950259856) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(435494209378732786) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>10 ,p_display_sequence=>100 @@ -375,7 +370,7 @@ wwv_flow_api.create_plugin_attribute( ,p_attribute_type=>'TEXTAREA' ,p_is_required=>false ,p_is_translatable=>false -,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 'Here is an example, a light greyscale style map:', '

',
 '[{"featureType":"water","elementType":"geometry","stylers":[{"color":"#e9e9e9"},{"lightness":17}]},{"featureType":"landscape","elementType":"geometry","stylers":[{"color":"#f5f5f5"},{"lightness":20}]},{"featureType":"road.highway","elementType":"geom'
@@ -388,14 +383,14 @@ wwv_flow_api.create_plugin_attribute(
 '

', 'To hide the (clickable) POIs from the map, use this:', '[{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]}]')) -,p_help_text=>wwv_flow_string.join(wwv_flow_t_varchar2( +,p_help_text=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 'You can generate map styles using this tool: http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html', '

', 'Another way is to copy one from a site like https://snazzymaps.com/')) ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(235116258240312638) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(284490442668785568) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>11 ,p_display_sequence=>110 @@ -406,8 +401,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'Google API Key required. When the user clicks a point on the map, a Google Maps reverse geocode will be executed and the first result (usually the address) will be copied to the item you specify here.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(166127726872043700) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(215501911300516630) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>12 ,p_display_sequence=>120 @@ -419,8 +414,8 @@ wwv_flow_api.create_plugin_attribute( ,p_help_text=>'If Yes, on load the map will attempt to locate the user''s position and pan&zoom to that location (it might prompt the user for permission first).' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(166129328009114965) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(215503512437587895) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>13 ,p_display_sequence=>130 @@ -432,15 +427,14 @@ wwv_flow_api.create_plugin_attribute( ,p_max_length=>2 ,p_unit=>'(0-23)' ,p_is_translatable=>false -,p_depending_on_attribute_id=>wwv_flow_api.id(166127726872043700) -,p_depending_on_has_to_exist=>true +,p_depending_on_attribute_id=>wwv_flow_api.id(215501911300516630) ,p_depending_on_condition_type=>'EQUALS' ,p_depending_on_expression=>'Y' ,p_help_text=>'If geolocation is successful, pan map and zoom to this level.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(84098310226731587) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(133472494655204517) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>14 ,p_display_sequence=>140 @@ -449,15 +443,15 @@ wwv_flow_api.create_plugin_attribute( ,p_is_required=>false ,p_show_in_wizard=>false ,p_is_translatable=>false -,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 'true', '

', ':P1_ITEM IS NOT NULL')) ,p_help_text=>'By default, this plugin allows the user to click the map to move the marker. To make the map "readonly" (i.e. disallow the user from moving the marker), set this to a PL/SQL expression that evaluates to TRUE.' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(136485801003815099) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(185859985432288029) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>15 ,p_display_sequence=>150 @@ -466,15 +460,15 @@ wwv_flow_api.create_plugin_attribute( ,p_is_required=>false ,p_show_in_wizard=>false ,p_is_translatable=>false -,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 'true', '

', ':P1_ITEM IS NOT NULL')) ,p_help_text=>'If this evaluates to true, the Zoom controls will be enabled. If no expression is supplied, the default is true (enabled).' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(136486940693818121) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(185861125122291051) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>16 ,p_display_sequence=>160 @@ -483,15 +477,15 @@ wwv_flow_api.create_plugin_attribute( ,p_is_required=>false ,p_show_in_wizard=>false ,p_is_translatable=>false -,p_examples=>wwv_flow_string.join(wwv_flow_t_varchar2( +,p_examples=>wwv_flow_utilities.join(wwv_flow_t_varchar2( 'true', '

', ':P1_ITEM IS NOT NULL')) ,p_help_text=>'If this evaluates to true, the Pan controls will be enabled. If no expression is supplied, the default is true (enabled).' ); wwv_flow_api.create_plugin_attribute( - p_id=>wwv_flow_api.id(136492766356927488) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(185866950785400418) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_attribute_scope=>'COMPONENT' ,p_attribute_sequence=>17 ,p_display_sequence=>170 @@ -506,60 +500,60 @@ wwv_flow_api.create_plugin_attribute( ||' to users getting stuck on the map and having to reload the page in order to get back to the rest of the page. This option allows you to make scrolling more intuitive and less frustrating map interaction experience on mobile browsers.' ); wwv_flow_api.create_plugin_attr_value( - p_id=>wwv_flow_api.id(136493840498930472) -,p_plugin_attribute_id=>wwv_flow_api.id(136492766356927488) + p_id=>wwv_flow_api.id(185868024927403402) +,p_plugin_attribute_id=>wwv_flow_api.id(185866950785400418) ,p_display_sequence=>10 ,p_display_value=>'cooperative' ,p_return_value=>'cooperative' -,p_help_text=>wwv_flow_string.join(wwv_flow_t_varchar2( -unistr('Scroll events and one-finger touch gestures scroll the page, and do not zoom or pan the map. Two-finger touch gestures pan and zoom the map. Scroll events with a ctrl key or \2318 key pressed zoom the map.'), +,p_help_text=>wwv_flow_utilities.join(wwv_flow_t_varchar2( +'Scroll events and one-finger touch gestures scroll the page, and do not zoom or pan the map. Two-finger touch gestures pan and zoom the map. Scroll events with a ctrl key or ? key pressed zoom the map.', 'In this mode the map cooperates with the page.')) ); wwv_flow_api.create_plugin_attr_value( - p_id=>wwv_flow_api.id(136494202493932213) -,p_plugin_attribute_id=>wwv_flow_api.id(136492766356927488) + p_id=>wwv_flow_api.id(185868386922405143) +,p_plugin_attribute_id=>wwv_flow_api.id(185866950785400418) ,p_display_sequence=>20 ,p_display_value=>'greedy' ,p_return_value=>'greedy' ,p_help_text=>'All touch gestures and scroll events pan or zoom the map.' ); wwv_flow_api.create_plugin_attr_value( - p_id=>wwv_flow_api.id(136494642700933503) -,p_plugin_attribute_id=>wwv_flow_api.id(136492766356927488) + p_id=>wwv_flow_api.id(185868827129406433) +,p_plugin_attribute_id=>wwv_flow_api.id(185866950785400418) ,p_display_sequence=>30 ,p_display_value=>'none' ,p_return_value=>'none' ,p_help_text=>'The map cannot be panned or zoomed by user gestures.' ); wwv_flow_api.create_plugin_attr_value( - p_id=>wwv_flow_api.id(136495023725935043) -,p_plugin_attribute_id=>wwv_flow_api.id(136492766356927488) + p_id=>wwv_flow_api.id(185869208154407973) +,p_plugin_attribute_id=>wwv_flow_api.id(185866950785400418) ,p_display_sequence=>40 ,p_display_value=>'auto' ,p_return_value=>'auto' ,p_help_text=>'(default) Gesture handling is either cooperative or greedy, depending on whether the page is scrollable.' ); wwv_flow_api.create_plugin_event( - p_id=>wwv_flow_api.id(136498374702129253) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(185872559130602183) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_name=>'address' ,p_display_name=>'address' ); wwv_flow_api.create_plugin_event( - p_id=>wwv_flow_api.id(166130896831132002) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(215505081259604932) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_name=>'geolocate' ,p_display_name=>'geolocate' ); wwv_flow_api.create_plugin_event( - p_id=>wwv_flow_api.id(451803157131465009) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(501177341559937939) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_name=>'mapclick' ,p_display_name=>'mapClick' ); wwv_flow_api.create_plugin_event( - p_id=>wwv_flow_api.id(460956166897747772) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(510330351326220702) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_name=>'maploaded' ,p_display_name=>'mapLoaded' ); @@ -567,69 +561,67 @@ end; / begin wwv_flow_api.g_varchar2_table := wwv_flow_api.empty_varchar2_table; -wwv_flow_api.g_varchar2_table(1) := '7661722073696D706C656D6170203D207B0D0A2F2F204A4B36342053696D706C6520476F6F676C65204D61702076302E360D0A0D0A67656F636F6465203A2066756E6374696F6E20286F70742C67656F636F64657229207B0D0A2020617065782E646562'; -wwv_flow_api.g_varchar2_table(2) := '7567282273696D706C656D61702E67656F636F646522293B0D0A202067656F636F6465722E67656F636F6465280D0A202020207B616464726573733A202476286F70742E67656F636F64654974656D290D0A202020202C636F6D706F6E656E7452657374'; -wwv_flow_api.g_varchar2_table(3) := '72696374696F6E733A206F70742E636F756E747279213D3D22223F7B636F756E7472793A6F70742E636F756E7472797D3A7B7D0D0A20207D2C2066756E6374696F6E28726573756C74732C2073746174757329207B0D0A20202020696620287374617475'; -wwv_flow_api.g_varchar2_table(4) := '73203D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E4F4B29207B0D0A202020202020617065782E6465627567286F70742E726567696F6E49642B222067656F636F6465206F6B22293B0D0A20202020202076617220706F7320'; -wwv_flow_api.g_varchar2_table(5) := '3D20726573756C74735B305D2E67656F6D657472792E6C6F636174696F6E3B0D0A20202020202073696D706C656D61702E7365744D61726B6572286F70742C706F732E6C617428292C706F732E6C6E672829290D0A202020202020696620286F70742E73'; -wwv_flow_api.g_varchar2_table(6) := '796E634974656D213D3D222229207B0D0A20202020202020202473286F70742E73796E634974656D2C706F732E6C617428292B222C222B706F732E6C6E672829293B0D0A2020202020207D0D0A202020207D20656C7365207B0D0A202020202020617065'; -wwv_flow_api.g_varchar2_table(7) := '782E6465627567286F70742E726567696F6E49642B222067656F636F64652077617320756E7375636365737366756C20666F722074686520666F6C6C6F77696E6720726561736F6E3A20222B737461747573293B0D0A202020207D0D0A20207D293B0D0A'; -wwv_flow_api.g_varchar2_table(8) := '7D2C0D0A0D0A7365744D61726B6572203A2066756E6374696F6E20286F70742C6C61742C6C6E6729207B0D0A2020617065782E6465627567282273696D706C656D61702E7365744D61726B657222293B0D0A2020696620286C6174213D3D6E756C6C2026'; -wwv_flow_api.g_varchar2_table(9) := '26206C6E67213D3D6E756C6C29207B0D0A20202020766172206F6C64706F73203D206F70742E6D61726B65723F6F70742E6D61726B65722E676574506F736974696F6E28293A6E657720676F6F676C652E6D6170732E4C61744C6E6728302C30293B0D0A'; -wwv_flow_api.g_varchar2_table(10) := '20202020696620286C61743D3D6F6C64706F732E6C61742829202626206C6E673D3D6F6C64706F732E6C6E67282929207B0D0A202020202020617065782E6465627567286F70742E726567696F6E49642B22206D61726B6572206E6F74206368616E6765'; -wwv_flow_api.g_varchar2_table(11) := '6422293B0D0A202020207D20656C7365207B0D0A202020202020617065782E6465627567286F70742E726567696F6E49642B22206D6F7665206D61726B657222293B0D0A20202020202076617220706F73203D206E657720676F6F676C652E6D6170732E'; -wwv_flow_api.g_varchar2_table(12) := '4C61744C6E67286C61742C6C6E67293B0D0A2020202020206F70742E6D61702E70616E546F28706F73293B0D0A202020202020696620286F70742E6D61726B65725A6F6F6D29207B0D0A20202020202020206F70742E6D61702E7365745A6F6F6D286F70'; -wwv_flow_api.g_varchar2_table(13) := '742E6D61726B65725A6F6F6D293B0D0A2020202020207D0D0A202020202020696620286F70742E6D61726B657229207B0D0A20202020202020206F70742E6D61726B65722E7365744D6170286F70742E6D6170293B0D0A20202020202020206F70742E6D'; -wwv_flow_api.g_varchar2_table(14) := '61726B65722E736574506F736974696F6E28706F73293B0D0A2020202020207D20656C7365207B0D0A20202020202020206F70742E6D61726B6572203D206E657720676F6F676C652E6D6170732E4D61726B6572287B6D61703A206F70742E6D61702C20'; -wwv_flow_api.g_varchar2_table(15) := '706F736974696F6E3A20706F732C2069636F6E3A206F70742E69636F6E7D293B0D0A2020202020207D0D0A202020207D0D0A20207D20656C736520696620286F70742E6D61726B657229207B0D0A20202020617065782E6465627567286F70742E726567'; -wwv_flow_api.g_varchar2_table(16) := '696F6E49642B222072656D6F7665206D61726B657222293B0D0A202020206F70742E6D61726B65722E7365744D6170286E756C6C293B0D0A20207D0D0A7D2C0D0A0D0A67657441646472657373203A2066756E6374696F6E20286F70742C6C61742C6C6E'; -wwv_flow_api.g_varchar2_table(17) := '6729207B0D0A2020617065782E6465627567282273696D706C656D61702E6765744164647265737322293B0D0A09766172206C61746C6E67203D207B6C61743A206C61742C206C6E673A206C6E677D3B0D0A096F70742E67656F636F6465722E67656F63'; -wwv_flow_api.g_varchar2_table(18) := '6F6465287B276C6F636174696F6E273A206C61746C6E677D2C2066756E6374696F6E28726573756C74732C2073746174757329207B0D0A090969662028737461747573203D3D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E4F'; -wwv_flow_api.g_varchar2_table(19) := '4B29207B0D0A090909666F722028693D303B20693C726573756C74732E6C656E6774683B20692B2B29207B0D0A09090909617065782E6465627567286F70742E726567696F6E49642B2220726573756C745B222B692B225D3D222B726573756C74735B69'; -wwv_flow_api.g_varchar2_table(20) := '5D2E666F726D61747465645F616464726573732B222028222B726573756C74735B695D2E74797065732E6A6F696E28292B222922293B0D0A0909097D0D0A09090969662028726573756C74735B305D29207B0D0A090909092473286F70742E6164647265'; -wwv_flow_api.g_varchar2_table(21) := '73734974656D2C726573756C74735B305D2E666F726D61747465645F61646472657373293B0D0A202020202020202076617220636F6D706F6E656E7473203D20726573756C74735B305D2E616464726573735F636F6D706F6E656E74733B0D0A20202020'; -wwv_flow_api.g_varchar2_table(22) := '20202020666F722028693D303B20693C636F6D706F6E656E74732E6C656E6774683B20692B2B29207B0D0A20202020202020202020617065782E6465627567286F70742E726567696F6E49642B2220726573756C745B305D20222B636F6D706F6E656E74'; -wwv_flow_api.g_varchar2_table(23) := '735B695D2E74797065732B223D222B636F6D706F6E656E74735B695D2E73686F72745F6E616D652B222028222B636F6D706F6E656E74735B695D2E6C6F6E675F6E616D652B222922293B0D0A20202020202020207D0D0A2020202020202020617065782E'; -wwv_flow_api.g_varchar2_table(24) := '6A5175657279282223222B6F70742E726567696F6E4964292E74726967676572282261646472657373222C207B6D61703A6F70742E6D61702C20726573756C743A726573756C74735B305D7D293B0D0A0909097D20656C7365207B0D0A0909090977696E'; -wwv_flow_api.g_varchar2_table(25) := '646F772E616C6572742827496E73756666696369656E7420726573756C747320666F756E6427293B0D0A0909097D0D0A09097D20656C73652069662028737461747573203D3D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E5A'; -wwv_flow_api.g_varchar2_table(26) := '45524F5F524553554C545329207B0D0A09090977696E646F772E616C65727428224E6F20726573756C747320666F756E6422293B0D0A09097D20656C7365207B0D0A09090977696E646F772E616C657274282747656F636F646572206661696C65642064'; -wwv_flow_api.g_varchar2_table(27) := '756520746F3A2027202B20737461747573293B0D0A09097D0D0A097D293B0D0A7D2C0D0A0D0A696E6974203A2066756E6374696F6E20286F707429207B0D0A2020617065782E6465627567282273696D706C656D61702E696E697422293B0D0A09766172'; -wwv_flow_api.g_varchar2_table(28) := '206D794F7074696F6E73203D207B0D0A09097A6F6F6D3A206F70742E696E69745A6F6F6D2C0D0A090963656E7465723A206E657720676F6F676C652E6D6170732E4C61744C6E67286F70742E696E69744C61742C6F70742E696E69744C6E67292C0D0A09'; -wwv_flow_api.g_varchar2_table(29) := '096D61705479706549643A20676F6F676C652E6D6170732E4D61705479706549642E524F41444D41500D0A097D3B0D0A096F70742E6D6170203D206E657720676F6F676C652E6D6170732E4D617028646F63756D656E742E676574456C656D656E744279'; -wwv_flow_api.g_varchar2_table(30) := '4964286F70742E636F6E7461696E6572292C6D794F7074696F6E73293B0D0A09696620286F70742E6D61707374796C6529207B0D0A09096F70742E6D61702E7365744F7074696F6E73287B7374796C65733A206F70742E6D61707374796C657D293B0D0A'; -wwv_flow_api.g_varchar2_table(31) := '097D0D0A2020696620286F70742E726561646F6E6C7929207B0D0A202020202F2F64697361626C65207A6F6F6D2F70616E20696620726561646F6E6C790D0A202020206F70742E6D61702E7365744F7074696F6E73287B0D0A2020202020202064697361'; -wwv_flow_api.g_varchar2_table(32) := '626C6544656661756C7455493A20747275650D0A2020202020202C647261676761626C653A206F70742E70616E0D0A2020202020202C7A6F6F6D436F6E74726F6C3A206F70742E7A6F6F6D0D0A2020202020202C7363726F6C6C776865656C3A206F7074'; -wwv_flow_api.g_varchar2_table(33) := '2E7A6F6F6D0D0A2020202020202C64697361626C65446F75626C65436C69636B5A6F6F6D3A2021286F70742E7A6F6F6D290D0A2020202020202C6765737475726548616E646C696E673A206F70742E6765737475726548616E646C696E670D0A20202020'; -wwv_flow_api.g_varchar2_table(34) := '7D293B0D0A20207D20656C7365207B0D0A202020206F70742E6D61702E7365744F7074696F6E73287B0D0A20202020202020647261676761626C653A206F70742E70616E0D0A2020202020202C7A6F6F6D436F6E74726F6C3A206F70742E7A6F6F6D0D0A'; -wwv_flow_api.g_varchar2_table(35) := '2020202020202C7363726F6C6C776865656C3A206F70742E7A6F6F6D0D0A2020202020202C64697361626C65446F75626C65436C69636B5A6F6F6D3A2021286F70742E7A6F6F6D290D0A2020202020202C6765737475726548616E646C696E673A206F70'; -wwv_flow_api.g_varchar2_table(36) := '742E6765737475726548616E646C696E670D0A202020207D293B0D0A20207D0D0A09696620286F70742E73796E634974656D213D3D222229207B0D0A09097661722076616C203D202476286F70742E73796E634974656D293B0D0A09096966202876616C'; -wwv_flow_api.g_varchar2_table(37) := '213D3D6E756C6C2026262076616C2E696E6465784F6628222C2229203E202D3129207B0D0A09090976617220617272203D2076616C2E73706C697428222C22293B0D0A09090973696D706C656D61702E7365744D61726B6572286F70742C6172725B305D'; -wwv_flow_api.g_varchar2_table(38) := '2C6172725B315D293B0D0A09097D0D0A090924282223222B6F70742E73796E634974656D292E6368616E67652866756E6374696F6E28297B200D0A090909766172206C61746C6E67203D20746869732E76616C75653B0D0A090909696620286C61746C6E'; -wwv_flow_api.g_varchar2_table(39) := '67213D3D6E756C6C202626206C61746C6E67213D3D756E646566696E6564202626206C61746C6E672E696E6465784F6628222C2229203E202D3129207B0D0A0909090976617220617272203D206C61746C6E672E73706C697428222C22293B0D0A090909'; -wwv_flow_api.g_varchar2_table(40) := '0973696D706C656D61702E7365744D61726B6572286F70742C6172725B305D2C6172725B315D293B0D0A0909097D202020200D0A09097D293B0D0A097D0D0A09696620286F70742E616464726573734974656D213D3D222229207B0D0A09096F70742E67'; -wwv_flow_api.g_varchar2_table(41) := '656F636F646572203D206E657720676F6F676C652E6D6170732E47656F636F6465723B0D0A097D0D0A202069662028216F70742E726561646F6E6C7929207B0D0A20202020676F6F676C652E6D6170732E6576656E742E6164644C697374656E6572286F'; -wwv_flow_api.g_varchar2_table(42) := '70742E6D61702C2022636C69636B222C2066756E6374696F6E20286576656E7429207B0D0A202020202020766172206C6174203D206576656E742E6C61744C6E672E6C617428290D0A2020202020202020202C6C6E67203D206576656E742E6C61744C6E'; -wwv_flow_api.g_varchar2_table(43) := '672E6C6E6728293B0D0A20202020202073696D706C656D61702E7365744D61726B6572286F70742C6C61742C6C6E67293B0D0A202020202020696620286F70742E73796E634974656D213D3D222229207B0D0A20202020202020202473286F70742E7379'; -wwv_flow_api.g_varchar2_table(44) := '6E634974656D2C6C61742B222C222B6C6E67293B0D0A2020202020207D0D0A202020202020696620286F70742E616464726573734974656D213D3D222229207B0D0A202020202020202073696D706C656D61702E67657441646472657373286F70742C6C'; -wwv_flow_api.g_varchar2_table(45) := '61742C6C6E67293B0D0A2020202020207D0D0A202020202020617065782E6A5175657279282223222B6F70742E726567696F6E4964292E7472696767657228226D6170636C69636B222C207B6D61703A6F70742E6D61702C206C61743A6C61742C206C6E'; -wwv_flow_api.g_varchar2_table(46) := '673A6C6E677D293B0D0A202020207D293B0D0A20207D0D0A09696620286F70742E67656F636F64654974656D213D222229207B0D0A09097661722067656F636F646572203D206E657720676F6F676C652E6D6170732E47656F636F64657228293B0D0A09'; -wwv_flow_api.g_varchar2_table(47) := '0924282223222B6F70742E67656F636F64654974656D292E6368616E67652866756E6374696F6E28297B0D0A09090973696D706C656D61702E67656F636F6465286F70742C67656F636F646572293B0D0A09097D293B0D0A097D0D0A09696620286F7074'; -wwv_flow_api.g_varchar2_table(48) := '2E67656F6C6F6361746529207B0D0A0909696620286E6176696761746F722E67656F6C6F636174696F6E29207B0D0A090909617065782E6465627567286F70742E726567696F6E49642B222067656F6C6F6361746522293B0D0A0909096E617669676174'; -wwv_flow_api.g_varchar2_table(49) := '6F722E67656F6C6F636174696F6E2E67657443757272656E74506F736974696F6E2866756E6374696F6E28706F736974696F6E29207B0D0A0909090976617220706F73203D207B0D0A09090909096C61743A20706F736974696F6E2E636F6F7264732E6C'; -wwv_flow_api.g_varchar2_table(50) := '617469747564652C0D0A09090909096C6E673A20706F736974696F6E2E636F6F7264732E6C6F6E6769747564650D0A090909097D3B0D0A090909096F70742E6D61702E70616E546F28706F73293B0D0A09090909696620286F70742E67656F6C6F636174'; -wwv_flow_api.g_varchar2_table(51) := '655A6F6F6D29207B0D0A0909090920206F70742E6D61702E7365745A6F6F6D286F70742E67656F6C6F636174655A6F6F6D293B0D0A090909097D0D0A2020202020202020696620286F70742E73796E634974656D213D3D222229207B0D0A202020202020'; -wwv_flow_api.g_varchar2_table(52) := '202020202473286F70742E73796E634974656D2C706F732E6C61742B222C222B706F732E6C6E67293B0D0A20202020202020207D0D0A2020202020202020696620286F70742E616464726573734974656D213D3D222229207B0D0A202020202020202020'; -wwv_flow_api.g_varchar2_table(53) := '2073696D706C656D61702E67657441646472657373286F70742C706F732E6C61742C706F732E6C6E67293B0D0A20202020202020207D0D0A09090909617065782E6A5175657279282223222B6F70742E726567696F6E4964292E74726967676572282267'; -wwv_flow_api.g_varchar2_table(54) := '656F6C6F63617465222C207B6D61703A6F70742E6D61702C206C61743A706F732E6C61742C206C6E673A706F732E6C6E677D293B0D0A0909097D293B0D0A09097D20656C7365207B0D0A090909617065782E6465627567286F70742E726567696F6E4964'; -wwv_flow_api.g_varchar2_table(55) := '2B222062726F7773657220646F6573206E6F7420737570706F72742067656F6C6F636174696F6E22293B0D0A09097D0D0A097D0D0A09617065782E6A5175657279282223222B6F70742E726567696F6E4964292E7472696767657228226D61706C6F6164'; -wwv_flow_api.g_varchar2_table(56) := '6564222C207B6D61703A6F70742E6D61707D293B0D0A7D0D0A0D0A7D'; +wwv_flow_api.g_varchar2_table(1) := '7661722073696D706C656D6170203D207B0A2F2F204A4B36342053696D706C6520476F6F676C65204D61702076302E360A0A67656F636F6465203A2066756E6374696F6E20286F70742C67656F636F64657229207B0A2020617065782E64656275672822'; +wwv_flow_api.g_varchar2_table(2) := '73696D706C656D61702E67656F636F646522293B0A202067656F636F6465722E67656F636F6465280A202020207B616464726573733A202476286F70742E67656F636F64654974656D290A202020202C636F6D706F6E656E745265737472696374696F6E'; +wwv_flow_api.g_varchar2_table(3) := '733A206F70742E636F756E747279213D3D22223F7B636F756E7472793A6F70742E636F756E7472797D3A7B7D0A20207D2C2066756E6374696F6E28726573756C74732C2073746174757329207B0A2020202069662028737461747573203D3D20676F6F67'; +wwv_flow_api.g_varchar2_table(4) := '6C652E6D6170732E47656F636F6465725374617475732E4F4B29207B0A202020202020617065782E6465627567286F70742E726567696F6E49642B222067656F636F6465206F6B22293B0A20202020202076617220706F73203D20726573756C74735B30'; +wwv_flow_api.g_varchar2_table(5) := '5D2E67656F6D657472792E6C6F636174696F6E3B0A20202020202073696D706C656D61702E7365744D61726B6572286F70742C706F732E6C617428292C706F732E6C6E672829290A202020202020696620286F70742E73796E634974656D213D3D222229'; +wwv_flow_api.g_varchar2_table(6) := '207B0A20202020202020202473286F70742E73796E634974656D2C706F732E6C617428292B222C222B706F732E6C6E672829293B0A2020202020207D0A202020207D20656C7365207B0A202020202020617065782E6465627567286F70742E726567696F'; +wwv_flow_api.g_varchar2_table(7) := '6E49642B222067656F636F64652077617320756E7375636365737366756C20666F722074686520666F6C6C6F77696E6720726561736F6E3A20222B737461747573293B0A202020207D0A20207D293B0A7D2C0A0A7365744D61726B6572203A2066756E63'; +wwv_flow_api.g_varchar2_table(8) := '74696F6E20286F70742C6C61742C6C6E6729207B0A2020617065782E6465627567282273696D706C656D61702E7365744D61726B657222293B0A2020696620286C6174213D3D6E756C6C202626206C6E67213D3D6E756C6C29207B0A2020202076617220'; +wwv_flow_api.g_varchar2_table(9) := '6F6C64706F73203D206F70742E6D61726B65723F6F70742E6D61726B65722E676574506F736974696F6E28293A6E657720676F6F676C652E6D6170732E4C61744C6E6728302C30293B0A20202020696620286C61743D3D6F6C64706F732E6C6174282920'; +wwv_flow_api.g_varchar2_table(10) := '2626206C6E673D3D6F6C64706F732E6C6E67282929207B0A202020202020617065782E6465627567286F70742E726567696F6E49642B22206D61726B6572206E6F74206368616E67656422293B0A202020207D20656C7365207B0A202020202020617065'; +wwv_flow_api.g_varchar2_table(11) := '782E6465627567286F70742E726567696F6E49642B22206D6F7665206D61726B657222293B0A20202020202076617220706F73203D206E657720676F6F676C652E6D6170732E4C61744C6E67286C61742C6C6E67293B0A2020202020206F70742E6D6170'; +wwv_flow_api.g_varchar2_table(12) := '2E70616E546F28706F73293B0A202020202020696620286F70742E6D61726B65725A6F6F6D29207B0A20202020202020206F70742E6D61702E7365745A6F6F6D286F70742E6D61726B65725A6F6F6D293B0A2020202020207D0A20202020202069662028'; +wwv_flow_api.g_varchar2_table(13) := '6F70742E6D61726B657229207B0A20202020202020206F70742E6D61726B65722E7365744D6170286F70742E6D6170293B0A20202020202020206F70742E6D61726B65722E736574506F736974696F6E28706F73293B0A2020202020207D20656C736520'; +wwv_flow_api.g_varchar2_table(14) := '7B0A20202020202020206F70742E6D61726B6572203D206E657720676F6F676C652E6D6170732E4D61726B6572287B6D61703A206F70742E6D61702C20706F736974696F6E3A20706F732C2069636F6E3A206F70742E69636F6E7D293B0A202020202020'; +wwv_flow_api.g_varchar2_table(15) := '7D0A202020207D0A20207D20656C736520696620286F70742E6D61726B657229207B0A20202020617065782E6465627567286F70742E726567696F6E49642B222072656D6F7665206D61726B657222293B0A202020206F70742E6D61726B65722E736574'; +wwv_flow_api.g_varchar2_table(16) := '4D6170286E756C6C293B0A20207D0A7D2C0A0A67657441646472657373203A2066756E6374696F6E20286F70742C6C61742C6C6E6729207B0A2020617065782E6465627567282273696D706C656D61702E6765744164647265737322293B0A0976617220'; +wwv_flow_api.g_varchar2_table(17) := '6C61746C6E67203D207B6C61743A206C61742C206C6E673A206C6E677D3B0A096F70742E67656F636F6465722E67656F636F6465287B276C6F636174696F6E273A206C61746C6E677D2C2066756E6374696F6E28726573756C74732C2073746174757329'; +wwv_flow_api.g_varchar2_table(18) := '207B0A090969662028737461747573203D3D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E4F4B29207B0A090909666F722028693D303B20693C726573756C74732E6C656E6774683B20692B2B29207B0A09090909617065782E'; +wwv_flow_api.g_varchar2_table(19) := '6465627567286F70742E726567696F6E49642B2220726573756C745B222B692B225D3D222B726573756C74735B695D2E666F726D61747465645F616464726573732B222028222B726573756C74735B695D2E74797065732E6A6F696E28292B222922293B'; +wwv_flow_api.g_varchar2_table(20) := '0A0909097D0A09090969662028726573756C74735B305D29207B0A090909092473286F70742E616464726573734974656D2C726573756C74735B305D2E666F726D61747465645F61646472657373293B0A202020202020202076617220636F6D706F6E65'; +wwv_flow_api.g_varchar2_table(21) := '6E7473203D20726573756C74735B305D2E616464726573735F636F6D706F6E656E74733B0A2020202020202020666F722028693D303B20693C636F6D706F6E656E74732E6C656E6774683B20692B2B29207B0A20202020202020202020617065782E6465'; +wwv_flow_api.g_varchar2_table(22) := '627567286F70742E726567696F6E49642B2220726573756C745B305D20222B636F6D706F6E656E74735B695D2E74797065732B223D222B636F6D706F6E656E74735B695D2E73686F72745F6E616D652B222028222B636F6D706F6E656E74735B695D2E6C'; +wwv_flow_api.g_varchar2_table(23) := '6F6E675F6E616D652B222922293B0A20202020202020207D0A2020202020202020617065782E6A5175657279282223222B6F70742E726567696F6E4964292E74726967676572282261646472657373222C207B6D61703A6F70742E6D61702C2072657375'; +wwv_flow_api.g_varchar2_table(24) := '6C743A726573756C74735B305D7D293B0A0909097D20656C7365207B0A0909090977696E646F772E616C6572742827496E73756666696369656E7420726573756C747320666F756E6427293B0A0909097D0A09097D20656C736520696620287374617475'; +wwv_flow_api.g_varchar2_table(25) := '73203D3D3D20676F6F676C652E6D6170732E47656F636F6465725374617475732E5A45524F5F524553554C545329207B0A09090977696E646F772E616C65727428224E6F20726573756C747320666F756E6422293B0A09097D20656C7365207B0A090909'; +wwv_flow_api.g_varchar2_table(26) := '77696E646F772E616C657274282747656F636F646572206661696C65642064756520746F3A2027202B20737461747573293B0A09097D0A097D293B0A7D2C0A0A696E6974203A2066756E6374696F6E20286F707429207B0A2020617065782E6465627567'; +wwv_flow_api.g_varchar2_table(27) := '282273696D706C656D61702E696E697422293B0A09766172206D794F7074696F6E73203D207B0A09097A6F6F6D3A206F70742E696E69745A6F6F6D2C0A090963656E7465723A206E657720676F6F676C652E6D6170732E4C61744C6E67286F70742E696E'; +wwv_flow_api.g_varchar2_table(28) := '69744C61742C6F70742E696E69744C6E67292C0A09096D61705479706549643A20676F6F676C652E6D6170732E4D61705479706549642E524F41444D41500A097D3B0A096F70742E6D6170203D206E657720676F6F676C652E6D6170732E4D617028646F'; +wwv_flow_api.g_varchar2_table(29) := '63756D656E742E676574456C656D656E7442794964286F70742E636F6E7461696E6572292C6D794F7074696F6E73293B0A09696620286F70742E6D61707374796C6529207B0A09096F70742E6D61702E7365744F7074696F6E73287B7374796C65733A20'; +wwv_flow_api.g_varchar2_table(30) := '6F70742E6D61707374796C657D293B0A097D0A2020696620286F70742E726561646F6E6C7929207B0A202020202F2F64697361626C65207A6F6F6D2F70616E20696620726561646F6E6C790A202020206F70742E6D61702E7365744F7074696F6E73287B'; +wwv_flow_api.g_varchar2_table(31) := '0A2020202020202064697361626C6544656661756C7455493A20747275650A2020202020202C647261676761626C653A206F70742E70616E0A2020202020202C7A6F6F6D436F6E74726F6C3A206F70742E7A6F6F6D0A2020202020202C7363726F6C6C77'; +wwv_flow_api.g_varchar2_table(32) := '6865656C3A206F70742E7A6F6F6D0A2020202020202C64697361626C65446F75626C65436C69636B5A6F6F6D3A2021286F70742E7A6F6F6D290A2020202020202C6765737475726548616E646C696E673A206F70742E6765737475726548616E646C696E'; +wwv_flow_api.g_varchar2_table(33) := '670A202020207D293B0A20207D20656C7365207B0A202020206F70742E6D61702E7365744F7074696F6E73287B0A20202020202020647261676761626C653A206F70742E70616E0A2020202020202C7A6F6F6D436F6E74726F6C3A206F70742E7A6F6F6D'; +wwv_flow_api.g_varchar2_table(34) := '0A2020202020202C7363726F6C6C776865656C3A206F70742E7A6F6F6D0A2020202020202C64697361626C65446F75626C65436C69636B5A6F6F6D3A2021286F70742E7A6F6F6D290A2020202020202C6765737475726548616E646C696E673A206F7074'; +wwv_flow_api.g_varchar2_table(35) := '2E6765737475726548616E646C696E670A202020207D293B0A20207D0A09696620286F70742E73796E634974656D213D3D222229207B0A09097661722076616C203D202476286F70742E73796E634974656D293B0A09096966202876616C213D3D6E756C'; +wwv_flow_api.g_varchar2_table(36) := '6C2026262076616C2E696E6465784F6628222C2229203E202D3129207B0A09090976617220617272203D2076616C2E73706C697428222C22293B0A09090973696D706C656D61702E7365744D61726B6572286F70742C6172725B305D2C6172725B315D29'; +wwv_flow_api.g_varchar2_table(37) := '3B0A09097D0A090924282223222B6F70742E73796E634974656D292E6368616E67652866756E6374696F6E28297B200A090909766172206C61746C6E67203D20746869732E76616C75653B0A090909696620286C61746C6E67213D3D6E756C6C20262620'; +wwv_flow_api.g_varchar2_table(38) := '6C61746C6E67213D3D756E646566696E6564202626206C61746C6E672E696E6465784F6628222C2229203E202D3129207B0A0909090976617220617272203D206C61746C6E672E73706C697428222C22293B0A0909090973696D706C656D61702E736574'; +wwv_flow_api.g_varchar2_table(39) := '4D61726B6572286F70742C6172725B305D2C6172725B315D293B0A0909097D202020200A09097D293B0A097D0A09696620286F70742E616464726573734974656D213D3D222229207B0A09096F70742E67656F636F646572203D206E657720676F6F676C'; +wwv_flow_api.g_varchar2_table(40) := '652E6D6170732E47656F636F6465723B0A097D0A202069662028216F70742E726561646F6E6C7929207B0A20202020676F6F676C652E6D6170732E6576656E742E6164644C697374656E6572286F70742E6D61702C2022636C69636B222C2066756E6374'; +wwv_flow_api.g_varchar2_table(41) := '696F6E20286576656E7429207B0A202020202020766172206C6174203D206576656E742E6C61744C6E672E6C617428290A2020202020202020202C6C6E67203D206576656E742E6C61744C6E672E6C6E6728293B0A20202020202073696D706C656D6170'; +wwv_flow_api.g_varchar2_table(42) := '2E7365744D61726B6572286F70742C6C61742C6C6E67293B0A202020202020696620286F70742E73796E634974656D213D3D222229207B0A20202020202020202473286F70742E73796E634974656D2C6C61742B222C222B6C6E67293B0A202020202020'; +wwv_flow_api.g_varchar2_table(43) := '7D0A202020202020696620286F70742E616464726573734974656D213D3D222229207B0A202020202020202073696D706C656D61702E67657441646472657373286F70742C6C61742C6C6E67293B0A2020202020207D0A202020202020617065782E6A51'; +wwv_flow_api.g_varchar2_table(44) := '75657279282223222B6F70742E726567696F6E4964292E7472696767657228226D6170636C69636B222C207B6D61703A6F70742E6D61702C206C61743A6C61742C206C6E673A6C6E677D293B0A202020207D293B0A20207D0A09696620286F70742E6765'; +wwv_flow_api.g_varchar2_table(45) := '6F636F64654974656D213D222229207B0A09097661722067656F636F646572203D206E657720676F6F676C652E6D6170732E47656F636F64657228293B0A090924282223222B6F70742E67656F636F64654974656D292E6368616E67652866756E637469'; +wwv_flow_api.g_varchar2_table(46) := '6F6E28297B0A09090973696D706C656D61702E67656F636F6465286F70742C67656F636F646572293B0A09097D293B0A097D0A09696620286F70742E67656F6C6F6361746529207B0A0909696620286E6176696761746F722E67656F6C6F636174696F6E'; +wwv_flow_api.g_varchar2_table(47) := '29207B0A090909617065782E6465627567286F70742E726567696F6E49642B222067656F6C6F6361746522293B0A0909096E6176696761746F722E67656F6C6F636174696F6E2E67657443757272656E74506F736974696F6E2866756E6374696F6E2870'; +wwv_flow_api.g_varchar2_table(48) := '6F736974696F6E29207B0A0909090976617220706F73203D207B0A09090909096C61743A20706F736974696F6E2E636F6F7264732E6C617469747564652C0A09090909096C6E673A20706F736974696F6E2E636F6F7264732E6C6F6E6769747564650A09'; +wwv_flow_api.g_varchar2_table(49) := '0909097D3B0A090909096F70742E6D61702E70616E546F28706F73293B0A09090909696620286F70742E67656F6C6F636174655A6F6F6D29207B0A0909090920206F70742E6D61702E7365745A6F6F6D286F70742E67656F6C6F636174655A6F6F6D293B'; +wwv_flow_api.g_varchar2_table(50) := '0A090909097D0A2020202020202020696620286F70742E73796E634974656D213D3D222229207B0A202020202020202020202473286F70742E73796E634974656D2C706F732E6C61742B222C222B706F732E6C6E67293B0A20202020202020207D0A2020'; +wwv_flow_api.g_varchar2_table(51) := '202020202020696620286F70742E616464726573734974656D213D3D222229207B0A2020202020202020202073696D706C656D61702E67657441646472657373286F70742C706F732E6C61742C706F732E6C6E67293B0A20202020202020207D0A090909'; +wwv_flow_api.g_varchar2_table(52) := '09617065782E6A5175657279282223222B6F70742E726567696F6E4964292E74726967676572282267656F6C6F63617465222C207B6D61703A6F70742E6D61702C206C61743A706F732E6C61742C206C6E673A706F732E6C6E677D293B0A0909097D293B'; +wwv_flow_api.g_varchar2_table(53) := '0A09097D20656C7365207B0A090909617065782E6465627567286F70742E726567696F6E49642B222062726F7773657220646F6573206E6F7420737570706F72742067656F6C6F636174696F6E22293B0A09097D0A097D0A09617065782E6A5175657279'; +wwv_flow_api.g_varchar2_table(54) := '282223222B6F70742E726567696F6E4964292E7472696767657228226D61706C6F61646564222C207B6D61703A6F70742E6D61707D293B0A7D0A0A7D'; null; end; / begin wwv_flow_api.create_plugin_file( - p_id=>wwv_flow_api.id(84100026180778296) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(133474210609251226) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_file_name=>'simplemap.js' ,p_mime_type=>'text/javascript' ,p_file_charset=>'utf-8' @@ -681,8 +673,8 @@ end; / begin wwv_flow_api.create_plugin_file( - p_id=>wwv_flow_api.id(84104929671016582) -,p_plugin_id=>wwv_flow_api.id(451789494362035918) + p_id=>wwv_flow_api.id(133479114099489512) +,p_plugin_id=>wwv_flow_api.id(501163678790508848) ,p_file_name=>'simplemap.min.js' ,p_mime_type=>'text/javascript' ,p_file_charset=>'utf-8' From a71fcf3df75ba914acd5a4c9cd33ec0d0b8701cb Mon Sep 17 00:00:00 2001 From: Jeffrey Kemp Date: Wed, 22 Apr 2020 09:48:01 +0800 Subject: [PATCH 3/3] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3cb3ed..650b6a7 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ You can also enable additional features including Search by Address (find a poin ## PRE-REQUISITES ## -* [Oracle Application Express 5.0.2](https://apex.oracle.com) or later +* [Oracle Application Express 5.0.3](https://apex.oracle.com) or later * You need a [Google Maps API Key](https://developers.google.com/maps/documentation/javascript/get-api-key#get-an-api-key) ## INSTALLATION INSTRUCTIONS ##