1
/* Copyright 2011 Canonical Ltd. This software is licensed under the
2
* GNU Affero General Public License version 3 (see the file LICENSE).
4
* Setup for managing subscribers list for questions.
7
* @submodule subscribers
10
YUI.add('lp.answers.subscribers', function(Y) {
12
var namespace = Y.namespace('lp.answers.subscribers');
15
* Possible subscriber levels with descriptive headers for
16
* sections that will hold them.
18
var subscriber_levels = {
19
'Direct': 'Direct subscribers',
20
'Indirect': 'Also notified'
24
* Order of subscribers sections.
26
var subscriber_level_order = ['Direct', 'Indirect'];
30
* Create the SubscribersLoader instance which will load subscribers for
31
* a question and put them in the web page.
33
function createQuestionSubscribersLoader(setup_config) {
35
self_link: LP.cache.context.self_link,
36
web_link: LP.cache.context.web_link };
37
var default_config = {
38
container_box: '#other-question-subscribers',
40
subscribers_details_view:
41
'/+portlet-subscribers-details',
42
subscribe_someone_else_link: '.menu-link-addsubscriber',
43
subscribe_me_link: '.menu-link-subscription',
44
subscribed_help_text: 'You will stop receiving email notifications ' +
45
'about updates to this question',
46
unsubscribed_help_text: 'You will receive email notifications ' +
47
'about updates to this question',
48
subscriber_levels: subscriber_levels,
49
subscriber_level_order: subscriber_level_order,
51
subscribe_me_level: 'Direct',
52
subscribe_someone_else_level: 'Direct',
53
default_subscriber_level: 'Indirect'};
54
var module = Y.lp.app.subscribers.subscribers_list;
56
if (Y.Lang.isValue(setup_config)) {
57
setup_config = Y.mix(setup_config, default_config);
59
setup_config = default_config;
61
return new module.SubscribersLoader(setup_config);
63
namespace.createQuestionSubscribersLoader = createQuestionSubscribersLoader;
65
}, "0.1", {"requires": ["lp.app.subscribers.subscribers_list"]});