Activities of "tony.chen@sjrb.ca"

Hello Sumeyye, we don't have plan on using Angular Material components. We want to use out-of-box components from ABP framework, and this component injection for Modal windows is important for building the front-end application. I would like your team to consider on adding this feature into your roadmap. Thanks.

Thanks for the advice. Is that possible ABP can include this type of feature by default?

I believe this can benefit all users. Also, angular material UI uses the same practice. (https://material.angular.io/components/dialog/api)

Hello Anjali,

Thanks for the answer.

Thanks Liang. Works now, forgot the directive thing, lol. FYI, I am doing stand-alone components so I need import all of them separately. standalone: true, imports: [NgxDatatableModule, NgxDatatableListDirective, NgxDatatableDefaultDirective],

I would love to see next ABP Angular template fully leveraging on stand-alone, no zone.js, and Signals.

Got it. Thanks.

Thanks Liang! I will add into my bookmark.

Seems like ABP is using two different data table libraries: https://swimlane.gitbook.io/ngx-datatable and https://datatables.net

What's the direction on this? Do we know if ABP is going to consolidate this?

Thanks! working now.

Still no lucky... I copied all your code.

This if statement always returns false on this logic: subpath.Contains(BundlingOptions.Value.BundleFolderName, StringComparison.OrdinalIgnoreCase) <-- I tired in both debug and release builds.

        if (!subpath.IsNullOrWhiteSpace() &amp;&amp; fileInfo is NotFoundFileInfo &amp;&amp;
            subpath.Contains(BundlingOptions.Value.BundleFolderName, StringComparison.OrdinalIgnoreCase))
        {
            var filePath = NormalizePath(subpath);
            var cacheItem = Cache.Get(filePath);
            if (cacheItem == null)
            {
                return fileInfo;
            }

            fileInfo = new InMemoryFileInfo(filePath, cacheItem.FileContent, cacheItem.Name);
            DynamicFiles.AddOrUpdate(filePath, fileInfo, (key, value) =&gt; fileInfo);
        }

Hello Ming, I tried this way, but I don't see any cache created in redis.

I put a break point in this function but never called.

public void AddOrUpdate(IFileInfo fileInfo)
{
var filePath = fileInfo.GetVirtualOrPhysicalPathOrNull();
Cache.GetOrAdd(filePath!, () => new InMemoryFileInfoCacheItem(filePath!, fileInfo.ReadBytes(), fileInfo.Name));
DynamicFiles.AddOrUpdate(filePath!, fileInfo, (key, value) => fileInfo);
ReportChange(filePath!);
}

However, this function get called constantly during the loading time

 public override IFileInfo GetFileInfo(string? subpath)
 {
....
}

I even did this to replace everything

[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(CachedDynamicFileProvider), typeof(DynamicFileProvider), typeof(IDynamicFileProvider))]
public class CachedDynamicFileProvider : DictionaryBasedFileProvider, IDynamicFileProvider, ISingletonDependency
{
...
}

Thanks Ming! Do you know when this fix will be released? Looks like I need wait base class get changed, I can't overwrite AddOrUpdate and Delete functions.

Showing 1 to 10 of 13 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 19, 2024, 10:13