|
| 1 | +--- |
| 2 | +title: {Platform} スプリッター コンポーネント | レイアウト コントロール | Infragistics |
| 3 | +_description: {ProductName} スプリッター コンポーネントを使用して、水平または垂直レイアウトでサイズ変更可能な 2 つのペインを作成し、折りたたみ/展開の動作、キーボード サポート、およびネストされた分割ビューを実現します。 |
| 4 | +_keywords: スプリッター, 分割ペイン, サイズ変更可能なペイン, Web Components スプリッター, {Platform} スプリッター, {ProductName} |
| 5 | +_language: ja |
| 6 | +_license: MIT |
| 7 | +mentionedTypes: ["Splitter"] |
| 8 | +--- |
| 9 | + |
| 10 | +# {Platform} スプリッターの概要 |
| 11 | + |
| 12 | +{ProductName} スプリッターは、コンテンツを `start` と `end` の 2 つの領域に分割する、サイズ変更可能な分割ペイン レイアウトを提供します。ユーザーはスプリッター バーをドラッグしたり、キーボード ショートカットを使用したり、組み込みコントロールでペインを折りたたんだり展開したりできます。また、スプリッターをネストして複雑なダッシュボード スタイルのレイアウトを構築することもできます。 |
| 13 | + |
| 14 | +## {Platform} スプリッターの例 |
| 15 | + |
| 16 | +`sample="/layouts/splitter/base", height="520", alt="{Platform} スプリッターの例"` |
| 17 | + |
| 18 | +<div class="divider--half"></div> |
| 19 | + |
| 20 | +## 使用方法 |
| 21 | + |
| 22 | +まず、次のコマンドを実行して {ProductName} をインストールする必要があります: |
| 23 | + |
| 24 | +```cmd |
| 25 | +npm install {PackageWebComponents} |
| 26 | +``` |
| 27 | + |
| 28 | +`Splitter` を使用する前に、次のように登録する必要があります: |
| 29 | + |
| 30 | +```ts |
| 31 | +import { defineComponents, IgcSplitterComponent } from 'igniteui-webcomponents'; |
| 32 | + |
| 33 | +defineComponents(IgcSplitterComponent); |
| 34 | +``` |
| 35 | + |
| 36 | +{ProductName} の概要については、[**作業の開始**](../general-getting-started.md) トピックを参照してください。 |
| 37 | + |
| 38 | +`start` スロットと `end` スロットを使用してペイン コンテンツを配置します: |
| 39 | + |
| 40 | +```html |
| 41 | +<igc-splitter style="height: 400px;"> |
| 42 | + <div slot="start">Start pane content</div> |
| 43 | + <div slot="end">End pane content</div> |
| 44 | +</igc-splitter> |
| 45 | +``` |
| 46 | + |
| 47 | +### 方向 |
| 48 | + |
| 49 | +`orientation` プロパティを設定してペインの方向を制御します: |
| 50 | + |
| 51 | +- `horizontal` (デフォルト): start ペインと end ペインが左右に表示されます。 |
| 52 | +- `vertical`: start ペインと end ペインが上下に表示されます。 |
| 53 | + |
| 54 | +```html |
| 55 | +<igc-splitter orientation="vertical" style="height: 400px;"> |
| 56 | + <div slot="start">Top pane</div> |
| 57 | + <div slot="end">Bottom pane</div> |
| 58 | +</igc-splitter> |
| 59 | +``` |
| 60 | + |
| 61 | +### ペインのサイズと制約 |
| 62 | + |
| 63 | +サイズ プロパティを使用して、初期ペイン サイズと制約付きペイン サイズを設定します: |
| 64 | + |
| 65 | +- `start-size`、`end-size` |
| 66 | +- `start-min-size`、`end-min-size` |
| 67 | +- `start-max-size`、`end-max-size` |
| 68 | + |
| 69 | +値には `px` や `%` などの CSS 長さの値を指定できます。 |
| 70 | + |
| 71 | +```html |
| 72 | +<igc-splitter |
| 73 | + start-size="35%" |
| 74 | + end-size="65%" |
| 75 | + start-min-size="200px" |
| 76 | + end-min-size="180px" |
| 77 | + style="height: 420px;" |
| 78 | +> |
| 79 | + <div slot="start">Navigation</div> |
| 80 | + <div slot="end">Main content</div> |
| 81 | +</igc-splitter> |
| 82 | +``` |
| 83 | + |
| 84 | +### 折りたたみとサイズ変更 |
| 85 | + |
| 86 | +以下のプロパティを使用してインタラクションを制御します: |
| 87 | + |
| 88 | +- `disable-resize`: ペインのサイズ変更を無効にします。 |
| 89 | +- `disable-collapse`: ペインの折りたたみを無効にします。 |
| 90 | +- `hide-drag-handle`: ドラッグ ハンドルを非表示にします。 |
| 91 | +- `hide-collapse-buttons`: 折りたたみボタンと展開ボタンを非表示にします。 |
| 92 | + |
| 93 | +ペインをプログラムで折りたたんだり展開したりすることもできます: |
| 94 | + |
| 95 | +```ts |
| 96 | +const splitter = document.querySelector('igc-splitter') as IgcSplitterComponent; |
| 97 | + |
| 98 | +splitter.toggle('start'); // collapse start pane |
| 99 | +splitter.toggle('start'); // expand start pane |
| 100 | +``` |
| 101 | + |
| 102 | +### ネストされたスプリッター |
| 103 | + |
| 104 | +スプリッターをネストして、複数の領域のレイアウトを作成できます。 |
| 105 | + |
| 106 | +`sample="/layouts/splitter/nested", height="520", alt="{Platform} ネストされたスプリッターの例"` |
| 107 | + |
| 108 | +## イベント |
| 109 | + |
| 110 | +スプリッターは、サイズ変更操作中に次のイベントを発行します: |
| 111 | + |
| 112 | +- `igcResizeStart`: サイズ変更の開始時に 1 回発行されます。 |
| 113 | +- `igcResizing`: サイズ変更中に継続的に発行されます。 |
| 114 | +- `igcResizeEnd`: サイズ変更の終了時に 1 回発行されます。 |
| 115 | + |
| 116 | +イベントの詳細には、進行中のイベントと終了イベントの現在の `startPanelSize`、`endPanelSize`、および `delta` が含まれます。 |
| 117 | + |
| 118 | +```ts |
| 119 | +const splitter = document.querySelector('igc-splitter') as IgcSplitterComponent; |
| 120 | + |
| 121 | +splitter.addEventListener('igcResizeEnd', (event: CustomEvent) => { |
| 122 | + console.log(event.detail.startPanelSize, event.detail.endPanelSize, event.detail.delta); |
| 123 | +}); |
| 124 | +``` |
| 125 | + |
| 126 | +## キーボード ナビゲーション |
| 127 | + |
| 128 | +スプリッター バーにフォーカスがある場合: |
| 129 | + |
| 130 | +| キー | 説明 | |
| 131 | +| ---- | ----------- | |
| 132 | +| <kbd>←</kbd> / <kbd>→</kbd> | 水平方向のペインのサイズを変更します | |
| 133 | +| <kbd>↑</kbd> / <kbd>↓</kbd> | 垂直方向のペインのサイズを変更します | |
| 134 | +| <kbd>Home</kbd> | start ペインを最小サイズにスナップします | |
| 135 | +| <kbd>End</kbd> | start ペインを最大サイズにスナップします | |
| 136 | +| <kbd>Ctrl</kbd> + <kbd>←</kbd> / <kbd>↑</kbd> | start ペインを折りたたむか展開します | |
| 137 | +| <kbd>Ctrl</kbd> + <kbd>→</kbd> / <kbd>↓</kbd> | end ペインを折りたたむか展開します | |
| 138 | + |
| 139 | +## スタイル設定 |
| 140 | + |
| 141 | +`Splitter` コンポーネントは、スタイル設定のための CSS パーツを公開しています: |
| 142 | + |
| 143 | +| 名前 | 説明 | |
| 144 | +| ---- | ----------- | |
| 145 | +| `splitter-bar` | ペイン間のドラッグ可能なセパレーター | |
| 146 | +| `drag-handle` | スプリッター バーのドラッグ ハンドル要素 | |
| 147 | +| `start-pane` | start ペインのコンテナー | |
| 148 | +| `end-pane` | end ペインのコンテナー | |
| 149 | +| `start-collapse-btn` | start ペインを折りたたむボタン | |
| 150 | +| `end-collapse-btn` | end ペインを折りたたむボタン | |
| 151 | +| `start-expand-btn` | start ペインを展開するボタン | |
| 152 | +| `end-expand-btn` | end ペインを展開するボタン | |
| 153 | + |
| 154 | +また、次のテーマ CSS 変数もサポートしています: |
| 155 | + |
| 156 | +- `--bar-color` |
| 157 | +- `--handle-color` |
| 158 | +- `--expander-color` |
| 159 | +- `--bar-color-active` |
| 160 | +- `--handle-color-active` |
| 161 | +- `--expander-color-active` |
| 162 | +- `--focus-color` |
| 163 | +- `--size` |
| 164 | + |
| 165 | +```css |
| 166 | +igc-splitter { |
| 167 | + --bar-color: #011627; |
| 168 | + --handle-color: #ecaa53; |
| 169 | + --expander-color: #ecaa53; |
| 170 | + --bar-color-active: #011627; |
| 171 | + --handle-color-active: #ecaa53; |
| 172 | + --expander-color-active: #ecaa53; |
| 173 | + --focus-color: #ecaa53; |
| 174 | +} |
| 175 | +``` |
| 176 | + |
| 177 | +`sample="/layouts/splitter/styling", height="520", alt="{Platform} スプリッターのスタイリング例"` |
| 178 | + |
| 179 | +## API リファレンス |
| 180 | + |
| 181 | +- `Splitter` |
| 182 | +- [`スタイル設定とテーマ`](../themes/overview.md) |
| 183 | + |
| 184 | +## その他のリソース |
| 185 | + |
| 186 | +- [{ProductName} **フォーラム**]({ForumsLink}) |
| 187 | +- [{ProductName} **GitHub**]({GithubLink}) |
0 commit comments