3 window._w.newsletterview = {
11 onTemplateDestruct : function()
13 /*if (CKEDITOR && CKEDITOR.instances.content)
15 CKEDITOR.instances.content.destroy();
17 //$('#content').remove();
20 onTemplateReady : function( template, event, eventData )
22 _w.newsletterview.ti = _t[template];
24 _w.newsletterview.setNewsletterViewFormMeta();
25 _w.newsletterview.ti.hydrate(_w.newsletterview.formMeta);
27 // Retrieve initial view data.
28 _w.newsletterview.itemId = App.Util.getUrlParam('id');
29 if (0 == _w.newsletterview.itemId || null == _w.newsletterview.itemId)
31 _w.newsletterview.newItem = true;
32 _w.newsletterview.itemData = {};
34 'createNewsletter', 'Newsletter', 'Newsletter.Create',
35 null, {}, function(){}, _w.taskContractError
41 _w.newsletterview.newItem = false;
43 'updateNewsletter:' + _w.newsletterview.itemId, 'Newsletter', 'Newsletter.Update', _w.newsletterview.itemId,
44 {'id':_w.newsletterview.itemId}, $.proxy( _w.newsletterview._onNewsletterViewDataReceived, this ), _w.taskContractError
50 onTemplatePublished : function( template, event, eventData )
52 if (_w.newsletterview.newItem)
54 _w.newsletterview._setupValidation();
56 $('#btnDraft').click(function() {
57 if (!$('#frmNewsletterView').valid())
61 $('#btnDraft').prop('disabled', true);
62 $('#btnTest').prop('disabled', true);
63 $('#btnUpdate').prop('disabled', true);
64 var data = _w.newsletterview._prepNewsletterUpdateData();
65 var options = {SaveDraft: true};
66 if (_w.newsletterview.newItem)
69 'createNewsletter', data, options,
70 _w.newsletterview._onNewsletterUpdated, function() {}
76 'updateNewsletter:' + _w.newsletterview.itemId, data, options,
77 _w.newsletterview._onNewsletterUpdated, function() {}
81 $('#btnTest').click(function() {
82 if (!$('#frmNewsletterView').valid())
86 $('#btnDraft').prop('disabled', true);
87 $('#btnTest').prop('disabled', true);
88 $('#btnUpdate').prop('disabled', true);
89 var data = _w.newsletterview._prepNewsletterUpdateData();
90 var options = {TestDraft: true};
91 if (_w.newsletterview.newItem)
94 'createNewsletter', data, options,
95 _w.newsletterview._onNewsletterUpdated, _w.taskExecError
101 'updateNewsletter:' + _w.newsletterview.itemId, data, options,
102 _w.newsletterview._onNewsletterUpdated, _w.taskExecError
106 $('#btnUpdate').click(function() {
107 if (!$('#frmNewsletterView').valid())
111 $('#btnDraft').prop('disabled', true);
112 $('#btnTest').prop('disabled', true);
113 $('#btnUpdate').prop('disabled', true);
114 var data = _w.newsletterview._prepNewsletterUpdateData();
115 var options = {Send: true};
116 if (_w.newsletterview.newItem)
119 'createNewsletter', data, options,
120 _w.newsletterview._onNewsletterUpdated, _w.taskExecError
126 'updateNewsletter:' + _w.newsletterview.itemId, data, options,
127 _w.newsletterview._onNewsletterUpdated, _w.taskExecError
133 setNewsletterViewFormMeta : function( data )
139 console.log('------------------');
140 console.log(data.attachment);
141 _w.newsletterview.formMeta = {
145 title : 'Attachment',
146 value : data.attachment ? data.attachment : null
152 value : data.subject ? data.subject : '',
159 value : data.content ? data.content : ''
164 _onNewsletterViewDataReceived : function( response )
166 _w.newsletterview.itemId = response.Data.id;
167 _w.newsletterview.itemData = response.Data;
168 _w.newsletterview.setNewsletterViewFormMeta(response.Data);
169 _w.newsletterview.ti.hydrate(_w.newsletterview.formMeta);
170 if (!_w.newsletterview.newItem)
172 switch (response.Data.jobState)
176 $('#btnDraft').hide();
177 $('#btnTest').hide();
178 $('#btnUpdate').hide();
182 _w.newsletterview._setupValidation();
185 _setupValidation : function ()
187 $('#frmNewsletterView').validate({
192 submitHandler: function( form ) {
193 $('#btnDraft').prop('disabled', true);
194 $('#btnTest').prop('disabled', true);
195 $('#btnUpdate').prop('disabled', true);
196 var data = _w.newsletterview._prepNewsletterUpdateData();
197 if (_w.newsletterview.newItem)
200 'createNewsletter', data, {},
201 _w.newsletterview._onNewsletterUpdated, _w.taskExecError
207 'updateNewsletter:' + _w.newsletterview.itemId, data, {},
208 _w.newsletterview._onNewsletterUpdated, _w.taskExecError
213 $('#btnUpdate').prop('disabled', false);
216 _prepNewsletterUpdateData : function()
218 var data = {Newsletter:_w.newsletterview.ti.harvest()};
219 if ('' == data.Newsletter.attachment)
221 data.Newsletter.attachment = null;
226 _onNewsletterUpdated : function( response )
228 window.location.hash = '/newsletters';