supported DELETE method
This commit is contained in:
@@ -7,6 +7,7 @@ class LabelView extends TextView {
|
|||||||
public function new() {
|
public function new() {
|
||||||
super();
|
super();
|
||||||
textField.selectable = false;
|
textField.selectable = false;
|
||||||
|
textField.wordWrap = false;
|
||||||
textField.autoSize = TextFieldAutoSize.LEFT;
|
textField.autoSize = TextFieldAutoSize.LEFT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package haxework.gui;
|
package haxework.gui;
|
||||||
|
|
||||||
|
import flash.display.Graphics;
|
||||||
import flash.display.Sprite;
|
import flash.display.Sprite;
|
||||||
|
|
||||||
class SpriteView extends View<Sprite> {
|
class SpriteView extends View<Sprite> {
|
||||||
@@ -7,4 +8,12 @@ class SpriteView extends View<Sprite> {
|
|||||||
public function new() {
|
public function new() {
|
||||||
super(new Sprite());
|
super(new Sprite());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*override public function update():Void {
|
||||||
|
super.update();
|
||||||
|
var g:Graphics = content.graphics;
|
||||||
|
g.lineStyle(1, 0x00ff00);
|
||||||
|
g.drawRect(0, 0, width, height);
|
||||||
|
g.lineStyle();
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
@@ -20,6 +20,8 @@ class TextView extends SpriteView implements ITextView<Sprite, TextField> {
|
|||||||
public function new() {
|
public function new() {
|
||||||
super();
|
super();
|
||||||
textField = new TextField();
|
textField = new TextField();
|
||||||
|
textField.width = 1;
|
||||||
|
textField.height = 1;
|
||||||
textField.wordWrap = true;
|
textField.wordWrap = true;
|
||||||
textFormat = textField.defaultTextFormat;
|
textFormat = textField.defaultTextFormat;
|
||||||
textFormat.font = "Arial";
|
textFormat.font = "Arial";
|
||||||
|
|||||||
@@ -58,8 +58,8 @@ class View<C:Content> implements IView<C> {
|
|||||||
this.content = content;
|
this.content = content;
|
||||||
x = 0;
|
x = 0;
|
||||||
y = 0;
|
y = 0;
|
||||||
width = 100;
|
width = 1;
|
||||||
height = 100;
|
height = 1;
|
||||||
margins = 0;
|
margins = 0;
|
||||||
vAlign = VAlign.NONE;
|
vAlign = VAlign.NONE;
|
||||||
hAlign = HAlign.NONE;
|
hAlign = HAlign.NONE;
|
||||||
@@ -83,12 +83,12 @@ class View<C:Content> implements IView<C> {
|
|||||||
public function update():Void {
|
public function update():Void {
|
||||||
content.x = x;
|
content.x = x;
|
||||||
content.y = y;
|
content.y = y;
|
||||||
|
var skin:ISkin<C, IView<C>> = currentSkin();
|
||||||
if (contentSize && skin != null && Std.is(skin, ISize)) {
|
if (contentSize && skin != null && Std.is(skin, ISize)) {
|
||||||
var size:ISize = cast(skin, ISize);
|
var size:ISize = cast(skin, ISize);
|
||||||
if (!Math.isNaN(size.width)) width = size.width;
|
if (!Math.isNaN(size.width)) width = size.width;
|
||||||
if (!Math.isNaN(size.height)) height = size.height;
|
if (!Math.isNaN(size.height)) height = size.height;
|
||||||
}
|
}
|
||||||
var skin:ISkin<C, IView<C>> = currentSkin();
|
|
||||||
if (skin != null) skin.draw(this);
|
if (skin != null) skin.draw(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package haxework.net;
|
package haxework.net;
|
||||||
|
|
||||||
|
import flash.net.URLRequestMethod;
|
||||||
import flash.events.ProgressEvent;
|
import flash.events.ProgressEvent;
|
||||||
import haxework.net.manage.ILoaderManager;
|
import haxework.net.manage.ILoaderManager;
|
||||||
import haxework.provider.Provider;
|
import haxework.provider.Provider;
|
||||||
@@ -7,7 +8,6 @@ import flash.utils.ByteArray;
|
|||||||
import haxework.net.callback.Callback;
|
import haxework.net.callback.Callback;
|
||||||
import haxework.net.callback.ICallback;
|
import haxework.net.callback.ICallback;
|
||||||
import flash.events.Event;
|
import flash.events.Event;
|
||||||
import haxework.net.ILoader.Method;
|
|
||||||
|
|
||||||
class BaseLoader<T> implements ILoader<T> {
|
class BaseLoader<T> implements ILoader<T> {
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ class BaseLoader<T> implements ILoader<T> {
|
|||||||
public var completed(default, null):Float;
|
public var completed(default, null):Float;
|
||||||
|
|
||||||
private var url:String;
|
private var url:String;
|
||||||
private var method:Method;
|
private var method:String;
|
||||||
private var data:Null<Dynamic>;
|
private var data:Null<Dynamic>;
|
||||||
private var callback:ICallback<T>;
|
private var callback:ICallback<T>;
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ class BaseLoader<T> implements ILoader<T> {
|
|||||||
completed = Math.NaN;
|
completed = Math.NaN;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function request(url:String, method:Method, data:Dynamic = null):ICallback<T> {
|
public function request(url:String, method:String, data:Dynamic = null):ICallback<T> {
|
||||||
if (busy) throw "Busy";
|
if (busy) throw "Busy";
|
||||||
busy = true;
|
busy = true;
|
||||||
this.url = url;
|
this.url = url;
|
||||||
@@ -54,11 +54,15 @@ class BaseLoader<T> implements ILoader<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function GET(url:String, data:Dynamic = null):ICallback<T> {
|
public function GET(url:String, data:Dynamic = null):ICallback<T> {
|
||||||
return request(url, Method.GET, data);
|
return request(url, URLRequestMethod.GET, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function POST(url:String, data:Dynamic = null):ICallback<T> {
|
public function POST(url:String, data:Dynamic = null):ICallback<T> {
|
||||||
return request(url, Method.POST, data);
|
return request(url, URLRequestMethod.POST, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function DELETE(url:String, data:Dynamic = null):ICallback<T> {
|
||||||
|
return request(url, URLRequestMethod.DELETE, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function internalRequest(url:String):Void {
|
private function internalRequest(url:String):Void {
|
||||||
@@ -108,7 +112,7 @@ class BaseLoader<T> implements ILoader<T> {
|
|||||||
|
|
||||||
public function run():Void {
|
public function run():Void {
|
||||||
var u:String = url;
|
var u:String = url;
|
||||||
if (data != null && method == Method.GET) {
|
if (data != null && method == URLRequestMethod.GET) {
|
||||||
var a:Array<String> = [];
|
var a:Array<String> = [];
|
||||||
for (key in Reflect.fields(data)) {
|
for (key in Reflect.fields(data)) {
|
||||||
a.push(key + "=" + Reflect.field(data, key));
|
a.push(key + "=" + Reflect.field(data, key));
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
package haxework.net;
|
package haxework.net;
|
||||||
|
|
||||||
|
import flash.net.URLRequestHeader;
|
||||||
|
import flash.net.URLRequestMethod;
|
||||||
import haxework.net.callback.ICallback;
|
import haxework.net.callback.ICallback;
|
||||||
import flash.net.URLVariables;
|
import flash.net.URLVariables;
|
||||||
import flash.events.ProgressEvent;
|
import flash.events.ProgressEvent;
|
||||||
import haxework.net.ILoader.Method;
|
|
||||||
import flash.net.URLLoaderDataFormat;
|
import flash.net.URLLoaderDataFormat;
|
||||||
import flash.events.SecurityErrorEvent;
|
import flash.events.SecurityErrorEvent;
|
||||||
import flash.events.IOErrorEvent;
|
import flash.events.IOErrorEvent;
|
||||||
@@ -24,8 +25,13 @@ class BaseURLLoader<T> extends BaseLoader<T> {
|
|||||||
override private function internalRequest(url:String):Void {
|
override private function internalRequest(url:String):Void {
|
||||||
loader = buildLoader();
|
loader = buildLoader();
|
||||||
var request:URLRequest = new URLRequest(url);
|
var request:URLRequest = new URLRequest(url);
|
||||||
request.method = Std.string(method);
|
if (method != URLRequestMethod.POST && method != URLRequestMethod.GET) {
|
||||||
if (data != null && method == Method.POST) {
|
request.method = URLRequestMethod.POST;
|
||||||
|
request.requestHeaders.push(new URLRequestHeader("X-HTTP-Method-Override", method));
|
||||||
|
} else {
|
||||||
|
request.method = method;
|
||||||
|
}
|
||||||
|
if (data != null && method == URLRequestMethod.POST) {
|
||||||
var variables:URLVariables = new URLVariables();
|
var variables:URLVariables = new URLVariables();
|
||||||
for (key in Reflect.fields(data)) {
|
for (key in Reflect.fields(data)) {
|
||||||
Reflect.setField(variables, key, Reflect.field(data, key));
|
Reflect.setField(variables, key, Reflect.field(data, key));
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package haxework.net;
|
|||||||
|
|
||||||
import haxework.net.callback.Callback;
|
import haxework.net.callback.Callback;
|
||||||
import haxework.net.callback.ICallback;
|
import haxework.net.callback.ICallback;
|
||||||
import haxework.net.ILoader.Method;
|
|
||||||
import flash.events.Event;
|
import flash.events.Event;
|
||||||
import flash.net.URLLoader;
|
import flash.net.URLLoader;
|
||||||
|
|
||||||
|
|||||||
@@ -3,19 +3,15 @@ package haxework.net;
|
|||||||
import flash.utils.ByteArray;
|
import flash.utils.ByteArray;
|
||||||
import haxework.net.callback.ICallback;
|
import haxework.net.callback.ICallback;
|
||||||
|
|
||||||
enum Method {
|
|
||||||
GET;
|
|
||||||
POST;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ILoader<T> {
|
interface ILoader<T> {
|
||||||
public var busy(default, null):Bool;
|
public var busy(default, null):Bool;
|
||||||
public var completed(default, null):Float;
|
public var completed(default, null):Float;
|
||||||
|
|
||||||
public function request(url:String, method:Method, data:Dynamic = null):ICallback<T>;
|
public function request(url:String, method:String, data:Dynamic = null):ICallback<T>;
|
||||||
public function fromBytes(data:ByteArray):ICallback<T>;
|
public function fromBytes(data:ByteArray):ICallback<T>;
|
||||||
public function GET(url:String, data:Dynamic = null):ICallback<T>;
|
public function GET(url:String, data:Dynamic = null):ICallback<T>;
|
||||||
public function POST(url:String, data:Dynamic = null):ICallback<T>;
|
public function POST(url:String, data:Dynamic = null):ICallback<T>;
|
||||||
|
public function DELETE(url:String, data:Dynamic = null):ICallback<T>;
|
||||||
public function cancel():Void;
|
public function cancel():Void;
|
||||||
|
|
||||||
public function run():Void;
|
public function run():Void;
|
||||||
|
|||||||
@@ -9,15 +9,15 @@ class Provider {
|
|||||||
private static var instances:ObjectMap<Dynamic, Dynamic> = new ObjectMap<Dynamic, Dynamic>();
|
private static var instances:ObjectMap<Dynamic, Dynamic> = new ObjectMap<Dynamic, Dynamic>();
|
||||||
|
|
||||||
public static function setFactory<T>(i:Class<T>, clazz:Class<T>, ?type:Dynamic):Void {
|
public static function setFactory<T>(i:Class<T>, clazz:Class<T>, ?type:Dynamic):Void {
|
||||||
factories.set(type == null ? i : type, clazz);
|
factories.set(type == null ? i : i + type, clazz);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function set<T>(i:Class<T>, instance:T, ?type:Dynamic):Void {
|
public static function set<T>(i:Class<T>, instance:T, ?type:Dynamic):Void {
|
||||||
instances.set(type == null ? i : type, instance);
|
instances.set(type == null ? i : i + type, instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function get<T>(i:Class<T>, ?type:Dynamic):T {
|
public static function get<T>(i:Class<T>, ?type:Dynamic):T {
|
||||||
var key:Dynamic = (type == null) ? i : type;
|
var key:Dynamic = (type == null) ? i : i + type;
|
||||||
if (instances.exists(key)) {
|
if (instances.exists(key)) {
|
||||||
return instances.get(key);
|
return instances.get(key);
|
||||||
} else if (factories.exists(key)) {
|
} else if (factories.exists(key)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user