diff --git a/example_app/f231266.sql b/example_app/f231266.sql
index 00103d3..452ac57 100644
--- a/example_app/f231266.sql
+++ b/example_app/f231266.sql
@@ -33,14 +33,14 @@ prompt APPLICATION 231266 - Demo
-- Application Export:
-- Application: 231266
-- Name: Demo
--- Date and Time: 17:29 Friday April 11, 2025
+-- Date and Time: 17:59 Friday April 11, 2025
-- Exported By: ORKUNBL@HOTMAIL.COM
-- Flashback: 0
-- Export Type: Application Export
-- Pages: 4
-- Items: 11
-- Processes: 4
--- Regions: 11
+-- Regions: 15
-- Buttons: 5
-- Dynamic Actions: 26
-- Shared Components:
@@ -108,7 +108,7 @@ wwv_imp_workspace.create_flow(
,p_substitution_value_01=>'Demo'
,p_file_prefix => nvl(wwv_flow_application_install.get_static_app_file_prefix,'')
,p_files_version=>6
-,p_version_scn=>15617488495348
+,p_version_scn=>15617492331028
,p_print_server_type=>'INSTANCE'
,p_file_storage=>'DB'
,p_is_pwa=>'Y'
@@ -4519,6 +4519,9 @@ wwv_flow_imp_page.create_page(
,p_alias=>'KANBAN-BOARD'
,p_step_title=>'Kanban Board'
,p_autocomplete_on_off=>'OFF'
+,p_javascript_file_urls=>'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js'
+,p_javascript_code_onload=>'hljs.highlightAll();'
+,p_css_file_urls=>'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/default.min.css'
,p_page_template_options=>'#DEFAULT#'
,p_protection_level=>'C'
,p_page_component_map=>'13'
@@ -4543,7 +4546,7 @@ wwv_flow_imp_page.create_page_plug(
,p_plug_name=>'Tabs'
,p_region_template_options=>'#DEFAULT#:t-TabsRegion-mod--simple'
,p_plug_template=>3223171818405608528
-,p_plug_display_sequence=>60
+,p_plug_display_sequence=>70
,p_location=>null
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
'expand_shortcuts', 'N',
@@ -4602,7 +4605,7 @@ wwv_flow_imp_page.create_page_plug(
,p_template_component_type=>'REPORT'
,p_lazy_loading=>false
,p_plug_source_type=>'TMPL_KANBAN_BOARD'
-,p_plug_query_num_rows=>15
+,p_plug_query_num_rows=>25
,p_plug_query_num_rows_type=>'SET'
,p_show_total_row_count=>true
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
@@ -4716,7 +4719,7 @@ wwv_flow_imp_page.create_page_plug(
,p_parent_plug_id=>wwv_flow_imp.id(28331496768822129401)
,p_region_template_options=>'#DEFAULT#:t-Region--scrollBody'
,p_plug_template=>4072358936313175081
-,p_plug_display_sequence=>20
+,p_plug_display_sequence=>30
,p_plug_display_point=>'SUB_REGIONS'
,p_query_type=>'SQL'
,p_plug_source=>wwv_flow_string.join(wwv_flow_t_varchar2(
@@ -4763,7 +4766,7 @@ wwv_flow_imp_page.create_page_plug(
,p_template_component_type=>'REPORT'
,p_lazy_loading=>false
,p_plug_source_type=>'TMPL_KANBAN_BOARD'
-,p_plug_query_num_rows=>15
+,p_plug_query_num_rows=>25
,p_plug_query_num_rows_type=>'SET'
,p_show_total_row_count=>true
,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
@@ -4867,13 +4870,175 @@ wwv_flow_imp_page.create_region_column(
,p_is_primary_key=>false
);
wwv_flow_imp_page.create_page_plug(
- p_id=>wwv_flow_imp.id(28339050149678296901)
+ p_id=>wwv_flow_imp.id(28455171134404798501)
+,p_plug_name=>'Ajax example'
+,p_title=>'Ajax Item Drop Example'
+,p_parent_plug_id=>wwv_flow_imp.id(28331496768822129401)
+,p_region_template_options=>'#DEFAULT#:t-Region--scrollBody'
+,p_plug_template=>4072358936313175081
+,p_plug_display_sequence=>70
+,p_plug_display_point=>'SUB_REGIONS'
+,p_location=>null
+,p_plug_source=>wwv_flow_string.join(wwv_flow_t_varchar2(
+'Write your ajax application process name into related area in plugin component.',
+'
',
+'Your process parameters should be look like this.',
+'',
+'
',
+'DECLARE',
+' VR_ITEM_ID VARCHAR2(200) := APEX_APPLICATION.G_X01;',
+' VR_OLD_GROUP_ID VARCHAR2(200) := APEX_APPLICATION.G_X02;',
+' VR_OLD_COLUMN_ID VARCHAR2(200) := APEX_APPLICATION.G_X03;',
+' VR_OLD_INDEX VARCHAR2(200) := APEX_APPLICATION.G_X04;',
+' VR_NEW_GROUP_ID VARCHAR2(200) := APEX_APPLICATION.G_X05;',
+' VR_NEW_COLUMN_ID VARCHAR2(200) := APEX_APPLICATION.G_X06;',
+' VR_NEW_INDEX VARCHAR2(200) := APEX_APPLICATION.G_X07;',
+'BEGIN',
+' -- do something here',
+' ',
+' ',
+' apex_json.open_object();',
+' apex_json.write(''success'',true);',
+' apex_json.close_object();',
+'Exception',
+' When Others Then',
+' -- if you want to give error via catching sqlcode you can return sqlcode like below.',
+' apex_json.open_object();',
+' apex_json.write(''success'',false);',
+' apex_json.write(''sqlcode'',SQLCODE);',
+' apex_json.close_object();',
+'END;',
+''))
+,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
+ 'expand_shortcuts', 'N',
+ 'output_as', 'HTML')).to_clob
+);
+wwv_flow_imp_page.create_page_plug(
+ p_id=>wwv_flow_imp.id(28455171274292798502)
+,p_plug_name=>'Ajax example'
+,p_title=>'Ajax Group Drop Example'
+,p_parent_plug_id=>wwv_flow_imp.id(28331496768822129401)
+,p_region_template_options=>'#DEFAULT#:t-Region--scrollBody'
+,p_plug_template=>4072358936313175081
+,p_plug_display_sequence=>80
+,p_plug_display_point=>'SUB_REGIONS'
+,p_location=>null
+,p_plug_source=>wwv_flow_string.join(wwv_flow_t_varchar2(
+'Write your ajax application process name into related area in plugin component.',
+'',
+'DECLARE',
+' VR_ITEM_ID VARCHAR2(200) := APEX_APPLICATION.G_X01;',
+' VR_OLD_INDEX VARCHAR2(200) := APEX_APPLICATION.G_X02;',
+' VR_NEW_INDEX VARCHAR2(200) := APEX_APPLICATION.G_X03;',
+'BEGIN',
+' -- do something here',
+' ',
+' ',
+' apex_json.open_object();',
+' apex_json.write(''success'',true);',
+' apex_json.close_object();',
+'Exception',
+' When Others Then',
+' -- if you want to give error via catching sqlcode you can return sqlcode like below.',
+' apex_json.open_object();',
+' apex_json.write(''success'',false);',
+' apex_json.write(''sqlcode'',SQLCODE);',
+' apex_json.close_object();',
+'END;',
+''))
+,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
+ 'expand_shortcuts', 'N',
+ 'output_as', 'HTML')).to_clob
+);
+wwv_flow_imp_page.create_page_plug(
+ p_id=>wwv_flow_imp.id(28455171348400798503)
+,p_plug_name=>'Query'
+,p_title=>'Query'
+,p_parent_plug_id=>wwv_flow_imp.id(28331496768822129401)
+,p_region_template_options=>'#DEFAULT#:t-Region--scrollBody'
+,p_plug_template=>4072358936313175081
+,p_plug_display_sequence=>10
+,p_plug_display_point=>'SUB_REGIONS'
+,p_location=>null
+,p_plug_source=>wwv_flow_string.join(wwv_flow_t_varchar2(
+'I used same query for these examples. The difference between grouping style & normal one can be set via open/close switch in plugin "Group Settings".',
+'',
+'WITH G AS ( SELECT',
+' LEVEL AS GROUP_ID,',
+' DBMS_RANDOM.STRING(''U'', 1) || DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(6, 12)) || '' '' || DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(6, 12)) AS GROUP_TITLE,',
+' DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(8, 15)) || '' '' || DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(8, 15)) || '' '' || DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(8, 15)) || '' '' || DBMS_RANDOM',
+' .STRING(''L'', DBMS_RANDOM.VALUE(8, 15)) AS GROUP_FOOTER',
+' FROM',
+' DUAL',
+' CONNECT BY',
+' LEVEL <= 4',
+'), I AS ( SELECT',
+' 1000 + LEVEL AS ID,',
+' CASE TRUNC(DBMS_RANDOM.VALUE(0, 4))',
+' WHEN 0 THEN ''TO_DO''',
+' WHEN 1 THEN ''IN_PROGRESS''',
+' WHEN 2 THEN ''DONE''',
+' WHEN 3 THEN ''FAILED''',
+' END AS COLUMN_ID,',
+' TRUNC(DBMS_RANDOM.VALUE(1, 4)) AS GROUP_ID,',
+' DBMS_RANDOM.STRING(''U'', 1) || DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(6, 12)) || '' '' || DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(6, 12)) AS TITLE,',
+' DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(8, 15)) || '' '' || DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(8, 15)) || '' '' || DBMS_RANDOM.STRING(''L'', DBMS_RANDOM.VALUE(8, 15)) || '' '' || DBMS_RANDOM',
+' .STRING(''L'', DBMS_RANDOM.VALUE(8, 15)) AS FOOTER',
+' FROM',
+' DUAL',
+' CONNECT BY',
+' LEVEL <= 15',
+')',
+'SELECT',
+' GROUP_ID,',
+' GROUP_TITLE,',
+' GROUP_FOOTER,',
+' ID,',
+' COLUMN_ID,',
+' TITLE,',
+' FOOTER',
+'FROM',
+' G',
+' LEFT JOIN I',
+' USING ( GROUP_ID )',
+''))
+,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2(
+ 'expand_shortcuts', 'N',
+ 'output_as', 'HTML')).to_clob
+);
+wwv_flow_imp_page.create_page_plug(
+ p_id=>wwv_flow_imp.id(28455171766049798507)
,p_plug_name=>'Kanban performance'
,p_parent_plug_id=>wwv_flow_imp.id(28331496768822129401)
,p_region_template_options=>'#DEFAULT#:t-Region--scrollBody'
,p_plug_template=>4072358936313175081
,p_plug_display_sequence=>50
,p_plug_display_point=>'SUB_REGIONS'
+,p_location=>null
+,p_plug_source=>wwv_flow_string.join(wwv_flow_t_varchar2(
+'There are 5000 data below. But because we have pagination , all data not loaded at same time. So users can use faceted filters to get data from thousands of others.',
+'