1
0
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:
Aleksandr Gumroian 2023-02-15 18:55:02 +01:00
commit 80619fab3c
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.
@ -36,19 +36,20 @@ export function Button({
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 ? ( return (
<button
type="button"
className={`${buttonClass} d-inline-flex justify-content-center align-items-center`}
{...props}
>
{loading && (
<span <span
className="spinner-border spinner-border-sm" className="spinner-border spinner-border-sm mr-1"
role="status" role="status"
aria-hidden="true" aria-hidden="true"
/> />
) : null; )}
<span>{children}</span>
return (
<button type="button" className={buttonClass} {...props}>
{span}
{span ? " " : null}
{children}
</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"
> >
<span>
Test Button 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"
> >
<span>
Test Button 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"
> >
<span>
Save 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"
> >
<span>
Reset Wi-Fi Settings 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\\"
> >
<span>
Save Save
</button> </span>"
</div>"
`; `;
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"
> >
<span>
Cancel 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"
> >
<span>
Confirm reboot 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"
> >
<span>
Reboot 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"
> >
<span>
Reboot 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"
> >
<span>
Save 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>
`; `;