202104 のの会@関数Talk 28th | Talks around @Functions in Notes and Domino

113 Views

November 15, 21

スライド概要

Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第28回は @DialogBox について。

profile-image

Notes/Domino worker - Formula language ♡er, #IBMChampion '15 & #HCLAmbassador '20 - '23, Nature Game (Sharing Nature) leader

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

@ -notes knows community- 2021/04/08 @関数Talk 第28回 公開版 @ 阿部 覚 (tw:) @abesat

2.

@ このトークでネタにする@関数は、 文字か数値か日時の「値を返すこと」が主機能であるものが 多いなと感じています もっとも「値を返すこと」が@関数自身の本質であり、 値を返さない関数は、たぶん無いはずです ただし、別の機能が主役と目され、 値を返すことが脇役化している関数もいくつかあります @ そういう関数のひとつを今回のネタにします

3.

@ @DialogBox で放談 @

4.

@ 今回のネタは@DialogBox 値も返すけれども 主機能はこんなダイアログ画面を表示すること (および必要に応じ、 この画面で得たフィールド値を 元の文書にセットすること) @

5.

@ その構文はこんな感じ ヘルプによればこんな構文 フォームの名前 @DialogBox( form ; [AUTOHORZFIT] :[AUTOVERTFIT] : [NOCANCEL] :[NONEWFIELDS] : [NOFIELDUPDATE] :[READONLY] : キーワード [SIZETOTABLE] :[NOOKCANCEL] : [OKCANCELATBOTTOM] :[NONOTE] ; title ) タイトル @ 最低限、フォームの名前だけでも動作します @DialogBox( form )

6.

form部分の指定 @ 例えば、あるフォームのボタンに @DialogBoxの式を書いてみます これまで同様、例示する各画面のボタンタイトルは ボタンに設定した式と同じにしています @

7.

form部分の指定 @ 相手のformがこんな設計だとすると @ 😏見出ししかないという、かなりサボった設計です😏

8.

form部分の指定 @ こんなダイアログがでます @DialogBox("Form01") @

9.

form部分の指定 @ ところで、ヘルプには form部分は「フォームの名前です」とあるんですが 例えば、こんなサブフォーム設計があって @

10.

form部分の指定 @ そのサブフォーム名を @DialogBox のform部分に指定しても @DialogBox("Subform01") ダイアログは表示されます @

11.

form部分の指定 @ さらに… 仮に、こんなページ設計があって @

12.

form部分の指定 @ そのページ名を @DialogBox のform部分に指定しても @DialogBox("Page01") やっぱりダイアログは表示されます @

13.

form部分の指定 @ まとめると @DialogBoxの最初の引数であるform部分は 「フォーム」だけでなく 「サブフォーム」「ページ」もサポートするようです 「サブフォーム」については ネットで触れている記事もあり 技術者の方にはそこそこ知られていましたが 「ページ」は…少なくとも私は今回初めて認識しました @ いずれもヘルプには記載がないので、 サポートされているのなら😒明記してほしいなぁと思います

14.

form部分の指定 @ サポートされているなら 「フォーム」「サブフォーム」「ページ」どれを使うのが良いか 個人的な見解ですが、 文言が固定のガイドやヘルプの表示を行うダイアログ用には 「ページ」を 表示だけでなくフィールド項目のセットも行う場合は 「フォーム」よりは「サブフォーム」を使ってほしいなと思います @

15.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ 次にキーワード部分の3つの引数に着目したいと思います フォームの名前 @DialogBox( form ; [AUTOHORZFIT] :[AUTOVERTFIT] : [NOCANCEL] :[NONEWFIELDS] : [NOFIELDUPDATE] :[READONLY] : キーワード [SIZETOTABLE] :[NOOKCANCEL] : [OKCANCELATBOTTOM] :[NONOTE] ; title ) タイトル @

16.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ それぞれ、意味を端的に書くとこんな感じでしょうか [AUTOHORZFIT] 最初のレイアウト領域の横幅分だけ表示して! [AUTOVERTFIT] 最初のレイアウト領域の縦幅分だけ表示して! [SIZETOTABLE] 前言訂正! 「レイアウト領域」を「表」と読み替えて! @

17.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ 具体的には [AUTOHORZFIT] と [AUTOVERTFIT]で ダイアログボックスの表示範囲を レイアウト領域の枠内だけに収めます @

18.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ たとえばこんな感じ @ ただし、さらに[SIZETOTABLE]があれば、 範囲を絞る対象は レイアウト領域から表にかわります

19.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ …なのですが、ベテラン技術者の方、 [AUTOHORZFIT] と [AUTOVERTFIT]って 常にセットで使うもんだと思われてません? @

20.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ 「[AUTOHORZFIT] だけ」をやってみました @DialogBox("Subform02";[AutoHorzFit]) @

21.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ 「[AUTOVERTFIT] だけ」もやってみました @DialogBox("Subform02";[AutoVertFit]) @

22.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ 予想通り、 「横だけ」 「縦だけ」が それぞれ詰められました @ 意外だったのは、それぞれスクロールバーが出て 結局全体を確認できることことでした

23.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ レイアウト領域や表が、とても小さかったらどうなるか なんてことも気になって、表でやってみました こんなページを対象に @

24.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ レイアウト領域や表が、とても小さかったらどうなるか すこし余白ができるようです @DialogBox("Page02"; [AutoHorzFit]:[SizeToTable]) @DialogBox("Page02"; [AutoVertFit]: [SizeToTable]) @

25.

[AUTOHORZFIT]・[AUTOVERTFIT]・[SIZETOTABLE] @ レイアウト領域や表が、とても小さかったらどうなるか 困るのは、[AUTOHORZFIT]と[AUTOVERTFIT]を 定石通り両方使ってみたとき 余白側だけがずれて表示されて スクロールバーもないので 肝心の表は見えず。。 @ @DialogBox("Page02"; [AutoHorzFit]:[AutoVertFit] [SizeToTable]) やはりほどほどの大きさが必要そうです

26.

@ まだキーワードを3つまでしか紹介していませんので もう1回くらいつづきをやるかも、です @

27.

@ 今回もお付き合い ありがとうございました 😀 @