bricks/docs/ja/floaticonbar.md
2025-11-19 12:30:39 +08:00

117 lines
6.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# IconBar
**コントロール機能**複数のクリック可能なSVGアイコンボタンを含むアイコンツールバーを作成。選択状態のサポートおよびイベント発行に対応。
**タイプ**:コンテナーコントロール
**親クラスコントロール**`bricks.HBox`
## 初期化パラメータ
| パラメータ名 | 型 | 説明 |
|------------|----|------|
| `opts.cheight` | Number | 子コントロールの高さ(文字単位)。デフォルト値は `2` |
| `opts.rate` | Number | 拡大縮小率。アイコンサイズに影響を与える。デフォルト値は `1` |
| `opts.margin` | String | アイコン間の左右マージン。CSS形式`'10px'` |
| `opts.tools` | Array | ツール項目の配列。各ツール項目は以下のフィールドを持つオブジェクト:<br>- `name`: ツール名(識別およびイベント用)<br>- `icon`: SVGアイコンのURL<br>- `rate`: 当該アイコンの拡大縮小率(任意)<br>- `dynsize`: サイズを動的に調整するかどうか(真偽値)<br>- `tip`: ツールチップテキスト(任意) |
> `cheight` または `rate` が指定されていない場合、自動的にデフォルト値が設定されます。
## 主なイベント
| イベント名 | 発火条件 | 持たされるデータ |
|----------|---------|-----------------|
| `desc.name`(すなわち `tools[i].name` | アイコンがクリックされたときに発火。イベント名はそのアイコンの `name` フィールド | 対応するアイコンの `desc` オブジェクトを渡す |
| `command` | 全てのアイコンクリックで発火する共通イベント | 現在のアイコンの `desc` オブジェクトを渡す |
> イベントは `dispatch` によって発行され、外部から特定のコマンドや汎用操作を監視するために使用可能。
---
# IconTextBar
**コントロール機能**`IconBar` を拡張し、各ツール項目が「アイコン+テキスト」の組み合わせで表示される。ラベル付き説明が必要なツールバーに適している。
**タイプ**:コンテナーコントロール
**親クラスコントロール**`bricks.IconBar`
## 初期化パラメータ
`IconBar` のすべてのパラメータを継承し、`tools` 配列内の各項目のサポートを強化:
| パラメータ名 | 型 | 説明 |
|------------|----|------|
| `opts.tools[i].label` | String | アイコン横に表示されるテキストラベル |
| `opts.tools[i].tip` | String | マウスホバー時のツールチップテキスト。アイコンとテキストを含む全体のコンテナに適用される |
| その他のパラメータ(`IconBar` と同じ) | —— | `name`, `icon`, `rate`, `dynsize` などをサポート |
> 各ツール項目は水平レイアウト(`HBox`)として構築され、内部には順に `Svg` および `Text` コントロールが追加される。
## 主なイベント
`IconBar` と完全に一致:
| イベント名 | 発火条件 | 持たされるデータ |
|----------|---------|-----------------|
| `desc.name` | 特定の項目がクリックされたときに発火。イベント名はその `name` フィールド | 対応する `desc` オブジェクト |
| `command` | 全てのクリックで発火する共通イベント | 現在の項目の `desc` オブジェクト |
> イベントは全体の `HBox` にバインドされており、アイコンまたはテキストのいずれかをクリックしても発火する。
---
# FloatIconBar
**コントロール機能**:フローティング式のアイコンツールバー。初期状態では「外側に飛び出すアイコン」のみ表示され、マウスカーソルを乗せると完全な `IconBar` が展開される。サイドバーのフロートツールバーなどに使用される。
**タイプ**:コンテナーコントロール
**親クラスコントロール**`bricks.HBox`
## 初期化パラメータ
| パラメータ名 | 型 | 説明 |
|------------|----|------|
| `opts` | Object | 内部の `IconBar` に渡される設定オブジェクト。構造は `IconBar``opts.tools` などと同じ |
| 内部で `bricks_resource('imgs/float-out.png')` を使用 | —— | 固定のフロート展開ボタンアイコン |
> 実際のツール項目は渡された `opts` により内部の `IconBar` が構築される。
## 主なイベント
内部の `IconBar` と一致:
| イベント名 | 発火条件 | 持たされるデータ |
|----------|---------|-----------------|
| `desc.name` | 展開後に特定のアイコンがクリックされたとき発火 | 対応するアイコンの `desc` オブジェクト |
| `command` | 全てのアイコンクリックで発火 | 現在のアイコンの `desc` オブジェクト |
> イベントは内蔵された `IconBar` インスタンスから発行され、自動的に透過される。
さらに以下の動作イベントも存在:
- `mousemove`:フロートアイコン上で発火し、メニューを展開
- ページ上の任意の位置での `click`:メニューを折りたたむ(`bricks.Body` のリスニングにより実現)
---
# FloatIconTextBar
**コントロール機能**:フローティング式の「アイコン+テキスト」ツールバー。`FloatIconBar` の拡張版であり、展開後に文字ラベル付きのツール項目を表示する。
**タイプ**:コンテナーコントロール
**親クラスコントロール**`bricks.FloatIconBar`
## 初期化パラメータ
`FloatIconBar` と同じ:
| パラメータ名 | 型 | 説明 |
|------------|----|------|
| `opts` | Object | `tools` 配列およびその他の設定を含み、内部で `IconTextBar` を構築する際に使用 |
> 内部では `build_bar(opts)` を呼び出して `IconTextBar` インスタンスを作成するため、`label`、`tip` などのテキスト関連属性をサポート。
## 主なイベント
`IconTextBar` と一致:
| イベント名 | 発火条件 | 持たされるデータ |
|----------|---------|-----------------|
| `desc.name` | 展開後に特定の項目がクリックされたとき発火 | 当該項目の `desc` オブジェクト |
| `command` | 全てのクリックで発火 | 現在の項目の `desc` オブジェクト |
> 全てのイベントは内部の `IconTextBar` インスタンスから発行され、自動的に上位へバブルアップする。