1
0
mirror of https://gitlab.nic.cz/turris/reforis/foris-js.git synced 2024-11-14 17:35:35 +01:00

Compare commits

...

3 Commits

Author SHA1 Message Date
Aleksandr Gumroian
80619fab3c Merge branch 'fix-button-spinner' into 'dev'
Button: Fix loading state & button's layout

See merge request turris/reforis/foris-js!211
2023-02-15 18:55:02 +01:00
Aleksandr Gumroian
a1a47e0d0f
Update Snapshots 2023-01-24 19:41:54 +01:00
Aleksandr Gumroian
d49ff0150c
Button: Fix loading state & button's layout 2023-01-24 19:41:53 +01:00
6 changed files with 74 additions and 48 deletions

View File

@ -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>
); );
} }

View File

@ -31,3 +31,7 @@
.spinner-fs-wrapper .spinner-text { .spinner-fs-wrapper .spinner-text {
margin: 1rem; margin: 1rem;
} }
.spinner-border-sm {
min-width: 16px;
}

View File

@ -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>
`; `;

View File

@ -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`] = `

View File

@ -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>
`; `;

View File

@ -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>
`; `;