jetpack.storage.settings
名前空間を使用すると、ユーザが変更可能な設定を指定することが出来ます。Jetpack は指定に基づいて自動的にユーザーインタフェイスを生成します。設定はブラウザのセッションを跨いで維持され、simple storage API を利用して保存されます。設定は jetpack ごとに保持され、他の jetpack からアクセスすることは出来ません。
現在のところ開発段階にあるため、このAPIは future に存在し、使用する前にインポートする必要があります:
jetpack.future.import("storage.settings");
マニュフェストで設定を指定する
設定を指定するには、settings APIをインポートするより前にmanifest という名前の変数をグローバル名前空間に定義します。
この変数の値は settings という名前のプロパティを含む
object でなければなりません。settings
プロパティの値はユーザが利用する設定を表すオブジェクトの配列です。ユーザーが設定をカスタマイズできるように、Jetpackはこの指定から自動的にユーザーインターフェースを生成します。ユーザは about:jetpack ページの "Installed Features" タブ内にある "settings" ボタンからこのインターフェースを開くことができます。
manifest
定義の例です:
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");
この定義により各設定が入力フィールドをもつユーザーインターフェースが生成されます。
上記のマニフェストにより、以下の値が記録されたプロパティがjetpackのコード内で利用可能になります:
jetpack.storage.settings.twitter.username
jetpack.storage.settings.twitter.password
jetpack.storage.settings.facebook.username
jetpack.storage.settings.facebook.password
jetpack.storage.settings.music
jetpack.storage.settings.volume