@ismcagdas - a polite question,
Will Metronic 6 angular scripts be included in Zero v7 angular? It would be nice to know how to implement the wizard. And also the resizeable portlets, for that matter. If you don't use the components and therefore don't intend to include them, that's fine but could you instruct us on how to do so? I just thought I'd mention this whilst your major job appears to be implementing Metronic 6 in angular (from what I can see on the Metronic 6 branch that v7 is waiting for). If we're going to bite the bullet with this upgrade it would be nice to have something positive as a reason to upgrade!!!!
Ground Control to Major Tom....
Both very useful answers. Thanks.
Ok. It is still a problem and I have it on my issues list but there are more pressing issues. Re-opening this means having to get to know the entity history module all over again plus the changes you implemented at a later date. Thanks for the heads up.
Thanks, @maliming. It's not elegant to change the typings.d.ts file, it messes up the merge during the upgrade process. At the end of the day if the user selects the "No" button on the confirm dialogue it doesn't throw errors so I will watch your issue with interest. Thanks again for the help.
HI maliming, thanks for your attention but this is hieroglyphics to me. In my .ts file how do refer to sweet alert directly? In the code above you refer to "Swal.
", do I have to import this in some way? The sweet alert documentation is not entirely clear, I have read it but I'm not spending hours and hours to fix something that's not a show stopper.
How do invoke the Swal api?
Hi Aaron, I suppose you're suggesting I do something like this:
abp.libs.sweetAlert.config.confirm.buttons = [abp.localization.abpWeb('Ok')];
But what module do I import for abp.libs
?
Property libs does not exist on type 'typeof abp'
What am I missing?
@dev_frontrush, There doesn't seem to be a method of adding files to this forum. If you want to post your email I can help by sending you my code files but I haven't the time to document exactly how to implement at the moment, I'm in the middle of an implementation. The code below shows how I implement filters, hopefully it may help, I suspect you may be having a problem with the long descriptor.
[DontWrapResult(WrapOnError = true)]
public async Task<JsonResult> GetEntities([DataSourceRequest]DataSourceRequest request, int isDeleted)
{
//for testing...
isDeleted = 0;
//cast string to Guid
if (request.Filters != null)
{
ModifyFilters(request.Filters);
}
var query = await _ncEntityService.GetSPEntityIQueryableForKendoGrid(isDeleted);
var model = await query.ToDataSourceResultAsync(request);
return Json(model);
}
And the modified filter code:
private void ModifyFilters(IList<IFilterDescriptor> filters)
{
if (filters.Any())
{
foreach (var filter in filters)
{
var descriptor = filter as FilterDescriptor;
if (descriptor != null && descriptor.Member == "id")
{
descriptor.Value = ToGuid(descriptor.Value.ToString());
descriptor.MemberType = typeof(Guid);
}
else if (descriptor != null && descriptor.Member == "userName")
{
var user = _userRepository.FirstOrDefault(m => m.UserName == descriptor.Value.ToString());
descriptor.Value = 0;
if (user != null)
{
descriptor.Value = user.Id;
}
descriptor.Member = "userId";
descriptor.MemberType = typeof(long);
}
else if (filter is CompositeFilterDescriptor)
{
ModifyFilters(((CompositeFilterDescriptor)filter).FilterDescriptors);
}
}
}
}
@dev_frontrush, yep I use the grid in two or three different flavours but it's something I didn't document. It might take a couple of days but I'll try get some basic instructions together for you, I'm up to my ears right now.