IM-BloomMaker for Accel Platform 2024 Autumn リリースノート 初版 2024-10-01

9.2. デザイナ および 実行画面

9.2.1. 変数エディタでマップを扱う場合、マップ内の各要素は同じ型を選択してください。

変数でマップを使用する場合、値の型は全て同一にしてください。

9.2.2. デザイナ画面での見た目と、プレビュー画面およびアプリケーション実行時の画面の見た目は異なります。

デザイナ画面で利用できるプロパティの一部に、プレビュー画面およびアプリケーション実行時のみ適用されるものがあるためです。

9.2.3. 動画埋め込みエレメントで autoplay を true に設定しても、自動再生されないブラウザがあります。

ブラウザによりメディアの自動再生を許可する条件が異なるためです。

9.2.4. マップ型の変数を別の変数にアクションを用いて代入した場合、アクションアイテムによって表示が異なります。

  • 「変数〇に〇を代入する」アクションアイテムを使用して変数の代入を行った場合、<マップ>と表示されます。
  • 「カスタムスクリプトを実行する」アクションアイテムを使用して変数の代入を行った場合、{ }と表示されます。

9.2.5. 各エレメントの共通プロパティにある「テキストスタイル」カテゴリ内の「横揃え」プロパティにて、「match-parent」を設定してもスタイルに設定されないことがあります。

「match-parent」プロパティに関するブラウザの仕様は草案段階であり、ブラウザによって実装状況・挙動が異なります。
各ブラウザの対応状況は「MDN web docs」を参照ください。

9.2.6. CSSエディタの編集内容によりデザイナの見た目が壊れる可能性があります。

例として以下のようなCSSを設定した場合、デザイナの見た目が壊れることを確認しています。
html {
   font-size: 100px;
}
a: a:visited, a:link { color: #000 }

9.2.7. 整数を入力するプロパティに小数を入力した場合、四捨五入、または切り捨てされた値が利用される場合があります。

小数を入力した結果バリデーションエラーが発生しても、画面上では四捨五入、または切り捨てで丸め処理された値が適用されます。

9.2.8. マップ型とマップ型以外の型の相互変換はできません。

アクションを使用してマップ型の変数に代入した値をマップ型以外の変数に再代入することはできません。

9.2.9. 互換テーマを利用した場合、ブラウザによってレイアウトが崩れて表示される場合があります。

互換テーマを利用した場合、画面幅が変わる事によりレイアウトが崩れて表示される場合があります。

9.2.10. カスタムスクリプトで利用できるグローバルオブジェクトは一部を除いて機能を制限しています。

カスタムスクリプトで利用できるグローバルオブジェクトは一部を除いて機能を制限しています。
そのため、カスタムスクリプト内でDOMを操作することはできません。

9.2.11. リッチテキストボックスが読み取り専用の場合、Google Chrome でリッチテキストの値をコピーするとブラウザのコンソールにエラーが出力されます。

使用しているライブラリ (Squire) の不具合により、ブラウザのコンソールにエラーが出力されます。
なお、動作に影響はありません。

9.2.12. IM-Repository定義から変数・定数・入力を作成する際に、対応していない制約があります。

IM-Repository の下記制約が対象です。
  • 数値(最小整数桁、最大整数桁、最小小数桁、最大小数桁)
  • 日付時刻
  • 独自に追加した制約

9.2.16. コンテンツ種別「Bulma」のアプリケーション画面では、画面幅を超えた要素があっても横スクロールが発生しません。

コンテンツ種別「Bulma」のアプリケーション画面では、画面幅を超えた要素があっても横スクロールが発生しません。

9.2.18. カスタムスクリプト内で $im.event.mouse を利用して取得できる値について、制限があります。

Mac を利用している場合は、以下の値は常に false です。
これは、 Mac OS がどのマウスボタンが押されているかを判別する機能を有していないためです。
  • $im.mouse.leftButton
  • $im.mouse.rightButton
  • $im.mouse.wheelButton
  • $im.mouse.extraButton1
  • $im.mouse.extraButton2
  • $im.mouse.isExtraButton()
また、 iPhone, Android, iPad を利用している場合、上記の API はサポート対象外です。

9.2.20. エレメント「外部リソース埋め込みコンテナ」で PDF ファイルを指定する場合、Android の Google Chrome では PDF は表示されません。

エレメント「外部リソース埋め込みコンテナ」で PDF ファイルを指定する場合、Android の Google Chrome では PDF は表示されません。
Android の Chrome には PDF を表示するビューアが搭載されていないためです。

9.2.21. 利用する端末、ブラウザによって inputmode で指定したソフトウェアキーボードの見た目が異なります。

利用する端末、ブラウザによって inputmode で指定したソフトウェアキーボードの見た目が異なります。

9.2.22. バーコードリーダー、QR コードリーダーエレメントを利用する場合、https でのアクセスが必要です。

バーコードリーダー、QR コードリーダーエレメントを利用する場合、https でのアクセスが必要です。
カメラを有効にした際に、権限を求められることがあります。許可することで利用可能です。

9.2.31. iOS・iPadOS の Safari で日付入力を表示したとき、min, max の指定が動作しません。

iOS・iPadOS の Safari で日付入力を表示したとき、min, max の指定が動作しません。

9.2.32. iOS・iPadOS の Safari で、音声または動画を再生・一時停止するアクションアイテムを1つのアクションに対して複数設定した場合、一部しか動かない場合があります。

iOS・iPadOS の Safari を利用しているとき、以下のアクションアイテムを1つのアクションに対して複数設定した場合、1つのコンテンツ(音声・動画)しか再生されない場合があります。
  • 音声または動画を再生する
  • 音声または動画を再生・一時停止する

9.2.33. WebSocket の接続に失敗した場合、デザイナ画面に表示されている排他制御機能が期待通りに動作しません。

稀に WebSocket の接続に失敗し、コンソールにエラーメッセージが表示されます。
エラーメッセージは connection to ‘接続先のURL’ failed: です。’接続先のURL’は利用している環境に依存します。
接続に失敗した場合、排他制御機能のUIが期待通りに動作しません。
画面を更新し再接続してください。

9.2.34. 辞書項目の JavaScript 変数名が未入力またはハイフン、アンダーバー以外の記号を利用していた場合、エンティティデータの検証が動作しません。

以下の条件のいずれかに合致する場合、IM-LogicDesigner で利用できるタスク「エンティティデータの検証」および「フロー開始時に IM-Repository 定義の入力値を検証する」が動作しません。
  • IM-BloomMaker の変数名に利用できるハイフン、アンダーバー以外の記号を IM-Repository の辞書項目の JavaScript 変数名で利用した場合
  • IM-Repository の辞書項目の JavaScript 変数名が未入力の場合

9.2.35. iOS・iPadOS の Safari で、コンテナの「ページ遷移時警告」が動作しません。

iOS・iPadOS の Safari で、コンテナの「ページ遷移時警告」をオンに設定した画面を表示後、別のページに遷移しても、ページ遷移時警告が動作しません。

9.2.36. iOS・iPadOS で、時刻入力エレメントの「showSeconds プロパティ」が動作しません。

iOS の Safari 、iPadOS の Safari で、時刻入力エレメントのプロパティ「showSeconds」を有効に設定しても、秒数が表示されません。

9.2.37. iOS・iPadOS で、時刻入力エレメント・日付入力エレメントの「readonly プロパティ」が動作しません。

時刻入力エレメント、日付入力エレメントのプロパティ「readonly」を有効にしても、入力不可が適用されません。
  • 該当するブラウザ
    • iOS: Safari
    • iPadOS: Safari
  • 該当するエレメント
    • 日付入力
    • 日付入力(Bulma)
    • 時刻入力
    • 時刻入力(Bulma)

9.2.38. 数値入力エレメント、数値入力(フォーマット)エレメントで、入力したデータをいくつずつ変化させるのか、を指定するプロパティ「step」が動作しません。

数値入力エレメント、数値入力(フォーマット)エレメントで、入力したデータをいくつずつ変化させるのか、を指定するプロパティ「step」が動作しません。
  • 該当するブラウザ
    • iOS: Safari
    • iPadOS: Safari
    • AndroidOS: Chrome
  • 該当するエレメント
    • 数値入力
    • 数値入力(Bulma)
    • 数値入力(フォーマット)
    • 数値入力(フォーマット)(Bulma)

9.2.39. モバイル端末で、入力系エレメントの 「min プロパティ」「max プロパティ」が動作しません。

以下の操作を行うと、min プロパティ、maxプロパティの設定に関係なく、値を入力できてしまいます。
  • 入力系のエレメントに、最小値を指定する min プロパティ・最大値を指定する max プロパティ に任意の値を設定する

  • モバイル端末からアプリケーション画面にアクセスする

  • 入力系エレメントに min プロパティより小さい値、または、max プロパティより大きい値を入力する

    => 入力できないはずの値を入力できてしまいます。

なお、フォームの submit を行うと、エラーメッセージが表示されます。
  • フォーム部品カテゴリの「フォームエレメント」内に、min プロパティ・max プロパティを設定した、入力系エレメントを配置する

    ../../_images/designer_limitations_1.png
  • モバイル端末からアプリケーション画面にアクセスする

  • 入力系エレメントに min プロパティより小さい値、または、max プロパティより大きい値を入力する

  • 「Submit」ボタンをタップする

    => 入力値が min プロパティ、または、max プロパティの条件を満たしていない旨のエラーメッセージが表示されます。

    ../../_images/designer_limitations_2.png
  • 該当するブラウザ
    • iOS: Safari
    • iPadOS: Safari
    • AndroidOS: Chrome
  • 該当するエレメント
    • 数値入力
    • 数値入力(Bulma)
    • 数値入力(フォーマット)
    • 数値入力(フォーマット)(Bulma)
    • 日付入力
    • 日付入力(Bulma)
    • 時刻入力
    • 時刻入力(Bulma)

9.2.40. iOS・iPadOS でダイアログを表示した際、ダイアログ内のどのエレメントにも autofocus があたりません。

HTML Living Standard では、dialog 要素を利用すると、dialog 内に配置された要素の autofocus 属性を調べます。
autofocus が指定された属性を持つ要素の内、一番最初の要素にフォーカスがあたります。
一方、autofocus が指定された属性を持つ要素がなかった場合、一番上に配置されている要素にフォーカスがあたります。

iOS・iPadOS では上記のような処理がなされず、autofocus が指定された属性を持つ要素がなかった場合、どの要素にもフォーカスがあたりません。

9.2.41. Safari で、ダイアログ内のリンクからページ遷移し、ブラウザの戻るボタンをクリックすると、ダイアログの裏にあるエレメントが操作できます。

以下の操作を行います。
  • アクションでダイアログを表示する。
  • ダイアログ内のリンク等から別のページに遷移する。
  • ブラウザの「戻る」ボタンを使用して前ページに戻る。
この結果、ダイアログは表示されていますが、ダイアログの後ろ側にあるエレメントにフォーカスを移動させたり、クリックしたりするなどの操作ができます。
Mac の Safari を使用した場合のみ、この事象が発生します。

9.2.42. エレメント「排他制御」のプロパティ「unlockOnLeave」が有効の場合、通信状況や端末の仕様によってはページを離れてもロックが解除されません。

プロパティ「unlockOnLeave」が有効の場合、ロックを取得しているユーザが現在のページから他のページへ遷移すると通常はロックが解除されます。
しかし、ロックを取得したユーザが使用している端末の仕様、動作状況、通信状況によっては、ロックが解除されません。
プロパティ「unlockOnLeave」を利用する場合は、作成したコンテンツで排他制御エレメントの検証をしてからお使いください。
ロックが解除されない場合は、次のいずれかの方法でロックを解除してください。
  • 再度同じページにアクセスしてロックを解除する。
  • プロパティ「useForceUnlock」を有効にして別ユーザでロックを解除する。
  • サーバ側でロックを解除する。

2023 Spring(Gerbera) 現在、この事象は次の環境では必ず発生することを確認しています。

  • iPad
  • iPhone

また、この事象は上記以外のブラウザでも発生する可能性があります。

9.2.43. Tabindex プロパティは、モバイル端末で機能しない場合があります。

Tabindex プロパティは、モバイル端末で機能しない場合があります。

9.2.44. IM-Repository 定義のエンティティをインポートした変数は2次元以上の配列に対応していません。

IM-Repository 定義のエンティティをインポートした変数は2次元以上の配列に対応していません。

9.2.45. サイドバーエレメントは Slim Side Menuテーマのサイドバーに存在する機能のすべてを提供していません。

サイドバーエレメントは Slim Side Menuテーマのサイドバーに存在する機能のすべてを提供していません。
サイドメニューコンテナエレメントの中のサイドバーエレメントは、Slim Side Menuテーマのサイドバーに存在する以下の機能を提供していません。
  • 文字サイズ変更
  • ヘルプドロップダウン

9.2.46. エレメント「日付入力」のカレンダー部分は OS のタイムゾーンに従って動作します。

アカウントやテナントのタイムゾーンと、OS のタイムゾーンが異なる場合、OS のタイムゾーンに従って動作します。
例えば OS のタイムゾーンとして、東京(Asia/Tokyo GMT+09:00)が指定されていて、現在時刻が 2023-10-11T12:00:00+0900 とします。
アカウントの個人設定で、タイムゾーンとしてアメリカ領サモア(Pacific/Samoa GMT-11:00)を選択した場合、カレンダーの「今日」の部分をクリックすると、10月11日が選択されます。
アカウントのタイムゾーンに指定したアメリカ領サモアの日付である 10月10日は選択されません。

9.2.47. リッチテーブルのプロパティ「displayValidationError」を有効にしても、プロパティ「dataSource」に式表現を指定するとバリデーションエラーが表示されません。

リッチテーブルのプロパティ「displayValidationError」を有効にしても、プロパティ「dataSource」に式表現を指定すると動作しません。
変数 $variable.dataSource にリッチテーブルに表示するデータを格納しているとします。
リッチテーブルのプロパティ「dataSource」に、以下の2つのいずれかの方法で変数を指定することが可能です。
  1. $variable.dataSource
  2. =($variable.dataSource)
どちらの方法でもデータは表示されます。
しかし、2つめの方法では、リッチテーブルのプロパティ「displayValidationError」を有効にしてもバリデーションエラーが表示されません。

9.2.48. JavascriptのNumber型で整数として精度が保証されている桁数を超えている場合、正常に動作しない場合があります。

整数として精度が保証されるのは、-9,007,199,254,740,991 ~ 9,007,199,254,740,991 までです。
その範囲外では演算結果に誤差が生じる等、正常に動作しない場合があります。

9.2.52. 入力系エレメントの value に変数値を指定し、同一エレメントの他プロパティに同一変数を指定した場合、反映されません。

入力系エレメントの value に変数値を指定し、同一エレメントの他プロパティに同一変数を指定した場合、反映されません。

例えば、「テキスト入力」エレメントの value プロパティに $variable.foo を指定し、かつ同一エレメントの「ツールチップ」プロパティに $variable.foo を指定します。 この場合、アプリケーション画面において、テキスト入力の内容を変更しても、同一変数を使用しているツールチップには、変更が反映されません。 エレメントが異なる場合は、正しく $variable.foo の変更が反映されます。

9.2.53. プロパティ「addon」を有効にした「フィールド」エレメントを配置した Bulma のコンテンツを imds に変換すると異なる見た目に変換されます。

以下のような配置・設定をすると、エレメント間が隙間なく表示され、結合しているように見えます。

  • コンテンツ種別「Bulma」「Bulma Theme Colored」を利用する

  • コンテンツにエレメント「フィールド」を配置、「フィールド」の配下にフォーム(Bulma)カテゴリのエレメントを複数配置
    • 例:テキスト入力とボタンを組み合わせる
  • 「フィールド」のプロパティ「addon」が有効である

このようなコンテンツをコンテンツ種別「imds」に変換した場合、上述したような隙間なく結合したように表示されません。 コンテンツ種別「Bulma」の「フィールド」は、コンテンツ種別「imds」の「フィールドグループ」に変換されるためです。

変換前と同等の見た目を実現したい場合は、「フィールドグループ」ではなく「インプットグループ」エレメントを利用し、プロパティ「addon」を設定してください。