Oracle APEXの動的アクションにイベント有効範囲という設定があります。このイベント有効範囲として、静的、動的、1回のどれかを選ぶことができます。
簡単なアプリケーションを作成し、このプロパティイベント有効範囲の使い方を確認します。
確認アプリケーションの作成
以下のページを作成し、それぞれイベント有効範囲が異なる動的アクションを作成します。
ボタン、ページ・アイテム、動的コンテンツのリージョンを作成します。
Oracle APEXの動的アクションにイベント有効範囲という設定があります。このイベント有効範囲として、静的、動的、1回のどれかを選ぶことができます。
簡単なアプリケーションを作成し、このプロパティイベント有効範囲の使い方を確認します。
以下のページを作成し、それぞれイベント有効範囲が異なる動的アクションを作成します。
ボタン、ページ・アイテム、動的コンテンツのリージョンを作成します。
begin
apex_pwa.send_push_notification(
p_application_id => [コピー元のアプリケーションID]
,p_user_name => :P1_PUSH_TO
,p_title => :P1_TITLE
,p_body => :P1_MESSAGE
);
end;
まだ翻訳されていないため、日本語の環境からapex.oracle.comにアクセスしても、Oracle APEX 23.1の情報が見つかりません。
Oracle APEX 23.1の新機能ガイドのURLは以下になります。
https://apex.oracle.com/en/platform/features/whats-new-231/
新しく追加された機能として、以下があります。
Perhaps the most requested #PWA feature: Push notifications, has landed to https://t.co/Rs2R3QKQSE
— Vincent Morneau (@vincentmorneau) April 18, 2023
It's declarative and no code. 100% using Oracle tech stack. It will change how #orclAPEX engages with its users.
You can try it out now! pic.twitter.com/UyPqQvIBm1
標準のカレンダを月曜日から始める方法を紹介します。Oracle APEXのギャラリに含まれているサンプル・カレンダを使って確認します。
デフォルトではカレンダは日曜日から始まります。
ページ・デザイナを開いて、カレンダ・リージョンの属性を確認します。一般にリージョン固有の設定(この場合はカレンダ)は、プロパティ・エディタの属性に含まれます。
開始する曜日の指定は、設定には含まれていません。また、詳細の初期化JavaScriptファンクションのヘルプにも、そのような指定は含まれていません。
Oracle APEXのカレンダ・リージョンは、実際はFullCalendarです。そのため、FullCalendarに機能として含まれていれば、Oracle APEXから(設定やヘルプに含まれていなくても)利用することができます。
コンポーネントのバージョンに注意が必要です。Oracle APEXにバンドルされているJavaScriptコンポーネントは、必ずしも最新ではありません。バージョンはリリース・ノートに記載されています。FullCalendarは5.11.2がバンドルされています。FullCalendar自体の最新バージョンは6.1.5(2023年4月14日現在)です。
FullCalendarのドキュメントを確認すると、firstDayというプロパティが見つかりました。
https://fullcalendar.io/docs/v5/firstDay
function (p) {
p.firstDay = 1;
}
CREATE OR REPLACE MLE MODULE factorial_mod LANGUAGE JAVASCRIPT AS
export function factorial(num) {
if(num < 0) {
return -1;
} else if (num == 0) {
return 1;
} else {
return(num * factorial(num-1));
}
}
/
begin
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'gist.githubusercontent.com',
ace => xs$ace_type(
privilege_list => xs$name_list('connect','resolve'),
principal_name => 'APEX_220200',
principal_type => xs_acl.ptype_db));
commit;
end;
/
DB 23cよりLock Free Reservationと呼ばれる機能が追加されました。これは以下の操作を行います。
SQL> drop table call_counter;
drop table call_counter
*
ERROR at line 1:
ORA-55764: Cannot DROP or MOVE tables with reservable columns. First run "ALTER
TABLE <table_name> MODIFY (<reservable_column_name> NOT RESERVABLE)" and then
DROP or MOVE the table.
SQL>
Oracle Database 23c Freeの環境上でJavaScriptのMLEモジュールを作成し、APEXのSQLコマンドより呼び出してみます。
マニュアルの記載部分は以下になります。
JavaScript Developer's GuideCREATE OR REPLACE MLE MODULE factorial_mod LANGUAGE JAVASCRIPT AS
export function factorial(num) {
if(num < 0) {
return -1;
} else if (num == 0) {
return 1;
} else {
return(num * factorial(num-1));
}
}
/
CREATE MLE ENV "myFactorialEnv" IMPORTS('factorialMod' MODULE FACTORIAL_MOD);
/
const { factorial } = await import('factorialMod');
console.log(factorial(3));
CREATE OR REPLACE FUNCTION js_factorial(
p_num number)
return number
AS MLE MODULE FACTORIAL_MOD
SIGNATURE 'factorial(number)';
/