/** * modals.js - magnificently moody modals * Event system to ease management of modal load events. */ var modalsNS = odkmaker.namespace.load('odkmaker.modals'); var selectedFormKey = ''; var reportScheduleDate = undefined; var frmKey = ''; var dataJson = ''; var OPEN_FORM_FOR_FUNCTION_OPEN_FORM = 1; var OPEN_FORM_FOR_FUNCTION_COMPONENTS = 2; var openFormForFunction = ""; var modals_init = function($) { var handlers = { mainScreen: function($dialog){ $dialog .find('.main_content_mobile_units').hide(); }, signinDialog: function($dialog) { $dialog .find(':input').val('').end() .find('h3').text(lbl_sign_in).end() .find('.signinLink').removeClass('hide').end() .find('.signupLink').addClass('hide').end() .find('.toggleSignupLink').text(lbl_request_access).closest('p').show().end().end() .find('.passwordLink').addClass('hide').end() .find('.togglePasswordLink').text(lbl_forgot_your_password).closest('p').show().end().end() .find('.signin_section').show().end() .find('.requestaccount_section').hide(); }, accountDialog: function($dialog) { $dialog.find('#account_email').val(odkmaker.auth.currentUser.email); }, openDialog: function($dialog) { var $formOwnerList = $dialog.find('.formowner'); var $searchTextBox = $dialog.find('.searchSession input.searchValue'); $formOwnerList.empty(); $dialog.find('.errorMessage') .empty() .slideUp(); $dialog.find('status').find('div') .removeClass('waitingIcon') .slideUp(); $('.openDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.openDialog .formpublic').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $formOwnerList.append('
  • ' + lbl_loading + '
  • '); $searchTextBox.val(lbl_waiting).attr('readonly', true); //$('.openDialog .openFormSortSession input[value="Form name"]').prop('checked', true); $('.openFormSortSession .headerSortDown').removeClass('headerSortDown'); $('.openFormSortSession .headerSortUp').removeClass('headerSortUp'); //$('.openFormSortSession .formNameHeader').addClass('headerSortUp'); if(OPEN_FORM_FOR_FUNCTION_COMPONENTS == openFormForFunction) { $('.openDialog .modalButtonContainer .acceptLink').addClass(CONST_CSS_CLASS_HIDE_ITEM); $('.openDialog .modalButtonContainer .jqmClose').addClass(CONST_CSS_CLASS_HIDE_ITEM); $('.openDialog .modalButtonContainer .addComponents').removeClass(CONST_CSS_CLASS_HIDE_ITEM); $('.openDialog .modalButtonContainer .closeComponents').removeClass(CONST_CSS_CLASS_HIDE_ITEM); } else { $('.openDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_ITEM); $('.openDialog .modalButtonContainer .jqmClose').removeClass(CONST_CSS_CLASS_HIDE_ITEM); $('.openDialog .modalButtonContainer .addComponents').addClass(CONST_CSS_CLASS_HIDE_ITEM); $('.openDialog .modalButtonContainer .closeComponents').addClass(CONST_CSS_CLASS_HIDE_ITEM); } $('.openDialog a.restrictions').off().on('click', function(){ jAlert(msg_open_form_restrictions); }); //$formPublicList.append('
  • ' + lbl_loading + '
  • '); var data = ''; var loadFormList = function(page){ $('.openDialog .modalContents .openEditHelpText').addClass(CONST_CSS_CLASS_HIDE_SESSION); $.ajax({ url: '/formbuilder/openForm?page=' + page, dataType: 'json', type: 'GET', cache: false, complete: function() { }, success: function(response, status) { if(response.isBuildFormOnlyMy) { $('.openDialog .formpublic').addClass(CONST_CSS_CLASS_HIDE_SESSION); } if(response.FormOwner != ''){ data += response.FormOwner; //$formPublicList.append(response.FormPublic); if(!response.Continue){ $formOwnerList.empty(); $('.openDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $formOwnerList.append(data); var formsDeleted = $formOwnerList.find('.FormDeleted'); for(var i=0; i' + err_donot_have_priv + '

    ') .slideDown(); }else{ $('.openDialog .errorMessage') .empty() .append('

    ' + err_could_not_open_form + '

    ') .slideDown(); } } }); } loadFormList(0); }, openReportDialog: function($dialog) { var $reportOwnerList = $dialog.find('.reportowner'); var $searchTextBox = $dialog.find('.searchSession input.searchValue'); $reportOwnerList.empty(); $dialog.find('.errorMessage') .empty() .slideUp(); $dialog.find('status').find('div') .removeClass('waitingIcon') .slideUp(); $('.openReportDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $reportOwnerList.append('
  • ' + lbl_loading + '
  • '); $searchTextBox.val(lbl_waiting).attr('readonly', true); $('.openReportDialog .openReportSortSession .headerSortDown').removeClass('headerSortDown'); $('.openReportDialog .openReportSortSession .headerSortUp').removeClass('headerSortUp'); $('.openReportDialog .openReportSortSession .reportNameHeader').addClass('headerSortDown'); if (authNS.currentUser.runNow !== undefined && authNS.currentUser.runNow !== null && authNS.currentUser.runNow == true) { $('.openReportDialog .copyExecuteLink').hide(); $('.openReportDialog .runNowLink').show(); } else { $('.openReportDialog .copyExecuteLink').show(); $('.openReportDialog .runNowLink').hide(); } var data = ''; var loadReportList = function(page){ $.ajax({ url: '/reportbuilder/openReport?page=' + page, dataType: 'json', type: 'GET', cache: false, complete: function() { }, success: function(response, status) { if(response.ReportOwner != ''){ data += response.ReportOwner; if(!response.Continue){ $reportOwnerList.empty(); $('.openReportDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $reportOwnerList.append(data); $searchTextBox.attr('readonly', false).val('').blur(); $searchTextBox.focus(); $('.openReportDialog .modalContents .scroll_contain').off().on('UpdateAction', function(){ $('.openReportDialog .modalContents .line_content_report_open').off().click(function(event){ $('.openReportDialog .modalContents .selected').removeClass('selected'); $(this).addClass('selected'); selectedReportKey = $(this).find('.report_link').attr('id'); }).dblclick(function(event){ $('.openReportDialog .modalContents .selected').removeClass('selected'); $(this).addClass('selected'); selectedReportKey = $(this).find('.report_link').attr('id'); event.preventDefault(); openReport(); }); }).trigger('UpdateAction'); }else{ loadReportList(page + 1); } }else{ if(page == 0){ $reportOwnerList.empty(); $reportOwnerList.append('
  • ' + lbl_report_not_found + '
  • '); $('.openReportDialog .modalButtonContainer .acceptLink').addClass(CONST_CSS_CLASS_HIDE_SESSION); $searchTextBox.attr('readonly', false).val('').blur(); $searchTextBox.focus(); }else{ $reportOwnerList.empty(); $('.openReportDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $reportOwnerList.append(data); $searchTextBox.attr('readonly', false).val('').blur(); $searchTextBox.focus(); $('.openReportDialog .modalContents .scroll_contain').off().on('UpdateAction', function(){ $('.openReportDialog .modalContents .line_content_report_open').off().click(function(event){ $('.openReportDialog .modalContents .selected').removeClass('selected'); $(this).addClass('selected'); selectedReportKey = $(this).find('.report_link').attr('id'); }).dblclick(function(event){ $('.openReportDialog .modalContents .selected').removeClass('selected'); $(this).addClass('selected'); selectedReportKey = $(this).find('.report_link').attr('id'); event.preventDefault(); openReport(); }); }).trigger('UpdateAction'); } } updateDisplayDate4LocalTimeZone($reportOwnerList); }, error: function(request, status, error) { $reportOwnerList.empty(); $searchTextBox.attr('readonly', false).val('').blur(); $searchTextBox.focus(); $('.openReportDialog .modalButtonContainer .acceptLink').addClass(CONST_CSS_CLASS_HIDE_SESSION); if(getStatus(request) == 401){ $('.openReportDialog .errorMessage') .empty() .append('

    ' + err_donot_have_priv + '

    ') .slideDown(); }else{ $('.openReportDialog .errorMessage') .empty() .append('

    ' + err_could_not_open_report + '

    ') .slideDown(); } } }); } loadReportList(0); }, openReportScheduleDialog: function($dialog) { var drawCalendar = function(cal_current_date){ var loadReportScheduleList = function(page, month, year){ var ret = undefined; waitForDataLoading(true); //var clientTimezone = (new Date()).getTimezoneOffset() * 60 * 1000; var date = new Date(); var clientTimezone = date.stdTimezoneOffset() * 60 * 1000; var clientTimezoneDst = date.dst(); $.ajax({ url: '/reportbuilder/ReportScheduleServlet?fnId=ScheduleList&scheduleMonth=' + month + '&timezone=' + clientTimezone + '&timezonedst=' + clientTimezoneDst + '&scheduleYear=' + year + '&page=' + page, dataType: 'json', type: 'GET', cache: false, async: false, complete: function() { }, success: function(response, status) { waitForDataLoading(false); ret = response; }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ $('.openSpecialDialog .errorMessage') .empty() .append('

    ' + err_donot_have_priv + '

    ') .slideDown(); }else{ $('.openSpecialDialog .errorMessage') .empty() .append('

    ' + err_could_not_open_form + '

    ') .slideDown(); } } }); return ret; } var month = cal_current_date.getMonth(); var year = cal_current_date.getFullYear(); var reportDataArray = loadReportScheduleList(0, month, year); var cal_days_labels = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; var cal_months_labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; var cal_days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; var monthName = cal_months_labels[month]; var firstDay = new Date(year, month, 1); var lastDay = new Date(year, month + 1, 0); var startingDay = firstDay.getDay(); var monthLength = lastDay.getDate(); var dayYYYYMMDD = firstDay.getIntyyyyMMdd(); var html = ''; html += ''; for (var i = 0; i <= 6; i++ ){ html += ''; } html += ''; var day = 1; // this loop is for is weeks (rows) for (var i = 0; i < 9; i++) { // this loop is for weekdays (cells) for (var j = 0; j <= 6; j++) { html += ''; } // stop making rows if we've run out of days if (day > monthLength) { break; } else { html += ''; } } html += '
    '; html += cal_days_labels[i]; html += '
    '; if (day <= monthLength && (i > 0 || j >= startingDay)) { html += '
    '; html += day; html += '
    '; html += '
    '; dayYYYYMMDD++; day++; } html += '
    '; $('.openReportScheduleDialog .ui-customDatepicker .ui-datepicker-month').empty().append(monthName); $('.openReportScheduleDialog .ui-customDatepicker .ui-datepicker-year').empty().append(year); $('.openReportScheduleDialog form').empty().append(html); var getReportLink = function($cell, name, last7Day_yyyyMMdd, curDate_yyyyMMdd, curTimeHHmm, reportTimeHHmm, reportKey){ var reportDate = parseInt($cell.attr('id')); var $data = ''; if( last7Day_yyyyMMdd <= reportDate && reportDate <= curDate_yyyyMMdd){ var reportDateUTC = convertUTCyyyymmdd(reportDate, reportTimeHHmm); if(reportDate == curDate_yyyyMMdd){ if(reportTimeHHmm <= curTimeHHmm){ //$data = $('').append(name); $data = $('').append(name); $data = $('
    ').append($data); }else{ $data = $('
    ').append(name); } }else{ //$data = $('').append(name); $data = $('').append(name); $data = $('
    ').append($data); } }else{ $data = $('
    ').append(name); } $data.addClass('report-item').attr('data', reportTimeHHmm); return $data; } var appendReportItemToCell = function($cell, $itemData){ if($cell){ var $items = $cell.find('.report-item'); if($items.length > 0){ var reportTimeHHmm = $itemData.attr('data'); for(var i=0; i<$items.length; i++){ var $item = $($items[i]); var reportTimeHHmmTmp = $item.attr('data'); if(reportTimeHHmm < reportTimeHHmmTmp){ $itemData.insertBefore($item); return; } } $cell.append($data); }else{ $cell.append($data); } } } var getCustomDaysOfReport = function(reportItem, month, year){ var days = []; var reportDate = item.reportDate; var reportTimeHHmm = parseInt(item.reportTimeHHmm); var day = item.day; var dt = toDateTime(reportDate, reportTimeHHmm); var itemMonth = '00' + dt.getMonth(); var itemYear = '0000' + dt.getFullYear(); var itemYM = parseInt(itemYear.substring(itemYear.length - 4) + itemMonth.substring(itemMonth.length - 2)); var yearTmp = '0000' + year; var monthTmp = '00' + month; var ym = parseInt(yearTmp.substring(yearTmp.length - 4) + monthTmp.substring(monthTmp.length - 2)); while(itemYM < ym){ dt = dt.addDays(day); itemMonth = '00' + dt.getMonth(); itemYear = '0000' + dt.getFullYear(); itemYM = parseInt(itemYear.substring(itemYear.length - 4) + itemMonth.substring(itemMonth.length - 2)); } while(itemYM == ym){ days.push(dt.getDate()); dt = dt.addDays(day); itemMonth = '00' + dt.getMonth(); itemYear = '0000' + dt.getFullYear(); itemYM = parseInt(itemYear.substring(itemYear.length - 4) + itemMonth.substring(itemMonth.length - 2)); } return days; } if(reportDataArray && reportDataArray.report_data){ var curDate = new Date(); var curTimeHHmm = curDate.getIntHHmm(); var curDate_yyyyMMdd = curDate.getIntyyyyMMdd(); var last7Day = curDate.addDays(-7); var last7Day_yyyyMMdd = last7Day.getIntyyyyMMdd(); for(var i=0; i 0) { var $data = getReportLink($cell, name, last7Day_yyyyMMdd, curDate_yyyyMMdd, curTimeHHmm, reportTimeHHmm, reportKey); $cell.append($data); dayTmp++; $cell = $('.openReportScheduleDialog form .calendar-day-content-' + dayTmp); }*/ if(item && item.days){ for(var k = 0; k < item.days.length; k++){ var dayTmp = item.days[k]; $cells = $('.openReportScheduleDialog form .calendar-dayofweek-' + dayTmp); for(var j = 0; j<$cells.length; j++){ $cell = $($cells[j]); var id = $cell.attr('id'); if(id >= reportDate){ var $data = getReportLink($cell, name, last7Day_yyyyMMdd, curDate_yyyyMMdd, curTimeHHmm, reportTimeHHmm, reportKey); //$cell.append($data); appendReportItemToCell($cell, $data); } } } }else{ var dayTmp = day; $cells = $('.openReportScheduleDialog form .calendar-dayofweek-' + dayTmp); for(var j = 0; j<$cells.length; j++){ $cell = $($cells[j]); var id = $cell.attr('id'); if(id >= reportDate){ var $data = getReportLink($cell, name, last7Day_yyyyMMdd, curDate_yyyyMMdd, curTimeHHmm, reportTimeHHmm, reportKey); //$cell.append($data); appendReportItemToCell($cell, $data); } } } break; case '2': // weekly if(item && item.days){ for(var k = 0; k < item.days.length; k++){ var dayTmp = item.days[k]; $cells = $('.openReportScheduleDialog form .calendar-dayofweek-' + dayTmp); for(var j = 0; j<$cells.length; j++){ $cell = $($cells[j]); var id = $cell.attr('id'); if(id >= reportDate){ var $data = getReportLink($cell, name, last7Day_yyyyMMdd, curDate_yyyyMMdd, curTimeHHmm, reportTimeHHmm, reportKey); //$cell.append($data); appendReportItemToCell($cell, $data); } } } }else{ var dayTmp = day; $cells = $('.openReportScheduleDialog form .calendar-dayofweek-' + dayTmp); for(var j = 0; j<$cells.length; j++){ $cell = $($cells[j]); var id = $cell.attr('id'); if(id >= reportDate){ var $data = getReportLink($cell, name, last7Day_yyyyMMdd, curDate_yyyyMMdd, curTimeHHmm, reportTimeHHmm, reportKey); //$cell.append($data); appendReportItemToCell($cell, $data); } } } break; case '3': // monthly var $cell = $('.openReportScheduleDialog form .calendar-day-content-' + day); if($cell.length == 0 && day == '31'){ day = '30'; $cell = $('.openReportScheduleDialog form .calendar-day-content-' + day); } if($cell.length == 0 && day == '30'){ day = '29'; $cell = $('.openReportScheduleDialog form .calendar-day-content-' + day); } if($cell.length == 0 && day == '29'){ day = '28'; $cell = $('.openReportScheduleDialog form .calendar-day-content-' + day); } var $data = getReportLink($cell, name, last7Day_yyyyMMdd, curDate_yyyyMMdd, curTimeHHmm, reportTimeHHmm, reportKey); appendReportItemToCell($cell, $data); break; case '4': var days = getCustomDaysOfReport(item, month, year); for(var k = 0; k < days.length; k++){ day = days[k]; var $cell = $('.openReportScheduleDialog form .calendar-day-content-' + day); var $data = getReportLink($cell, name, last7Day_yyyyMMdd, curDate_yyyyMMdd, curTimeHHmm, reportTimeHHmm, reportKey); appendReportItemToCell($cell, $data); } break; } } } } if(!reportScheduleDate){ reportScheduleDate = new Date(); } drawCalendar(reportScheduleDate); $('.openReportScheduleDialog .ui-customDatepicker .ui-datepicker-prev').off().click(function(){ reportScheduleDate = new Date(reportScheduleDate.getFullYear(), reportScheduleDate.getMonth() - 1, 1); drawCalendar(reportScheduleDate); }); $('.openReportScheduleDialog .ui-customDatepicker .ui-datepicker-next').off().click(function(){ reportScheduleDate = new Date(reportScheduleDate.getFullYear(), reportScheduleDate.getMonth() + 1, 1); drawCalendar(reportScheduleDate); }); //$('.openReportScheduleDialog .openReportScheduleDialogBtnSession .btnNow').off().click(function(){ $('.openReportScheduleDialog .btnNow').off().click(function(){ reportScheduleDate = new Date(); drawCalendar(reportScheduleDate); }); }, dataAuditReportDialog: function($dialog) { if(!dataNS.currentReport || dataNS.currentReport.type != '2'){ return; } }, openSpecialDialog: function($dialog) { var $formOwnerList = $dialog.find('.formowner'); var $searchTextBox = $dialog.find('.searchSession input.searchValue'); $searchTextBox.val(lbl_waiting).attr('readonly', true); $formOwnerList.empty(); $dialog.find('.errorMessage') .empty() .slideUp(); $dialog.find('status').find('div') .removeClass('waitingIcon') .slideUp(); $('.openSpecialDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $formOwnerList.append('
  • ' + lbl_loading + '
  • '); //$('.openSpecialDialog .openFormSortSession input[value="Form name"]').prop('checked', true); $('.openFormSortSession .headerSortDown').removeClass('headerSortDown'); $('.openFormSortSession .headerSortUp').removeClass('headerSortUp'); //$('.openFormSortSession .formNameHeader').addClass('headerSortUp'); var data = ''; var loadFormList = function(page){ $.ajax({ url: '/formbuilder/openForm?pubOnly=true&page=' + page, dataType: 'json', type: 'GET', cache: false, complete: function() { }, success: function(response, status) { if(response.FormOwner != ''){ data += response.FormOwner; if(!response.Continue){ $formOwnerList.empty(); $('.openSpecialDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $formOwnerList.append(data); $formOwnerList.find('.line_content_form_open.Draft').remove(); //$('.openSpecialDialog .openFormSortSession .formNameHeader').trigger('click'); /*CO-3924: Change default open form settings We want to default the open form screen to show the last modified record first. Currently i believe it is by name but we want it so the last modified record shows first when opening a form. */ $('.openSpecialDialog .openFormSortSession .formModifiedDateHeader').removeClass('headerSortUp').addClass('headerSortDown').trigger('click'); /* hqkhanh fix 0025536: On IE, not auto focus to search box when open form */ $searchTextBox.attr('readonly', false).val('').blur(); $searchTextBox.focus(); $('.openSpecialDialog .modalContents .scroll_contain').off().on('UpdateAction', function(){ $('.openSpecialDialog .modalContents .line_content_form_open').off().click(function(event){ $('.openSpecialDialog .modalContents .selected').removeClass('selected'); $(this).addClass('selected'); selectedFormKey = $(this).find('.form_link').attr('id'); }).dblclick(function(event){ $('.openSpecialDialog .modalContents .selected').removeClass('selected'); $(this).addClass('selected'); selectedFormKey = $(this).find('.form_link').attr('id'); event.preventDefault(); openSpecialForm(); }); }).trigger('UpdateAction'); }else{ loadFormList(page + 1); } }else{ if(page == 0){ $('.openSpecialDialog .modalButtonContainer .acceptLink').addClass(CONST_CSS_CLASS_HIDE_SESSION); }else{ $formOwnerList.empty(); $('.openSpecialDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $formOwnerList.append(data); /* hqkhanh fix 0025536: On IE, not auto focus to search box when open form */ $searchTextBox.attr('readonly', false).val('').blur(); $searchTextBox.focus(); $('.openSpecialDialog .modalContents .scroll_contain').off().on('UpdateAction', function(){ $('.openSpecialDialog .modalContents .line_content_form_open').off().click(function(){ $('.openSpecialDialog .modalContents .selected').removeClass('selected'); $(this).addClass('selected'); selectedFormKey = $(this).find('.form_link').attr('id'); }).dblclick(function(event){ $('.openSpecialDialog .modalContents .selected').removeClass('selected'); $(this).addClass('selected'); selectedFormKey = $(this).find('.form_link').attr('id'); event.preventDefault(); openSpecialForm(); }); }).trigger('UpdateAction'); } } updateDisplayDate4LocalTimeZone($formOwnerList); }, error: function(request, status, error) { $formOwnerList.empty(); $('.openSpecialDialog .modalButtonContainer .acceptLink').addClass(CONST_CSS_CLASS_HIDE_SESSION); /* hqkhanh fix 0025536: On IE, not auto focus to search box when open form */ $searchTextBox.attr('readonly', false).val('').blur(); $searchTextBox.focus(); if(getStatus(request) == 401){ $('.openSpecialDialog .errorMessage') .empty() .append('

    ' + err_donot_have_priv + '

    ') .slideDown(); }else{ $('.openSpecialDialog .errorMessage') .empty() .append('

    ' + err_could_not_open_form + '

    ') .slideDown(); } } }); } loadFormList(0); }, fvOpenDialog: function($dialog) { $dialog.find('.errorMessage') .empty() .slideUp(); $dialog.find('status').find('div') .removeClass('waitingIcon') .slideUp(); $('.openDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); loadProjectComboBox(); }, fvOpenIncompleteDialog: function($dialog) { //$formPublicList.empty(); $dialog.find('.errorMessage') .empty() .slideUp(); $dialog.find('status').find('div') .removeClass('waitingIcon') .slideUp(); $('.openDialog .modalButtonContainer .acceptLink').removeClass(CONST_CSS_CLASS_HIDE_SESSION); loadProjectIncompleteComboBox(); }, saveAsDialog: function($dialog) { $dialog.find('.saveAs_name').val($('.header #renameFormField').val()).off().keyup(function(e) { if((odkmaker.data.formSettings.formIconText || '') != ''){ }else{ $('.saveAsDialog .publicAdditionalInfo #formMenuName').empty().append($(this).val()); } }); if((odkmaker.data.formSettings.formIconText || '') != ''){ }else{ $('.saveAsDialog .publicAdditionalInfo #formMenuName').empty().append($('.header #renameFormField').val()); } $('input[name="r01"]').prop('checked', false); }, makeFormPublicDialog: function($dialog) { }, exportDialog: function($dialog) { $dialog.find('.exportCodeContainer pre').text(odkmaker.data.serialize()); }, exportJsonDialog: function($dialog) { var jsonData = {'controls': odkmaker.data.extract().controls}; jsonData.formSettings = odkmaker.data.formSettings; jsonData.record_names_array = glbHashObject['record_names_array']; $dialog.find('.exportCodeContainer pre').text(JSON.stringify(jsonData)); }, // previewForm: function($dialog) // { // makeParamater(); // }, // previewAndroid: function($dialog) // { // makeParamater(); // } }; $('.modal').jqm({ onShow: function(hash) { _.each(handlers, function(callback, key) { if (hash.w.hasClass(key)) callback(hash.w, hash.t); }); hash.o.prependTo('body'); hash.w.fadeIn('slow'); }, onHide : function(hash) { hash.w.fadeOut('slow',function(){ hash.o.remove(); }); }, modal: true }); /* $('.modal').jqm({ modal: true, onShow: function(jqm) { _.each(handlers, function(callback, key) { if (jqm.w.hasClass(key)) callback(jqm.w, jqm.t); }); jqm.w.fadeIn('slow'); jqm.o.fadeIn('slow'); }, onHide: function(jqm) { jqm.w.fadeOut('slow'); jqm.o.fadeOut('slow'); } }); */ // Apply toolbar icons : Open/Open Special // same as menu items : Open/Open Special in BuildForms GUI $.live('a[rel=modal], .toolBar4MenuBuildForm .buildFormIconOpen, .toolBar4MenuBuildForm .buildFormIconOpenSpecial', 'click', function(event) { event.preventDefault(); var $this = $(this); openFormForFunction = ""; $('.previewForm').removeClass('previewAndroid'); $('.previewForm').removeClass('previewBlackberry'); if($this.hasClass('previewAndroid')){ getModalSelector($this.attr('href')).addClass('previewAndroid'); } if($this.hasClass('previewBlackberry')){ getModalSelector($this.attr('href')).addClass('previewBlackberry'); } if ($this.hasClass('authRequired') && (odkmaker.auth.currentUser === null)) { $('.signinDialog').jqmShow(); return; } else if ($this.hasClass('destructive')) { if((dataNS.currentForm != undefined || $('.workspace:visible').children().length != 0) && needToConfirm){ jConfirm(msg_confirm_unsaved_changes, lbl_conf_dlg, function(answer) { if(answer){ getModalSelector($this.attr('href')).jqmShow(); } }); }else{ getModalSelector($this.attr('href')).jqmShow(); } }else if ($this.hasClass('fvNewForm') || $this.hasClass('fvOpenForm')) { if(needToConfirmFV){ jConfirm(msg_confirm_fv_unsaved_changes, lbl_conf_dlg, function(answer) { if(answer){ getModalSelector($this.attr('href')).jqmShow(); } }); }else{ getModalSelector($this.attr('href')).jqmShow(); } }else{ getModalSelector($this.attr('href')).jqmShow(); } }); $.live('.toolBar4MenuBuildReport .buildReportIconOpen', 'click', function(event) { event.preventDefault(); var $this = $(this); if ($this.hasClass('authRequired') && (odkmaker.auth.currentUser === null)) { $('.signinDialog').jqmShow(); return; } else if ($this.hasClass('destructive')) { if((dataNS.currentReport != undefined || $('.workspace:visible').children().length != 0) && needToConfirmReport){ jConfirm(msg_confirm_report_unsaved_changes, lbl_conf_dlg, function(answer) { if(answer){ getModalSelector($this.attr('href')).jqmShow(); } }); }else{ getModalSelector($this.attr('href')).jqmShow(); } }else{ getModalSelector($this.attr('href')).jqmShow(); } }); $.live('.toolBar4MenuBuildReport .buildReportIconSchedule', 'click', function(event) { event.preventDefault(); var $this = $(this); if ($this.hasClass('authRequired') && (odkmaker.auth.currentUser === null)) { $('.signinDialog').jqmShow(); return; }else{ getModalSelector($this.attr('href')).jqmShow(); } }); $('.modal form').submit(function(event) { event.preventDefault(); $(this).closest('.modal') .find('.acceptLink') .click(); }); $.live('.openDialog .jqmClose', 'click', function(event) { if(OPEN_FORM_FOR_FUNCTION_COMPONENTS == openFormForFunction) { $('.componentsDialog').jqmShow(); } }); }; Date.prototype.getIntyyyyMMdd = function() { var yyyy = this.getFullYear().toString(); var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based var dd = this.getDate().toString(); return parseInt(yyyy + (mm[1]?mm:"0"+mm[0]) + (dd[1]?dd:"0"+dd[0])); // padding }; Date.prototype.getIntHHmm = function() { // return number 1HHmm : 10101 var hh = this.getHours().toString(); var mm = this.getMinutes().toString(); return parseInt('1' + (hh[1]?hh:"0"+hh[0]) + (mm[1]?mm:"0"+mm[0])); // padding }; Date.prototype.addDays = function(days) { this.setDate(this.getDate() + parseInt(days)); return this; }; /** * Process open Hyperlink for ReportWriter on Scheduler * @param reportKey * @param createDate */ function openHyperlinkReportWriterOnScheduler(reportKey, createDate) { // Call AJAX request waitForDataLoading(true); $.ajax({ url : '/GetHyperlinkReportServlet', dataType : 'json', type : 'POST', data : { reportKey : reportKey ,createDate : createDate }, cache : false, success : function(response, status) { try { if (response.hyperlink !== undefined && response.hyperlink !== null && response.hyperlink !== '' ) { // Execute hyperlink $('#downloadFrame').attr('src', response.hyperlink); } else { // The current report may be deleted if (response.error !== undefined && response.error !== null && response.error !== '' ) { writeToLogInfoRequired('response.error : ' + response.error); } jAlert(msg_error_in_get_hyperlink_report_writer); } } catch (e) { } }, complete: function() { waitForDataLoading(false); }, error : function() { jAlert(msg_unknown_error); } }); } /* convert yyyymmdd with current time and timezone to yyyymmdd utc */ function convertUTCyyyymmdd(yyyymmdd, reportTimeHHmm){ var yyyymmddTmp = yyyymmdd + '00000000'; var year = yyyymmddTmp.substring(0,4); var month = yyyymmddTmp.substring(4,6); var day = yyyymmddTmp.substring(6,8); var reportTimeHHmmTmp = reportTimeHHmm + '00000'; var hh = reportTimeHHmmTmp.substring(1,3); var mm = reportTimeHHmmTmp.substring(3,5); var currentDate = new Date(); currentDate.setMonth(month - 1); currentDate.setDate(day); currentDate.setYear(year); currentDate.setHours(hh); currentDate.setMinutes(mm); currentDate.setSeconds(0); var yyyy = currentDate.getUTCFullYear().toString(); var mm = (currentDate.getUTCMonth()+1).toString(); // getMonth() is zero-based var dd = currentDate.getUTCDate().toString(); return parseInt(yyyy + (mm[1]?mm:"0"+mm[0]) + (dd[1]?dd:"0"+dd[0])); // padding } function toDateTime(yyyymmdd, reportTimeHHmm){ var yyyymmddTmp = yyyymmdd + '00000000'; var year = yyyymmddTmp.substring(0,4); var month = yyyymmddTmp.substring(4,6); var day = yyyymmddTmp.substring(6,8); var reportTimeHHmmTmp = reportTimeHHmm + '00000'; var hh = reportTimeHHmmTmp.substring(1,3); var mm = reportTimeHHmmTmp.substring(3,5); var currentDate = new Date(); currentDate.setMonth(month - 1); currentDate.setDate(day); currentDate.setYear(year); currentDate.setHours(hh); currentDate.setMinutes(mm); currentDate.setSeconds(0); return currentDate; } function updateDisplayDate4LocalTimeZone(formList){ var formItems = formList.find('.modified_date, .form_date'); for(var i=0; i