Browse Source

* Add FileReader class

michael 6 years ago
parent
commit
20561ff2d9
1 changed files with 45 additions and 0 deletions
  1. 45 0
      packages/rtl/web.pas

+ 45 - 0
packages/rtl/web.pas

@@ -2386,6 +2386,51 @@ Type
     property position: Double read Fposition;
     property labels: TJSNodeList read Flabels;
   end;
+  Type
+
+  { TJSDOMException }
+
+  TJSDOMException = class external name 'DOMException' (TJSObject)
+  private
+    FCode: Integer; external name 'code';
+    FMessage: String; external name 'message';
+    FName: string; external name 'name';
+  Public
+    Property code : Integer Read FCode;
+    Property Message : String Read FMessage;
+    Property name : string Read FName;
+  end;
+
+  { TJSFileReader }
+
+  TJSFileReader = class external name 'FileReader' (TJSEventTarget)
+  private
+    FError: TJSDOMException; external name 'error';
+    fReadyState: Integer; external name 'readyState';
+    FResult: JSValue; external name 'result';
+  Public
+    Const EMPTY : Integer;
+    Const LOADING : Integer;
+    Const DONE : Integer;
+  Public
+    onabort : TJSEventHandler;
+    onerror : TJSEventHandler;
+    onload : TJSEventHandler;
+    onloadstart : TJSEventHandler;
+    onloadend : TJSEventHandler;
+    onprogress : TJSEventHandler;
+  Public
+    constructor new;
+    Procedure abort;
+    procedure readAsArrayBuffer(Blob: TJSBlob);
+    procedure readAsBinaryString(Blob: TJSBlob);
+    procedure readAsDataURL(Blob: TJSBlob);
+    procedure readAsText(Blob: TJSBlob; encoding : string);
+    procedure readAsText(Blob: TJSBlob);
+    property Error : TJSDOMException read FError;
+    Property readyState : Integer Read fReadyState;
+    property Result : JSValue Read FResult;
+  end;
 
   // Opaque objects
   TJSCanvasGradient = class external name 'CanvasGradient'  (TJSObject)