Report an issue
Class

CKEDITOR.plugins.cloudservices.cloudServicesLoader

class since 4.9.0

A dedicated uploader type for CKEditor Cloud Services.

Note that this type is defined in the plugin.onLoad method, thus is guaranteed to be available in dependent plugin's beforeInit, init and CKEDITOR.pluginDefinition.afterInit methods.

Filtering

Properties

  • customToken : String

  • readonly

    data : String

    String data encoded with Base64. If the FileLoader is created with a Base64 string, the data is that string. If a file was passed to the constructor, the data is null until loading is completed.

  • readonly

    file : Blob

    File object which represents the handled file. This property is set for both constructor options (file or data).

  • readonly

    fileName : String

    The name of the file. If there is no file name, it is created by using the CKEDITOR.config.fileTools_defaultFileName option.

  • readonly

    id : Number

    If FileLoader was created using CKEDITOR.fileTools.uploadRepository, it gets an identifier which is stored in this property.

  • readonly

    loaded : Number

    The number of loaded bytes. If the FileLoader was created with a data string, the loaded value equals the total value.

  • readonly

    message : String

    The error message or additional information received from the server.

  • readonly

    reader : FileReader

    Native FileReader reference used to load the file.

  • readonly

    responseData : Object

    All data received in the response from the server. If the server returns additional data, it will be available in this property.

    It contains all data set in the CKEDITOR.editor.fileUploadResponse event listener.

  • status : String

    The loader status. Possible values:

    • created – The loader was created, but neither load nor upload started.
    • loading – The file is being loaded from the user's storage.
    • loaded – The file was loaded, the process is finished.
    • uploading – The file is being uploaded to the server.
    • uploaded – The file was uploaded, the process is finished.
    • error – The process stops because of an error, more details are available in the message property.
    • abort – The process was stopped by the user.
  • readonly

    total : Number

    The total file size in bytes.

  • readonly

    uploadTotal : Number

    The total size of upload data in bytes. If the xhr.upload object is present, this value will indicate the total size of the request payload, not only the file size itself. If the xhr.upload object is not available and the real upload size cannot be obtained, this value will be equal to total. It has a null value until the upload size is known.

        loader.on( 'update', function() {
            // Wait till uploadTotal is present.
            if ( loader.uploadTotal ) {
                console.log( 'uploadTotal: ' + loader.uploadTotal );
            }
        });
    
  • readonly

    uploadUrl : String

    The target of the upload.

  • readonly

    uploaded : Number

    The number of uploaded bytes.

  • readonly

    url : String

    The URL to the file when it is uploaded or received from the server.

  • readonly

    xhr : XMLHttpRequest

    Native XMLHttpRequest reference used to upload the file.

Static properties

  • mixed static

    useCapture : Boolean

Methods

  • inherited

    constructor( editor, fileOrData, [ fileName ] ) → fileLoader

    Creates an instance of the class and sets initial values for all properties.

    Parameters

    editor : editor

    The editor instance. Used only to get language data.

    fileOrData : Blob | String

    A blob object or a data string encoded with Base64.

    [ fileName ] : String

    The file name. If not set and the second parameter is a file, then its name will be used. If not set and the second parameter is a Base64 data string, then the file name will be created based on the CKEDITOR.config.fileTools_defaultFileName option.

    Returns

    fileLoader
  • abort()

    Aborts the process.

    This method has a different behavior depending on the current status.

    • If the status is loading or uploading, current operation will be aborted.
    • If the status is created, loading or uploading, the status will be changed to abort and the abort event will be called.
    • If the status is loaded, uploaded, error or abort, this method will do nothing.
  • inherited

    capture()

    Register event handler under the capturing stage on supported target.

  • inherited

    define( name, meta )

    Predefine some intrinsic properties on a specific event name.

    Parameters

    name : String

    The event name

    meta : Object
  • inherited

    fire( eventName, [ data ], [ editor ] ) → Boolean | Object

    Fires an specific event in the object. All registered listeners are called at this point.

    someObject.on( 'someEvent', function() { ... } );
    someObject.on( 'someEvent', function() { ... } );
    someObject.fire( 'someEvent' );             // Both listeners are called.
    
    someObject.on( 'someEvent', function( event ) {
        alert( event.data );                    // 'Example'
    } );
    someObject.fire( 'someEvent', 'Example' );
    

    Parameters

    eventName : String

    The event name to fire.

    [ data ] : Object

    Data to be sent as the CKEDITOR.eventInfo.data when calling the listeners.

    [ editor ] : editor

    The editor instance to send as the CKEDITOR.eventInfo.editor when calling the listener.

    Returns

    Boolean | Object

    A boolean indicating that the event is to be canceled, or data returned by one of the listeners.

  • inherited

    fireOnce( eventName, [ data ], [ editor ] ) → Boolean | Object

    Fires an specific event in the object, releasing all listeners registered to that event. The same listeners are not called again on successive calls of it or of fire.

    someObject.on( 'someEvent', function() { ... } );
    someObject.fire( 'someEvent' );         // Above listener called.
    someObject.fireOnce( 'someEvent' );     // Above listener called.
    someObject.fire( 'someEvent' );         // No listeners called.
    

    Parameters

    eventName : String

    The event name to fire.

    [ data ] : Object

    Data to be sent as the CKEDITOR.eventInfo.data when calling the listeners.

    [ editor ] : editor

    The editor instance to send as the CKEDITOR.eventInfo.editor when calling the listener.

    Returns

    Boolean | Object

    A booloan indicating that the event is to be canceled, or data returned by one of the listeners.

  • inherited

    hasListeners( eventName ) → Boolean

    Checks if there is any listener registered to a given event.

    var myListener = function() { ... };
    someObject.on( 'someEvent', myListener );
    alert( someObject.hasListeners( 'someEvent' ) );    // true
    alert( someObject.hasListeners( 'noEvent' ) );      // false
    

    Parameters

    eventName : String

    The event name.

    Returns

    Boolean
  • inherited

    isFinished() → Boolean

    Returns true if the loading and uploading finished (successfully or not), so the status is loaded, uploaded, error or abort.

    Returns

    Boolean

    true if the loading and uploading finished.

  • inherited

    load()

    Loads a file from the storage on the user's device to the data attribute.

    The order of the statuses for a successful load is:

    • created,
    • loading,
    • loaded.
  • inherited

    loadAndUpload( url, [ additionalRequestParameters ] )

    Loads a file from the storage on the user's device to the data attribute and uploads it to the server.

    The order of statuses for a successful load and upload is:

    • created,
    • loading,
    • uploading,
    • uploaded.

    Parameters

    url : String

    The upload URL.

    [ additionalRequestParameters ] : Object

    Additional parameters that would be passed to the CKEDITOR.editor.fileUploadRequest event.

  • inherited

    on( eventName, listenerFunction, [ scopeObj ], [ listenerData ], [ priority ] ) → Object

    Registers a listener to a specific event in the current object.

    someObject.on( 'someEvent', function() {
        alert( this == someObject );        // true
    } );
    
    someObject.on( 'someEvent', function() {
        alert( this == anotherObject );     // true
    }, anotherObject );
    
    someObject.on( 'someEvent', function( event ) {
        alert( event.listenerData );        // 'Example'
    }, null, 'Example' );
    
    someObject.on( 'someEvent', function() { ... } );                       // 2nd called
    someObject.on( 'someEvent', function() { ... }, null, null, 100 );      // 3rd called
    someObject.on( 'someEvent', function() { ... }, null, null, 1 );        // 1st called
    

    Note: CKEditor's event system has a limitation that one function cannot be used as a listener for the same event more than once. Hence, to reuse it with multiple listeners, it should be wrapped into additional wrapper function:

    function listener( evt ) { ... };
    
    someObject.on( 'someEvent', function() {
        listener();
    } );
    
    someObject.on( 'someEvent', function( evt ) {
        listener( evt );
    } );
    

    Parameters

    eventName : String

    The event name to which listen.

    listenerFunction : Function

    The function listening to the event. A single CKEDITOR.eventInfo object instanced is passed to this function containing all the event data.

    [ scopeObj ] : Object

    The object used to scope the listener call (the this object). If omitted, the current object is used.

    [ listenerData ] : Object

    Data to be sent as the CKEDITOR.eventInfo.listenerData when calling the listener.

    [ priority ] : Number

    The listener priority. Lower priority listeners are called first. Listeners with the same priority value are called in registration order.

    Defaults to 10

    Returns

    Object

    An object containing the removeListener function, which can be used to remove the listener at any time.

  • inherited

    once()

    Similiar with on but the listener will be called only once upon the next event firing.

    CKEDITOR.event.on

  • inherited

    removeAllListeners()

    Remove all existing listeners on this object, for cleanup purpose.

  • inherited

    removeListener( eventName, listenerFunction )

    Unregisters a listener function from being called at the specified event. No errors are thrown if the listener has not been registered previously.

    var myListener = function() { ... };
    someObject.on( 'someEvent', myListener );
    someObject.fire( 'someEvent' );                 // myListener called.
    someObject.removeListener( 'someEvent', myListener );
    someObject.fire( 'someEvent' );                 // myListener not called.
    

    Parameters

    eventName : String

    The event name.

    listenerFunction : Function

    The listener function to unregister.

  • inherited

    update()

    Updates the state of the FileLoader listeners. This method should be called if the state of the visual representation of the upload process is out of synchronization and needs to be refreshed (e.g. because of an undo operation or because the dialog window with the upload is closed and reopened). Fires the update event.

  • inherited

    upload( url, [ additionalRequestParameters ] )

    Uploads a file to the server.

    The order of the statuses for a successful upload is:

    • created,
    • uploading,
    • uploaded.

    Parameters

    url : String

    The upload URL.

    [ additionalRequestParameters ] : Object

    Additional data that would be passed to the CKEDITOR.editor.fileUploadRequest event.

  • private inherited

    attachRequestListeners( xhr )

    Attaches listeners to the XML HTTP request object.

    Parameters

    xhr : XMLHttpRequest

    XML HTTP request object.

  • private inherited

    changeStatus( newStatus )

    Changes status to the new status, updates the abort method if needed and fires two events: new status and update.

    Parameters

    newStatus : String

    New status to be set.

Static methods

  • mixed static

    implementOn( targetObject )

    Implements the CKEDITOR.event features in an object.

    var myObject = { message: 'Example' };
    CKEDITOR.event.implementOn( myObject );
    
    myObject.on( 'testEvent', function() {
        alert( this.message );
    } );
    myObject.fire( 'testEvent' ); // 'Example'
    

    Parameters

    targetObject : Object

    The object into which implement the features.

Events

  • abort( evt )

    Event fired when the status changes to abort. It will be fired once for the FileLoader.

    Parameters

    evt : eventInfo
  • error( evt )

    Event fired when the status changes to error. It will be fired once for the FileLoader.

    Parameters

    evt : eventInfo
  • loaded( evt )

    Event fired when the status changes to loaded. It will be fired once for the FileLoader.

    Parameters

    evt : eventInfo
  • loading( evt )

    Event fired when the status changes to loading. It will be fired once for the FileLoader.

    Parameters

    evt : eventInfo
  • uploaded( evt )

    Event fired when the status changes to uploaded. It will be fired once for the FileLoader.

    Parameters

    evt : eventInfo
  • uploading( evt )

    Event fired when the status changes to uploading. It will be fired once for the FileLoader.

    Parameters

    evt : eventInfo