Browse Source

Improve Organization members view component

pull/41/head
Berkan Sasmaz 5 years ago
parent
commit
8014e69b11
  1. 16
      src/EventHub.Web/Controllers/WidgetsController.cs
  2. 23
      src/EventHub.Web/Pages/Organizations/Components/MembersArea/MembersAreaViewComponent.cs
  3. 45
      src/EventHub.Web/Pages/Organizations/Components/MembersArea/members-area.js

16
src/EventHub.Web/Controllers/WidgetsController.cs

@ -19,11 +19,23 @@ namespace EventHub.Web.Controllers
} }
[HttpGet] [HttpGet]
public IActionResult OrganizationMembersArea(Guid organizationId) public IActionResult OrganizationMembersArea(
Guid organizationId,
int? skipCount,
int maxResultCount,
bool isPagination,
bool isMoreDetail)
{ {
return ViewComponent( return ViewComponent(
typeof(MembersAreaViewComponent), typeof(MembersAreaViewComponent),
new {organizationId} new
{
organizationId,
skipCount,
maxResultCount,
isPagination,
isMoreDetail
}
); );
} }

23
src/EventHub.Web/Pages/Organizations/Components/MembersArea/MembersAreaViewComponent.cs

@ -1,6 +1,5 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using EventHub.Organizations.Memberships; using EventHub.Organizations.Memberships;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -68,28 +67,6 @@ namespace EventHub.Web.Pages.Organizations.Components.MembersArea
public bool IsPagination { get; set; } public bool IsPagination { get; set; }
public bool IsMoreDetail { get; set; } public bool IsMoreDetail { get; set; }
public string GetMemberName(OrganizationMemberDto member)
{
var nameBuilder = new StringBuilder();
if (!member.Name.IsNullOrEmpty())
{
nameBuilder.Append(member.Name);
}
if (!member.Surname.IsNullOrEmpty())
{
nameBuilder.Append(member.Surname);
}
if (nameBuilder.Length == 0)
{
nameBuilder.Append(member.UserName);
}
return nameBuilder.ToString();
}
} }
} }
} }

45
src/EventHub.Web/Pages/Organizations/Components/MembersArea/members-area.js

@ -1,5 +1,7 @@
(function () { (function () {
abp.widgets.MembersArea = function ($wrapper) { abp.widgets.MembersArea = function ($wrapper) {
var widgetManager = $wrapper.data('abp-widget-manager');
var organizationId = $wrapper.find('[data-organization-id]').attr('data-organization-id'); var organizationId = $wrapper.find('[data-organization-id]').attr('data-organization-id');
var totalCount = Number($wrapper.find('[data-total-count]').attr('data-total-count')) var totalCount = Number($wrapper.find('[data-total-count]').attr('data-total-count'))
var skipCount = Number($wrapper.find('[data-skip-count]').attr('data-skip-count')) var skipCount = Number($wrapper.find('[data-skip-count]').attr('data-skip-count'))
@ -9,7 +11,16 @@
var hashCode = Number($wrapper.find('[data-hash-code]').attr('data-hash-code')) var hashCode = Number($wrapper.find('[data-hash-code]').attr('data-hash-code'))
skipCount += maxResultCount; skipCount += maxResultCount;
function moreDetailFilter() { function getFilters() {
return {
organizationId: organizationId,
maxResultCount: maxResultCount,
isPagination: isPagination,
isMoreDetail: isMoreDetail
};
}
function manipulateDOMForMoreDetail() {
var hashCode = Number($wrapper.find('[data-hash-code]').attr('data-hash-code')) var hashCode = Number($wrapper.find('[data-hash-code]').attr('data-hash-code'))
$('#MemberList-' + hashCode + '> div').addClass('col-6 col-md-4 col-lg-2'); $('#MemberList-' + hashCode + '> div').addClass('col-6 col-md-4 col-lg-2');
$('#MemberList-' + hashCode + '> * > div > .member-name').removeAttr('style'); $('#MemberList-' + hashCode + '> * > div > .member-name').removeAttr('style');
@ -17,8 +28,8 @@
$('#load-more-section-' + hashCode).addClass('text-center mt-3'); $('#load-more-section-' + hashCode).addClass('text-center mt-3');
} }
if (isMoreDetail === 'True'){ if (isMoreDetail === 'True') {
moreDetailFilter() manipulateDOMForMoreDetail()
} }
function init() { function init() {
@ -36,8 +47,8 @@
memberList.append(response); memberList.append(response);
skipCount += maxResultCount; skipCount += maxResultCount;
}).always(function () { }).always(function () {
if (isMoreDetail === 'True'){ if (isMoreDetail === 'True') {
moreDetailFilter() manipulateDOMForMoreDetail()
} }
if (skipCount >= totalCount) { if (skipCount >= totalCount) {
loadMoreButton.hide(); loadMoreButton.hide();
@ -46,24 +57,18 @@
}); });
}); });
} }
abp.event.on("EventHub.Organization.JoinStatusChanged", function () {
var memberAreaWidgets = document.querySelectorAll('[data-widget-name="MembersArea"]')
memberAreaWidgets.forEach(function(entry) {
$(entry).data('abp-widget-manager')
.refresh();
});
});
return { return {
getFilters: function () { getFilters: getFilters,
return {
organizationId: organizationId,
skipCount: skipCount,
maxResultCount: maxResultCount,
isPagination: isPagination,
isMoreDetail: isMoreDetail
};
},
init: init init: init
}; };
}; };
abp.event.on("EventHub.Organization.JoinStatusChanged", function () {
$('[data-widget-name="MembersArea"]')
.data('abp-widget-manager')
.refresh();
});
})(); })();

Loading…
Cancel
Save