Hi,
As far as I can tell, the Regex field was never actually required. The asterisk was a mistake and should have been removed before.
On the other hand, when I checked the dynamic form, I fould out that the implementation was incomplete and the form on that particular page was in fact not extensible. We have replaced the form with a dynamic one and it will be available as of v2.8. You will, however, not see an asterisk on that specific label due to the simple fact that the field is optional. I am attaching a screenshot of how it looks after the replacement.
Thank you for your input. I wish you a nice day.
Hi @talhazengin,
We have been able to reproduce and solve the issue. There is an open PR and the problem will be solved soon. I will inform you about the progress and waht to do next.
Hi @talhazengin,
We have published a new package. Please run yarn upgrade @volo/abp.ng.identity.config
in your terminal to update the package. This should fix the issue.
I am waiting for your feedback before closing the issue.
Have a nice day.
Hi @syabp,
As far as I understand, you are using content from the original files. The error is due to the fact that the action buttons on the original grid are referring to the methods of the original component class. For example, the "Edit" button is configured as follows:
{
text: 'AbpIdentity::Edit',
action: data => {
const component = data.getInjected(RolesComponent);
component.onEdit(data.record.id);
},
permission: 'AbpIdentity.Roles.Update',
}
As you see, the EditButton tries to get injected RolesComponent from the dependency injection tree. In a similar way, "New role" button is configured as follows:
{
text: 'AbpIdentity::NewRole',
action: data => {
const component = data.getInjected(RolesComponent);
component.onAdd();
},
permission: 'AbpIdentity.Roles.Create',
icon: 'fa fa-plus',
}
Since you are replacing RolesComponent, you should either not use the extensible elements that refer to the original component, or replace default actions/props with your custom actions/props.
Our extension system is described in the linked documents here. You may find this document and this document particularly useful in your case.
Please let me know if your question is answered.
Have a cheerful day.
Hi,
The dispatchSetMenuPlacement
method of LayoutStateService
makes the UI change, i.e. moves the menu from left to top and vice versa.
If you want a persistent change, you should call the dispatchUpdateThemeSettings
method of the same service, which makes a PUT request to the /api/lepton-theme-management/settings
endpoint. You do not need to call the other method, it will happen upon successful request.
Please let me know this answers your question.
Have a nice day.
Hi,
Unfortunately, there is no hook that directly signals a dark/light background. The /api/lepton-theme-management/settings
endpoint responds with a style number, e.g. 4
and that is stored in the layout state. You can reach the style number via the getStyle
method of the LayoutStateService
in your logo component.
Another way is, replacing the PNG files inside assets/images/logo
directory. This may be more practical if the logo does not change per tenant.
On the other hand, both means require knowing which style number has a light background. Currently, only style 4
(theme 5) has a light background. Yet, of course, that may change. We will take this into consideration and may introduce an alternative indicator in the future.
Please let me know if this answers your question.
Have a nice day.
Hi,
There is no way of persisting Lepton settings per module. If a menu on top in a specific module for all users is what you need, then you can use OnInit
and OnDestroy
lifecycle hooks in the root component of that specific module. An example:
@Component({
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
})
export class DashboardComponent {
private menuPlacement: number;
constructor(private layout: LayoutStateService) {}
ngOnInit() {
this.menuPlacement = this.layout.getMenuPlacement();
this.layout.dispatchSetMenuPlacement(1);
}
ngOnDestroy() {
this.layout.dispatchSetMenuPlacement(this.menuPlacement);
}
}
Does this solve the issue for you?
Hi,
There is an Angular module startup template.
abp new Acme.BookStore -t module-pro -u angular
However, I recommend waiting a few days for ABP v3.0 release, since we made important changes.
Please let me know if this answers your question.
Have a nice day.