diff --git a/typo3/sysext/backend/Classes/Controller/BackendController.php b/typo3/sysext/backend/Classes/Controller/BackendController.php index 1dfc65342655918126573044dc9b8349e87b4a17..4ad27830104c0b2ba9112fc67b76cfdba816fd2c 100644 --- a/typo3/sysext/backend/Classes/Controller/BackendController.php +++ b/typo3/sysext/backend/Classes/Controller/BackendController.php @@ -155,6 +155,7 @@ class BackendController $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/ContextMenu'); // load the storage API and fill the UC into the PersistentStorage, so no additional AJAX call is needed + $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/Storage'); $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/Storage/Persistent', 'function(PersistentStorage) { PersistentStorage.load(' . json_encode($this->getBackendUser()->uc) . '); }'); diff --git a/typo3/sysext/backend/Resources/Private/TypeScript/Storage.ts b/typo3/sysext/backend/Resources/Private/TypeScript/Storage.ts index ae329c0ea99d65c1ce3269c4e65fc8d8d7ce0d47..6c8a83f6b708df5f02366283bba30effa426fc03 100644 --- a/typo3/sysext/backend/Resources/Private/TypeScript/Storage.ts +++ b/typo3/sysext/backend/Resources/Private/TypeScript/Storage.ts @@ -27,13 +27,71 @@ class Storage { public Persistent: any; constructor() { + this.Client = { + clear: (): any => { + this.logDeprecated('Client', 'clear'); + Client.clear(); + }, + get: (key: string): any => { + this.logDeprecated('Client', 'get'); + return Client.get(key); + }, + isset: (key: string): any => { + this.logDeprecated('Client', 'isset'); + return Client.isset(key); + }, + set: (key: string, value: string): any => { + this.logDeprecated('Client', 'set'); + return Client.set(key, value); + }, + unset: (key: string): any => { + this.logDeprecated('Client', 'unset'); + return Client.unset(key); + }, + }; + this.Persistent = { + addToList: (key: string, value: string): any => { + this.logDeprecated('Persistent', 'addToList'); + return Persistent.addToList(key, value); + }, + clear: (): any => { + this.logDeprecated('Persistent', 'clear'); + Persistent.clear(); + }, + get: (key: string): any => { + this.logDeprecated('Persistent', 'get'); + return Persistent.get(key); + }, + isset: (key: string): any => { + this.logDeprecated('Persistent', 'isset'); + return Persistent.isset(key); + }, + load: (data: any): any => { + this.logDeprecated('Persistent', 'load'); + return Persistent.load(data); + }, + removeFromList: (key: string, value: string): any => { + this.logDeprecated('Persistent', 'removeFromList'); + return Persistent.removeFromList(key, value); + }, + set: (key: string, value: string): any => { + this.logDeprecated('Persistent', 'set'); + return Persistent.set(key, value); + }, + unset: (key: string): any => { + this.logDeprecated('Persistent', 'unset'); + return Persistent.unset(key); + }, + }; + } + + private logDeprecated = (className: string, methodName: string): any => { if (console) { console.warn( - 'TYPO3/CMS/Backend/Storage and TYPO3.Storage are deprecated since TYPO3 v9 and will be removed in TYPO3 v10.', + 'top.TYPO3.Storage.' + className + '.' + methodName + '() is marked as deprecated since TYPO3 v9 and will be ' + + 'removed in TYPO3 v10.', ); } - this.Client = Client; - this.Persistent = Persistent; } } diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Storage.js b/typo3/sysext/backend/Resources/Public/JavaScript/Storage.js index bf481179129bfc75bf8bea7199abf012ace9ed21..5c891e02d18bf726c78991a02b3ce307e60acbf2 100644 --- a/typo3/sysext/backend/Resources/Public/JavaScript/Storage.js +++ b/typo3/sysext/backend/Resources/Public/JavaScript/Storage.js @@ -22,11 +22,69 @@ define(["require", "exports", "./Storage/Client", "./Storage/Persistent"], funct */ var Storage = (function () { function Storage() { - if (console) { - console.warn('TYPO3/CMS/Backend/Storage and TYPO3.Storage are deprecated since TYPO3 v9 and will be removed in TYPO3 v10.'); - } - this.Client = Client; - this.Persistent = Persistent; + var _this = this; + this.logDeprecated = function (className, methodName) { + if (console) { + console.warn('top.TYPO3.Storage.' + className + '.' + methodName + '() is marked as deprecated since TYPO3 v9 and will be ' + + 'removed in TYPO3 v10.'); + } + }; + this.Client = { + clear: function () { + _this.logDeprecated('Client', 'clear'); + Client.clear(); + }, + get: function (key) { + _this.logDeprecated('Client', 'get'); + return Client.get(key); + }, + isset: function (key) { + _this.logDeprecated('Client', 'isset'); + return Client.isset(key); + }, + set: function (key, value) { + _this.logDeprecated('Client', 'set'); + return Client.set(key, value); + }, + unset: function (key) { + _this.logDeprecated('Client', 'unset'); + return Client.unset(key); + }, + }; + this.Persistent = { + addToList: function (key, value) { + _this.logDeprecated('Persistent', 'addToList'); + return Persistent.addToList(key, value); + }, + clear: function () { + _this.logDeprecated('Persistent', 'clear'); + Persistent.clear(); + }, + get: function (key) { + _this.logDeprecated('Persistent', 'get'); + return Persistent.get(key); + }, + isset: function (key) { + _this.logDeprecated('Persistent', 'isset'); + return Persistent.isset(key); + }, + load: function (data) { + _this.logDeprecated('Persistent', 'load'); + return Persistent.load(data); + }, + removeFromList: function (key, value) { + _this.logDeprecated('Persistent', 'removeFromList'); + return Persistent.removeFromList(key, value); + }, + set: function (key, value) { + _this.logDeprecated('Persistent', 'set'); + return Persistent.set(key, value); + }, + unset: function (key) { + _this.logDeprecated('Persistent', 'unset'); + return Persistent.unset(key); + }, + }; } return Storage; }());