カスタム ページ

[プロパティ パネル][カスタム ページ] セクションでは、Insight アプリケーションのカスタム エラー ページとログアウト ページを定義できます。

[カスタム ページ] は HTML ページである必要があり、アップロードしたページは Insight DataFoder/CustomPages に保存され、ページを開いたときに使用されます。このページには、Insight アプリケーション フォルダ (<InstallationDirectory>/HtmlInsight/CustomResources) にコピーできるカスタム データ (画像、スクリプト、スタイル) を含めることができます。HTML ページには、このフォルダへのリンクが含まれている必要があります。

HTML ページのテンプレートとして次のような項目を使用できます。

  • {{Locale}} - テンプレートで、en-US などの現在のユーザー ロケールを置き換えます。

  • {{Model}} - 次のプロパティを持つ JavaScript オブジェクト。

    • ApplicationName - アプリケーションの名前 (Studio、Admin Console など)。

    • Version - Insight のバージョンです。

    • Error - エラー メッセージ (エラー ページ用)。

    モデルを変数に割り当て、必要に応じて HTML ページのスクリプトで使用できます。

HTML エラー ページのサンプル

<html lang="en">
<meta name="viewport"content="width=device-width">
<meta http-equiv="content-type"content="text/html; charset=utf-8">
<title>Custom Error</title>
<head>
<style>label {display: block;}body {display: flex;align-items: center;justify-content: center;}.error {color: red;}</style>
<script>var insightModel = {{Model}};var locale = '{{Locale}}';</script>
</head>
<body>
<script>if(insightModel.error) {const error = document.createElement('div');error.textContent = insightModel.error;error.classList.add('error');document.body.append(error);}</script>
</body>
</html>

Insight およびログイン パネル認証用のカスタム ログイン ページを作成することもできます。このページには、CustomLogin への送信アクションを含むフォームが含まれている必要があります。エラー ページのサンプルに示されているようなエラー スクリプトを使用して、このページにモデル テンプレートを追加することができます。

HTML ログイン ページのサンプル

<html lang="en">
<meta name="viewport" content="width=device-width">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Custom Login</title>
<head>
<style>label {display: block;}
body {display: flex; align-items: center; justify-content: center;}.error {color: red;}</style>
<script>var insightModel = {{Model}};var locale = '{{Locale}}';</script>
</head>              
<body>                
<form action="CustomLogin" method="post">
<label>client <input name="client"/></label>
<label id="user">user <input name="user"/></label>
<label>password <input name="password"/></label>
<input type="submit" value="Login"/>                               
</form>
<script>
if(insightModel.error) {
const error = document.createElement('div'); 
error.textContent = insightModel.error; 
error.classList.add('error');
document.getElementById('user').after(error);}
</script></body>
</html>