play.html。任意の ClickHouse HTTP ポートの /play パスで提供) では、結果内で選択したカラムを表示したまま、テーブルの残りを横方向にスクロールできます。ピン留めされたカラムはスクロールして見えなくならず、結果領域の手前側の端に留まるため、識別子、名前、日付といったキーになるカラムを、確認中の右端のカラムの横に常に表示しておけます。
カラムのピン留め
📌 の画びょうアイコンが各カラムヘッダーの左側に表示されます。これをクリックするとカラムがピン留めされ、もう一度クリックすると解除されます。このアイコンは実際のボタンなので、キーボード利用者はTab キーで移動してキーボードでトグルできます。また、ピン留め状態は支援技術にも伝えられます。
ホバー可能なポインター (マウス) を備えたデバイスでは、アイコンはヘッダーにホバーしている間、またはトグルにフォーカスがある間だけ表示されるため、それ以外のときは邪魔になりません。一方、ホバーのないタッチ端末やその他の粗いポインターデバイスでは、直接タップできるようアイコンは常に表示されます。ピン留めされたカラムでは、その状態を示すため、アイコンがはっきり表示されたままになります。
ピン留めを利用できる場合
ピン留めを利用できるのは、テーブルの幅が横スクロールを必要とする場合だけです。テーブル全体がビューポート内に収まっている場合は、スクロールして見えなくなる部分がないため、ピン留めのトグルは無効になり、キーボードのタブ移動順からも除外されます。結果が横方向にスクロール可能になると、つまり、結果が横に広い場合、ウィンドウ幅が狭い場合、またはストリーミングされた結果が横方向に広がっていく場合には、トグルが有効になります。スクロール時のピン留めされたカラムの動作
ピン留めされたカラムは、水平スクロール中はコンテンツと一緒に移動し、ビューポートから外れそうになると手前側の端に固定されます。左側のカラムは左端に、右側のカラムは右端に固定され、そのまま表示され続けます。複数のピン留めされたカラムがある場合は、元の順序のまま端に沿って重なり、それぞれが境界線によってスクロール中のコンテンツと区切られます。固定セルは、その下をスクロールする通常のセル (選択中のセルを含む) の上に描画されるため、常に読みやすい状態が保たれます。結果内での共有
ピン留めはカラム名で管理され、1 つの結果に属する複数の結果テーブル間で共有されます。たとえばRun all(複数クエリ)を実行するとステートメントごとに 1 つのテーブルが描画されますが、それらはすべて同じピン留めのセットを共有します。これは、カラムごとのカラーコーディングモードと同じ仕組みです。これらのテーブルのいずれかで id という名前のカラムをピン留めすると、他のテーブルでも id という名前のカラムがピン留めされます。また、同じクエリを再実行した際も、同じカラムが返されればピン留めは維持されます。
ピン留めのセットは、ピン留めの対象となる結果に属します。つまり、クエリタブ単位で保持され、ノートブックのタブでは個々のセル単位で保持されます。そのため、あるセルでカラムをピン留めしても、他のセルや他のタブのピン留めには影響せず、それぞれが独立したピン留めを保持します。
永続性
ピン留めのセットは、ページのURL、ブラウザーの履歴、そのセットが属するセルの結果スナップショットに保存されるため、ページを再読み込みしたり、リンクを共有したり、前後に移動したりしても維持されます。現在エディターが開かれていないセルでピン留めを切り替えた場合も、そのセルの保存済みコピーが更新されるため、状態は再読み込み後も保持されます。コンパクトに保つため、保存されるのはピン留めされたカラムだけで、空のセットはURLや履歴状態に何も追加しません。制限事項
- 縦方向 (転置) の単一行表示には横スクロールするカラムがないため、ピン留めはできません。