mirror of
https://gitlab.nic.cz/turris/reforis/foris-js.git
synced 2024-11-14 17:35:35 +01:00
Merge branch 'fix-button-spinner' into 'dev'
Button: Fix loading state & button's layout See merge request turris/reforis/foris-js!211
This commit is contained in:
commit
80619fab3c
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
|
* Copyright (C) 2019-2023 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||||
*
|
*
|
||||||
* This is free software, licensed under the GNU General Public License v3.
|
* This is free software, licensed under the GNU General Public License v3.
|
||||||
* See /LICENSE for more information.
|
* See /LICENSE for more information.
|
||||||
|
@ -31,24 +31,25 @@ export function Button({
|
||||||
children,
|
children,
|
||||||
...props
|
...props
|
||||||
}) {
|
}) {
|
||||||
let buttonClass = className ? `btn ${className}` : "btn btn-primary ";
|
let buttonClass = className ? `btn ${className}` : "btn btn-primary";
|
||||||
if (forisFormSize) {
|
if (forisFormSize) {
|
||||||
buttonClass = `${buttonClass} col-sm-12 col-md-3 col-lg-2`;
|
buttonClass = `${buttonClass} col-sm-12 col-md-3 col-lg-2`;
|
||||||
}
|
}
|
||||||
|
|
||||||
const span = loading ? (
|
|
||||||
<span
|
|
||||||
className="spinner-border spinner-border-sm"
|
|
||||||
role="status"
|
|
||||||
aria-hidden="true"
|
|
||||||
/>
|
|
||||||
) : null;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<button type="button" className={buttonClass} {...props}>
|
<button
|
||||||
{span}
|
type="button"
|
||||||
{span ? " " : null}
|
className={`${buttonClass} d-inline-flex justify-content-center align-items-center`}
|
||||||
{children}
|
{...props}
|
||||||
|
>
|
||||||
|
{loading && (
|
||||||
|
<span
|
||||||
|
className="spinner-border spinner-border-sm mr-1"
|
||||||
|
role="status"
|
||||||
|
aria-hidden="true"
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
<span>{children}</span>
|
||||||
</button>
|
</button>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,3 +31,7 @@
|
||||||
.spinner-fs-wrapper .spinner-text {
|
.spinner-fs-wrapper .spinner-text {
|
||||||
margin: 1rem;
|
margin: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.spinner-border-sm {
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
|
@ -2,33 +2,38 @@
|
||||||
|
|
||||||
exports[`<Button /> Render button correctly 1`] = `
|
exports[`<Button /> Render button correctly 1`] = `
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary "
|
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
Test Button
|
<span>
|
||||||
|
Test Button
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`<Button /> Render button with custom classes 1`] = `
|
exports[`<Button /> Render button with custom classes 1`] = `
|
||||||
<button
|
<button
|
||||||
class="btn one two three"
|
class="btn one two three d-inline-flex justify-content-center align-items-center"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
Test Button
|
<span>
|
||||||
|
Test Button
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`<Button /> Render button with spinner 1`] = `
|
exports[`<Button /> Render button with spinner 1`] = `
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary "
|
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
class="spinner-border spinner-border-sm"
|
class="spinner-border spinner-border-sm mr-1"
|
||||||
role="status"
|
role="status"
|
||||||
/>
|
/>
|
||||||
|
<span>
|
||||||
Test Button
|
Test Button
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -301,10 +301,12 @@ exports[`<WiFiSettings/> Snapshot both modules disabled. 1`] = `
|
||||||
class="text-right"
|
class="text-right"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary col-sm-12 col-md-3 col-lg-2"
|
class="btn btn-primary col-sm-12 col-md-3 col-lg-2 d-inline-flex justify-content-center align-items-center"
|
||||||
type="submit"
|
type="submit"
|
||||||
>
|
>
|
||||||
Save
|
<span>
|
||||||
|
Save
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -322,10 +324,12 @@ exports[`<WiFiSettings/> Snapshot both modules disabled. 1`] = `
|
||||||
class="text-right"
|
class="text-right"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary col-sm-12 col-md-3 col-lg-2"
|
class="btn btn-primary col-sm-12 col-md-3 col-lg-2 d-inline-flex justify-content-center align-items-center"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
Reset Wi-Fi Settings
|
<span>
|
||||||
|
Reset Wi-Fi Settings
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -435,13 +439,13 @@ exports[`<WiFiSettings/> Snapshot guest network. 1`] = `
|
||||||
class=\\"text-right\\"
|
class=\\"text-right\\"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
class=\\"btn btn-primary col-sm-12 col-md-3 col-lg-2\\"
|
class=\\"btn btn-primary col-sm-12 col-md-3 col-lg-2 d-inline-flex justify-content-center align-items-center\\"
|
||||||
+ disabled=\\"\\"
|
+ disabled=\\"\\"
|
||||||
type=\\"submit\\"
|
type=\\"submit\\"
|
||||||
>
|
>
|
||||||
Save
|
<span>
|
||||||
</button>
|
Save
|
||||||
</div>"
|
</span>"
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
|
exports[`<WiFiSettings/> Snapshot one module enabled. 1`] = `
|
||||||
|
|
|
@ -46,16 +46,20 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
||||||
class="modal-footer"
|
class="modal-footer"
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary "
|
class="btn btn-primary d-inline-flex justify-content-center align-items-center"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
Cancel
|
<span>
|
||||||
|
Cancel
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="btn btn-danger"
|
class="btn btn-danger d-inline-flex justify-content-center align-items-center"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
Confirm reboot
|
<span>
|
||||||
|
Confirm reboot
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -63,10 +67,12 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
class="btn btn-danger"
|
class="btn btn-danger d-inline-flex justify-content-center align-items-center"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
Reboot
|
<span>
|
||||||
|
Reboot
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
@ -77,10 +83,12 @@ exports[`<RebootButton/> Render. 1`] = `
|
||||||
id="modal-container"
|
id="modal-container"
|
||||||
/>
|
/>
|
||||||
<button
|
<button
|
||||||
class="btn btn-danger"
|
class="btn btn-danger d-inline-flex justify-content-center align-items-center"
|
||||||
type="button"
|
type="button"
|
||||||
>
|
>
|
||||||
Reboot
|
<span>
|
||||||
|
Reboot
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
|
@ -3,17 +3,18 @@
|
||||||
exports[`<SubmitButton/> Render load 1`] = `
|
exports[`<SubmitButton/> Render load 1`] = `
|
||||||
<div>
|
<div>
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary col-sm-12 col-md-3 col-lg-2"
|
class="btn btn-primary col-sm-12 col-md-3 col-lg-2 d-inline-flex justify-content-center align-items-center"
|
||||||
disabled=""
|
disabled=""
|
||||||
type="submit"
|
type="submit"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
class="spinner-border spinner-border-sm"
|
class="spinner-border spinner-border-sm mr-1"
|
||||||
role="status"
|
role="status"
|
||||||
/>
|
/>
|
||||||
|
<span>
|
||||||
Load settings
|
Load settings
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
@ -21,10 +22,12 @@ exports[`<SubmitButton/> Render load 1`] = `
|
||||||
exports[`<SubmitButton/> Render ready 1`] = `
|
exports[`<SubmitButton/> Render ready 1`] = `
|
||||||
<div>
|
<div>
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary col-sm-12 col-md-3 col-lg-2"
|
class="btn btn-primary col-sm-12 col-md-3 col-lg-2 d-inline-flex justify-content-center align-items-center"
|
||||||
type="submit"
|
type="submit"
|
||||||
>
|
>
|
||||||
Save
|
<span>
|
||||||
|
Save
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
@ -32,17 +35,18 @@ exports[`<SubmitButton/> Render ready 1`] = `
|
||||||
exports[`<SubmitButton/> Render saving 1`] = `
|
exports[`<SubmitButton/> Render saving 1`] = `
|
||||||
<div>
|
<div>
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary col-sm-12 col-md-3 col-lg-2"
|
class="btn btn-primary col-sm-12 col-md-3 col-lg-2 d-inline-flex justify-content-center align-items-center"
|
||||||
disabled=""
|
disabled=""
|
||||||
type="submit"
|
type="submit"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
aria-hidden="true"
|
aria-hidden="true"
|
||||||
class="spinner-border spinner-border-sm"
|
class="spinner-border spinner-border-sm mr-1"
|
||||||
role="status"
|
role="status"
|
||||||
/>
|
/>
|
||||||
|
<span>
|
||||||
Updating
|
Updating
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user