8 onTemplateReady : function( template, event, eventData )
10 _w.opendays.ti = _t[template];
12 _w.opendays.initGrid();
15 App.DataStore.loadSelectListData('groups', true, 'Company', 'Group.SelectList');
16 App.DataStore.listen('openDayChecklistBuilder', 'group');
17 if (null == App.API.taskContract('gridOpenday'))
20 'gridOpenday', 'Auction', 'OpenDay.List', null,
21 {}, _w.opendays.loadOpendayGrid, _w.taskContractError
26 _w.opendays.loadOpendayGrid( null, {}, {} );
28 if (null == App.API.taskContract('addOpenday'))
31 'addOpenday', 'Auction', 'OpenDay.Create', null,
32 {}, function () {}, _w.taskContractError
37 onTemplatePublished : function( template, event, eventData )
39 _w.opendays.ti.hydrateParam('openday', {
45 daysOfWeekDisabled: [0,1,2,3,4,5]
48 _w.opendays.ti.hydrateParam('allgroups', {
51 title : '<b>Select all</b>',
53 onChange : function() {
54 $('.companyGroup').prop('checked', $(this).is(':checked'));
57 _w.opendays.ti.hydrateParam('groups', {
60 dataStoreId : 'groups',
61 itemName : 'companyGroup',
64 _w.opendays._setupValidation();
65 $('#btnNew').click(function() {
66 _w.opendays.itemId = null;
67 $('#openday').val('');
68 $('#allgroups').prop('checked', false);
69 $('.companyGroup').prop('checked', false);
70 $('#btnSave').html(' Add ');
71 $('#btnDelete').hide();
72 $('#openday').attr('disabled', false);
74 $('#btnDelete').click(function() {
76 'deleteOpenday' + _w.opendays.itemId, 'Auction', 'OpenDay.Delete', null,
77 {id: _w.opendays.itemId}, function () {
79 'deleteOpenday' + _w.opendays.itemId, {}, {},
81 $('#btnDelete').hide();
82 $('#openday').val('');
83 $('#allgroups').prop('checked', false);
84 $('.companyGroup').prop('checked', false);
85 _w.opendays.loadOpendayGrid( null, {}, {} );
86 $('#btnSave').prop('disabled', false);
87 $('#btnSave').html(' Add ');
88 $('#openday').attr('disabled', false);
89 _w.opendays.itemId = null;
91 alert(error.StatusReason);
94 }, _w.taskContractError
102 _w.opendays.ti.hydrate({
104 'gridOpendayTitle': 'Manage open auction days',
105 'gridOpendayColumnHeaders': {
106 constructor: 'GridColumnHeader',
109 id: 'gridOpendayColumn_Openday',
114 'gridOpendayRowRepeater': {}
119 loadOpendayGrid : function( contract, data, options )
122 'gridOpenday', data, options,
123 _w.opendays._onOpendayGridDataReceived, _w.taskExecError
127 _onOpendayGridDataReceived : function( response )
129 _w.opendays.ti.hydrateParam('gridOpendayRowRepeater', {});
131 for (var i = 0; i < response.Data.length; i++)
133 var row = response.Data[i];
139 onClick : $.proxy(function(row, meta) {
140 _w.opendays.itemId = meta.rowId;
141 $('#openday').val(meta.items.Openday);
142 $('#openday').attr('disabled', true);
143 $('.companyGroup').prop('checked', false);
144 for (var i in row.groups)
146 $('input[data-id="' + row.groups[i].id + '"]').prop('checked', true);
148 $('#btnSave').html(' Update ');
149 $('#btnDelete').show();
153 'Openday' : row.openDate ? row.openDate : ''
157 _w.opendays.ti.hydrateParam('gridOpendayRowRepeater', {
158 constructor : 'GridDataRow',
163 _setupValidation : function ()
165 $('#frmOpendayView').validate({
167 openday: {required: true, dateISO: true}
171 dateISO: "Must be a valid date."
174 submitHandler: function( form ) {
175 $('#btnSave').prop('disabled', true);
177 $.each($.find('.companyGroup'), function(i, input) {
178 if ( $(input).prop('checked') )
181 'id': $(input).attr('data-id')
187 openDate: $('#openday').val(),
191 if (null == _w.opendays.itemId)
194 'addOpenday', data, {},
196 $('#btnDelete').hide();
197 $('#openday').val('');
198 $('#allgroups').prop('checked', false);
199 $('.companyGroup').prop('checked', false);
200 _w.opendays.loadOpendayGrid( null, {}, {} );
201 $('#btnSave').prop('disabled', false);
202 $('#btnSave').html(' Add ');
203 $('#openday').attr('disabled', false);
204 _w.opendays.itemId = null;
211 'updateOpenday' + _w.opendays.itemId, 'Auction', 'OpenDay.Update', null,
212 {id: _w.opendays.itemId}, function () {
214 'updateOpenday' + _w.opendays.itemId, data, {},
216 $('#btnDelete').hide();
217 $('#openday').val('');
218 $('#allgroups').prop('checked', false);
219 $('.companyGroup').prop('checked', false);
220 _w.opendays.loadOpendayGrid( null, {}, {} );
221 $('#btnSave').prop('disabled', false);
222 $('#btnSave').html(' Add ');
223 $('#openday').attr('disabled', false);
224 _w.opendays.itemId = null;
227 }, _w.taskContractError
232 $('#btnSave').prop('disabled', false);