2022年5月9日月曜日

アプリケーションのアップグレード後に発生するページのブリンクを解消する

 APEXアプリケーションをアップグレードすると、ページがブリンクするという報告があります。主にリージョン表示セレクタを使用している場合に発生するようです。

リージョン表示セレクタでの対応については、Steve Muenchさんのブログに方法が紹介されています。

21.2: Fine-Tuning Initial Render of Tabs & Cards

上記のブログにて、ワークアラウンドとして以下のCSSが紹介されています。

.a-Tabs-panel {
	display: none;
}

.no-anim .t-TabsRegion-items > div {
     Display: none;
}

CSSを記述する箇所は、ページ・プロパティCSSインラインです。

また、複数のページに同じワークアラウンドを適用するために、静的アプリケーション・ファイル(または静的ワークスペース・ファイル)にCSSを記載し、CSSファイルURLとして、そのファイルを指定することもできます。

リージョン表示セレクタ以外で発生するケースでのワークアラウンドとして、Oracle APEXのアーキテクトのShakeeb Rahmanによるコードも公開されています。コードのコメントとして、ブリンクが発生する理由が記載されています。

https://codepen.io/shakeebr/pen/xxXjgyq?editors=0100

同じように、ページ・プロパティのCSSにインラインかファイルURLとして指定します。

Oracle APEX 22.1からは、ページ・テンプレートテンプレート・オプションとしてDeferred Page Renderingが追加されています。


Deferred Page RenderingONにすると、21.2以前と同じ方法でページが描画されます。

アプリケーションをバージョンアップした後に、ページがブリンクするようになったときに検討できる方法は以上になります。

Oracle APEXのアプリケーション作成の参考になれば幸いです。