アイコン補完 (scrapbox-select-suggestion)
2024-07-22現時点で考えているUI
[title]
内を入力
今まで通りの入力補完
アイコン入力するよう指示すれば、 [title.icon]
の形式で補完する
同上
[title.icon]
内を入力
アイコン補完モード
アイコンのあるページのみを補完候補にする
projectごとに入力候補をまとめない
入力候補の文字列を表示するかは検討中
一旦アイコンだけ表示するUIで試しみる
[/project/title]
内を入力
これが新しい構想
リンク内が /^\/[^\/]+\//
とマッチしたときのみ起動
projectの絞り込みとtitleの絞り込みを同時に行う
project部分
[/query/]
で完全一致あいまい検索
をwild cardとみなす
[/ query/]
で前方一致あいまい検索
[/query /]
で後方一致あいまい検索
[/ query /]
で部分一致あいまい検索
[/ query1 query2 /]
で query1
と query2
の両方にあいまい一致する候補を検索する
|
でOR検索
検索対象
project name
project display name
結果の表示
project nameで引っかかったときはproject nameのみを、project display nameで引っかかったときはproject display nameのみを表示する
両方引っかかったときは、project nameのみを表示する
本当はprojectのアイコンを示したいが、できるか不明
確定
候補に上がったproject nameを押すと、そのproject nameが /
と /
の間に入力される
補完候補は、titleのほうの補完候補が0でない限り表示したままにする
このproject補完候補リストを、titleを検索するprojectの範囲とする
title部分
今までと同様
検索するproject範囲は、projectの絞り込み結果を使う
何も絞り込まれなければ、予め設定したprojectsを使う
キーでicon挿入モードを切り替えるのはやめる
今は廃止されている
2024-07-22
とりあえず [title.icon]
形式まで
外部projectのアイコンを挿入する機能は入れていない
18:43:38 簡単に入れられた
18:43:41 E2Eテスト
なぜか何も表示されなくなっちゃった
計算はされている
18:48:17 うまくいった
がついてしまったのは、
preventDefault()
などが動作していないから
18:52:25 /examples/advanced.ts
を直した
UI
アイコンのみを表示し、ページタイトルとproject nameは表示しない
スペース削減目的
ほしいのはアイコンだけで、どのprojectのかはぶっちゃけどうでもいい
表示
↓の <ItemList />
をまるごとアイコン補完用Componentに置き換えればいい?
でも候補選択関数のexportあたりは同じ処理だ
候補選択関数のexportを共通処理として切り出して、違うところだけ別のcomponentにする?