新年あけましておめでとうございます。2020年もボチボチとユルユルとPower Apps を中心にPower Platform なコトをネタにしていこうかと考えておる次第です。というコトで、今後ともよろしくお願いいたします。
さて、新年1発目のネタは Screen にある「LoadingSpinner」プロパティです。
LoadingSpinner について
画面遷移時に、画面のデータ、ないしコントロールが揃うまでローディングのグルグルを表示するアレです。たぶん。
なぜ”たぶん”なのか?
実は、LoadingSpinner プロパティに関しては公式情報が一切無いプロパティなのです(2020年1月1日現在)。
いろいろと検証してみた結果のまとめなので、誤っていたら申し訳ありません。個人的な印象ですと、遷移先の画面に設定されているコントロール、ないしデータの読み込みが完了するまで、ローディングのグルグルを表示する仕組みで、それ以上でもそれ以下でも無さそうです。
設定する箇所
ローディングを表示したい画面(Screen)を選択し、LoadingSpinner プロパティを選択して下記のパラメータを指定します。
■パラメータ
LoadingSpinner.Controls
LoadingSpinner.Data
LoadingSpinner.None(デフォルト値)
デバッグ表示で確認すると、値は上から、0、1、2 です。
なお、このプロパティは「画面遷移時」にしか発動しないようです。なので、動作を確認するためには、他の画面からの移動(Navigate)する必要があります。
パラメータの名称から想像すると”Controls”は遷移先の画面コントロールが全てロードされるまで?で、”Data”の場合はデータソースが全て読み込まれるまで?と思います。が、前述通り明確な公式資料がないため真相は不明です。そして、どっちを選んでも同じぐらいのローディングになります(※経験則です)。
LoadingSpinner.None
わざわざ説明する必要はないかもしれませんが、デフォルト値のLoadingSpinner.None を指定した場合の動作です。
LoadingSpinner.Data(ないし、Control)
LoadingSpinner.Data を指定した場合の動作がこちらです。
描画に時間をかかるように、遷移先の画面には SharePoint Online の List をデータソースにしたギャラリーと、テーブルコントロールが2つ無理やり置いてあります。
なお、LoadingSpinner.Control でも同じぐらいのローディング表示でした。前述どおり個人的な感覚ですが、Data・Control どちらを選択してもあまり効果が変わらない場合が多いですね。
LoadingSpinnerColor について
前述の LoadingSpinner.Data 動画に同梱してあるのでお気づきの方もお見えになるかと思います。ローディング時のグルグル色を変更することが、2019年末ぐらいに可能になりました。
RGBA、ないしカラー(Red、Blueなど)が指定可能です。
まとめ
画面遷移する際、A →[遷移]→ B みたいな流れだと仮定しましょう。Bの画面に置いたコントロールが多かったり、読み込むデータソースが膨大だったりした場合、B画面の描画が遅くなるコトが多々あります。画面描画が遅くなると、コントロールの準備が全て整う前に操作できてしまって、意図しない結果になることがあります。
このLoadingSpinnerプロパティを使うと、その意図しない結果を回避できる可能性があります。自前でローディング画面を用意しても良いのですが、プロパティに1つ値を設定すれば解決する可能性もあります。そんな場合に、思い出してみてください。
それでは、皆さま。2020年も素晴らしい Power Platform Life を!