~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/answers/javascript/subscribers.js

Wire up question subscription portal

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Copyright 2011 Canonical Ltd.  This software is licensed under the
 
2
 * GNU Affero General Public License version 3 (see the file LICENSE).
 
3
 *
 
4
 * Setup for managing subscribers list for questions.
 
5
 *
 
6
 * @module answers
 
7
 * @submodule subscribers
 
8
 */
 
9
 
 
10
YUI.add('lp.answers.subscribers', function(Y) {
 
11
 
 
12
var namespace = Y.namespace('lp.answers.subscribers');
 
13
 
 
14
/**
 
15
 * Possible subscriber levels with descriptive headers for
 
16
 * sections that will hold them.
 
17
 */
 
18
var subscriber_levels = {
 
19
    'Direct': 'Direct subscribers',
 
20
    'Indirect': 'Also notified'
 
21
};
 
22
 
 
23
/**
 
24
 * Order of subscribers sections.
 
25
 */
 
26
var subscriber_level_order = ['Direct', 'Indirect'];
 
27
 
 
28
 
 
29
/**
 
30
 * Create the SubscribersLoader instance which will load subscribers for
 
31
 * a question and put them in the web page.
 
32
 *
 
33
 * @param config {Object} Defines `container_box' CSS selector for the
 
34
 *     SubscribersList container box, `context' holding context metadata (at
 
35
 *     least with `web_link') and `subscribers_details_view' holding
 
36
 *     a relative URI to load subscribers' details from.
 
37
 */
 
38
function createQuestionSubscribersLoader(config) {
 
39
    config.subscriber_levels = subscriber_levels;
 
40
    config.subscriber_level_order = subscriber_level_order;
 
41
    config.context = config.question;
 
42
    config.subscribe_someone_else_level = 'Direct';
 
43
    config.default_subscriber_level = 'Indirect';
 
44
    var module = Y.lp.app.subscribers.subscribers_list;
 
45
    return new module.SubscribersLoader(config);
 
46
}
 
47
namespace.createQuestionSubscribersLoader = createQuestionSubscribersLoader;
 
48
 
 
49
}, "0.1", {"requires": ["lp.app.subscribers.subscribers_list"]});