How to increase the width of mat-dialog-actions in Angular 8 - css

I need to use the entire dialog window space to utilize by both cancel and save buttons.
Can anyone help me on this?

Assuming that your buttons are contained in a mat-dialog-actions div, you can do this by simply adding the following definition to the CSS file of your dialog.
button {
flex-grow: 1;
}
Please have a look at the following StackBlitz

Related

Responsive buttons in react js render

I have a custon class inside my react js render , it's a style to make 3 buttons inline (2 on the right and one to the left) in the same line.
But the buttons are not responsive to mobile and other screens, I tried to put the style in a custom css stylesheet but it didn't work and the buttons didn't show up inline.
Here is my CodeSandBox.
Many thanks
Please check with the property flex-wrap: wrap on parentStyle. This will make the prev and next buttons move to the next line as you resize. Similarly you can use the same property in this line <div style={{ ...childStyle, justifyContent: "flex-end" }}> as well to move the next button below the prev button if the browser is resized further
Please take a look at this, I want to put each button in new line in this case :
Small screen test
They seem to line up - what is the problem?

Z-Index NOT working on Angular's Material Dialog

Bug:
Z-Index NOT working on Material Dialog
What is the expected behavior?
Z-Index should work on Material Dialog or Dialog should be on top of everything else.
What is the current behavior?
Material Dialog gets covered by select's options that are below.
What are the steps to reproduce?
https://stackblitz.com/edit/angular-gsa8kr-rkss7t?file=app/dialog-overview-example.html
Type text.
Select dropdown.
Screenshots: https://postimg.cc/gallery/2i3tc2sbc/
Is there anything else we should know?
Tried CSS fixes:
.modal__content,dialog-layout,mat-dialog-container,.mat-dialog-container,#cdk-overlay-0,.cdk-overlay-pane {
z-index: 9999 !important;
}
NONE of that worked.
The class holding the matdialog overlay is cdk-overlay-container
Add this code to your style.css
.cdk-overlay-container {
z-index: 9999 !important;
}
That should solve the issue.
The <select> element is an interactive content element in HTML. It and behaves like a right click context menu and is rendered above all document elements.
In your case, when you click on select after entering your name in the field, the following things happen in sequence:
Blur event on the textbox is called and dialog opens.
Select menu opens.
So, according the sequence, what is happening is correct i.e. the dialog is opening first and then the select, so the select is above dialog which is correct.
But of course the interface does not seems good when this happens so there is a workaround, i.e. hide the select when the dialog opens and then show it again after lets say 0.1 seconds. As the select hides, its menu will hide with it.
I have implemented it for you. Please have a look at this Stackblitz: Select closing on dialog open
Hope it helps.

Bootstrap 4 - Background move when I open a modal

Has you can see here :
https://live-example.bss.design/ (live example)
When I open a modal (click on signup on the top menu, then on the button) the background move since the modal put the body overflow hidden.
How can I avoid that ?
Actually that background not moving. When Modal is open then it apply the style
body{overflow:hidden;}
So the scroll bar is disabled. So the window expanded, not only the background
is moving.
If you don't like that please use following code,
body.modal-open {
overflow: auto;
}
You can remove the background movement by using the below code
.modal-open, body {overflow: inherit !important;}
"modal-open" class is added to the body.
You need to change js that adds modal-open. I know it is a strange behavior, but you have to do it :)
Intercept modal click for show and remove class to body adding to another element:
i. Modal is first added to Body and then removed and added to another element
$('#signUpModal').on('shown.bs.modal', function (e) {
$(body).removeClass('modal-open');
$('#otherElement').addClass('modal-open');
});
ii. and then intercept also the close of the modal and add an execution of a second remove:
$('#signUpModal').on('hidden.bs.modal', function (e) {
$('#otherElement').removeClass('modal-open');
});
And you'll be fine :)

Lightswitch HTML - screen over-stretches

I have noticed this for a while however that when using Lightswitch and setting properties to "Stretch to Container", that the screen sometimes appears to be over-stretched and moves items down to the next line, for example:
When pressing the "See My Projects Only" the buttons switch (so I hide this one and display the other option" using the below code:
if (screen.ChangeDefaultValue.count > 0) {
screen.ChangeDefaultValue.selectedItem = screen.ChangeDefaultValue.data[0];
screen.ChangeDefaultValue.selectedItem.HomepageProjectsDefault = false;
screen.DefaultOption = null;
myapp.applyChanges();
setTimeout(function () {
screen.Projects.refresh();
}, 100);
screen.findContentItem("SeeAllProjects").isVisible = false;
screen.findContentItem("SeeMyProjectsOnly").isVisible = true;
}
else {
}
This works perfectly, however as you can see in the 2nd image above, the button moves down below the parameter search box as if it has been overstretched. I have tried changing the margin and padding of the .msls-content however this error still occurs here and on multiple of my other pages.
Has anyone found a fix to this problem?
Further information:
I am using msls-2.5.3.css and is declared in the default.htm file
I have tried this https://social.msdn.microsoft.com/Forums/vstudio/en-US/fb1305c5-ac13-474e-8ae0-df74ebf12590/html-client-custom-control-stretch-to-container-sizing-bug-problem?forum=lightswitch
THE PROBLEM
this small block of code in the msls-2.5.3.css appears to be the issue however if I comment it out then other screens break. all of the padding in the height appears to disappear and they all overlap each other on the modal screens
.msls-clear {
clear: both;
}
In LightSwitch HTML, we can use column layout option to render the control in each column. By setting "stretch to container" property, column is only stretched to container size and not the control inside each column is stretched with container. Controls are properly rendered inside the container. Issue occurs due to the column width stretches when hide and show the content item and this is not related with component used in the page. Follow the below workaround solution while remove the content item dynamically by click on the button. Please remove the class ‘msls-clear’ on button click or apply clear: none to the class ‘msls-clear’.
this.element.parents(".msls-column").next(".msls-clear").removeClass("msls-clear")
Hope this will helps you..!
Thanks,
Francis
Im no expert in CSS but this appears to have fixed my issues:
.msls-clear {
clear: right;
max-width: 1850px;
}
all of the machines I have tested have a resolution of 1920 x 1080 so by reducing the width down slightly it will never over stretch the items.
I did originally comment out the clear: right; which worked in internet explorer, however I tested some Syncfusion controls in google chrome/firefox. I could not click on any of them and therefore had to add in the max-width.
If someone can propose a better solution I would be grateful but at least for now this works

How can I remove the built in delay on showing flex title window?

The flex title window component is nice and all, but before it shows up it insists on blurring out the background of your window if it's set to modal. What if I want it to just show up immediately or at least speed it up so that the user doesn't have to wait around to enter data. Am I going to have to build a custom component based on TitleWindow to get this or not have it be modal? If I were to do that could I extend current TitleWindow or just copy out the source directly?
Play with Application styles, such as modalTransparencyDuration.
Yes, you can apply those in the CSS:
global {
modalTransparencyBlur: 2;
modalTransparency: 0.8;
modalTransparencyColor: #000000;
modalTransparencyDuration: 500;
}
In your PopupManager set the modal to false.This will allow the user to interact with other popups.
PopUpManager.addPopUp(titleWindow, this, false);

Resources