Renamed the Ajax/Dialog `CallbackObject`
authorAlexander Ebert <ebert@woltlab.com>
Sun, 25 Oct 2020 14:39:55 +0000 (15:39 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Wed, 28 Oct 2020 11:57:20 +0000 (12:57 +0100)
wcfsetup/install/files/ts/WoltLabSuite/Core/Ajax.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Ajax/Data.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/BackgroundQueue.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Confirmation.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Dialog.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Dialog/Data.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/JumpTo.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Suggestion.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/List.ts

index 18630a7fc1ead1111ffeef69b584fd99ef24ae6d..d9da0e17d3f4d9dc0ba596909c528189c623b954 100644 (file)
@@ -9,7 +9,7 @@
  */
 
 import AjaxRequest from './Ajax/Request';
-import { CallbackObject, CallbackSuccess, CallbackFailure, RequestData, RequestOptions } from './Ajax/Data';
+import { AjaxCallbackObject, CallbackSuccess, CallbackFailure, RequestData, RequestOptions } from './Ajax/Data';
 
 const _cache = new WeakMap();
 
@@ -17,7 +17,7 @@ const _cache = new WeakMap();
  * Shorthand function to perform a request against the WCF-API with overrides
  * for success and failure callbacks.
  */
-export function api(callbackObject: CallbackObject, data?: RequestData, success?: CallbackSuccess, failure?: CallbackFailure): AjaxRequest {
+export function api(callbackObject: AjaxCallbackObject, data?: RequestData, success?: CallbackSuccess, failure?: CallbackFailure): AjaxRequest {
   if (typeof data !== 'object') data = {};
 
   let request = _cache.get(callbackObject);
@@ -84,7 +84,7 @@ export function apiOnce(options: RequestOptions): void {
 /**
  * Returns the request object used for an earlier call to `api()`.
  */
-export function getRequestObject(callbackObject: CallbackObject): AjaxRequest {
+export function getRequestObject(callbackObject: AjaxCallbackObject): AjaxRequest {
   if (!_cache.has(callbackObject)) {
     throw new Error('Expected a previously used callback object, provided object is unknown.');
   }
index af44f74df2bcb5cede6352d80c7704763ff7589e..e114b36ad1b3c0d58522fc74e76c2601138e2503 100644 (file)
@@ -34,7 +34,7 @@ export type CallbackSuccess = (data: ResponseData | DatabaseObjectActionResponse
 export type CallbackUploadProgress = (event: ProgressEvent) => void;
 export type CallbackSetup = () => RequestOptions;
 
-export interface CallbackObject {
+export interface AjaxCallbackObject {
   _ajaxFailure?: CallbackFailure;
   _ajaxFinalize?: CallbackFinalize;
   _ajaxProgress?: CallbackProgress;
@@ -66,5 +66,5 @@ export interface RequestOptions {
   progress?: CallbackProgress,
   uploadProgress?: CallbackUploadProgress,
 
-  callbackObject?: CallbackObject | null,
+  callbackObject?: AjaxCallbackObject | null,
 }
index 662cd0c238a946b9aa52a501d29732267aef5073..e56cd0b2cbf92efa0dc9c564b0185e0f5d4ec1f1 100644 (file)
@@ -8,9 +8,9 @@
  */
 
 import * as Ajax from './Ajax';
-import { CallbackObject, RequestOptions, ResponseData } from './Ajax/Data';
+import { AjaxCallbackObject, RequestOptions, ResponseData } from './Ajax/Data';
 
-class BackgroundQueue implements CallbackObject {
+class BackgroundQueue implements AjaxCallbackObject {
   private _invocations = 0;
   private _isBusy = false;
   private readonly _url: string;
index db0c2899acab84440642314bc3fabf604f918214..dd25657125e2328f84fcd95d73ae4e615289c7db 100644 (file)
@@ -11,9 +11,9 @@
 import * as Core from '../Core';
 import * as Language from '../Language';
 import UiDialog from './Dialog';
-import { CallbackObject } from './Dialog/Data';
+import { DialogCallbackObject } from './Dialog/Data';
 
-class UiConfirmation implements CallbackObject {
+class UiConfirmation implements DialogCallbackObject {
   private _active = false;
   private parameters: CallbackParameters;
 
index b5e31edb1e56f4a99e0211276f617f13de3b2619..67e52155985380e7550ea8104d89bb0a324bb1e4 100644 (file)
@@ -12,7 +12,7 @@ import * as Core from '../Core';
 import DomChangeListener from '../Dom/Change/Listener';
 import * as UiScreen from './Screen';
 import DomUtil from '../Dom/Util';
-import { CallbackObject, DialogData, DialogId, DialogOptions, DialogHtml, AjaxInitialization } from './Dialog/Data';
+import { DialogCallbackObject, DialogData, DialogId, DialogOptions, DialogHtml, AjaxInitialization } from './Dialog/Data';
 import * as Language from '../Language';
 import * as Environment from '../Environment';
 import * as EventHandler from '../Event/Handler';
@@ -22,8 +22,8 @@ let _callbackFocus: (event: FocusEvent) => void;
 let _container: HTMLElement;
 const _dialogs = new Map<ElementId, DialogData>();
 let _dialogFullHeight = false;
-const _dialogObjects = new WeakMap<CallbackObject, DialogInternalData>();
-const _dialogToObject = new Map<ElementId, CallbackObject>();
+const _dialogObjects = new WeakMap<DialogCallbackObject, DialogInternalData>();
+const _dialogToObject = new Map<ElementId, DialogCallbackObject>();
 let _focusedBeforeDialog: Element | null;
 let _keyupListener: (event: KeyboardEvent) => boolean;
 const _validCallbacks = ['onBeforeClose', 'onClose', 'onShow'];
@@ -129,7 +129,7 @@ export = {
   /**
    * Opens the dialog and implicitly creates it on first usage.
    */
-  open(callbackObject: CallbackObject, html?: DialogHtml): DialogData | object {
+  open(callbackObject: DialogCallbackObject, html?: DialogHtml): DialogData | object {
     let dialogData = _dialogObjects.get(callbackObject);
     if (dialogData && Core.isPlainObject(dialogData)) {
       // dialog already exists
@@ -718,7 +718,7 @@ export = {
     });
 
     if (isValid) {
-      const callbackObject = _dialogToObject.get(id) as CallbackObject;
+      const callbackObject = _dialogToObject.get(id) as DialogCallbackObject;
       if (typeof callbackObject._dialogSubmit === 'function') {
         callbackObject._dialogSubmit();
       }
@@ -830,7 +830,7 @@ export = {
    *
    * @param  {Object}  callbackObject  the same object that was used to invoke `_dialogSetup()` on first call
    */
-  destroy(callbackObject: CallbackObject): void {
+  destroy(callbackObject: DialogCallbackObject): void {
     if (typeof callbackObject !== 'object') {
       throw new TypeError("Expected the callback object as parameter.");
     }
@@ -881,7 +881,7 @@ interface DialogInternalData {
 
 type ElementId = string;
 
-type ElementIdOrCallbackObject = CallbackObject | ElementId;
+type ElementIdOrCallbackObject = DialogCallbackObject | ElementId;
 
 interface InternalDialogOptions extends DialogOptions {
   backdropCloseOnClick: boolean;
index 021c361c6051341833674ebfbc7d44639cd18e59..14aeb47390bff92728cd13c47d44f59ac76f50d7 100644 (file)
@@ -2,7 +2,7 @@ import { RequestPayload, ResponseData } from '../../Ajax/Data';
 
 export type DialogHtml = DocumentFragment | string | null;
 
-export interface CallbackObject {
+export interface DialogCallbackObject {
   _dialogSetup: () => DialogSettings;
   _dialogSubmit?: () => void;
 }
index 066ada6b055f562dc329fce5e4b6d376b9a48f42..17adb65c492ce0015f50328490910f99a555867a 100644 (file)
@@ -7,11 +7,11 @@
  * @module  WoltLabSuite/Core/Ui/Page/JumpTo
  */
 
-import { CallbackObject, DialogSettings } from '../Dialog/Data';
+import { DialogCallbackObject, DialogSettings } from '../Dialog/Data';
 import * as Language from '../../Language';
 import UiDialog from '../Dialog';
 
-class UiPageJumpTo implements CallbackObject {
+class UiPageJumpTo implements DialogCallbackObject {
   private activeElement: HTMLElement;
   private description: HTMLElement;
   private elements = new Map<HTMLElement, Callback>();
index ac4e5eea89cc606fdc8af104abc0622b40427f2c..6917d8a0b3d9d5e288ec47a85a5d36186a35ced5 100644 (file)
 import * as Ajax from '../Ajax';
 import * as Core from '../Core';
 import {
-  CallbackObject,
+  AjaxCallbackObject,
   DatabaseObjectActionPayload,
   DatabaseObjectActionResponse,
   RequestPayload,
 } from '../Ajax/Data';
 import UiDropdownSimple from './Dropdown/Simple';
 
-class UiSuggestion implements CallbackObject {
+class UiSuggestion implements AjaxCallbackObject {
   private readonly ajaxPayload: DatabaseObjectActionPayload;
   private readonly callbackSelect: CallbackSelect;
   private dropdownMenu: HTMLElement | null = null;
index 1162949a56696c34c68ddda3207e3738e660efcb..764730b6493a5ea28451a6426a0e8c37a03e71fa 100644 (file)
@@ -12,8 +12,8 @@ import * as Core from '../../Core';
 import DomUtil from '../../Dom/Util';
 import UiDialog from '../Dialog';
 import UiPagination from '../Pagination';
-import { CallbackObject as AjaxCallbackObject, DatabaseObjectActionResponse, RequestOptions } from '../../Ajax/Data';
-import { CallbackObject as DialogCallbackObject, DialogData, DialogSettings } from '../Dialog/Data';
+import { AjaxCallbackObject, DatabaseObjectActionResponse, RequestOptions } from '../../Ajax/Data';
+import { DialogCallbackObject, DialogData, DialogSettings } from '../Dialog/Data';
 
 /**
  * @constructor