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

    Custom CKEditor Cloud Services token.

  • data : String

    readonly

    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.

  • file : Blob

    readonly

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

  • fileName : String

    readonly

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

  • id : Number

    readonly

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

  • loaded : Number

    readonly

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

  • message : String

    readonly

    The error message or additional information received from the server.

  • reader : FileReader

    readonly

    Native FileReader reference used to load the file.

  • responseData : Object

    readonly

    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.
  • total : Number

    readonly

    The total file size in bytes.

  • uploadTotal : Number

    readonly

    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 );
            }
        });
    
  • uploadUrl : String

    readonly

    The target of the upload.

  • uploaded : Number

    readonly

    The number of uploaded bytes.

  • url : String

    readonly

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

  • xhr : XMLHttpRequest

    readonly

    Native XMLHttpRequest reference used to upload the file.

Static properties

  • useCapture : Boolean

    mixed static

Methods

  • constructor( editor, fileOrData, [ fileName ], [ token ] ) → cloudServicesLoader

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

    Parameters

    editor : editor

    The editor instance. Used only to get the 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.

    [ token ] : String

    A token used for the CKEditor Cloud Services request. If skipped, CKEDITOR.config.cloudServices_tokenUrl will be used to request a token.

    Returns

    cloudServicesLoader
  • 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.
  • capture()

    Register event handler under the capturing stage on supported target.

  • define( name, meta )

    Predefine some intrinsic properties on a specific event name.

    Parameters

    name : String

    The event name

    meta : Object
    Properties
    [ errorProof ]

    Whether the event firing should catch error thrown from a per listener call.

    Defaults to false

  • 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.

  • 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.

  • 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
  • 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.

  • 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.
  • 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. If not provided, CKEDITOR.config.cloudServices_uploadUrl will be used.

    [ additionalRequestParameters ] : Object

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

  • 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
    

    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.

  • once()

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

  • removeAllListeners()

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

  • 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.

  • 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.

  • 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. If not provided, CKEDITOR.config.cloudServices_uploadUrl will be used.

    [ additionalRequestParameters ] : Object

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

  • attachRequestListeners( xhr )

    private

    Attaches listeners to the XML HTTP request object.

    Parameters

    xhr : XMLHttpRequest

    XML HTTP request object.

  • changeStatus( newStatus )

    private

    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.

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
  • update( evt )

    Event fired every time the FileLoader status or progress changes or the update method is called. This event was designed to allow showing the visualization of the progress and refresh that visualization every time the status changes. Note that multiple update events may be fired with the same status.

    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