提交 64a37d60 编写于 作者: M Matt Bierner

Convert SizeUtils to a static class

This makes it easier to track references to these methods
上级 8becf473
...@@ -514,48 +514,47 @@ export function getClientArea(element: HTMLElement): Dimension { ...@@ -514,48 +514,47 @@ export function getClientArea(element: HTMLElement): Dimension {
throw new Error('Unable to figure out browser width and height'); throw new Error('Unable to figure out browser width and height');
} }
const sizeUtils = { class SizeUtils {
getBorderLeftWidth: function (element: HTMLElement): number { static getBorderLeftWidth(element: HTMLElement): number {
return getDimension(element, 'border-left-width', 'borderLeftWidth'); return getDimension(element, 'border-left-width', 'borderLeftWidth');
}, }
getBorderRightWidth: function (element: HTMLElement): number { static getBorderRightWidth(element: HTMLElement): number {
return getDimension(element, 'border-right-width', 'borderRightWidth'); return getDimension(element, 'border-right-width', 'borderRightWidth');
}, }
getBorderTopWidth: function (element: HTMLElement): number { static getBorderTopWidth(element: HTMLElement): number {
return getDimension(element, 'border-top-width', 'borderTopWidth'); return getDimension(element, 'border-top-width', 'borderTopWidth');
}, }
getBorderBottomWidth: function (element: HTMLElement): number { static getBorderBottomWidth(element: HTMLElement): number {
return getDimension(element, 'border-bottom-width', 'borderBottomWidth'); return getDimension(element, 'border-bottom-width', 'borderBottomWidth');
}, }
getPaddingLeft: function (element: HTMLElement): number { static getPaddingLeft(element: HTMLElement): number {
return getDimension(element, 'padding-left', 'paddingLeft'); return getDimension(element, 'padding-left', 'paddingLeft');
}, }
getPaddingRight: function (element: HTMLElement): number { static getPaddingRight(element: HTMLElement): number {
return getDimension(element, 'padding-right', 'paddingRight'); return getDimension(element, 'padding-right', 'paddingRight');
}, }
getPaddingTop: function (element: HTMLElement): number { static getPaddingTop(element: HTMLElement): number {
return getDimension(element, 'padding-top', 'paddingTop'); return getDimension(element, 'padding-top', 'paddingTop');
}, }
getPaddingBottom: function (element: HTMLElement): number { static getPaddingBottom(element: HTMLElement): number {
return getDimension(element, 'padding-bottom', 'paddingBottom'); return getDimension(element, 'padding-bottom', 'paddingBottom');
}, }
getMarginLeft: function (element: HTMLElement): number { static getMarginLeft(element: HTMLElement): number {
return getDimension(element, 'margin-left', 'marginLeft'); return getDimension(element, 'margin-left', 'marginLeft');
}, }
getMarginTop: function (element: HTMLElement): number { static getMarginTop(element: HTMLElement): number {
return getDimension(element, 'margin-top', 'marginTop'); return getDimension(element, 'margin-top', 'marginTop');
}, }
getMarginRight: function (element: HTMLElement): number { static getMarginRight(element: HTMLElement): number {
return getDimension(element, 'margin-right', 'marginRight'); return getDimension(element, 'margin-right', 'marginRight');
}, }
getMarginBottom: function (element: HTMLElement): number { static getMarginBottom(element: HTMLElement): number {
return getDimension(element, 'margin-bottom', 'marginBottom'); return getDimension(element, 'margin-bottom', 'marginBottom');
}, }
__commaSentinel: false }
};
// ---------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------
// Position & Dimension // Position & Dimension
...@@ -594,8 +593,8 @@ export function getTopLeftOffset(element: HTMLElement): { left: number; top: num ...@@ -594,8 +593,8 @@ export function getTopLeftOffset(element: HTMLElement): { left: number; top: num
} }
if (element === offsetParent) { if (element === offsetParent) {
left += sizeUtils.getBorderLeftWidth(element); left += SizeUtils.getBorderLeftWidth(element);
top += sizeUtils.getBorderTopWidth(element); top += SizeUtils.getBorderTopWidth(element);
top += element.offsetTop; top += element.offsetTop;
left += element.offsetLeft; left += element.offsetLeft;
offsetParent = element.offsetParent; offsetParent = element.offsetParent;
...@@ -686,33 +685,33 @@ export const StandardWindow: IStandardWindow = new class implements IStandardWin ...@@ -686,33 +685,33 @@ export const StandardWindow: IStandardWindow = new class implements IStandardWin
// Adapted from WinJS // Adapted from WinJS
// Gets the width of the element, including margins. // Gets the width of the element, including margins.
export function getTotalWidth(element: HTMLElement): number { export function getTotalWidth(element: HTMLElement): number {
let margin = sizeUtils.getMarginLeft(element) + sizeUtils.getMarginRight(element); let margin = SizeUtils.getMarginLeft(element) + SizeUtils.getMarginRight(element);
return element.offsetWidth + margin; return element.offsetWidth + margin;
} }
export function getContentWidth(element: HTMLElement): number { export function getContentWidth(element: HTMLElement): number {
let border = sizeUtils.getBorderLeftWidth(element) + sizeUtils.getBorderRightWidth(element); let border = SizeUtils.getBorderLeftWidth(element) + SizeUtils.getBorderRightWidth(element);
let padding = sizeUtils.getPaddingLeft(element) + sizeUtils.getPaddingRight(element); let padding = SizeUtils.getPaddingLeft(element) + SizeUtils.getPaddingRight(element);
return element.offsetWidth - border - padding; return element.offsetWidth - border - padding;
} }
export function getTotalScrollWidth(element: HTMLElement): number { export function getTotalScrollWidth(element: HTMLElement): number {
let margin = sizeUtils.getMarginLeft(element) + sizeUtils.getMarginRight(element); let margin = SizeUtils.getMarginLeft(element) + SizeUtils.getMarginRight(element);
return element.scrollWidth + margin; return element.scrollWidth + margin;
} }
// Adapted from WinJS // Adapted from WinJS
// Gets the height of the content of the specified element. The content height does not include borders or padding. // Gets the height of the content of the specified element. The content height does not include borders or padding.
export function getContentHeight(element: HTMLElement): number { export function getContentHeight(element: HTMLElement): number {
let border = sizeUtils.getBorderTopWidth(element) + sizeUtils.getBorderBottomWidth(element); let border = SizeUtils.getBorderTopWidth(element) + SizeUtils.getBorderBottomWidth(element);
let padding = sizeUtils.getPaddingTop(element) + sizeUtils.getPaddingBottom(element); let padding = SizeUtils.getPaddingTop(element) + SizeUtils.getPaddingBottom(element);
return element.offsetHeight - border - padding; return element.offsetHeight - border - padding;
} }
// Adapted from WinJS // Adapted from WinJS
// Gets the height of the element, including its margins. // Gets the height of the element, including its margins.
export function getTotalHeight(element: HTMLElement): number { export function getTotalHeight(element: HTMLElement): number {
let margin = sizeUtils.getMarginTop(element) + sizeUtils.getMarginBottom(element); let margin = SizeUtils.getMarginTop(element) + SizeUtils.getMarginBottom(element);
return element.offsetHeight + margin; return element.offsetHeight + margin;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册