Image won't require in onMeasure; global loadModule cache

This commit is contained in:
Panayot Cankov
2016-06-21 15:02:15 +03:00
parent fe450f0280
commit 165a948150
2 changed files with 7 additions and 9 deletions

View File

@ -25,7 +25,9 @@ global.loadModule = function(name: string): any {
if (loader) {
return loader();
} else {
return global.require(name);
let result = global.require(name);
modules.set(name, () => result);
return result;
}
}

View File

@ -2,6 +2,8 @@
import dependencyObservable = require("ui/core/dependency-observable");
import proxy = require("ui/core/proxy");
import enums = require("ui/enums");
import * as trace from "trace";
import * as utils from "utils/utils";
global.moduleMerge(imageCommon, exports);
@ -61,8 +63,6 @@ export class Image extends imageCommon.Image {
}
public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void {
var utils = require("utils/utils");
// We don't call super because we measure native view with specific size.
var width = utils.layout.getMeasureSpecSize(widthMeasureSpec);
var widthMode = utils.layout.getMeasureSpecMode(widthMeasureSpec);
@ -89,8 +89,6 @@ export class Image extends imageCommon.Image {
measureWidth = finiteWidth ? Math.min(resultW, width) : resultW;
measureHeight = finiteHeight ? Math.min(resultH, height) : resultH;
var trace = require("trace");
if (trace.enabled) {
trace.write("Image stretch: " + this.stretch +
", nativeWidth: " + nativeWidth +
@ -98,10 +96,8 @@ export class Image extends imageCommon.Image {
}
}
var view = require("ui/core/view");
var widthAndState = view.View.resolveSizeAndState(measureWidth, width, widthMode, 0);
var heightAndState = view.View.resolveSizeAndState(measureHeight, height, heightMode, 0);
var widthAndState = Image.resolveSizeAndState(measureWidth, width, widthMode, 0);
var heightAndState = Image.resolveSizeAndState(measureHeight, height, heightMode, 0);
this.setMeasuredDimension(widthAndState, heightAndState);
}