aboutsummaryrefslogtreecommitdiff
path: root/files/ja/jetpack/storage/settings/index.html
blob: 8b096598bcef1bbe8eb1e584895ced58552466f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
---
title: 設定
slug: Jetpack/Storage/Settings
translation_of: Archive/Mozilla/Jetpack/Storage/Settings
---
<p><code>jetpack.storage.settings</code> 名前空間を使用すると、ユーザが変更可能な設定を指定することが出来ます。Jetpack は指定に基づいて自動的にユーザーインタフェイスを生成します。設定はブラウザのセッションを跨いで維持され、<a href="/ja/Jetpack/Storage/Simple_storage" title="ja/Jetpack/Storage/Simple storage">simple storage API</a> を利用して保存されます。設定は jetpack ごとに保持され、他の jetpack からアクセスすることは出来ません。</p>
<p>現在のところ開発段階にあるため、このAPIは <a class="link-https" href="https://wiki.mozilla.org/Labs/Jetpack/JEP/13" title="https://wiki.mozilla.org/Labs/Jetpack/JEP/13">future</a> に存在し、使用する前にインポートする必要があります:</p>
<pre class="brush: js">jetpack.future.import("storage.settings");
</pre>
<h2 id="マニュフェストで設定を指定する">マニュフェストで設定を指定する</h2>
<p>設定を指定するには、<strong>settings APIをインポートするより前に</strong><code>manifest という名前の変数をグローバル名前空間に定義します。</code>この変数の値は <code>settings という名前のプロパティを含む </code>object でなければなりません。<code>settings</code> プロパティの値はユーザが利用する設定を表すオブジェクトの配列です。ユーザーが設定をカスタマイズできるように、Jetpackはこの指定から自動的にユーザーインターフェースを生成します。ユーザは about:jetpack ページの "Installed Features" タブ内にある "settings" ボタンからこのインターフェースを開くことができます。</p>
<p><code>manifest</code> 定義の例です:</p>
<pre class="brush: js">var manifest = {
  settings: [
    {
      name: "twitter",
      type: "group",
      label: "Twitter",
      settings: [
        { name: "username", type: "text", label: "Username" },
        { name: "password", type: "password", label: "Password" }
      ]
    },
    {
      name: "facebook",
      type: "group",
      label: "Facebook",
      settings: [
        { name: "username", type: "text", label: "Username", default: "jdoe" },
        { name: "password", type: "password", label: "Secret" }
      ]
    },
    { name: "music", type: "boolean", label: "Music", default: true },
    { name: "volume", type: "range", label: "Volume", min: 0, max: 10, default: 5 }
  ]
};

// Import after defining manifest!
jetpack.future.import("storage.settings");
</pre>
<p>この定義により各設定が入力フィールドをもつユーザーインターフェースが生成されます。</p>
<p>上記のマニフェストにより、以下の値が記録されたプロパティがjetpackのコード内で利用可能になります:</p>
<ul>
 <li><code>jetpack.storage.settings.twitter.username</code></li>
 <li><code>jetpack.storage.settings.twitter.password</code></li>
 <li><code>jetpack.storage.settings.facebook.username</code></li>
 <li><code>jetpack.storage.settings.facebook.password</code></li>
 <li><code>jetpack.storage.settings.music</code></li>
 <li><code>jetpack.storage.settings.volume</code></li>
</ul>
<h2 id="See_also">See also</h2>
<ul>
 <li><a href="/ja/Jetpack/Storage/Simple_storage" title="ja/Jetpack/Storage/Simple storage">Simple storage</a></li>
 <li><a class="link-https" href="https://wiki.mozilla.org/Labs/Jetpack/JEP/24" title="https://wiki.mozilla.org/Labs/Jetpack/JEP/24">Jetpack Enhancement Proposal 24S</a></li>
</ul>