Skip to content

Commit

Permalink
The simplest implementation of Iframes
Browse files Browse the repository at this point in the history
  • Loading branch information
felipevex committed Jul 31, 2017
1 parent a032194 commit 651b924
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions priori/view/PriFrame.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package priori.view;

import js.html.IFrameElement;
import priori.view.PriDisplay;
import priori.event.PriEvent;

class PriFrame extends PriDisplay {

private var _iframe:IFrameElement;

public var url(get, set):String;

public function new() {
super();

this.bgColor = 0xFFFFFF;

this._iframe = js.Browser.document.createIFrameElement();
this._iframe.onload = this.__onFrameLoad;
this._iframe.onerror = this.__onError;
this._iframe.style.width = "100%";
this._iframe.style.height = "100%";
this._iframe.style.border = "0px";

this.dh.jselement.appendChild(this._iframe);
}

private function get_url():String {
return this._iframe.src;
}

private function set_url(value:String):String {
this._iframe.src = value;
return value;
}

private function __onFrameLoad():Void {
this.dispatchEvent(new PriEvent(PriEvent.COMPLETE));
}

private function __onError():Void {
this.dispatchEvent(new PriEvent(PriEvent.ERROR));
}

override public function kill():Void {

this._iframe.onload = null;
this._iframe.onerror = null;

super.kill();
}
}

0 comments on commit 651b924

Please sign in to comment.