let USER_ALIAS = decodeURIComponent(window.location.pathname.split("/").pop()), UNIQUE_CODE = USER_ALIAS.split("-").pop(), PAGE_NUMBER = 1 $(document).ready(function(){ getUserPorifle() getUserReview() //render datatable let website_table = $('#website-datatable').DataTable( { processing: true, serverSide: true, searching: true, ordering: false, ajax: { async: true, url: `${WEBSITE_API_URL}by-seller-code`, type: "GET", dataType: "json", crossDomain: true, data: function ( d ) { let newObj = {} let start = d.start let size = d.length newObj.page_number = d.start > 0 ? (start/size) : 0; newObj.page_size = size newObj.search = d.search.value newObj.draw = d.draw newObj.code = UNIQUE_CODE d = newObj return d }, error: function(res) { const response = JSON.parse(res.responseText) let isRetry = retryRequest(response) if(isRetry) $.ajax(this) } }, columns: [ { data: "website_url", className: "dt-body-center", render: function (data, type, row, meta) { let url = `${data}` if(parseInt(row.is_premium)){ url += ' ' } return url } }, { data: "category", render: function (data, type, row, meta) { let categoryHtml = `` for(const item of data){ const badge = `${item.category_name}  ` categoryHtml += badge } return categoryHtml } }, { data: "guest_post_price", render: function (data, type, row, meta) { return formatRupiah(data, true) } }, { data: "da", render: function (data, type, row, meta) { return data ? data : '-' } }, { data: "pa", render: function (data, type, row, meta) { return data ? data : '-' } }, { data: "status", render: function (data, type, row, meta) { let color = "light" if(data == 'INACTIVE'){ color = 'danger' }else if(data == 'ONVERIFY'){ color = 'info' }else if(data == 'ACTIVE'){ color = 'primary' }else if(data == 'BANNED'){ color = 'danger' } let badge = `${data}` return badge } }, { data: "id", render: function (data, type, row, meta) { let button = `  Pesan ` return button } } ] }); $("body").delegate(".review-pagination-item", "click", function(e){ e.preventDefault() e.stopImmediatePropagation() let page = $(this).data('page') PAGE_NUMBER = page console.log('page:',PAGE_NUMBER) getUserReview() window.scrollTo(0, 0); }); $("body").delegate(".review-pagination-previous", "click", function(e){ e.preventDefault() e.stopImmediatePropagation() PAGE_NUMBER -= 1 console.log('page:',PAGE_NUMBER) getUserReview() window.scrollTo(0, 0); }) $("body").delegate(".review-pagination-next", "click", function(e){ e.preventDefault() e.stopImmediatePropagation() PAGE_NUMBER += 1 console.log('page:',PAGE_NUMBER) getUserReview() window.scrollTo(0, 0); }) }) function getUserReview(){ $.ajax({ async: true, url: `${REVIEW_API_URL}seller?code=${UNIQUE_CODE}&page_number=${PAGE_NUMBER-1}&page_size=5`, type: 'GET', error: function(res) { const response = JSON.parse(res.responseText) let isRetry = retryRequest(response) if(isRetry) $.ajax(this) }, success: function(res) { if(res.data.length > 0){ let totalPage = Math.ceil(res.recordsTotal/5) renderUserReview(res.data) renderUserReviewPagination(totalPage) }else{ $('#user-review').hide() $('#user-review-notfound').show() } } }); } function getUserPorifle(){ $.ajax({ async: true, url: `${USER_API_URL}by-unique-code/${UNIQUE_CODE}`, type: 'GET', error: function(res) { const response = JSON.parse(res.responseText) let isRetry = retryRequest(response) if(isRetry) $.ajax(this) }, success: function(res) { renderUserProfile(res.data) } }); } function renderUserReview(reviews){ let reviews_html = `` reviews.forEach(item => { let item_html = `
Fannie Summers
${generateRatingStar(item.rating)}
${item.buyer_name}

${item.review}

${formatDateID(item.created_at)}
` reviews_html += item_html }) $('#user-review').html(reviews_html) } function renderUserProfile(data){ $('#user-fullname').html(`${data.first_name} ${data.last_name}`) $('#user-email').html(data.email) $('#user-phone').html(data.phone) $('#total-website').html(data.total_website) $('#total-order').html(data.order_total) $('#total-order-complete').html(data.order_total_complete) $('#total-order-ongoing').html(data.order_total_ongoing) $('#total-order-cancel').html(data.order_total_cancel) $('#user-rating').html(``) $('#user-rating-display').rating({displayOnly: true, step: 0.01}); } function renderUserReviewPagination(totalPage){ if(totalPage > 1){ let fullPagesHtml = `` let previousDisable = PAGE_NUMBER == 1 ? 'disabled' : '' let nextDisable = PAGE_NUMBER == totalPage ? 'disabled' : '' let isPageLimit = totalPage > 5 ? true : false; let previousHtml = `
  • ` let nextHtml = `
  • ` let pagesHtml = `` for(let i=1; i<=totalPage; i++){ const pageActive = i == PAGE_NUMBER ? 'active' : '' const pageDisabled = i == PAGE_NUMBER ? '' : 'href="#"' let pageHtml = `` if(isPageLimit){ if(i == PAGE_NUMBER){ pageHtml = `
  • ${i}
  • ` }else if(i == PAGE_NUMBER-1 || i == PAGE_NUMBER+1){ pageHtml = `
  • ${i}
  • ` }else if(i == PAGE_NUMBER-10 || i == PAGE_NUMBER+10){ pageHtml = `
  • ...
  • ` } }else{ pageHtml = `
  • ${i}
  • ` } pagesHtml += pageHtml } fullPagesHtml = `${previousHtml}${pagesHtml}${nextHtml}` $(`#review-pagination`).html(fullPagesHtml) }else{ $(`#review-pagination`).html("") } }