dashboard: use importmap to force cache safe imports of base classes (https://github.com/opnsense/core/issues/7244)

This commit is contained in:
Stephan de Wit 2024-08-05 16:34:50 +02:00
parent cbd97eaccb
commit 36560aa679
24 changed files with 33 additions and 23 deletions

View File

@ -40,6 +40,16 @@
<script src="{{ cache_safe('/ui/js/smoothie.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ cache_safe(theme_file_or_default('/css/dashboard.css', theme_name)) }}" rel="stylesheet" />
<script type="importmap">
{
"imports": {
"widget-base": "{{ cache_safe('/ui/js/widgets/BaseWidget.js') }}",
"widget-base-table": "{{ cache_safe('/ui/js/widgets/BaseTableWidget.js') }}",
"widget-base-gauge": "{{ cache_safe('/ui/js/widgets/BaseGaugeWidget.js') }}"
}
}
</script>
<script>
$( document ).ready(function() {
let chartBackgroundColor = getComputedStyle(document.body).getPropertyValue('--chart-js-background-color').trim();

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class Announcements extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class Carp extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseWidget from "./BaseWidget.js";
import BaseWidget from 'widget-base';
export default class Cpu extends BaseWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseGaugeWidget from "./BaseGaugeWidget.js";
import BaseGaugeWidget from 'widget-base-gauge';
export default class Disk extends BaseGaugeWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class Firewall extends BaseTableWidget {
constructor(config) {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseGaugeWidget from "./BaseGaugeWidget.js";
import BaseGaugeWidget from 'widget-base-gauge';
export default class FirewallStates extends BaseGaugeWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class Gateways extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseWidget from "./BaseWidget.js";
import BaseWidget from 'widget-base';
export default class InterfaceStatistics extends BaseWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class Interfaces extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class IpsecLeases extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class IpsecTunnels extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class LiveLog extends BaseTableWidget {
constructor(config) {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseGaugeWidget from "./BaseGaugeWidget.js";
import BaseGaugeWidget from 'widget-base-gauge';
export default class Mbuf extends BaseGaugeWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseGaugeWidget from "./BaseGaugeWidget.js";
import BaseGaugeWidget from 'widget-base-gauge';
export default class Memory extends BaseGaugeWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class Monit extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class OpenVPNClients extends BaseTableWidget {
constructor(config) {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class OpenVPNServers extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class Services extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseGaugeWidget from "./BaseGaugeWidget.js";
import BaseGaugeWidget from 'widget-base-gauge';
export default class Swap extends BaseGaugeWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class SystemInformation extends BaseTableWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseWidget from "./BaseWidget.js";
import BaseWidget from 'widget-base';
export default class ThermalSensors extends BaseWidget {
constructor() {

View File

@ -24,7 +24,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseWidget from "./BaseWidget.js";
import BaseWidget from 'widget-base';
export default class Traffic extends BaseWidget {
constructor(config) {

View File

@ -25,7 +25,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
import BaseTableWidget from "./BaseTableWidget.js";
import BaseTableWidget from 'widget-base-table';
export default class Wireguard extends BaseTableWidget {
constructor() {