prompt --application/pages/page_00010 begin -- Manifest -- PAGE: 00010 -- Manifest End wwv_flow_imp.component_begin ( p_version_yyyy_mm_dd=>'2024.05.31' ,p_release=>'24.1.2' ,p_default_workspace_id=>5893639279394007 ,p_default_application_id=>20011 ,p_default_id_offset=>0 ,p_default_owner=>'DEMO' ); wwv_flow_imp_page.create_page( p_id=>10 ,p_name=>'Chat' ,p_alias=>'CHAT' ,p_step_title=>'Chat' ,p_allow_duplicate_submissions=>'N' ,p_reload_on_submit=>'A' ,p_warn_on_unsaved_changes=>'N' ,p_autocomplete_on_off=>'ON' ,p_javascript_code=>wwv_flow_string.join(wwv_flow_t_varchar2( 'const outputDom = document.getElementById(''output'')', 'outputDom.innerHTML = '''';', '', '', 'function complete() {', '', ' enableChat();', '', ' // console.log(''outputDom'', document.getElementById(''outputDom'').innerHTML)', ' apex.item(''P10_HIDDEN_OUTPUT'').setValue(', ' outputDom.innerHTML', ' );', ' outputDom.style.display = ''none'';', '', ' apex.server.process(', ' "STORE_CHAT_HISTORY",', ' {', ' pageItems: "#P10_HIDDEN_OUTPUT,#P10_MESSAGE_INPUT"', ' },', ' {', ' success: function(data) {', unistr(' // \5904\7406\6210\529F\540E\7684\64CD\4F5C'), ' // alert(''success'')', ' apex.item(''P10_HIDDEN_OUTPUT'').setValue('''');', ' apex.item(''P10_MESSAGE_INPUT'').setValue('''');', ' outputDom.innerHTML = '''';', ' apex.region(''chat-messages'').refresh();', ' }', ' }', ' );', '', '}', '', 'function enableChat() {', '', ' chatSubmitButton = document.getElementById(''post-message-btn'')', ' chatSubmitButton.disabled = false;', ' apex.item(''P10_MESSAGE_INPUT'').enable();', ' ', '', '}', '', 'function disableChat() {', '', ' chatSubmitButton = document.getElementById(''post-message-btn'')', ' chatSubmitButton.disabled = true;', ' apex.item(''P10_MESSAGE_INPUT'').disable();', unistr(' outputDom.style.display = ''block''; // \663E\793A\8F93\51FA\52A8\753B'), '', '}', '', 'async function postMessage(url, requestPayload) {', '', ' const response = await fetch(', ' url,', ' {', unistr(' method: ''POST'', // \8BF7\6C42\65B9\6CD5'), ' headers: {', unistr(' ''Content-Type'': ''application/json'', // \8BF7\6C42\5934\FF0C\544A\8BC9\670D\52A1\5668\6570\636E\7684\683C\5F0F'), ' },', unistr(' body: JSON.stringify(requestPayload), // \8BF7\6C42\4F53\FF0C\6570\636E\9700\8981\5E8F\5217\5316\4E3A JSON \5B57\7B26\4E32'), ' });', '', ' if (!response.ok) {', unistr(' // \5982\679C\54CD\5E94\72B6\6001\4E0D\662F 200-299\FF0C\629B\51FA\9519\8BEF'), ' throw new Error(''Network response was not ok'');', ' }', '', ' console.log(''response'', response)', '', ' const responseData = await response.json();', '', unistr(' // \68C0\67E5\54CD\5E94\4E2D\7684 result \5B57\6BB5'), ' if (responseData.result === 0) {', unistr(' // \7ED3\679C\4E3A 0\FF0C\8868\793A\6210\529F\FF0C\89E3\6790 uuid'), ' const uuid = responseData.uuid;', ' console.log(''Success! UUID:'', uuid);', ' return uuid;', ' } else {', unistr(' // \7ED3\679C\975E 0\FF0C\8868\793A\5931\8D25\FF0C\5904\7406\9519\8BEF\4FE1\606F'), ' console.error(''Error:'', responseData.result_message);', ' return undefined;', ' }', '', '}', '', 'const messageQueue = [];', 'let processing = false;', '', 'function print_animation(data) {', '', ' return new Promise((resolve) => {', '', unistr(' let delay = 20; // \6BCF\4E2A\5B57\7B26\4E4B\95F4\7684\5EF6\8FDF\65F6\95F4\FF0C\5355\4F4D\662F\6BEB\79D2'), ' let lastTimestamp = 0;', '', ' if (!data) {', ' resolve();', ' return;', ' }', '', ' let characters = data.split('''');', ' let index = 0;', '', ' const addNextCharacter = (timestamp) => {', ' if (!lastTimestamp) lastTimestamp = timestamp;', ' const elapsed = timestamp - lastTimestamp;', '', ' if (elapsed > delay) {', ' if (index < characters.length) {', '', unistr(' // \62FC\63A5\8F93\51FA'), ' outputDom.innerHTML += characters[index];', ' ', ' index++;', ' lastTimestamp = timestamp;', ' }', ' }', '', ' if (index < characters.length) {', unistr(' requestAnimationFrame(addNextCharacter); // \8BF7\6C42\4E0B\4E00\5E27'), ' } else {', unistr(' resolve(); // \5F53\6240\6709\5B57\7B26\5904\7406\5B8C\540E\89E3\51B3 Promise'), ' }', ' };', '', unistr(' requestAnimationFrame(addNextCharacter); // \5F00\59CB\5904\7406\7B2C\4E00\4E2A\5B57\7B26'), '', unistr(' // console.log(''print_animation\5904\7406\5B8C\6210'')'), '', ' outputDom.scrollTop = outputDom.scrollHeight;', ' });', '}', '', 'function processQueue() {', ' if (processing) {', unistr(' // console.log(''\5DF2\7ECF\6709\4E8B\4EF6\5904\7406\4E2D\FF0C\8FD4\56DE'')'), unistr(' return; // \68C0\67E5 processing \6807\5FD7'), ' } else {', unistr(' // console.log(''\6CA1\6709\4E8B\4EF6\5904\7406\4E2D\FF0C\53EF\4EE5\5F00\59CB\5904\7406'')'), ' }', unistr(' processing = true; // \8BBE\7F6E processing \6807\5FD7\4E3A true'), ' ', ' (async function() {', ' while (messageQueue.length > 0) {', ' // console.log(''messageQueue.length'', messageQueue.length);', unistr(' const event = messageQueue.shift(); // \4ECE\961F\5217\4E2D\79FB\9664\7B2C\4E00\4E2A\4E8B\4EF6'), ' if (event.type === ''message'') {', ' // console.log(''Processing message:'', event.data);', unistr(' // \6A21\62DF\8017\65F6\5904\7406'), ' await print_animation(event.data);', unistr(' // console.log(''Promise\5904\7406\5B8C\6210'')'), ' //print_animation(event.data)', ' } else if (event.type === ''end'') {', ' // console.log(''Processing end event:'', event.data);', ' complete()', unistr(' eventSource.close(); // \5173\95ED EventSource \8FDE\63A5'), ' // console.log(''EventSource closed'');', ' }', ' }', unistr(' // console.log(''\672C\6B21\5904\7406\5B8C\6210\FF0C\6E05\7406\6807\8BC6\4F4D'')'), unistr(' processing = false; // \5904\7406\5B8C\6240\6709\4E8B\4EF6\540E\91CD\7F6E processing \6807\5FD7'), ' })();', '}', '', 'async function getAnswer(url, uuid) {', '', ' eventSource = new EventSource(url + ''?uuid='' + uuid)', '', ' eventSource.addEventListener(''end'', function(event) {', ' // console.log(''Stream ending:'', event.data);', unistr(' // \5C06\6253\5370\52A8\753B\6DFB\52A0\5230\961F\5217'), ' messageQueue.push({ type: ''end'', data: event.data });', ' processQueue();', ' });', '', ' eventSource.onmessage = function(event) {', ' // console.log(''Stream data:'',event.data)', unistr(' // \5C06\6253\5370\52A8\753B\6DFB\52A0\5230\961F\5217'), ' messageQueue.push({ type: ''message'', data: event.data });', ' processQueue();', ' }', '', ' eventSource.onerror = function(event) {', '', ' // console.error("Error from server: ", event);', '', ' switch (this.readyState) {', ' /*case EventSource.CONNECTING:', ' console.error(''Connecting state, possibly a temporary network issue.'');', ' break;', ' case EventSource.OPEN:', ' console.error(''Open state, this should not trigger an error event.'');', ' break;*/', ' case EventSource.CLOSED:', ' console.error(''Closed state, connection is likely permanently broken.'');', '', ' complete();', ' eventSource.close();', ' break;', ' }', ' };', '', '}')) ,p_inline_css=>wwv_flow_string.join(wwv_flow_t_varchar2( '/* Scroll Results Only in Side Column */', '.t-Body-side {', ' display: flex;', ' flex-direction: column;', ' overflow: hidden;', '}', '.search-results {', ' flex: 1;', ' overflow: auto;', '}', '/* Format Search Region */', '.search-region {', ' border-bottom: 1px solid rgba(0,0,0,.1);', ' flex-shrink: 0;', '}', '', '/* BEGIN comments/chat region styles */', '.t-Chat .t-Chat--own .t-Comments-icon {', ' margin-right: 0;', ' margin-left: 12px;', ' fill: red;', '}', '', '.t-Chat .t-Chat--own {', ' flex-direction: row-reverse;', '}', '', '.t-Chat .t-Chat--own .t-Comments-body {', ' align-items: flex-end;', '}', '', '.t-Chat .t-Chat--own .t-Comments-comment:after {', ' border-left-color: var(--ut-comment-chat-background-color);', ' border-right-color: rgba(0,0,0,0);', ' right: none;', ' left: 100%;', '}', '', '.t-Chat .t-Comments {', ' height: 470px;', ' overflow: scroll;', '}', '/* END comments/chat region styles */ ', '', '', '#output {', unistr(' white-space: pre-wrap; /* \4FDD\7559\6362\884C\548C\7A7A\683C */'), ' border: 1px solid #ccc;', ' padding: 10px;', ' height: 300px;', ' overflow-y: auto;', '}')) ,p_step_template=>wwv_flow_imp.id(10042885068629219) ,p_page_template_options=>'#DEFAULT#' ,p_page_is_public_y_n=>'Y' ,p_protection_level=>'C' ,p_page_component_map=>'03' ); wwv_flow_imp_page.create_page_plug( p_id=>wwv_flow_imp.id(10395373409674633) ,p_plug_name=>'Chat Message Region' ,p_region_template_options=>'#DEFAULT#:js-showMaximizeButton:t-Region--scrollBody' ,p_plug_template=>wwv_flow_imp.id(10132850710629585) ,p_plug_display_sequence=>60 ,p_location=>null ,p_plug_display_condition_type=>'ITEM_IS_NOT_NULL' ,p_plug_display_when_condition=>'P10_CHAT_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(10395478526674634) ,p_plug_name=>'Buttons' ,p_parent_plug_id=>wwv_flow_imp.id(10395373409674633) ,p_region_template_options=>'#DEFAULT#' ,p_plug_template=>wwv_flow_imp.id(10066208585629345) ,p_plug_display_sequence=>20 ,p_plug_display_point=>'SUB_REGIONS' ,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(10637253369007730) ,p_plug_name=>'P10_OUTPUT_RN' ,p_parent_plug_id=>wwv_flow_imp.id(10395478526674634) ,p_region_template_options=>'#DEFAULT#:t-Region--removeHeader js-removeLandmark:t-Region--noBorder:t-Region--scrollBody:margin-left-none:margin-right-none' ,p_plug_template=>wwv_flow_imp.id(10132850710629585) ,p_plug_display_sequence=>10 ,p_location=>null ,p_plug_source=>'' ,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2( 'expand_shortcuts', 'N', 'output_as', 'HTML')).to_clob ); wwv_flow_imp_page.create_report_region( p_id=>wwv_flow_imp.id(10472895874210821) ,p_name=>'Chat Messages' ,p_region_name=>'chat-messages' ,p_parent_plug_id=>wwv_flow_imp.id(10395373409674633) ,p_template=>wwv_flow_imp.id(10066208585629345) ,p_display_sequence=>10 ,p_region_css_classes=>'t-Chat' ,p_region_template_options=>'#DEFAULT#' ,p_component_template_options=>'#DEFAULT#:t-Comments--chat:t-Comments--iconsRounded' ,p_display_point=>'SUB_REGIONS' ,p_source_type=>'NATIVE_SQL_REPORT' ,p_query_type=>'SQL' ,p_source=>wwv_flow_string.join(wwv_flow_t_varchar2( 'SELECT', ' NULL AS user_name,', ' apex_string.get_initials(ccm.user_name) AS user_icon,', ' ccm.message_text AS comment_text,', ' TO_CHAR(ccm.message_time, ''YYYY-MM-DD HH24:MI:SS'') AS comment_date,', ' CASE ccm.message_type', ' WHEN ''M'' THEN ''t-Chat--own''', ' ELSE NULL', ' END AS comment_modifiers,', ' NULL AS actions,', ' NULL AS attribute_1,', ' NULL AS attribute_2,', ' NULL AS attribute_3,', ' NULL AS attribute_4', 'FROM', ' cb_chat_messages ccm', 'WHERE', ' ccm.chat_id = :P10_CHAT_ID', 'ORDER BY', ' ccm.message_time')) ,p_display_when_condition=>'P10_CHAT_ID' ,p_display_condition_type=>'ITEM_IS_NOT_NULL' ,p_ajax_enabled=>'Y' ,p_lazy_loading=>false ,p_query_row_template=>wwv_flow_imp.id(10162452709629662) ,p_query_num_rows=>10000 ,p_query_options=>'DERIVED_REPORT_COLUMNS' ,p_query_no_data_found=>'No data found.' ,p_csv_output=>'N' ,p_prn_output=>'N' ,p_sort_null=>'L' ,p_plug_query_strip_html=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10475670930210835) ,p_query_column_id=>1 ,p_column_alias=>'USER_NAME' ,p_column_display_sequence=>6 ,p_column_heading=>'User Name' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10394090300674620) ,p_query_column_id=>2 ,p_column_alias=>'USER_ICON' ,p_column_display_sequence=>16 ,p_column_heading=>'User Icon' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10394136149674621) ,p_query_column_id=>3 ,p_column_alias=>'COMMENT_TEXT' ,p_column_display_sequence=>26 ,p_column_heading=>'Comment Text' ,p_heading_alignment=>'LEFT' ,p_display_as=>'RICH_TEXT' ,p_attribute_01=>'MARKDOWN' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10394259068674622) ,p_query_column_id=>4 ,p_column_alias=>'COMMENT_DATE' ,p_column_display_sequence=>36 ,p_column_heading=>'Comment Date' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10394319005674623) ,p_query_column_id=>5 ,p_column_alias=>'COMMENT_MODIFIERS' ,p_column_display_sequence=>46 ,p_column_heading=>'Comment Modifiers' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10394461299674624) ,p_query_column_id=>6 ,p_column_alias=>'ACTIONS' ,p_column_display_sequence=>56 ,p_column_heading=>'Actions' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10394581055674625) ,p_query_column_id=>7 ,p_column_alias=>'ATTRIBUTE_1' ,p_column_display_sequence=>66 ,p_column_heading=>'Attribute 1' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10394651971674626) ,p_query_column_id=>8 ,p_column_alias=>'ATTRIBUTE_2' ,p_column_display_sequence=>76 ,p_column_heading=>'Attribute 2' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10394792492674627) ,p_query_column_id=>9 ,p_column_alias=>'ATTRIBUTE_3' ,p_column_display_sequence=>86 ,p_column_heading=>'Attribute 3' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10394877901674628) ,p_query_column_id=>10 ,p_column_alias=>'ATTRIBUTE_4' ,p_column_display_sequence=>96 ,p_column_heading=>'Attribute 4' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_page_plug( p_id=>wwv_flow_imp.id(10456004438210708) ,p_plug_name=>'Breadcrumb' ,p_region_template_options=>'#DEFAULT#:t-BreadcrumbRegion--useBreadcrumbTitle' ,p_component_template_options=>'#DEFAULT#' ,p_plug_template=>wwv_flow_imp.id(10145238625629609) ,p_plug_display_sequence=>10 ,p_plug_display_point=>'REGION_POSITION_01' ,p_menu_id=>wwv_flow_imp.id(10029580740629034) ,p_plug_source_type=>'NATIVE_BREADCRUMB' ,p_menu_template_id=>wwv_flow_imp.id(10207649640629828) ); wwv_flow_imp_page.create_page_plug( p_id=>wwv_flow_imp.id(10457552002210717) ,p_plug_name=>'Search' ,p_region_css_classes=>'search-region padding-md' ,p_region_template_options=>'#DEFAULT#:t-Form--stretchInputs' ,p_plug_template=>wwv_flow_imp.id(10066208585629345) ,p_plug_display_sequence=>10 ,p_plug_display_point=>'REGION_POSITION_02' ,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2( 'expand_shortcuts', 'N', 'output_as', 'HTML', 'show_line_breaks', 'Y')).to_clob ); wwv_flow_imp_page.create_report_region( p_id=>wwv_flow_imp.id(10458304850210724) ,p_name=>'Master Records' ,p_template=>wwv_flow_imp.id(10067642234629347) ,p_display_sequence=>20 ,p_region_css_classes=>'search-results' ,p_region_template_options=>'#DEFAULT#' ,p_component_template_options=>'t-MediaList--showDesc:t-MediaList--stack' ,p_display_point=>'REGION_POSITION_02' ,p_source_type=>'NATIVE_SQL_REPORT' ,p_query_type=>'SQL' ,p_source=>wwv_flow_string.join(wwv_flow_t_varchar2( 'select "CHAT_ID",', ' null LINK_CLASS,', ' apex_page.get_url(p_items => ''P10_CHAT_ID'', p_values => "CHAT_ID") LINK,', ' null ICON_CLASS,', ' null LINK_ATTR,', ' null ICON_COLOR_CLASS,', ' case when coalesce(:P10_CHAT_ID,''0'') = "CHAT_ID"', ' then ''is-active'' ', ' else '' ''', ' end LIST_CLASS,', ' (substr("CHAT_NAME", 1, 50)||( case when length("CHAT_NAME") > 50 then ''...'' else '''' end )) LIST_TITLE,', ' (substr("CHAT_START_DATE", 1, 50)||( case when length("CHAT_START_DATE") > 50 then ''...'' else '''' end )) LIST_TEXT,', ' null LIST_BADGE', 'from "CB_CHATS" x', 'where (:P10_SEARCH is null', ' or upper(x."CHAT_NAME") like ''%''||upper(:P10_SEARCH)||''%''', ' or upper(x."CHAT_START_DATE") like ''%''||upper(:P10_SEARCH)||''%''', ' )', 'order by "CHAT_NAME"')) ,p_ajax_enabled=>'Y' ,p_ajax_items_to_submit=>'P10_SEARCH' ,p_lazy_loading=>false ,p_query_row_template=>wwv_flow_imp.id(10167801265629674) ,p_query_num_rows=>1000 ,p_query_options=>'DERIVED_REPORT_COLUMNS' ,p_query_no_data_found=>'
No data found.
' ,p_query_row_count_max=>500 ,p_csv_output=>'N' ,p_prn_output=>'N' ,p_sort_null=>'L' ,p_plug_query_strip_html=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10459089505210740) ,p_query_column_id=>1 ,p_column_alias=>'CHAT_ID' ,p_column_display_sequence=>1 ,p_column_heading=>'CHAT_ID' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10459442327210741) ,p_query_column_id=>2 ,p_column_alias=>'LINK_CLASS' ,p_column_display_sequence=>2 ,p_column_heading=>'LINK_CLASS' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10459842053210742) ,p_query_column_id=>3 ,p_column_alias=>'LINK' ,p_column_display_sequence=>3 ,p_column_heading=>'LINK' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10460232727210743) ,p_query_column_id=>4 ,p_column_alias=>'ICON_CLASS' ,p_column_display_sequence=>4 ,p_column_heading=>'ICON_CLASS' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10460685887210744) ,p_query_column_id=>5 ,p_column_alias=>'LINK_ATTR' ,p_column_display_sequence=>5 ,p_column_heading=>'LINK_ATTR' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10461042409210745) ,p_query_column_id=>6 ,p_column_alias=>'ICON_COLOR_CLASS' ,p_column_display_sequence=>6 ,p_column_heading=>'ICON_COLOR_CLASS' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10461443009210746) ,p_query_column_id=>7 ,p_column_alias=>'LIST_CLASS' ,p_column_display_sequence=>7 ,p_column_heading=>'LIST_CLASS' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10461890924210747) ,p_query_column_id=>8 ,p_column_alias=>'LIST_TITLE' ,p_column_display_sequence=>8 ,p_column_heading=>'LIST_TITLE' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10462261827210748) ,p_query_column_id=>9 ,p_column_alias=>'LIST_TEXT' ,p_column_display_sequence=>9 ,p_column_heading=>'LIST_TEXT' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10462689445210749) ,p_query_column_id=>10 ,p_column_alias=>'LIST_BADGE' ,p_column_display_sequence=>10 ,p_column_heading=>'LIST_BADGE' ,p_use_as_row_header=>'N' ); wwv_flow_imp_page.create_report_region( p_id=>wwv_flow_imp.id(10463098458210771) ,p_name=>'Chat' ,p_template=>wwv_flow_imp.id(10132850710629585) ,p_display_sequence=>40 ,p_region_css_classes=>'js-master-region' ,p_region_template_options=>'#DEFAULT#:t-Region--noPadding:t-Region--scrollBody' ,p_component_template_options=>'#DEFAULT#:t-AVPList--leftAligned' ,p_source_type=>'NATIVE_SQL_REPORT' ,p_query_type=>'SQL' ,p_source=>wwv_flow_string.join(wwv_flow_t_varchar2( 'SELECT', ' CHAT_ID AS PK_CHAT_ID,', ' CHAT_NAME,', ' MODEL_ID,', ' (', ' SELECT', ' cb.model_name', ' FROM', ' CB_MODELS cb', ' WHERE', ' cb.model_id = cc.model_id', ' ) AS MODEL_NAME,', ' CHAT_START_DATE,', ' CREATED_BY,', ' CREATION_DATE,', ' LAST_UPDATED_BY,', ' LAST_UPDATE_DATE', 'FROM', ' CB_CHATS cc', 'WHERE', ' cc."CHAT_ID" = :P10_CHAT_ID')) ,p_display_when_condition=>'P10_CHAT_ID' ,p_display_condition_type=>'ITEM_IS_NOT_NULL' ,p_ajax_enabled=>'Y' ,p_lazy_loading=>false ,p_query_row_template=>wwv_flow_imp.id(10174042807629688) ,p_query_num_rows=>15 ,p_query_options=>'DERIVED_REPORT_COLUMNS' ,p_query_num_rows_type=>'NEXT_PREVIOUS_LINKS' ,p_pagination_display_position=>'BOTTOM_RIGHT' ,p_csv_output=>'N' ,p_prn_output=>'N' ,p_sort_null=>'L' ,p_plug_query_strip_html=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10635844185007716) ,p_query_column_id=>1 ,p_column_alias=>'PK_CHAT_ID' ,p_column_display_sequence=>10 ,p_hidden_column=>'Y' ,p_derived_column=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10635905991007717) ,p_query_column_id=>2 ,p_column_alias=>'CHAT_NAME' ,p_column_display_sequence=>20 ,p_column_heading=>'Chat Name' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_disable_sort_column=>'N' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10636054020007718) ,p_query_column_id=>3 ,p_column_alias=>'MODEL_ID' ,p_column_display_sequence=>30 ,p_hidden_column=>'Y' ,p_derived_column=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10636119781007719) ,p_query_column_id=>4 ,p_column_alias=>'MODEL_NAME' ,p_column_display_sequence=>40 ,p_column_heading=>'Model Name' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_disable_sort_column=>'N' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10636282310007720) ,p_query_column_id=>5 ,p_column_alias=>'CHAT_START_DATE' ,p_column_display_sequence=>50 ,p_column_heading=>'Chat Start Date' ,p_use_as_row_header=>'N' ,p_heading_alignment=>'LEFT' ,p_disable_sort_column=>'N' ,p_derived_column=>'N' ,p_include_in_export=>'Y' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10636335895007721) ,p_query_column_id=>6 ,p_column_alias=>'CREATED_BY' ,p_column_display_sequence=>60 ,p_hidden_column=>'Y' ,p_derived_column=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10636403008007722) ,p_query_column_id=>7 ,p_column_alias=>'CREATION_DATE' ,p_column_display_sequence=>70 ,p_hidden_column=>'Y' ,p_derived_column=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10636546097007723) ,p_query_column_id=>8 ,p_column_alias=>'LAST_UPDATED_BY' ,p_column_display_sequence=>80 ,p_hidden_column=>'Y' ,p_derived_column=>'N' ); wwv_flow_imp_page.create_report_columns( p_id=>wwv_flow_imp.id(10636614032007724) ,p_query_column_id=>9 ,p_column_alias=>'LAST_UPDATE_DATE' ,p_column_display_sequence=>90 ,p_hidden_column=>'Y' ,p_derived_column=>'N' ); wwv_flow_imp_page.create_page_plug( p_id=>wwv_flow_imp.id(10472411468210819) ,p_plug_name=>'Region Display Selector' ,p_region_css_classes=>'js-detail-rds' ,p_region_template_options=>'#DEFAULT#:margin-bottom-md' ,p_plug_template=>wwv_flow_imp.id(10066208585629345) ,p_plug_display_sequence=>50 ,p_include_in_reg_disp_sel_yn=>'Y' ,p_location=>null ,p_plug_source_type=>'NATIVE_DISPLAY_SELECTOR' ,p_plug_query_num_rows=>15 ,p_plug_display_condition_type=>'ITEM_IS_NOT_NULL' ,p_plug_display_when_condition=>'P10_CHAT_ID' ,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2( 'display_region_icons', 'N', 'include_show_all', 'Y', 'rds_mode', 'STANDARD', 'remember_selection', 'N')).to_clob ); wwv_flow_imp_page.create_page_plug( p_id=>wwv_flow_imp.id(10499288964210986) ,p_plug_name=>'No Record Selected' ,p_region_template_options=>'#DEFAULT#' ,p_plug_template=>wwv_flow_imp.id(10066208585629345) ,p_plug_display_sequence=>70 ,p_location=>null ,p_plug_source=>'No Record Selected' ,p_plug_display_condition_type=>'ITEM_IS_NULL' ,p_plug_display_when_condition=>'P10_CHAT_ID' ,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2( 'expand_shortcuts', 'N', 'output_as', 'HTML', 'show_line_breaks', 'Y')).to_clob ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(10393635094674616) ,p_button_sequence=>40 ,p_button_plug_id=>wwv_flow_imp.id(10395478526674634) ,p_button_name=>'SUBMIT_MESSAGE' ,p_button_static_id=>'post-message-btn' ,p_button_action=>'DEFINED_BY_DA' ,p_button_template_options=>'#DEFAULT#:t-Button--large' ,p_button_template_id=>wwv_flow_imp.id(10205325854629788) ,p_button_is_hot=>'Y' ,p_button_image_alt=>'Submit Message' ,p_warn_on_unsaved_changes=>null ,p_icon_css_classes=>'fa-chevron-circle-right' ,p_grid_column_attributes=>'style="align-self: center;"' ,p_grid_column_css_classes=>'col col-2 col-xxs-2 col-xs-2 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-xxl-1 col-end' ,p_grid_new_row=>'N' ,p_grid_new_column=>'Y' ,p_grid_column_span=>2 ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(10637622415007734) ,p_button_sequence=>50 ,p_button_plug_id=>wwv_flow_imp.id(10395478526674634) ,p_button_name=>'SUBMIT_MESSAGE_SSE' ,p_button_static_id=>'ChatSubmitButton' ,p_button_action=>'DEFINED_BY_DA' ,p_button_template_options=>'#DEFAULT#' ,p_button_template_id=>wwv_flow_imp.id(10206077575629823) ,p_button_image_alt=>'Submit Message Sse' ,p_warn_on_unsaved_changes=>null ,p_button_condition_type=>'NEVER' ,p_grid_new_row=>'Y' ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(10499745412210994) ,p_button_sequence=>20 ,p_button_plug_id=>wwv_flow_imp.id(10463098458210771) ,p_button_name=>'EDIT' ,p_button_static_id=>'edit_master_btn' ,p_button_action=>'REDIRECT_PAGE' ,p_button_template_options=>'#DEFAULT#:t-Button--noUI:t-Button--iconLeft' ,p_button_template_id=>wwv_flow_imp.id(10206146706629823) ,p_button_image_alt=>'Edit' ,p_button_position=>'EDIT' ,p_button_alignment=>'RIGHT' ,p_button_redirect_url=>'f?p=&APP_ID.:15:&APP_SESSION.::&DEBUG.:RP,15:P15_CHAT_ID:&P10_CHAT_ID.' ,p_icon_css_classes=>'fa-pencil-square-o' ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(10456874210210716) ,p_button_sequence=>10 ,p_button_plug_id=>wwv_flow_imp.id(10456004438210708) ,p_button_name=>'RESET' ,p_button_action=>'REDIRECT_PAGE' ,p_button_template_options=>'#DEFAULT#:t-Button--noUI:t-Button--iconLeft:t-Button--gapRight' ,p_button_template_id=>wwv_flow_imp.id(10206146706629823) ,p_button_image_alt=>'Reset' ,p_button_position=>'NEXT' ,p_button_alignment=>'RIGHT' ,p_button_redirect_url=>'f?p=&APP_ID.:10:&APP_SESSION.:RESET:&DEBUG.:RP,10::' ,p_icon_css_classes=>'fa-undo-alt' ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(10457206785210716) ,p_button_sequence=>20 ,p_button_plug_id=>wwv_flow_imp.id(10456004438210708) ,p_button_name=>'CREATE' ,p_button_action=>'REDIRECT_PAGE' ,p_button_template_options=>'#DEFAULT#:t-Button--iconLeft' ,p_button_template_id=>wwv_flow_imp.id(10206146706629823) ,p_button_is_hot=>'Y' ,p_button_image_alt=>'Create' ,p_button_position=>'NEXT' ,p_button_alignment=>'RIGHT' ,p_button_redirect_url=>'f?p=&APP_ID.:15:&APP_SESSION.::&DEBUG.:RP,15::' ,p_icon_css_classes=>'fa-plus' ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(5832206404016036) ,p_button_sequence=>10 ,p_button_plug_id=>wwv_flow_imp.id(10472895874210821) ,p_button_name=>'CLEAR' ,p_button_action=>'DEFINED_BY_DA' ,p_button_template_options=>'#DEFAULT#:t-Button--tiny' ,p_button_template_id=>wwv_flow_imp.id(10205325854629788) ,p_button_is_hot=>'Y' ,p_button_image_alt=>'Clear' ,p_button_position=>'TOP' ,p_button_alignment=>'RIGHT' ,p_warn_on_unsaved_changes=>null ,p_confirm_message=>'Do you want to clear chat history?' ,p_confirm_style=>'danger' ,p_icon_css_classes=>'fa-remove' ); wwv_flow_imp_page.create_page_item( p_id=>wwv_flow_imp.id(10393541218674615) ,p_name=>'P10_MESSAGE_INPUT' ,p_data_type=>'CLOB' ,p_item_sequence=>30 ,p_item_plug_id=>wwv_flow_imp.id(10395478526674634) ,p_placeholder=>'Please input you question here...' ,p_display_as=>'NATIVE_TEXTAREA' ,p_cSize=>30 ,p_cHeight=>3 ,p_field_template=>wwv_flow_imp.id(10203583736629779) ,p_item_template_options=>'#DEFAULT#' ,p_attribute_01=>'Y' ,p_attribute_02=>'Y' ,p_attribute_03=>'Y' ,p_attribute_04=>'BOTH' ); wwv_flow_imp_page.create_page_item( p_id=>wwv_flow_imp.id(10458056311210724) ,p_name=>'P10_SEARCH' ,p_item_sequence=>10 ,p_item_plug_id=>wwv_flow_imp.id(10457552002210717) ,p_prompt=>'Search' ,p_placeholder=>'Search...' ,p_display_as=>'NATIVE_TEXT_FIELD' ,p_cSize=>30 ,p_label_alignment=>'RIGHT' ,p_field_template=>wwv_flow_imp.id(10203229260629774) ,p_item_icon_css_classes=>'fa-search' ,p_item_template_options=>'#DEFAULT#:t-Form-fieldContainer--large:t-Form-fieldContainer--postTextBlock' ,p_attribute_01=>'N' ,p_attribute_02=>'N' ,p_attribute_03=>'N' ,p_attribute_04=>'TEXT' ,p_attribute_05=>'BOTH' ); wwv_flow_imp_page.create_page_item( p_id=>wwv_flow_imp.id(10472110895210818) ,p_name=>'P10_CHAT_ID' ,p_item_sequence=>10 ,p_display_as=>'NATIVE_HIDDEN' ,p_protection_level=>'S' ,p_attribute_01=>'Y' ); wwv_flow_imp_page.create_page_item( p_id=>wwv_flow_imp.id(10638005879007738) ,p_name=>'P10_HIDDEN_OUTPUT' ,p_item_sequence=>20 ,p_item_plug_id=>wwv_flow_imp.id(10395478526674634) ,p_display_as=>'NATIVE_HIDDEN' ,p_attribute_01=>'Y' ); wwv_flow_imp_page.create_page_item( p_id=>wwv_flow_imp.id(10638344214007741) ,p_name=>'P10_GEN_AI_GET_ANSWER_FROM_TONGYI_URL' ,p_item_sequence=>20 ,p_use_cache_before_default=>'NO' ,p_item_default=>wwv_flow_string.join(wwv_flow_t_varchar2( 'SELECT', ' APEX_APP_SETTING.GET_VALUE(''GEN_AI_GET_ANSWER_FROM_TONGYI_URL'')', 'FROM', ' dual')) ,p_item_default_type=>'SQL_QUERY' ,p_display_as=>'NATIVE_HIDDEN' ,p_attribute_01=>'Y' ); wwv_flow_imp_page.create_page_item( p_id=>wwv_flow_imp.id(10638450444007742) ,p_name=>'P10_GEN_AI_SEND_QUESTION_TO_TONGYI_URL' ,p_item_sequence=>30 ,p_use_cache_before_default=>'NO' ,p_item_default=>wwv_flow_string.join(wwv_flow_t_varchar2( 'SELECT', ' APEX_APP_SETTING.GET_VALUE(''GEN_AI_SEND_QUESTION_TO_TONGYI_URL'')', 'FROM', ' dual')) ,p_item_default_type=>'SQL_QUERY' ,p_display_as=>'NATIVE_HIDDEN' ,p_attribute_01=>'Y' ); wwv_flow_imp_page.create_page_da_event( p_id=>wwv_flow_imp.id(10500071184210994) ,p_name=>'Dialog Closed' ,p_event_sequence=>10 ,p_triggering_element_type=>'REGION' ,p_triggering_region_id=>wwv_flow_imp.id(10463098458210771) ,p_bind_type=>'bind' ,p_execution_type=>'IMMEDIATE' ,p_bind_event_type=>'apexafterclosedialog' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10500650879210995) ,p_event_id=>wwv_flow_imp.id(10500071184210994) ,p_event_result=>'TRUE' ,p_action_sequence=>20 ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_REFRESH' ,p_affected_elements_type=>'REGION' ,p_affected_region_id=>wwv_flow_imp.id(10463098458210771) ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10501152899210996) ,p_event_id=>wwv_flow_imp.id(10500071184210994) ,p_event_result=>'TRUE' ,p_action_sequence=>30 ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_JAVASCRIPT_CODE' ,p_attribute_01=>'apex.message.showPageSuccess(''Cb Chats row(s) updated.'');' ); wwv_flow_imp_page.create_page_da_event( p_id=>wwv_flow_imp.id(10472956325210822) ,p_name=>'Dialog Closed' ,p_event_sequence=>40 ,p_triggering_element_type=>'REGION' ,p_triggering_region_id=>wwv_flow_imp.id(10472895874210821) ,p_bind_type=>'bind' ,p_execution_type=>'IMMEDIATE' ,p_bind_event_type=>'apexafterclosedialog' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10483435196210872) ,p_event_id=>wwv_flow_imp.id(10472956325210822) ,p_event_result=>'TRUE' ,p_action_sequence=>10 ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_REFRESH' ,p_affected_elements_type=>'REGION' ,p_affected_region_id=>wwv_flow_imp.id(10472895874210821) ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10483932672210874) ,p_event_id=>wwv_flow_imp.id(10472956325210822) ,p_event_result=>'TRUE' ,p_action_sequence=>20 ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_JAVASCRIPT_CODE' ,p_attribute_01=>'apex.message.showPageSuccess(''Cb Chat Messages row(s) updated.'');' ); wwv_flow_imp_page.create_page_da_event( p_id=>wwv_flow_imp.id(10500148767210994) ,p_name=>'Perform Search' ,p_event_sequence=>150 ,p_triggering_element_type=>'ITEM' ,p_triggering_element=>'P10_SEARCH' ,p_triggering_condition_type=>'JAVASCRIPT_EXPRESSION' ,p_triggering_expression=>'this.browserEvent.which === apex.jQuery.ui.keyCode.ENTER' ,p_bind_type=>'bind' ,p_execution_type=>'IMMEDIATE' ,p_bind_event_type=>'keypress' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10501841758210998) ,p_event_id=>wwv_flow_imp.id(10500148767210994) ,p_event_result=>'TRUE' ,p_action_sequence=>10 ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_REFRESH' ,p_affected_elements_type=>'REGION' ,p_affected_region_id=>wwv_flow_imp.id(10458304850210724) ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10502364986210999) ,p_event_id=>wwv_flow_imp.id(10500148767210994) ,p_event_result=>'TRUE' ,p_action_sequence=>30 ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_CANCEL_EVENT' ); wwv_flow_imp_page.create_page_da_event( p_id=>wwv_flow_imp.id(10393731072674617) ,p_name=>'Post Message on button click' ,p_event_sequence=>160 ,p_triggering_element_type=>'BUTTON' ,p_triggering_button_id=>wwv_flow_imp.id(10393635094674616) ,p_bind_type=>'bind' ,p_execution_type=>'IMMEDIATE' ,p_bind_event_type=>'click' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(5831601942016030) ,p_event_id=>wwv_flow_imp.id(10393731072674617) ,p_event_result=>'TRUE' ,p_action_sequence=>10 ,p_execute_on_page_init=>'N' ,p_name=>'Disable Message Input' ,p_action=>'NATIVE_JAVASCRIPT_CODE' ,p_attribute_01=>'apex.item("P10_MESSAGE_INPUT").disable();' ,p_server_condition_type=>'NEVER' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(5831741657016031) ,p_event_id=>wwv_flow_imp.id(10393731072674617) ,p_event_result=>'TRUE' ,p_action_sequence=>20 ,p_execute_on_page_init=>'Y' ,p_name=>'Disable Submit Message' ,p_action=>'NATIVE_DISABLE' ,p_affected_elements_type=>'BUTTON' ,p_affected_button_id=>wwv_flow_imp.id(10393635094674616) ,p_server_condition_type=>'NEVER' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10393838366674618) ,p_event_id=>wwv_flow_imp.id(10393731072674617) ,p_event_result=>'TRUE' ,p_action_sequence=>40 ,p_execute_on_page_init=>'N' ,p_name=>'Send Message' ,p_action=>'NATIVE_EXECUTE_PLSQL_CODE' ,p_attribute_01=>wwv_flow_string.join(wwv_flow_t_varchar2( 'DECLARE', ' lv_model_name CB_MODELS.MODEL_NAME%TYPE;', ' lc_message_text CLOB;', ' lv_retcode VARCHAR2(1);', ' lv_errmsg VARCHAR2(2000);', 'BEGIN', '', ' lc_message_text := :P10_MESSAGE_INPUT;', '', ' -- Insert Question', ' INSERT INTO cb_chat_messages(', ' chat_id,', ' message_type,', ' message_text,', ' user_name,', ' created_by,', ' last_updated_by', ' )', ' VALUES(', ' :P10_CHAT_ID, -- chat_id', ' ''U'', -- message_type,', ' lc_message_text, -- message_text,', ' :APP_USER, -- user_name,', ' :APP_USER, -- created_by,', ' :APP_USER -- last_updated_by', ' );', '', ' SELECT', ' cb.model_name', ' INTO', ' lv_model_name', ' FROM', ' cb_models cb,', ' cb_chats cc', ' WHERE', ' cb.model_id = cc.model_id', ' AND cc.chat_id = :P10_CHAT_ID;', '', ' SEND_MESSAGE_TO_GEN_AI(', ' ov_retcode => lv_retcode,', ' ov_errmsg => lv_errmsg,', ' in_chat_id => :P10_CHAT_ID,', ' in_chat_model => lv_model_name,', ' iv_app_user => :APP_USER', ' );', '', ' IF (lv_retcode = ''0'') THEN', ' NULL;', ' ELSE', ' APEX_ERROR.ADD_ERROR(', ' p_message => ''Exception -> '' || lv_errmsg,', ' p_display_location => APEX_ERROR.C_INLINE_IN_NOTIFICATION', ' );', ' END IF;', '', ' -- COMMIT;', '', 'EXCEPTION', ' WHEN OTHERS THEN', ' APEX_ERROR.ADD_ERROR(', ' p_message => ''Exception -> '' || SQLERRM || dbms_utility.format_error_backtrace,', ' p_display_location => APEX_ERROR.C_INLINE_IN_NOTIFICATION', ' );', '', 'END;')) ,p_attribute_02=>'P10_MESSAGE_INPUT' ,p_attribute_05=>'PLSQL' ,p_stop_execution_on_error=>'N' ,p_wait_for_result=>'Y' ,p_server_condition_type=>'NEVER' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10395267346674632) ,p_event_id=>wwv_flow_imp.id(10393731072674617) ,p_event_result=>'TRUE' ,p_action_sequence=>50 ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_JAVASCRIPT_CODE' ,p_attribute_01=>wwv_flow_string.join(wwv_flow_t_varchar2( 'apex.message.showPageSuccess("Message sent.");', 'apex.region("chat-messages").refresh();', 'apex.item("P10_MESSAGE_INPUT").setValue("");', 'apex.item("P10_MESSAGE_INPUT").enable();', 'apex.item("P10_MESSAGE_INPUT").setFocus();', '')) ,p_server_condition_type=>'NEVER' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(5831800843016032) ,p_event_id=>wwv_flow_imp.id(10393731072674617) ,p_event_result=>'TRUE' ,p_action_sequence=>60 ,p_execute_on_page_init=>'Y' ,p_name=>'Enable Submit Message' ,p_action=>'NATIVE_ENABLE' ,p_affected_elements_type=>'BUTTON' ,p_affected_button_id=>wwv_flow_imp.id(10393635094674616) ,p_server_condition_type=>'NEVER' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(5832640676016040) ,p_event_id=>wwv_flow_imp.id(10393731072674617) ,p_event_result=>'TRUE' ,p_action_sequence=>70 ,p_execute_on_page_init=>'N' ,p_name=>'Clear Message Input' ,p_action=>'NATIVE_CLEAR' ,p_affected_elements_type=>'ITEM' ,p_affected_elements=>'P10_MESSAGE_INPUT' ,p_server_condition_type=>'NEVER' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10637888411007736) ,p_event_id=>wwv_flow_imp.id(10393731072674617) ,p_event_result=>'TRUE' ,p_action_sequence=>80 ,p_execute_on_page_init=>'N' ,p_name=>'Submit Message SSE' ,p_action=>'NATIVE_JAVASCRIPT_CODE' ,p_attribute_01=>wwv_flow_string.join(wwv_flow_t_varchar2( 'async function callGenAIStream(requestPayload) {', '', ' console.log(''callGenAIStream'')', ' // console.log(''P10_GEN_AI_GET_ANSWER_FROM_TONGYI_URL'', apex.item(''P10_GEN_AI_GET_ANSWER_FROM_TONGYI_URL'').getValue(''''));', ' // console.log(''P10_GEN_AI_SEND_QUESTION_TO_TONGYI_URL'', apex.item(''P10_GEN_AI_SEND_QUESTION_TO_TONGYI_URL'').getValue(''''));', '', unistr(' // \68C0\67E5Web Service\7684URL\662F\5426\8BBE\5B9A'), ' const send_question_url = apex.item(''P10_GEN_AI_SEND_QUESTION_TO_TONGYI_URL'').getValue('''')', ' const get_answer_url = apex.item(''P10_GEN_AI_GET_ANSWER_FROM_TONGYI_URL'').getValue('''')', '', ' if (send_question_url === null || send_question_url === '''') {', ' alert(''GEN_AI_SEND_QUESTION_TO_TONGYI_URL not set!'')', ' return;', ' }', '', ' if (get_answer_url === null || get_answer_url === '''') {', ' alert(''GEN_AI_GET_ANSWER_FROM_TONGYI_URL not set!'')', ' return;', ' }', '', ' disableChat();', '', ' uuid = await postMessage(', ' apex.item(''P10_GEN_AI_SEND_QUESTION_TO_TONGYI_URL'').getValue(''''),', ' requestPayload', ' )', '', ' if (uuid) {', ' await getAnswer(', ' apex.item(''P10_GEN_AI_GET_ANSWER_FROM_TONGYI_URL'').getValue(''''),', ' uuid', ' )', ' }', '', '}', '', '', unistr('// \793A\4F8B\7528\6237\8F93\5165'), 'let requestPayload = {', ' model: ''qwen-turbo'',', ' messages: [', ' { role: ''user'', text: apex.item(''P10_MESSAGE_INPUT'').getValue() }', ' ]', '};', '', unistr('// \53D6\5F97\62A5\6587'), 'apex.server.process(', ' "EDIT_REQUEST_PAYLOAD",', ' {', ' pageItems: "#P10_MESSAGE_INPUT,#P10_GEN_AI_GET_ANSWER_FROM_TONGYI_URL,#P10_GEN_AI_SEND_QUESTION_TO_TONGYI_URL"', ' },', ' {', ' success: function(data) {', unistr(' // \5904\7406\6210\529F\540E\7684\64CD\4F5C'), ' console.log(''EDIT_REQUEST_PAYLOAD'', data)', ' requestPayload = data', '', unistr(' // \8C03\7528\51FD\6570\542F\52A8SSE'), ' callGenAIStream(requestPayload);', ' }', ' }', ');')) ); wwv_flow_imp_page.create_page_da_event( p_id=>wwv_flow_imp.id(10395677498674636) ,p_name=>'after Chat refresh - scroll to bottom' ,p_event_sequence=>170 ,p_triggering_element_type=>'REGION' ,p_triggering_region_id=>wwv_flow_imp.id(10472895874210821) ,p_bind_type=>'bind' ,p_execution_type=>'IMMEDIATE' ,p_bind_event_type=>'apexafterrefresh' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(10395736717674637) ,p_event_id=>wwv_flow_imp.id(10395677498674636) ,p_event_result=>'TRUE' ,p_action_sequence=>10 ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_JAVASCRIPT_CODE' ,p_attribute_01=>'$("#chat-messages .t-Comments").scrollTop($("#chat-messages .t-Comments")[0].scrollHeight);' ,p_server_condition_type=>'EXISTS' ,p_server_condition_expr1=>wwv_flow_string.join(wwv_flow_t_varchar2( 'SELECT', ' 1', 'FROM', ' cb_chat_messages ccm', 'WHERE', ' ccm.chat_id = :P10_CHAT_ID')) ); wwv_flow_imp_page.create_page_da_event( p_id=>wwv_flow_imp.id(5832303921016037) ,p_name=>'Clicked' ,p_event_sequence=>180 ,p_triggering_element_type=>'BUTTON' ,p_triggering_button_id=>wwv_flow_imp.id(5832206404016036) ,p_bind_type=>'bind' ,p_execution_type=>'IMMEDIATE' ,p_bind_event_type=>'click' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(5832434485016038) ,p_event_id=>wwv_flow_imp.id(5832303921016037) ,p_event_result=>'TRUE' ,p_action_sequence=>10 ,p_execute_on_page_init=>'N' ,p_action=>'NATIVE_EXECUTE_PLSQL_CODE' ,p_attribute_01=>wwv_flow_string.join(wwv_flow_t_varchar2( 'DELETE FROM', ' cb_chat_messages ccm', 'WHERE', ' ccm.chat_id = :P10_CHAT_ID;')) ,p_attribute_05=>'PLSQL' ,p_wait_for_result=>'Y' ); wwv_flow_imp_page.create_page_da_action( p_id=>wwv_flow_imp.id(5832536792016039) ,p_event_id=>wwv_flow_imp.id(5832303921016037) ,p_event_result=>'TRUE' ,p_action_sequence=>20 ,p_execute_on_page_init=>'N' ,p_name=>'Refresh' ,p_action=>'NATIVE_REFRESH' ,p_affected_elements_type=>'REGION' ,p_affected_region_id=>wwv_flow_imp.id(10472895874210821) ); wwv_flow_imp_page.create_page_da_event( p_id=>wwv_flow_imp.id(10637763104007735) ,p_name=>'Submit' ,p_event_sequence=>190 ,p_triggering_element_type=>'BUTTON' ,p_triggering_button_id=>wwv_flow_imp.id(10637622415007734) ,p_bind_type=>'bind' ,p_execution_type=>'IMMEDIATE' ,p_bind_event_type=>'click' ); wwv_flow_imp_page.create_page_process( p_id=>wwv_flow_imp.id(10638101291007739) ,p_process_sequence=>10 ,p_process_point=>'ON_DEMAND' ,p_process_type=>'NATIVE_PLSQL' ,p_process_name=>'STORE_CHAT_HISTORY' ,p_process_sql_clob=>wwv_flow_string.join(wwv_flow_t_varchar2( 'DECLARE', '', ' lc_json_output CLOB;', '', 'BEGIN', ' -- Insert Question', ' INSERT INTO cb_chat_messages(', ' chat_id,', ' message_type,', ' message_text,', ' user_name,', ' created_by,', ' last_updated_by', ' )', ' VALUES(', ' :P10_CHAT_ID, -- chat_id', ' ''U'', -- message_type, User', ' :P10_MESSAGE_INPUT, -- message_text,', ' :APP_USER, -- user_name,', ' :APP_USER, -- created_by,', ' :APP_USER -- last_updated_by', ' );', '', ' -- Insert Answer', ' INSERT INTO cb_chat_messages(', ' chat_id,', ' message_type,', ' message_text,', ' user_name,', ' created_by,', ' last_updated_by', ' )', ' VALUES(', ' :P10_CHAT_ID, -- chat_id', ' ''M'', -- message_type, Model', ' :P10_HIDDEN_OUTPUT, -- message_text,', ' ''Model'', -- user_name,', ' :APP_USER, -- created_by,', ' :APP_USER -- last_updated_by', ' );', '', ' lc_json_output := json_object(', ' ''status'' VALUE ''success'',', ' ''message'' VALUE ''Chat history stored successfully''', ' );', '', unistr(' -- \8F93\51FA JSON \6570\636E'), ' htp.p(lc_json_output);', '', 'END;', '')) ,p_process_clob_language=>'PLSQL' ,p_internal_uid=>10638101291007739 ); wwv_flow_imp_page.create_page_process( p_id=>wwv_flow_imp.id(10638257706007740) ,p_process_sequence=>20 ,p_process_point=>'ON_DEMAND' ,p_process_type=>'NATIVE_PLSQL' ,p_process_name=>'EDIT_REQUEST_PAYLOAD' ,p_process_sql_clob=>wwv_flow_string.join(wwv_flow_t_varchar2( 'DECLARE', '', ' lj_payload JSON_OBJECT_T;', ' lj_messages JSON_ARRAY_T;', ' lj_message JSON_OBJECT_T;', ' lv_model_name cb_models.model_name%TYPE;', '', ' CURSOR cur_get_messages IS', ' SELECT', ' ccm.message_type AS message_type,', ' CASE', ' ccm.message_type', ' WHEN ''U'' THEN ''user''', ' WHEN ''M'' THEN ''assistant''', ' END AS message_role,', ' ccm.message_text AS message_text', ' FROM', ' cb_chat_messages ccm', ' WHERE', ' ccm.chat_id = :P10_CHAT_ID', ' ORDER BY', ' ccm.message_id;', '', 'BEGIN', '', unistr(' -- \521D\59CB\5316\6700\7EC8\62A5\6587'), ' lj_payload := JSON_OBJECT_T();', '', ' SELECT', ' cm.model_name', ' INTO', ' lv_model_name', ' FROM', ' cb_chats cc,', ' cb_models cm', ' WHERE', ' cc.model_id = cm.model_id', ' AND cc.chat_id = :P10_CHAT_ID;', ' ', ' lj_payload.put(''model'', lv_model_name);', '', unistr(' -- \521D\59CB\5316\6D88\606F\5217\8868'), ' lj_messages := JSON_ARRAY_T();', '', unistr(' -- \521D\59CB\5316\7CFB\7EDF\63D0\793A'), ' lj_message := JSON_OBJECT_T();', '', unistr(' -- \6DFB\52A0\7CFB\7EDF\63D0\793A\5230\6D88\606F\5217\8868'), ' lj_message.put(''role'', ''system'');', ' lj_message.put(''text'', ''You are a helpful assistant. Please don''''t answer if you don''''t know the correct answer'');', ' lj_messages.append(lj_message);', '', unistr(' -- \95EE\7B54\5386\53F2'), ' FOR rec_get_messages IN cur_get_messages LOOP', '', unistr(' -- \521D\59CB\5316\95EE\7B54'), ' lj_message := JSON_OBJECT_T();', ' lj_message.put(''role'', rec_get_messages.message_role);', ' lj_message.put(''text'', rec_get_messages.message_text);', '', unistr(' -- \6DFB\52A0\95EE\7B54\5230\6D88\606F\5217\8868'), ' lj_messages.append(lj_message);', '', ' END LOOP;', '', unistr(' -- \6700\65B0\95EE\9898'), ' lj_message := JSON_OBJECT_T();', ' lj_message.put(''role'', ''user'');', ' lj_message.put(''text'', :P10_MESSAGE_INPUT);', ' lj_messages.append(lj_message);', '', unistr(' -- \6DFB\52A0\6D88\606F\5217\8868\5230\6700\7EC8\62A5\6587'), ' lj_payload.put(''messages'', lj_messages);', '', unistr(' -- \8F93\51FA JSON \6570\636E'), ' htp.p(lj_payload.to_clob);', '', 'END;', '')) ,p_process_clob_language=>'PLSQL' ,p_internal_uid=>10638257706007740 ); wwv_flow_imp.component_end; end; /