UNPKG

@openui5/sap.ui.core

Version:

OpenUI5 Core Library sap.ui.core

68 lines (60 loc) 2.14 kB
/*! * OpenUI5 * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company. * Licensed under the Apache License, Version 2.0 - see LICENSE.txt. */ /** * Defines support rules related to the view. */ sap.ui.define([ "sap/ui/support/library", "sap/ui/core/RenderManager" ], function(SupportLib, RenderManager) { "use strict"; // shortcuts var Categories = SupportLib.Categories; var Severity = SupportLib.Severity; var Audiences = SupportLib.Audiences; //********************************************************** // Rule Definitions //********************************************************** /** * Checks for renderers not using semantic rendering */ var oRendererInterfaceVersion = { id: "semanticRenderingNotUsed", audiences: [Audiences.Control], categories: [Categories.Performance], enabled: true, minversion: "-", title: "Control and renderer not migrated to modern rendering syntax", description: "Controls must use modern rendering syntax.", resolution: "Control and renderer must be migrated to modern rendering syntax. For more information consult with documentation.", resolutionurls: [{ text: "Documentation: RenderManager syntax", href: "https://sdk.openui5.org/api/sap.ui.core.RenderManager" }], check: function(oIssueManager, oCoreFacade, oScope) { var aControls = oScope.getElements().filter(function (oElement) { return oElement.isA("sap.ui.core.Control"); }); aControls.forEach(function (oControl) { if (RenderManager.getApiVersion(oControl.getRenderer()) < 2) { var sControlName = oControl.getMetadata().getName(); oIssueManager.addIssue({ severity: Severity.Medium, category: Categories.Performance, details: "The control '" + sControlName + "' is not migrated to modern rendering syntax. " + "This means it cannot benefit from UI5's modern, DOM-based rendering engine. " + "Please consult with the referred documentation regarding the modern API of RenderManager.", context: { id: oControl.getId() } }); } }); } }; return [ oRendererInterfaceVersion ]; }, true);