かつおの「もっと教えてくれや!」
#7_RakStudioを使おう!「ロジックを使いこなせ!」
おっす! かつおです。
皆さま元気にお過ごしでしょうか。徐々に春が近づいてきていますね。
春は出会いと別れの季節。そして飲み会が多くなる季節。
肝臓がぶっ壊れない程度にぎりぎりまで飲みまくるんや!
ってなわけで、今回も始まります。

今日もいい天気だなぁ。ふぐ本さん、今日も一日元気に頑張りましょう!
……ってふぐ本さんどうしたんですか!? 顔色がおかしいですよ

おぉ、昨日はちょっと飲みすぎたんや。最近飲み会が多すぎておれの肝臓は限界や
もうとうぶん酒は見たくもないわ

えぇ、また昨日も飲みに行ってたんですか。それ先週も言ってた気がしますよ

流れで行ってしもたんや。乗るしかない、このビッグウェーブにってな
でも仕事はバリバリこなすぞ。気合じゃー

(確かに仕事に滞りはないみたいだけど、顔色が尋常じゃない……)
うーん、今日は手が空きそうなので何か手伝いましょうか

ええんか。なんや、今日はええやつやないか。じゃあちょっと教えてほしいことがあるんや
マニュアル読んでたんやが、なぜかモニタ見てると目がチカチカして胃から何かがこみ上げてくるんや

それ昨日飲みすぎですよ。まぁいいや、何をしようとしていたんですか

前回の資材管理システムにロジックをもっと組み込みたいんや
あれから改修に改修を繰り返してるんやぞ。見てみい

たしかにレイアウトが整っていて、そしてロジックがあちこちに組み込まれている
ふぐ本さんすごいじゃないですか

せやろ。使えるものは気合で何でも使う。それがふぐ本流や
でもなロジック設定の時最初に選ぶやつ……なんやったっけあれがいまいちよく分からんのや。よく分からんから設定して試しての繰り返しや

最初に選ぶ……とは前回のこの 実行タイミング のことでしょうか


それやそれ、ロジックの実行するタイミングな。なんか最近記憶力が悪なってしもてな
昨日店から家までどうやって帰ったかも思い出せんわ

だからそれ昨日飲みすぎですよ。実行タイミングの何が分からないんですか

ボタン
に設定するぶんには分かるんやが、ロジックって
Page
や
コンポーネント
にも設定できたりするやろ
そのあたりがいまいちよく分からんのや

うーん確かにそのあたりは慣れるまではややこしいかもですね。任せてください、説明しましょう

まず、RakStudioの画面設定画面から設定できるロジックの実行タイミングは主に以下がありますよね


ロジックを作成する場所
のことやな
これも結局どういう順番で実行されるのかとか、どういう関連性があるのかとか分からんのや

これら実行タイミングを実行順に並べると、こんな感じになります
こう並べると分かりやすいでしょうか?


おぉ、これならイメージ掴みやすいわ。こうなっとんたやな
でも、これそれぞれ、どんな処理(アクション)はどこに設定するとか決まってるんやろ?
そのあたりもいまいち分らんねん

名前のままですが、大きな分類で言うと、基本的には、Initには 画面の初期化時に実行したい処理 、Pageには 画面全体に対する処理 、 コンポーネントには そのコンポーネントに対する処理 のアクションを設定しますね

あとはその分類の中の入れたいタイミングのところにロジックを設定すればいいです。 ちなみに、コンポーネントの before-view と after-view のタイミングの間でそのコンポーネントが描画されてます

例えば設定するロジックのアクションとしてはどんなんがあるんや

Initの実行タイミングについては、最近追加された実行タイミングで、現在のところは使うことはないですね
今後機能が拡張された際には使うこともあるかもしれませんが、今はおいておきましょう

たしかにInitに設定した覚えって全くないわ。他はどうなんや

Pageやコンポーネント の実行タイミングはよく使いますよ
例えば、Pageには画面遷移をするTransNextアクションや、コンポーネント
には表示非表示を切り替えるVisibleアクションなど設定しますね

他にも色々あるやろ。もっと教えてくれや

えぇー挙げだすときりがないですよ。楽々Framework3には何個アクションが用意されていると思うんですか

なんか前には130個ぐらいって聞いたな
でもな、多すぎてどこに何が設定すべきなのか分からんのや。何かいい方法ないんかい!!

わっ、急に大きな声出さないでくださいよ
アクション選択画面を開くと、そのロジックのタイミングに対し使用可能なアクションが
太字
で表示されてるので、これを活用するといいですよ


言われてみれば太字で表示されとるのがあるな。全然気づかんかったわ

太字以外のは全て使えないというわけでもないんですが、太字のアクションは標準のパターンでもそのタイミングで利用されているアクションなので、これを参考にしてもらえれば間違いないとは思います~

ほーん。じゃあとりあえず、コンポーネントに
Visibleアクション
でも設定してみるか
ちょうどデータの値によって非表示にしたいコンポーネントがあったんや


これや。女の人の時は、この情報のコンポーネントを非表示にしたかってん
見たあかん、見たあかん思ってもついつい見てまうやん?
でもなそういうのはいかんのや。中島くんはデリカシーを持ちたまえ!

えぇこれ作ったのふぐ本さんじゃ……
まぁいいや、それならVisibleアクションがぴったりですね

さっきの話からそうかと思ってな。
Visibleアクションは、コンポーネントの表示前に動作させたいから、コンポーネントの
before-view
の実行タイミングに設定すればいいんやな


よし、できたぞ。じゃあ動作を確認するか……ってあれ、非表示になっとらんやないか
なんでや!? なんで効いとらんのや!? はぁ、なんやこれ、やってられんぞ

あわわ、ふぐ本さん、落ち着いてください
こういう時は、冷静になってデバッグモードで確認しましょう
デバッグモード
でプログラムを実行すると、画面の上の方に実行された
ロジックの情報
が表示されます


なんや、これロジックやったんか、なんか変な呪文かと思っとったわ

えーちゃんと読みましょうよ。ちなみに括弧の中の数字は、そのロジックの
実行開始秒数
なんですよ。
これを見るとちゃんと実行はされているようですね……
あっ、これVisibleアクションの設定値間違えてますよ!
コンポーネントを非表示にしたかったらDISPLAYでなくて、HIDEにしないと

げ、ほんまや。おれとしたことが失敬、失敬
Visibleアクションの設定項目『表示状態(表示、非表示、無効)』これやな。これをHIDEに設定してと……
おお、消えたぞ。消えた。これでもう見ないように薄目で作業する必要もないんやな

ふぐ本さん、意外とそういうの気をつかう人だったんですね。では、他もどんどん設定してきましょう

……よし、これで最後や
ようやくこれで設定したかったロジックは一通り組込めたわ。なんや早く終わったな

もうとっくに定時は過ぎてますけどね!

終電まではまだまだあるやろ。なんか元気になってきたわ
よっしゃ一緒に飲みに行くか!!

えぇ……とうぶん見たくもなかったんじゃ……

なんや来んのか。せっかくたまには奢ったろうかと思ったのにな

行きます!!


夜はまだまだこれからだー!!