mozilla

Compare Revisions

HelperApps.jsm

Change Revisions

Revision 485419:

Revision 485419 by wesj on

Revision 485853:

Revision 485853 by wesj on

Title:
HelperApps.jsm
HelperApps.jsm
Slug:
Extensions/Mobile/API/HelperApps.jsm
Extensions/Mobile/API/HelperApps.jsm
Content:

Revision 485419
Revision 485853
nn23      HelperApps.jsm exports two symbols:
24    </p>
25    <ol>
26      <li>a HelperApps object and
27      </li>
28      <li>an App constructor into their scope
29      </li>
30    </ol>
31    <p>
nn34    <pre>
35let apps = HelperApps.getAppsForUri(uri);
36 
37let app = new App({
38  name: "My option",
39  iconUri: "resource://download";
40};
41app.launch = function() { apps[1].launch(uri); }
42apps.push(app);
43 
44if (apps.length &gt; 1) {
45  HelperApps.prompt(apps, {
46    title:"Launch!",
47    buttons: ["OK", "Cancel"]
48  }, function(result) {
49    var index = result.button == 0 ? result.icongrid0 : undefined
 >;
50    if (index != undefined) apps[index].launch();
51  });
52}
53</pre>
nn57    <table class="standard-table">
58      <tbody>
59        <tr>
60          <td>
61            showPicker(apps, promptOptions, callback)
62          </td>
63        </tr>
64        <tr>
65          <td>
66            getAppsForProtocol(scheme)
67          </td>
68        </tr>
69        <tr>
70          <td>
71            getAppsForUri(uri, flags = { filterHttp: true }
72          </td>
73        </tr>
74        <tr>
75          <td>
76            launchUri(uri)
77          </td>
78        </tr>
79      </tbody>
80    </table>
tt84    <h3 id="showPicker" name="showPicker">
85      showPicker()
86    </h3>
87    <p>
88      Use Prompt.jsm to show a prompt asking users which app they
 > want to launch
89    </p>
90    <pre class="eval">
91void showPicker(apps, promptOptions, callback)
92</pre>
93    <h6 id="Parameters" name="Parameters">
94      Parameters
95    </h6>
96    <dl>
97      <dt>
98        apps
99      </dt>
100      <dd>
101        A list of App objects that should be shown in the prompt
102      </dd>
103      <dt>
104        promptOptions
105      </dt>
106      <dd>
107        <p>
108          An object describing the dialog to be shown, commonly u
 >sed to add a title/buttons. The same type of object that can be p
 >assed to a Prompt constructor.
109        </p>
110        <table class="standard-table">
111          <tbody>
112            <tr>
113              <td class="header">
114                Parameter
115              </td>
116              <td class="header">
117                Description
118              </td>
119            </tr>
120            <tr>
121              <td>
122                <code>label</code>
123              </td>
124              <td>
125                The label to show on the button.
126              </td>
127            </tr>
128          </tbody>
129        </table>
130      </dd>
131      <dt>
132        callback
133      </dt>
134      <dd>
135        A function to be called when the prompt returns. Similar 
 >to the callback called from Prompt.jsm prompts.
136      </dd>
137    </dl>
138    <h6 id="Example" name="Example">
139      Example
140    </h6>
141    <pre>
142let apps = HelperApps.getAppsForUri(Services.io.newUri("http://ww
 >w.mozilla.org"));
143HelperApps.prompt(apps, {
144  title: "Pick!",
145  buttons: ["OK"]
146}, function(result) {
147  alert(apps[result.icongrid0].name);
148});
149</pre>
150    <h3 id="getAppsForProtocol" name="getAppsForProtocol">
151      getAppsForProtocol()
152    </h3>
153    <p>
154      Adds a button to the prompt. A maximum of three buttons can
 > be shown at the dialog at any time. If there are already three b
 >uttons present, this will silently fail.
155    </p>
156    <pre class="eval">
157Prompt addButton(aOptions);
158</pre>
159    <h6 id="Parameters" name="Parameters">
160      Parameters
161    </h6>
162    <p>
163      Takes an object with parameters describing the button
164    </p>
165    <table class="standard-table">
166      <tbody>
167        <tr>
168          <td class="header">
169            Parameter
170          </td>
171          <td class="header">
172            Description
173          </td>
174        </tr>
175        <tr>
176          <td>
177            <code>label</code>
178          </td>
179          <td>
180            The label to show on the button.
181          </td>
182        </tr>
183      </tbody>
184    </table>
185    <h6 id="Return_value" name="Return_value">
186      Return value
187    </h6>
188    <p>
189      Returns the Prompt that is being modified.
190    </p>
191    <h6 id="Example" name="Example">
192      Example
193    </h6>
194    <pre>
195var p = new Prompt({
196  window: window,
197  title: "My Prompt",
198  message: "A message on the prompt"
199});
200 
201if (shouldShowButtons) {
202  p.addButton({ label: "Button 1" });
203  p.addButton({ label: "Button 2" });
204}
205 
206p.show(function(data) {
207  if (data.button == 0)
208    alert("Clicked button 1!");
209  else if (data.button == 1)
210    alert("Clicked button 2!");
211});
212</pre>
213    <h3 id="addButton" name="addButton">
214      addButton()
215    </h3>
216    <p>
217      Adds a button to the prompt. A maximum of three buttons can
 > be shown at the dialog at any time. If there are already three b
 >uttons present, this will silently fail.
218    </p>
219    <pre class="eval">
220Prompt addButton(aOptions);
221</pre>
222    <h6 id="Parameters" name="Parameters">
223      Parameters
224    </h6>
225    <p>
226      Takes an object with parameters describing the button
227    </p>
228    <table class="standard-table">
229      <tbody>
230        <tr>
231          <td class="header">
232            Parameter
233          </td>
234          <td class="header">
235            Description
236          </td>
237        </tr>
238        <tr>
239          <td>
240            <code>label</code>
241          </td>
242          <td>
243            The label to show on the button.
244          </td>
245        </tr>
246      </tbody>
247    </table>
248    <h6 id="Return_value" name="Return_value">
249      Return value
250    </h6>
251    <p>
252      Returns the Prompt that is being modified.
253    </p>
254    <h6 id="Example" name="Example">
255      Example
256    </h6>
257    <pre>
258var p = new Prompt({
259  window: window,
260  title: "My Prompt",
261  message: "A message on the prompt"
262});
263 
264if (shouldShowButtons) {
265  p.addButton({ label: "Button 1" });
266  p.addButton({ label: "Button 2" });
267}
268 
269p.show(function(data) {
270  if (data.button == 0)
271    alert("Clicked button 1!");
272  else if (data.button == 1)
273    alert("Clicked button 2!");
274});
275</pre>
276    <h3 id="addButton" name="addButton">
277      addButton()
278    </h3>
279    <p>
280      Adds a button to the prompt. A maximum of three buttons can
 > be shown at the dialog at any time. If there are already three b
 >uttons present, this will silently fail.
281    </p>
282    <pre class="eval">
283Prompt addButton(aOptions);
284</pre>
285    <h6 id="Parameters" name="Parameters">
286      Parameters
287    </h6>
288    <p>
289      Takes an object with parameters describing the button
290    </p>
291    <table class="standard-table">
292      <tbody>
293        <tr>
294          <td class="header">
295            Parameter
296          </td>
297          <td class="header">
298            Description
299          </td>
300        </tr>
301        <tr>
302          <td>
303            <code>label</code>
304          </td>
305          <td>
306            The label to show on the button.
307          </td>
308        </tr>
309      </tbody>
310    </table>
311    <h6 id="Return_value" name="Return_value">
312      Return value
313    </h6>
314    <p>
315      Returns the Prompt that is being modified.
316    </p>
317    <h6 id="Example" name="Example">
318      Example
319    </h6>
320    <pre>
321var p = new Prompt({
322  window: window,
323  title: "My Prompt",
324  message: "A message on the prompt"
325});
326 
327if (shouldShowButtons) {
328  p.addButton({ label: "Button 1" });
329  p.addButton({ label: "Button 2" });
330}
331 
332p.show(function(data) {
333  if (data.button == 0)
334    alert("Clicked button 1!");
335  else if (data.button == 1)
336    alert("Clicked button 2!");
337});
338</pre>

Back to History