From 199d56bf3d346c85fb147394026415d6c083d75d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20Dziewo=C5=84ski?= Date: Fri, 19 May 2023 13:55:33 +0300 Subject: [PATCH] Use ES6 classes for custom OOUI widgets Just for a lark. Do not use ES6 static properties though, as they're only introduced in ES2020, and also apparently everyone hates them. --- js/DetailsFieldLayout.js | 52 +++--- js/PatchSelectWidget.js | 348 +++++++++++++++++++-------------------- 2 files changed, 200 insertions(+), 200 deletions(-) diff --git a/js/DetailsFieldLayout.js b/js/DetailsFieldLayout.js index 0149a65..f5ee1d2 100644 --- a/js/DetailsFieldLayout.js +++ b/js/DetailsFieldLayout.js @@ -1,32 +1,32 @@ -window.DetailsFieldLayout = function DetailsFieldLayout( fieldWidget, config ) { - // Allow passing positional parameters inside the config object - if ( OO.isPlainObject( fieldWidget ) && config === undefined ) { - config = fieldWidget; - fieldWidget = config.fieldWidget; - } +window.DetailsFieldLayout = class DetailsFieldLayout extends OO.ui.FieldLayout { + constructor( fieldWidget, config ) { + // Allow passing positional parameters inside the config object + if ( OO.isPlainObject( fieldWidget ) && config === undefined ) { + config = fieldWidget; + fieldWidget = config.fieldWidget; + } - config = config || {}; + config = config || {}; - // Parent constructor - window.DetailsFieldLayout.super.call( this, fieldWidget, $.extend( {}, config, { - // tag is no longer clickable if there's a