root/branches/release-29/tmpl/cms/dialog/select_weblog.tmpl @ 1309

Revision 1309, 4.0 kB (checked in by ddavis, 23 months ago)

standarize js comment tag escape. BugzID:58265

  • Property svn:keywords set to Id Revision
Line 
1<mt:unless name="json">
2<mt:setvarblock name="page_title"><mt:var name="dialog_title"></mt:setvarblock>
3<mt:include name="dialog/header.tmpl">
4
5<script type="text/javascript" src="<mt:var name="static_uri">js/tc/client.js"></script>
6<script type="text/javascript" src="<mt:var name="static_uri">js/tc/json.js"></script>
7<script type="text/javascript" src="<mt:var name="static_uri">js/dialog.js"></script>
8   
9<script type="text/javascript">
10/* <![CDATA[ */
11var dialog;
12
13var win = window.parent;
14function returnBlogSelection(ok) {
15    if (!ok) // user cancelled
16        return closeDialog();
17    var el_id = getByID("<mt:var name="idfield">", win.document);
18    var el_name = getByID("<mt:var name="namefield">", win.document);
19    var el_link = getByID("<mt:var name="namefield">_link", win.document);
20    var return_url = "<mt:var name="return_url">";
21    if (el_id && el_name) {
22<mt:if name="panel_multi"> 
23        var ids = new Array();
24        var names = new Array();
25        var inputs = dialog.panels[0].tableSelect.selected();
26        for (var i = 0; i < inputs.length; ++i) {
27            var inp = inputs[i];
28            var row = TC.getParentByTagName( inp, "tr" );
29            if (!row) continue;
30            var labels = row.getElementsByTagName('label');
31            if (labels.length == 0) continue;
32            names.push(labels[0].innerHTML + ' (' + inp.value + ')');
33            ids.push(inp.value);
34        }
35        el_id.value = ids.join(',');
36        el_name.innerHTML = names.join(',');
37<mt:else> 
38        var inputs = dialog.panels[0].tableSelect.selected();
39        if (inputs.length == 0) return;
40        var inp = inputs[0];
41        var row = TC.getParentByTagName( inp, "tr" );
42        if (!row) return;
43        var labels = row.getElementsByTagName('label');
44        if (labels.length == 0) return;
45        var blog_name = labels[0].innerHTML;
46        el_id.value = inp.value;
47        if (blog_name)
48            el_name.innerHTML = blog_name + ' (' + inp.value + ')';
49</mt:if>
50        if ( el_link )
51            DOM.removeClassName( el_link, "hidden" );
52        closeDialog();
53    } else if (return_url) {
54        var inputs = dialog.panels[0].tableSelect.selected();
55        if (inputs.length == 0) return;
56        var inp = inputs[0];
57        var id = inp.value;
58        if (return_url.match(/\bblog_id=(\d+)/)) {
59            return_url = return_url.replace(/\bblog_id=(\d+)/, "blog_id=" + id);
60        } else {
61            return_url = return_url.replace(/\b__mode=([:\w-]+)/, '__mode=$1&blog_id=' + id);
62        }
63        closeDialog(return_url);
64    } else {
65        alert("couldn't find required form elements");
66    }
67}
68
69function savedFavorite(id) {
70    var return_url = "<mt:var name="return_url">";
71    if (return_url.match(/\bblog_id=(\d+)/)) {
72        return_url = return_url.replace(/\bblog_id=(\d+)/, "blog_id=" + id);
73    } else {
74        return_url = return_url.replace(/\b__mode=([:\w-]+)/, '__mode=$1&blog_id=' + id);
75    }
76    closeDialog(return_url);
77}
78
79function saveFavorite(ok) {
80    if (!ok) return closeDialog();
81    var inputs = dialog.panels[0].tableSelect.selected();
82    if (inputs.length == 0) return;
83    var id = inputs[0].value;
84    var param = '__mode=save_favorite_blogs'
85        + '&id=' + id
86        + '&magic_token=<mt:var name="magic_token">';
87    var params = { uri: '<mt:var name="script_url">', method: 'POST', arguments: param, load: function() { savedFavorite(id) } };
88    TC.Client.call(params);
89}
90
91function init() {
92    // setup
93    dialog = new Dialog.MultiPanel("select-weblog");
94    var blogPanel = new ListingPanel("blog");
95    blogPanel.pager.setState(<mt:var name="pager_json">);
96    dialog.setPanels([blogPanel]);
97    dialog.open({}, <mt:var name="confirm_js" default="returnBlogSelection">);
98}
99
100TC.attachLoadEvent( init );
101/* ]]> */
102</script>
103
104<div class="modal_width" id="select-weblog-dialog">
105
106</mt:unless>
107<mt:include name="include/listing_panel.tmpl">
108<mt:unless name="json">
109
110</div>
111
112<mt:include name="dialog/footer.tmpl">
113</mt:unless>
Note: See TracBrowser for help on using the browser.