var my_constant_length = 40; $(document).ready(function(){ var str = null; jQuery('body').addClass('yui-skin-sam'); callCompetitorSummary(20, false, str); // CLICK EVENT FOR BUILT REPORT BUTTON $("#build_report").bind('click',function(){ var str = $("form").serialize(); callCompetitorSummary(20, false, str); }); // CLICK EVENT FOR DOWNLOAD TO EXCEL BUTTON /*$("#download_excel").bind('click',function(){ //$('#download_excel').showLoading(); var str = $("form").serialize(); var url = 'pla_export_excel/?action=comp_summary&'+str; window.location.href = url; });*/ $("#download_excel").bind('click',function(){ var str = null; str = $("form").serialize(); var url = 'pla_export_excel?action=comp_summary&'+str; jQuery.ajax({ type: "GET", url: url, dataType: "html", beforeSend: function() { $('#download_excel').showLoading({'addLoading':'seo-loader-indicator'}); }, success: function(msg){ //alert(msg); $('#download_excel').hideLoading({'addLoading':'seo-loader-indicator'}); window.location.href = msg; } }); }); }); function savePromoChange(argId) { var txtbox_id = '#promotxt_'+argId; var span_id = '#promotxt_count_'+argId; var save_id = '#save_promo_'+argId; var cancel_id = '#cancel_promo_'+argId; var promo_txt = $(txtbox_id).val(); var url = 'promo-grid.php'; jQuery.ajax({ type: "POST", url: url, data: 'action=save_promo_change&promotion='+promo_txt+'&prd_group_id='+argId, dataType: "html", beforeSend: function() { $(save_id).showLoading({'addLoading':'seo-loader-indicator'}); }, success: function(msg){ $(save_id).hideLoading({'addLoading':'seo-loader-indicator'}); $("#hidden_promo_change_"+argId).val(msg); $("#raw_promo_"+argId).html(msg); $(txtbox_id).val(msg); $("#raw_promo_"+argId).show(); $('#txt_box_with_count_'+argId).hide(); $('#promo_change_actions_'+argId).hide(); } }); } function cancelPromoChange(argOldValue, argId) { var txtbox_id = '#promotxt_'+argId; var span_id = '#promotxt_count_'+argId; var save_id = '#save_promo_'+argId; var cancel_id = '#cancel_promo_'+argId; var hidden_promo_val = $("#hidden_promo_change_"+argId).val(); var len = hidden_promo_val.length; $(txtbox_id).val(hidden_promo_val); $(span_id).html(len); $("#raw_promo_"+argId).show(); $('#txt_box_with_count_'+argId).hide(); $('#promo_change_actions_'+argId).hide(); } function findPromoTxtLength(argId){ var txtbox_id = '#promotxt_'+argId; var span_id = '#promotxt_count_'+argId; var save_id = '#save_promo_'+argId; var cancel_id = '#cancel_promo_'+argId; $('.promo_change_actions').hide(); $('#promo_change_actions_'+argId).show(); var my_txt = $(txtbox_id).val(); var len = my_txt.length; if(my_constant_length >= len) { $(txtbox_id).val(my_txt); $(span_id).html(my_constant_length - len); } else { var res = my_txt.substring(0,my_constant_length); $(txtbox_id).val(res); } } function showPromoTxtBox(argObj, argId) { $('.raw_promo_text').show(); $(".txt_box_with_count").hide(); $("#"+argObj.id).hide(); $('#txt_box_with_count_'+argId).show(); } function callCompetitorSummary(argRowLimit, is_show_all, filter_str){ var varRowLimit = argRowLimit; //YAHOO.util.Event.onDOMReady(function() { YAHOO.example.DynamicData = function() { var myColumnDefs = [ {key:"prd_group_id", hidden:true}, {key:"group_title", label:"AdGroups", sortable:true}, {key:"products", label:"Products"}, {key:"price_range", label:"Price range"}, {key:"promotion", label:"Promo text", resizeable:true, formatter:"myCustom"} ]; //formatter:"myCustom", var ParseFloat = function(sDataObj){return parseFloat(sDataObj)} var ajax_url = 'promo-grid.php'; var myDataSource = new YAHOO.util.DataSource(ajax_url+'?'); myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON; myDataSource.responseSchema = { resultsList: "records", fields: ["prd_group_id","group_title","products","price_range","promotion"], metaFields: { totalRecords: "totalRecords" // Access to value in the server response } }; var myCustomFormatter = function(elLiner, oRecord, oColumn, oData) { //var columnKey = oColumn.getKey(); //var competitor = oRecord.getData('competitor'); //if(competitor == 'competitor') { var columnKey = oColumn.getKey(); if (columnKey == 'promotion') { var txt_box = null; var prd_grp_id = oRecord.getData('prd_group_id'); var raw_promo_txt = ''+oData+''; var txt_box_with_count = '
'+(my_constant_length - oData.length)+'
'; var promo_actions = '
SaveCancel
'; var hidden_promo_change = ''; elLiner.innerHTML = raw_promo_txt+txt_box_with_count+promo_actions+hidden_promo_change; } else if (columnKey == 'min_price' || columnKey == 'max_price') { if(oData == 'undefined' || oData == null ) { elLiner.innerHTML = null; } else { elLiner.innerHTML = '£'+number_format (oData, 2, '.', ','); } } else if (columnKey == 'pla_link_count' || columnKey == 'pla_presence') { if(oData == 'undefined' || oData == null ) { elLiner.innerHTML = null; } else { elLiner.innerHTML = number_format (oData, '', '', ','); } } else if (columnKey == 'reach' || columnKey == 'links_per_pla') { if(oData == 'undefined' || oData == null ) { elLiner.innerHTML = null; } else { elLiner.innerHTML = number_format (oData, 2, '.', ','); } } //} return true; }; // Add the custom formatter to the shortcuts YAHOO.widget.DataTable.Formatter.myCustom = myCustomFormatter; var isChecked = null; if(is_show_all == true) { isChecked = "checked='checked'"; } // SHOW ALL HTML DATA var showAllContainer = "Show All "; if(argRowLimit == null) { argRowLimit = 20; } var generateRequest = function(oState, oSelf) { oState = oState || { pagination: null, sortedBy: null }; var sortby = (oState.sortedBy) ? oState.sortedBy.key : "group_title"; var dir = (oState.sortedBy && oState.sortedBy.dir === YAHOO.widget.DataTable.CLASS_DESC) ? "asc" : "desc"; var startIndex = (oState.pagination) ? oState.pagination.recordOffset : 0; var results = (oState.pagination) ? oState.pagination.rowsPerPage : 25; var oRequest = "sort="+sortby+"&dir="+dir+"&startIndex="+startIndex+"&results="+argRowLimit+"&"+filter_str; return oRequest; }; var oConfigs = { paginator: new YAHOO.widget.Paginator({ rowsPerPage: varRowLimit, template : "{FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} "+showAllContainer }), generateRequest : generateRequest, initialRequest: "sort=group_title&dir=asc&startIndex=0&results="+argRowLimit+"&"+filter_str, dynamicData: true, width:"100%" }; var myDataTable = new YAHOO.widget.DataTable("paginated", myColumnDefs, myDataSource, oConfigs); var pagRequest = false; // SHOW ALL myDataTable.subscribe("renderEvent", function (e) { $('.show-all').unbind('click'); if(!pagRequest) { $('.show_all').click(function(e){ YAHOO.util.Event.preventDefault(e); // prevent the link from reloading the page var parentDivId = '#'+$(this).closest('div').attr('id'); var rowLimit = $(parentDivId+' .show_all').is(':checked') == true ? oConfigs.paginator.get('totalRecords') : 20; var formElements = $("form").serialize(); if($(parentDivId+' .show_all').is(':checked') == true) { if(confirm('This will take few minute(s) to load, would you like to continue?')){ callCompetitorSummary(rowLimit, $(parentDivId+' .show_all').is(':checked'), formElements); } } else { callCompetitorSummary(rowLimit, $(parentDivId+' .show_all').is(':checked'), formElements); } }); } }); // HANDLE PAGING CLICK EVENT myDataTable.get( 'paginator' ).on( 'changeRequest', function (){ pagRequest = true; }); // HANDLE COLUMN SORT EVENT myDataTable.subscribe("columnSortEvent", function (e) { // CREATE HIDDEN ELEMENTS TO STORE SORT BY AND SORT DIR TO EXPORT THE GRID AS EXCEL $( "#txt_sortby" ).remove(); $( "#txt_sortdir" ).remove(); $('form').append(''); $('form').append(''); pagRequest = true; }); // Update totalRecords on the fly with value from server myDataTable.handleDataReturnPayload = function(oRequest, oResponse, oPayload) { oPayload.totalRecords = oResponse.meta.totalRecords; return oPayload; } return { oDS: myDataSource, oDT: myDataTable }; }(); //}); }