注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
learn.palantir.com ↗でも以下の内容をご覧いただけますが、アクセシビリティの観点から、ここに掲載しています。
ユーザーがWorkshopモジュールで未解決のアラートの割合をハイライトするメトリックカードを利用できるようにしたいと思います。Workshopは数値の集約を自動的に計算し表示することができますが、場合によっては、Workshopのフロントエンドでは利用できないビジネスロジックを使ってメトリックを計算する必要があるかもしれません。
このような場合、必要な数値を供給するFunctionを使ってWorkshopの機能を拡張することができます。このタスクでは、MyFunctions
クラスのメソッドとしてカスタムFunctionを追加します。
リポジトリ内の../src/index.ts
ファイルを開きます。
MyFunctions
クラス内に新しい関数を作るためのスペースを作る必要があります。8行目の閉じ括弧の後にカーソルを置き、エンターキーを2回押します。
次のコードブロックを挿入しますが、@Function()
デコレータとpublic...
行が上の関数と揃うように注意してください。
jmeierPercentUnresolved
をご自身が認識できる専用の名前(例えば、jmeier
をご自身の名前に置き換える)に置き換え、JmeierFlightAlert
をユーザーのAPI名に置き換えてください。@Function()
// "alerts"というエイリアスでフライトアラートオブジェクトの配列を取り込み、
// Doubleを返す
public jmeierPercentUnresolved(alerts: JmeierFlightAlert[]): Double {
// 配列に実際にオブジェクトがあることを確認し、
// そうでなければ"0"を返します
if (alerts.length === 0) {
return 0;
}
// 配列を通じて変数("numberUnresolved")を増加させ、
// 解決されたステータスがないアラートを見つけるたびに1を増やします
let numberUnresolved = 0;
for (const alert of alerts) {
if (alert.status != "Resolved") {
numberUnresolved++;
}
}
// オリジナルの配列の長さで割った未解決のアラートの数を返します
return numberUnresolved/alerts.length;
}
お使いのCode Assistが動作している場合、Doubleの出力タイプが赤で下線が引かれていることがわかります。これはコードに問題があることを示しています。簡単に言うと、リポジトリがインポートされていないタイプを発見しました。
Double
を追加します:import { Function, Integer, Double } from "@foundry/functions-api";