# View とダッシュボード

> View のページです。フォルダー、画面、ユニットの操作パネルを並べる「表示画面」の欄、拡大表示と全画面を持つ開いた画面のバー、画面を組み立てるグリッド、そしてその上で誰が何を押せるかです。

**View** はナビゲーションバーで [ようこそ](welcome) の次の項目で、ようこそがバーにないときにステーションが最初に開くページです。このステーションが見せるすべての画面を並べ、選んだ 1 つを動かします。実時間の [Logic](logic) のアドレス空間の上にグリッドで組み立てるダッシュボードと、Process のユニットがここに置くパネルです。どのロールもここに届きます。「ダッシュボードの表示」は、すべてのロールが持つ唯一の権限だからです（[権限](users-permissions) を参照）。そのうえでロールがこのページで何をできるかは、ほかの権限から操作ごとに読み取られます。

このページは 4 つの経路に答えます。`/view` が正式なアドレスで、`/` も同じページを開きます。`/home` は古いショートカットがここに着くように残してあります。`/d/{id}` は 1 つの画面を直接開きます。タブレットのブックマークや、ほかのページからのリンクがここに届くやり方です。この接続のロールに見えない id や、もう存在しない id は、何も言わずに、このページがどのみち開いたはずの画面に落ちます。`/d/{id}?edit=true` は画面をそのまま [エディター](view-editor) で開きます。複製したあとや、[検証](validation) の修復のリンクから着く先で、その画面が編集できないときは無視されます。

## 「表示画面」の欄 {#the-visualization-column}

左の欄には **表示画面** という見出しが付き、ステーションが見せられるものが 1 行ずつ並びます。

- **フォルダー**。深さは 2 階層までで、組を畳む矢印と、フォルダー自身をステージに開く名前を持ちます。フォルダーの行は、そこに入っている画面の数（サブフォルダーの分も含む）で終わります。
- **画面**。あなた自身のダッシュボードで、フォルダーに入れることも、最上位に置くこともできます。それぞれ [設定](view-settings) で選んだアイコンを持ち、説明が行のツールチップになります。
- **ユニットの操作パネル**。Process のモデルがここに置く項目で、ユニット 1 台につき 1 つ、`モデル · ユニット · 面` という名前です。どこにも入れられていないものはツリーのあとに **ユニットの操作パネル** という見出しでまとまり、入れられたものはあなたの画面と並んでそのフォルダーに加わります。

今読み取れないポイントを持つコンポーネントがある画面は、名前のあとに控えめな注意の点を付けます。その上のすべてのフォルダーも同じ点を付けるので、組を畳んだままでも障害を見つけられます。この点はそれ以外に何も言いません。数も、動きもありません。

フッターには **新規…**（ダッシュボードを編集できるロールにだけ描かれ、押すと **新しいダッシュボード** と **新しいフォルダー** のメニューが開きます。どちらも最上位に作られます）があり、エディターが開いている間は開いている画面のための **ダッシュボードを上へ移動** と **ダッシュボードを下へ移動** が、そして末尾の隅にはフォルダーに効く **すべて展開** と **すべて折りたたむ** があります。画面の行を右クリックすると、そのバーのもの（**複製**、**編集**または**編集を終える**、ユニットの項目では**Process で編集**）に続いて**移動先**が並ぶメニューが開きます。フォルダーの行では、作成、名前の変更、削除のメニューが開きます。その全体は [画面とフォルダー](view-screens) にあります。

欄は、見出しの矢印で細い帯に畳めます。その帯を押すと一覧がステージの上に重ねて開くので、キャンバスは広がった分をそのまま保てます。行を選ぶと重ねた表示は閉じ、ピンを押すと固定した欄が戻ります。欄とステージの間の仕切りは 260 から 600 ピクセルの間でドラッグできます。どのフォルダーを開いたか、幅、畳んだ状態は、そのセッションのあいだのあなたのものです。接続ごとに保たれるので、ブラウザーで組を畳んでもステーション自身のウィンドウでは畳まれず、そのどれも保存されません。

## 開いた画面のバー {#the-open-screens-bar}

ステージの上のバーは、画面のアイコンと名前で今開いているものを名乗り、それに対する操作を載せます。エディターが開いている間、名前には **編集中** のバッジが付きます。

| コマンド | 何をするか | 灰色になるとき（状況） | 描かれないとき（ロール） |
|---|---|---|---|
| 複製 | 開いている画面の編集できる複製を、同じフォルダーの隣に作ります。名前は元の名前に「(2)」「(3)」…と、空いている名前になるまで付け、複製は開きません。ステージには、そのフォルダーのカードの壁（最上位の画面なら**最上位**の壁）が出て、複製のカードが強調表示されて見える位置までスクロールされます。 | 何も開いていない（「複製するには画面を開いてください。」）、エンジニアリングがロックされている、ランタイムが停止している。 | そのロールがダッシュボードを編集できない、または開いている項目がユニットの操作パネルかユニットの画面であるとき（複製するものがありません。それはモデルの上で組み立てられています）。 |
| 編集 / 編集を終える | 開いている画面で [エディター](view-editor) に入るか、そこを出て閲覧に戻ります。出ることは決して拒否されません。 | 何も開いていない（「編集するには画面を開いてください。」）、エンジニアリングがロックされている（「ユニットが実行中の間は構成がロックされます。」）、ランタイムが停止している（「ランタイム停止中」）。 | そのロールがダッシュボードを編集できない、または開いている項目がユニットの操作パネルかユニットの画面であるとき。 |
| Process で編集 | その項目自身の定義を Process のワークスペースで開きます。そのモデルのパネルの行、または画面の行です。 | 灰色になることはありません。実行できるときにだけ描かれます。 | 開いている項目があなた自身の画面であるとき、またはそのロールがモデルを管理できないとき。 |
| 拡大表示 | バー、タイトルバー、ナビゲーションバーを隠し、画面にウィンドウ全体を渡します。ウィンドウ自体はそのままです。 | 何も開いていないとき。 | 描かれないことはありませんが、編集中は控えられます。 |
| 全画面 | 本物の全画面です。ステーションのウィンドウがモニターを覆うか、ブラウザーが文書の全画面に入ります。F11 も同じことをします。 | 何も開いていないとき。 | 描かれないことはありませんが、編集中は控えられます。 |

拡大表示と全画面は、仕上がった画面を運転するためのものです。そのためエディターが開いている間、バーはどちらも控え、F11 も何もしません。2 つの方式、飛び出しメニュー、ステータスバーについては [全画面運転モード](view-fullscreen) にすべて書いてあります。

画面ではなくフォルダーが開いているときは、バーの主語が変わります。フォルダーを名乗り、**フォルダー名を変更**（フォルダー自身の行で名前の欄を開きます）と、右側の危険を表す色で **フォルダーを削除**（行のメニューと同じ確認が出ます）を載せます。どちらもダッシュボードを編集できるロールにだけ描かれ、エンジニアリングがロックされている間は灰色になります。

## ステージ {#the-stage}

ステージが描くものは、選んだ行に従います。

- **画面** はキャンバスの上で動きます。グリッドがステージいっぱいに広がり、巻き取りはありません。コンポーネントはページ自身の間隔でアドレス空間を読みます（ステーションのウィンドウでは 150 ms ごと、リモートのブラウザーでは 400 ms ごと）。
- **フォルダー** は一覧として開きます。そこに何が入っているかを述べる 1 行、サブフォルダーごとに件数を添えた行、そして画面ごとにアイコン、名前、説明を載せたカードです。カードを押すとその画面が開きます。
- **ユニットの操作パネル** はレイアウトではなくカードの積み重ねなので、ステージはそれを巻き取る列になります。[View のユニットの操作パネル](view-unit-panels) を参照してください。**ユニットの画面**（モデルの画面を View で見せるもの）は、ほかの画面と同じようにキャンバスの上で、そのユニットに解決されて動きます。

見せるものがないとき、ステージはそう述べます。ダッシュボードが 1 つもないステーションでは「ダッシュボードはまだありません。1 つ作成して、試験台向けの実時間の表示値、グラフ、操作部品を組み立て、全画面で開いて運転してください。」と読め、編集できるロールには **新しいダッシュボード** のボタンが付きます。すべてのダッシュボードが隠されているロールには「お使いのロールに表示できるダッシュボードはありません。」と出ます。フォルダーはあるが画面がない一覧や、画面を選んでいないフォルダーは、そのどちらであるかを述べます。

## グリッド {#the-grid}

どのダッシュボードも **列 × 行** のます目からなるグリッドを持ちます（変えるまでは 24 × 12 で、どちらも 1 から 96 まで）。グリッドはステージいっぱいに広がり、ウィンドウに合わせて伸び縮みします。コンポーネントはます目の長方形を占め（X、Y、幅、高さ）、互いに自由に重ねられます。それぞれ **レイヤー** の番号（Z）を持ち、レイヤーが上のものが手前に描かれ、クリックを受け取ります。[枠](component-frame) が本当の背景になるのはこのためです。最背面へ送り、その上に組を描きます。配置、大きさ、レイヤーの順序は [エディター](view-editor) のもので、グリッド自身の大きさは [ダッシュボードの設定](view-settings) です。

## コマンド、権限、錠前の印 {#commands-permissions-and-the-lock-mark}

コマンドのコンポーネントは、どれもステーションの唯一の Logic の書き込みの経路を通り、記録され、1 つの権限の仕組みに従います。画面で押せる操作部も、ユニットの操作パネルが載せる手順のカードも、[警報バー](component-alarm-banner)での確認も同じです。

- あなた自身のダッシュボードで操作部を押すには、ロールの **ダッシュボードの操作** の権限が要ります。これは [ユーザー](users) のページでロールごとに与えます。
- 押した先が Process の変更であるとき（ユニットの実行の指令、用意の欄、実行のコメント）は、さらに **手順の実行** が要ります。押すことに何が要るかは、解決された相手から読み取られ、コンポーネントの種類からは決して読み取られません。値を書き込むボタンや、別のダッシュボードを開くボタンは、ダッシュボードの権限のままです。
- ユニットの操作パネルやユニットの画面では、Process の権限だけが効きます。**手順の実行** であって、ダッシュボードのことではありません。
- ランタイムが止まっている間は、ロールが何であれ、すべてのコマンドが「ランタイム停止中」として拒否されます。

サインイン中のロールが押せないコマンドは画面に残り、控えめな **錠前の印** を身に着けます。コンポーネントの隅の小さな錠前で、理由の全文（「「ダッシュボードの操作」の権限が必要です。」または「「手順の実行」の権限が必要です。」）はそのコンポーネントのツールチップにあります。これが控えめなのは意図したことです。閲覧するロールはすべての操作部でそれを一度に目にしますし、正常に動いている設備が警告だらけの画面に見えてはならないからです。権限は押すたびにその瞬間に確認し直されるので、画面を開いたままサインアウトしたりロールが変わったりしても、古いクリックが送られることはありません。

コマンドのコンポーネントはそれぞれ、操作部の下の自分の **フィードバックの行** で答えます（「書き込みました」「実行しました · 12 ms」、または拒否）。この行は 5 秒で消えます。全画面の画面がステータスバーを隠したとき、残る面はこの行だけです。コマンドがステータスバーの操作ログ帯ではなくここで答えるのは、そのためです。コンポーネントの隅の表題、操作部、この行の三つがそろって収まらない低いセルでは、応答が表示されているあいだ応答が隅の表題の場所に出て、応答が消えると表題が戻ります。隅の表題を持つコマンドの高さがグリッド 1 行のとき、エディターは操作部の **書体** の節でそのことを知らせます。その大きさに三つがそろって収まることはまれだからです。隅の表題と操作部だけでも収まらないほど低いセルでは、表題の行を操作部に譲るので、入力欄やキーが切れて描かれることはありません。応答に自分の行がなく、操作部の上に隅の表題もない（表題が書かれていないか、表題が行を譲った）ときは、ボタン、トグル、入力、設定値スライダー、セレクター、増減キーが、応答が表示されているあいだ自分の文字の場所に応答を描きます。ボタンの文字、トグルのラベル、入力とスライダーが送るときのキー、セレクターや増減キーの押されたキー、そして選択肢を一覧で出すセレクターでは閉じた一覧に出ている選択肢です。応答はその文字の上に応答の行の色（ボタンでは、ボタン自身の文字の色を落ち着かせた色合い）で重なり、拒否はエラーの色で重なります。文字より場所が狭ければ省略記号で切られ、応答の全体はツールチップに出ます。何も動きません。文字は自分の場所と名前を保ち、応答が消えると戻ります。ほかのコマンドは応答を自分の行に置いたままで、セルを高くするとその行が戻ります。

## ロック {#locks}

ユニットが実行している間、ページには **エンジニアリングロック中** の通知バーが出ます。「ユニットの操作が進行中です。すべてのユニットが終わるまで構成は読み取り専用のままですが、実行の操作やその他の運転操作は引き続き行えます。」作成、複製、編集、整理、名前の変更、並べ替えはその理由とともに灰色になり、開いているエディターは閉じます。画面は動き続け、許されたコマンドを受け取り続けます。ランタイムが止まると、同じ操作に加えてコマンドも閉ざされます。再起動をどこで行うかは、シェル自身の一時停止の案内が述べます。

## このページがしないこと {#what-the-page-does-not-do}

ユニットの操作パネルやユニットの画面を編集することはなく（Process で編集は、それらが組み立てられている場所へ導きます）、それらを並べ替えることもなく、隠されているダッシュボードを一覧からもアドレスからもロールに見せることはありません。あなたのレイアウトの状態を、セッションを超えて保つこともありません。畳んだフォルダー、欄の幅、ピン、選んでいる画面は、いずれも接続とともに元に戻ります。画面の削除は欄からではなく、エディターの [ダッシュボードの設定](view-settings) の中で行います。

## この領域のページ {#in-this-area}

| ページ | 扱う内容 |
|---|---|
| [画面とフォルダー](view-screens) | 欄が並べるものの作成、複製、整理、名前の変更、並べ替え、削除、起動時の画面、そして誰がどの画面を見るか。 |
| [ダッシュボードのエディター](view-editor) | 作業台です。パレット、キャンバス、選択、すべてのコンポーネントに共通する設定の節、そしてシンボルの接続点の間に引く接続線。 |
| [ダッシュボードの設定](view-settings) | 1 つの画面が自分について宣言すること。名前、説明、アイコン、グリッド、起動、全画面でのステータスバー、表示できるロール、削除。 |
| [全画面運転モード](view-fullscreen) | 拡大表示と全画面、F11 と Esc、飛び出しメニュー、ステータスバーの設定。 |
| [View のユニットの操作パネル](view-unit-panels) | Process のユニットを操作するためのカードの積み重ねを、ここでの見え方として。 |
| [グラフ](view-charts) | すべてのグラフが持つツールバー、目盛り、統計と基準線のパネル、そして切り離したグラフのウィンドウ。 |
| [ダッシュボードのコンポーネント](components) | コンポーネントの種類の一覧、バインドするアドレス、読み取り値の描き方、そして種類ごとの参照ページ。 |
