νS
昨日の前後景輪数増減表示に加えて片付けたかった問題は概ね片付けたため,引き入れ用合い改良はここで一段落とする。出振るい・手定め済み。
引き入れ欄を使った引き入れ操作,ドラッグ&ドロップによる引き入れ・引き外し操作で違了表示を出すようにした。とりあえず,未録入り時に「ログインして下さい」,一対一で両方他輪郭だった場合に「どちらも自分の輪郭ではありません」の2種類(引き入れ欄違了表示の様子)。
これまで失敗時には完全に無反応で,初心者には輪括操作が出来る条件が分かりにくかった。これでだいぶ理解しやすくなっただろう。後縁に丸投げでいちいち立求も発生していたため,多少の負荷軽減にもなる。
引き入れ欄は閲覧のみを目的とした人にとって邪魔なものでもあるため,新規描出後の輪括操作を禁止している未録入り時(番無し)には非表示でもいいかと思ったが,一応検索機能もあり,用合いに変則性が生じるのも好ましくないためこれは止めた。特にタッチ端末では操作性が変わり過ぎ,混乱の元になる。
引き入れ欄の場合は下にくっつけて表示すればいいが,ドラッグ&ドロップの場合は適切な表示位置が難しいため,@msg.shw_cmn()
で指定要素を nil
にすると画面左下に位置固定表示する機能を加え,これを利用することにした。
これまで捕活時スクロールが発生していた引き入れ欄で,これを抑制するようにした。結果的に,知名欄・描写欄における最新の捕活仕様に合わせた格好だ。
個人機でもスマートフォンでも,たまにこれのせいで画面ががたつくのが気になっていた。引き入れ欄は普段目立たないものでもあるので問題ないかという気もしたが,タッチ端末では後景記号のタップで引き入れ欄の表示・捕活,もう一度タップで移動という用合いなので,自動スクロールはやはり好ましくない。
吊るし輪郭の輪括操作時に輪郭一覧を自動更新する,という案が9日にまとまった引き入れ用合い改良に含まれていた。
その方が直感には適うし輪郭選り手抜控機能や輪郭一覧動的更新がある今ならやるべきだろう,と当時は思ったのだが,イメージを練っていくうちに,ちょっと鬱陶しいものになりそうな気がしてきた。一回ならまだしも,何回も輪括操作する場合,そのたびに自動更新するのは明らかに過剰だろう。一応,1ページ目を表示中の場合のみといった条件は考えていたが,それにしても煩わしいか。
代わりに,新着確認機能の実装イメージが固まってきた。これまで考えてきた停止時の ?
表示とは別に,輪郭一覧が更新されていることを伝える !
表示を加えることを考え始めた。輪括操作時の変化としてはこれで十分かもしれない。
今回の引き入れ用合い改良には当初含まれていなかったが,前々からやりたかった前後景部の窓間同期を片付けてしまおうかと考えた。
ただ,もう少し Aejs の交度整理を進めてからやりたいのと,さほど優先順位の高いことではないので今回は見送った。
昨日深夜から @elm.bld.ptp.on() で登録する事象聴取子の仕様について考え始め,そのことで頭が一杯だった。これまで jQuery に合わせて F を返した場合に @evt.bld.ptp.fin() を実行するという仕様で,20日2歩で函数の代わりに F を直接指定出来る,という仕様を加えた。ところが,@evt.bld.ptp.pvn_dfl() だけを実行する記法も欲しくなってきた。
今後のことを思うと早く解決しておきたい問題であったため,あらゆる組み合せを考え,整合性が取れそうな記法を探した。最終的に,nil で fin(),F で pvn_dfl() か,nil で pvn_dfl(), F でfin() かの2案に絞り込んだ。最初,und で pvn_dfl() にすることを考えたが,und は最も曖昧な形で発生するため明示性の問題があり,さらに伝統的な JS の慣習にも反するため混乱を生む可能性がある,ということから廃案となった。
結局,return false で出放り抑止,という慣習を踏襲した nil で fin(),F で pvn_dfl() ,という案を採用した。@elm.bld.ptp.on() をこの仕様通りに修正し,今日中に全ての依存部分を書き換えた。
これで事象処理はかなり記述しやすくなった。
false
}{Aejs}{@elm.bld..on()}{事象整理}{希哲13年8月21日の開発}{ret F}{出放り抑止}{nil}(17)事象整理続き。
@elm.bld.ptp.on() の改良。
論理的に整理した結果,やはり nil で伝播・出放り抑止,F で出放り抑止の仕様にすることにした。伝統的に聴取子の返し値 false は出放り抑止であり,拡張的な jQuery の実装もこれにならったものであることは明らか。ret F で出放り抑止にすれば一貫性を保てるが,ret nil で出放り抑止にすると ret F はそれに加えた伝播抑止の意味になり,論理的整合性が失われる。
Aejs はこれまで jQuery に合わせて ret F を伝播・出放り抑止にしていたため,変えるのは若干腰が重かったが,jQuery のこの機能自体があまり評判の良いものではないためそこまで拘ることでもないだろう。
途中で終了。