Files
edx-platform/lms/static/js/accessible_components/StatusBarAlert.jsx
Syed Ali Abbas Zaidi d7053a6783 fix: eslint autofixable issues (#32181)
* fix: eslint operator-linebreak issue

* fix: eslint quotes issue

* fix: react jsx indent and props issues

* fix: eslint trailing spaces issues

* fix: eslint line around directives issue

* fix: eslint semi rule

* fix: eslint newline per chain rule

* fix: eslint space infix ops rule

* fix: eslint space-in-parens issue

* fix: eslint space before function paren issue

* fix: eslint space before blocks issue

* fix: eslint arrow body style issue

* fix: eslint dot-location issue

* fix: eslint quotes issue

* fix: eslint quote props issue

* fix: eslint operator assignment issue

* fix: eslint new line after import issue

* fix: indent issues

* fix: operator assignment issue

* fix: all autofixable eslint issues

* fix: all react related fixable issues

* fix: autofixable eslint issues

* chore: remove all template literals

* fix: remaining autofixable issues

* fix: failing js test
2023-05-18 11:03:59 +05:00

44 lines
1.3 KiB
JavaScript

/*
Wrapper for React/Paragon accessible status bar
*/
import React from 'react';
import ReactDOM from 'react-dom';
import {StatusAlert} from '@edx/paragon/static';
export class StatusAlertRenderer {
constructor(message, selector, afterselector) {
this.shiftFocus = this.shiftFocus.bind(this);
const element = document.querySelector(selector);
if (element) {
/*
These props match the defaults mostly in the paragon lib:
https://github.com/openedx/paragon/tree/master/src/StatusAlert
but are made explicit in the case of a upstream change to defaults
*/
ReactDOM.render(
<StatusAlert
alertType="warning"
dismissible
open
dialog={message}
dismissable
onClose={() => this.shiftFocus(afterselector)}
/>,
document.querySelector(selector)
);
}
}
shiftFocus(afterselector) {
const afterelement = document.querySelector(afterselector);
/*
Optional generic function to shift 'next' focusable element for keyboard users
*/
if (afterelement) {
afterelement.focus();
}
}
}