/*! * SAPUI5 * Copyright (c) 2025 SAP SE or an SAP affiliate company. All rights reserved. */ import PersonalizationStorage from "./PersonalizationStorage"; import jQuery from "sap/ui/thirdparty/jquery"; // jQuery.Deferred is required here because sap.m.TablePersoController expects a jQuery Deferred, not a native Promise export default class Personalizer { constructor( readonly key: string, readonly personalizationStorageInstance: PersonalizationStorage ) { this.key = key; this.personalizationStorageInstance = personalizationStorageInstance; } getKey(): string { return this.key; } setPersData(data: unknown): JQueryDeferred { // sap.m.TablePersoController uses deferred.done() // NOT to convert to promise return jQuery.Deferred().resolve(this.personalizationStorageInstance.setItem(this.key, data)); } getPersData(): JQueryDeferred { // sap.m.TablePersoController uses deferred.done() // NOT to convert to promise return jQuery.Deferred().resolve(this.personalizationStorageInstance.getItem(this.key)); } getResetPersData(): JQueryDeferred { // sap.m.TablePersoController uses deferred.done() // NOT to convert to promise return jQuery.Deferred().resolve(this.personalizationStorageInstance.getItem(this.key + "INITIAL")); } }