From 99ccdb4c9ea5ac242841fb2b3d1856610f8c7f83 Mon Sep 17 00:00:00 2001 From: Ronnie Barnard Date: Tue, 24 Nov 2015 14:07:37 -0800 Subject: [PATCH 1/5] FlowLayout control --- .gitignore | 5 ++ src/FlowLayout/FlowLayout.ts | 21 ++++++ src/FlowLayout/FlowLayoutUpdater.ts | 29 ++++++++ .../arrange/FlowLayoutArrangePipeDef.ts | 20 ++++++ src/FlowLayout/arrange/tapins/doHorizontal.ts | 53 +++++++++++++++ src/FlowLayout/arrange/tapins/doVertical.ts | 34 ++++++++++ src/FlowLayout/helpers.ts | 14 ++++ .../measure/FlowLayoutMeasurePipeDef.ts | 20 ++++++ src/FlowLayout/measure/tapins/doHorizontal.ts | 67 +++++++++++++++++++ src/FlowLayout/measure/tapins/doVertical.ts | 41 ++++++++++++ 10 files changed, 304 insertions(+) create mode 100644 src/FlowLayout/FlowLayout.ts create mode 100644 src/FlowLayout/FlowLayoutUpdater.ts create mode 100644 src/FlowLayout/arrange/FlowLayoutArrangePipeDef.ts create mode 100644 src/FlowLayout/arrange/tapins/doHorizontal.ts create mode 100644 src/FlowLayout/arrange/tapins/doVertical.ts create mode 100644 src/FlowLayout/helpers.ts create mode 100644 src/FlowLayout/measure/FlowLayoutMeasurePipeDef.ts create mode 100644 src/FlowLayout/measure/tapins/doHorizontal.ts create mode 100644 src/FlowLayout/measure/tapins/doVertical.ts diff --git a/.gitignore b/.gitignore index 688eaaa..09c6d2b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,8 @@ test/lib lib/ testsite/.build/ test/.build/ +*.js +*.map +*.json +*.scc +dist/ diff --git a/src/FlowLayout/FlowLayout.ts b/src/FlowLayout/FlowLayout.ts new file mode 100644 index 0000000..04030ba --- /dev/null +++ b/src/FlowLayout/FlowLayout.ts @@ -0,0 +1,21 @@ +module Fayde.Controls { + export class FlowLayout extends Fayde.Controls.Panel { + CreateLayoutUpdater() { + return new flowlayout.FlowLayoutUpdater(); + } + + static OrientationProperty = DependencyProperty.Register("Orientation", () => new Enum(Orientation), FlowLayout, Orientation.Horizontal); + static ItemWidthProperty = DependencyProperty.Register("ItemWidth", () => Number, FlowLayout, NaN); + static ItemHeightProperty = DependencyProperty.Register("ItemHeight",() => Number, FlowLayout, NaN); + + Orientation: Fayde.Orientation; + ItemWidth: number; + ItemHeight: number; + } + + module reactions { + UIReaction(FlowLayout.OrientationProperty, (upd, ov, nv) => upd.invalidateMeasure(), false); + UIReaction(FlowLayout.ItemWidthProperty, (upd, ov, nv) => upd.invalidateMeasure(), false); + UIReaction(FlowLayout.ItemHeightProperty,(upd, ov, nv) => upd.invalidateMeasure(), false); + } +} diff --git a/src/FlowLayout/FlowLayoutUpdater.ts b/src/FlowLayout/FlowLayoutUpdater.ts new file mode 100644 index 0000000..3ac4975 --- /dev/null +++ b/src/FlowLayout/FlowLayoutUpdater.ts @@ -0,0 +1,29 @@ +module Fayde.Controls.flowlayout { + export interface IFlowLayoutUpdaterAssets extends minerva.controls.panel.IPanelUpdaterAssets, measure.IInput, arrange.IInput { + } + + export class FlowLayoutUpdater extends minerva.controls.panel.PanelUpdater { + assets: IFlowLayoutUpdaterAssets; + + init () { + this.setMeasurePipe(minerva.singleton(measure.FlowLayoutMeasurePipeDef)) + .setArrangePipe(minerva.singleton(arrange.FlowLayoutArrangePipeDef)); + + var assets = this.assets; + assets.orientation = Orientation.Horizontal; + assets.itemWidth = NaN; + assets.itemHeight = NaN; + + super.init(); + + } + //onSizeChanged(oldSize, newSize) { + // this.onSizeChanged(oldSize, newSize); + + //} + OnSizeChanged(oldSize, newSize) { + + + } + } +} \ No newline at end of file diff --git a/src/FlowLayout/arrange/FlowLayoutArrangePipeDef.ts b/src/FlowLayout/arrange/FlowLayoutArrangePipeDef.ts new file mode 100644 index 0000000..602de74 --- /dev/null +++ b/src/FlowLayout/arrange/FlowLayoutArrangePipeDef.ts @@ -0,0 +1,20 @@ +module Fayde.Controls.flowlayout.arrange { + import panel = minerva.controls.panel; + export interface IInput extends panel.arrange.IInput { + orientation: Orientation; + itemWidth: number; + itemHeight: number; + } + export interface IState extends panel.arrange.IState { + } + export interface IOutput extends panel.arrange.IOutput { + } + export class FlowLayoutArrangePipeDef extends panel.arrange.PanelArrangePipeDef { + constructor () { + super(); + this.addTapinAfter('doOverride', 'doHorizontal', tapins.doHorizontal) + .addTapinAfter('doOverride', 'doVertical', tapins.doVertical) + .removeTapin('doOverride'); + } + } +} \ No newline at end of file diff --git a/src/FlowLayout/arrange/tapins/doHorizontal.ts b/src/FlowLayout/arrange/tapins/doHorizontal.ts new file mode 100644 index 0000000..292b57d --- /dev/null +++ b/src/FlowLayout/arrange/tapins/doHorizontal.ts @@ -0,0 +1,53 @@ +module Fayde.Controls.flowlayout.arrange.tapins { + import Size = minerva.Size; + import Rect = minerva.Rect; + + export function doHorizontal (input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, finalRect: Rect): boolean { + if (input.orientation !== Orientation.Horizontal) + return true; + + var fs = state.finalSize; + var as = state.arrangedSize; + var fullHeight = tree.surface.height; + Size.copyTo(fs, as); + + var cr = state.childRect; + cr.x = cr.y = cr.width = cr.height = 0; + + var finalWidth = 0; + var colWidth = 0; + var rowHeight = 0; + var multiple = 0; + for (var walker = tree.walk(); walker.step();) { + var child = walker.current; + var childDesired = child.assets.desiredSize; + var fullcolWidth = 320; + //Code added by Deepak + if (fullcolWidth * (multiple + 1) < (cr.x + childDesired.width)) { // needs to start another row + if ((fullHeight - childDesired.height - 100) < (cr.y + childDesired.height)) { + //if ((state.finalRect.height - 128) < (cr.y + childDesired.height)) { + multiple++; + cr.y = 0; + colWidth = 0; + } + else + cr.y += rowHeight; + + cr.x = fullcolWidth * multiple; + rowHeight = 0; //reset row spacing + } + rowHeight = Math.max(rowHeight, childDesired.height); + colWidth = Math.max(colWidth, childDesired.width); + + Size.copyTo(childDesired, cr); + child.arrange(cr); + cr.x += childDesired.width; + finalWidth = cr.x; + } + as.width = Math.max(as.width, fs.width); + as.height = Math.max(as.height, fs.height); + //state.arrangedSize.width = finalWidth; + + return true; + } +} \ No newline at end of file diff --git a/src/FlowLayout/arrange/tapins/doVertical.ts b/src/FlowLayout/arrange/tapins/doVertical.ts new file mode 100644 index 0000000..f7f70d9 --- /dev/null +++ b/src/FlowLayout/arrange/tapins/doVertical.ts @@ -0,0 +1,34 @@ +module Fayde.Controls.flowlayout.arrange.tapins { + import Size = minerva.Size; + import Rect = minerva.Rect; + + export function doVertical (input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, finalRect: Rect): boolean { + if (input.orientation !== Orientation.Vertical) + return true; + + var fs = state.finalSize; + var as = state.arrangedSize; + Size.copyTo(fs, as); + + var cr = state.childRect; + cr.x = cr.y = cr.width = cr.height = 0; + + var colWidth = 0; + for (var walker = tree.walk(); walker.step();) { + var child = walker.current; + var childDesired = child.assets.desiredSize; + if (fs.height < (cr.y + childDesired.height)) { // needs to start another col + cr.x += colWidth; //and colWidth + cr.y = 0; //reset OffsetY to top + colWidth = 0; //reset colWidth + } + colWidth = Math.max(colWidth, childDesired.width); + Size.copyTo(childDesired, cr); + child.arrange(cr); + cr.y += childDesired.height; + } + as.height = Math.max(as.height, fs.height); + + return true; + } +} \ No newline at end of file diff --git a/src/FlowLayout/helpers.ts b/src/FlowLayout/helpers.ts new file mode 100644 index 0000000..7557ecf --- /dev/null +++ b/src/FlowLayout/helpers.ts @@ -0,0 +1,14 @@ +module Fayde.Controls.flowlayout { + export module helpers { + export function coerceChildSize (child: minerva.core.Updater, itemWidth: number, itemHeight: number) { + var node = child.getAttachedValue("$node"); + var xobj = node ? node.XObject : null; + if (!xobj) + return; + if (isNaN(child.assets.width) && !isNaN(itemWidth)) + xobj.Width = itemWidth; + if (isNaN(child.assets.height) && !isNaN(itemHeight)) + xobj.Height = itemHeight; + } + } +} \ No newline at end of file diff --git a/src/FlowLayout/measure/FlowLayoutMeasurePipeDef.ts b/src/FlowLayout/measure/FlowLayoutMeasurePipeDef.ts new file mode 100644 index 0000000..c6e3d36 --- /dev/null +++ b/src/FlowLayout/measure/FlowLayoutMeasurePipeDef.ts @@ -0,0 +1,20 @@ +module Fayde.Controls.flowlayout.measure { + import panel = minerva.controls.panel; + export interface IInput extends panel.measure.IInput { + orientation: Orientation; + itemWidth: number; + itemHeight: number; + } + export interface IState extends panel.measure.IState { + } + export interface IOutput extends panel.measure.IOutput { + } + export class FlowLayoutMeasurePipeDef extends panel.measure.PanelMeasurePipeDef { + constructor () { + super(); + this.addTapinAfter('doOverride', 'doHorizontal', tapins.doHorizontal) + .addTapinAfter('doOverride', 'doVertical', tapins.doVertical) + .removeTapin('doOverride'); + } + } +} \ No newline at end of file diff --git a/src/FlowLayout/measure/tapins/doHorizontal.ts b/src/FlowLayout/measure/tapins/doHorizontal.ts new file mode 100644 index 0000000..ce0c840 --- /dev/null +++ b/src/FlowLayout/measure/tapins/doHorizontal.ts @@ -0,0 +1,67 @@ +module Fayde.Controls.flowlayout.measure.tapins { + import Size = minerva.Size; + + export function doHorizontal(input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, availableSize: Size): boolean { + if (input.orientation !== Orientation.Horizontal) + return true; + + var as = state.availableSize; + var fullHeight = tree.surface.height; + var fullcolWidth = 320; + + if (!isNaN(input.height)) + as.height = input.height; + as.height = Math.min(as.height, input.maxHeight); + + //if (as.height != Infinity) + // fullHeight = as.height; + + var ds = output.desiredSize; + ds.width = ds.height = 0; + var colWidth = 0; + var rowHeight = 0; + var offsetX = 0; + var offsetY = 0; + var multiple = 0; + for (var walker = tree.walk(); walker.step();) { + var child = walker.current; + //TODO: We should coerce width/height before measure + helpers.coerceChildSize(child, input.itemWidth, input.itemHeight); + child.measure(as); + + var childDesired = child.assets.desiredSize; + /*if (as.width < (offsetX + childDesired.width)) { // needs to start another row + offsetY += rowHeight; + rowHeight = 0; //reset row height + } + rowHeight = Math.max(rowHeight, childDesired.height); + + if (as.height < (offsetY + childDesired.height)) { // needs to start another col + offsetX += colWidth; + colWidth = 0; //reset col spacing + } + colWidth = Math.max(colWidth, childDesired.width);*/ + + if (fullcolWidth * (multiple + 1) < (offsetX + childDesired.width)) { // needs to start another row + if ((fullHeight - childDesired.height - 100) < (offsetY + childDesired.height)) { // needs to start another col + multiple++; + offsetY = 0; + colWidth = 0; + } + else + offsetY += rowHeight; + + offsetX = fullcolWidth * multiple; + rowHeight = 0; //reset row spacing + } + rowHeight = Math.max(rowHeight, childDesired.height); + colWidth = Math.max(colWidth, childDesired.width); + + ds.height = Math.max(ds.height, offsetY + childDesired.height); + ds.width = Math.max(ds.width, offsetX + childDesired.width); + offsetX += childDesired.width; + } + + return true; + } +} \ No newline at end of file diff --git a/src/FlowLayout/measure/tapins/doVertical.ts b/src/FlowLayout/measure/tapins/doVertical.ts new file mode 100644 index 0000000..365b4f3 --- /dev/null +++ b/src/FlowLayout/measure/tapins/doVertical.ts @@ -0,0 +1,41 @@ +module Fayde.Controls.flowlayout.measure.tapins { + import Size = minerva.Size; + + export function doVertical (input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, availableSize: Size): boolean { + if (input.orientation !== Orientation.Vertical) + return true; + + var as = state.availableSize; + if (!isNaN(input.width)) + as.width = input.width; + as.width = Math.min(as.width, input.maxWidth); + as.width = Math.max(as.width, input.minWidth); + + var ds = output.desiredSize; + ds.width = ds.height = 0; + + var colWidth = 0; + var offsetX = 0; + var offsetY = 0; + for (var walker = tree.walk(); walker.step();) { + var child = walker.current; + //TODO: We should coerce width/height before measure + helpers.coerceChildSize(child, input.itemWidth, input.itemHeight); + child.measure(as); + + var childDesired = child.assets.desiredSize; + if (as.height < (offsetY + childDesired.height)) { // needs to start another col + offsetX += colWidth; + offsetY = 0; //reset offsetY to 0 + colWidth = 0; //reset col spacing + } + colWidth = Math.max(colWidth, childDesired.width); + + ds.height = Math.max(ds.height, offsetY + childDesired.height); + ds.width = Math.max(ds.width, offsetX + childDesired.width); + offsetY += childDesired.height; + } + + return true; + } +} \ No newline at end of file From 752a9786af356aa65c4f0e36c4f3f9acff3abfcf Mon Sep 17 00:00:00 2001 From: Ronnie Barnard Date: Tue, 24 Nov 2015 14:35:10 -0800 Subject: [PATCH 2/5] Star Rating Control --- src/StarRating/Star.ts | 39 +++++ src/StarRating/StarRatingControl.ts | 240 ++++++++++++++++++++++++++++ themes/Metro.theme.xml | 36 +++++ 3 files changed, 315 insertions(+) create mode 100644 src/StarRating/Star.ts create mode 100644 src/StarRating/StarRatingControl.ts diff --git a/src/StarRating/Star.ts b/src/StarRating/Star.ts new file mode 100644 index 0000000..969b717 --- /dev/null +++ b/src/StarRating/Star.ts @@ -0,0 +1,39 @@ +module Fayde.Controls { + import Control = Fayde.Controls.Control; + + // Defines a datepicker in the format of windows phone pickers (Touch friendly) + export class Star extends Control { + static StarFillBrushProperty = DependencyProperty.Register("StarFillBrush",() => Fayde.Media.Brush, Star,(new Fayde.Media.SolidColorBrush(Color.FromRgba(0xFF, 0xFF, 0x80, 0xFF)))); + StarFillBrush: Fayde.Media.Brush; + + static HalfFillBrushProperty = DependencyProperty.Register("HalfFillBrush",() => Fayde.Media.Brush, Star, undefined); + HalfFillBrush: Fayde.Media.Brush; + + static StrokeThicknessProperty = DependencyProperty.Register("StrokeThickness",() => Number, Star, 2.0); + StrokeThickness: number; + + static StrokeLineJoinProperty = DependencyProperty.Register("StrokeLineJoin",() => Fayde.Shapes.PenLineJoin, Star, Fayde.Shapes.PenLineJoin.Round); + StrokeLineJoin: Fayde.Shapes.PenLineJoin; + + private scaleTransform: Fayde.Media.ScaleTransform = new Fayde.Media.ScaleTransform(); + + /// Instantiates a new datepicker instance + constructor() { + super(); + this.DefaultStyleKey = Star; + this.SizeChanged.on(this.Star_SizeChanged, this); + + } + + Star_SizeChanged(sender: Object, e: Fayde.SizeChangedEventArgs): void { + var scaleX = e.NewSize.width / 34; + var scaleY = e.NewSize.height / 34; + this.scaleTransform.ScaleX = this.scaleTransform.ScaleY = Math.min(scaleX, scaleY); + } + OnApplyTemplate() { + super.OnApplyTemplate(); + this.scaleTransform = this.GetTemplateChild("scaleTransform", Fayde.Media.ScaleTransform); + } + } + Fayde.Controls.TemplateParts(Star, { Name: "scaleTransform", Type: Fayde.Media.ScaleTransform }); +} \ No newline at end of file diff --git a/src/StarRating/StarRatingControl.ts b/src/StarRating/StarRatingControl.ts new file mode 100644 index 0000000..02c974c --- /dev/null +++ b/src/StarRating/StarRatingControl.ts @@ -0,0 +1,240 @@ +module Fayde.Controls { + import Control = Fayde.Controls.Control; + import GridUnitType = minerva.controls.grid.GridUnitType; + + // Defines a datepicker in the format of windows phone pickers (Touch friendly) + export class StarRatingControl extends Control { + private stars = new Array(); + private isHovering: boolean = false; + private LayoutRootStarList: Fayde.Controls.Grid; + + //NumberOfStarsProperty + static NumberOfStarsProperty = DependencyProperty.Register("NumberOfStars",() => Number, StarRatingControl, 5,(d, args) => (d).OnNumberOfStarsChanged(args)); + NumberOfStars: number; + + OnNumberOfStarsChanged(e: DependencyPropertyChangedEventArgs) { + this.CreateStars(); + this.RefreshStarRating(); + } + + //RatingProperty + static RatingProperty = DependencyProperty.Register("Rating",() => Number, StarRatingControl, 0,(d, args) => (d).OnRatingChanged(args)); + Rating: number; + + OnRatingChanged(e: DependencyPropertyChangedEventArgs) { + this.DrawUnhovered(); + } + + //HoverRatingProperty + static HoverRatingProperty = DependencyProperty.Register("HoverRating",() => Number, StarRatingControl, 0,(d, args) => (d).OnHoverRatingChanged(args)); + HoverRating: number; + + OnHoverRatingChanged(e: DependencyPropertyChangedEventArgs) { + this.RefreshStarRating(); + } + + //StarFillBrushProperty + static StarFillBrushProperty = DependencyProperty.Register("StarFillBrush",() => Fayde.Media.Brush, StarRatingControl,(new Fayde.Media.SolidColorBrush(Color.FromRgba(0xFF, 0xFF, 0, 0xFF))),(d, args) => (d).StarFillBrushChanged(args)); + StarFillBrush: Fayde.Media.Brush; + + StarFillBrushChanged(e: DependencyPropertyChangedEventArgs) { + this.RefreshStarRating(); + } + + //UnselectedStarFillBrushProperty + static UnselectedStarFillBrushProperty = DependencyProperty.Register("UnselectedStarFillBrush",() => Fayde.Media.Brush, StarRatingControl, null,(d, args) => (d).UnselectedStarFillBrushChanged(args)); + UnselectedStarFillBrush: Fayde.Media.Brush; + + UnselectedStarFillBrushChanged(e: DependencyPropertyChangedEventArgs) { + this.RefreshStarRating(); + } + + //StarOutlineBrushProperty + static StarOutlineBrushProperty = DependencyProperty.Register("StarOutlineBrush",() => Fayde.Media.Brush, StarRatingControl,(new Fayde.Media.SolidColorBrush(Color.FromRgba(0xC0, 0xC0, 0, 0xFF))),(d, args) => (d).StarOutlineBrushChanged(args)); + StarOutlineBrush: Fayde.Media.Brush; + + StarOutlineBrushChanged(e: DependencyPropertyChangedEventArgs) { + this.RefreshStarRating(); + } + + //HoverFillBrushProperty + static HoverFillBrushProperty = DependencyProperty.Register("HoverFillBrush",() => Fayde.Media.Brush, StarRatingControl,(new Fayde.Media.SolidColorBrush(Color.FromRgba(0xF0, 0xF0, 0x80, 0xFF))),(d, args) => (d).HoverFillBrushChanged(args)); + HoverFillBrush: Fayde.Media.Brush; + + HoverFillBrushChanged(e: DependencyPropertyChangedEventArgs) { + this.RefreshStarRating(); + } + + //UnselectedHoverFillBrushProperty + static UnselectedHoverFillBrushProperty = DependencyProperty.Register("UnselectedHoverFillBrush",() => Fayde.Media.Brush, StarRatingControl, null,(d, args) => (d).UnselectedHoverFillBrushChanged(args)); + UnselectedHoverFillBrush: Fayde.Media.Brush; + + UnselectedHoverFillBrushChanged(e: DependencyPropertyChangedEventArgs) { + this.RefreshStarRating(); + } + + //HoverOutlineBrushProperty + static HoverOutlineBrushProperty = DependencyProperty.Register("HoverOutlineBrush",() => Fayde.Media.Brush, StarRatingControl,(new Fayde.Media.SolidColorBrush(Color.FromRgba(0xA0, 0xA0, 0x00, 0xFF))),(d, args) => (d).HoverOutlineBrushChanged(args)); + HoverOutlineBrush: Fayde.Media.Brush; + + HoverOutlineBrushChanged(e: DependencyPropertyChangedEventArgs) { + this.RefreshStarRating(); + } + + //StrokeThicknessProperty + static StrokeThicknessProperty = DependencyProperty.Register("StrokeThickness",() => Number, StarRatingControl, 2.0); + StrokeThickness: number; + + //StrokeLineJoinProperty + static StrokeLineJoinProperty = DependencyProperty.Register("StrokeLineJoin",() => Fayde.Shapes.PenLineJoin, StarRatingControl, Fayde.Shapes.PenLineJoin.Round); + StrokeLineJoin: Fayde.Shapes.PenLineJoin; + + + /// Instantiates a new datepicker instance + constructor() { + super(); + this.DefaultStyleKey = StarRatingControl; + } + OnApplyTemplate() { + super.OnApplyTemplate(); + this.LayoutRootStarList = this.GetTemplateChild("LayoutRootStarList", Fayde.Controls.Grid); + this.CreateStars(); + } + + + OnMouseEnter(e: Fayde.Input.MouseEventArgs) { + super.OnMouseEnter(e); + var mousePos = e.GetPosition(this.LayoutRootStarList); + this.HandleMouseOver(mousePos); + } + OnMouseMove(e: Fayde.Input.MouseEventArgs) { + super.OnMouseMove(e); + var mousePos = e.GetPosition(this.LayoutRootStarList); + this.HandleMouseOver(mousePos); + } + OnMouseLeave(e: Fayde.Input.MouseEventArgs) { + super.OnMouseLeave(e); + this.IsHovering = false; + } + OnMouseLeftButtonDown(e: Fayde.Input.MouseEventArgs) { + super.OnMouseLeftButtonDown(e); + if (this.IsEnabled) { + this.Rating = this.GetRatingFromPosition(e.GetPosition(this.LayoutRootStarList)); + } + } + private HandleMouseOver(mousePos: Point): void { + if (this.IsEnabled) // no hover ratings if not enabled + { + this.IsHovering = this.IsInBounds(mousePos); + if (this.IsHovering) { + this.HoverRating = this.GetRatingFromPosition(mousePos); + } + } + } + private IsInBounds(p: Point): boolean { + if (this.LayoutRootStarList.ColumnDefinitions.Count > 0) { + var maxX = this.LayoutRootStarList.ColumnDefinitions.GetValueAt(0).ActualWidth * this.NumberOfStars; + var maxY = this.LayoutRootStarList.ColumnDefinitions.GetValueAt(0).ActualWidth; // actual height of a star doesn't give us the right thing + return (p.y >= 0) && + (p.y < maxY) && + (p.x >= 0) && + (p.x < maxX); + } + else + return false; + } + private GetRatingFromPosition(mousePos: Point): number { + var maxRating = this.NumberOfStars * 2; + + var starRatingWidth = this.LayoutRootStarList.ColumnDefinitions.GetValueAt(0).ActualWidth * this.NumberOfStars; + var percent = mousePos.x / starRatingWidth; + var value = 0.75 + (percent * maxRating); + var rating = parseInt(value.toString()); + if (rating < 0) rating = 0; + if (rating > maxRating) rating = maxRating; + return rating; + } + + private get IsHovering(): boolean { return this.isHovering; } + private set IsHovering(value: boolean) { + if (this.isHovering != value) { + this.isHovering = value; + if (!this.isHovering) { + this.DrawUnhovered(); + } + } + } + + CreateStars(): void { + + if (this.LayoutRootStarList != undefined) { + this.stars = new Array(); + this.LayoutRootStarList.ColumnDefinitions.Clear(); + this.LayoutRootStarList.Children.Clear(); + + for (var column = 0; column < this.NumberOfStars; column++) { + var cd = new Fayde.Controls.ColumnDefinition(); + cd.Width = new Fayde.Controls.GridLength(34, GridUnitType.Star); // GridLength.Auto; + this.LayoutRootStarList.ColumnDefinitions.Add(cd); + + var star = new Star(); + star.StarFillBrush = this.StarFillBrush; + star.Foreground = this.StarOutlineBrush; + star.SetValue(Fayde.Controls.Grid.ColumnProperty, column); + + var strokeThicknessBinding = new Fayde.Data.Binding(); + strokeThicknessBinding.ElementName = "LayoutRootStarList"; + strokeThicknessBinding.Path = new Fayde.Data.PropertyPath("Parent.StrokeThickness"); + star.SetBinding(Star.StrokeThicknessProperty, strokeThicknessBinding); + star.StrokeThickness = this.StrokeThickness; + + var lineJoinBinding = new Fayde.Data.Binding(); + lineJoinBinding.ElementName = "LayoutRootStarList"; + lineJoinBinding.Path = new Fayde.Data.PropertyPath("Parent.StrokeLineJoin"); + star.SetBinding(Star.StrokeLineJoinProperty, lineJoinBinding); + star.StrokeLineJoin = this.StrokeLineJoin; + + this.LayoutRootStarList.Children.Add(star); + this.stars.push(star); + } + this.RefreshStarRating(); + } + } + RefreshStarRating(): void { + if (this.isHovering) { + this.DrawStarRating(this.HoverRating, this.HoverFillBrush, this.HoverOutlineBrush, this.UnselectedHoverFillBrush); + } + else { + this.DrawUnhovered(); + } + } + private DrawUnhovered(): void { + this.DrawStarRating(this.Rating, this.StarFillBrush, this.StarOutlineBrush, this.UnselectedStarFillBrush); + } + private DrawStarRating(value: number, fillBrush: Fayde.Media.Brush, outlineBrush: Fayde.Media.Brush, unselectedBrush: Fayde.Media.Brush): void { + for (var star = 0; star < this.NumberOfStars; star++) { + if (this.stars[star] != undefined) { + if (value >= (star + 1) * 2) { + this.stars[star].StarFillBrush = fillBrush; + this.stars[star].HalfFillBrush = null; + } + else if (value >= 1 + star * 2) { + this.stars[star].StarFillBrush = unselectedBrush; + this.stars[star].HalfFillBrush = fillBrush; + } + else { + this.stars[star].StarFillBrush = unselectedBrush; + this.stars[star].HalfFillBrush = null; + } + this.stars[star].Foreground = outlineBrush; + this.stars[star].StrokeThickness = this.StrokeThickness; + this.stars[star].StrokeLineJoin = this.StrokeLineJoin; + } + } + } + } + + Fayde.Controls.TemplateParts(StarRatingControl, + { Name: "LayoutRootStarList", Type: Fayde.Controls.Grid } + ); +} \ No newline at end of file diff --git a/themes/Metro.theme.xml b/themes/Metro.theme.xml index 7a7b348..facc002 100644 --- a/themes/Metro.theme.xml +++ b/themes/Metro.theme.xml @@ -2764,5 +2764,41 @@ + + + \ No newline at end of file From fad6ef48087a25724f8011e33e6db434f61ae4f8 Mon Sep 17 00:00:00 2001 From: Ronnie Barnard Date: Tue, 24 Nov 2015 14:35:10 -0800 Subject: [PATCH 3/5] Not tracking changes to dist folder --- dist/fayde.controls.d.ts | 1228 -------- dist/fayde.controls.js | 5935 ------------------------------------ dist/fayde.controls.js.map | 1 - 3 files changed, 7164 deletions(-) delete mode 100644 dist/fayde.controls.d.ts delete mode 100644 dist/fayde.controls.js delete mode 100644 dist/fayde.controls.js.map diff --git a/dist/fayde.controls.d.ts b/dist/fayde.controls.d.ts deleted file mode 100644 index 12b025d..0000000 --- a/dist/fayde.controls.d.ts +++ /dev/null @@ -1,1228 +0,0 @@ -declare module Fayde.Controls { - var version: string; -} -declare module Fayde.Controls { - var Library: nullstone.ILibrary; -} -declare module Fayde.Controls { - class BusyIndicator extends ContentControl { - static IsBusyProperty: DependencyProperty; - static HasContentProperty: DependencyProperty; - static BusyContentProperty: DependencyProperty; - static BusyContentTemplateProperty: DependencyProperty; - static OverlayStyleProperty: DependencyProperty; - IsBusy: boolean; - OverlayStyle: Style; - HasContent: boolean; - BusyContent: any; - BusyContentTemplate: DataTemplate; - protected OnBusyContentChanged(oldBusyContent: any, newBusyContent: any): void; - constructor(); - } -} -declare module Fayde.Controls.Primitives { - class MenuBase extends Fayde.Controls.ItemsControl { - static ItemContainerStyleProperty: DependencyProperty; - ItemContainerStyle: Style; - IsItemItsOwnContainer(item: any): boolean; - GetContainerForItem(): UIElement; - PrepareContainerForItem(element: UIElement, item: any): void; - private static HasDefaultValue(control, propd); - } -} -declare module Fayde.Controls { - class ContextMenu extends Primitives.MenuBase { - static HorizontalOffsetProperty: DependencyProperty; - static VerticalOffsetProperty: DependencyProperty; - static IsOpenProperty: DependencyProperty; - HorizontalOffset: number; - VerticalOffset: number; - IsOpen: boolean; - private OnHorizontalOffsetChanged(args); - private OnVerticalOffsetChanged(args); - private OnIsOpenChanged(args); - Opened: RoutedEvent; - Closed: RoutedEvent; - private $RootVisualTracker; - constructor(); - OnKeyDown(e: Input.KeyEventArgs): void; - OnMouseLeftButtonDown(e: Input.MouseButtonEventArgs): void; - OnMouseRightButtonDown(e: Input.MouseButtonEventArgs): void; - private _Owner; - Owner: DependencyObject; - private _PopupAlignmentPoint; - private _SettingIsOpen; - private _Popup; - private _Overlay; - private _HandleOwnerMouseRightButtonDown(sender, e); - private _HandleOverlayMouseButtonDown(sender, e); - private _HandleContextMenuSizeChanged(sender, e); - ChildMenuItemClicked(): void; - private UpdateContextMenuPlacement(); - private OpenPopup(position); - OnOpened(e: RoutedEventArgs): void; - private ClosePopup(); - OnClosed(e: RoutedEventArgs): void; - private FocusNextItem(down); - } -} -declare module Fayde.Controls { - class ContextMenuService { - static ContextMenuProperty: DependencyProperty; - static GetContextMenu(d: DependencyObject): ContextMenu; - static SetContextMenu(d: DependencyObject, value: ContextMenu): void; - private static OnContextMenuPropertyChanged(d, args); - } -} -declare module Fayde.Controls { - class DatePicker extends Control { - static SelectedMonthProperty: DependencyProperty; - static SelectedDayProperty: DependencyProperty; - static SelectedYearProperty: DependencyProperty; - static SelectedDateProperty: DependencyProperty; - SelectedMonth: number; - SelectedDay: number; - SelectedYear: number; - SelectedDate: DateTime; - private OnSelectedMonthChanged(args); - private OnSelectedDayChanged(args); - private OnSelectedYearChanged(args); - private OnSelectedDateChanged(args); - private _MonthTextBox; - private _DayTextBox; - private _YearTextBox; - private _MonthGesture; - private _DayGesture; - private _YearGesture; - private _SelectionHandler; - constructor(); - OnApplyTemplate(): void; - private CoerceMonth(month); - private CoerceDay(day); - private CoerceYear(year); - private CoerceDate(); - private _UpdateText(); - } -} -declare module Fayde.Controls { - enum ValidSpinDirections { - None = 0, - Increase = 1, - Decrease = 2, - } - enum SpinDirection { - Increase = 0, - Decrease = 1, - } - enum InvalidInputAction { - UseFallbackItem = 0, - TextBoxCannotLoseFocus = 1, - } - enum Dock { - Left = 0, - Top = 1, - Right = 2, - Bottom = 3, - } - enum DatePickerFormat { - Long = 0, - Short = 1, - } - enum TimeDisplayMode { - Regular = 0, - Military = 1, - } - enum ValidationSummaryFilters { - None = 0, - ObjectErrors = 1, - PropertyErrors = 2, - All = 3, - } - enum ValidationSummaryItemType { - ObjectError = 1, - PropertyError = 2, - } - enum StretchDirection { - UpOnly = 0, - DownOnly = 1, - Both = 2, - } -} -declare module Fayde.Controls { - class Spinner extends Control { - static ContentProperty: DependencyProperty; - static ValidSpinDirectionProperty: DependencyProperty; - Content: any; - ValidSpinDirection: ValidSpinDirections; - OnContentChanged(oldContent: any, newContent: any): void; - OnValidSpinDirectionChanged(args: IDependencyPropertyChangedEventArgs): void; - Spin: RoutedEvent; - OnSpin(e: SpinEventArgs): void; - private _IncreaseButton; - private _DecreaseButton; - constructor(); - OnApplyTemplate(): void; - private OnIncreaseClick(sender, e); - private OnDecreaseClick(sender, e); - private EnableButtons(); - GoToStates(gotoFunc: (state: string) => boolean): void; - GoToStateCommon(gotoFunc: (state: string) => boolean): boolean; - GoToStateIncrease(gotoFunc: (state: string) => boolean): boolean; - GoToStateDecrease(gotoFunc: (state: string) => boolean): boolean; - OnMouseEnter(e: Input.MouseEventArgs): void; - OnMouseLeave(e: Input.MouseEventArgs): void; - OnMouseLeftButtonDown(e: Input.MouseButtonEventArgs): void; - OnMouseLeftButtonUp(e: Input.MouseButtonEventArgs): void; - OnGotFocus(e: RoutedEventArgs): void; - OnLostFocus(e: RoutedEventArgs): void; - } -} -declare module Fayde.Controls { - class UpDownBase extends Control { - private _IgnoreValueChange; - _TextBox: TextBox; - _Spinner: Spinner; - private _Text; - static SpinnerStyleProperty: DependencyProperty; - SpinnerStyle: Style; - private OnSpinnerStyleChanged(oldStyle, newStyle); - Value: T; - _OnValueChanged(args: IDependencyPropertyChangedEventArgs): void; - OnValueChanging(e: RoutedPropertyChangingEventArgs): void; - OnValueChanged(e: RoutedPropertyChangedEventArgs): void; - static IsEditableProperty: DependencyProperty; - IsEditable: boolean; - private OnIsEditableChanged(args); - ValueChanging: RoutedPropertyChangingEvent; - ValueChanged: RoutedPropertyChangedEvent; - Parsing: RoutedEvent>; - ParseError: RoutedEvent; - OnApplyTemplate(): void; - private SetTextBox(d); - private SetSpinner(d); - OnKeyDown(e: Fayde.Input.KeyEventArgs): void; - OnMouseWheel(e: Fayde.Input.MouseWheelEventArgs): void; - ApplyValue(text: string): void; - OnParseError(e: UpDownParseErrorEventArgs): void; - OnParsing(e: UpDownParsingEventArgs): void; - ParseValue(text: string): T; - FormatValue(): string; - SelectAllText(): void; - SetTextBoxText(): void; - private TextBox_LostFocus(sender, e); - private TextBox_GotFocus(sender, e); - private Spinner_Spin(sender, e); - OnSpin(e: SpinEventArgs): void; - private ProcessUserInput(); - private DoDecrement(); - OnDecrement(): void; - private DoIncrement(); - OnIncrement(): void; - } -} -declare module Fayde.Controls { - interface IOutValue { - Value: any; - } - class DomainUpDown extends Control { - static ValueProperty: DependencyProperty; - static IsEditableProperty: DependencyProperty; - static SpinnerStyleProperty: DependencyProperty; - static CurrentIndexProperty: DependencyProperty; - static IsCyclicProperty: DependencyProperty; - static InvalidInputActionProperty: DependencyProperty; - static FallbackItemProperty: DependencyProperty; - static ItemsSourceProperty: DependencyProperty; - static ItemTemplateProperty: DependencyProperty; - Value: any; - IsEditable: boolean; - SpinnerStyle: Style; - CurrentIndex: number; - IsCyclic: boolean; - InvalidInputAction: InvalidInputAction; - FallbackItem: any; - ItemsSource: nullstone.IEnumerable; - ItemTemplate: DataTemplate; - Items: Internal.ObservableObjectCollection; - OnValueChanged(oldItem: any, newItem: any): void; - OnCurrentIndexChanged(oldIndex: number, newIndex: number): void; - private _OnIsCyclicChanged(args); - private _OnItemsSourceChanged(oldItemsSource, newItemsSource); - private _ItemsSourceModified(sender, e); - private _OnItemsChanged(sender, e); - ValueChanging: RoutedPropertyChangingEvent; - ParseError: RoutedEvent; - ValueMemberPath: string; - private _ValueBindingEvaluator; - ValueMemberBinding: Fayde.Data.Binding; - private _Coercer; - private _SpinFlow; - private _CanEditByFocus; - constructor(); - OnApplyTemplate(): void; - OnGotFocus(e: RoutedEventArgs): void; - OnLostFocus(e: RoutedEventArgs): void; - OnMouseEnter(e: Fayde.Input.MouseEventArgs): void; - OnMouseLeave(e: Fayde.Input.MouseEventArgs): void; - OnMouseLeftButtonDown(e: Fayde.Input.MouseButtonEventArgs): void; - OnMouseLeftButtonUp(e: Fayde.Input.MouseButtonEventArgs): void; - GoToStates(gotoFunc: (state: string) => boolean): void; - GoToStateEditing(gotoFunc: (state: string) => boolean): boolean; - GoToStateValid(gotoFunc: (state: string) => boolean): boolean; - private UpdateValidSpinDirection(); - private TryEnterEditMode(); - OnIsEditingChanged(isEditing: boolean): void; - OnIsInvalidInputChanged(isInvalid: boolean): void; - OnSpin(): void; - OnIncrement(): void; - OnDecrement(): void; - TryParseValue(text: string, ov: IOutValue): boolean; - FormatValue(): string; - } -} -declare module Fayde.Controls { - class GridSplitter extends Control { - private _Helper; - private _HorizontalTemplate; - private _VerticalTemplate; - private _DragStart; - private _IsDragging; - constructor(); - OnApplyTemplate(): void; - private _OnLayoutUpdated(sender, e); - private _OnResizeDirectionChanged(); - OnGotFocus(e: RoutedEventArgs): void; - OnLostFocus(e: RoutedEventArgs): void; - OnKeyDown(e: Input.KeyEventArgs): void; - OnMouseLeftButtonDown(e: Input.MouseButtonEventArgs): void; - OnMouseLeftButtonUp(e: Input.MouseButtonEventArgs): void; - OnMouseMove(e: Input.MouseEventArgs): void; - private InitHelper(); - private _HandleMove(horiz, vert, isKeyboard); - private _GetTransformedPos(e); - } -} -declare module Fayde.Controls { - class HeaderedItemsControl extends ItemsControl { - private _HeaderIsItem; - private _ItemsControlHelper; - static HeaderProperty: DependencyProperty; - static HeaderTemplateProperty: DependencyProperty; - static ItemContainerStyleProperty: DependencyProperty; - Header: any; - HeaderTemplate: DataTemplate; - ItemContainerStyle: Style; - OnHeaderChanged(oldHeader: any, newHeader: any): void; - OnHeaderTemplateChanged(oldHeaderTemplate: DataTemplate, newHeaderTemplate: DataTemplate): void; - private OnItemContainerStyleChanged(args); - constructor(); - OnApplyTemplate(): void; - PrepareContainerForItem(element: UIElement, item: any): void; - static PrepareHeaderedItemsControlContainer(control: HeaderedItemsControl, item: any, parentItemsControl: ItemsControl, parentItemContainerStyle: Style): void; - } -} -declare module Fayde.Controls { - class MenuItem extends Fayde.Controls.HeaderedItemsControl { - ParentMenuBase: Primitives.MenuBase; - Click: RoutedEvent; - static CommandProperty: DependencyProperty; - static CommandParameterProperty: DependencyProperty; - static IconProperty: DependencyProperty; - Command: Input.ICommand; - CommandParameter: any; - Icon: any; - private OnCommandChanged(args); - private _CanExecuteChanged(sender, e); - private OnCommandParameterChanged(args); - constructor(); - OnApplyTemplate(): void; - private UpdateIsEnabled(); - OnGotFocus(e: RoutedEventArgs): void; - OnLostFocus(e: RoutedEventArgs): void; - OnMouseEnter(e: Input.MouseEventArgs): void; - OnMouseLeave(e: Input.MouseEventArgs): void; - OnMouseLeftButtonDown(e: Input.MouseButtonEventArgs): void; - OnMouseRightButtonDown(e: Input.MouseButtonEventArgs): void; - OnKeyDown(e: Input.KeyEventArgs): void; - private OnClick(); - GoToStateCommon(gotoFunc: (state: string) => boolean): boolean; - } -} -declare module Fayde.Controls { - class NumericUpDown extends Control { - static MinimumProperty: DependencyProperty; - static MaximumProperty: DependencyProperty; - static ValueProperty: DependencyProperty; - static IncrementProperty: DependencyProperty; - static DecimalPlacesProperty: DependencyProperty; - static SpinnerStyleProperty: DependencyProperty; - static IsEditableProperty: DependencyProperty; - Minimum: number; - Maximum: number; - Value: number; - Increment: number; - DecimalPlaces: number; - SpinnerStyle: Style; - IsEditable: boolean; - OnMinimumChanged(oldMinimum: number, newMinimum: number): void; - OnMaximumChanged(oldMaximum: number, newMaximum: number): void; - OnValueChanged(oldValue: number, newValue: number): void; - OnIncrementChanged(oldIncrement: number, newIncrement: number): void; - OnDecimalPlacesChanged(oldDecimalPlaces: number, newDecimalPlaces: number): void; - Parsing: RoutedEvent>; - ParseError: RoutedEvent; - private _Coercer; - private _Formatter; - private _SpinFlow; - constructor(); - OnApplyTemplate(): void; - private UpdateValidSpinDirection(); - ParseValue(text: string): number; - FormatValue(val: number): string; - OnSpin(): void; - OnIncrement(): void; - OnDecrement(): void; - } -} -declare module Fayde.Controls { - class Separator extends Control { - constructor(); - } -} -declare module Fayde.Controls { - class SpinEventArgs extends RoutedEventArgs { - Direction: SpinDirection; - constructor(direction: SpinDirection); - } -} -declare module Fayde.Controls { - class TabControl extends ItemsControl { - static SelectedItemProperty: DependencyProperty; - static SelectedIndexProperty: DependencyProperty; - static SelectedContentProperty: DependencyProperty; - static TabStripPlacementProperty: DependencyProperty; - SelectedItem: any; - SelectedIndex: number; - SelectedContent: any; - TabStripPlacement: Dock; - SelectionChanged: RoutedEvent; - private _ElementTemplateTop; - private _ElementTemplateBottom; - private _ElementTemplateLeft; - private _ElementTemplateRight; - private _ElementTabPanelTop; - private _ElementTabPanelBottom; - private _ElementTabPanelLeft; - private _ElementTabPanelRight; - private _ElementContentTop; - private _ElementContentBottom; - private _ElementContentLeft; - private _ElementContentRight; - private _UpdateIndex; - private _DesiredIndex; - constructor(); - OnApplyTemplate(): void; - private OnSelectedItemChanged(args); - private OnSelectedIndexChanged(args); - private OnSelectedContentChanged(args); - private OnTabStripPlacementPropertyChanged(args); - OnItemsChanged(e: Collections.CollectionChangedEventArgs): void; - OnKeyDown(e: Input.KeyEventArgs): void; - private _FindEndTabItem(); - private _FindHomeTabItem(); - private SelectItem(oldItem, newItem); - OnSelectionChanged(e: Controls.Primitives.SelectionChangedEventArgs): void; - private UpdateTabPanelLayout(oldValue, newValue); - private UpdateSelectedContent(content); - private EnsureLanguageBinding(tabItem); - private ClearLanguageBinding(tabItem); - private _AddToTabPanel(ti); - private _InsertIntoTabPanel(index, ti); - private _RemoveFromTabPanel(ti); - private _ClearTabPanel(); - private _GetTabPanel(tabPlacement); - private _GetTemplate(tabPlacement); - private _GetContentHost(tabPlacement); - private _GetItemAtIndex(index); - private _ThrowInvalidTabItem(obj); - } -} -declare module Fayde.Controls { - class TabItem extends ContentControl { - static HasHeaderProperty: DependencyProperty; - static HeaderProperty: DependencyProperty; - static HeaderTemplateProperty: DependencyProperty; - static IsFocusedProperty: DependencyProperty; - static IsSelectedProperty: DependencyProperty; - HasHeader: boolean; - Header: any; - HeaderTemplate: DataTemplate; - IsFocused: boolean; - IsSelected: boolean; - private _SelectedElements; - private _UnselectedElements; - private _PreviousTemplate; - private _PreviousHeader; - TabStripPlacement: Dock; - private TabControlParent; - constructor(); - OnApplyTemplate(): void; - private _OnHeaderChanged(args); - OnHeaderChanged(oldValue: any, newValue: any): void; - OnHeaderTemplateChanged(oldHeaderTemplate: DataTemplate, newHeaderTemplate: DataTemplate): void; - private _OnIsSelectedChanged(args); - OnSelected(e: RoutedEventArgs): void; - OnUnselected(e: RoutedEventArgs): void; - UpdateVisualState(useTransitions?: boolean): void; - private _UpdateHeaderVisuals(); - OnMouseLeave(e: Input.MouseEventArgs): void; - OnMouseEnter(e: Input.MouseEventArgs): void; - OnMouseLeftButtonDown(e: Input.MouseButtonEventArgs): void; - OnGotFocus(e: RoutedEventArgs): void; - OnLostFocus(e: RoutedEventArgs): void; - OnContentChanged(oldContent: any, newContent: any): void; - OnKeyDown(e: Input.KeyEventArgs): void; - GetTemplate(isSelected: boolean, tabPlacement: Dock): FrameworkElement; - private _GetContentControl(isSelected, tabPlacement); - private _FindPreviousTabItem(startIndex); - private _FindNextTabItem(startIndex); - } -} -declare module Fayde.Controls { - class TimePicker extends Control { - static SelectedHourProperty: DependencyProperty; - static SelectedMinuteProperty: DependencyProperty; - static SelectedSecondProperty: DependencyProperty; - static SelectedTimeProperty: DependencyProperty; - static IsSecondsShownProperty: DependencyProperty; - static DisplayModeProperty: DependencyProperty; - SelectedHour: number; - SelectedMinute: number; - SelectedSecond: number; - SelectedTime: TimeSpan; - IsSecondsShown: boolean; - DisplayMode: TimeDisplayMode; - private OnSelectedHourChanged(args); - private OnSelectedMinuteChanged(args); - private OnSelectedSecondChanged(args); - private OnSelectedTimeChanged(args); - private OnDisplayModeChanged(args); - private _HourTextBox; - private _MinuteTextBox; - private _SecondTextBox; - private _SecondSeparator; - private _SuffixTextBlock; - private _HourGesture; - private _MinuteGesture; - private _SecondGesture; - private _SuffixGesture; - private _SelectionHandler; - constructor(); - OnApplyTemplate(): void; - private _GetHourInput(); - private CoerceHour(hour); - private CoerceMinute(minute); - private CoerceSecond(second); - private CoerceTime(); - private ToggleAmPm(); - private _UpdateText(); - } -} -declare module Fayde.Controls { - class TreeView extends ItemsControl { - static SelectedItemProperty: DependencyProperty; - static SelectedValueProperty: DependencyProperty; - static SelectedValuePathProperty: DependencyProperty; - static ItemContainerStyleProperty: DependencyProperty; - SelectedItem: any; - SelectedValue: any; - SelectedValuePath: string; - ItemContainerStyle: Style; - private OnSelectedItemChanged(e); - private OnSelectedValueChanged(e); - private OnSelectedValuePathChanged(e); - private OnItemContainerStyleChanged(e); - private _AllowWrite; - private _IgnorePropertyChange; - SelectedContainer: TreeViewItem; - IsSelectedContainerHookedUp: boolean; - IsSelectionChangeActive: boolean; - ItemsControlHelper: Internal.ItemsControlHelper; - private SelectedItemChanged; - constructor(); - OnApplyTemplate(): void; - GetContainerForItem(): UIElement; - IsItemItsOwnContainer(item: any): boolean; - PrepareContainerForItem(element: UIElement, item: any): void; - ClearContainerForItem(element: UIElement, item: any): void; - OnItemsChanged(e: Collections.CollectionChangedEventArgs): void; - CheckForSelectedDescendents(item: TreeViewItem): void; - PropagateKeyDown(e: Input.KeyEventArgs): void; - OnKeyDown(e: Input.KeyEventArgs): void; - private HandleScrollByPage(up); - OnMouseEnter(e: Input.MouseEventArgs): void; - OnMouseLeave(e: Input.MouseEventArgs): void; - OnMouseMove(e: Input.MouseEventArgs): void; - OnMouseLeftButtonDown(e: Input.MouseButtonEventArgs): void; - HandleMouseButtonDown(): boolean; - OnMouseLeftButtonUp(e: Input.MouseButtonEventArgs): void; - OnGotFocus(e: RoutedEventArgs): void; - OnLostFocus(e: RoutedEventArgs): void; - ChangeSelection(itemOrContainer: any, container: TreeViewItem, selected: boolean): void; - private UpdateSelectedValue(item); - private SelectFirstItem(); - private FocusFirstItem(); - private FocusLastItem(); - } -} -declare module Fayde.Controls { - class TreeViewItem extends HeaderedItemsControl { - static HasItemsProperty: DependencyProperty; - static IsExpandedProperty: DependencyProperty; - static IsSelectedProperty: DependencyProperty; - static IsSelectionActiveProperty: DependencyProperty; - HasItems: boolean; - private $SetHasItems(value); - IsExpanded: boolean; - IsSelected: boolean; - IsSelectionActive: boolean; - private $SetIsSelectionActive(value); - private OnHasItemsChanged(e); - private OnIsExpandedPropertyChanged(e); - private OnIsSelectedChanged(e); - private OnIsSelectionActiveChanged(e); - Collapsed: RoutedEvent; - Expanded: RoutedEvent; - Selected: RoutedEvent; - Unselected: RoutedEvent; - private _AllowWrite; - IgnorePropertyChange: boolean; - private ContainsSelection; - private CancelGotFocusBubble; - RequiresContainsSelectionUpdate: boolean; - private UserInitiatedExpansion; - private _expanderButton; - private ExpanderButton; - private _headerElement; - HeaderElement: FrameworkElement; - private _expansionStateGroup; - private ExpansionStateGroup; - private _parentItemsControl; - ParentItemsControl: ItemsControl; - private ParentTreeViewItem; - private ParentTreeView; - private IsRoot; - private CanExpandOnInput; - private _MultiClick; - private _IsPressed; - constructor(); - OnApplyTemplate(): void; - private OnExpansionStateGroupStateChanged(sender, e); - private BringIntoView(); - GoToStates(gotoFunc: (state: string) => boolean): void; - GoToStateCommon(gotoFunc: (state: string) => boolean): boolean; - GoToStateExpansion(gotoFunc: (state: string) => boolean): boolean; - GoToStateHasItems(gotoFunc: (state: string) => boolean): boolean; - GoToStateSelection(gotoFunc: (state: string) => boolean): boolean; - GetContainerForItem(): UIElement; - IsItemItsOwnContainer(item: any): boolean; - PrepareContainerForItem(element: UIElement, item: any): void; - ClearContainerForItem(element: UIElement, item: any): void; - OnItemsChanged(e: Collections.CollectionChangedEventArgs): void; - OnExpanded(e: RoutedEventArgs): void; - OnCollapsed(e: RoutedEventArgs): void; - private ToggleExpanded(); - OnSelected(e: RoutedEventArgs): void; - OnUnselected(e: RoutedEventArgs): void; - OnGotFocus(e: RoutedEventArgs): void; - OnLostFocus(e: RoutedEventArgs): void; - private OnExpanderGotFocus(sender, e); - OnMouseEnter(e: Input.MouseEventArgs): void; - OnMouseLeave(e: Input.MouseEventArgs): void; - private OnHeaderMouseLeftButtonDown(sender, e); - private OnExpanderClick(sender, e); - OnMouseLeftButtonDown(e: Input.MouseButtonEventArgs): void; - OnMouseLeftButtonUp(e: Input.MouseButtonEventArgs): void; - OnIsEnabledChanged(e: IDependencyPropertyChangedEventArgs): void; - OnKeyDown(e: Input.KeyEventArgs): void; - HandleRightKey(): boolean; - HandleLeftKey(): boolean; - HandleDownKey(): boolean; - HandleUpKey(): boolean; - HandleScrollByPage(up: boolean, scrollHost: ScrollViewer, viewportHeight: number, top: number, bottom: number, currentDelta: IOutValue): boolean; - private Select(selected); - UpdateContainsSelection(selected: boolean): void; - private AllowKeyHandleEvent(); - FocusDown(): boolean; - FocusInto(): boolean; - private FindNextFocusableItem(recurse); - private FindLastFocusableItem(); - private FindPreviousFocusableItem(); - } -} -declare module Fayde.Controls { - class UpDownParseErrorEventArgs extends RoutedEventArgs { - Text: string; - Error: Error; - Handled: boolean; - constructor(text: string, error: Error); - } -} -declare module Fayde.Controls { - class UpDownParsingEventArgs extends RoutedEventArgs { - Text: string; - Value: T; - Handled: boolean; - constructor(text: string); - } -} -declare module Fayde.Controls.contextmenu { - class RootVisualTracker { - mousePosition: Point; - private $$rootVisual; - private $$onSizeChanged; - rootVisual: FrameworkElement; - constructor(owner: FrameworkElement); - tryInit(visual: UIElement): void; - setOnSizeChanged(onSizeChanged?: (newSize: minerva.Size) => any): void; - getAvailableSize(): minerva.Size; - private _HandleLayoutUpdated(sender, e); - private _HandleRootVisualMouseMove(sender, e); - private _HandleSizeChanged(sender, e); - } -} -declare module Fayde.Controls.Internal { - class BindingSourceEvaluator extends FrameworkElement { - static ValueProperty: DependencyProperty; - Value: T; - private _ValueBinding; - ValueBinding: Data.Binding; - constructor(binding: Data.Binding); - GetDynamicValue(source: any): T; - } -} -declare module Fayde.Controls.Internal { - interface IDomainOwner extends UIElement { - Items: Internal.ObservableObjectCollection; - InvalidInputAction: InvalidInputAction; - FallbackItem: any; - Value: any; - CurrentIndex: number; - IsEditable: boolean; - OnValueChanged(oldValue: any, newValue: any): any; - OnCurrentIndexChanged(oldIndex: number, newIndex: number): any; - OnIsEditingChanged(isEditing: boolean): any; - OnIsInvalidInputChanged(isInvalidInput: boolean): any; - TryParseValue(text: string, ov: IOutValue): boolean; - FormatValue(): string; - ParseError: RoutedEvent; - } - interface IDomainCoercer { - IsEditing: boolean; - IsInvalidInput: boolean; - OnValueChanged(oldValue: any, newValue: any): any; - OnCurrentIndexChanged(oldIndex: number, newIndex: number): any; - UpdateTextBoxText(): any; - UpdateIsEditable(): any; - ProcessUserInput(): any; - Attach(textBox: TextBox): any; - Detach(): any; - EscapeFocus(): any; - } - class DomainCoercer implements IDomainCoercer { - Owner: IDomainOwner; - OnCoerceValue: (val: any) => void; - OnCoerceCurrentIndex: (val: number) => void; - TextBox: TextBox; - Text: string; - IsCoercing: boolean; - private _IsEditing; - IsEditing: boolean; - private OnIsEditingChanged(isEditing); - private _IsInvalidInput; - IsInvalidInput: boolean; - constructor(Owner: IDomainOwner, OnCoerceValue: (val: any) => void, OnCoerceCurrentIndex: (val: number) => void); - Attach(textBox: TextBox): void; - Detach(): void; - private OnKeyDown(sender, e); - EscapeFocus(): void; - OnValueChanged(oldValue: any, newValue: any): void; - OnCurrentIndexChanged(oldIndex: number, newIndex: number): void; - private TextBox_LostFocus(sender, e); - private TextBox_GotFocus(sender, e); - SelectAllText(): void; - UpdateTextBoxText(): void; - UpdateIsEditable(): void; - ProcessUserInput(): void; - OnParseError(e: UpDownParseErrorEventArgs): void; - private ApplyValue(text); - } -} -declare module Fayde.Controls.Internal { - class EventGesture { - Target: UIElement; - private _Callback; - Attach(event: nullstone.Event, callback: (t: T, e: nullstone.IEventArgs) => void): void; - Detach(): void; - private _OnEvent(sender, e); - } -} -declare module Fayde.Controls.Internal { - interface IFormattedRange extends IRange { - DecimalPlaces: number; - OnDecimalPlacesChanged(oldDecPlaces: number, newDecPlaces: number): any; - } - interface IFormattedRangeCoercer extends IRangeCoercer { - OnDecimalPlacesChanged(oldDecPlaces: number, newDecPlaces: number): any; - AddToValue(inc: number): any; - } - class FormattedRangeCoercer extends RangeCoercer implements IFormattedRangeCoercer { - OnCoerceFormat: () => void; - constructor(range: IFormattedRange, onCoerceMaximum: (val: any) => void, onCoerceValue: (val: any) => void, OnCoerceFormat: () => void); - OnDecimalPlacesChanged(oldDecPlaces: number, newDecPlaces: number): void; - AddToValue(inc: number): void; - } -} -declare module Fayde.Controls.Internal { - enum GridResizeDirection { - Auto = 0, - Columns = 1, - Rows = 2, - } - enum GridResizeBehavior { - BasedOnAlignment = 0, - CurrentAndNext = 1, - PreviousAndCurrent = 2, - PreviousAndNext = 3, - } - enum SplitBehavior { - Split = 0, - ResizeDefinition1 = 1, - ResizeDefinition2 = 2, - } - class GridSplitterResizer { - Direction: GridResizeDirection; - Behavior: GridResizeBehavior; - SplitBehavior: SplitBehavior; - SplitterIndex: number; - SplitterLength: number; - DS1: IDefinitionSize; - DS2: IDefinitionSize; - constructor(gs: GridSplitter); - Setup(gs: GridSplitter, grid: Grid): boolean; - Move(grid: Grid, horiz: number, vert: number): boolean; - UpdateResizeDirection(gs: GridSplitter): boolean; - private SetLengths(grid, definition1Pixels, definition2Pixels); - private GetConstraints(); - private GetBehaviorIndices(index); - } - interface IDefinitionSize { - ActualSize: number; - MaxSize: number; - MinSize: number; - Size: GridLength; - IsStar: boolean; - Index: number; - OrigActualSize: number; - } -} -declare module Fayde.Controls.Internal { - class ItemsControlHelper { - private _itemsHost; - private _scrollHost; - ItemsControl: ItemsControl; - ItemsHost: Panel; - ScrollHost: ScrollViewer; - constructor(control: ItemsControl); - OnApplyTemplate(): void; - static PrepareContainerForItemOverride(element: DependencyObject, parentItemContainerStyle: Style): void; - UpdateItemContainerStyle(itemContainerStyle: Style): void; - ScrollIntoView(element: FrameworkElement): void; - } -} -declare module Fayde.Controls.Internal { - class MultiClickHelper { - ClickCount: number; - LastClickTime: number; - LastClickPosition: Point; - OnMouseLeftButtonDown(control: Control, e: Input.MouseButtonEventArgs): void; - } -} -declare module Fayde.Controls.Internal { - class ObservableObjectCollection extends Collections.ObservableCollection { - IsReadOnly: boolean; - constructor(collection?: nullstone.IEnumerable); - Add(value: any): void; - AddRange(values: any[]): void; - Insert(item: any, index: number): void; - RemoveAt(index: number): void; - SetValueAt(index: number, item: any): void; - Clear(): void; - } -} -declare module Fayde.Controls.Internal { - class ScrollEx { - static HandleKey(sv: ScrollViewer, key: Input.Key, flowDirection: FlowDirection): boolean; - static LineUp(viewer: ScrollViewer): void; - static LineDown(viewer: ScrollViewer): void; - static LineLeft(viewer: ScrollViewer): void; - static LineRight(viewer: ScrollViewer): void; - static PageUp(viewer: ScrollViewer): void; - static PageDown(viewer: ScrollViewer): void; - static PageLeft(viewer: ScrollViewer): void; - static PageRight(viewer: ScrollViewer): void; - static ScrollToTop(viewer: ScrollViewer): void; - static ScrollToBottom(viewer: ScrollViewer): void; - static GetTopAndBottom(element: FrameworkElement, parent: FrameworkElement, top: IOutValue, bottom: IOutValue): void; - } -} -declare module Fayde.Controls.Internal { - class SelectionHandler { - private _ActiveBox; - ActiveBox: TextBox; - private _IsMouseDown; - private _TextBoxes; - constructor(textBoxes: TextBox[]); - Dispose(): void; - private _GotFocus(sender, e); - private _MouseDown(sender, e); - private _MouseUp(sender, e); - private _LostFocus(sender, e); - } -} -declare module Fayde.Controls.Internal { - interface ISpinOwner extends UIElement { - OnSpin(): any; - OnIncrement(): any; - OnDecrement(): any; - } - interface ISpinFlow { - UpdateValid(increase: boolean, decrease: boolean): any; - Dispose(): any; - } - class SpinFlow implements ISpinFlow { - Owner: ISpinOwner; - Spinner: Spinner; - constructor(Owner: ISpinOwner, Spinner: Spinner); - UpdateValid(increase: boolean, decrease: boolean): void; - Dispose(): void; - private OnKeyDown(sender, e); - private OnMouseWheel(sender, e); - private Spinner_Spin(sender, e); - private DoIncrement(); - private DoDecrement(); - } -} -declare module Fayde.Controls.Internal { - interface IFormattedControl { - Value: T; - IsEditable: boolean; - ParseValue(text: string): T; - FormatValue(val: T): string; - Parsing: RoutedEvent>; - ParseError: RoutedEvent; - } - interface ITextBoxFormatter { - ProcessUserInput(): any; - Dispose(): any; - UpdateTextBoxText(): any; - UpdateIsEditable(): any; - } - class TextBoxFormatter implements ITextBoxFormatter { - Control: IFormattedControl; - TextBox: TextBox; - OnCoerceValue: (val: any) => void; - Value: T; - Text: string; - constructor(Control: IFormattedControl, TextBox: TextBox, OnCoerceValue: (val: any) => void); - ProcessUserInput(): void; - Dispose(): void; - private TextBox_LostFocus(sender, e); - private TextBox_GotFocus(sender, e); - ApplyValue(text: string): void; - OnParseError(e: UpDownParseErrorEventArgs): void; - OnParsing(e: UpDownParsingEventArgs): void; - SelectAllText(): void; - UpdateTextBoxText(): void; - UpdateIsEditable(): void; - } -} -declare module Fayde.Controls { - class TabPanel extends Panel { - CreateLayoutUpdater(): tabpanel.TabPanelUpdater; - private TabAlignment; - static setTabAlignment(tp: TabPanel, alignment: Dock): void; - } -} -declare module Fayde.Controls.tabpanel { - interface ITabPanelUpdaterAssets extends minerva.controls.panel.IPanelUpdaterAssets, measure.IInput, arrange.IInput { - } - class TabPanelUpdater extends minerva.controls.panel.PanelUpdater { - assets: ITabPanelUpdaterAssets; - init(): void; - } -} -declare module Fayde.Controls.tabpanel { - import Size = minerva.Size; - import PanelUpdaterTree = minerva.controls.panel.PanelUpdaterTree; - module helpers { - function getDesiredSizeWithoutMargin(upd: minerva.core.Updater): Size; - function getHeadersSize(tree: PanelUpdaterTree): number[]; - function setTabItemZ(upd: minerva.core.Updater): void; - function getActiveRow(tree: PanelUpdaterTree, solution: number[], isDockTop: boolean): number; - function calculateHeaderDistribution(tree: PanelUpdaterTree, rowWidthLimit: number, headerWidth: number[]): number[]; - } -} -declare module Fayde.Controls { - class FocusingInvalidControlEventArgs implements nullstone.IEventArgs { - Handled: boolean; - Item: ValidationSummaryItem; - Target: ValidationSummaryItemSource; - constructor(item: ValidationSummaryItem, target: ValidationSummaryItemSource); - } -} -declare module Fayde.Controls { - import ObservableCollection = Fayde.Collections.ObservableCollection; - import ReadOnlyObservableCollection = Fayde.Collections.ReadOnlyObservableCollection; - class ValidationSummary extends Control { - static ShowErrorsInSummaryProperty: DependencyProperty; - static ErrorStyleProperty: DependencyProperty; - static FilterProperty: DependencyProperty; - static FocusControlsOnClickProperty: DependencyProperty; - static HasErrorsProperty: DependencyProperty; - static HasDisplayedErrorsProperty: DependencyProperty; - static HeaderProperty: DependencyProperty; - static HeaderTemplateProperty: DependencyProperty; - static SummaryListBoxStyleProperty: DependencyProperty; - static TargetProperty: DependencyProperty; - static GetShowErrorsInSummary(dobj: DependencyObject): boolean; - static SetShowErrorsInSummary(dobj: DependencyObject, value: boolean): void; - ShowErrorsInSummary: boolean; - ErrorStyle: Style; - Filter: ValidationSummaryFilters; - FocusControlsOnClick: boolean; - HasErrors: boolean; - HasDisplayedErrors: boolean; - Header: any; - HeaderTemplate: DataTemplate; - SummaryListBoxStyle: Style; - Target: UIElement; - private static OnShowErrorsInSummaryChanged(dobj, args); - OnFilterChanged(oldValue: ValidationSummaryFilters, newValue: ValidationSummaryFilters): void; - OnHeaderChanged(oldValue: any, newValue: any): void; - OnTargetChanged(oldValue: UIElement, newValue: UIElement): void; - private _ErrorsListBox; - private _HeaderContentControl; - private _RegisteredParent; - private _ValidationSummaryItemDictionary; - private _CurSummItemsSource; - private _Errors; - Errors: ObservableCollection; - private _DisplayedErrors; - DisplayedErrors: ReadOnlyObservableCollection; - FocusingInvalidControl: nullstone.Event; - SelectionChanged: nullstone.Event; - constructor(); - OnApplyTemplate(): void; - private Errors_CollectionChanged(sender, e); - private ErrorsListBox_KeyDown(sender, e); - private ErrorsListBox_MouseLeftButtonUp(sender, e); - private ErrorsListBox_SelectionChanged(sender, e); - private ValidationSummary_Loaded(sender, e); - private ValidationSummary_Unloaded(sender, e); - private ValidationSummary_IsEnabledChanged(sender, e); - private ValidationSummaryItem_PropertyChanged(sender, e); - private UpdateValidation(useTransitions); - private UpdateCommon(useTransitions); - private UpdateHeaderText(); - private UpdateDisplayedErrors(); - private Target_BindingValidationError(sender, e); - private GetHeaderString(); - private ExecuteClick(sender); - private static FindMatchingErrorSource(sources, sourceToFind); - private static UpdateDisplayedErrorsOnAllValidationSummaries(parent); - } -} -declare module Fayde.Controls { - import ObservableCollection = Collections.ObservableCollection; - class ValidationSummaryItem extends MVVM.ObservableObject { - Message: string; - MessageHeader: string; - ItemType: ValidationSummaryItemType; - Context: any; - private _Sources; - Sources: ObservableCollection; - constructor(message?: string, messageHeader?: string, itemType?: ValidationSummaryItemType, source?: ValidationSummaryItemSource, context?: any); - } -} -declare module Fayde.Controls { - class ValidationSummaryItemSource { - PropertyName: string; - Control: Control; - constructor(propertyName: string, control?: Control); - Equals(other: any): boolean; - } -} -declare module Fayde.Controls { - function compareSummaryItems(item1: ValidationSummaryItem, item2: ValidationSummaryItem): number; -} -declare module Fayde.Controls { - class Viewbox extends FrameworkElement { - CreateLayoutUpdater(): viewbox.ViewboxUpdater; - static ChildProperty: DependencyProperty; - static StretchProperty: DependencyProperty; - static StretchDirectionProperty: DependencyProperty; - Child: UIElement; - Stretch: Media.Stretch; - StretchDirection: StretchDirection; - } -} -declare module Fayde.Controls.viewbox { - interface IViewboxUpdaterAssets extends minerva.core.IUpdaterAssets, processdown.IInput { - stretch: Media.Stretch; - stretchDirection: StretchDirection; - } - class ViewboxUpdater extends minerva.anon.AnonymousUpdater { - tree: minerva.core.UpdaterTree; - assets: IViewboxUpdaterAssets; - init(): void; - measureOverride(availableSize: Size): Size; - arrangeOverride(finalSize: Size): Size; - private setViewXform(sx, sy); - } -} -declare module Fayde.Controls.viewbox.helpers { - function computeScaleFactor(availableSize: minerva.ISize, contentSize: minerva.ISize, stretch: Media.Stretch, stretchDirection: StretchDirection): Size; -} -declare module Fayde.Controls { - class WrapPanel extends Fayde.Controls.Panel { - CreateLayoutUpdater(): wrappanel.WrapPanelUpdater; - static OrientationProperty: DependencyProperty; - static ItemWidthProperty: DependencyProperty; - static ItemHeightProperty: DependencyProperty; - Orientation: Fayde.Orientation; - ItemWidth: number; - ItemHeight: number; - } -} -declare module Fayde.Controls.wrappanel { - interface IWrapPanelUpdaterAssets extends minerva.controls.panel.IPanelUpdaterAssets, measure.IInput, arrange.IInput { - } - class WrapPanelUpdater extends minerva.controls.panel.PanelUpdater { - assets: IWrapPanelUpdaterAssets; - init(): void; - } -} -declare module Fayde.Controls.wrappanel { - module helpers { - function coerceChildSize(child: minerva.core.Updater, itemWidth: number, itemHeight: number): void; - } -} -declare module Fayde.Controls.tabpanel.arrange { - import panel = minerva.controls.panel; - interface IInput extends panel.arrange.IInput { - tabAlignment: Dock; - numRows: number; - numHeaders: number; - rowHeight: number; - } - interface IState extends panel.arrange.IState { - } - interface IOutput extends panel.arrange.IOutput { - } - class TabPanelArrangePipeDef extends minerva.controls.panel.arrange.PanelArrangePipeDef { - constructor(); - } -} -declare module Fayde.Controls.tabpanel.measure { - import panel = minerva.controls.panel; - interface IInput extends panel.measure.IInput { - tabAlignment: Dock; - numRows: number; - numHeaders: number; - rowHeight: number; - } - interface IState extends panel.measure.IState { - } - interface IOutput extends panel.measure.IOutput { - numRows: number; - numHeaders: number; - rowHeight: number; - } - class TabPanelMeasurePipeDef extends panel.measure.PanelMeasurePipeDef { - constructor(); - createOutput(): IOutput; - prepare(input: IInput, state: IState, output: IOutput): void; - flush(input: IInput, state: IState, output: IOutput): void; - } -} -declare module Fayde.Controls.viewbox.processdown { - interface IInput extends minerva.core.processdown.IInput { - viewXform: number[]; - } - interface IState extends minerva.core.processdown.IState { - } - interface IOutput extends minerva.core.processdown.IOutput { - } - class ViewboxProcessDownPipeDef extends minerva.core.processdown.ProcessDownPipeDef { - constructor(); - } -} -declare module Fayde.Controls.wrappanel.arrange { - import panel = minerva.controls.panel; - interface IInput extends panel.arrange.IInput { - orientation: Orientation; - itemWidth: number; - itemHeight: number; - } - interface IState extends panel.arrange.IState { - } - interface IOutput extends panel.arrange.IOutput { - } - class WrapPanelArrangePipeDef extends panel.arrange.PanelArrangePipeDef { - constructor(); - } -} -declare module Fayde.Controls.wrappanel.measure { - import panel = minerva.controls.panel; - interface IInput extends panel.measure.IInput { - orientation: Orientation; - itemWidth: number; - itemHeight: number; - } - interface IState extends panel.measure.IState { - } - interface IOutput extends panel.measure.IOutput { - } - class WrapPanelMeasurePipeDef extends panel.measure.PanelMeasurePipeDef { - constructor(); - } -} -declare module Fayde.Controls.tabpanel.arrange.tapins { - function doHorizontal(input: IInput, state: IState, output: IOutput, tree: minerva.controls.panel.PanelUpdaterTree, finalRect: minerva.Rect): boolean; -} -declare module Fayde.Controls.tabpanel.arrange.tapins { - function doVertical(input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, finalRect: minerva.Rect): boolean; -} -declare module Fayde.Controls.tabpanel.measure.tapins { - function doHorizontal(input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, availableSize: minerva.Size): boolean; -} -declare module Fayde.Controls.tabpanel.measure.tapins { - function doVertical(input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, availableSize: minerva.Size): boolean; -} -declare module Fayde.Controls.wrappanel.arrange.tapins { - import Rect = minerva.Rect; - function doHorizontal(input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, finalRect: Rect): boolean; -} -declare module Fayde.Controls.wrappanel.arrange.tapins { - import Rect = minerva.Rect; - function doVertical(input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, finalRect: Rect): boolean; -} -declare module Fayde.Controls.wrappanel.measure.tapins { - import Size = minerva.Size; - function doHorizontal(input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, availableSize: Size): boolean; -} -declare module Fayde.Controls.wrappanel.measure.tapins { - import Size = minerva.Size; - function doVertical(input: IInput, state: IState, output: IOutput, tree: minerva.core.IUpdaterTree, availableSize: Size): boolean; -} diff --git a/dist/fayde.controls.js b/dist/fayde.controls.js deleted file mode 100644 index ca6a860..0000000 --- a/dist/fayde.controls.js +++ /dev/null @@ -1,5935 +0,0 @@ -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - Controls.version = '0.20.0'; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - Controls.Library = Fayde.TypeManager.resolveLibrary("lib://fayde.controls"); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var __extends = (this && this.__extends) || function (d, b) { - for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -}; -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var BusyIndicator = (function (_super) { - __extends(BusyIndicator, _super); - function BusyIndicator() { - _super.call(this); - this.DefaultStyleKey = BusyIndicator; - } - BusyIndicator.prototype.OnBusyContentChanged = function (oldBusyContent, newBusyContent) { - this.SetCurrentValue(BusyIndicator.HasContentProperty, !!newBusyContent); - }; - BusyIndicator.IsBusyProperty = DependencyProperty.Register("IsBusy", function () { return Boolean; }, BusyIndicator, false); - BusyIndicator.HasContentProperty = DependencyProperty.RegisterReadOnly("HasContent", function () { return Boolean; }, BusyIndicator, false); - BusyIndicator.BusyContentProperty = DependencyProperty.Register("BusyContent", function () { return Object; }, BusyIndicator, undefined, function (d, args) { return d.OnBusyContentChanged(args.OldValue, args.NewValue); }); - BusyIndicator.BusyContentTemplateProperty = DependencyProperty.Register("BusyContentTemplate", function () { return Fayde.DataTemplate; }, BusyIndicator); - BusyIndicator.OverlayStyleProperty = DependencyProperty.Register("OverlayStyle", function () { return Fayde.Style; }, BusyIndicator); - return BusyIndicator; - })(Controls.ContentControl); - Controls.BusyIndicator = BusyIndicator; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Primitives; - (function (Primitives) { - var MenuBase = (function (_super) { - __extends(MenuBase, _super); - function MenuBase() { - _super.apply(this, arguments); - } - MenuBase.prototype.IsItemItsOwnContainer = function (item) { return item instanceof Controls.MenuItem || item instanceof Controls.Separator; }; - MenuBase.prototype.GetContainerForItem = function () { return new Controls.MenuItem(); }; - MenuBase.prototype.PrepareContainerForItem = function (element, item) { - _super.prototype.PrepareContainerForItem.call(this, element, item); - var menuItem = element; - if (!(menuItem instanceof Controls.MenuItem)) - return; - menuItem.ParentMenuBase = this; - if (menuItem != item) { - var itemTemplate = this.ItemTemplate; - var itemContainerStyle = this.ItemContainerStyle; - if (itemTemplate != null) - menuItem.SetValue(Fayde.Controls.ItemsControl.ItemTemplateProperty, itemTemplate); - if (itemContainerStyle != null && MenuBase.HasDefaultValue(menuItem, Controls.HeaderedItemsControl.ItemContainerStyleProperty)) - menuItem.SetValue(Controls.HeaderedItemsControl.ItemContainerStyleProperty, itemContainerStyle); - if (MenuBase.HasDefaultValue(menuItem, Controls.HeaderedItemsControl.HeaderProperty)) - menuItem.Header = item; - if (itemTemplate != null) - menuItem.SetValue(Controls.HeaderedItemsControl.HeaderTemplateProperty, itemTemplate); - if (itemContainerStyle != null) - menuItem.SetValue(Fayde.FrameworkElement.StyleProperty, itemContainerStyle); - } - }; - MenuBase.HasDefaultValue = function (control, propd) { - return control.ReadLocalValue(propd) === DependencyProperty.UnsetValue; - }; - MenuBase.ItemContainerStyleProperty = DependencyProperty.Register("ItemContainerStyle", function () { return Fayde.Style; }, MenuBase); - return MenuBase; - })(Fayde.Controls.ItemsControl); - Primitives.MenuBase = MenuBase; - })(Primitives = Controls.Primitives || (Controls.Primitives = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -/// -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var ContextMenu = (function (_super) { - __extends(ContextMenu, _super); - function ContextMenu() { - _super.call(this); - this.Opened = new Fayde.RoutedEvent(); - this.Closed = new Fayde.RoutedEvent(); - this._Owner = null; - this._PopupAlignmentPoint = new Point(); - this._SettingIsOpen = false; - this._Popup = null; - this._Overlay = null; - this.DefaultStyleKey = ContextMenu; - this.$RootVisualTracker = new Controls.contextmenu.RootVisualTracker(this); - } - ContextMenu.prototype.OnHorizontalOffsetChanged = function (args) { - this.UpdateContextMenuPlacement(); - }; - ContextMenu.prototype.OnVerticalOffsetChanged = function (args) { - this.UpdateContextMenuPlacement(); - }; - ContextMenu.prototype.OnIsOpenChanged = function (args) { - if (this._SettingIsOpen) - return; - if (args.NewValue === true) - this.OpenPopup(this.$RootVisualTracker.mousePosition); - else - this.ClosePopup(); - }; - ContextMenu.prototype.OnKeyDown = function (e) { - switch (e.Key) { - case Fayde.Input.Key.Escape: - this.ClosePopup(); - e.Handled = true; - break; - case Fayde.Input.Key.Up: - this.FocusNextItem(false); - e.Handled = true; - break; - case Fayde.Input.Key.Down: - this.FocusNextItem(true); - e.Handled = true; - break; - } - _super.prototype.OnKeyDown.call(this, e); - }; - ContextMenu.prototype.OnMouseLeftButtonDown = function (e) { - e.Handled = true; - _super.prototype.OnMouseLeftButtonDown.call(this, e); - }; - ContextMenu.prototype.OnMouseRightButtonDown = function (e) { - e.Handled = true; - _super.prototype.OnMouseRightButtonDown.call(this, e); - }; - Object.defineProperty(ContextMenu.prototype, "Owner", { - get: function () { - return this._Owner; - }, - set: function (value) { - if (this._Owner) { - var fe = this._Owner instanceof Fayde.FrameworkElement ? this._Owner : null; - if (fe) - fe.MouseRightButtonDown.off(this._HandleOwnerMouseRightButtonDown, this); - } - this._Owner = value; - if (!this._Owner) - return; - fe = this._Owner instanceof Fayde.FrameworkElement ? this._Owner : null; - if (fe) - fe.MouseRightButtonDown.on(this._HandleOwnerMouseRightButtonDown, this); - }, - enumerable: true, - configurable: true - }); - ContextMenu.prototype._HandleOwnerMouseRightButtonDown = function (sender, e) { - this.OpenPopup(e.GetPosition(null)); - e.Handled = true; - }; - ContextMenu.prototype._HandleOverlayMouseButtonDown = function (sender, e) { - this.ClosePopup(); - e.Handled = true; - }; - ContextMenu.prototype._HandleContextMenuSizeChanged = function (sender, e) { - this.UpdateContextMenuPlacement(); - }; - ContextMenu.prototype.ChildMenuItemClicked = function () { - this.ClosePopup(); - }; - ContextMenu.prototype.UpdateContextMenuPlacement = function () { - var pap = this._PopupAlignmentPoint; - var full = this.$RootVisualTracker.getAvailableSize(); - var x = Math.max(0, Math.min(pap.x + this.HorizontalOffset, full.width - this.ActualWidth)); - var y = Math.max(0, Math.min(pap.y + this.VerticalOffset, full.height - this.ActualHeight)); - Controls.Canvas.SetLeft(this, x); - Controls.Canvas.SetTop(this, y); - var overlay = this._Overlay; - if (!overlay) - return; - overlay.Width = full.width; - overlay.Height = full.height; - }; - ContextMenu.prototype.OpenPopup = function (position) { - var _this = this; - this._PopupAlignmentPoint = position; - var canvas1 = new Controls.Canvas(); - canvas1.Background = new Fayde.Media.SolidColorBrush(Color.KnownColors.Transparent); - this._Overlay = canvas1; - this._Overlay.MouseLeftButtonDown.on(this._HandleOverlayMouseButtonDown, this); - this._Overlay.MouseRightButtonDown.on(this._HandleOverlayMouseButtonDown, this); - this._Overlay.Children.Add(this); - var popup = this._Popup = new Controls.Primitives.Popup(); - var initiator = this._Owner; - while (initiator && !(initiator instanceof Fayde.UIElement)) - initiator = initiator.Parent; - if (initiator) { - popup.XamlNode.RegisterInitiator(initiator); - this.$RootVisualTracker.tryInit(initiator); - } - popup.Child = this._Overlay; - this.SizeChanged.on(this._HandleContextMenuSizeChanged, this); - this.$RootVisualTracker.setOnSizeChanged(function (newSize) { return _this.UpdateContextMenuPlacement(); }); - this.UpdateContextMenuPlacement(); - if (this.ReadLocalValue(Fayde.DependencyObject.DataContextProperty) === DependencyProperty.UnsetValue) { - var binding1 = new Fayde.Data.Binding("DataContext"); - binding1.Source = this.Owner || this.$RootVisualTracker.rootVisual; - this.SetBinding(Fayde.DependencyObject.DataContextProperty, binding1); - } - popup.IsOpen = true; - this.Focus(); - this._SettingIsOpen = true; - this.IsOpen = true; - this._SettingIsOpen = false; - this.OnOpened(new Fayde.RoutedEventArgs()); - }; - ContextMenu.prototype.OnOpened = function (e) { - this.Opened.raise(this, e); - }; - ContextMenu.prototype.ClosePopup = function () { - if (this._Popup) { - this._Popup.IsOpen = false; - this._Popup.Child = null; - this._Popup = null; - } - if (this._Overlay) { - this._Overlay.Children.Clear(); - this._Overlay = null; - } - this.SizeChanged.off(this._HandleContextMenuSizeChanged, this); - this.$RootVisualTracker.setOnSizeChanged(); - this._SettingIsOpen = true; - this.IsOpen = false; - this._SettingIsOpen = false; - this.OnClosed(new Fayde.RoutedEventArgs()); - }; - ContextMenu.prototype.OnClosed = function (e) { - this.Closed.raise(this, e); - }; - ContextMenu.prototype.FocusNextItem = function (down) { - var count = this.Items.Count; - var num = down ? -1 : count; - var menuItem1 = Fayde.Surface.GetFocusedElement(this); - if (menuItem1 instanceof Controls.MenuItem && this === menuItem1.ParentMenuBase) - num = this.ItemContainersManager.IndexFromContainer(menuItem1); - var index = num; - var menuItem2; - do { - index = (index + count + (down ? 1 : -1)) % count; - menuItem2 = this.ItemContainersManager.ContainerFromIndex(index); - if (!(menuItem2 instanceof Controls.MenuItem)) - menuItem2 = null; - } while ((!menuItem2 || (!menuItem2.IsEnabled || !menuItem2.Focus())) && index !== num); - }; - ContextMenu.HorizontalOffsetProperty = DependencyProperty.Register("HorizontalOffset", function () { return Number; }, ContextMenu, 0.0); - ContextMenu.VerticalOffsetProperty = DependencyProperty.Register("VerticalOffset", function () { return Number; }, ContextMenu, 0.0); - ContextMenu.IsOpenProperty = DependencyProperty.Register("IsOpen", function () { return Boolean; }, ContextMenu, false); - return ContextMenu; - })(Controls.Primitives.MenuBase); - Controls.ContextMenu = ContextMenu; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var ContextMenuService = (function () { - function ContextMenuService() { - } - ContextMenuService.GetContextMenu = function (d) { return d.GetValue(ContextMenuService.ContextMenuProperty); }; - ContextMenuService.SetContextMenu = function (d, value) { d.SetValue(ContextMenuService.ContextMenuProperty, value); }; - ContextMenuService.OnContextMenuPropertyChanged = function (d, args) { - var fe = d; - if (!(fe instanceof Fayde.FrameworkElement)) - return; - var oldMenu = args.OldValue; - if (oldMenu instanceof Controls.ContextMenu) - oldMenu.Owner = null; - var newMenu = args.NewValue; - if (newMenu instanceof Controls.ContextMenu) - newMenu.Owner = fe; - }; - ContextMenuService.ContextMenuProperty = DependencyProperty.RegisterAttached("ContextMenu", function () { return Controls.ContextMenu; }, ContextMenuService, undefined, ContextMenuService.OnContextMenuPropertyChanged); - return ContextMenuService; - })(); - Controls.ContextMenuService = ContextMenuService; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var DatePicker = (function (_super) { - __extends(DatePicker, _super); - function DatePicker() { - _super.call(this); - this._MonthTextBox = null; - this._DayTextBox = null; - this._YearTextBox = null; - this._MonthGesture = new Controls.Internal.EventGesture(); - this._DayGesture = new Controls.Internal.EventGesture(); - this._YearGesture = new Controls.Internal.EventGesture(); - this._SelectionHandler = null; - this.DefaultStyleKey = DatePicker; - } - DatePicker.prototype.OnSelectedMonthChanged = function (args) { - this.CoerceMonth(args.NewValue); - this.CoerceDate(); - }; - DatePicker.prototype.OnSelectedDayChanged = function (args) { - this.CoerceDay(args.NewValue); - this.CoerceDate(); - }; - DatePicker.prototype.OnSelectedYearChanged = function (args) { - this.CoerceYear(args.NewValue); - this.CoerceDate(); - }; - DatePicker.prototype.OnSelectedDateChanged = function (args) { - var dt = args.NewValue; - if (dt instanceof DateTime) { - this.CoerceMonth(dt.Month); - this.CoerceDay(dt.Day); - this.CoerceYear(dt.Year); - } - else { - this.CoerceMonth(NaN); - this.CoerceDay(NaN); - this.CoerceYear(NaN); - } - }; - DatePicker.prototype.OnApplyTemplate = function () { - var _this = this; - _super.prototype.OnApplyTemplate.call(this); - this._MonthGesture.Detach(); - this._MonthTextBox = this.GetTemplateChild("MonthTextBox", Controls.TextBox); - if (this._MonthTextBox) - this._MonthGesture.Attach(this._MonthTextBox.LostFocus, function (tb) { return _this.CoerceMonth(tb.Text); }); - this._DayGesture.Detach(); - this._DayTextBox = this.GetTemplateChild("DayTextBox", Controls.TextBox); - if (this._DayTextBox) - this._DayGesture.Attach(this._DayTextBox.LostFocus, function (tb) { return _this.CoerceDay(tb.Text); }); - this._YearGesture.Detach(); - this._YearTextBox = this.GetTemplateChild("YearTextBox", Controls.TextBox); - if (this._YearTextBox) - this._YearGesture.Attach(this._YearTextBox.LostFocus, function (tb) { return _this.CoerceDay(tb.Text); }); - if (this._SelectionHandler) - this._SelectionHandler.Dispose(); - this._SelectionHandler = new Controls.Internal.SelectionHandler([this._MonthTextBox, this._DayTextBox, this._YearTextBox]); - this._UpdateText(); - }; - DatePicker.prototype.CoerceMonth = function (month) { - month = Math.max(1, Math.min(12, month)); - if (!isNaN(month) || !isNaN(this.SelectedMonth)) - this.SetCurrentValue(DatePicker.SelectedMonthProperty, month); - this._UpdateText(); - }; - DatePicker.prototype.CoerceDay = function (day) { - day = Math.max(1, Math.min(31, parseFloat(day))); - if (!isNaN(day) || !isNaN(this.SelectedDay)) - this.SetCurrentValue(DatePicker.SelectedDayProperty, day); - this._UpdateText(); - }; - DatePicker.prototype.CoerceYear = function (year) { - var maxYear = DateTime.MaxValue.Year - 1; - year = Math.min(maxYear, Math.max(0, year)); - if (!isNaN(year) || !isNaN(this.SelectedYear)) - this.SetCurrentValue(DatePicker.SelectedYearProperty, year); - this._UpdateText(); - }; - DatePicker.prototype.CoerceDate = function () { - var m = this.SelectedMonth; - var d = this.SelectedDay; - var y = this.SelectedYear; - if (isNaN(m) || isNaN(d) || isNaN(y)) - return; - var dte = new DateTime(y, m, d); - if (DateTime.Compare(dte, this.SelectedDate) === 0) - return; - this.SetCurrentValue(DatePicker.SelectedDateProperty, dte); - }; - DatePicker.prototype._UpdateText = function () { - if (this._MonthTextBox) - this._MonthTextBox.Text = formatNumber(this.SelectedMonth, 2, "MM"); - if (this._DayTextBox) - this._DayTextBox.Text = formatNumber(this.SelectedDay, 2, "DD"); - if (this._YearTextBox) - this._YearTextBox.Text = formatNumber(this.SelectedYear, 4, "YYYY"); - }; - DatePicker.SelectedMonthProperty = DependencyProperty.Register("SelectedMonth", function () { return Number; }, DatePicker, NaN, function (d, args) { return d.OnSelectedMonthChanged(args); }); - DatePicker.SelectedDayProperty = DependencyProperty.Register("SelectedDay", function () { return Number; }, DatePicker, NaN, function (d, args) { return d.OnSelectedDayChanged(args); }); - DatePicker.SelectedYearProperty = DependencyProperty.Register("SelectedYear", function () { return Number; }, DatePicker, NaN, function (d, args) { return d.OnSelectedYearChanged(args); }); - DatePicker.SelectedDateProperty = DependencyProperty.Register("SelectedDate", function () { return DateTime; }, DatePicker, undefined, function (d, args) { return d.OnSelectedDateChanged(args); }); - return DatePicker; - })(Controls.Control); - Controls.DatePicker = DatePicker; - Controls.TemplateParts(DatePicker, { Name: "MonthTextBox", Type: Controls.TextBox }, { Name: "DayTextBox", Type: Controls.TextBox }, { Name: "YearTextBox", Type: Controls.TextBox }); - Controls.TemplateVisualStates(DatePicker, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "ValidationStates", Name: "Valid" }, { GroupName: "ValidationStates", Name: "InvalidFocused" }, { GroupName: "ValidationStates", Name: "InvalidUnfocused" }); - function formatNumber(n, digits, fallback) { - if (isNaN(n)) - return fallback; - return Fayde.Localization.Format("{0:d" + digits + "}", n); - } - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - (function (ValidSpinDirections) { - ValidSpinDirections[ValidSpinDirections["None"] = 0] = "None"; - ValidSpinDirections[ValidSpinDirections["Increase"] = 1] = "Increase"; - ValidSpinDirections[ValidSpinDirections["Decrease"] = 2] = "Decrease"; - })(Controls.ValidSpinDirections || (Controls.ValidSpinDirections = {})); - var ValidSpinDirections = Controls.ValidSpinDirections; - Controls.Library.addEnum(ValidSpinDirections, "ValidSpinDirections"); - (function (SpinDirection) { - SpinDirection[SpinDirection["Increase"] = 0] = "Increase"; - SpinDirection[SpinDirection["Decrease"] = 1] = "Decrease"; - })(Controls.SpinDirection || (Controls.SpinDirection = {})); - var SpinDirection = Controls.SpinDirection; - Controls.Library.addEnum(SpinDirection, "SpinDirection"); - (function (InvalidInputAction) { - InvalidInputAction[InvalidInputAction["UseFallbackItem"] = 0] = "UseFallbackItem"; - InvalidInputAction[InvalidInputAction["TextBoxCannotLoseFocus"] = 1] = "TextBoxCannotLoseFocus"; - })(Controls.InvalidInputAction || (Controls.InvalidInputAction = {})); - var InvalidInputAction = Controls.InvalidInputAction; - Controls.Library.addEnum(InvalidInputAction, "InvalidInputAction"); - (function (Dock) { - Dock[Dock["Left"] = 0] = "Left"; - Dock[Dock["Top"] = 1] = "Top"; - Dock[Dock["Right"] = 2] = "Right"; - Dock[Dock["Bottom"] = 3] = "Bottom"; - })(Controls.Dock || (Controls.Dock = {})); - var Dock = Controls.Dock; - Controls.Library.addEnum(Dock, "Dock"); - (function (DatePickerFormat) { - DatePickerFormat[DatePickerFormat["Long"] = 0] = "Long"; - DatePickerFormat[DatePickerFormat["Short"] = 1] = "Short"; - })(Controls.DatePickerFormat || (Controls.DatePickerFormat = {})); - var DatePickerFormat = Controls.DatePickerFormat; - Controls.Library.addEnum(DatePickerFormat, "DatePickerFormat"); - (function (TimeDisplayMode) { - TimeDisplayMode[TimeDisplayMode["Regular"] = 0] = "Regular"; - TimeDisplayMode[TimeDisplayMode["Military"] = 1] = "Military"; - })(Controls.TimeDisplayMode || (Controls.TimeDisplayMode = {})); - var TimeDisplayMode = Controls.TimeDisplayMode; - Controls.Library.addEnum(TimeDisplayMode, "TimeDisplayMode"); - (function (ValidationSummaryFilters) { - ValidationSummaryFilters[ValidationSummaryFilters["None"] = 0] = "None"; - ValidationSummaryFilters[ValidationSummaryFilters["ObjectErrors"] = 1] = "ObjectErrors"; - ValidationSummaryFilters[ValidationSummaryFilters["PropertyErrors"] = 2] = "PropertyErrors"; - ValidationSummaryFilters[ValidationSummaryFilters["All"] = 3] = "All"; - })(Controls.ValidationSummaryFilters || (Controls.ValidationSummaryFilters = {})); - var ValidationSummaryFilters = Controls.ValidationSummaryFilters; - Controls.Library.addEnum(ValidationSummaryFilters, "ValidationSummaryFilters"); - (function (ValidationSummaryItemType) { - ValidationSummaryItemType[ValidationSummaryItemType["ObjectError"] = 1] = "ObjectError"; - ValidationSummaryItemType[ValidationSummaryItemType["PropertyError"] = 2] = "PropertyError"; - })(Controls.ValidationSummaryItemType || (Controls.ValidationSummaryItemType = {})); - var ValidationSummaryItemType = Controls.ValidationSummaryItemType; - Controls.Library.addEnum(ValidationSummaryItemType, "ValidationSummaryItemType"); - (function (StretchDirection) { - StretchDirection[StretchDirection["UpOnly"] = 0] = "UpOnly"; - StretchDirection[StretchDirection["DownOnly"] = 1] = "DownOnly"; - StretchDirection[StretchDirection["Both"] = 2] = "Both"; - })(Controls.StretchDirection || (Controls.StretchDirection = {})); - var StretchDirection = Controls.StretchDirection; - Controls.Library.addEnum(StretchDirection, "StretchDirection"); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -/// -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var ButtonBase = Controls.Primitives.ButtonBase; - var Spinner = (function (_super) { - __extends(Spinner, _super); - function Spinner() { - _super.call(this); - this.Spin = new Fayde.RoutedEvent(); - this._IncreaseButton = null; - this._DecreaseButton = null; - this.DefaultStyleKey = Spinner; - } - Spinner.prototype.OnContentChanged = function (oldContent, newContent) { - }; - Spinner.prototype.OnValidSpinDirectionChanged = function (args) { - this.UpdateVisualState(true); - this.EnableButtons(); - }; - Spinner.prototype.OnSpin = function (e) { - var valid = e.Direction === Controls.SpinDirection.Increase ? Controls.ValidSpinDirections.Increase : Controls.ValidSpinDirections.Decrease; - if ((this.ValidSpinDirection & valid) !== valid) - throw new InvalidOperationException("Invalid Spin Direction"); - this.Spin.raise(this, e); - }; - Spinner.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - if (this._IncreaseButton) - this._IncreaseButton.Click.off(this.OnIncreaseClick, this); - this._IncreaseButton = this.GetTemplateChild("IncreaseButton", ButtonBase); - if (this._IncreaseButton) - this._IncreaseButton.Click.on(this.OnIncreaseClick, this); - if (this._DecreaseButton) - this._DecreaseButton.Click.off(this.OnDecreaseClick, this); - this._DecreaseButton = this.GetTemplateChild("DecreaseButton", ButtonBase); - if (this._DecreaseButton) - this._DecreaseButton.Click.on(this.OnDecreaseClick, this); - this.UpdateVisualState(false); - this.EnableButtons(); - }; - Spinner.prototype.OnIncreaseClick = function (sender, e) { - this.OnSpin(new Controls.SpinEventArgs(Controls.SpinDirection.Increase)); - }; - Spinner.prototype.OnDecreaseClick = function (sender, e) { - this.OnSpin(new Controls.SpinEventArgs(Controls.SpinDirection.Decrease)); - }; - Spinner.prototype.EnableButtons = function () { - if (this._IncreaseButton) - this._IncreaseButton.IsEnabled = (this.ValidSpinDirection & Controls.ValidSpinDirections.Increase) === Controls.ValidSpinDirections.Increase; - if (this._DecreaseButton) - this._DecreaseButton.IsEnabled = (this.ValidSpinDirection & Controls.ValidSpinDirections.Decrease) === Controls.ValidSpinDirections.Decrease; - }; - Spinner.prototype.GoToStates = function (gotoFunc) { - _super.prototype.GoToStates.call(this, gotoFunc); - this.GoToStateIncrease(gotoFunc); - this.GoToStateDecrease(gotoFunc); - }; - Spinner.prototype.GoToStateCommon = function (gotoFunc) { - if (!this.IsEnabled) - return gotoFunc("Disabled"); - if (this.IsMouseOver) - return gotoFunc("MouseOver"); - return gotoFunc("Normal"); - }; - Spinner.prototype.GoToStateIncrease = function (gotoFunc) { - return gotoFunc(((this.ValidSpinDirection & Controls.ValidSpinDirections.Increase) === Controls.ValidSpinDirections.Increase) ? "IncreaseEnabled" : "IncreaseDisabled"); - }; - Spinner.prototype.GoToStateDecrease = function (gotoFunc) { - return gotoFunc(((this.ValidSpinDirection & Controls.ValidSpinDirections.Decrease) === Controls.ValidSpinDirections.Decrease) ? "DecreaseEnabled" : "DecreaseDisabled"); - }; - Spinner.prototype.OnMouseEnter = function (e) { - _super.prototype.OnMouseEnter.call(this, e); - this.UpdateVisualState(); - }; - Spinner.prototype.OnMouseLeave = function (e) { - _super.prototype.OnMouseLeave.call(this, e); - this.UpdateVisualState(); - }; - Spinner.prototype.OnMouseLeftButtonDown = function (e) { - this.UpdateVisualState(); - _super.prototype.OnMouseLeftButtonDown.call(this, e); - }; - Spinner.prototype.OnMouseLeftButtonUp = function (e) { - _super.prototype.OnMouseLeftButtonUp.call(this, e); - this.UpdateVisualState(); - }; - Spinner.prototype.OnGotFocus = function (e) { - _super.prototype.OnGotFocus.call(this, e); - this.UpdateVisualState(); - }; - Spinner.prototype.OnLostFocus = function (e) { - _super.prototype.OnLostFocus.call(this, e); - this.UpdateVisualState(); - }; - Spinner.ContentProperty = DependencyProperty.Register("Content", function () { return Object; }, Spinner, undefined, function (d, args) { return d.OnContentChanged(args.OldValue, args.NewValue); }); - Spinner.ValidSpinDirectionProperty = DependencyProperty.Register("ValidSpinDirection", function () { return new Fayde.Enum(Controls.ValidSpinDirections); }, Spinner, Controls.ValidSpinDirections.Increase, function (d, args) { return d.OnValidSpinDirectionChanged(args); }); - return Spinner; - })(Controls.Control); - Controls.Spinner = Spinner; - Fayde.Markup.Content(Spinner, Spinner.ContentProperty); - Controls.TemplateVisualStates(Spinner, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "MouseOver" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "FocusStates", Name: "Unfocused" }, { GroupName: "FocusStates", Name: "Focused" }, { GroupName: "IncreaseStates", Name: "IncreaseEnabled" }, { GroupName: "IncreaseStates", Name: "IncreaseDisabled" }, { GroupName: "DecreaseStates", Name: "DecreaseEnabled" }, { GroupName: "DecreaseStates", Name: "DecreaseDisabled" }); - Controls.TemplateParts(Spinner, { Name: "IncreaseButton", Type: Controls.Primitives.ButtonBase }, { Name: "DecreaseButton", Type: Controls.Primitives.ButtonBase }); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -/// -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var UpDownBase = (function (_super) { - __extends(UpDownBase, _super); - function UpDownBase() { - _super.apply(this, arguments); - this._IgnoreValueChange = false; - this._TextBox = null; - this._Spinner = null; - this._Text = ""; - this.ValueChanging = new Fayde.RoutedPropertyChangingEvent(); - this.ValueChanged = new Fayde.RoutedPropertyChangedEvent(); - this.Parsing = new Fayde.RoutedEvent(); - this.ParseError = new Fayde.RoutedEvent(); - } - UpDownBase.prototype.OnSpinnerStyleChanged = function (oldStyle, newStyle) { }; - UpDownBase.prototype._OnValueChanged = function (args) { - if (this._IgnoreValueChange) - return; - var oldValue = args.OldValue; - var newValue = args.NewValue; - var e1 = new Fayde.RoutedPropertyChangingEventArgs(args.Property, oldValue, newValue, true); - this.OnValueChanging(e1); - if (e1.InCoercion) - return; - if (!e1.Cancel) { - var newValue2 = e1.NewValue; - var e2 = new Fayde.RoutedPropertyChangedEventArgs(oldValue, newValue2); - this.OnValueChanged(e2); - } - else { - this._IgnoreValueChange = true; - this.Value = oldValue; - this._IgnoreValueChange = false; - } - }; - UpDownBase.prototype.OnValueChanging = function (e) { - this.ValueChanging.raise(this, e); - }; - UpDownBase.prototype.OnValueChanged = function (e) { - this.ValueChanged.raise(this, e); - this.SetTextBoxText(); - }; - UpDownBase.prototype.OnIsEditableChanged = function (args) { - if (!this._TextBox) - this._TextBox.IsReadOnly = !this.IsEditable; - }; - UpDownBase.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - this.SetTextBox(this.GetTemplateChild("Text")); - this.SetSpinner(this.GetTemplateChild("Spinner")); - this.SetTextBoxText(); - if (this._TextBox != null) - this._TextBox.IsReadOnly = !this.IsEditable; - this.UpdateVisualState(false); - }; - UpDownBase.prototype.SetTextBox = function (d) { - if (this._TextBox) { - this._TextBox.GotFocus.off(this.TextBox_GotFocus, this); - this._TextBox.LostFocus.off(this.TextBox_LostFocus, this); - } - if (d instanceof Controls.TextBox) - this._TextBox = d; - else - this._TextBox = null; - this._TextBox.GotFocus.on(this.TextBox_GotFocus, this); - this._TextBox.LostFocus.on(this.TextBox_LostFocus, this); - this._Text = this._TextBox.Text; - }; - UpDownBase.prototype.SetSpinner = function (d) { - if (this._Spinner) - this._Spinner.Spin.off(this.Spinner_Spin, this); - if (d instanceof Controls.Spinner) - this._Spinner = d; - else - this._Spinner = null; - if (this._Spinner) - this._Spinner.Spin.on(this.Spinner_Spin, this); - }; - UpDownBase.prototype.OnKeyDown = function (e) { - _super.prototype.OnKeyDown.call(this, e); - if (e.Handled) - return; - switch (e.Key) { - case Fayde.Input.Key.Enter: - this.ProcessUserInput(); - e.Handled = true; - break; - case Fayde.Input.Key.Up: - this.DoIncrement(); - e.Handled = true; - break; - case Fayde.Input.Key.Down: - this.DoDecrement(); - e.Handled = true; - break; - } - }; - UpDownBase.prototype.OnMouseWheel = function (e) { - _super.prototype.OnMouseWheel.call(this, e); - if (e.Handled) - return; - if (e.Delta < 0) - this.DoDecrement(); - else if (0 < e.Delta) - this.DoIncrement(); - e.Handled = true; - }; - UpDownBase.prototype.ApplyValue = function (text) { - var e1 = new Controls.UpDownParsingEventArgs(text); - var obj1; - var error = null; - try { - obj1 = this.ParseValue(text); - e1.Value = obj1; - } - catch (err) { - error = err; - } - try { - this.OnParsing(e1); - } - catch (err) { - } - if (error == null) { - var obj2 = e1.Handled ? e1.Value : obj1; - var value = this.Value; - if (this.Value === obj2) - this.SetTextBoxText(); - this.Value = obj2; - } - else if (e1.Handled) { - if (this.Value === e1.Value) - this.SetTextBoxText(); - this.Value = e1.Value; - } - else { - var e2 = new Controls.UpDownParseErrorEventArgs(text, error); - this.OnParseError(e2); - if (!e2.Handled) - this.SetTextBoxText(); - } - }; - UpDownBase.prototype.OnParseError = function (e) { - this.ParseError.raise(this, e); - }; - UpDownBase.prototype.OnParsing = function (e) { - this.Parsing.raise(this, e); - }; - UpDownBase.prototype.ParseValue = function (text) { return; }; - UpDownBase.prototype.FormatValue = function () { return ""; }; - UpDownBase.prototype.SelectAllText = function () { - if (this._TextBox) - this._TextBox.SelectAll(); - }; - UpDownBase.prototype.SetTextBoxText = function () { - if (!this._TextBox) - return; - this._Text = this.FormatValue() || ""; - this._TextBox.Text = this._Text; - this._TextBox.SelectionStart = this._Text.length; - }; - UpDownBase.prototype.TextBox_LostFocus = function (sender, e) { - this.ProcessUserInput(); - }; - UpDownBase.prototype.TextBox_GotFocus = function (sender, e) { - this.SelectAllText(); - }; - UpDownBase.prototype.Spinner_Spin = function (sender, e) { - if (this._TextBox) - this.ProcessUserInput(); - this.OnSpin(e); - }; - UpDownBase.prototype.OnSpin = function (e) { - if (e.Direction === Controls.SpinDirection.Increase) - this.DoIncrement(); - else - this.DoDecrement(); - }; - UpDownBase.prototype.ProcessUserInput = function () { - if (!this._TextBox || this._Text === this._TextBox.Text) - return; - var selectionStart = this._TextBox.SelectionStart; - this._Text = this._TextBox.Text; - this.ApplyValue(this._Text); - if (selectionStart < this._TextBox.Text.length) - this._TextBox.SelectionStart = selectionStart; - }; - UpDownBase.prototype.DoDecrement = function () { - if (this._Spinner && (this._Spinner.ValidSpinDirection & Controls.ValidSpinDirections.Decrease) !== Controls.ValidSpinDirections.Decrease) - return; - this.OnDecrement(); - }; - UpDownBase.prototype.OnDecrement = function () { }; - UpDownBase.prototype.DoIncrement = function () { - if (this._Spinner && (this._Spinner.ValidSpinDirection & Controls.ValidSpinDirections.Increase) !== Controls.ValidSpinDirections.Increase) - return; - this.OnIncrement(); - }; - UpDownBase.prototype.OnIncrement = function () { }; - UpDownBase.SpinnerStyleProperty = DependencyProperty.Register("SpinnerStyle", function () { return Fayde.Style; }, UpDownBase, undefined, function (d, args) { return d.OnSpinnerStyleChanged(args.OldValue, args.NewValue); }); - UpDownBase.IsEditableProperty = DependencyProperty.Register("IsEditable", function () { return Boolean; }, UpDownBase, true, function (d, args) { return d.OnIsEditableChanged(args); }); - return UpDownBase; - })(Controls.Control); - Controls.UpDownBase = UpDownBase; - Controls.TemplateVisualStates(UpDownBase, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "MouseOver" }, { GroupName: "CommonStates", Name: "Pressed" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "FocusStates", Name: "Unfocused" }, { GroupName: "FocusStates", Name: "Focused" }); - Controls.TemplateParts(UpDownBase, { Name: "Text", Type: Controls.TextBox }, { Name: "Spinner", Type: Controls.Spinner }); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -/// -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var DomainUpDown = (function (_super) { - __extends(DomainUpDown, _super); - function DomainUpDown() { - var _this = this; - _super.call(this); - this.ValueChanging = new Fayde.RoutedPropertyChangingEvent(); - this.ParseError = new Fayde.RoutedEvent(); - this._ValueBindingEvaluator = null; - this._CanEditByFocus = false; - this.DefaultStyleKey = DomainUpDown; - Object.defineProperty(this, "Items", { value: new Controls.Internal.ObservableObjectCollection(), writable: false }); - this.Items.CollectionChanged.on(this._OnItemsChanged, this); - this._Coercer = new Controls.Internal.DomainCoercer(this, function (val) { return _this.SetCurrentValue(DomainUpDown.ValueProperty, val); }, function (val) { return _this.SetCurrentValue(DomainUpDown.CurrentIndexProperty, val); }); - } - DomainUpDown.prototype.OnValueChanged = function (oldItem, newItem) { - }; - DomainUpDown.prototype.OnCurrentIndexChanged = function (oldIndex, newIndex) { - this.UpdateValidSpinDirection(); - }; - DomainUpDown.prototype._OnIsCyclicChanged = function (args) { - this.UpdateValidSpinDirection(); - }; - DomainUpDown.prototype._OnItemsSourceChanged = function (oldItemsSource, newItemsSource) { - var cc = Fayde.Collections.INotifyCollectionChanged_.as(oldItemsSource); - if (cc) - cc.CollectionChanged.off(this._ItemsSourceModified, this); - this.Items.IsReadOnly = false; - this.Items.Clear(); - if (!newItemsSource) - return; - var en = nullstone.IEnumerable_.as(newItemsSource); - var arr; - if (en) { - var enu = en.getEnumerator(); - arr = []; - while (enu.moveNext()) { - arr.push(enu.current); - } - } - else if (newItemsSource instanceof Array) { - arr = newItemsSource; - } - if (arr) { - this.Items.AddRange(arr); - this.Items.IsReadOnly = true; - } - cc = Fayde.Collections.INotifyCollectionChanged_.as(newItemsSource); - if (cc) - cc.CollectionChanged.on(this._ItemsSourceModified, this); - }; - DomainUpDown.prototype._ItemsSourceModified = function (sender, e) { - var coll = sender; - var index; - this.Items.IsReadOnly = false; - switch (e.Action) { - case Fayde.Collections.CollectionChangedAction.Add: - index = e.NewStartingIndex; - for (var en = nullstone.IEnumerator_.fromArray(e.NewItems); en.moveNext();) { - this.Items.Insert(index, en.current); - index++; - } - break; - case Fayde.Collections.CollectionChangedAction.Remove: - for (var en = nullstone.IEnumerator_.fromArray(e.OldItems); en.moveNext();) { - this.Items.RemoveAt(e.OldStartingIndex); - } - break; - case Fayde.Collections.CollectionChangedAction.Replace: - index = e.NewStartingIndex; - for (var en = nullstone.IEnumerator_.fromArray(e.NewItems); en.moveNext();) { - this.Items.SetValueAt(index, en.current); - index++; - } - break; - case Fayde.Collections.CollectionChangedAction.Reset: - this.Items.Clear(); - this.Items.AddRange(coll.ToArray()); - break; - } - this.Items.IsReadOnly = true; - }; - DomainUpDown.prototype._OnItemsChanged = function (sender, e) { - this._Coercer.UpdateTextBoxText(); - }; - Object.defineProperty(DomainUpDown.prototype, "ValueMemberPath", { - get: function () { - var vb = this.ValueMemberBinding; - return vb ? vb.Path.Path : null; - }, - set: function (value) { - var vb = this.ValueMemberBinding; - if (!value) { - if (!vb) - return; - var binding1 = new Fayde.Data.Binding(); - binding1.Converter = vb.Converter; - binding1.ConverterCulture = vb.ConverterCulture; - binding1.ConverterParameter = vb.ConverterParameter; - this.ValueMemberBinding = binding1; - } - else if (vb != null) { - var binding1 = new Fayde.Data.Binding(value); - binding1.Converter = vb.Converter; - binding1.ConverterCulture = vb.ConverterCulture; - binding1.ConverterParameter = vb.ConverterParameter; - this.ValueMemberBinding = binding1; - } - else - this.ValueMemberBinding = new Fayde.Data.Binding(value); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(DomainUpDown.prototype, "ValueMemberBinding", { - get: function () { - var vbe = this._ValueBindingEvaluator; - return vbe ? vbe.ValueBinding : null; - }, - set: function (value) { - this._ValueBindingEvaluator = new Controls.Internal.BindingSourceEvaluator(value); - }, - enumerable: true, - configurable: true - }); - DomainUpDown.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - if (this._SpinFlow) - this._SpinFlow.Dispose(); - this._SpinFlow = new Controls.Internal.SpinFlow(this, this.GetTemplateChild("Spinner", Controls.Spinner)); - this._Coercer.Detach(); - this._Coercer.Attach(this.GetTemplateChild("Text", Controls.TextBox)); - this.UpdateValidSpinDirection(); - this.UpdateVisualState(); - }; - DomainUpDown.prototype.OnGotFocus = function (e) { - _super.prototype.OnGotFocus.call(this, e); - this.UpdateVisualState(); - if (this.IsEnabled) - this.TryEnterEditMode(); - }; - DomainUpDown.prototype.OnLostFocus = function (e) { - _super.prototype.OnLostFocus.call(this, e); - this.UpdateVisualState(); - if (this.IsEnabled) - this._Coercer.EscapeFocus(); - }; - DomainUpDown.prototype.OnMouseEnter = function (e) { - _super.prototype.OnMouseEnter.call(this, e); - this.UpdateVisualState(); - }; - DomainUpDown.prototype.OnMouseLeave = function (e) { - _super.prototype.OnMouseLeave.call(this, e); - this.UpdateVisualState(); - }; - DomainUpDown.prototype.OnMouseLeftButtonDown = function (e) { - _super.prototype.OnMouseLeftButtonDown.call(this, e); - this.UpdateVisualState(); - }; - DomainUpDown.prototype.OnMouseLeftButtonUp = function (e) { - _super.prototype.OnMouseLeftButtonUp.call(this, e); - this.UpdateVisualState(); - if (this.IsEnabled && !this._Coercer.IsEditing) { - this.Focus(); - this.TryEnterEditMode(); - } - }; - DomainUpDown.prototype.GoToStates = function (gotoFunc) { - _super.prototype.GoToStates.call(this, gotoFunc); - this.GoToStateEditing(gotoFunc); - this.GoToStateValid(gotoFunc); - }; - DomainUpDown.prototype.GoToStateEditing = function (gotoFunc) { - return gotoFunc(this._Coercer.IsEditing ? "Edit" : "Display"); - }; - DomainUpDown.prototype.GoToStateValid = function (gotoFunc) { - return gotoFunc(this._Coercer.IsInvalidInput ? "InvalidDomain" : "ValidDomain"); - }; - DomainUpDown.prototype.UpdateValidSpinDirection = function () { - if (!this._SpinFlow) - return; - var isCyclic = this.IsCyclic; - var curIndex = this.CurrentIndex; - this._SpinFlow.UpdateValid(isCyclic || curIndex > 0, isCyclic || curIndex < this.Items.Count - 1); - }; - DomainUpDown.prototype.TryEnterEditMode = function () { - if (this._Coercer.IsEditing) - return; - if (!this._CanEditByFocus && this.IsEditable) - this._Coercer.IsEditing = true; - }; - DomainUpDown.prototype.OnIsEditingChanged = function (isEditing) { - this.UpdateVisualState(); - }; - DomainUpDown.prototype.OnIsInvalidInputChanged = function (isInvalid) { - this.UpdateVisualState(); - }; - DomainUpDown.prototype.OnSpin = function () { - this._Coercer.ProcessUserInput(); - }; - DomainUpDown.prototype.OnIncrement = function () { - var _this = this; - if (this.CurrentIndex < this.Items.Count - 1) - this.CurrentIndex++; - else if (this.IsCyclic) - this.CurrentIndex = 0; - this._Coercer.IsInvalidInput = false; - this._CanEditByFocus = true; - this.Focus(); - window.setTimeout(function () { return _this._CanEditByFocus = false; }, 1); - }; - DomainUpDown.prototype.OnDecrement = function () { - var _this = this; - if (this.CurrentIndex > 0) - this.CurrentIndex--; - else if (this.IsCyclic) - this.CurrentIndex = this.Items.Count - 1; - this._Coercer.IsInvalidInput = false; - this._CanEditByFocus = true; - this.Focus(); - window.setTimeout(function () { return _this._CanEditByFocus = false; }, 1); - }; - DomainUpDown.prototype.TryParseValue = function (text, ov) { - if (!text) { - ov.Value = this.Value; - return true; - } - var vb = this._ValueBindingEvaluator; - var enu = this.Items.getEnumerator(); - while (enu.moveNext() && ov.Value == null) { - ov.Value = matchItem(vb, enu.current, text); - } - if (ov.Value != null) - return true; - ov.Value = this.Value; - if (this.InvalidInputAction === Controls.InvalidInputAction.TextBoxCannotLoseFocus) - return false; - if (this.InvalidInputAction === Controls.InvalidInputAction.UseFallbackItem) { - ov.Value = this.FallbackItem; - if (ov.Value == null || !this.Items.Contains(ov.Value)) - throw new ArgumentException("Cannot parse value."); - } - return true; - }; - DomainUpDown.prototype.FormatValue = function () { - var val = this.Value; - if (!val) - return ""; - if (!this.Items.Contains(val)) - return ""; - try { - var vb = this._ValueBindingEvaluator; - if (vb) - val = vb.GetDynamicValue(val); - } - catch (err) { - } - if (typeof val === "string") - return val; - return ""; - }; - DomainUpDown.ValueProperty = DependencyProperty.Register("Value", function () { return Object; }, DomainUpDown, null, function (d, args) { return d._Coercer.OnValueChanged(args.OldValue, args.NewValue); }); - DomainUpDown.IsEditableProperty = DependencyProperty.Register("IsEditable", function () { return Boolean; }, DomainUpDown, false, function (d, args) { return d._Coercer.UpdateIsEditable(); }); - DomainUpDown.SpinnerStyleProperty = DependencyProperty.Register("SpinnerStyle", function () { return Fayde.Style; }, DomainUpDown); - DomainUpDown.CurrentIndexProperty = DependencyProperty.Register("CurrentIndex", function () { return Number; }, DomainUpDown, -1, function (d, args) { return d._Coercer.OnCurrentIndexChanged(args.OldValue, args.NewValue); }); - DomainUpDown.IsCyclicProperty = DependencyProperty.Register("IsCyclic", function () { return Boolean; }, DomainUpDown, false, function (d, args) { return d._OnIsCyclicChanged(args); }); - DomainUpDown.InvalidInputActionProperty = DependencyProperty.RegisterFull("InvalidInputAction", function () { return new Fayde.Enum(Controls.InvalidInputAction); }, DomainUpDown, Controls.InvalidInputAction.UseFallbackItem, undefined, undefined, false, inputActionValidator, true); - DomainUpDown.FallbackItemProperty = DependencyProperty.Register("FallbackItem", function () { return Object; }, DomainUpDown, null); - DomainUpDown.ItemsSourceProperty = DependencyProperty.Register("ItemsSource", function () { return nullstone.IEnumerable_; }, DomainUpDown, undefined, function (d, args) { return d._OnItemsSourceChanged(args.OldValue, args.NewValue); }); - DomainUpDown.ItemTemplateProperty = DependencyProperty.Register("ItemTemplate", function () { return Fayde.DataTemplate; }, DomainUpDown); - return DomainUpDown; - })(Controls.Control); - Controls.DomainUpDown = DomainUpDown; - Controls.TemplateVisualStates(DomainUpDown, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "MouseOver" }, { GroupName: "CommonStates", Name: "Pressed" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "FocusStates", Name: "Unfocused" }, { GroupName: "FocusStates", Name: "Focused" }, { GroupName: "ValidationStates", Name: "Valid" }, { GroupName: "ValidationStates", Name: "InvalidUnfocused" }, { GroupName: "ValidationStates", Name: "InvalidFocused" }, { GroupName: "DomainStates", Name: "ValidDomain" }, { GroupName: "DomainStates", Name: "InvalidDomain" }); - function inputActionValidator(d, propd, value) { - switch (value) { - case Controls.InvalidInputAction.UseFallbackItem: - case Controls.InvalidInputAction.TextBoxCannotLoseFocus: - return true; - default: - return false; - } - } - function matchItem(evaluator, item, text) { - if (!evaluator) - return text === item.toString(); - return text === (evaluator.GetDynamicValue(item) || ""); - } - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var dragIncrement = 1; - var keyIncrement = 10; - var GridSplitter = (function (_super) { - __extends(GridSplitter, _super); - function GridSplitter() { - _super.call(this); - this._HorizontalTemplate = null; - this._VerticalTemplate = null; - this._DragStart = null; - this._IsDragging = false; - this.DefaultStyleKey = GridSplitter; - this._Helper = new Controls.Internal.GridSplitterResizer(this); - this.LayoutUpdated.on(this._OnLayoutUpdated, this); - } - GridSplitter.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - this._HorizontalTemplate = this.GetTemplateChild("HorizontalTemplate", Fayde.FrameworkElement); - this._VerticalTemplate = this.GetTemplateChild("VerticalTemplate", Fayde.FrameworkElement); - this._Helper.UpdateResizeDirection(this); - this._OnResizeDirectionChanged(); - this.UpdateVisualState(); - }; - GridSplitter.prototype._OnLayoutUpdated = function (sender, e) { - if (this._Helper && this._Helper.UpdateResizeDirection(this)) - this._OnResizeDirectionChanged(); - }; - GridSplitter.prototype._OnResizeDirectionChanged = function () { - var isColumns = this._Helper.Direction === Controls.Internal.GridResizeDirection.Columns; - this.Cursor = isColumns ? Fayde.CursorType.SizeWE : Fayde.CursorType.SizeNS; - var ht = this._HorizontalTemplate; - if (ht) - ht.Visibility = !isColumns ? Fayde.Visibility.Visible : Fayde.Visibility.Collapsed; - var vt = this._VerticalTemplate; - if (vt) - vt.Visibility = isColumns ? Fayde.Visibility.Visible : Fayde.Visibility.Collapsed; - }; - GridSplitter.prototype.OnGotFocus = function (e) { - _super.prototype.OnGotFocus.call(this, e); - this.UpdateVisualState(); - }; - GridSplitter.prototype.OnLostFocus = function (e) { - _super.prototype.OnLostFocus.call(this, e); - this.UpdateVisualState(); - }; - GridSplitter.prototype.OnKeyDown = function (e) { - _super.prototype.OnKeyDown.call(this, e); - if (e.Key === Fayde.Input.Key.Escape) { - if (!this._Helper) - return; - this._Helper = null; - e.Handled = true; - return; - } - if (!this.IsFocused || !this.IsEnabled) - return; - var horiz = 0; - var vert = 0; - switch (e.Key) { - case Fayde.Input.Key.Left: - horiz = -keyIncrement; - break; - case Fayde.Input.Key.Up: - vert = -keyIncrement; - break; - case Fayde.Input.Key.Right: - horiz = keyIncrement; - break; - case Fayde.Input.Key.Down: - vert = keyIncrement; - break; - } - if (this.FlowDirection === Fayde.FlowDirection.RightToLeft) - e.Handled = this._HandleMove(-horiz, vert, true); - else - e.Handled = this._HandleMove(horiz, vert, true); - }; - GridSplitter.prototype.OnMouseLeftButtonDown = function (e) { - _super.prototype.OnMouseLeftButtonDown.call(this, e); - if (!this.IsEnabled) - return; - this._IsDragging = this.CaptureMouse(); - if (!this._IsDragging) - return; - this._DragStart = this._GetTransformedPos(e); - this.Focus(); - this.InitHelper(); - }; - GridSplitter.prototype.OnMouseLeftButtonUp = function (e) { - _super.prototype.OnMouseLeftButtonUp.call(this, e); - this.ReleaseMouseCapture(); - this._IsDragging = false; - this._Helper = null; - this.UpdateVisualState(); - }; - GridSplitter.prototype.OnMouseMove = function (e) { - _super.prototype.OnMouseMove.call(this, e); - if (!this._IsDragging) - return; - var pos = this._GetTransformedPos(e); - if (pos) - this._HandleMove(pos.x - this._DragStart.x, pos.y - this._DragStart.y, false); - }; - GridSplitter.prototype.InitHelper = function () { - var parent = this.VisualParent; - if (!(parent instanceof Controls.Grid)) - return; - this._Helper = new Controls.Internal.GridSplitterResizer(this); - if (this._Helper.Setup(this, parent)) - return; - this._Helper = null; - }; - GridSplitter.prototype._HandleMove = function (horiz, vert, isKeyboard) { - if (isKeyboard) { - if (this._Helper) - return false; - this.InitHelper(); - } - if (!this._Helper) - return false; - if (!this._Helper.Move(this.VisualParent, horiz, vert) || isKeyboard) - this._Helper = null; - return true; - }; - GridSplitter.prototype._GetTransformedPos = function (e) { - if (this.RenderTransform) - return this.RenderTransform.Transform(e.GetPosition(this)); - return e.GetPosition(this); - }; - return GridSplitter; - })(Controls.Control); - Controls.GridSplitter = GridSplitter; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var HeaderedItemsControl = (function (_super) { - __extends(HeaderedItemsControl, _super); - function HeaderedItemsControl() { - _super.call(this); - this._HeaderIsItem = false; - this.DefaultStyleKey = HeaderedItemsControl; - this._ItemsControlHelper = new Controls.Internal.ItemsControlHelper(this); - } - HeaderedItemsControl.prototype.OnHeaderChanged = function (oldHeader, newHeader) { - }; - HeaderedItemsControl.prototype.OnHeaderTemplateChanged = function (oldHeaderTemplate, newHeaderTemplate) { - }; - HeaderedItemsControl.prototype.OnItemContainerStyleChanged = function (args) { - this._ItemsControlHelper.UpdateItemContainerStyle(args.NewValue); - }; - HeaderedItemsControl.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - this._ItemsControlHelper.OnApplyTemplate(); - }; - HeaderedItemsControl.prototype.PrepareContainerForItem = function (element, item) { - var control = element; - if (!(control instanceof Controls.Control)) - control = null; - var ics = this.ItemContainerStyle; - if (ics != null && control != null && control.Style == null) - control.SetValue(Fayde.FrameworkElement.StyleProperty, ics); - var hic = element; - if (hic instanceof HeaderedItemsControl) - HeaderedItemsControl.PrepareHeaderedItemsControlContainer(hic, item, this, ics); - _super.prototype.PrepareContainerForItem.call(this, element, item); - }; - HeaderedItemsControl.PrepareHeaderedItemsControlContainer = function (control, item, parentItemsControl, parentItemContainerStyle) { - if (control === item) - return; - var itemTemplate = parentItemsControl.ItemTemplate; - if (itemTemplate != null) - control.SetValue(Controls.ItemsControl.ItemTemplateProperty, itemTemplate); - if (parentItemContainerStyle != null && hasDefaultValue(control, HeaderedItemsControl.ItemContainerStyleProperty)) - control.SetValue(HeaderedItemsControl.ItemContainerStyleProperty, parentItemContainerStyle); - if (control._HeaderIsItem || hasDefaultValue(control, HeaderedItemsControl.HeaderProperty)) { - control.Header = item; - control._HeaderIsItem = true; - } - if (itemTemplate != null) - control.SetValue(HeaderedItemsControl.HeaderTemplateProperty, itemTemplate); - if (parentItemContainerStyle != null && control.Style == null) - control.SetValue(Fayde.FrameworkElement.StyleProperty, parentItemContainerStyle); - var hdt = itemTemplate; - if (!(hdt instanceof Fayde.HierarchicalDataTemplate)) - return; - var isexpr = hdt.GetBindingExpression(Fayde.HierarchicalDataTemplate.ItemsSourceProperty); - if (isexpr) { - var binding = new Fayde.Data.Binding(isexpr.ParentBinding); - binding.Source = control.Header; - control.SetBinding(Controls.ItemsControl.ItemsSourceProperty, binding); - } - if (hdt.ItemTemplate !== undefined && control.ItemTemplate === itemTemplate) { - control.ClearValue(Controls.ItemsControl.ItemTemplateProperty); - if (hdt.ItemTemplate != null) - control.ItemTemplate = hdt.ItemTemplate; - } - if (hdt.ItemContainerStyle !== undefined && control.ItemContainerStyle === parentItemContainerStyle) { - control.ClearValue(HeaderedItemsControl.ItemContainerStyleProperty); - if (hdt.ItemContainerStyle != null) - control.ItemContainerStyle = hdt.ItemContainerStyle; - } - }; - HeaderedItemsControl.HeaderProperty = DependencyProperty.Register("Header", function () { return Object; }, HeaderedItemsControl, undefined, function (d, args) { return d.OnHeaderChanged(args.OldValue, args.NewValue); }); - HeaderedItemsControl.HeaderTemplateProperty = DependencyProperty.Register("HeaderTemplate", function () { return Fayde.DataTemplate; }, HeaderedItemsControl, undefined, function (d, args) { return d.OnHeaderTemplateChanged(args.OldValue, args.NewValue); }); - HeaderedItemsControl.ItemContainerStyleProperty = DependencyProperty.Register("ItemContainerStyle", function () { return Fayde.Style; }, HeaderedItemsControl, undefined, function (d, args) { return d.OnItemContainerStyleChanged(args); }); - return HeaderedItemsControl; - })(Controls.ItemsControl); - Controls.HeaderedItemsControl = HeaderedItemsControl; - function hasDefaultValue(control, propd) { - return control.ReadLocalValue(propd) === DependencyProperty.UnsetValue; - } - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -/// -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var MenuItem = (function (_super) { - __extends(MenuItem, _super); - function MenuItem() { - _super.call(this); - this.Click = new Fayde.RoutedEvent(); - this.DefaultStyleKey = MenuItem; - this.UpdateIsEnabled(); - } - MenuItem.prototype.OnCommandChanged = function (args) { - var oldcmd = Fayde.Input.ICommand_.as(args.OldValue); - if (oldcmd) - oldcmd.CanExecuteChanged.off(this._CanExecuteChanged, this); - var newcmd = Fayde.Input.ICommand_.as(args.NewValue); - if (newcmd) - newcmd.CanExecuteChanged.on(this._CanExecuteChanged, this); - this.UpdateIsEnabled(); - }; - MenuItem.prototype._CanExecuteChanged = function (sender, e) { - this.UpdateIsEnabled(); - }; - MenuItem.prototype.OnCommandParameterChanged = function (args) { - this.UpdateIsEnabled(); - }; - MenuItem.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - this.UpdateVisualState(false); - }; - MenuItem.prototype.UpdateIsEnabled = function () { - this.IsEnabled = this.Command == null || this.Command.CanExecute(this.CommandParameter); - this.UpdateVisualState(true); - }; - MenuItem.prototype.OnGotFocus = function (e) { - _super.prototype.OnGotFocus.call(this, e); - this.UpdateVisualState(true); - }; - MenuItem.prototype.OnLostFocus = function (e) { - _super.prototype.OnLostFocus.call(this, e); - this.UpdateVisualState(true); - }; - MenuItem.prototype.OnMouseEnter = function (e) { - _super.prototype.OnMouseEnter.call(this, e); - this.Focus(); - this.UpdateVisualState(true); - }; - MenuItem.prototype.OnMouseLeave = function (e) { - _super.prototype.OnMouseLeave.call(this, e); - if (this.ParentMenuBase != null) - this.ParentMenuBase.Focus(); - this.UpdateVisualState(true); - }; - MenuItem.prototype.OnMouseLeftButtonDown = function (e) { - if (!e.Handled) { - this.OnClick(); - e.Handled = true; - } - _super.prototype.OnMouseLeftButtonDown.call(this, e); - }; - MenuItem.prototype.OnMouseRightButtonDown = function (e) { - if (!e.Handled) { - this.OnClick(); - e.Handled = true; - } - _super.prototype.OnMouseRightButtonDown.call(this, e); - }; - MenuItem.prototype.OnKeyDown = function (e) { - if (!e.Handled && Fayde.Input.Key.Enter === e.Key) { - this.OnClick(); - e.Handled = true; - } - _super.prototype.OnKeyDown.call(this, e); - }; - MenuItem.prototype.OnClick = function () { - var contextMenu = this.ParentMenuBase; - if (contextMenu instanceof Controls.ContextMenu) - contextMenu.ChildMenuItemClicked(); - this.Click.raise(this, new Fayde.RoutedEventArgs()); - if (this.Command == null || !this.Command.CanExecute(this.CommandParameter)) - return; - this.Command.Execute(this.CommandParameter); - }; - MenuItem.prototype.GoToStateCommon = function (gotoFunc) { - if (!this.IsEnabled) - return gotoFunc("Disabled"); - return gotoFunc("Normal"); - }; - MenuItem.CommandProperty = DependencyProperty.Register("Command", function () { return Fayde.Input.ICommand_; }, MenuItem, undefined, function (d, args) { return d.OnCommandChanged(args); }); - MenuItem.CommandParameterProperty = DependencyProperty.Register("CommandParameter", function () { return Object; }, MenuItem, undefined, function (d, args) { return d.OnCommandParameterChanged(args); }); - MenuItem.IconProperty = DependencyProperty.Register("Icon", function () { return Object; }, MenuItem); - return MenuItem; - })(Fayde.Controls.HeaderedItemsControl); - Controls.MenuItem = MenuItem; - Controls.TemplateVisualStates(MenuItem, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "FocusStates", Name: "Unfocused" }, { GroupName: "FocusStates", Name: "Focused" }); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -/// -/// -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var NumericUpDown = (function (_super) { - __extends(NumericUpDown, _super); - function NumericUpDown() { - var _this = this; - _super.call(this); - this.Parsing = new Fayde.RoutedEvent(); - this.ParseError = new Fayde.RoutedEvent(); - this.DefaultStyleKey = NumericUpDown; - this._Coercer = new Controls.Internal.FormattedRangeCoercer(this, function (val) { return _this.SetCurrentValue(NumericUpDown.MaximumProperty, val); }, function (val) { return _this.SetCurrentValue(NumericUpDown.ValueProperty, val); }, function () { - if (_this._Formatter) - _this._Formatter.UpdateTextBoxText(); - }); - } - NumericUpDown.prototype.OnMinimumChanged = function (oldMinimum, newMinimum) { - this.UpdateValidSpinDirection(); - }; - NumericUpDown.prototype.OnMaximumChanged = function (oldMaximum, newMaximum) { - this.UpdateValidSpinDirection(); - }; - NumericUpDown.prototype.OnValueChanged = function (oldValue, newValue) { - this.UpdateValidSpinDirection(); - if (this._Formatter) - this._Formatter.UpdateTextBoxText(); - }; - NumericUpDown.prototype.OnIncrementChanged = function (oldIncrement, newIncrement) { - }; - NumericUpDown.prototype.OnDecimalPlacesChanged = function (oldDecimalPlaces, newDecimalPlaces) { - }; - NumericUpDown.prototype.OnApplyTemplate = function () { - var _this = this; - _super.prototype.OnApplyTemplate.call(this); - if (this._SpinFlow) - this._SpinFlow.Dispose(); - this._SpinFlow = new Controls.Internal.SpinFlow(this, this.GetTemplateChild("Spinner", Controls.Spinner)); - if (this._Formatter) - this._Formatter.Dispose(); - this._Formatter = new Controls.Internal.TextBoxFormatter(this, this.GetTemplateChild("Text", Controls.TextBox), function (val) { return _this.SetCurrentValue(NumericUpDown.ValueProperty, val); }); - this.UpdateValidSpinDirection(); - this.UpdateVisualState(false); - }; - NumericUpDown.prototype.UpdateValidSpinDirection = function () { - if (!this._SpinFlow) - return; - var val = this.Value; - this._SpinFlow.UpdateValid(val < this.Maximum, val > this.Minimum); - }; - NumericUpDown.prototype.ParseValue = function (text) { - return parseFloat(text); - }; - NumericUpDown.prototype.FormatValue = function (val) { - return val.toFixed(this.DecimalPlaces); - }; - NumericUpDown.prototype.OnSpin = function () { - this._Formatter.ProcessUserInput(); - }; - NumericUpDown.prototype.OnIncrement = function () { - this._Coercer.AddToValue(this.Increment); - }; - NumericUpDown.prototype.OnDecrement = function () { - this._Coercer.AddToValue(-this.Increment); - }; - NumericUpDown.MinimumProperty = DependencyProperty.Register("Minimum", function () { return Number; }, NumericUpDown, 0.0, function (d, args) { return d._Coercer.OnMinimumChanged(args.OldValue, args.NewValue); }); - NumericUpDown.MaximumProperty = DependencyProperty.Register("Maximum", function () { return Number; }, NumericUpDown, 100.0, function (d, args) { return d._Coercer.OnMaximumChanged(args.OldValue, args.NewValue); }); - NumericUpDown.ValueProperty = DependencyProperty.Register("Value", function () { return Number; }, NumericUpDown, 0.0, function (d, args) { return d._Coercer.OnValueChanged(args.OldValue, args.NewValue); }); - NumericUpDown.IncrementProperty = DependencyProperty.Register("Increment", function () { return Number; }, NumericUpDown, 1.0, function (d, args) { return d.OnIncrementChanged(args.OldValue, args.NewValue); }); - NumericUpDown.DecimalPlacesProperty = DependencyProperty.Register("DecimalPlaces", function () { return Number; }, NumericUpDown, 0, function (d, args) { return d._Coercer.OnDecimalPlacesChanged(args.OldValue, args.NewValue); }); - NumericUpDown.SpinnerStyleProperty = DependencyProperty.Register("SpinnerStyle", function () { return Fayde.Style; }, NumericUpDown); - NumericUpDown.IsEditableProperty = DependencyProperty.Register("IsEditable", function () { return Boolean; }, NumericUpDown, true, function (d, args) { return d._Formatter.UpdateIsEditable(); }); - return NumericUpDown; - })(Controls.Control); - Controls.NumericUpDown = NumericUpDown; - Controls.TemplateVisualStates(NumericUpDown, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "MouseOver" }, { GroupName: "CommonStates", Name: "Pressed" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "FocusStates", Name: "Unfocused" }, { GroupName: "FocusStates", Name: "Focused" }, { GroupName: "ValidationStates", Name: "Valid" }, { GroupName: "ValidationStates", Name: "InvalidUnfocused" }, { GroupName: "ValidationStates", Name: "InvalidFocused" }); - Controls.TemplateParts(NumericUpDown, { Name: "Text", Type: Controls.TextBox }, { Name: "Spinner", Type: Controls.Spinner }); - function numberValidator(d, propd, value) { - if (typeof value !== "number") - return false; - if (isNaN(value)) - return false; - if (!isFinite(value)) - return false; - return true; - } - function decimalPlacesValidator(d, propd, value) { - if (!numberValidator(d, propd, value)) - return false; - return value >= 0 && value <= 15; - } - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Separator = (function (_super) { - __extends(Separator, _super); - function Separator() { - _super.call(this); - this.DefaultStyleKey = Separator; - } - return Separator; - })(Controls.Control); - Controls.Separator = Separator; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var SpinEventArgs = (function (_super) { - __extends(SpinEventArgs, _super); - function SpinEventArgs(direction) { - _super.call(this); - Object.defineProperty(this, "Direction", { value: direction, writable: false }); - } - return SpinEventArgs; - })(Fayde.RoutedEventArgs); - Controls.SpinEventArgs = SpinEventArgs; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var ElementTemplateTopName = "TemplateTop"; - var ElementTemplateBottomName = "TemplateBottom"; - var ElementTemplateLeftName = "TemplateLeft"; - var ElementTemplateRightName = "TemplateRight"; - var ElementTabPanelTopName = "TabPanelTop"; - var ElementTabPanelBottomName = "TabPanelBottom"; - var ElementTabPanelLeftName = "TabPanelLeft"; - var ElementTabPanelRightName = "TabPanelRight"; - var ElementContentTopName = "ContentTop"; - var ElementContentBottomName = "ContentBottom"; - var ElementContentLeftName = "ContentLeft"; - var ElementContentRightName = "ContentRight"; - var TabControl = (function (_super) { - __extends(TabControl, _super); - function TabControl() { - _super.call(this); - this.SelectionChanged = new Fayde.RoutedEvent(); - this._UpdateIndex = true; - this._DesiredIndex = 0; - this.DefaultStyleKey = TabControl; - } - TabControl.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - if (this._ElementTabPanelTop != null) - this._ElementTabPanelTop.Children.Clear(); - if (this._ElementTabPanelBottom != null) - this._ElementTabPanelBottom.Children.Clear(); - if (this._ElementTabPanelLeft != null) - this._ElementTabPanelLeft.Children.Clear(); - if (this._ElementTabPanelRight != null) - this._ElementTabPanelRight.Children.Clear(); - var contentHost = this._GetContentHost(this.TabStripPlacement); - if (contentHost != null) - contentHost.Content = null; - this._ElementTemplateTop = this.GetTemplateChild("TemplateTop", Fayde.FrameworkElement); - this._ElementTemplateBottom = this.GetTemplateChild("TemplateBottom", Fayde.FrameworkElement); - this._ElementTemplateLeft = this.GetTemplateChild("TemplateLeft", Fayde.FrameworkElement); - this._ElementTemplateRight = this.GetTemplateChild("TemplateRight", Fayde.FrameworkElement); - this._ElementTabPanelTop = this.GetTemplateChild("TabPanelTop", Controls.TabPanel); - this._ElementTabPanelBottom = this.GetTemplateChild("TabPanelBottom", Controls.TabPanel); - this._ElementTabPanelLeft = this.GetTemplateChild("TabPanelLeft", Controls.TabPanel); - this._ElementTabPanelRight = this.GetTemplateChild("TabPanelRight", Controls.TabPanel); - Controls.TabPanel.setTabAlignment(this._ElementTabPanelTop, Controls.Dock.Top); - Controls.TabPanel.setTabAlignment(this._ElementTabPanelBottom, Controls.Dock.Bottom); - Controls.TabPanel.setTabAlignment(this._ElementTabPanelLeft, Controls.Dock.Left); - Controls.TabPanel.setTabAlignment(this._ElementTabPanelRight, Controls.Dock.Right); - this._ElementContentTop = this.GetTemplateChild("ContentTop", Controls.ContentPresenter); - this._ElementContentBottom = this.GetTemplateChild("ContentBottom", Controls.ContentPresenter); - this._ElementContentLeft = this.GetTemplateChild("ContentLeft", Controls.ContentPresenter); - this._ElementContentRight = this.GetTemplateChild("ContentRight", Controls.ContentPresenter); - var enumerator = this.Items.getEnumerator(); - while (enumerator.moveNext()) { - var tabItem = enumerator.current; - if (!(tabItem instanceof Controls.TabItem)) - this._ThrowInvalidTabItem(tabItem); - this._AddToTabPanel(tabItem); - } - if (this.SelectedIndex >= 0) - this.UpdateSelectedContent(this.SelectedContent); - this.UpdateTabPanelLayout(this.TabStripPlacement, this.TabStripPlacement); - this.UpdateVisualState(false); - }; - TabControl.prototype.OnSelectedItemChanged = function (args) { - var oldItem = args.OldValue; - var newItem = args.NewValue; - var num = newItem == null ? -1 : this.Items.IndexOf(newItem); - if (newItem != null && num === -1) { - this.SelectedItem = oldItem; - } - else { - this.SelectedIndex = num; - this.SelectItem(oldItem, newItem); - } - }; - TabControl.prototype.OnSelectedIndexChanged = function (args) { - var index = args.NewValue; - var num = args.OldValue; - if (index < -1) - throw new ArgumentException("'" + index.toString() + "' is not a valid value for property 'SelectedIndex'"); - if (this._UpdateIndex) - this._DesiredIndex = index; - else if (!this._UpdateIndex) - this._UpdateIndex = true; - if (index >= this.Items.Count) { - this._UpdateIndex = false; - this.SelectedIndex = num; - } - else { - var item; - if (index >= 0 && index < this.Items.Count) - item = this.Items.GetValueAt(index); - if (this.SelectedItem === item) - return; - this.SelectedItem = item; - } - }; - TabControl.prototype.OnSelectedContentChanged = function (args) { - this.UpdateSelectedContent(args.NewValue); - }; - TabControl.prototype.OnTabStripPlacementPropertyChanged = function (args) { - this.UpdateTabPanelLayout(args.OldValue, args.NewValue); - var enumerator = this.Items.getEnumerator(); - var ti; - while (enumerator.moveNext()) { - ti = enumerator.current; - if (ti != null) - ti.UpdateVisualState(); - } - }; - TabControl.prototype.OnItemsChanged = function (e) { - _super.prototype.OnItemsChanged.call(this, e); - switch (e.Action) { - case Fayde.Collections.CollectionChangedAction.Add: - var index1 = -1; - var len = e.NewItems.length; - for (var i = 0; i < len; i++) { - var obj = e.NewItems[i]; - var tabItem = obj; - if (!(tabItem instanceof Controls.TabItem)) - this._ThrowInvalidTabItem(tabItem); - var index2 = this.Items.IndexOf(tabItem); - this._InsertIntoTabPanel(index2, tabItem); - if (tabItem.IsSelected) - index1 = index2; - else if (this.SelectedItem !== this._GetItemAtIndex(this.SelectedIndex)) - index1 = this.Items.IndexOf(this.SelectedItem); - else if (this._DesiredIndex < this.Items.Count && this._DesiredIndex >= 0) - index1 = this._DesiredIndex; - tabItem.UpdateVisualState(); - } - if (index1 === -1) { - var enumerator = this.Items.getEnumerator(); - while (enumerator.moveNext()) { - var tabItem = enumerator.current; - if (!(tabItem instanceof Controls.TabItem)) - this._ThrowInvalidTabItem(tabItem); - if (tabItem.IsSelected) - return; - } - if (this.Items.Count <= 1) { - var item0 = this.Items.GetValueAt(0); - var iss = item0.ReadLocalValue(Controls.TabItem.IsSelectedProperty); - if (iss !== false) - index1 = 0; - } - else { - index1 = 0; - } - } - this.SelectedItem = this._GetItemAtIndex(index1); - this.SelectedIndex = index1; - break; - case Fayde.Collections.CollectionChangedAction.Remove: - var len = e.OldItems.length; - var tabItem; - for (var i = 0; i < len; i++) { - tabItem = e.OldItems[i]; - this._RemoveFromTabPanel(tabItem); - if (this.Items.Count === 0) - this.SelectedIndex = -1; - else if (this.Items.Count <= this.SelectedIndex) - this.SelectedIndex = this.Items.Count - 1; - else - this.SelectedItem = this._GetItemAtIndex(this.SelectedIndex); - } - break; - case Fayde.Collections.CollectionChangedAction.Reset: - this._ClearTabPanel(); - this.SelectedIndex = -1; - var tabItem; - var enumerator = this.Items.getEnumerator(); - while (enumerator.moveNext()) { - tabItem = enumerator.current; - if (!(tabItem instanceof Controls.TabItem)) - this._ThrowInvalidTabItem(tabItem); - this._AddToTabPanel(tabItem); - if (tabItem.IsSelected) - this.SelectedItem = tabItem; - } - if (this.SelectedIndex !== -1 || this.Items.Count <= 0) - break; - this.SelectedIndex = 0; - break; - } - }; - TabControl.prototype.OnKeyDown = function (e) { - _super.prototype.OnKeyDown.call(this, e); - if (e.Handled) - return; - var nextTabItem; - switch (e.Key) { - case Fayde.Input.Key.End: - nextTabItem = this._FindEndTabItem(); - break; - case Fayde.Input.Key.Home: - nextTabItem = this._FindHomeTabItem(); - break; - default: - return; - } - if (nextTabItem == null || nextTabItem === this.SelectedItem) - return; - e.Handled = true; - this.SelectedItem = nextTabItem; - nextTabItem.Focus(); - }; - TabControl.prototype._FindEndTabItem = function () { - var items = this.Items; - var len = items.Count; - var tabItem = null; - for (var i = len - 1; i >= 0; i--) { - tabItem = items.GetValueAt(i); - if (tabItem.IsEnabled && tabItem.Visibility === Fayde.Visibility.Visible) - return tabItem; - } - return null; - }; - TabControl.prototype._FindHomeTabItem = function () { - var items = this.Items; - var len = items.Count; - var tabItem = null; - for (var i = 0; i < len; i++) { - tabItem = items.GetValueAt(i); - if (tabItem.IsEnabled && tabItem.Visibility === Fayde.Visibility.Visible) - return tabItem; - } - return null; - }; - TabControl.prototype.SelectItem = function (oldItem, newItem) { - if (newItem == null) { - var contentHost = this._GetContentHost(this.TabStripPlacement); - if (contentHost != null) - contentHost.Content = null; - this.SetValue(TabControl.SelectedContentProperty, null); - } - var tabItem; - var enumerator = this.Items.getEnumerator(); - while (enumerator.moveNext()) { - var tabItem = enumerator.current; - if (!(tabItem instanceof Controls.TabItem)) - this._ThrowInvalidTabItem(tabItem); - if (tabItem !== newItem && tabItem.IsSelected) { - tabItem.IsSelected = false; - } - else if (tabItem === newItem) { - tabItem.IsSelected = true; - this.SetValue(TabControl.SelectedContentProperty, tabItem.Content); - } - } - var oldItems = []; - if (oldItem != null) - oldItems.push(oldItem); - var newItems = []; - if (newItem != null) - newItems.push(newItem); - var e = new Controls.Primitives.SelectionChangedEventArgs(oldItems, newItems); - this.OnSelectionChanged(e); - this.SelectionChanged.raise(this, e); - }; - TabControl.prototype.OnSelectionChanged = function (e) { - }; - TabControl.prototype.UpdateTabPanelLayout = function (oldValue, newValue) { - var template1 = this._GetTemplate(oldValue); - var template2 = this._GetTemplate(newValue); - var tabPanel1 = this._GetTabPanel(oldValue); - var tabPanel2 = this._GetTabPanel(newValue); - var contentHost1 = this._GetContentHost(oldValue); - var contentHost2 = this._GetContentHost(newValue); - if (oldValue !== newValue) { - if (template1 != null) - template1.Visibility = Fayde.Visibility.Collapsed; - if (tabPanel1 != null) - tabPanel1.Children.Clear(); - if (tabPanel2 != null) { - var enumerator = this.Items.getEnumerator(); - var ti; - while (enumerator.moveNext()) { - ti = enumerator.current; - if (!(ti instanceof Controls.TabItem)) - this._ThrowInvalidTabItem(ti); - this._AddToTabPanel(ti); - } - } - if (contentHost1 != null) - contentHost1.Content = null; - if (contentHost2 != null) - contentHost2.Content = this.SelectedContent; - } - if (template2 == null) - return; - template2.Visibility = Fayde.Visibility.Visible; - }; - TabControl.prototype.UpdateSelectedContent = function (content) { - var tabItem = this.SelectedItem; - if (!(tabItem instanceof Controls.TabItem)) - return; - var contentHost = this._GetContentHost(this.TabStripPlacement); - if (contentHost == null) - return; - contentHost.HorizontalAlignment = tabItem.HorizontalContentAlignment; - contentHost.VerticalAlignment = tabItem.VerticalContentAlignment; - contentHost.ContentTemplate = tabItem.ContentTemplate; - contentHost.Content = content; - }; - TabControl.prototype.EnsureLanguageBinding = function (tabItem) { - if (tabItem == null) - return; - var frameworkElement = tabItem.Content; - if (!(frameworkElement instanceof Fayde.FrameworkElement) || frameworkElement.ReadLocalValue(Fayde.FrameworkElement.LanguageProperty) !== DependencyProperty.UnsetValue) - return; - var binding = new Fayde.Data.Binding("Language"); - binding.Source = this; - frameworkElement.SetBinding(Fayde.FrameworkElement.LanguageProperty, binding); - }; - TabControl.prototype.ClearLanguageBinding = function (tabItem) { - if (tabItem == null) - return; - var frameworkElement = tabItem.Content; - if (!(frameworkElement instanceof Fayde.FrameworkElement) || frameworkElement.ReadLocalValue(Fayde.FrameworkElement.LanguageProperty) !== DependencyProperty.UnsetValue) - return; - frameworkElement.ClearValue(Fayde.FrameworkElement.LanguageProperty); - }; - TabControl.prototype._AddToTabPanel = function (ti) { - var tabPanel = this._GetTabPanel(this.TabStripPlacement); - if (!tabPanel || tabPanel.Children.Contains(ti)) - return; - tabPanel.Children.Add(ti); - this.EnsureLanguageBinding(ti); - }; - TabControl.prototype._InsertIntoTabPanel = function (index, ti) { - var tabPanel = this._GetTabPanel(this.TabStripPlacement); - if (!tabPanel || tabPanel.Children.Contains(ti)) - return; - tabPanel.Children.Insert(index, ti); - }; - TabControl.prototype._RemoveFromTabPanel = function (ti) { - var tabPanel = this._GetTabPanel(this.TabStripPlacement); - if (!tabPanel || !tabPanel.Children.Contains(ti)) - return; - tabPanel.Children.Remove(ti); - }; - TabControl.prototype._ClearTabPanel = function () { - var tabPanel = this._GetTabPanel(this.TabStripPlacement); - if (!tabPanel) - return; - var enumerator = tabPanel.Children.getEnumerator(); - while (enumerator.moveNext()) { - var tabItem = enumerator.current; - if (tabItem != null) - this.ClearLanguageBinding(tabItem); - } - tabPanel.Children.Clear(); - }; - TabControl.prototype._GetTabPanel = function (tabPlacement) { - switch (tabPlacement) { - case Controls.Dock.Left: - return this._ElementTabPanelLeft; - case Controls.Dock.Top: - return this._ElementTabPanelTop; - case Controls.Dock.Right: - return this._ElementTabPanelRight; - case Controls.Dock.Bottom: - return this._ElementTabPanelBottom; - default: - return null; - } - }; - TabControl.prototype._GetTemplate = function (tabPlacement) { - switch (tabPlacement) { - case Controls.Dock.Left: - return this._ElementTemplateLeft; - case Controls.Dock.Top: - return this._ElementTemplateTop; - case Controls.Dock.Right: - return this._ElementTemplateRight; - case Controls.Dock.Bottom: - return this._ElementTemplateBottom; - default: - return null; - } - }; - TabControl.prototype._GetContentHost = function (tabPlacement) { - switch (tabPlacement) { - case Controls.Dock.Left: - return this._ElementContentLeft; - case Controls.Dock.Top: - return this._ElementContentTop; - case Controls.Dock.Right: - return this._ElementContentRight; - case Controls.Dock.Bottom: - return this._ElementContentBottom; - default: - return null; - } - }; - TabControl.prototype._GetItemAtIndex = function (index) { - if (index < 0 || index >= this.Items.Count) - return null; - var item = this.Items.GetValueAt(index); - if (item instanceof Controls.TabItem) - return item; - }; - TabControl.prototype._ThrowInvalidTabItem = function (obj) { - var type = "object"; - try { - type = obj.constructor._TypeName; - } - catch (err) { - } - throw new ArgumentException("Unable to cast object of type '" + type + "' to type 'System.Windows.Controls.TabItem'."); - }; - TabControl.SelectedItemProperty = DependencyProperty.Register("SelectedItem", function () { return Object; }, TabControl, null, function (d, args) { return d.OnSelectedItemChanged(args); }); - TabControl.SelectedIndexProperty = DependencyProperty.Register("SelectedIndex", function () { return Number; }, TabControl, -1, function (d, args) { return d.OnSelectedIndexChanged(args); }); - TabControl.SelectedContentProperty = DependencyProperty.Register("SelectedContent", function () { return Object; }, TabControl, null, function (d, args) { return d.OnSelectedContentChanged(args); }); - TabControl.TabStripPlacementProperty = DependencyProperty.Register("TabStripPlacement", function () { return new Fayde.Enum(Controls.Dock); }, TabControl, Controls.Dock.Top, function (d, args) { return d.OnTabStripPlacementPropertyChanged(args); }); - return TabControl; - })(Controls.ItemsControl); - Controls.TabControl = TabControl; - Controls.TemplateVisualStates(TabControl, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "Disabled" }); - Controls.TemplateParts(TabControl, { Name: "TemplateLeft", Type: Fayde.FrameworkElement }, { Name: "ContentLeft", Type: Controls.ContentPresenter }, { Name: "TabPanelLeft", Type: Controls.TabPanel }, { Name: "TemplateTop", Type: Fayde.FrameworkElement }, { Name: "ContentTop", Type: Controls.ContentPresenter }, { Name: "TabPanelTop", Type: Controls.TabPanel }, { Name: "TemplateRight", Type: Fayde.FrameworkElement }, { Name: "ContentRight", Type: Controls.ContentPresenter }, { Name: "TabPanelRight", Type: Controls.TabPanel }, { Name: "TemplateBottom", Type: Fayde.FrameworkElement }, { Name: "ContentBottom", Type: Controls.ContentPresenter }, { Name: "TabPanelBottom", Type: Controls.TabPanel }); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var TabItem = (function (_super) { - __extends(TabItem, _super); - function TabItem() { - _super.call(this); - this._SelectedElements = new Elements(); - this._UnselectedElements = new Elements(); - this._PreviousTemplate = null; - this._PreviousHeader = null; - this.DefaultStyleKey = TabItem; - } - Object.defineProperty(TabItem.prototype, "TabStripPlacement", { - get: function () { - var tabControlParent = this.TabControlParent; - if (tabControlParent != null) - return tabControlParent.TabStripPlacement; - return Controls.Dock.Top; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TabItem.prototype, "TabControlParent", { - get: function () { - return Fayde.VisualTreeHelper.GetParentOfType(this, Controls.TabControl); - }, - enumerable: true, - configurable: true - }); - TabItem.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - var contentControl = this._GetContentControl(this.IsSelected, this.TabStripPlacement); - if (contentControl != null) - contentControl.Content = null; - this._SelectedElements.OnApplyTemplate(this, true); - this._UnselectedElements.OnApplyTemplate(this, false); - this._UpdateHeaderVisuals(); - this.UpdateVisualState(false); - }; - TabItem.prototype._OnHeaderChanged = function (args) { - this.HasHeader = args.NewValue != null; - this.OnHeaderChanged(args.OldValue, args.NewValue); - }; - TabItem.prototype.OnHeaderChanged = function (oldValue, newValue) { - this._UpdateHeaderVisuals(); - }; - TabItem.prototype.OnHeaderTemplateChanged = function (oldHeaderTemplate, newHeaderTemplate) { - this._UpdateHeaderVisuals(); - }; - TabItem.prototype._OnIsSelectedChanged = function (args) { - var isSelected = args.NewValue; - var e1 = new Fayde.RoutedEventArgs(); - if (isSelected) - this.OnSelected(e1); - else - this.OnUnselected(e1); - this.IsTabStop = isSelected; - this.UpdateVisualState(); - }; - TabItem.prototype.OnSelected = function (e) { - var parent = this.TabControlParent; - if (!parent) - return; - parent.SelectedItem = this; - }; - TabItem.prototype.OnUnselected = function (e) { - var parent = this.TabControlParent; - if (!parent || parent.SelectedItem != this) - return; - parent.SelectedIndex = -1; - }; - TabItem.prototype.UpdateVisualState = function (useTransitions) { - var template = this.GetTemplate(this.IsSelected, this.TabStripPlacement); - if (this._PreviousTemplate != null && this._PreviousTemplate !== template) - this._PreviousTemplate.Visibility = Fayde.Visibility.Collapsed; - this._PreviousTemplate = template; - if (template != null) - template.Visibility = Fayde.Visibility.Visible; - var contentControl = this._GetContentControl(this.IsSelected, this.TabStripPlacement); - if (this._PreviousHeader && this._PreviousHeader !== contentControl) - this._PreviousHeader.Content = null; - this._PreviousHeader = contentControl; - this._UpdateHeaderVisuals(); - _super.prototype.UpdateVisualState.call(this, useTransitions); - }; - TabItem.prototype._UpdateHeaderVisuals = function () { - var contentControl = this._GetContentControl(this.IsSelected, this.TabStripPlacement); - if (!contentControl) - return; - contentControl.Content = this.Header; - contentControl.ContentTemplate = this.HeaderTemplate; - }; - TabItem.prototype.OnMouseLeave = function (e) { - this.UpdateVisualState(); - }; - TabItem.prototype.OnMouseEnter = function (e) { - this.UpdateVisualState(); - }; - TabItem.prototype.OnMouseLeftButtonDown = function (e) { - if (!this.IsEnabled || !this.TabControlParent || (this.IsSelected || e.Handled)) - return; - this.IsTabStop = true; - e.Handled = this.Focus(); - this.TabControlParent.SelectedIndex = this.TabControlParent.Items.IndexOf(this); - }; - TabItem.prototype.OnGotFocus = function (e) { - _super.prototype.OnGotFocus.call(this, e); - this.SetValueInternal(TabItem.IsFocusedProperty, true); - this.UpdateVisualState(); - }; - TabItem.prototype.OnLostFocus = function (e) { - _super.prototype.OnLostFocus.call(this, e); - this.SetValueInternal(TabItem.IsFocusedProperty, false); - this.UpdateVisualState(); - }; - TabItem.prototype.OnContentChanged = function (oldContent, newContent) { - _super.prototype.OnContentChanged.call(this, oldContent, newContent); - var parent = this.TabControlParent; - if (!parent || !this.IsSelected) - return; - parent.SelectedContent = newContent; - }; - TabItem.prototype.OnKeyDown = function (e) { - _super.prototype.OnKeyDown.call(this, e); - if (e.Handled) - return; - var parent = this.TabControlParent; - var logicalKey = Fayde.Input.InteractionHelper.GetLogicalKey(this.FlowDirection, e.Key); - var startIndex = parent.Items.IndexOf(this); - var nextTabItem = null; - switch (logicalKey) { - case Fayde.Input.Key.Left: - case Fayde.Input.Key.Up: - nextTabItem = this._FindPreviousTabItem(startIndex); - break; - case Fayde.Input.Key.Right: - case Fayde.Input.Key.Down: - nextTabItem = this._FindNextTabItem(startIndex); - break; - default: - return; - } - if (!nextTabItem || nextTabItem === parent.SelectedItem) - return; - e.Handled = true; - parent.SelectedItem = nextTabItem; - nextTabItem.Focus(); - }; - TabItem.prototype.GetTemplate = function (isSelected, tabPlacement) { - var e = isSelected ? this._SelectedElements : this._UnselectedElements; - return e[Controls.Dock[tabPlacement]].Template; - }; - TabItem.prototype._GetContentControl = function (isSelected, tabPlacement) { - var e = isSelected ? this._SelectedElements : this._UnselectedElements; - return e[Controls.Dock[tabPlacement]].Header; - }; - TabItem.prototype._FindPreviousTabItem = function (startIndex) { - for (var i = startIndex, items = this.TabControlParent.Items; i >= 0; i--) { - var tabItem = items.GetValueAt(i); - if (tabItem.IsEnabled && tabItem.Visibility === Fayde.Visibility.Visible) - return tabItem; - } - return null; - }; - TabItem.prototype._FindNextTabItem = function (startIndex) { - for (var i = startIndex, items = this.TabControlParent.Items, len = items.Count; i < len; i++) { - var tabItem = items.GetValueAt(i); - if (tabItem.IsEnabled && tabItem.Visibility === Fayde.Visibility.Visible) - return tabItem; - } - return null; - }; - TabItem.HasHeaderProperty = DependencyProperty.Register("HasHeader", function () { return Boolean; }, TabItem, false); - TabItem.HeaderProperty = DependencyProperty.Register("Header", function () { return Object; }, TabItem, null, function (d, args) { return d._OnHeaderChanged(args); }); - TabItem.HeaderTemplateProperty = DependencyProperty.Register("HeaderTemplate", function () { return Fayde.DataTemplate; }, TabItem, undefined, function (d, args) { return d.OnHeaderTemplateChanged(args.OldValue, args.NewValue); }); - TabItem.IsFocusedProperty = DependencyProperty.Register("IsFocused", function () { return Boolean; }, TabItem, false); - TabItem.IsSelectedProperty = DependencyProperty.Register("IsSelected", function () { return Boolean; }, TabItem, false, function (d, args) { return d._OnIsSelectedChanged(args); }); - return TabItem; - })(Controls.ContentControl); - Controls.TabItem = TabItem; - Controls.TemplateVisualStates(TabItem, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "MouseOver" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "FocusStates", Name: "Unfocused" }, { GroupName: "FocusStates", Name: "Focused" }, { GroupName: "SelectionStates", Name: "Unselected" }, { GroupName: "SelectionStates", Name: "Selected" }); - Controls.TemplateParts(TabItem, { Name: "HeaderLeftSelected", Type: Fayde.FrameworkElement }, { Name: "HeaderTopSelected", Type: Fayde.FrameworkElement }, { Name: "HeaderRightSelected", Type: Fayde.FrameworkElement }, { Name: "HeaderBottomSelected", Type: Fayde.FrameworkElement }, { Name: "TemplateLeftSelected", Type: Fayde.FrameworkElement }, { Name: "TemplateTopSelected", Type: Fayde.FrameworkElement }, { Name: "TemplateRightSelected", Type: Fayde.FrameworkElement }, { Name: "TemplateBottomSelected", Type: Fayde.FrameworkElement }, { Name: "HeaderLeftUnselected", Type: Fayde.FrameworkElement }, { Name: "HeaderTopUnselected", Type: Fayde.FrameworkElement }, { Name: "HeaderRightUnselected", Type: Fayde.FrameworkElement }, { Name: "HeaderBottomUnselected", Type: Fayde.FrameworkElement }, { Name: "TemplateLeftUnselected", Type: Fayde.FrameworkElement }, { Name: "TemplateTopUnselected", Type: Fayde.FrameworkElement }, { Name: "TemplateRightUnselected", Type: Fayde.FrameworkElement }, { Name: "TemplateBottomUnselected", Type: Fayde.FrameworkElement }); - var Elements = (function () { - function Elements() { - this.Top = new Element(); - this.Bottom = new Element(); - this.Left = new Element(); - this.Right = new Element(); - } - Elements.prototype.OnApplyTemplate = function (control, isSelected) { - this.Top.OnApplyTemplate(control, isSelected, "Top"); - this.Bottom.OnApplyTemplate(control, isSelected, "Bottom"); - this.Left.OnApplyTemplate(control, isSelected, "Left"); - this.Right.OnApplyTemplate(control, isSelected, "Right"); - }; - return Elements; - })(); - var Element = (function () { - function Element() { - this.Header = null; - this.Template = null; - } - Element.prototype.OnApplyTemplate = function (control, isSelected, dock) { - var post = dock + (isSelected ? "Selected" : "Unselected"); - this.Header = control.GetTemplateChild("Header" + post, Controls.ContentControl); - this.Template = control.GetTemplateChild("Template" + post, Fayde.FrameworkElement); - }; - return Element; - })(); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var TimePicker = (function (_super) { - __extends(TimePicker, _super); - function TimePicker() { - _super.call(this); - this._HourTextBox = null; - this._MinuteTextBox = null; - this._SecondTextBox = null; - this._SecondSeparator = null; - this._SuffixTextBlock = null; - this._HourGesture = new Controls.Internal.EventGesture(); - this._MinuteGesture = new Controls.Internal.EventGesture(); - this._SecondGesture = new Controls.Internal.EventGesture(); - this._SuffixGesture = new Controls.Internal.EventGesture(); - this._SelectionHandler = null; - this.DefaultStyleKey = TimePicker; - this.CoerceTime(); - } - TimePicker.prototype.OnSelectedHourChanged = function (args) { - this.CoerceHour(args.NewValue); - this.CoerceTime(); - }; - TimePicker.prototype.OnSelectedMinuteChanged = function (args) { - this.CoerceMinute(args.NewValue); - this.CoerceTime(); - }; - TimePicker.prototype.OnSelectedSecondChanged = function (args) { - this.CoerceSecond(args.NewValue); - this.CoerceTime(); - }; - TimePicker.prototype.OnSelectedTimeChanged = function (args) { - var ts = args.NewValue; - if (ts instanceof TimeSpan) { - this.CoerceHour(ts.Hours); - this.CoerceMinute(ts.Minutes); - this.CoerceSecond(ts.Seconds); - } - else { - this.CoerceHour(NaN); - this.CoerceMinute(NaN); - this.CoerceSecond(NaN); - } - }; - TimePicker.prototype.OnDisplayModeChanged = function (args) { - this._UpdateText(); - }; - TimePicker.prototype.OnApplyTemplate = function () { - var _this = this; - _super.prototype.OnApplyTemplate.call(this); - this._HourGesture.Detach(); - this._HourTextBox = this.GetTemplateChild("HourTextBox", Controls.TextBox); - if (this._HourTextBox) - this._HourGesture.Attach(this._HourTextBox.LostFocus, function (tb) { return _this.CoerceHour(_this._GetHourInput()); }); - this._MinuteGesture.Detach(); - this._MinuteTextBox = this.GetTemplateChild("MinuteTextBox", Controls.TextBox); - if (this._MinuteTextBox) - this._MinuteGesture.Attach(this._MinuteTextBox.LostFocus, function (tb) { return _this.CoerceMinute(tb.Text); }); - this._SecondGesture.Detach(); - this._SecondTextBox = this.GetTemplateChild("SecondTextBox", Controls.TextBox); - if (this._SecondTextBox) - this._SecondGesture.Attach(this._SecondTextBox.LostFocus, function (tb) { return _this.CoerceSecond(tb.Text); }); - this._SecondSeparator = this.GetTemplateChild("SecondSeparator", Fayde.FrameworkElement); - this._SuffixGesture.Detach(); - this._SuffixTextBlock = this.GetTemplateChild("SuffixTextBlock", Controls.TextBlock); - if (this._SuffixTextBlock) - this._SuffixGesture.Attach(this._SuffixTextBlock.MouseLeftButtonUp, function (tb) { return _this.ToggleAmPm(); }); - if (this._SelectionHandler) - this._SelectionHandler.Dispose(); - this._SelectionHandler = new Controls.Internal.SelectionHandler([this._HourTextBox, this._MinuteTextBox, this._SecondTextBox]); - this._UpdateText(); - }; - TimePicker.prototype._GetHourInput = function () { - var text = this._HourTextBox.Text; - if (this.DisplayMode === Controls.TimeDisplayMode.Military) - return text; - var h = parseFloat(text); - var isa = !!this._SuffixTextBlock && this._SuffixTextBlock.Text === "AM"; - if (isa && h === 12) - return "00"; - if (!isa && h < 12) - return (h + 12).toString(); - return text; - }; - TimePicker.prototype.CoerceHour = function (hour) { - hour = Math.max(0, Math.min(23, hour)); - hour = hour || 0; - this.SetCurrentValue(TimePicker.SelectedHourProperty, hour); - this._UpdateText(); - }; - TimePicker.prototype.CoerceMinute = function (minute) { - minute = Math.max(0, Math.min(59, minute)); - minute = minute || 0; - this.SetCurrentValue(TimePicker.SelectedMinuteProperty, minute); - this._UpdateText(); - }; - TimePicker.prototype.CoerceSecond = function (second) { - second = Math.max(0, Math.min(59, second)); - second = second || 0; - this.SetCurrentValue(TimePicker.SelectedSecondProperty, second); - this._UpdateText(); - }; - TimePicker.prototype.CoerceTime = function () { - var ts = new TimeSpan(this.SelectedHour, this.SelectedMinute, this.SelectedSecond); - var old = this.SelectedTime; - if (!!old && ts.CompareTo(old) === 0) - return; - this.SetCurrentValue(TimePicker.SelectedTimeProperty, ts); - }; - TimePicker.prototype.ToggleAmPm = function () { - var hour = this.SelectedHour; - if (hour >= 12) - hour -= 12; - else - hour += 12; - this.CoerceHour(hour); - }; - TimePicker.prototype._UpdateText = function () { - var isMilitary = this.DisplayMode === Controls.TimeDisplayMode.Military; - var h = this.SelectedHour; - var m = this.SelectedMinute; - var s = this.SelectedSecond; - var isSecondShown = this.IsSecondsShown; - var hd = h; - if (!isMilitary) { - hd = hd >= 12 ? (hd - 12) : hd; - hd = hd === 0 ? 12 : hd; - } - if (this._HourTextBox) - this._HourTextBox.Text = formatNumber(hd, 2, "00"); - if (this._MinuteTextBox) - this._MinuteTextBox.Text = formatNumber(m, 2, "00"); - if (this._SecondTextBox) { - this._SecondTextBox.Text = formatNumber(s, 2, "00"); - this._SecondTextBox.Visibility = isSecondShown ? Fayde.Visibility.Visible : Fayde.Visibility.Collapsed; - } - if (this._SecondSeparator) - this._SecondSeparator.Visibility = isSecondShown ? Fayde.Visibility.Visible : Fayde.Visibility.Collapsed; - if (this._SuffixTextBlock) { - this._SuffixTextBlock.Visibility = isMilitary ? Fayde.Visibility.Collapsed : Fayde.Visibility.Visible; - this._SuffixTextBlock.Text = h >= 12 ? "PM" : "AM"; - } - }; - TimePicker.SelectedHourProperty = DependencyProperty.Register("SelectedHour", function () { return Number; }, TimePicker, 0, function (d, args) { return d.OnSelectedHourChanged(args); }); - TimePicker.SelectedMinuteProperty = DependencyProperty.Register("SelectedMinute", function () { return Number; }, TimePicker, 0, function (d, args) { return d.OnSelectedMinuteChanged(args); }); - TimePicker.SelectedSecondProperty = DependencyProperty.Register("SelectedSecond", function () { return Number; }, TimePicker, 0, function (d, args) { return d.OnSelectedSecondChanged(args); }); - TimePicker.SelectedTimeProperty = DependencyProperty.Register("SelectedTime", function () { return TimeSpan; }, TimePicker, undefined, function (d, args) { return d.OnSelectedTimeChanged(args); }); - TimePicker.IsSecondsShownProperty = DependencyProperty.Register("IsSecondsShown", function () { return Boolean; }, TimePicker, true, function (d, args) { return d._UpdateText(); }); - TimePicker.DisplayModeProperty = DependencyProperty.Register("DisplayMode", function () { return new Fayde.Enum(Controls.TimeDisplayMode); }, TimePicker, Controls.TimeDisplayMode.Regular, function (d, args) { return d.OnDisplayModeChanged(args); }); - return TimePicker; - })(Controls.Control); - Controls.TimePicker = TimePicker; - Controls.TemplateParts(TimePicker, { Name: "HourTextBox", Type: Controls.TextBox }, { Name: "MinuteTextBox", Type: Controls.TextBox }, { Name: "SecondTextBox", Type: Controls.TextBox }, { Name: "SecondSeparator", Type: Fayde.FrameworkElement }, { Name: "SuffixTextBlock", Type: Controls.TextBlock }); - Controls.TemplateVisualStates(TimePicker, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "ValidationStates", Name: "Valid" }, { GroupName: "ValidationStates", Name: "InvalidFocused" }, { GroupName: "ValidationStates", Name: "InvalidUnfocused" }); - function formatNumber(n, digits, fallback) { - if (isNaN(n)) - return fallback; - return Fayde.Localization.Format("{0:d" + digits + "}", n); - } - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var ScrollEx = Controls.Internal.ScrollEx; - var TreeView = (function (_super) { - __extends(TreeView, _super); - function TreeView() { - _super.call(this); - this.SelectedItemChanged = new Fayde.RoutedPropertyChangedEvent(); - this.DefaultStyleKey = TreeView; - this.ItemsControlHelper = new Controls.Internal.ItemsControlHelper(this); - } - TreeView.prototype.OnSelectedItemChanged = function (e) { - if (this._IgnorePropertyChange) - this._IgnorePropertyChange = false; - else if (!this._AllowWrite) { - this._IgnorePropertyChange = true; - this.SetValue(TreeView.SelectedItemProperty, e.OldValue); - throw new InvalidOperationException("Cannot set read-only property SelectedItem."); - } - else - this.UpdateSelectedValue(e.NewValue); - }; - TreeView.prototype.OnSelectedValueChanged = function (e) { - if (this._IgnorePropertyChange) { - this._IgnorePropertyChange = false; - } - else { - if (this._AllowWrite) - return; - this._IgnorePropertyChange = true; - this.SetValue(TreeView.SelectedValueProperty, e.OldValue); - throw new InvalidOperationException("Cannot set read-only property SelectedValue."); - } - }; - TreeView.prototype.OnSelectedValuePathChanged = function (e) { - this.UpdateSelectedValue(this.SelectedItem); - }; - TreeView.prototype.OnItemContainerStyleChanged = function (e) { - this.ItemsControlHelper.UpdateItemContainerStyle(e.NewValue); - }; - TreeView.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - this.ItemsControlHelper.OnApplyTemplate(); - this.UpdateVisualState(false); - }; - TreeView.prototype.GetContainerForItem = function () { - return new Controls.TreeViewItem(); - }; - TreeView.prototype.IsItemItsOwnContainer = function (item) { - return item instanceof Controls.TreeViewItem; - }; - TreeView.prototype.PrepareContainerForItem = function (element, item) { - var treeViewItem = element; - if (treeViewItem instanceof Controls.TreeViewItem) - treeViewItem.ParentItemsControl = this; - Controls.Internal.ItemsControlHelper.PrepareContainerForItemOverride(element, this.ItemContainerStyle); - Controls.HeaderedItemsControl.PrepareHeaderedItemsControlContainer(treeViewItem, item, this, this.ItemContainerStyle); - _super.prototype.PrepareContainerForItem.call(this, element, item); - }; - TreeView.prototype.ClearContainerForItem = function (element, item) { - var treeViewItem = element; - if (treeViewItem instanceof Controls.TreeViewItem) - treeViewItem.ParentItemsControl = null; - _super.prototype.ClearContainerForItem.call(this, element, item); - }; - TreeView.prototype.OnItemsChanged = function (e) { - if (!e) - throw new ArgumentException("e"); - _super.prototype.OnItemsChanged.call(this, e); - if (e.NewItems != null) { - for (var i = 0, items = e.NewItems, len = items.length; i < len; i++) { - items[i].ParentItemsControl = this; - } - } - switch (e.Action) { - case Fayde.Collections.CollectionChangedAction.Remove: - case Fayde.Collections.CollectionChangedAction.Reset: - if (this.SelectedItem != null && !this.IsSelectedContainerHookedUp) - this.SelectFirstItem(); - break; - case Fayde.Collections.CollectionChangedAction.Replace: - var selectedItem = this.SelectedItem; - if (selectedItem != null && (e.OldItems == null || nullstone.equals(selectedItem, e.OldItems[0]))) - this.ChangeSelection(selectedItem, this.SelectedContainer, false); - break; - } - if (!e.OldItems) - return; - for (var i = 0, items = e.OldItems, len = items.length; i < len; i++) { - items[i].ParentItemsControl = null; - } - }; - TreeView.prototype.CheckForSelectedDescendents = function (item) { - var stack = []; - stack.push(item); - while (stack.length > 0) { - var container = stack.pop(); - if (container.IsSelected) { - container.IgnorePropertyChange = true; - container.IsSelected = false; - this.ChangeSelection(container, container, true); - if (this.SelectedContainer.ParentItemsControl == null) - this.SelectedContainer.RequiresContainsSelectionUpdate = true; - } - var enumerator = container.Items.getEnumerator(); - while (enumerator.moveNext()) - stack.push(enumerator.current); - } - }; - TreeView.prototype.PropagateKeyDown = function (e) { - this.OnKeyDown(e); - }; - TreeView.prototype.OnKeyDown = function (e) { - _super.prototype.OnKeyDown.call(this, e); - if (e.Handled || !this.IsEnabled) - return; - if (Fayde.Input.Keyboard.HasControl()) { - switch (e.Key) { - case Fayde.Input.Key.PageUp: - case Fayde.Input.Key.PageDown: - case Fayde.Input.Key.End: - case Fayde.Input.Key.Home: - case Fayde.Input.Key.Left: - case Fayde.Input.Key.Up: - case Fayde.Input.Key.Right: - case Fayde.Input.Key.Down: - if (ScrollEx.HandleKey(this.ItemsControlHelper.ScrollHost, e.Key, this.FlowDirection)) - e.Handled = true; - break; - } - } - else { - switch (e.Key) { - case Fayde.Input.Key.PageUp: - case Fayde.Input.Key.PageDown: - if (this.SelectedContainer != null) { - if (!this.HandleScrollByPage(e.Key === Fayde.Input.Key.PageUp)) - break; - e.Handled = true; - break; - } - else { - if (!this.FocusFirstItem()) - break; - e.Handled = true; - break; - } - case Fayde.Input.Key.End: - if (!this.FocusLastItem()) - break; - e.Handled = true; - break; - case Fayde.Input.Key.Home: - if (!this.FocusFirstItem()) - break; - e.Handled = true; - break; - case Fayde.Input.Key.Up: - case Fayde.Input.Key.Down: - if (this.SelectedContainer != null || !this.FocusFirstItem()) - break; - e.Handled = true; - break; - } - } - }; - TreeView.prototype.HandleScrollByPage = function (up) { - var scrollHost = this.ItemsControlHelper.ScrollHost; - if (scrollHost != null) { - var viewportHeight = scrollHost.ViewportHeight; - var top = { Value: 0 }; - var bottom = { Value: 0 }; - ScrollEx.GetTopAndBottom(this.SelectedContainer.HeaderElement || this.SelectedContainer, scrollHost, top, bottom); - var tvi1 = null; - var tvi2 = this.SelectedContainer; - var itemsControl = this.SelectedContainer.ParentItemsControl; - if (itemsControl != null) { - if (up) { - for (var parentItemsControl; itemsControl !== this; itemsControl = parentItemsControl) { - var tvi3 = itemsControl; - if (tvi3 != null) { - parentItemsControl = tvi3.ParentItemsControl; - if (!parentItemsControl) - break; - tvi2 = tvi3; - } - break; - } - } - var index = itemsControl.ItemContainersManager.IndexFromContainer(tvi2); - var count = itemsControl.Items.Count; - while (itemsControl != null && tvi2 != null) { - if (tvi2.IsEnabled) { - var currentDelta = { Value: 0 }; - if (tvi2.HandleScrollByPage(up, scrollHost, viewportHeight, top.Value, bottom.Value, currentDelta)) - return true; - if (NumberEx.IsGreaterThanClose(currentDelta.Value, viewportHeight)) { - if (tvi1 === this.SelectedContainer || tvi1 == null) { - if (!up) - return this.SelectedContainer.HandleDownKey(); - return this.SelectedContainer.HandleUpKey(); - } - break; - } - else - tvi1 = tvi2; - } - index += up ? -1 : 1; - if (0 <= index && index < count) { - tvi2 = itemsControl.ItemContainersManager.ContainerFromIndex(index); - if (!(tvi2 instanceof Controls.TreeViewItem)) - tvi2 = null; - } - else if (itemsControl === this) { - tvi2 = null; - } - else { - while (itemsControl != null) { - var tvi3 = itemsControl instanceof Controls.TreeViewItem ? itemsControl : null; - itemsControl = tvi3.ParentItemsControl; - if (itemsControl != null) { - count = itemsControl.Items.Count; - index = itemsControl.ItemContainersManager.IndexFromContainer(tvi3) + (up ? -1 : 1); - if (index > -1 && index < count) { - tvi2 = itemsControl.ItemContainersManager.ContainerFromIndex(index); - if (!(tvi2 instanceof Controls.TreeViewItem)) - tvi2 = null; - break; - } - else if (itemsControl == this) { - tvi2 = null; - itemsControl = null; - } - } - } - } - } - } - if (tvi1 != null) { - if (up) { - if (tvi1 !== this.SelectedContainer) - return tvi1.Focus(); - } - else - tvi1.FocusInto(); - } - } - return false; - }; - TreeView.prototype.OnMouseEnter = function (e) { - _super.prototype.OnMouseEnter.call(this, e); - this.UpdateVisualState(); - }; - TreeView.prototype.OnMouseLeave = function (e) { - _super.prototype.OnMouseLeave.call(this, e); - this.UpdateVisualState(); - }; - TreeView.prototype.OnMouseMove = function (e) { - _super.prototype.OnMouseMove.call(this, e); - this.UpdateVisualState(); - }; - TreeView.prototype.OnMouseLeftButtonDown = function (e) { - _super.prototype.OnMouseLeftButtonDown.call(this, e); - if (!e.Handled && this.HandleMouseButtonDown()) - e.Handled = true; - this.UpdateVisualState(); - }; - TreeView.prototype.HandleMouseButtonDown = function () { - if (!this.SelectedContainer) - return false; - if (!this.SelectedContainer.IsFocused) - this.SelectedContainer.Focus(); - return true; - }; - TreeView.prototype.OnMouseLeftButtonUp = function (e) { - _super.prototype.OnMouseLeftButtonUp.call(this, e); - this.UpdateVisualState(); - }; - TreeView.prototype.OnGotFocus = function (e) { - _super.prototype.OnGotFocus.call(this, e); - this.UpdateVisualState(); - }; - TreeView.prototype.OnLostFocus = function (e) { - _super.prototype.OnLostFocus.call(this, e); - this.UpdateVisualState(); - }; - TreeView.prototype.ChangeSelection = function (itemOrContainer, container, selected) { - if (this.IsSelectionChangeActive) - return; - var oldValue = null; - var newValue = null; - var flag = false; - var selContainer = this.SelectedContainer; - this.IsSelectionChangeActive = true; - try { - if (selected && container !== selContainer) { - oldValue = this.SelectedItem; - if (selContainer != null) { - selContainer.IsSelected = false; - selContainer.UpdateContainsSelection(false); - } - newValue = itemOrContainer; - this.SelectedContainer = container; - this.SelectedContainer.UpdateContainsSelection(true); - this.SelectedItem = itemOrContainer; - this.UpdateSelectedValue(itemOrContainer); - flag = true; - this.ItemsControlHelper.ScrollIntoView(container.HeaderElement || container); - } - else if (!selected && container === selContainer) { - this.SelectedContainer.UpdateContainsSelection(false); - this.SelectedContainer = null; - this.SelectedItem = null; - this.SelectedValue = null; - oldValue = itemOrContainer; - flag = true; - } - container.IsSelected = selected; - } - finally { - this.IsSelectionChangeActive = false; - } - if (!flag) - return; - this.SelectedItemChanged.raise(this, new Fayde.RoutedPropertyChangedEventArgs(oldValue, newValue)); - }; - TreeView.prototype.UpdateSelectedValue = function (item) { - if (!item) { - this.ClearValue(TreeView.SelectedValueProperty); - return; - } - var selectedValuePath = this.SelectedValuePath; - if (!selectedValuePath) { - this.SelectedValue = item; - } - else { - var binding = new Fayde.Data.Binding(selectedValuePath); - binding.Source = item; - var contentControl = new Controls.ContentControl(); - contentControl.SetBinding(Controls.ContentControl.ContentProperty, binding); - this.SelectedValue = contentControl.Content; - contentControl.ClearValue(Controls.ContentControl.ContentProperty); - } - }; - TreeView.prototype.SelectFirstItem = function () { - var container = this.ItemContainersManager.ContainerFromIndex(0); - var selected = container instanceof Controls.TreeViewItem; - if (!selected) - container = this.SelectedContainer; - this.ChangeSelection(selected ? this.ItemContainersManager.ItemFromContainer(container) : this.SelectedItem, container, selected); - }; - TreeView.prototype.FocusFirstItem = function () { - var tvi = this.ItemContainersManager.ContainerFromIndex(0); - if (!tvi) - return false; - if (!tvi.IsEnabled || !tvi.Focus()) - return tvi.FocusDown(); - return true; - }; - TreeView.prototype.FocusLastItem = function () { - for (var index = this.Items.Count - 1; index >= 0; --index) { - var tvi = this.ItemContainersManager.ContainerFromIndex(index); - if (tvi instanceof Controls.TreeViewItem && tvi.IsEnabled) - return tvi.FocusInto(); - } - return false; - }; - TreeView.SelectedItemProperty = DependencyProperty.Register("SelectedItem", function () { return Object; }, TreeView, null, function (d, args) { return d.OnSelectedItemChanged(args); }); - TreeView.SelectedValueProperty = DependencyProperty.Register("SelectedValue", function () { return Object; }, TreeView, null, function (d, args) { return d.OnSelectedValueChanged(args); }); - TreeView.SelectedValuePathProperty = DependencyProperty.Register("SelectedValuePath", function () { return String; }, TreeView, "", function (d, args) { return d.OnSelectedValuePathChanged(args); }); - TreeView.ItemContainerStyleProperty = DependencyProperty.Register("ItemContainerStyle", function () { return Fayde.Style; }, TreeView, null, function (d, args) { return d.OnItemContainerStyleChanged(args); }); - return TreeView; - })(Controls.ItemsControl); - Controls.TreeView = TreeView; - Controls.TemplateVisualStates(TreeView, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "MouseOver" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "FocusStates", Name: "Unfocused" }, { GroupName: "FocusStates", Name: "Focused" }, { GroupName: "ValidationStates", Name: "Valid" }, { GroupName: "ValidationStates", Name: "InvalidUnfocused" }, { GroupName: "ValidationStates", Name: "InvalidFocused" }); - Object.defineProperty(TreeView.prototype, "SelectedValue", { - get: function () { - return this.GetValue(TreeView.SelectedValueProperty); - }, - set: function (value) { - try { - this._AllowWrite = true; - this.SetValue(TreeView.SelectedValueProperty, value); - } - finally { - this._AllowWrite = false; - } - } - }); - Object.defineProperty(TreeView.prototype, "SelectedItem", { - get: function () { - return this.GetValue(TreeView.SelectedItemProperty); - }, - set: function (value) { - try { - this._AllowWrite = true; - this.SetValue(TreeView.SelectedItemProperty, value); - } - finally { - this._AllowWrite = false; - } - } - }); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var ScrollExtensions = Controls.Internal.ScrollEx; - var TreeViewItem = (function (_super) { - __extends(TreeViewItem, _super); - function TreeViewItem() { - _super.call(this); - this.Collapsed = new Fayde.RoutedEvent(); - this.Expanded = new Fayde.RoutedEvent(); - this.Selected = new Fayde.RoutedEvent(); - this.Unselected = new Fayde.RoutedEvent(); - this._AllowWrite = false; - this._MultiClick = new Controls.Internal.MultiClickHelper(); - this._IsPressed = false; - this.DefaultStyleKey = TreeViewItem; - } - TreeViewItem.prototype.$SetHasItems = function (value) { - try { - this._AllowWrite = true; - this.SetCurrentValue(TreeViewItem.HasItemsProperty, value); - } - finally { - this._AllowWrite = false; - } - }; - TreeViewItem.prototype.$SetIsSelectionActive = function (value) { - try { - this._AllowWrite = true; - this.SetCurrentValue(TreeViewItem.IsSelectionActiveProperty, value === true); - } - finally { - this._AllowWrite = false; - } - }; - TreeViewItem.prototype.OnHasItemsChanged = function (e) { - if (this.IgnorePropertyChange) - this.IgnorePropertyChange = false; - else if (!this._AllowWrite) { - this.IgnorePropertyChange = true; - this.SetCurrentValue(TreeViewItem.HasItemsProperty, e.OldValue); - throw new InvalidOperationException("Cannot set read-only property HasItems."); - } - else - this.UpdateVisualState(); - }; - TreeViewItem.prototype.OnIsExpandedPropertyChanged = function (e) { - var newValue = e.NewValue === true; - if (newValue) - this.OnExpanded(new Fayde.RoutedEventArgs()); - else - this.OnCollapsed(new Fayde.RoutedEventArgs()); - if (newValue) { - if (this.ExpansionStateGroup != null || !this.UserInitiatedExpansion) - return; - this.UserInitiatedExpansion = false; - var parentTreeView = this.ParentTreeView; - if (!parentTreeView) - return; - parentTreeView.ItemsControlHelper.ScrollIntoView(this); - } - else { - if (!this.ContainsSelection) - return; - this.Focus(); - } - }; - TreeViewItem.prototype.OnIsSelectedChanged = function (e) { - if (this.IgnorePropertyChange) { - this.IgnorePropertyChange = false; - } - else if (e.NewValue === true) { - this.Select(true); - this.OnSelected(new Fayde.RoutedEventArgs()); - } - else { - this.Select(false); - this.OnUnselected(new Fayde.RoutedEventArgs()); - } - }; - TreeViewItem.prototype.OnIsSelectionActiveChanged = function (e) { - if (this.IgnorePropertyChange) - this.IgnorePropertyChange = false; - else if (!this._AllowWrite) { - this.IgnorePropertyChange = true; - this.SetValueInternal(TreeViewItem.IsSelectionActiveProperty, e.OldValue); - throw new InvalidOperationException("Cannot set read-only property IsSelectionActive."); - } - else - this.UpdateVisualState(); - }; - Object.defineProperty(TreeViewItem.prototype, "ExpanderButton", { - get: function () { return this._expanderButton; }, - set: function (value) { - if (this._expanderButton) { - this._expanderButton.Click.off(this.OnExpanderClick, this); - this._expanderButton.GotFocus.off(this.OnExpanderGotFocus, this); - } - this._expanderButton = value; - if (this._expanderButton) { - this._expanderButton.IsChecked = this.IsExpanded; - this._expanderButton.Click.on(this.OnExpanderClick, this); - this._expanderButton.GotFocus.on(this.OnExpanderGotFocus, this); - } - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TreeViewItem.prototype, "HeaderElement", { - get: function () { return this._headerElement; }, - set: function (value) { - if (this._headerElement) - this._headerElement.MouseLeftButtonDown.off(this.OnHeaderMouseLeftButtonDown, this); - this._headerElement = value; - if (this._headerElement) - this._headerElement.MouseLeftButtonDown.on(this.OnHeaderMouseLeftButtonDown, this); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TreeViewItem.prototype, "ExpansionStateGroup", { - get: function () { return this._expansionStateGroup; }, - set: function (value) { - if (this._expansionStateGroup) - this._expansionStateGroup.CurrentStateChanged.off(this.OnExpansionStateGroupStateChanged, this); - this._expansionStateGroup = value; - if (this._expansionStateGroup) - this._expansionStateGroup.CurrentStateChanged.on(this.OnExpansionStateGroupStateChanged, this); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TreeViewItem.prototype, "ParentItemsControl", { - get: function () { return this._parentItemsControl; }, - set: function (value) { - if (this._parentItemsControl == value) - return; - this._parentItemsControl = value; - var parentTreeView = this.ParentTreeView; - if (parentTreeView == null) - return; - if (this.RequiresContainsSelectionUpdate) { - this.RequiresContainsSelectionUpdate = false; - this.UpdateContainsSelection(true); - } - parentTreeView.CheckForSelectedDescendents(this); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TreeViewItem.prototype, "ParentTreeViewItem", { - get: function () { - var pic = this.ParentItemsControl; - if (pic instanceof TreeViewItem) - return pic; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TreeViewItem.prototype, "ParentTreeView", { - get: function () { - for (var tvi = this; tvi != null; tvi = tvi.ParentTreeViewItem) { - var treeView = tvi.ParentItemsControl; - if (treeView instanceof Controls.TreeView) - return treeView; - } - return null; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TreeViewItem.prototype, "IsRoot", { - get: function () { return this.ParentItemsControl instanceof Controls.TreeView; }, - enumerable: true, - configurable: true - }); - Object.defineProperty(TreeViewItem.prototype, "CanExpandOnInput", { - get: function () { return this.HasItems && this.IsEnabled; }, - enumerable: true, - configurable: true - }); - TreeViewItem.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - this.ExpanderButton = this.GetTemplateChild("ExpanderButton", Controls.Primitives.ToggleButton); - this.HeaderElement = this.GetTemplateChild("Header", Fayde.FrameworkElement); - this.ExpansionStateGroup = Fayde.Media.VSM.VisualStateManager.GetGroup(this, "ExpansionStates"); - this.UpdateVisualState(false); - }; - TreeViewItem.prototype.OnExpansionStateGroupStateChanged = function (sender, e) { - if (e.NewState.Name && e.NewState.Name.toLowerCase() === "expanded") - this.BringIntoView(); - }; - TreeViewItem.prototype.BringIntoView = function () { - var _this = this; - if (!this.UserInitiatedExpansion) - return; - this.UserInitiatedExpansion = false; - var parent = this.ParentTreeView; - if (!parent) - return; - setTimeout(function () { - parent.ItemsControlHelper.ScrollIntoView(_this); - }, 1); - }; - TreeViewItem.prototype.GoToStates = function (gotoFunc) { - _super.prototype.GoToStates.call(this, gotoFunc); - this.GoToStateExpansion(gotoFunc); - this.GoToStateHasItems(gotoFunc); - this.GoToStateSelection(gotoFunc); - }; - TreeViewItem.prototype.GoToStateCommon = function (gotoFunc) { - if (!this.IsEnabled) - return gotoFunc("Disabled"); - if (this._IsPressed) - return gotoFunc("Pressed"); - if (this.IsMouseOver) - return gotoFunc("MouseOver"); - return gotoFunc("Normal"); - }; - TreeViewItem.prototype.GoToStateExpansion = function (gotoFunc) { - return gotoFunc(this.IsExpanded ? "Expanded" : "Collapsed"); - }; - TreeViewItem.prototype.GoToStateHasItems = function (gotoFunc) { - return gotoFunc(this.HasItems ? "HasItems" : "NoItems"); - }; - TreeViewItem.prototype.GoToStateSelection = function (gotoFunc) { - if (!this.IsSelected) - return gotoFunc("Unselected"); - if (!this.IsSelectionActive) - return gotoFunc("SelectedInactive"); - return gotoFunc("Selected"); - }; - TreeViewItem.prototype.GetContainerForItem = function () { - return new TreeViewItem(); - }; - TreeViewItem.prototype.IsItemItsOwnContainer = function (item) { - return item instanceof TreeViewItem; - }; - TreeViewItem.prototype.PrepareContainerForItem = function (element, item) { - var treeViewItem = element; - if (treeViewItem instanceof TreeViewItem) - treeViewItem.ParentItemsControl = this; - _super.prototype.PrepareContainerForItem.call(this, element, item); - }; - TreeViewItem.prototype.ClearContainerForItem = function (element, item) { - var treeViewItem = element; - if (treeViewItem instanceof TreeViewItem) - treeViewItem.ParentItemsControl = null; - _super.prototype.ClearContainerForItem.call(this, element, item); - }; - TreeViewItem.prototype.OnItemsChanged = function (e) { - _super.prototype.OnItemsChanged.call(this, e); - this.$SetHasItems(this.Items.Count > 0); - if (e.NewItems != null) { - for (var i = 0, items = e.NewItems, len = items.length; i < len; i++) { - items[i].ParentItemsControl = this; - } - } - switch (e.Action) { - case Fayde.Collections.CollectionChangedAction.Remove: - case Fayde.Collections.CollectionChangedAction.Reset: - if (this.ContainsSelection) { - var parentTreeView = this.ParentTreeView; - if (parentTreeView != null && !parentTreeView.IsSelectedContainerHookedUp) { - this.ContainsSelection = false; - this.Select(true); - } - } - break; - case Fayde.Collections.CollectionChangedAction.Replace: - if (this.ContainsSelection) { - var parentTreeView = this.ParentTreeView; - if (parentTreeView != null) { - var selectedItem = parentTreeView.SelectedItem; - if (selectedItem != null && (e.OldItems == null || nullstone.equals(selectedItem, e.OldItems[0]))) - parentTreeView.ChangeSelection(selectedItem, parentTreeView.SelectedContainer, false); - } - } - break; - } - if (e.OldItems == null) - return; - for (var i = 0, items = e.OldItems, len = items.length; i < len; i++) { - items[i].ParentItemsControl = null; - } - }; - TreeViewItem.prototype.OnExpanded = function (e) { - this.ToggleExpanded(); - this.Expanded.raise(this, e); - }; - TreeViewItem.prototype.OnCollapsed = function (e) { - this.ToggleExpanded(); - this.Collapsed.raise(this, e); - }; - TreeViewItem.prototype.ToggleExpanded = function () { - var expanderButton = this.ExpanderButton; - if (!expanderButton) - return; - expanderButton.IsChecked = this.IsExpanded; - this.UpdateVisualState(); - }; - TreeViewItem.prototype.OnSelected = function (e) { - this.UpdateVisualState(); - this.Selected.raise(this, e); - }; - TreeViewItem.prototype.OnUnselected = function (e) { - this.UpdateVisualState(); - this.Unselected.raise(this, e); - }; - TreeViewItem.prototype.OnGotFocus = function (e) { - _super.prototype.OnGotFocus.call(this, e); - var parentTreeViewItem = this.ParentTreeViewItem; - if (parentTreeViewItem) - parentTreeViewItem.CancelGotFocusBubble = true; - try { - if (!this.IsEnabled || this.CancelGotFocusBubble) - return; - this.Select(true); - this.$SetIsSelectionActive(true); - this.UpdateVisualState(); - } - finally { - this.CancelGotFocusBubble = false; - } - }; - TreeViewItem.prototype.OnLostFocus = function (e) { - _super.prototype.OnLostFocus.call(this, e); - this.$SetIsSelectionActive(false); - this.UpdateVisualState(); - }; - TreeViewItem.prototype.OnExpanderGotFocus = function (sender, e) { - this.CancelGotFocusBubble = true; - this.$SetIsSelectionActive(true); - this.UpdateVisualState(true); - }; - TreeViewItem.prototype.OnMouseEnter = function (e) { - _super.prototype.OnMouseEnter.call(this, e); - this.UpdateVisualState(); - }; - TreeViewItem.prototype.OnMouseLeave = function (e) { - _super.prototype.OnMouseLeave.call(this, e); - this.UpdateVisualState(); - }; - TreeViewItem.prototype.OnHeaderMouseLeftButtonDown = function (sender, e) { - this._MultiClick.OnMouseLeftButtonDown(this, e); - if (!e.Handled && this.IsEnabled) { - if (this.Focus()) - e.Handled = true; - if (this._MultiClick.ClickCount % 2 === 0) { - var isExpanded = this.IsExpanded; - this.UserInitiatedExpansion = this.UserInitiatedExpansion || !isExpanded; - this.IsExpanded = !isExpanded; - e.Handled = true; - } - } - this.OnMouseLeftButtonDown(e); - this.UpdateVisualState(); - }; - TreeViewItem.prototype.OnExpanderClick = function (sender, e) { - var isExpanded = this.IsExpanded; - this.UserInitiatedExpansion = this.UserInitiatedExpansion || !isExpanded; - this.IsExpanded = !isExpanded; - }; - TreeViewItem.prototype.OnMouseLeftButtonDown = function (e) { - _super.prototype.OnMouseLeftButtonDown.call(this, e); - var parentTreeView; - if (!e.Handled && (parentTreeView = this.ParentTreeView) != null && parentTreeView.HandleMouseButtonDown()) - e.Handled = true; - this._IsPressed = true; - this.UpdateVisualState(); - }; - TreeViewItem.prototype.OnMouseLeftButtonUp = function (e) { - _super.prototype.OnMouseLeftButtonUp.call(this, e); - this._IsPressed = false; - this.UpdateVisualState(); - }; - TreeViewItem.prototype.OnIsEnabledChanged = function (e) { - _super.prototype.OnIsEnabledChanged.call(this, e); - if (!e.NewValue) - this._IsPressed = false; - }; - TreeViewItem.prototype.OnKeyDown = function (e) { - _super.prototype.OnKeyDown.call(this, e); - if (this.IsEnabled) { - if (e.Handled) - return; - var isRTL = this.FlowDirection === Fayde.FlowDirection.RightToLeft; - switch (e.Key) { - case Fayde.Input.Key.Left: - if (!Fayde.Input.Keyboard.HasControl() && (isRTL ? this.HandleRightKey() : this.HandleLeftKey())) - e.Handled = true; - break; - case Fayde.Input.Key.Up: - if (!Fayde.Input.Keyboard.HasControl() && this.HandleUpKey()) - e.Handled = true; - break; - case Fayde.Input.Key.Right: - if (!Fayde.Input.Keyboard.HasControl() && (isRTL ? this.HandleLeftKey() : this.HandleRightKey())) - e.Handled = true; - break; - case Fayde.Input.Key.Down: - if (!Fayde.Input.Keyboard.HasControl() && this.HandleDownKey()) - e.Handled = true; - break; - case Fayde.Input.Key.Add: - if (this.CanExpandOnInput && !this.IsExpanded) { - this.UserInitiatedExpansion = true; - this.IsExpanded = true; - e.Handled = true; - } - break; - case Fayde.Input.Key.Subtract: - if (this.CanExpandOnInput && this.IsExpanded) { - this.IsExpanded = false; - e.Handled = true; - } - break; - } - } - if (!this.IsRoot) - return; - var parentTreeView = this.ParentTreeView; - if (!parentTreeView) - return; - parentTreeView.PropagateKeyDown(e); - }; - TreeViewItem.prototype.HandleRightKey = function () { - if (!this.CanExpandOnInput) - return false; - if (!this.IsExpanded) { - this.UserInitiatedExpansion = true; - this.IsExpanded = true; - return true; - } - return this.HandleDownKey(); - }; - TreeViewItem.prototype.HandleLeftKey = function () { - if (!this.CanExpandOnInput || !this.IsExpanded) - return false; - if (this.IsFocused) - this.Focus(); - else - this.IsExpanded = false; - return true; - }; - TreeViewItem.prototype.HandleDownKey = function () { - return this.AllowKeyHandleEvent() && this.FocusDown(); - }; - TreeViewItem.prototype.HandleUpKey = function () { - if (!this.AllowKeyHandleEvent()) - return false; - var previousFocusableItem = this.FindPreviousFocusableItem(); - if (!previousFocusableItem) - return false; - if (previousFocusableItem != this.ParentItemsControl || previousFocusableItem != this.ParentTreeView) - return previousFocusableItem.Focus(); - return true; - }; - TreeViewItem.prototype.HandleScrollByPage = function (up, scrollHost, viewportHeight, top, bottom, currentDelta) { - var closeEdge1 = { Value: 0.0 }; - currentDelta.Value = calculateDelta(up, this, scrollHost, top, bottom, closeEdge1); - if (NumberEx.IsGreaterThanClose(closeEdge1.Value, viewportHeight) || NumberEx.IsLessThanClose(currentDelta.Value, viewportHeight)) - return false; - var flag1 = false; - var headerElement = this.HeaderElement; - if (headerElement != null && NumberEx.IsLessThanClose(calculateDelta(up, headerElement, scrollHost, top, bottom, { Value: 0 }), viewportHeight)) - flag1 = true; - var tvi1 = null; - var count = this.Items.Count; - var flag2 = up && this.ContainsSelection; - var index = up ? count - 1 : 0; - while (0 <= index && index < count) { - var tvi2 = this.ItemContainersManager.ContainerFromIndex(index); - if (tvi2 instanceof TreeViewItem && tvi2.IsEnabled) { - if (flag2) { - if (tvi2.IsSelected) { - flag2 = false; - index += up ? -1 : 1; - continue; - } - else if (tvi2.ContainsSelection) { - flag2 = false; - } - else { - index += up ? -1 : 1; - continue; - } - } - var currentDelta1 = { Value: 0 }; - if (tvi2.HandleScrollByPage(up, scrollHost, viewportHeight, top, bottom, currentDelta1)) - return true; - if (!NumberEx.IsGreaterThanClose(currentDelta1.Value, viewportHeight)) - tvi1 = tvi2; - else - break; - } - index += up ? -1 : 1; - } - if (tvi1 != null) { - if (up) - return tvi1.Focus(); - return tvi1.FocusInto(); - } - else if (flag1) - return this.Focus(); - return false; - }; - TreeViewItem.prototype.Select = function (selected) { - var parentTreeView = this.ParentTreeView; - if (!parentTreeView || parentTreeView.IsSelectionChangeActive) - return; - var parentTreeViewItem = this.ParentTreeViewItem; - var itemOrContainer = parentTreeViewItem != null ? parentTreeViewItem.ItemContainersManager.ItemFromContainer(this) : parentTreeView.ItemContainersManager.ItemFromContainer(this); - parentTreeView.ChangeSelection(itemOrContainer, this, selected); - }; - TreeViewItem.prototype.UpdateContainsSelection = function (selected) { - for (var parentTreeViewItem = this.ParentTreeViewItem; parentTreeViewItem != null; parentTreeViewItem = parentTreeViewItem.ParentTreeViewItem) - parentTreeViewItem.ContainsSelection = selected; - }; - TreeViewItem.prototype.AllowKeyHandleEvent = function () { - return this.IsSelected; - }; - TreeViewItem.prototype.FocusDown = function () { - var nextFocusableItem = this.FindNextFocusableItem(true); - return nextFocusableItem && nextFocusableItem.Focus(); - }; - TreeViewItem.prototype.FocusInto = function () { - var lastFocusableItem = this.FindLastFocusableItem(); - return lastFocusableItem && lastFocusableItem.Focus(); - }; - TreeViewItem.prototype.FindNextFocusableItem = function (recurse) { - if (recurse && this.IsExpanded && this.HasItems) { - var treeViewItem = this.ItemContainersManager.ContainerFromIndex(0); - if (treeViewItem instanceof TreeViewItem) { - if (!treeViewItem.IsEnabled) - return treeViewItem.FindNextFocusableItem(false); - return treeViewItem; - } - } - var parentItemsControl = this.ParentItemsControl; - if (parentItemsControl != null) { - var index = parentItemsControl.ItemContainersManager.IndexFromContainer(this); - var count = parentItemsControl.Items.Count; - while (index++ < count) { - var treeViewItem = parentItemsControl.ItemContainersManager.ContainerFromIndex(index); - if (treeViewItem instanceof TreeViewItem && treeViewItem.IsEnabled) - return treeViewItem; - } - var parentTreeViewItem = this.ParentTreeViewItem; - if (parentTreeViewItem instanceof TreeViewItem) - return parentTreeViewItem.FindNextFocusableItem(false); - } - return null; - }; - TreeViewItem.prototype.FindLastFocusableItem = function () { - var tvi1 = this; - var tvi2 = null; - for (var index = -1; tvi1 instanceof TreeViewItem; tvi1 = tvi2.ItemContainersManager.ContainerFromIndex(index)) { - if (tvi1.IsEnabled) { - if (!tvi1.IsExpanded || !tvi1.HasItems) - return tvi1; - tvi2 = tvi1; - index = tvi1.Items.Count - 1; - } - else if (index > 0) - --index; - else - break; - } - return tvi2; - }; - TreeViewItem.prototype.FindPreviousFocusableItem = function () { - var parentItemsControl = this.ParentItemsControl; - if (!parentItemsControl) - return null; - var index = parentItemsControl.ItemContainersManager.IndexFromContainer(this); - while (index-- > 0) { - var treeViewItem = parentItemsControl.ItemContainersManager.ContainerFromIndex(index); - if (treeViewItem instanceof TreeViewItem && treeViewItem.IsEnabled) { - var lastFocusableItem = treeViewItem.FindLastFocusableItem(); - if (lastFocusableItem != null) - return lastFocusableItem; - } - } - return parentItemsControl; - }; - TreeViewItem.HasItemsProperty = DependencyProperty.RegisterReadOnly("HasItems", function () { return Boolean; }, TreeViewItem, false, function (d, args) { return d.OnHasItemsChanged(args); }); - TreeViewItem.IsExpandedProperty = DependencyProperty.Register("IsExpanded", function () { return Boolean; }, TreeViewItem, false, function (d, args) { return d.OnIsExpandedPropertyChanged(args); }); - TreeViewItem.IsSelectedProperty = DependencyProperty.Register("IsSelected", function () { return Boolean; }, TreeViewItem, false, function (d, args) { return d.OnIsSelectedChanged(args); }); - TreeViewItem.IsSelectionActiveProperty = DependencyProperty.RegisterReadOnly("IsSelectionActive", function () { return Boolean; }, TreeViewItem, false, function (d, args) { return d.OnIsSelectionActiveChanged(args); }); - return TreeViewItem; - })(Controls.HeaderedItemsControl); - Controls.TreeViewItem = TreeViewItem; - Controls.TemplateVisualStates(TreeViewItem, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "MouseOver" }, { GroupName: "CommonStates", Name: "Pressed" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "FocusStates", Name: "Unfocused" }, { GroupName: "FocusStates", Name: "Focused" }, { GroupName: "ExpansionStates", Name: "Collapsed" }, { GroupName: "ExpansionStates", Name: "Expanded" }, { GroupName: "HasItemsStates", Name: "HasItems" }, { GroupName: "HasItemsStates", Name: "NoItems" }, { GroupName: "SelectionStates", Name: "Unselected" }, { GroupName: "SelectionStates", Name: "Selected" }, { GroupName: "SelectionStates", Name: "SelectedInactive" }); - Controls.TemplateParts(TreeViewItem, { Name: "Header", Type: Fayde.FrameworkElement }, { Name: "ExpanderButton", Type: Controls.Primitives.ToggleButton }); - function calculateDelta(up, element, scrollHost, top, bottom, closeEdge) { - var top1 = { Value: 0 }; - var bottom1 = { Value: 0 }; - ScrollExtensions.GetTopAndBottom(element, scrollHost, top1, bottom1); - var ce = 0; - if (up) { - ce = bottom - bottom1.Value; - return bottom - top1.Value; - } - else { - ce = top1.Value - top; - return bottom1.Value - top; - } - closeEdge.Value = ce; - } - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var UpDownParseErrorEventArgs = (function (_super) { - __extends(UpDownParseErrorEventArgs, _super); - function UpDownParseErrorEventArgs(text, error) { - _super.call(this); - this.Handled = false; - Object.defineProperty(this, "Text", { value: text, writable: false }); - Object.defineProperty(this, "Error", { value: error, writable: false }); - } - return UpDownParseErrorEventArgs; - })(Fayde.RoutedEventArgs); - Controls.UpDownParseErrorEventArgs = UpDownParseErrorEventArgs; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var UpDownParsingEventArgs = (function (_super) { - __extends(UpDownParsingEventArgs, _super); - function UpDownParsingEventArgs(text) { - _super.call(this); - this.Value = null; - this.Handled = false; - Object.defineProperty(this, "Text", { value: text, writable: false }); - } - return UpDownParsingEventArgs; - })(Fayde.RoutedEventArgs); - Controls.UpDownParsingEventArgs = UpDownParsingEventArgs; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var contextmenu; - (function (contextmenu) { - var RootVisualTracker = (function () { - function RootVisualTracker(owner) { - this.mousePosition = new Point(); - this.$$rootVisual = null; - owner.LayoutUpdated.on(this._HandleLayoutUpdated, this); - } - Object.defineProperty(RootVisualTracker.prototype, "rootVisual", { - get: function () { - return this.$$rootVisual; - }, - set: function (value) { - if (this.$$rootVisual) { - this.$$rootVisual.MouseMove.off(this._HandleRootVisualMouseMove, this); - this.$$rootVisual.SizeChanged.off(this._HandleSizeChanged, this); - } - this.$$rootVisual = value; - if (value) { - value.MouseMove.on(this._HandleRootVisualMouseMove, this); - value.SizeChanged.on(this._HandleSizeChanged, this); - } - }, - enumerable: true, - configurable: true - }); - RootVisualTracker.prototype.tryInit = function (visual) { - if (!visual) - return; - var surface = visual.XamlNode.LayoutUpdater.tree.surface; - if (!surface) - return; - this.rootVisual = surface.App.RootVisual; - }; - RootVisualTracker.prototype.setOnSizeChanged = function (onSizeChanged) { - this.$$onSizeChanged = onSizeChanged; - }; - RootVisualTracker.prototype.getAvailableSize = function () { - return new minerva.Size(this.rootVisual.ActualWidth, this.rootVisual.ActualHeight); - }; - RootVisualTracker.prototype._HandleLayoutUpdated = function (sender, e) { - if (!this.rootVisual) { - var surface = sender.XamlNode.LayoutUpdater.tree.surface; - if (surface) - this.rootVisual = surface.App.RootVisual; - } - if (this.rootVisual) - sender.LayoutUpdated.off(this._HandleLayoutUpdated, this); - }; - RootVisualTracker.prototype._HandleRootVisualMouseMove = function (sender, e) { - this.mousePosition = e.GetPosition(null); - }; - RootVisualTracker.prototype._HandleSizeChanged = function (sender, e) { - this.$$onSizeChanged && this.$$onSizeChanged(e.NewSize); - }; - return RootVisualTracker; - })(); - contextmenu.RootVisualTracker = RootVisualTracker; - })(contextmenu = Controls.contextmenu || (Controls.contextmenu = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var BindingSourceEvaluator = (function (_super) { - __extends(BindingSourceEvaluator, _super); - function BindingSourceEvaluator(binding) { - _super.call(this); - this._ValueBinding = null; - this._ValueBinding = binding; - } - Object.defineProperty(BindingSourceEvaluator.prototype, "ValueBinding", { - get: function () { return this._ValueBinding; }, - enumerable: true, - configurable: true - }); - BindingSourceEvaluator.prototype.GetDynamicValue = function (source) { - var vb = this._ValueBinding; - var binding1 = new Fayde.Data.Binding(); - binding1.BindsDirectlyToSource = vb.BindsDirectlyToSource; - binding1.Converter = vb.Converter; - binding1.ConverterCulture = vb.ConverterCulture; - binding1.ConverterParameter = vb.ConverterParameter; - binding1.FallbackValue = vb.FallbackValue; - binding1.Mode = vb.Mode; - binding1.NotifyOnValidationError = vb.NotifyOnValidationError; - binding1.Path = vb.Path; - binding1.StringFormat = vb.StringFormat; - binding1.TargetNullValue = vb.TargetNullValue; - binding1.UpdateSourceTrigger = vb.UpdateSourceTrigger; - binding1.ValidatesOnDataErrors = vb.ValidatesOnDataErrors; - binding1.ValidatesOnExceptions = vb.ValidatesOnExceptions; - binding1.ValidatesOnNotifyDataErrors = vb.ValidatesOnNotifyDataErrors; - binding1.Source = source; - this.SetBinding(BindingSourceEvaluator.ValueProperty, binding1); - var obj = this.Value; - this.ClearValue(BindingSourceEvaluator.ValueProperty); - return obj; - }; - BindingSourceEvaluator.ValueProperty = DependencyProperty.Register("Value", function () { return Object; }, BindingSourceEvaluator); - return BindingSourceEvaluator; - })(Fayde.FrameworkElement); - Internal.BindingSourceEvaluator = BindingSourceEvaluator; - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var DomainCoercer = (function () { - function DomainCoercer(Owner, OnCoerceValue, OnCoerceCurrentIndex) { - this.Owner = Owner; - this.OnCoerceValue = OnCoerceValue; - this.OnCoerceCurrentIndex = OnCoerceCurrentIndex; - this.TextBox = null; - this.Text = ""; - this.IsCoercing = false; - this._IsEditing = false; - this._IsInvalidInput = false; - this.Owner.KeyDown.on(this.OnKeyDown, this); - } - Object.defineProperty(DomainCoercer.prototype, "IsEditing", { - get: function () { - return this._IsEditing; - }, - set: function (value) { - if (value === this._IsEditing) - return; - this._IsEditing = value; - this.OnIsEditingChanged(value); - }, - enumerable: true, - configurable: true - }); - DomainCoercer.prototype.OnIsEditingChanged = function (isEditing) { - this.Owner.OnIsEditingChanged(isEditing); - if (!this.TextBox) - return; - if (!isEditing) { - this.TextBox.Text = this.Owner.FormatValue(); - this.TextBox.IsHitTestVisible = false; - } - else { - if (this.TextBox.IsFocused) - this.TextBox.Select(0, this.TextBox.Text.length); - this.TextBox.IsHitTestVisible = true; - } - }; - Object.defineProperty(DomainCoercer.prototype, "IsInvalidInput", { - get: function () { - return this._IsInvalidInput; - }, - set: function (value) { - if (value === this._IsInvalidInput) - return; - this._IsInvalidInput = value; - this.Owner.OnIsInvalidInputChanged(value); - }, - enumerable: true, - configurable: true - }); - DomainCoercer.prototype.Attach = function (textBox) { - this.TextBox = textBox; - if (textBox) { - textBox.GotFocus.on(this.TextBox_GotFocus, this); - textBox.LostFocus.on(this.TextBox_LostFocus, this); - } - this.UpdateTextBoxText(); - this.UpdateIsEditable(); - }; - DomainCoercer.prototype.Detach = function () { - if (this.TextBox) { - this.TextBox.GotFocus.off(this.TextBox_GotFocus, this); - this.TextBox.LostFocus.off(this.TextBox_LostFocus, this); - } - this.TextBox = null; - }; - DomainCoercer.prototype.OnKeyDown = function (sender, e) { - if (e != null && ((e.Key === Fayde.Input.Key.Enter || e.Key === Fayde.Input.Key.Space) && !this.IsEditing && this.Owner.IsEditable)) { - this.IsEditing = true; - e.Handled = true; - } - else { - if (e == null || e.Handled) - return; - if (e.Key === Fayde.Input.Key.Escape) { - this.IsInvalidInput = false; - this.IsEditing = false; - e.Handled = true; - } - else if (!this.IsEditing && this.Owner.IsEditable) - this.IsEditing = true; - } - }; - DomainCoercer.prototype.EscapeFocus = function () { - var _this = this; - if (!this.IsInvalidInput) - this.IsEditing = false; - else if (this.Owner.InvalidInputAction === Controls.InvalidInputAction.TextBoxCannotLoseFocus && this.TextBox.IsFocused) - window.setTimeout(function () { return _this.TextBox.Focus(); }, 1); - }; - DomainCoercer.prototype.OnValueChanged = function (oldValue, newValue) { - if (!this.IsCoercing) { - var index = this.Owner.Items.IndexOf(newValue); - if (index > -1) { - this.IsCoercing = true; - this.OnCoerceCurrentIndex(index); - this.IsCoercing = false; - } - } - this.UpdateTextBoxText(); - this.Owner.OnValueChanged(oldValue, newValue); - }; - DomainCoercer.prototype.OnCurrentIndexChanged = function (oldIndex, newIndex) { - if (!this.IsCoercing) { - if (newIndex >= 0 && newIndex < this.Owner.Items.Count) { - this.IsCoercing = true; - this.OnCoerceValue(this.Owner.Items.GetValueAt(newIndex)); - this.IsCoercing = false; - } - } - this.IsEditing = false; - this.Owner.OnCurrentIndexChanged(oldIndex, newIndex); - }; - DomainCoercer.prototype.TextBox_LostFocus = function (sender, e) { - this.ProcessUserInput(); - }; - DomainCoercer.prototype.TextBox_GotFocus = function (sender, e) { - this.SelectAllText(); - }; - DomainCoercer.prototype.SelectAllText = function () { - if (this.TextBox) - this.TextBox.SelectAll(); - }; - DomainCoercer.prototype.UpdateTextBoxText = function () { - if (!this.TextBox) - return; - this.Text = this.Owner.FormatValue() || ""; - this.TextBox.Text = this.Text; - this.TextBox.SelectionStart = this.Text.length; - }; - DomainCoercer.prototype.UpdateIsEditable = function () { - if (this.TextBox) - this.TextBox.IsReadOnly = !this.Owner.IsEditable; - }; - DomainCoercer.prototype.ProcessUserInput = function () { - if (!this.TextBox || this.Text === this.TextBox.Text) - return; - var selectionStart = this.TextBox.SelectionStart; - this.Text = this.TextBox.Text; - this.ApplyValue(this.Text); - if (selectionStart < this.TextBox.Text.length) - this.TextBox.SelectionStart = selectionStart; - }; - DomainCoercer.prototype.OnParseError = function (e) { - this.Owner.ParseError.raise(this, e); - }; - DomainCoercer.prototype.ApplyValue = function (text) { - if (!this.Owner.IsEditable) - return; - this.IsEditing = true; - try { - var val = { Value: null }; - this.IsInvalidInput = !this.Owner.TryParseValue(text, val); - this.OnCoerceValue(val.Value); - } - catch (err) { - var e = new Controls.UpDownParseErrorEventArgs(text, err); - this.OnParseError(e); - if (!e.Handled) - this.UpdateTextBoxText(); - } - finally { - if (!this.IsInvalidInput) - this.IsEditing = false; - } - }; - return DomainCoercer; - })(); - Internal.DomainCoercer = DomainCoercer; - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var EventGesture = (function () { - function EventGesture() { - } - EventGesture.prototype.Attach = function (event, callback) { - var _this = this; - this._Callback = callback; - event.on(this._OnEvent, this); - this.Detach = function () { - event.off(_this._OnEvent, _this); - _this.Detach = function () { - }; - }; - }; - EventGesture.prototype.Detach = function () { - }; - EventGesture.prototype._OnEvent = function (sender, e) { - this._Callback && this._Callback(sender, e); - }; - return EventGesture; - })(); - Internal.EventGesture = EventGesture; - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var FormattedRangeCoercer = (function (_super) { - __extends(FormattedRangeCoercer, _super); - function FormattedRangeCoercer(range, onCoerceMaximum, onCoerceValue, OnCoerceFormat) { - _super.call(this, range, onCoerceMaximum, onCoerceValue); - this.OnCoerceFormat = OnCoerceFormat; - } - FormattedRangeCoercer.prototype.OnDecimalPlacesChanged = function (oldDecPlaces, newDecPlaces) { - this.CoerceDepth++; - this.OnCoerceFormat(); - this.CoerceDepth--; - }; - FormattedRangeCoercer.prototype.AddToValue = function (inc) { - this.OnCoerceValue(this.Value + inc); - this.RequestedVal = this.Value; - }; - return FormattedRangeCoercer; - })(Internal.RangeCoercer); - Internal.FormattedRangeCoercer = FormattedRangeCoercer; - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var GridUnitType = minerva.controls.grid.GridUnitType; - (function (GridResizeDirection) { - GridResizeDirection[GridResizeDirection["Auto"] = 0] = "Auto"; - GridResizeDirection[GridResizeDirection["Columns"] = 1] = "Columns"; - GridResizeDirection[GridResizeDirection["Rows"] = 2] = "Rows"; - })(Internal.GridResizeDirection || (Internal.GridResizeDirection = {})); - var GridResizeDirection = Internal.GridResizeDirection; - (function (GridResizeBehavior) { - GridResizeBehavior[GridResizeBehavior["BasedOnAlignment"] = 0] = "BasedOnAlignment"; - GridResizeBehavior[GridResizeBehavior["CurrentAndNext"] = 1] = "CurrentAndNext"; - GridResizeBehavior[GridResizeBehavior["PreviousAndCurrent"] = 2] = "PreviousAndCurrent"; - GridResizeBehavior[GridResizeBehavior["PreviousAndNext"] = 3] = "PreviousAndNext"; - })(Internal.GridResizeBehavior || (Internal.GridResizeBehavior = {})); - var GridResizeBehavior = Internal.GridResizeBehavior; - (function (SplitBehavior) { - SplitBehavior[SplitBehavior["Split"] = 0] = "Split"; - SplitBehavior[SplitBehavior["ResizeDefinition1"] = 1] = "ResizeDefinition1"; - SplitBehavior[SplitBehavior["ResizeDefinition2"] = 2] = "ResizeDefinition2"; - })(Internal.SplitBehavior || (Internal.SplitBehavior = {})); - var SplitBehavior = Internal.SplitBehavior; - var GridSplitterResizer = (function () { - function GridSplitterResizer(gs) { - this.UpdateResizeDirection(gs); - this.Behavior = resizeBehaviors[this.Direction !== GridResizeDirection.Columns ? gs.VerticalAlignment : gs.HorizontalAlignment] - || GridResizeBehavior.PreviousAndNext; - this.SplitterLength = Math.min(gs.ActualWidth, gs.ActualHeight); - } - GridSplitterResizer.prototype.Setup = function (gs, grid) { - var isColumns = this.Direction === GridResizeDirection.Columns; - var span = isColumns ? Controls.Grid.GetColumnSpan(gs) : Controls.Grid.GetRowSpan(gs); - if (span > 1) - return false; - var index = isColumns ? Controls.Grid.GetColumn(gs) : Controls.Grid.GetRow(gs); - var indices = this.GetBehaviorIndices(index); - var defs = isColumns ? grid.ColumnDefinitions : grid.RowDefinitions; - if (indices[0] < 0 || indices[1] >= defs.Count) - return false; - this.SplitterIndex = index; - this.DS1 = createSize(defs.GetValueAt(indices[0])); - this.DS1.Index = indices[0]; - this.DS2 = createSize(defs.GetValueAt(indices[1])); - this.DS2.Index = indices[1]; - this.SplitBehavior = (this.DS1.IsStar && this.DS2.IsStar) ? SplitBehavior.Split : (!this.DS1.IsStar ? SplitBehavior.ResizeDefinition1 : SplitBehavior.ResizeDefinition2); - return true; - }; - GridSplitterResizer.prototype.Move = function (grid, horiz, vert) { - var ds1 = this.DS1; - var ds2 = this.DS2; - if (!ds1 || !ds2) - return true; - if (this.SplitBehavior === SplitBehavior.Split && !NumberEx.AreClose((ds1.ActualSize + ds2.ActualSize), (ds1.OrigActualSize + ds2.OrigActualSize))) - return false; - var deltaConstraints = this.GetConstraints(); - var num1 = deltaConstraints[0]; - var num2 = deltaConstraints[1]; - var num = this.Direction === GridResizeDirection.Columns ? horiz : vert; - num = Math.min(Math.max(num, num1), num2); - this.SetLengths(grid, ds1.ActualSize + num, ds2.ActualSize - num); - return true; - }; - GridSplitterResizer.prototype.UpdateResizeDirection = function (gs) { - var old = this.Direction; - if (gs.HorizontalAlignment !== Fayde.HorizontalAlignment.Stretch) - this.Direction = GridResizeDirection.Columns; - else if (gs.VerticalAlignment === Fayde.VerticalAlignment.Stretch && gs.ActualWidth <= gs.ActualHeight) - this.Direction = GridResizeDirection.Columns; - else - this.Direction = GridResizeDirection.Rows; - return old !== this.Direction; - }; - GridSplitterResizer.prototype.SetLengths = function (grid, definition1Pixels, definition2Pixels) { - var columnDefinitions; - if (this.SplitBehavior !== SplitBehavior.Split) { - if (this.SplitBehavior === SplitBehavior.ResizeDefinition1) - this.DS1.Size = new Controls.GridLength(definition1Pixels, GridUnitType.Pixel); - else - this.DS2.Size = new Controls.GridLength(definition2Pixels, GridUnitType.Pixel); - return; - } - var enumerator = this.Direction === GridResizeDirection.Columns - ? grid.ColumnDefinitions.getEnumerator() : grid.RowDefinitions.getEnumerator(); - var i = 0; - while (enumerator.moveNext()) { - var ds = createSize(enumerator.current); - if (this.DS1.Index === i) - ds.Size = new Controls.GridLength(definition1Pixels, GridUnitType.Star); - else if (this.DS2.Index === i) - ds.Size = new Controls.GridLength(definition2Pixels, GridUnitType.Star); - else if (ds.IsStar) - ds.Size = new Controls.GridLength(ds.ActualSize, GridUnitType.Star); - i++; - } - }; - GridSplitterResizer.prototype.GetConstraints = function () { - var actualLength = this.DS1.ActualSize; - var minSize = this.DS1.MinSize; - var maxSize = this.DS1.MaxSize; - var actualLength1 = this.DS2.ActualSize; - var minSize1 = this.DS2.MinSize; - var maxSize1 = this.DS2.MaxSize; - if (this.SplitterIndex === this.DS1.Index) { - minSize = Math.max(minSize, this.SplitterLength); - } - else if (this.SplitterIndex === this.DS2.Index) { - minSize1 = Math.max(minSize1, this.SplitterLength); - } - if (this.SplitBehavior === SplitBehavior.Split) { - return [ - -Math.min(actualLength - minSize, maxSize1 - actualLength1), - Math.min(maxSize - actualLength, actualLength1 - minSize1) - ]; - } - if (this.SplitBehavior !== SplitBehavior.ResizeDefinition1) { - return [ - actualLength1 - maxSize1, - actualLength1 - minSize1 - ]; - } - return [ - minSize - actualLength, - maxSize - actualLength - ]; - }; - GridSplitterResizer.prototype.GetBehaviorIndices = function (index) { - switch (this.Behavior) { - case GridResizeBehavior.CurrentAndNext: - return [index, index + 1]; - case GridResizeBehavior.PreviousAndCurrent: - return [index - 1, index]; - default: - return [index - 1, index + 1]; - } - }; - return GridSplitterResizer; - })(); - Internal.GridSplitterResizer = GridSplitterResizer; - var resizeBehaviors = []; - resizeBehaviors[Fayde.VerticalAlignment.Top] = GridResizeBehavior.PreviousAndCurrent; - resizeBehaviors[Fayde.VerticalAlignment.Bottom] = GridResizeBehavior.CurrentAndNext; - resizeBehaviors[Fayde.HorizontalAlignment.Left] = GridResizeBehavior.PreviousAndCurrent; - resizeBehaviors[Fayde.HorizontalAlignment.Right] = GridResizeBehavior.CurrentAndNext; - var RowDefinition = Fayde.Controls.RowDefinition; - var ColumnDefinition = Fayde.Controls.ColumnDefinition; - function createSize(definition) { - if (definition instanceof RowDefinition) { - var rd = definition; - var ds = {}; - Object.defineProperty(ds, "ActualSize", { - get: function () { - return rd.ActualHeight; - } - }); - Object.defineProperty(ds, "MaxSize", { - get: function () { - return rd.MaxHeight || 0; - } - }); - Object.defineProperty(ds, "MinSize", { - get: function () { - return rd.MinHeight || 0; - } - }); - Object.defineProperty(ds, "Size", { - get: function () { - return rd.Height; - }, - set: function (value) { - rd.Height = value; - } - }); - Object.defineProperty(ds, "IsStar", { - get: function () { - return !!rd.Height && rd.Height.Type === GridUnitType.Star; - } - }); - ds.Index = 0; - ds.OrigActualSize = rd.ActualHeight; - return ds; - } - if (definition instanceof ColumnDefinition) { - var cd = definition; - var ds = {}; - Object.defineProperty(ds, "ActualSize", { - get: function () { - return cd.ActualWidth; - } - }); - Object.defineProperty(ds, "MaxSize", { - get: function () { - return cd.MaxWidth || 0; - } - }); - Object.defineProperty(ds, "MinSize", { - get: function () { - return cd.MinWidth || 0; - } - }); - Object.defineProperty(ds, "Size", { - get: function () { - return cd.Width; - }, - set: function (value) { - cd.Width = value; - } - }); - Object.defineProperty(ds, "IsStar", { - get: function () { - return !!cd.Width && cd.Width.Type === GridUnitType.Star; - } - }); - ds.Index = 0; - ds.OrigActualSize = cd.ActualWidth; - return ds; - } - } - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var ItemsControlHelper = (function () { - function ItemsControlHelper(control) { - this.ItemsControl = control; - } - Object.defineProperty(ItemsControlHelper.prototype, "ItemsHost", { - get: function () { - if (!(this._itemsHost instanceof Controls.Panel) && this.ItemsControl != null && this.ItemsControl.ItemContainersManager != null) { - var container = this.ItemsControl.ItemContainersManager.ContainerFromIndex(0); - if (container != null) - this._itemsHost = Fayde.VisualTreeHelper.GetParent(container); - } - return this._itemsHost; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ItemsControlHelper.prototype, "ScrollHost", { - get: function () { - if (!this._scrollHost) { - var itemsHost = this.ItemsHost; - if (itemsHost != null) { - for (var cur = itemsHost; cur !== this.ItemsControl && cur != null; cur = Fayde.VisualTreeHelper.GetParent(cur)) { - var scrollViewer = cur; - if (scrollViewer instanceof Controls.ScrollViewer) { - this._scrollHost = scrollViewer; - break; - } - } - } - } - return this._scrollHost; - }, - enumerable: true, - configurable: true - }); - ItemsControlHelper.prototype.OnApplyTemplate = function () { - this._itemsHost = null; - this._scrollHost = null; - }; - ItemsControlHelper.PrepareContainerForItemOverride = function (element, parentItemContainerStyle) { - if (!parentItemContainerStyle) - return; - var control = element instanceof Controls.Control ? element : null; - if (!control || control.Style != null) - return; - control.SetValue(Fayde.FrameworkElement.StyleProperty, parentItemContainerStyle); - }; - ItemsControlHelper.prototype.UpdateItemContainerStyle = function (itemContainerStyle) { - if (!itemContainerStyle) - return; - var itemsHost = this.ItemsHost; - if (!itemsHost || !itemsHost.Children) - return; - var enumerator = itemsHost.Children.getEnumerator(); - while (enumerator.moveNext()) { - var cur = enumerator.current; - if (!cur.Style) - cur.Style = itemContainerStyle; - } - }; - ItemsControlHelper.prototype.ScrollIntoView = function (element) { - var scrollHost = this.ScrollHost; - if (!scrollHost) - return; - var generalTransform; - try { - generalTransform = element.TransformToVisual(scrollHost); - } - catch (err) { - return; - } - var tl = generalTransform.Transform(new Point()); - var sz = generalTransform.Transform(new Point(element.ActualWidth, element.ActualHeight)); - var r = new minerva.Rect(tl.x, tl.y, sz.x, sz.y); - var verticalOffset = scrollHost.VerticalOffset; - var num1 = 0.0; - var viewportHeight = scrollHost.ViewportHeight; - var bottom = r.y + r.height; - if (viewportHeight < bottom) { - num1 = bottom - viewportHeight; - verticalOffset += num1; - } - var top = r.y; - if (top - num1 < 0.0) - verticalOffset -= num1 - top; - scrollHost.ScrollToVerticalOffset(verticalOffset); - var horizontalOffset = scrollHost.HorizontalOffset; - var num2 = 0.0; - var viewportWidth = scrollHost.ViewportWidth; - var right = r.x + r.width; - if (viewportWidth < right) { - num2 = right - viewportWidth; - horizontalOffset += num2; - } - var left = r.x; - if (left - num2 < 0.0) - horizontalOffset -= num2 - left; - scrollHost.ScrollToHorizontalOffset(horizontalOffset); - }; - return ItemsControlHelper; - })(); - Internal.ItemsControlHelper = ItemsControlHelper; - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var MultiClickHelper = (function () { - function MultiClickHelper() { - this.ClickCount = 0; - } - MultiClickHelper.prototype.OnMouseLeftButtonDown = function (control, e) { - if (!control.IsEnabled) { - this.ClickCount = 1; - return; - } - var now = new Date().getTime(); - var deltaMs = now - this.LastClickTime; - var pos = e.GetPosition(control); - var dist = getDistance(this.LastClickPosition, pos); - if (deltaMs < 500.0 && dist < 9.0) - this.ClickCount++; - else - this.ClickCount = 1; - this.LastClickTime = now; - this.LastClickPosition = pos; - }; - return MultiClickHelper; - })(); - Internal.MultiClickHelper = MultiClickHelper; - function getDistance(oldPosition, newPosition) { - var xdiff = newPosition.x; - var ydiff = newPosition.y; - if (oldPosition) { - xdiff -= oldPosition.x; - ydiff -= oldPosition.y; - } - return xdiff * xdiff + ydiff * ydiff; - } - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var ObservableObjectCollection = (function (_super) { - __extends(ObservableObjectCollection, _super); - function ObservableObjectCollection(collection) { - _super.call(this); - this.IsReadOnly = false; - if (!collection) - return; - for (var en = collection.getEnumerator(); en.moveNext();) { - this.Add(en.current); - } - } - ObservableObjectCollection.prototype.Add = function (value) { - if (this.IsReadOnly) - throw new InvalidOperationException("ObservableObjectCollection is read only."); - _super.prototype.Add.call(this, value); - }; - ObservableObjectCollection.prototype.AddRange = function (values) { - if (this.IsReadOnly) - throw new InvalidOperationException("ObservableObjectCollection is read only."); - _super.prototype.AddRange.call(this, values); - }; - ObservableObjectCollection.prototype.Insert = function (item, index) { - if (this.IsReadOnly) - throw new InvalidOperationException("ObservableObjectCollection is read only."); - _super.prototype.Insert.call(this, item, index); - }; - ObservableObjectCollection.prototype.RemoveAt = function (index) { - if (this.IsReadOnly) - throw new InvalidOperationException("ObservableObjectCollection is read only."); - _super.prototype.RemoveAt.call(this, index); - }; - ObservableObjectCollection.prototype.SetValueAt = function (index, item) { - if (this.IsReadOnly) - throw new InvalidOperationException("ObservableObjectCollection is read only."); - _super.prototype.SetValueAt.call(this, index, item); - }; - ObservableObjectCollection.prototype.Clear = function () { - if (this.IsReadOnly) - throw new InvalidOperationException("ObservableObjectCollection is read only."); - _super.prototype.Clear.call(this); - }; - return ObservableObjectCollection; - })(Fayde.Collections.ObservableCollection); - Internal.ObservableObjectCollection = ObservableObjectCollection; - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var LineChange = 16.0; - var ScrollEx = (function () { - function ScrollEx() { - } - ScrollEx.HandleKey = function (sv, key, flowDirection) { - if (!sv) - return false; - var isRTL = flowDirection === Fayde.FlowDirection.RightToLeft; - switch (key) { - case Fayde.Input.Key.PageUp: - if (!NumberEx.IsGreaterThanClose(sv.ExtentHeight, sv.ViewportHeight)) - ScrollEx.PageLeft(sv); - else - ScrollEx.PageUp(sv); - return true; - case Fayde.Input.Key.PageDown: - if (!NumberEx.IsGreaterThanClose(sv.ExtentHeight, sv.ViewportHeight)) - ScrollEx.PageRight(sv); - else - ScrollEx.PageDown(sv); - return true; - case Fayde.Input.Key.End: - ScrollEx.ScrollToBottom(sv); - return true; - case Fayde.Input.Key.Home: - ScrollEx.ScrollToTop(sv); - return true; - case Fayde.Input.Key.Left: - isRTL ? ScrollEx.LineRight(sv) : ScrollEx.LineLeft(sv); - return true; - case Fayde.Input.Key.Up: - ScrollEx.LineUp(sv); - return true; - case Fayde.Input.Key.Right: - isRTL ? ScrollEx.LineLeft(sv) : ScrollEx.LineRight(sv); - return true; - case Fayde.Input.Key.Down: - ScrollEx.LineDown(sv); - return true; - } - return false; - }; - ScrollEx.LineUp = function (viewer) { - scrollByVerticalOffset(viewer, -16.0); - }; - ScrollEx.LineDown = function (viewer) { - scrollByVerticalOffset(viewer, 16.0); - }; - ScrollEx.LineLeft = function (viewer) { - scrollByHorizontalOffset(viewer, -16.0); - }; - ScrollEx.LineRight = function (viewer) { - scrollByHorizontalOffset(viewer, 16.0); - }; - ScrollEx.PageUp = function (viewer) { - scrollByVerticalOffset(viewer, -viewer.ViewportHeight); - }; - ScrollEx.PageDown = function (viewer) { - scrollByVerticalOffset(viewer, viewer.ViewportHeight); - }; - ScrollEx.PageLeft = function (viewer) { - scrollByHorizontalOffset(viewer, -viewer.ViewportWidth); - }; - ScrollEx.PageRight = function (viewer) { - scrollByHorizontalOffset(viewer, viewer.ViewportWidth); - }; - ScrollEx.ScrollToTop = function (viewer) { - viewer.ScrollToVerticalOffset(0.0); - }; - ScrollEx.ScrollToBottom = function (viewer) { - viewer.ScrollToVerticalOffset(viewer.ExtentHeight); - }; - ScrollEx.GetTopAndBottom = function (element, parent, top, bottom) { - var xform = element.TransformToVisual(parent); - top.Value = xform.Transform(new Point(0.0, 0.0)).y; - bottom.Value = xform.Transform(new Point(0.0, element.ActualHeight)).y; - }; - return ScrollEx; - })(); - Internal.ScrollEx = ScrollEx; - function scrollByVerticalOffset(viewer, offset) { - offset += viewer.VerticalOffset; - offset = Math.max(Math.min(offset, viewer.ExtentHeight), 0.0); - viewer.ScrollToVerticalOffset(offset); - } - function scrollByHorizontalOffset(viewer, offset) { - offset += viewer.HorizontalOffset; - offset = Math.max(Math.min(offset, viewer.ExtentWidth), 0.0); - viewer.ScrollToHorizontalOffset(offset); - } - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var SelectionHandler = (function () { - function SelectionHandler(textBoxes) { - var _this = this; - this._ActiveBox = null; - this._IsMouseDown = false; - this._TextBoxes = []; - this._TextBoxes = textBoxes = textBoxes.filter(function (tb) { return !!tb; }); - textBoxes.forEach(function (tb) { - tb.MouseLeftButtonDown.on(_this._MouseDown, _this); - tb.MouseLeftButtonUp.on(_this._MouseUp, _this); - tb.GotFocus.on(_this._GotFocus, _this); - tb.LostFocus.on(_this._LostFocus, _this); - }); - } - Object.defineProperty(SelectionHandler.prototype, "ActiveBox", { - get: function () { return this._ActiveBox; }, - enumerable: true, - configurable: true - }); - SelectionHandler.prototype.Dispose = function () { - var _this = this; - this._TextBoxes.forEach(function (tb) { - tb.MouseLeftButtonDown.off(_this._MouseDown, _this); - tb.MouseLeftButtonUp.off(_this._MouseUp, _this); - tb.GotFocus.off(_this._GotFocus, _this); - tb.LostFocus.off(_this._LostFocus, _this); - }); - }; - SelectionHandler.prototype._GotFocus = function (sender, e) { - if (this._IsMouseDown) - return; - sender.SelectAll(); - }; - SelectionHandler.prototype._MouseDown = function (sender, e) { - this._IsMouseDown = true; - }; - SelectionHandler.prototype._MouseUp = function (sender, e) { - this._IsMouseDown = false; - if (this._ActiveBox === sender) - return; - this._ActiveBox = sender; - if (this._ActiveBox.SelectionLength <= 0) - sender.SelectAll(); - }; - SelectionHandler.prototype._LostFocus = function (sender, e) { - sender.Select(0, 0); - if (this._ActiveBox === sender) - this._ActiveBox = null; - }; - return SelectionHandler; - })(); - Internal.SelectionHandler = SelectionHandler; - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var SpinFlow = (function () { - function SpinFlow(Owner, Spinner) { - this.Owner = Owner; - this.Spinner = Spinner; - if (this.Owner) { - this.Owner.KeyDown.on(this.OnKeyDown, this); - this.Owner.MouseWheel.on(this.OnMouseWheel, this); - } - if (this.Spinner) - this.Spinner.Spin.on(this.Spinner_Spin, this); - } - SpinFlow.prototype.UpdateValid = function (increase, decrease) { - var validSpinDirections = Controls.ValidSpinDirections.None; - if (increase) - validSpinDirections |= Controls.ValidSpinDirections.Increase; - if (decrease) - validSpinDirections |= Controls.ValidSpinDirections.Decrease; - if (this.Spinner) - this.Spinner.ValidSpinDirection = validSpinDirections; - }; - SpinFlow.prototype.Dispose = function () { - if (this.Owner) { - this.Owner.KeyDown.off(this.OnKeyDown, this); - this.Owner.MouseWheel.off(this.OnMouseWheel, this); - } - if (this.Spinner) - this.Spinner.Spin.on(this.Spinner_Spin, this); - }; - SpinFlow.prototype.OnKeyDown = function (sender, e) { - if (e.Handled) - return; - switch (e.Key) { - case Fayde.Input.Key.Enter: - this.Owner.OnSpin(); - e.Handled = true; - break; - case Fayde.Input.Key.Up: - this.DoIncrement(); - e.Handled = true; - break; - case Fayde.Input.Key.Down: - this.DoDecrement(); - e.Handled = true; - break; - } - }; - SpinFlow.prototype.OnMouseWheel = function (sender, e) { - if (e.Handled) - return; - if (e.Delta < 0) - this.DoDecrement(); - else if (0 < e.Delta) - this.DoIncrement(); - e.Handled = true; - }; - SpinFlow.prototype.Spinner_Spin = function (sender, e) { - this.Owner.OnSpin(); - if (!this.Spinner) - return; - if (e.Direction === Controls.SpinDirection.Increase) - this.DoIncrement(); - else - this.DoDecrement(); - }; - SpinFlow.prototype.DoIncrement = function () { - if (this.Spinner && (this.Spinner.ValidSpinDirection & Controls.ValidSpinDirections.Increase) === Controls.ValidSpinDirections.Increase) - this.Owner.OnIncrement(); - }; - SpinFlow.prototype.DoDecrement = function () { - if (this.Spinner && (this.Spinner.ValidSpinDirection & Controls.ValidSpinDirections.Decrease) === Controls.ValidSpinDirections.Decrease) - this.Owner.OnDecrement(); - }; - return SpinFlow; - })(); - Internal.SpinFlow = SpinFlow; - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Internal; - (function (Internal) { - var TextBoxFormatter = (function () { - function TextBoxFormatter(Control, TextBox, OnCoerceValue) { - this.Control = Control; - this.TextBox = TextBox; - this.OnCoerceValue = OnCoerceValue; - this.Text = ""; - if (this.TextBox) { - this.TextBox.GotFocus.on(this.TextBox_GotFocus, this); - this.TextBox.LostFocus.on(this.TextBox_LostFocus, this); - } - this.UpdateTextBoxText(); - this.UpdateIsEditable(); - } - Object.defineProperty(TextBoxFormatter.prototype, "Value", { - get: function () { return this.Control.Value; }, - enumerable: true, - configurable: true - }); - TextBoxFormatter.prototype.ProcessUserInput = function () { - if (!this.TextBox || this.Text === this.TextBox.Text) - return; - var selectionStart = this.TextBox.SelectionStart; - this.Text = this.TextBox.Text; - this.ApplyValue(this.Text); - if (selectionStart < this.TextBox.Text.length) - this.TextBox.SelectionStart = selectionStart; - }; - TextBoxFormatter.prototype.Dispose = function () { - if (this.TextBox) { - this.TextBox.GotFocus.off(this.TextBox_GotFocus, this); - this.TextBox.LostFocus.off(this.TextBox_LostFocus, this); - } - }; - TextBoxFormatter.prototype.TextBox_LostFocus = function (sender, e) { - this.ProcessUserInput(); - }; - TextBoxFormatter.prototype.TextBox_GotFocus = function (sender, e) { - this.SelectAllText(); - }; - TextBoxFormatter.prototype.ApplyValue = function (text) { - var e1 = new Controls.UpDownParsingEventArgs(text); - var obj1; - var error = null; - try { - obj1 = this.Control.ParseValue(text); - e1.Value = obj1; - } - catch (err) { - error = err; - } - try { - this.OnParsing(e1); - } - catch (err) { - } - if (error == null) { - var obj2 = e1.Handled ? e1.Value : obj1; - var value = this.Value; - if (this.Value === obj2) - this.UpdateTextBoxText(); - this.OnCoerceValue(obj2); - } - else if (e1.Handled) { - if (this.Value === e1.Value) - this.UpdateTextBoxText(); - this.OnCoerceValue(e1.Value); - } - else { - var e2 = new Controls.UpDownParseErrorEventArgs(text, error); - this.OnParseError(e2); - if (!e2.Handled) - this.UpdateTextBoxText(); - } - }; - TextBoxFormatter.prototype.OnParseError = function (e) { - this.Control.ParseError.raise(this, e); - }; - TextBoxFormatter.prototype.OnParsing = function (e) { - this.Control.Parsing.raise(this, e); - }; - TextBoxFormatter.prototype.SelectAllText = function () { - if (this.TextBox) - this.TextBox.SelectAll(); - }; - TextBoxFormatter.prototype.UpdateTextBoxText = function () { - if (!this.TextBox) - return; - this.Text = this.Control.FormatValue(this.Value) || ""; - this.TextBox.Text = this.Text; - this.TextBox.SelectionStart = this.Text.length; - }; - TextBoxFormatter.prototype.UpdateIsEditable = function () { - if (this.TextBox) - this.TextBox.IsReadOnly = !this.Control.IsEditable; - }; - return TextBoxFormatter; - })(); - Internal.TextBoxFormatter = TextBoxFormatter; - })(Internal = Controls.Internal || (Controls.Internal = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var TabPanel = (function (_super) { - __extends(TabPanel, _super); - function TabPanel() { - _super.apply(this, arguments); - } - TabPanel.prototype.CreateLayoutUpdater = function () { - return new Controls.tabpanel.TabPanelUpdater(); - }; - Object.defineProperty(TabPanel.prototype, "TabAlignment", { - get: function () { - var tabControlParent = Fayde.VisualTreeHelper.GetParentOfType(this, Controls.TabControl); - if (tabControlParent != null) - return tabControlParent.TabStripPlacement; - return Controls.Dock.Top; - }, - enumerable: true, - configurable: true - }); - TabPanel.setTabAlignment = function (tp, alignment) { - if (!tp) - return; - var upd = tp.XamlNode.LayoutUpdater; - upd.assets.tabAlignment = alignment; - }; - return TabPanel; - })(Controls.Panel); - Controls.TabPanel = TabPanel; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var tabpanel; - (function (tabpanel) { - var TabPanelUpdater = (function (_super) { - __extends(TabPanelUpdater, _super); - function TabPanelUpdater() { - _super.apply(this, arguments); - } - TabPanelUpdater.prototype.init = function () { - this.setMeasurePipe(minerva.singleton(tabpanel.measure.TabPanelMeasurePipeDef)) - .setArrangePipe(minerva.singleton(tabpanel.arrange.TabPanelArrangePipeDef)); - var assets = this.assets; - assets.tabAlignment = Controls.Dock.Top; - assets.numRows = 1; - assets.numHeaders = 0; - assets.rowHeight = 0.0; - _super.prototype.init.call(this); - }; - return TabPanelUpdater; - })(minerva.controls.panel.PanelUpdater); - tabpanel.TabPanelUpdater = TabPanelUpdater; - })(tabpanel = Controls.tabpanel || (Controls.tabpanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var tabpanel; - (function (tabpanel) { - var Size = minerva.Size; - var Visibility = minerva.Visibility; - var helpers; - (function (helpers) { - function getDesiredSizeWithoutMargin(upd) { - var timargin = getTabItemMargin(upd); - var size = new Size(); - Size.copyTo(upd.assets.desiredSize, size); - var margin = upd.assets.margin; - size.height = Math.max(0.0, size.height - margin.top - margin.bottom); - size.width = Math.max(0.0, size.width - margin.left - margin.right + timargin); - return size; - } - helpers.getDesiredSizeWithoutMargin = getDesiredSizeWithoutMargin; - function getTabItemMargin(upd) { - var node = upd.getAttachedValue("$node"); - var ti = node ? node.XObject : null; - if (!(ti instanceof Controls.TabItem) || ti.IsSelected) - return 0; - var panel = ti.GetTemplate(ti.IsSelected, ti.TabStripPlacement); - if (!(panel instanceof Controls.Panel) || panel.Children.Count <= 0) - return 0; - var fe = panel.Children.GetValueAt(0); - if (!(fe instanceof Fayde.FrameworkElement) || !fe.Margin) - return 0; - return Math.abs(fe.Margin.left + fe.Margin.right); - } - function getHeadersSize(tree) { - var arr = []; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - var width = child.assets.visibility === Visibility.Collapsed ? 0.0 : getDesiredSizeWithoutMargin(child).width; - arr.push(width); - } - return arr; - } - helpers.getHeadersSize = getHeadersSize; - function setTabItemZ(upd) { - var node = upd.getAttachedValue("$node"); - var ti = node ? node.XObject : null; - if (!(ti instanceof Controls.TabItem)) - return; - var zi = ti.IsSelected ? 1 : 0; - ti.SetCurrentValue(Controls.Canvas.ZIndexProperty, zi); - } - helpers.setTabItemZ = setTabItemZ; - function getTabItemIsSelected(upd) { - var node = upd.getAttachedValue("$node"); - var ti = node ? node.XObject : null; - if (!(ti instanceof Controls.TabItem)) - return; - return ti.IsSelected === true; - } - function getActiveRow(tree, solution, isDockTop) { - var index = 0; - var num = 0; - if (solution.length > 0) { - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - if (getTabItemIsSelected(child)) - return index; - if (index < solution.length && solution[index] === num) - ++index; - ++num; - } - } - if (isDockTop) - index = this._NumberOfRows - 1; - return index; - } - helpers.getActiveRow = getActiveRow; - function calculateHeaderDistribution(tree, rowWidthLimit, headerWidth) { - var num1 = 0.0; - var length1 = headerWidth.length; - var length2 = this._NumberOfRows - 1; - var num2 = 0.0; - var num3 = 0; - var numArray1 = new Array(length2); - var numArray2 = new Array(length2); - var numArray3 = new Array(this._NumberOfRows); - var numArray4 = numArray3.slice(0); - var numArray5 = numArray3.slice(0); - var numArray6 = numArray3.slice(0); - var index1 = 0; - for (var index2 = 0; index2 < length1; ++index2) { - if (num2 + headerWidth[index2] > rowWidthLimit && num3 > 0) { - numArray4[index1] = num2; - numArray3[index1] = num3; - var num4 = Math.max(0.0, (rowWidthLimit - num2) / num3); - numArray5[index1] = num4; - numArray1[index1] = index2 - 1; - if (num1 < num4) - num1 = num4; - ++index1; - num2 = headerWidth[index2]; - num3 = 1; - } - else { - num2 += headerWidth[index2]; - if (headerWidth[index2] != 0.0) - ++num3; - } - } - if (index1 === 0) - return []; - numArray4[index1] = num2; - numArray3[index1] = num3; - var num5 = (rowWidthLimit - num2) / num3; - numArray5[index1] = num5; - if (num1 < num5) - num1 = num5; - numArray2 = numArray1.slice(0); - numArray6 = numArray5.slice(0); - while (true) { - var num4 = 0; - do { - var num6 = 0; - var num7 = 0.0; - for (var index2 = 0; index2 < this._NumberOfRows; ++index2) { - if (num7 < numArray5[index2]) { - num7 = numArray5[index2]; - num6 = index2; - } - } - if (num6 != 0) { - var index2 = num6; - var index3 = index2 - 1; - var index4 = numArray1[index3]; - var num8 = headerWidth[index4]; - numArray4[index2] += num8; - if (numArray4[index2] <= rowWidthLimit) { - --numArray1[index3]; - ++numArray3[index2]; - numArray4[index3] -= num8; - --numArray3[index3]; - numArray5[index3] = (rowWidthLimit - numArray4[index3]) / numArray3[index3]; - numArray5[index2] = (rowWidthLimit - numArray4[index2]) / numArray3[index2]; - num4 = 0.0; - for (var index5 = 0; index5 < this._NumberOfRows; ++index5) { - if (num4 < numArray5[index5]) - num4 = numArray5[index5]; - } - } - else - break; - } - else - break; - } while (num4 >= num1); - num1 = num4; - numArray2 = numArray1.slice(0); - numArray6 = numArray5.slice(0); - } - var index6 = 0; - var index7 = 0; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - if (child.assets.visibility === Visibility.Visible) - headerWidth[index7] += numArray6[index6]; - if (index6 < length2 && numArray2[index6] == index7) - ++index6; - ++index7; - } - return numArray2; - } - helpers.calculateHeaderDistribution = calculateHeaderDistribution; - })(helpers = tabpanel.helpers || (tabpanel.helpers = {})); - })(tabpanel = Controls.tabpanel || (Controls.tabpanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var FocusingInvalidControlEventArgs = (function () { - function FocusingInvalidControlEventArgs(item, target) { - this.Handled = false; - Object.defineProperties(this, { - "Item": { - value: item, - writable: false - }, - "Target": { - value: target, - writable: false - } - }); - } - return FocusingInvalidControlEventArgs; - })(); - Controls.FocusingInvalidControlEventArgs = FocusingInvalidControlEventArgs; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var ObservableCollection = Fayde.Collections.ObservableCollection; - var ReadOnlyObservableCollection = Fayde.Collections.ReadOnlyObservableCollection; - var ValidationSummary = (function (_super) { - __extends(ValidationSummary, _super); - function ValidationSummary() { - _super.call(this); - this._ErrorsListBox = null; - this._HeaderContentControl = null; - this._ValidationSummaryItemDictionary = {}; - this._Errors = new ValidationItemCollection(); - this._DisplayedErrors = new ValidationItemCollection(); - this.FocusingInvalidControl = new nullstone.Event(); - this.SelectionChanged = new nullstone.Event(); - this.DefaultStyleKey = ValidationSummary; - this._Errors.CollectionChanged.on(this.Errors_CollectionChanged, this); - this.Loaded.on(this.ValidationSummary_Loaded, this); - this.Unloaded.on(this.ValidationSummary_Unloaded, this); - this.IsEnabledChanged.on(this.ValidationSummary_IsEnabledChanged, this); - } - ValidationSummary.GetShowErrorsInSummary = function (dobj) { - return dobj.GetValue(ValidationSummary.ShowErrorsInSummaryProperty) === true; - }; - ValidationSummary.SetShowErrorsInSummary = function (dobj, value) { - dobj.SetValue(ValidationSummary.ShowErrorsInSummaryProperty, value === true); - }; - ValidationSummary.OnShowErrorsInSummaryChanged = function (dobj, args) { - var root = Fayde.VisualTreeHelper.GetRoot(dobj); - if (root) - ValidationSummary.UpdateDisplayedErrorsOnAllValidationSummaries(root); - }; - ValidationSummary.prototype.OnFilterChanged = function (oldValue, newValue) { - this.UpdateDisplayedErrors(); - }; - ValidationSummary.prototype.OnHeaderChanged = function (oldValue, newValue) { - this.UpdateHeaderText(); - }; - ValidationSummary.prototype.OnTargetChanged = function (oldValue, newValue) { - if (this._RegisteredParent != null) { - this._RegisteredParent.BindingValidationError.off(this.Target_BindingValidationError, this); - this._RegisteredParent = null; - } - if (oldValue instanceof Fayde.FrameworkElement) - oldValue.BindingValidationError.off(this.Target_BindingValidationError, this); - if (newValue instanceof Fayde.FrameworkElement) - newValue.BindingValidationError.on(this.Target_BindingValidationError, this); - this._Errors.ClearErrors(Controls.ValidationSummaryItemType.PropertyError); - this.UpdateDisplayedErrors(); - }; - Object.defineProperty(ValidationSummary.prototype, "Errors", { - get: function () { - return this._Errors; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ValidationSummary.prototype, "DisplayedErrors", { - get: function () { - return new ReadOnlyObservableCollection(this._DisplayedErrors); - }, - enumerable: true, - configurable: true - }); - ValidationSummary.prototype.OnApplyTemplate = function () { - _super.prototype.OnApplyTemplate.call(this); - if (this._ErrorsListBox != null) { - this._ErrorsListBox.MouseLeftButtonUp.off(this.ErrorsListBox_MouseLeftButtonUp, this); - this._ErrorsListBox.KeyDown.off(this.ErrorsListBox_KeyDown, this); - this._ErrorsListBox.SelectionChanged.off(this.ErrorsListBox_SelectionChanged, this); - } - this._ErrorsListBox = this.GetTemplateChild("SummaryListBox", Controls.ListBox); - if (this._ErrorsListBox != null) { - this._ErrorsListBox.MouseLeftButtonUp.on(this.ErrorsListBox_MouseLeftButtonUp, this); - this._ErrorsListBox.KeyDown.on(this.ErrorsListBox_KeyDown, this); - this._ErrorsListBox.ItemsSource = this.DisplayedErrors; - this._ErrorsListBox.SelectionChanged.on(this.ErrorsListBox_SelectionChanged, this); - } - this._HeaderContentControl = this.GetTemplateChild("HeaderContentControl", Controls.ContentControl); - this.UpdateDisplayedErrors(); - this.UpdateCommon(false); - this.UpdateValidation(false); - }; - ValidationSummary.prototype.Errors_CollectionChanged = function (sender, e) { - if (e.OldItems != null) { - for (var i = 0, items = e.OldItems; i < items.length; i++) { - var item = items[i]; - if (item) - item.PropertyChanged.off(this.ValidationSummaryItem_PropertyChanged, this); - } - } - if (e.NewItems != null) { - for (var i = 0, items = e.NewItems; i < items.length; i++) { - var item = items[i]; - if (item) - item.PropertyChanged.on(this.ValidationSummaryItem_PropertyChanged, this); - } - } - this.SetCurrentValue(ValidationSummary.HasErrorsProperty, this._Errors.Count > 0); - this.UpdateDisplayedErrors(); - }; - ValidationSummary.prototype.ErrorsListBox_KeyDown = function (sender, e) { - if (e.Key !== Fayde.Input.Key.Enter) - return; - this.ExecuteClick(sender); - }; - ValidationSummary.prototype.ErrorsListBox_MouseLeftButtonUp = function (sender, e) { - this.ExecuteClick(sender); - }; - ValidationSummary.prototype.ErrorsListBox_SelectionChanged = function (sender, e) { - this.SelectionChanged.raise(this, e); - }; - ValidationSummary.prototype.ValidationSummary_Loaded = function (sender, e) { - if (!this.Target && !this._RegisteredParent) { - var rp = Fayde.VisualTreeHelper.GetParent(this); - this._RegisteredParent = rp instanceof Fayde.FrameworkElement ? rp : null; - if (this._RegisteredParent != null) - this._RegisteredParent.BindingValidationError.on(this.Target_BindingValidationError, this); - } - this.Loaded.off(this.ValidationSummary_Loaded, this); - }; - ValidationSummary.prototype.ValidationSummary_Unloaded = function (sender, e) { - if (this._RegisteredParent != null) - this._RegisteredParent.BindingValidationError.off(this.Target_BindingValidationError, this); - this.Unloaded.off(this.ValidationSummary_Unloaded, this); - }; - ValidationSummary.prototype.ValidationSummary_IsEnabledChanged = function (sender, e) { - this.UpdateCommon(true); - }; - ValidationSummary.prototype.ValidationSummaryItem_PropertyChanged = function (sender, e) { - if (!(e.PropertyName === "ItemType")) - return; - this.UpdateDisplayedErrors(); - }; - ValidationSummary.prototype.UpdateValidation = function (useTransitions) { - var _this = this; - var gotoFunc = function (state) { return Fayde.Media.VSM.VisualStateManager.GoToState(_this, state, useTransitions); }; - if (this._DisplayedErrors.Count > 0) { - this.SetCurrentValue(ValidationSummary.HasDisplayedErrorsProperty, true); - gotoFunc("HasErrors"); - } - else { - this.SetCurrentValue(ValidationSummary.HasDisplayedErrorsProperty, false); - gotoFunc("Empty"); - } - }; - ValidationSummary.prototype.UpdateCommon = function (useTransitions) { - var _this = this; - var gotoFunc = function (state) { return Fayde.Media.VSM.VisualStateManager.GoToState(_this, state, useTransitions); }; - if (this.IsEnabled) - gotoFunc("Normal"); - else - gotoFunc("Disabled"); - }; - ValidationSummary.prototype.UpdateHeaderText = function () { - var hcc = this._HeaderContentControl; - if (!hcc) - return; - hcc.Content = (this.Header != null) ? this.Header : this.GetHeaderString(); - }; - ValidationSummary.prototype.UpdateDisplayedErrors = function () { - var showoe = (this.Filter & Controls.ValidationSummaryFilters.ObjectErrors) !== Controls.ValidationSummaryFilters.None; - var showpe = (this.Filter & Controls.ValidationSummaryFilters.PropertyErrors) !== Controls.ValidationSummaryFilters.None; - var arr = []; - for (var en = this.Errors.getEnumerator(); en.moveNext();) { - var item = en.current; - if (!item) - continue; - if (showoe && item.ItemType === Controls.ValidationSummaryItemType.ObjectError) - arr.push(item); - else if (showpe && item.ItemType === Controls.ValidationSummaryItemType.PropertyError) - arr.push(item); - } - arr.sort(Controls.compareSummaryItems); - this._DisplayedErrors.Clear(); - this._DisplayedErrors.AddRange(arr); - this.UpdateValidation(true); - this.UpdateHeaderText(); - }; - ValidationSummary.prototype.Target_BindingValidationError = function (sender, e) { - var element = e.OriginalSource; - if (!e || !e.Error || (e.Error.ErrorContent == null || !(element instanceof Fayde.FrameworkElement))) - return; - var message = e.Error.ErrorContent.toString(); - var key = (element.Name || (element._ID).toString()) + message; - var dict = this._ValidationSummaryItemDictionary; - if (e.Action === Fayde.Validation.ValidationErrorEventAction.Added) { - if (ValidationSummary.GetShowErrorsInSummary(element) === false) - return; - var caption = e.Error.PropertyName; - var item = new Controls.ValidationSummaryItem(message, caption, Controls.ValidationSummaryItemType.PropertyError, new Controls.ValidationSummaryItemSource(caption, element), null); - this._Errors.Add(item); - dict[key] = item; - } - else if (e.Action === Fayde.Validation.ValidationErrorEventAction.Removed) { - if (dict[key]) { - this._Errors.Remove(dict[key]); - dict[key] = undefined; - } - } - }; - ValidationSummary.prototype.GetHeaderString = function () { - var count = this._DisplayedErrors.Count; - if (count === 1) - return "1 Error"; - return count.toString() + " Errors"; - }; - ValidationSummary.prototype.ExecuteClick = function (sender) { - var lb = sender; - if (!(lb instanceof Controls.ListBox)) - return; - var item = lb.SelectedItem; - if (!(item instanceof Controls.ValidationSummaryItem) || !this.FocusControlsOnClick) - return; - if (item.Sources.Count === 0) - this._CurSummItemsSource = null; - else if (ValidationSummary.FindMatchingErrorSource(item.Sources, this._CurSummItemsSource) < 0) - this._CurSummItemsSource = item.Sources.GetValueAt(0); - var e = new Controls.FocusingInvalidControlEventArgs(item, this._CurSummItemsSource); - this.FocusingInvalidControl.raise(this, e); - if (!e.Handled && e.Target != null && e.Target.Control != null) - e.Target.Control.Focus(); - if (item.Sources.Count <= 0) - return; - var matchingErrorSource = ValidationSummary.FindMatchingErrorSource(item.Sources, e.Target); - var index = matchingErrorSource < 0 ? 0 : (matchingErrorSource + 1) % item.Sources.Count; - this._CurSummItemsSource = item.Sources.GetValueAt(index); - }; - ValidationSummary.FindMatchingErrorSource = function (sources, sourceToFind) { - if (!sources) - return -1; - for (var i = 0; i < sources.Count; i++) { - if (sources.GetValueAt(i).Equals(sourceToFind)) - return i; - } - return -1; - }; - ValidationSummary.UpdateDisplayedErrorsOnAllValidationSummaries = function (parent) { - if (!parent) - return; - if (parent instanceof ValidationSummary) { - parent.UpdateDisplayedErrors(); - } - else { - for (var i = 0, count = Fayde.VisualTreeHelper.GetChildrenCount(parent); i < count; i++) { - ValidationSummary.UpdateDisplayedErrorsOnAllValidationSummaries(Fayde.VisualTreeHelper.GetChild(parent, i)); - } - } - }; - ValidationSummary.ShowErrorsInSummaryProperty = DependencyProperty.RegisterAttached("ShowErrorsInSummary", function () { return Boolean; }, ValidationSummary, true, ValidationSummary.OnShowErrorsInSummaryChanged); - ValidationSummary.ErrorStyleProperty = DependencyProperty.Register("ErrorStyle", function () { return Fayde.Style; }, ValidationSummary); - ValidationSummary.FilterProperty = DependencyProperty.Register("Filter", function () { return new Fayde.Enum(Controls.ValidationSummaryFilters); }, ValidationSummary, Controls.ValidationSummaryFilters.All, function (d, args) { return d.OnFilterChanged(args.OldValue, args.NewValue); }); - ValidationSummary.FocusControlsOnClickProperty = DependencyProperty.Register("FocusControlsOnClick", function () { return Boolean; }, ValidationSummary, true); - ValidationSummary.HasErrorsProperty = DependencyProperty.RegisterReadOnly("HasErrors", function () { return Boolean; }, ValidationSummary, false); - ValidationSummary.HasDisplayedErrorsProperty = DependencyProperty.RegisterReadOnly("HasDisplayedErrors", function () { return Boolean; }, ValidationSummary, false); - ValidationSummary.HeaderProperty = DependencyProperty.Register("Header", function () { return Object; }, ValidationSummary, undefined, function (d, args) { return d.OnHeaderChanged(args.OldValue, args.NewValue); }); - ValidationSummary.HeaderTemplateProperty = DependencyProperty.Register("HeaderTemplate", function () { return Fayde.DataTemplate; }, ValidationSummary); - ValidationSummary.SummaryListBoxStyleProperty = DependencyProperty.Register("SummaryListBoxStyle", function () { return Fayde.Style; }, ValidationSummary); - ValidationSummary.TargetProperty = DependencyProperty.Register("Target", function () { return Fayde.UIElement; }, ValidationSummary, undefined, function (d, args) { return d.OnTargetChanged(args.OldValue, args.NewValue); }); - return ValidationSummary; - })(Controls.Control); - Controls.ValidationSummary = ValidationSummary; - Controls.TemplateVisualStates(ValidationSummary, { GroupName: "CommonStates", Name: "Normal" }, { GroupName: "CommonStates", Name: "Disabled" }, { GroupName: "ValidationStates", Name: "HasErrors" }, { GroupName: "ValidationStates", Name: "Empty" }); - Controls.TemplateParts(ValidationSummary, { Name: "SummaryListBox", Type: Controls.ListBox }); - var ValidationItemCollection = (function (_super) { - __extends(ValidationItemCollection, _super); - function ValidationItemCollection() { - _super.apply(this, arguments); - } - ValidationItemCollection.prototype.ClearErrors = function (errorType) { - var toremove = []; - for (var en = this.getEnumerator(); en.moveNext();) { - if (en.current != null && en.current.ItemType === errorType) - toremove.push(en.current); - } - for (var i = 0; i < toremove.length; i++) { - this.Remove(toremove[i]); - } - }; - ValidationItemCollection.prototype.ClearItems = function () { - while (this.Count > 0) { - this.RemoveAt(0); - } - }; - return ValidationItemCollection; - })(ObservableCollection); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var ObservableCollection = Fayde.Collections.ObservableCollection; - var ValidationSummaryItem = (function (_super) { - __extends(ValidationSummaryItem, _super); - function ValidationSummaryItem(message, messageHeader, itemType, source, context) { - _super.call(this); - this.Message = message || null; - this.MessageHeader = messageHeader || null; - this.ItemType = itemType || Controls.ValidationSummaryItemType.ObjectError; - this._Sources = new ObservableCollection(); - if (source != null) - this._Sources.Add(source); - this.Context = context; - } - Object.defineProperty(ValidationSummaryItem.prototype, "Sources", { - get: function () { - return this._Sources; - }, - enumerable: true, - configurable: true - }); - return ValidationSummaryItem; - })(Fayde.MVVM.ObservableObject); - Controls.ValidationSummaryItem = ValidationSummaryItem; - Fayde.MVVM.NotifyProperties(ValidationSummaryItem, ["Message", "MessageHeader", "ItemType", "Context"]); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var ValidationSummaryItemSource = (function () { - function ValidationSummaryItemSource(propertyName, control) { - Object.defineProperties(this, { - "PropertyName": { - value: propertyName, - writable: false - }, - "Control": { - value: control || null, - writable: false - } - }); - } - ValidationSummaryItemSource.prototype.Equals = function (other) { - if (!(other instanceof ValidationSummaryItemSource)) - return false; - var vsis = other; - return vsis.PropertyName === this.PropertyName && vsis.Control === this.Control; - }; - return ValidationSummaryItemSource; - })(); - Controls.ValidationSummaryItemSource = ValidationSummaryItemSource; - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - function compareSummaryItems(item1, item2) { - var refs = compareRefs(item1, item2); - if (refs != null) - return refs; - var comp = compareNum(item1.ItemType, item2.ItemType); - if (comp !== 0) - return comp; - var control1 = item1.Sources.Count > 0 ? item1.Sources.GetValueAt(0).Control : null; - var control2 = item2.Sources.Count > 0 ? item2.Sources.GetValueAt(0).Control : null; - if (control1 !== control2) { - refs = compareRefs(control1, control2); - if (refs != null) - return refs; - comp = compareNum(control1.TabIndex, control2.TabIndex); - if (comp !== 0) - return comp; - return compareVisualOrder(control1, control2); - } - } - Controls.compareSummaryItems = compareSummaryItems; - function compareRefs(item1, item2) { - if (item1 == null) - return item2 == null ? null : -1; - if (item2 == null) - return 1; - return null; - } - function compareNum(x, y) { - return x === y ? 0 : (x < y ? -1 : 1); - } - function compareVisualOrder(control1, control2) { - if (!control1 || !control2 || control1 === control2) - return 0; - var trail = []; - var cur = control1; - trail.push(cur); - while ((cur = Fayde.VisualTreeHelper.GetParent(cur)) != null) { - trail.push(cur); - } - cur = control2; - var last = cur; - while ((cur = Fayde.VisualTreeHelper.GetParent(cur)) != null) { - var index = trail.indexOf(cur); - if (index === 0) - return -1; - if (index < 0) - continue; - var prev = trail[index - 1]; - if (!last || !prev) - return 0; - for (var i = 0, count = Fayde.VisualTreeHelper.GetChildrenCount(cur); i < count; i++) { - var child = Fayde.VisualTreeHelper.GetChild(cur, i); - if (child === prev) - return 1; - if (child === last) - return -1; - } - last = cur; - } - return 0; - } - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var Viewbox = (function (_super) { - __extends(Viewbox, _super); - function Viewbox() { - _super.apply(this, arguments); - } - Viewbox.prototype.CreateLayoutUpdater = function () { - return new Controls.viewbox.ViewboxUpdater(); - }; - Viewbox.ChildProperty = DependencyProperty.Register("Child", function () { return Fayde.UIElement; }, Viewbox); - Viewbox.StretchProperty = DependencyProperty.Register("Stretch", function () { return new Fayde.Enum(Fayde.Media.Stretch); }, Viewbox, undefined, function (d, args) { return d.InvalidateMeasure(); }); - Viewbox.StretchDirectionProperty = DependencyProperty.Register("StretchDirection", function () { return new Fayde.Enum(Controls.StretchDirection); }, Viewbox, undefined, function (d, args) { return d.InvalidateMeasure(); }); - return Viewbox; - })(Fayde.FrameworkElement); - Controls.Viewbox = Viewbox; - Fayde.Markup.Content(Viewbox, Viewbox.ChildProperty); - var reactions; - (function (reactions) { - Fayde.UIReaction(Viewbox.StretchProperty, function (updater, ov, nv) { return updater.invalidateMeasure(); }, false); - Fayde.UIReaction(Viewbox.StretchDirectionProperty, function (updater, ov, nv) { return updater.invalidateMeasure(); }, false); - Fayde.UIReaction(Viewbox.ChildProperty, function (upd, ov, nv, viewbox) { - var node = viewbox.XamlNode; - var error = new BError(); - if (ov instanceof Fayde.UIElement) - node.DetachVisualChild(ov, error); - if (nv instanceof Fayde.UIElement) - node.AttachVisualChild(nv, error); - if (error.Message) - error.ThrowException(); - upd.updateBounds(); - upd.invalidateMeasure(); - }, false, false); - })(reactions || (reactions = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var viewbox; - (function (viewbox) { - var ViewboxUpdater = (function (_super) { - __extends(ViewboxUpdater, _super); - function ViewboxUpdater() { - _super.apply(this, arguments); - } - ViewboxUpdater.prototype.init = function () { - this.setProcessDownPipe(minerva.singleton(viewbox.processdown.ViewboxProcessDownPipeDef)); - var assets = this.assets; - assets.stretch = Fayde.Media.Stretch.Uniform; - assets.stretchDirection = Controls.StretchDirection.Both; - assets.viewXform = mat3.identity(); - _super.prototype.init.call(this); - }; - ViewboxUpdater.prototype.measureOverride = function (availableSize) { - var child = this.tree.subtree; - if (!child) - return new Size(); - child.measure(new Size(Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY)); - var childSize = child.assets.desiredSize; - var scalefac = viewbox.helpers.computeScaleFactor(availableSize, childSize, this.assets.stretch, this.assets.stretchDirection); - return new Size(scalefac.width * childSize.width, scalefac.height * childSize.height); - }; - ViewboxUpdater.prototype.arrangeOverride = function (finalSize) { - var child = this.tree.subtree; - if (!child) - return new Size(); - var assets = this.assets; - var childSize = child.assets.desiredSize; - var scale = viewbox.helpers.computeScaleFactor(finalSize, childSize, assets.stretch, assets.stretchDirection); - child.arrange(new Rect(0, 0, childSize.width, childSize.height)); - this.setViewXform(scale.width, scale.height); - return new Size(scale.width * childSize.width, scale.height * childSize.height); - }; - ViewboxUpdater.prototype.setViewXform = function (sx, sy) { - var assets = this.assets; - var xform = mat3.createScale(sx, sy); - if (!mat3.equal(assets.viewXform, xform)) { - mat3.copyTo(xform, assets.viewXform); - assets.dirtyFlags |= minerva.DirtyFlags.Transform; - } - }; - return ViewboxUpdater; - })(minerva.anon.AnonymousUpdater); - viewbox.ViewboxUpdater = ViewboxUpdater; - })(viewbox = Controls.viewbox || (Controls.viewbox = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var viewbox; - (function (viewbox) { - var helpers; - (function (helpers) { - function computeScaleFactor(availableSize, contentSize, stretch, stretchDirection) { - var scaleX = 1.0; - var scaleY = 1.0; - var isConstrainedWidth = isFinite(availableSize.width); - var isConstrainedHeight = isFinite(availableSize.height); - if ((stretch === Fayde.Media.Stretch.Uniform || stretch === Fayde.Media.Stretch.UniformToFill || stretch === Fayde.Media.Stretch.Fill) - && (isConstrainedWidth || isConstrainedHeight)) { - scaleX = isZero(contentSize.width) ? 0.0 : availableSize.width / contentSize.width; - scaleY = isZero(contentSize.height) ? 0.0 : availableSize.height / contentSize.height; - if (!isConstrainedWidth) - scaleX = scaleY; - else if (!isConstrainedHeight) - scaleY = scaleX; - else { - switch (stretch) { - case Fayde.Media.Stretch.Uniform: - var minscale = scaleX < scaleY ? scaleX : scaleY; - scaleX = scaleY = minscale; - break; - case Fayde.Media.Stretch.UniformToFill: - var maxscale = scaleX > scaleY ? scaleX : scaleY; - scaleX = scaleY = maxscale; - break; - case Fayde.Media.Stretch.Fill: - break; - } - } - switch (stretchDirection) { - case Controls.StretchDirection.UpOnly: - if (scaleX < 1.0) - scaleX = 1.0; - if (scaleY < 1.0) - scaleY = 1.0; - break; - case Controls.StretchDirection.DownOnly: - if (scaleX > 1.0) - scaleX = 1.0; - if (scaleY > 1.0) - scaleY = 1.0; - break; - case Controls.StretchDirection.Both: - break; - default: - break; - } - } - return new Size(scaleX, scaleY); - } - helpers.computeScaleFactor = computeScaleFactor; - var epsilon = 1.192093E-07; - function isZero(val) { - return Math.abs(val) < epsilon; - } - })(helpers = viewbox.helpers || (viewbox.helpers = {})); - })(viewbox = Controls.viewbox || (Controls.viewbox = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var WrapPanel = (function (_super) { - __extends(WrapPanel, _super); - function WrapPanel() { - _super.apply(this, arguments); - } - WrapPanel.prototype.CreateLayoutUpdater = function () { - return new Controls.wrappanel.WrapPanelUpdater(); - }; - WrapPanel.OrientationProperty = DependencyProperty.Register("Orientation", function () { return new Fayde.Enum(Fayde.Orientation); }, WrapPanel, Fayde.Orientation.Horizontal); - WrapPanel.ItemWidthProperty = DependencyProperty.Register("ItemWidth", function () { return Number; }, WrapPanel, NaN); - WrapPanel.ItemHeightProperty = DependencyProperty.Register("ItemHeight", function () { return Number; }, WrapPanel, NaN); - return WrapPanel; - })(Fayde.Controls.Panel); - Controls.WrapPanel = WrapPanel; - var reactions; - (function (reactions) { - Fayde.UIReaction(WrapPanel.OrientationProperty, function (upd, ov, nv) { return upd.invalidateMeasure(); }, false); - Fayde.UIReaction(WrapPanel.ItemWidthProperty, function (upd, ov, nv) { return upd.invalidateMeasure(); }, false); - Fayde.UIReaction(WrapPanel.ItemHeightProperty, function (upd, ov, nv) { return upd.invalidateMeasure(); }, false); - })(reactions || (reactions = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var wrappanel; - (function (wrappanel) { - var WrapPanelUpdater = (function (_super) { - __extends(WrapPanelUpdater, _super); - function WrapPanelUpdater() { - _super.apply(this, arguments); - } - WrapPanelUpdater.prototype.init = function () { - this.setMeasurePipe(minerva.singleton(wrappanel.measure.WrapPanelMeasurePipeDef)) - .setArrangePipe(minerva.singleton(wrappanel.arrange.WrapPanelArrangePipeDef)); - var assets = this.assets; - assets.orientation = Fayde.Orientation.Horizontal; - assets.itemWidth = NaN; - assets.itemHeight = NaN; - _super.prototype.init.call(this); - }; - return WrapPanelUpdater; - })(minerva.controls.panel.PanelUpdater); - wrappanel.WrapPanelUpdater = WrapPanelUpdater; - })(wrappanel = Controls.wrappanel || (Controls.wrappanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var wrappanel; - (function (wrappanel) { - var helpers; - (function (helpers) { - function coerceChildSize(child, itemWidth, itemHeight) { - var node = child.getAttachedValue("$node"); - var xobj = node ? node.XObject : null; - if (!xobj) - return; - if (isNaN(child.assets.width) && !isNaN(itemWidth)) - xobj.Width = itemWidth; - if (isNaN(child.assets.height) && !isNaN(itemHeight)) - xobj.Height = itemHeight; - } - helpers.coerceChildSize = coerceChildSize; - })(helpers = wrappanel.helpers || (wrappanel.helpers = {})); - })(wrappanel = Controls.wrappanel || (Controls.wrappanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var tabpanel; - (function (tabpanel) { - var arrange; - (function (arrange) { - var TabPanelArrangePipeDef = (function (_super) { - __extends(TabPanelArrangePipeDef, _super); - function TabPanelArrangePipeDef() { - _super.call(this); - this.addTapinAfter('doOverride', 'doVertical', arrange.tapins.doVertical) - .addTapinAfter('doVertical', 'doHorizontal', arrange.tapins.doHorizontal) - .removeTapin('doOverride'); - } - return TabPanelArrangePipeDef; - })(minerva.controls.panel.arrange.PanelArrangePipeDef); - arrange.TabPanelArrangePipeDef = TabPanelArrangePipeDef; - })(arrange = tabpanel.arrange || (tabpanel.arrange = {})); - })(tabpanel = Controls.tabpanel || (Controls.tabpanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var tabpanel; - (function (tabpanel) { - var measure; - (function (measure) { - var panel = minerva.controls.panel; - var TabPanelMeasurePipeDef = (function (_super) { - __extends(TabPanelMeasurePipeDef, _super); - function TabPanelMeasurePipeDef() { - _super.call(this); - this.addTapinAfter('doOverride', 'doVertical', measure.tapins.doVertical) - .addTapinAfter('doVertical', 'doHorizontal', measure.tapins.doHorizontal) - .removeTapin('doOverride'); - } - TabPanelMeasurePipeDef.prototype.createOutput = function () { - var output = _super.prototype.createOutput.call(this); - output.numRows = 1; - output.numHeaders = 0; - output.rowHeight = 0.0; - return output; - }; - TabPanelMeasurePipeDef.prototype.prepare = function (input, state, output) { - output.numRows = input.numRows; - output.numHeaders = input.numHeaders; - output.rowHeight = input.rowHeight; - _super.prototype.prepare.call(this, input, state, output); - }; - TabPanelMeasurePipeDef.prototype.flush = function (input, state, output) { - _super.prototype.flush.call(this, input, state, output); - input.numRows = output.numRows; - input.numHeaders = output.numHeaders; - input.rowHeight = output.rowHeight; - }; - return TabPanelMeasurePipeDef; - })(panel.measure.PanelMeasurePipeDef); - measure.TabPanelMeasurePipeDef = TabPanelMeasurePipeDef; - })(measure = tabpanel.measure || (tabpanel.measure = {})); - })(tabpanel = Controls.tabpanel || (Controls.tabpanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var viewbox; - (function (viewbox) { - var processdown; - (function (processdown) { - var ViewboxProcessDownPipeDef = (function (_super) { - __extends(ViewboxProcessDownPipeDef, _super); - function ViewboxProcessDownPipeDef() { - _super.call(this); - this.addTapinAfter('calcRenderXform', 'applyViewXform', tapins.applyViewXform); - } - return ViewboxProcessDownPipeDef; - })(minerva.core.processdown.ProcessDownPipeDef); - processdown.ViewboxProcessDownPipeDef = ViewboxProcessDownPipeDef; - var tapins; - (function (tapins) { - function applyViewXform(input, state, output, vpinput, tree) { - if ((input.dirtyFlags & minerva.DirtyFlags.Transform) === 0) - return true; - mat3.preapply(output.renderXform, input.viewXform); - return true; - } - tapins.applyViewXform = applyViewXform; - })(tapins || (tapins = {})); - })(processdown = viewbox.processdown || (viewbox.processdown = {})); - })(viewbox = Controls.viewbox || (Controls.viewbox = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var wrappanel; - (function (wrappanel) { - var arrange; - (function (arrange) { - var panel = minerva.controls.panel; - var WrapPanelArrangePipeDef = (function (_super) { - __extends(WrapPanelArrangePipeDef, _super); - function WrapPanelArrangePipeDef() { - _super.call(this); - this.addTapinAfter('doOverride', 'doHorizontal', arrange.tapins.doHorizontal) - .addTapinAfter('doOverride', 'doVertical', arrange.tapins.doVertical) - .removeTapin('doOverride'); - } - return WrapPanelArrangePipeDef; - })(panel.arrange.PanelArrangePipeDef); - arrange.WrapPanelArrangePipeDef = WrapPanelArrangePipeDef; - })(arrange = wrappanel.arrange || (wrappanel.arrange = {})); - })(wrappanel = Controls.wrappanel || (Controls.wrappanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var wrappanel; - (function (wrappanel) { - var measure; - (function (measure) { - var panel = minerva.controls.panel; - var WrapPanelMeasurePipeDef = (function (_super) { - __extends(WrapPanelMeasurePipeDef, _super); - function WrapPanelMeasurePipeDef() { - _super.call(this); - this.addTapinAfter('doOverride', 'doHorizontal', measure.tapins.doHorizontal) - .addTapinAfter('doOverride', 'doVertical', measure.tapins.doVertical) - .removeTapin('doOverride'); - } - return WrapPanelMeasurePipeDef; - })(panel.measure.PanelMeasurePipeDef); - measure.WrapPanelMeasurePipeDef = WrapPanelMeasurePipeDef; - })(measure = wrappanel.measure || (wrappanel.measure = {})); - })(wrappanel = Controls.wrappanel || (Controls.wrappanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var tabpanel; - (function (tabpanel) { - var arrange; - (function (arrange) { - var tapins; - (function (tapins) { - var Point = minerva.Point; - function doHorizontal(input, state, output, tree, finalRect) { - if (input.tabAlignment !== Controls.Dock.Top && input.tabAlignment !== Controls.Dock.Bottom) - return true; - var fs = state.finalSize; - var isMultiRow = input.numRows > 1; - var activeRow = 0; - var solution = []; - var childOffset = new Point(); - var headersSize = tabpanel.helpers.getHeadersSize(tree); - if (isMultiRow) { - solution = tabpanel.helpers.calculateHeaderDistribution(tree, fs.width, headersSize); - activeRow = tabpanel.helpers.getActiveRow(tree, solution, input.tabAlignment === Controls.Dock.Top); - if (input.tabAlignment === Controls.Dock.Top) - childOffset.y = (input.numRows - 1.0 - activeRow) * input.rowHeight; - if (input.tabAlignment === Controls.Dock.Bottom && activeRow !== 0) - childOffset.y = (input.numRows - activeRow) * input.rowHeight; - } - var cr = state.childRect; - cr.x = cr.y = cr.width = cr.height = 0; - cr.height = input.rowHeight; - var childIndex = 0; - var separatorIndex = 0; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - if (child.assets.visibility === minerva.Visibility.Collapsed) - continue; - cr.width = headersSize[childIndex]; - cr.height = input.rowHeight; - var isLastHeaderInRow = isMultiRow && (separatorIndex < solution.length && solution[separatorIndex] === childIndex || childIndex === (input.numHeaders - 1)); - if (isLastHeaderInRow) - cr.width = fs.width - childOffset.x; - child.arrange(cr); - cr.x += cr.width; - if (isLastHeaderInRow) { - if ((separatorIndex === activeRow && input.tabAlignment === Controls.Dock.Top) || - (separatorIndex === activeRow - 1 && input.tabAlignment === Controls.Dock.Bottom)) - childOffset.y = 0; - else - childOffset.y += input.rowHeight; - childOffset.x = 0; - separatorIndex++; - } - childIndex++; - } - return true; - } - tapins.doHorizontal = doHorizontal; - })(tapins = arrange.tapins || (arrange.tapins = {})); - })(arrange = tabpanel.arrange || (tabpanel.arrange = {})); - })(tabpanel = Controls.tabpanel || (Controls.tabpanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var tabpanel; - (function (tabpanel) { - var arrange; - (function (arrange) { - var tapins; - (function (tapins) { - function doVertical(input, state, output, tree, finalRect) { - if (input.tabAlignment !== Controls.Dock.Left && input.tabAlignment !== Controls.Dock.Right) - return true; - var cr = state.childRect; - cr.x = cr.y = 0; - cr.width = state.finalSize.width; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - if (child.assets.visibility === minerva.Visibility.Collapsed) - continue; - tabpanel.helpers.setTabItemZ(child); - var sizeWithoutMargin = tabpanel.helpers.getDesiredSizeWithoutMargin(child); - cr.height = sizeWithoutMargin.height; - child.arrange(cr); - cr.y += sizeWithoutMargin.height; - } - return true; - } - tapins.doVertical = doVertical; - })(tapins = arrange.tapins || (arrange.tapins = {})); - })(arrange = tabpanel.arrange || (tabpanel.arrange = {})); - })(tabpanel = Controls.tabpanel || (Controls.tabpanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var tabpanel; - (function (tabpanel) { - var measure; - (function (measure) { - var tapins; - (function (tapins) { - function doHorizontal(input, state, output, tree, availableSize) { - if (input.tabAlignment !== Controls.Dock.Top && input.tabAlignment !== Controls.Dock.Bottom) - return true; - var ds = output.desiredSize; - ds.width = ds.height = 0; - output.numRows = 1; - output.numHeaders = 0; - output.rowHeight = 0.0; - var count = 0; - var totalWidth = 0.0; - var num3 = 0.0; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - if (child.assets.visibility === minerva.Visibility.Collapsed) - break; - output.numHeaders++; - child.measure(state.availableSize); - var sizeWithoutMargin = tabpanel.helpers.getDesiredSizeWithoutMargin(child); - if (output.rowHeight < sizeWithoutMargin.height) - output.rowHeight = sizeWithoutMargin.height; - if (totalWidth + sizeWithoutMargin.width > availableSize.width && count > 0) { - if (num3 < totalWidth) - num3 = totalWidth; - totalWidth = sizeWithoutMargin.width; - count = 1; - output.numRows++; - } - else { - totalWidth += sizeWithoutMargin.width; - count++; - } - } - if (num3 < totalWidth) - num3 = totalWidth; - ds.height = output.rowHeight * output.numRows; - ds.width = !isFinite(ds.width) || isNaN(ds.width) || num3 < availableSize.width ? num3 : availableSize.width; - return true; - } - tapins.doHorizontal = doHorizontal; - })(tapins = measure.tapins || (measure.tapins = {})); - })(measure = tabpanel.measure || (tabpanel.measure = {})); - })(tabpanel = Controls.tabpanel || (Controls.tabpanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var tabpanel; - (function (tabpanel) { - var measure; - (function (measure) { - var tapins; - (function (tapins) { - function doVertical(input, state, output, tree, availableSize) { - if (input.tabAlignment !== Controls.Dock.Left && input.tabAlignment !== Controls.Dock.Right) - return true; - var ds = output.desiredSize; - ds.width = ds.height = 0; - output.numRows = 1; - output.numHeaders = 0; - output.rowHeight = 0.0; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - if (child.assets.visibility === minerva.Visibility.Collapsed) - break; - output.numHeaders++; - child.measure(state.availableSize); - var sizeWithoutMargin = tabpanel.helpers.getDesiredSizeWithoutMargin(child); - if (ds.width < sizeWithoutMargin.width) - ds.width = sizeWithoutMargin.width; - ds.height += sizeWithoutMargin.height; - } - return true; - } - tapins.doVertical = doVertical; - })(tapins = measure.tapins || (measure.tapins = {})); - })(measure = tabpanel.measure || (tabpanel.measure = {})); - })(tabpanel = Controls.tabpanel || (Controls.tabpanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var wrappanel; - (function (wrappanel) { - var arrange; - (function (arrange) { - var tapins; - (function (tapins) { - var Size = minerva.Size; - function doHorizontal(input, state, output, tree, finalRect) { - if (input.orientation !== Fayde.Orientation.Horizontal) - return true; - var fs = state.finalSize; - var as = state.arrangedSize; - Size.copyTo(fs, as); - var cr = state.childRect; - cr.x = cr.y = cr.width = cr.height = 0; - var rowHeight = 0; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - var childDesired = child.assets.desiredSize; - if (fs.width < (cr.x + childDesired.width)) { - cr.x = 0; - cr.y += rowHeight; - rowHeight = 0; - } - rowHeight = Math.max(rowHeight, childDesired.height); - Size.copyTo(childDesired, cr); - child.arrange(cr); - cr.x += childDesired.width; - } - as.width = Math.max(as.width, fs.width); - return true; - } - tapins.doHorizontal = doHorizontal; - })(tapins = arrange.tapins || (arrange.tapins = {})); - })(arrange = wrappanel.arrange || (wrappanel.arrange = {})); - })(wrappanel = Controls.wrappanel || (Controls.wrappanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var wrappanel; - (function (wrappanel) { - var arrange; - (function (arrange) { - var tapins; - (function (tapins) { - var Size = minerva.Size; - function doVertical(input, state, output, tree, finalRect) { - if (input.orientation !== Fayde.Orientation.Vertical) - return true; - var fs = state.finalSize; - var as = state.arrangedSize; - Size.copyTo(fs, as); - var cr = state.childRect; - cr.x = cr.y = cr.width = cr.height = 0; - var colWidth = 0; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - var childDesired = child.assets.desiredSize; - if (fs.height < (cr.y + childDesired.height)) { - cr.x += colWidth; - cr.y = 0; - colWidth = 0; - } - colWidth = Math.max(colWidth, childDesired.width); - Size.copyTo(childDesired, cr); - child.arrange(cr); - cr.y += childDesired.height; - } - as.height = Math.max(as.height, fs.height); - return true; - } - tapins.doVertical = doVertical; - })(tapins = arrange.tapins || (arrange.tapins = {})); - })(arrange = wrappanel.arrange || (wrappanel.arrange = {})); - })(wrappanel = Controls.wrappanel || (Controls.wrappanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var wrappanel; - (function (wrappanel) { - var measure; - (function (measure) { - var tapins; - (function (tapins) { - function doHorizontal(input, state, output, tree, availableSize) { - if (input.orientation !== Fayde.Orientation.Horizontal) - return true; - var as = state.availableSize; - if (!isNaN(input.height)) - as.height = input.height; - as.height = Math.min(as.height, input.maxHeight); - as.height = Math.max(as.height, input.minHeight); - var ds = output.desiredSize; - ds.width = ds.height = 0; - var rowHeight = 0; - var offsetX = 0; - var offsetY = 0; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - wrappanel.helpers.coerceChildSize(child, input.itemWidth, input.itemHeight); - child.measure(as); - var childDesired = child.assets.desiredSize; - if (as.width < (offsetX + childDesired.width)) { - offsetX = 0; - offsetY += rowHeight; - rowHeight = 0; - } - rowHeight = Math.max(rowHeight, childDesired.height); - ds.height = Math.max(ds.height, offsetY + childDesired.height); - ds.width = Math.max(ds.width, offsetX + childDesired.width); - offsetX += childDesired.width; - } - return true; - } - tapins.doHorizontal = doHorizontal; - })(tapins = measure.tapins || (measure.tapins = {})); - })(measure = wrappanel.measure || (wrappanel.measure = {})); - })(wrappanel = Controls.wrappanel || (Controls.wrappanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); -var Fayde; -(function (Fayde) { - var Controls; - (function (Controls) { - var wrappanel; - (function (wrappanel) { - var measure; - (function (measure) { - var tapins; - (function (tapins) { - function doVertical(input, state, output, tree, availableSize) { - if (input.orientation !== Fayde.Orientation.Vertical) - return true; - var as = state.availableSize; - if (!isNaN(input.width)) - as.width = input.width; - as.width = Math.min(as.width, input.maxWidth); - as.width = Math.max(as.width, input.minWidth); - var ds = output.desiredSize; - ds.width = ds.height = 0; - var colWidth = 0; - var offsetX = 0; - var offsetY = 0; - for (var walker = tree.walk(); walker.step();) { - var child = walker.current; - wrappanel.helpers.coerceChildSize(child, input.itemWidth, input.itemHeight); - child.measure(as); - var childDesired = child.assets.desiredSize; - if (as.height < (offsetY + childDesired.height)) { - offsetX += colWidth; - offsetY = 0; - colWidth = 0; - } - colWidth = Math.max(colWidth, childDesired.width); - ds.height = Math.max(ds.height, offsetY + childDesired.height); - ds.width = Math.max(ds.width, offsetX + childDesired.width); - offsetY += childDesired.height; - } - return true; - } - tapins.doVertical = doVertical; - })(tapins = measure.tapins || (measure.tapins = {})); - })(measure = wrappanel.measure || (wrappanel.measure = {})); - })(wrappanel = Controls.wrappanel || (Controls.wrappanel = {})); - })(Controls = Fayde.Controls || (Fayde.Controls = {})); -})(Fayde || (Fayde = {})); - -//# sourceMappingURL=fayde.controls.js.map diff --git a/dist/fayde.controls.js.map b/dist/fayde.controls.js.map deleted file mode 100644 index 14eb116..0000000 --- a/dist/fayde.controls.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["_version.ts","_Library.ts","BusyIndicator.ts","Primitives/MenuBase.ts","ContextMenu.ts","ContextMenuService.ts","DatePicker.ts","Enums.ts","Spinner.ts","UpDownBase.ts","DomainUpDown.ts","GridSplitter.ts","HeaderedItemsControl.ts","MenuItem.ts","NumericUpDown.ts","Separator.ts","SpinEventArgs.ts","TabControl.ts","TabItem.ts","TimePicker.ts","TreeView.ts","TreeViewItem.ts","UpDownParseErrorEventArgs.ts","UpDownParsingEventArgs.ts","ContextMenu/RootVisualTracker.ts","Internal/BindingSourceEvaluator.ts","Internal/DomainCoercer.ts","Internal/EventGesture.ts","Internal/FormattedRangeCoercer.ts","Internal/GridSplitterResizer.ts","Internal/ItemsControlHelper.ts","Internal/MultiClickHelper.ts","Internal/ObservableObjectCollection.ts","Internal/ScrollEx.ts","Internal/SelectionHandler.ts","Internal/SpinFlow.ts","Internal/TextBoxFormatter.ts","TabPanel/TabPanel.ts","TabPanel/TabPanelUpdater.ts","TabPanel/helpers.ts","Validation/FocusingInvalidControlEventArgs.ts","Validation/ValidationSummary.ts","Validation/ValidationSummaryItem.ts","Validation/ValidationSummaryItemSource.ts","Validation/compare.ts","ViewBox/ViewBox.ts","ViewBox/ViewBoxUpdater.ts","ViewBox/helpers.ts","WrapPanel/WrapPanel.ts","WrapPanel/WrapPanelUpdater.ts","WrapPanel/helpers.ts","TabPanel/arrange/TabPanelArrangePipeDef.ts","TabPanel/measure/TabPanelMeasurePipeDef.ts","ViewBox/processdown/ViewBoxProcessDownPipeDef.ts","WrapPanel/arrange/WrapPanelArrangePipeDef.ts","WrapPanel/measure/WrapPanelMeasurePipeDef.ts","TabPanel/arrange/tapins/doHorizontal.ts","TabPanel/arrange/tapins/doVertical.ts","TabPanel/measure/tapins/doHorizontal.ts","TabPanel/measure/tapins/doVertical.ts","WrapPanel/arrange/tapins/doHorizontal.ts","WrapPanel/arrange/tapins/doVertical.ts","WrapPanel/measure/tapins/doHorizontal.ts","WrapPanel/measure/tapins/doVertical.ts"],"names":["Fayde","Fayde.Controls","Fayde.Controls.BusyIndicator","Fayde.Controls.BusyIndicator.constructor","Fayde.Controls.BusyIndicator.OnBusyContentChanged","Fayde.Controls.Primitives","Fayde.Controls.Primitives.MenuBase","Fayde.Controls.Primitives.MenuBase.constructor","Fayde.Controls.Primitives.MenuBase.IsItemItsOwnContainer","Fayde.Controls.Primitives.MenuBase.GetContainerForItem","Fayde.Controls.Primitives.MenuBase.PrepareContainerForItem","Fayde.Controls.Primitives.MenuBase.HasDefaultValue","Fayde.Controls.ContextMenu","Fayde.Controls.ContextMenu.constructor","Fayde.Controls.ContextMenu.OnHorizontalOffsetChanged","Fayde.Controls.ContextMenu.OnVerticalOffsetChanged","Fayde.Controls.ContextMenu.OnIsOpenChanged","Fayde.Controls.ContextMenu.OnKeyDown","Fayde.Controls.ContextMenu.OnMouseLeftButtonDown","Fayde.Controls.ContextMenu.OnMouseRightButtonDown","Fayde.Controls.ContextMenu.Owner","Fayde.Controls.ContextMenu._HandleOwnerMouseRightButtonDown","Fayde.Controls.ContextMenu._HandleOverlayMouseButtonDown","Fayde.Controls.ContextMenu._HandleContextMenuSizeChanged","Fayde.Controls.ContextMenu.ChildMenuItemClicked","Fayde.Controls.ContextMenu.UpdateContextMenuPlacement","Fayde.Controls.ContextMenu.OpenPopup","Fayde.Controls.ContextMenu.OnOpened","Fayde.Controls.ContextMenu.ClosePopup","Fayde.Controls.ContextMenu.OnClosed","Fayde.Controls.ContextMenu.FocusNextItem","Fayde.Controls.ContextMenuService","Fayde.Controls.ContextMenuService.constructor","Fayde.Controls.ContextMenuService.GetContextMenu","Fayde.Controls.ContextMenuService.SetContextMenu","Fayde.Controls.ContextMenuService.OnContextMenuPropertyChanged","Fayde.Controls.DatePicker","Fayde.Controls.DatePicker.constructor","Fayde.Controls.DatePicker.OnSelectedMonthChanged","Fayde.Controls.DatePicker.OnSelectedDayChanged","Fayde.Controls.DatePicker.OnSelectedYearChanged","Fayde.Controls.DatePicker.OnSelectedDateChanged","Fayde.Controls.DatePicker.OnApplyTemplate","Fayde.Controls.DatePicker.CoerceMonth","Fayde.Controls.DatePicker.CoerceDay","Fayde.Controls.DatePicker.CoerceYear","Fayde.Controls.DatePicker.CoerceDate","Fayde.Controls.DatePicker._UpdateText","Fayde.Controls.formatNumber","Fayde.Controls.ValidSpinDirections","Fayde.Controls.SpinDirection","Fayde.Controls.InvalidInputAction","Fayde.Controls.Dock","Fayde.Controls.DatePickerFormat","Fayde.Controls.TimeDisplayMode","Fayde.Controls.ValidationSummaryFilters","Fayde.Controls.ValidationSummaryItemType","Fayde.Controls.StretchDirection","Fayde.Controls.Spinner","Fayde.Controls.Spinner.constructor","Fayde.Controls.Spinner.OnContentChanged","Fayde.Controls.Spinner.OnValidSpinDirectionChanged","Fayde.Controls.Spinner.OnSpin","Fayde.Controls.Spinner.OnApplyTemplate","Fayde.Controls.Spinner.OnIncreaseClick","Fayde.Controls.Spinner.OnDecreaseClick","Fayde.Controls.Spinner.EnableButtons","Fayde.Controls.Spinner.GoToStates","Fayde.Controls.Spinner.GoToStateCommon","Fayde.Controls.Spinner.GoToStateIncrease","Fayde.Controls.Spinner.GoToStateDecrease","Fayde.Controls.Spinner.OnMouseEnter","Fayde.Controls.Spinner.OnMouseLeave","Fayde.Controls.Spinner.OnMouseLeftButtonDown","Fayde.Controls.Spinner.OnMouseLeftButtonUp","Fayde.Controls.Spinner.OnGotFocus","Fayde.Controls.Spinner.OnLostFocus","Fayde.Controls.UpDownBase","Fayde.Controls.UpDownBase.constructor","Fayde.Controls.UpDownBase.OnSpinnerStyleChanged","Fayde.Controls.UpDownBase._OnValueChanged","Fayde.Controls.UpDownBase.OnValueChanging","Fayde.Controls.UpDownBase.OnValueChanged","Fayde.Controls.UpDownBase.OnIsEditableChanged","Fayde.Controls.UpDownBase.OnApplyTemplate","Fayde.Controls.UpDownBase.SetTextBox","Fayde.Controls.UpDownBase.SetSpinner","Fayde.Controls.UpDownBase.OnKeyDown","Fayde.Controls.UpDownBase.OnMouseWheel","Fayde.Controls.UpDownBase.ApplyValue","Fayde.Controls.UpDownBase.OnParseError","Fayde.Controls.UpDownBase.OnParsing","Fayde.Controls.UpDownBase.ParseValue","Fayde.Controls.UpDownBase.FormatValue","Fayde.Controls.UpDownBase.SelectAllText","Fayde.Controls.UpDownBase.SetTextBoxText","Fayde.Controls.UpDownBase.TextBox_LostFocus","Fayde.Controls.UpDownBase.TextBox_GotFocus","Fayde.Controls.UpDownBase.Spinner_Spin","Fayde.Controls.UpDownBase.OnSpin","Fayde.Controls.UpDownBase.ProcessUserInput","Fayde.Controls.UpDownBase.DoDecrement","Fayde.Controls.UpDownBase.OnDecrement","Fayde.Controls.UpDownBase.DoIncrement","Fayde.Controls.UpDownBase.OnIncrement","Fayde.Controls.DomainUpDown","Fayde.Controls.DomainUpDown.constructor","Fayde.Controls.DomainUpDown.OnValueChanged","Fayde.Controls.DomainUpDown.OnCurrentIndexChanged","Fayde.Controls.DomainUpDown._OnIsCyclicChanged","Fayde.Controls.DomainUpDown._OnItemsSourceChanged","Fayde.Controls.DomainUpDown._ItemsSourceModified","Fayde.Controls.DomainUpDown._OnItemsChanged","Fayde.Controls.DomainUpDown.ValueMemberPath","Fayde.Controls.DomainUpDown.ValueMemberBinding","Fayde.Controls.DomainUpDown.OnApplyTemplate","Fayde.Controls.DomainUpDown.OnGotFocus","Fayde.Controls.DomainUpDown.OnLostFocus","Fayde.Controls.DomainUpDown.OnMouseEnter","Fayde.Controls.DomainUpDown.OnMouseLeave","Fayde.Controls.DomainUpDown.OnMouseLeftButtonDown","Fayde.Controls.DomainUpDown.OnMouseLeftButtonUp","Fayde.Controls.DomainUpDown.GoToStates","Fayde.Controls.DomainUpDown.GoToStateEditing","Fayde.Controls.DomainUpDown.GoToStateValid","Fayde.Controls.DomainUpDown.UpdateValidSpinDirection","Fayde.Controls.DomainUpDown.TryEnterEditMode","Fayde.Controls.DomainUpDown.OnIsEditingChanged","Fayde.Controls.DomainUpDown.OnIsInvalidInputChanged","Fayde.Controls.DomainUpDown.OnSpin","Fayde.Controls.DomainUpDown.OnIncrement","Fayde.Controls.DomainUpDown.OnDecrement","Fayde.Controls.DomainUpDown.TryParseValue","Fayde.Controls.DomainUpDown.FormatValue","Fayde.Controls.inputActionValidator","Fayde.Controls.matchItem","Fayde.Controls.GridSplitter","Fayde.Controls.GridSplitter.constructor","Fayde.Controls.GridSplitter.OnApplyTemplate","Fayde.Controls.GridSplitter._OnLayoutUpdated","Fayde.Controls.GridSplitter._OnResizeDirectionChanged","Fayde.Controls.GridSplitter.OnGotFocus","Fayde.Controls.GridSplitter.OnLostFocus","Fayde.Controls.GridSplitter.OnKeyDown","Fayde.Controls.GridSplitter.OnMouseLeftButtonDown","Fayde.Controls.GridSplitter.OnMouseLeftButtonUp","Fayde.Controls.GridSplitter.OnMouseMove","Fayde.Controls.GridSplitter.InitHelper","Fayde.Controls.GridSplitter._HandleMove","Fayde.Controls.GridSplitter._GetTransformedPos","Fayde.Controls.HeaderedItemsControl","Fayde.Controls.HeaderedItemsControl.constructor","Fayde.Controls.HeaderedItemsControl.OnHeaderChanged","Fayde.Controls.HeaderedItemsControl.OnHeaderTemplateChanged","Fayde.Controls.HeaderedItemsControl.OnItemContainerStyleChanged","Fayde.Controls.HeaderedItemsControl.OnApplyTemplate","Fayde.Controls.HeaderedItemsControl.PrepareContainerForItem","Fayde.Controls.HeaderedItemsControl.PrepareHeaderedItemsControlContainer","Fayde.Controls.hasDefaultValue","Fayde.Controls.MenuItem","Fayde.Controls.MenuItem.constructor","Fayde.Controls.MenuItem.OnCommandChanged","Fayde.Controls.MenuItem._CanExecuteChanged","Fayde.Controls.MenuItem.OnCommandParameterChanged","Fayde.Controls.MenuItem.OnApplyTemplate","Fayde.Controls.MenuItem.UpdateIsEnabled","Fayde.Controls.MenuItem.OnGotFocus","Fayde.Controls.MenuItem.OnLostFocus","Fayde.Controls.MenuItem.OnMouseEnter","Fayde.Controls.MenuItem.OnMouseLeave","Fayde.Controls.MenuItem.OnMouseLeftButtonDown","Fayde.Controls.MenuItem.OnMouseRightButtonDown","Fayde.Controls.MenuItem.OnKeyDown","Fayde.Controls.MenuItem.OnClick","Fayde.Controls.MenuItem.GoToStateCommon","Fayde.Controls.NumericUpDown","Fayde.Controls.NumericUpDown.constructor","Fayde.Controls.NumericUpDown.OnMinimumChanged","Fayde.Controls.NumericUpDown.OnMaximumChanged","Fayde.Controls.NumericUpDown.OnValueChanged","Fayde.Controls.NumericUpDown.OnIncrementChanged","Fayde.Controls.NumericUpDown.OnDecimalPlacesChanged","Fayde.Controls.NumericUpDown.OnApplyTemplate","Fayde.Controls.NumericUpDown.UpdateValidSpinDirection","Fayde.Controls.NumericUpDown.ParseValue","Fayde.Controls.NumericUpDown.FormatValue","Fayde.Controls.NumericUpDown.OnSpin","Fayde.Controls.NumericUpDown.OnIncrement","Fayde.Controls.NumericUpDown.OnDecrement","Fayde.Controls.numberValidator","Fayde.Controls.decimalPlacesValidator","Fayde.Controls.Separator","Fayde.Controls.Separator.constructor","Fayde.Controls.SpinEventArgs","Fayde.Controls.SpinEventArgs.constructor","Fayde.Controls.TabControl","Fayde.Controls.TabControl.constructor","Fayde.Controls.TabControl.OnApplyTemplate","Fayde.Controls.TabControl.OnSelectedItemChanged","Fayde.Controls.TabControl.OnSelectedIndexChanged","Fayde.Controls.TabControl.OnSelectedContentChanged","Fayde.Controls.TabControl.OnTabStripPlacementPropertyChanged","Fayde.Controls.TabControl.OnItemsChanged","Fayde.Controls.TabControl.OnKeyDown","Fayde.Controls.TabControl._FindEndTabItem","Fayde.Controls.TabControl._FindHomeTabItem","Fayde.Controls.TabControl.SelectItem","Fayde.Controls.TabControl.OnSelectionChanged","Fayde.Controls.TabControl.UpdateTabPanelLayout","Fayde.Controls.TabControl.UpdateSelectedContent","Fayde.Controls.TabControl.EnsureLanguageBinding","Fayde.Controls.TabControl.ClearLanguageBinding","Fayde.Controls.TabControl._AddToTabPanel","Fayde.Controls.TabControl._InsertIntoTabPanel","Fayde.Controls.TabControl._RemoveFromTabPanel","Fayde.Controls.TabControl._ClearTabPanel","Fayde.Controls.TabControl._GetTabPanel","Fayde.Controls.TabControl._GetTemplate","Fayde.Controls.TabControl._GetContentHost","Fayde.Controls.TabControl._GetItemAtIndex","Fayde.Controls.TabControl._ThrowInvalidTabItem","Fayde.Controls.TabItem","Fayde.Controls.TabItem.constructor","Fayde.Controls.TabItem.TabStripPlacement","Fayde.Controls.TabItem.TabControlParent","Fayde.Controls.TabItem.OnApplyTemplate","Fayde.Controls.TabItem._OnHeaderChanged","Fayde.Controls.TabItem.OnHeaderChanged","Fayde.Controls.TabItem.OnHeaderTemplateChanged","Fayde.Controls.TabItem._OnIsSelectedChanged","Fayde.Controls.TabItem.OnSelected","Fayde.Controls.TabItem.OnUnselected","Fayde.Controls.TabItem.UpdateVisualState","Fayde.Controls.TabItem._UpdateHeaderVisuals","Fayde.Controls.TabItem.OnMouseLeave","Fayde.Controls.TabItem.OnMouseEnter","Fayde.Controls.TabItem.OnMouseLeftButtonDown","Fayde.Controls.TabItem.OnGotFocus","Fayde.Controls.TabItem.OnLostFocus","Fayde.Controls.TabItem.OnContentChanged","Fayde.Controls.TabItem.OnKeyDown","Fayde.Controls.TabItem.GetTemplate","Fayde.Controls.TabItem._GetContentControl","Fayde.Controls.TabItem._FindPreviousTabItem","Fayde.Controls.TabItem._FindNextTabItem","Fayde.Controls.Elements","Fayde.Controls.Elements.constructor","Fayde.Controls.Elements.OnApplyTemplate","Fayde.Controls.Element","Fayde.Controls.Element.constructor","Fayde.Controls.Element.OnApplyTemplate","Fayde.Controls.TimePicker","Fayde.Controls.TimePicker.constructor","Fayde.Controls.TimePicker.OnSelectedHourChanged","Fayde.Controls.TimePicker.OnSelectedMinuteChanged","Fayde.Controls.TimePicker.OnSelectedSecondChanged","Fayde.Controls.TimePicker.OnSelectedTimeChanged","Fayde.Controls.TimePicker.OnDisplayModeChanged","Fayde.Controls.TimePicker.OnApplyTemplate","Fayde.Controls.TimePicker._GetHourInput","Fayde.Controls.TimePicker.CoerceHour","Fayde.Controls.TimePicker.CoerceMinute","Fayde.Controls.TimePicker.CoerceSecond","Fayde.Controls.TimePicker.CoerceTime","Fayde.Controls.TimePicker.ToggleAmPm","Fayde.Controls.TimePicker._UpdateText","Fayde.Controls.TreeView","Fayde.Controls.TreeView.constructor","Fayde.Controls.TreeView.OnSelectedItemChanged","Fayde.Controls.TreeView.OnSelectedValueChanged","Fayde.Controls.TreeView.OnSelectedValuePathChanged","Fayde.Controls.TreeView.OnItemContainerStyleChanged","Fayde.Controls.TreeView.OnApplyTemplate","Fayde.Controls.TreeView.GetContainerForItem","Fayde.Controls.TreeView.IsItemItsOwnContainer","Fayde.Controls.TreeView.PrepareContainerForItem","Fayde.Controls.TreeView.ClearContainerForItem","Fayde.Controls.TreeView.OnItemsChanged","Fayde.Controls.TreeView.CheckForSelectedDescendents","Fayde.Controls.TreeView.PropagateKeyDown","Fayde.Controls.TreeView.OnKeyDown","Fayde.Controls.TreeView.HandleScrollByPage","Fayde.Controls.TreeView.OnMouseEnter","Fayde.Controls.TreeView.OnMouseLeave","Fayde.Controls.TreeView.OnMouseMove","Fayde.Controls.TreeView.OnMouseLeftButtonDown","Fayde.Controls.TreeView.HandleMouseButtonDown","Fayde.Controls.TreeView.OnMouseLeftButtonUp","Fayde.Controls.TreeView.OnGotFocus","Fayde.Controls.TreeView.OnLostFocus","Fayde.Controls.TreeView.ChangeSelection","Fayde.Controls.TreeView.UpdateSelectedValue","Fayde.Controls.TreeView.SelectFirstItem","Fayde.Controls.TreeView.FocusFirstItem","Fayde.Controls.TreeView.FocusLastItem","Fayde.Controls.TreeViewItem","Fayde.Controls.TreeViewItem.constructor","Fayde.Controls.TreeViewItem.$SetHasItems","Fayde.Controls.TreeViewItem.$SetIsSelectionActive","Fayde.Controls.TreeViewItem.OnHasItemsChanged","Fayde.Controls.TreeViewItem.OnIsExpandedPropertyChanged","Fayde.Controls.TreeViewItem.OnIsSelectedChanged","Fayde.Controls.TreeViewItem.OnIsSelectionActiveChanged","Fayde.Controls.TreeViewItem.ExpanderButton","Fayde.Controls.TreeViewItem.HeaderElement","Fayde.Controls.TreeViewItem.ExpansionStateGroup","Fayde.Controls.TreeViewItem.ParentItemsControl","Fayde.Controls.TreeViewItem.ParentTreeViewItem","Fayde.Controls.TreeViewItem.ParentTreeView","Fayde.Controls.TreeViewItem.IsRoot","Fayde.Controls.TreeViewItem.CanExpandOnInput","Fayde.Controls.TreeViewItem.OnApplyTemplate","Fayde.Controls.TreeViewItem.OnExpansionStateGroupStateChanged","Fayde.Controls.TreeViewItem.BringIntoView","Fayde.Controls.TreeViewItem.GoToStates","Fayde.Controls.TreeViewItem.GoToStateCommon","Fayde.Controls.TreeViewItem.GoToStateExpansion","Fayde.Controls.TreeViewItem.GoToStateHasItems","Fayde.Controls.TreeViewItem.GoToStateSelection","Fayde.Controls.TreeViewItem.GetContainerForItem","Fayde.Controls.TreeViewItem.IsItemItsOwnContainer","Fayde.Controls.TreeViewItem.PrepareContainerForItem","Fayde.Controls.TreeViewItem.ClearContainerForItem","Fayde.Controls.TreeViewItem.OnItemsChanged","Fayde.Controls.TreeViewItem.OnExpanded","Fayde.Controls.TreeViewItem.OnCollapsed","Fayde.Controls.TreeViewItem.ToggleExpanded","Fayde.Controls.TreeViewItem.OnSelected","Fayde.Controls.TreeViewItem.OnUnselected","Fayde.Controls.TreeViewItem.OnGotFocus","Fayde.Controls.TreeViewItem.OnLostFocus","Fayde.Controls.TreeViewItem.OnExpanderGotFocus","Fayde.Controls.TreeViewItem.OnMouseEnter","Fayde.Controls.TreeViewItem.OnMouseLeave","Fayde.Controls.TreeViewItem.OnHeaderMouseLeftButtonDown","Fayde.Controls.TreeViewItem.OnExpanderClick","Fayde.Controls.TreeViewItem.OnMouseLeftButtonDown","Fayde.Controls.TreeViewItem.OnMouseLeftButtonUp","Fayde.Controls.TreeViewItem.OnIsEnabledChanged","Fayde.Controls.TreeViewItem.OnKeyDown","Fayde.Controls.TreeViewItem.HandleRightKey","Fayde.Controls.TreeViewItem.HandleLeftKey","Fayde.Controls.TreeViewItem.HandleDownKey","Fayde.Controls.TreeViewItem.HandleUpKey","Fayde.Controls.TreeViewItem.HandleScrollByPage","Fayde.Controls.TreeViewItem.Select","Fayde.Controls.TreeViewItem.UpdateContainsSelection","Fayde.Controls.TreeViewItem.AllowKeyHandleEvent","Fayde.Controls.TreeViewItem.FocusDown","Fayde.Controls.TreeViewItem.FocusInto","Fayde.Controls.TreeViewItem.FindNextFocusableItem","Fayde.Controls.TreeViewItem.FindLastFocusableItem","Fayde.Controls.TreeViewItem.FindPreviousFocusableItem","Fayde.Controls.calculateDelta","Fayde.Controls.UpDownParseErrorEventArgs","Fayde.Controls.UpDownParseErrorEventArgs.constructor","Fayde.Controls.UpDownParsingEventArgs","Fayde.Controls.UpDownParsingEventArgs.constructor","Fayde.Controls.contextmenu","Fayde.Controls.contextmenu.RootVisualTracker","Fayde.Controls.contextmenu.RootVisualTracker.constructor","Fayde.Controls.contextmenu.RootVisualTracker.rootVisual","Fayde.Controls.contextmenu.RootVisualTracker.tryInit","Fayde.Controls.contextmenu.RootVisualTracker.setOnSizeChanged","Fayde.Controls.contextmenu.RootVisualTracker.getAvailableSize","Fayde.Controls.contextmenu.RootVisualTracker._HandleLayoutUpdated","Fayde.Controls.contextmenu.RootVisualTracker._HandleRootVisualMouseMove","Fayde.Controls.contextmenu.RootVisualTracker._HandleSizeChanged","Fayde.Controls.Internal","Fayde.Controls.Internal.BindingSourceEvaluator","Fayde.Controls.Internal.BindingSourceEvaluator.constructor","Fayde.Controls.Internal.BindingSourceEvaluator.ValueBinding","Fayde.Controls.Internal.BindingSourceEvaluator.GetDynamicValue","Fayde.Controls.Internal.DomainCoercer","Fayde.Controls.Internal.DomainCoercer.constructor","Fayde.Controls.Internal.DomainCoercer.IsEditing","Fayde.Controls.Internal.DomainCoercer.OnIsEditingChanged","Fayde.Controls.Internal.DomainCoercer.IsInvalidInput","Fayde.Controls.Internal.DomainCoercer.Attach","Fayde.Controls.Internal.DomainCoercer.Detach","Fayde.Controls.Internal.DomainCoercer.OnKeyDown","Fayde.Controls.Internal.DomainCoercer.EscapeFocus","Fayde.Controls.Internal.DomainCoercer.OnValueChanged","Fayde.Controls.Internal.DomainCoercer.OnCurrentIndexChanged","Fayde.Controls.Internal.DomainCoercer.TextBox_LostFocus","Fayde.Controls.Internal.DomainCoercer.TextBox_GotFocus","Fayde.Controls.Internal.DomainCoercer.SelectAllText","Fayde.Controls.Internal.DomainCoercer.UpdateTextBoxText","Fayde.Controls.Internal.DomainCoercer.UpdateIsEditable","Fayde.Controls.Internal.DomainCoercer.ProcessUserInput","Fayde.Controls.Internal.DomainCoercer.OnParseError","Fayde.Controls.Internal.DomainCoercer.ApplyValue","Fayde.Controls.Internal.EventGesture","Fayde.Controls.Internal.EventGesture.constructor","Fayde.Controls.Internal.EventGesture.Attach","Fayde.Controls.Internal.EventGesture.Detach","Fayde.Controls.Internal.EventGesture._OnEvent","Fayde.Controls.Internal.FormattedRangeCoercer","Fayde.Controls.Internal.FormattedRangeCoercer.constructor","Fayde.Controls.Internal.FormattedRangeCoercer.OnDecimalPlacesChanged","Fayde.Controls.Internal.FormattedRangeCoercer.AddToValue","Fayde.Controls.Internal.GridResizeDirection","Fayde.Controls.Internal.GridResizeBehavior","Fayde.Controls.Internal.SplitBehavior","Fayde.Controls.Internal.GridSplitterResizer","Fayde.Controls.Internal.GridSplitterResizer.constructor","Fayde.Controls.Internal.GridSplitterResizer.Setup","Fayde.Controls.Internal.GridSplitterResizer.Move","Fayde.Controls.Internal.GridSplitterResizer.UpdateResizeDirection","Fayde.Controls.Internal.GridSplitterResizer.SetLengths","Fayde.Controls.Internal.GridSplitterResizer.GetConstraints","Fayde.Controls.Internal.GridSplitterResizer.GetBehaviorIndices","Fayde.Controls.Internal.createSize","Fayde.Controls.Internal.ItemsControlHelper","Fayde.Controls.Internal.ItemsControlHelper.constructor","Fayde.Controls.Internal.ItemsControlHelper.ItemsHost","Fayde.Controls.Internal.ItemsControlHelper.ScrollHost","Fayde.Controls.Internal.ItemsControlHelper.OnApplyTemplate","Fayde.Controls.Internal.ItemsControlHelper.PrepareContainerForItemOverride","Fayde.Controls.Internal.ItemsControlHelper.UpdateItemContainerStyle","Fayde.Controls.Internal.ItemsControlHelper.ScrollIntoView","Fayde.Controls.Internal.MultiClickHelper","Fayde.Controls.Internal.MultiClickHelper.constructor","Fayde.Controls.Internal.MultiClickHelper.OnMouseLeftButtonDown","Fayde.Controls.Internal.getDistance","Fayde.Controls.Internal.ObservableObjectCollection","Fayde.Controls.Internal.ObservableObjectCollection.constructor","Fayde.Controls.Internal.ObservableObjectCollection.Add","Fayde.Controls.Internal.ObservableObjectCollection.AddRange","Fayde.Controls.Internal.ObservableObjectCollection.Insert","Fayde.Controls.Internal.ObservableObjectCollection.RemoveAt","Fayde.Controls.Internal.ObservableObjectCollection.SetValueAt","Fayde.Controls.Internal.ObservableObjectCollection.Clear","Fayde.Controls.Internal.ScrollEx","Fayde.Controls.Internal.ScrollEx.constructor","Fayde.Controls.Internal.ScrollEx.HandleKey","Fayde.Controls.Internal.ScrollEx.LineUp","Fayde.Controls.Internal.ScrollEx.LineDown","Fayde.Controls.Internal.ScrollEx.LineLeft","Fayde.Controls.Internal.ScrollEx.LineRight","Fayde.Controls.Internal.ScrollEx.PageUp","Fayde.Controls.Internal.ScrollEx.PageDown","Fayde.Controls.Internal.ScrollEx.PageLeft","Fayde.Controls.Internal.ScrollEx.PageRight","Fayde.Controls.Internal.ScrollEx.ScrollToTop","Fayde.Controls.Internal.ScrollEx.ScrollToBottom","Fayde.Controls.Internal.ScrollEx.GetTopAndBottom","Fayde.Controls.Internal.scrollByVerticalOffset","Fayde.Controls.Internal.scrollByHorizontalOffset","Fayde.Controls.Internal.SelectionHandler","Fayde.Controls.Internal.SelectionHandler.constructor","Fayde.Controls.Internal.SelectionHandler.ActiveBox","Fayde.Controls.Internal.SelectionHandler.Dispose","Fayde.Controls.Internal.SelectionHandler._GotFocus","Fayde.Controls.Internal.SelectionHandler._MouseDown","Fayde.Controls.Internal.SelectionHandler._MouseUp","Fayde.Controls.Internal.SelectionHandler._LostFocus","Fayde.Controls.Internal.SpinFlow","Fayde.Controls.Internal.SpinFlow.constructor","Fayde.Controls.Internal.SpinFlow.UpdateValid","Fayde.Controls.Internal.SpinFlow.Dispose","Fayde.Controls.Internal.SpinFlow.OnKeyDown","Fayde.Controls.Internal.SpinFlow.OnMouseWheel","Fayde.Controls.Internal.SpinFlow.Spinner_Spin","Fayde.Controls.Internal.SpinFlow.DoIncrement","Fayde.Controls.Internal.SpinFlow.DoDecrement","Fayde.Controls.Internal.TextBoxFormatter","Fayde.Controls.Internal.TextBoxFormatter.constructor","Fayde.Controls.Internal.TextBoxFormatter.Value","Fayde.Controls.Internal.TextBoxFormatter.ProcessUserInput","Fayde.Controls.Internal.TextBoxFormatter.Dispose","Fayde.Controls.Internal.TextBoxFormatter.TextBox_LostFocus","Fayde.Controls.Internal.TextBoxFormatter.TextBox_GotFocus","Fayde.Controls.Internal.TextBoxFormatter.ApplyValue","Fayde.Controls.Internal.TextBoxFormatter.OnParseError","Fayde.Controls.Internal.TextBoxFormatter.OnParsing","Fayde.Controls.Internal.TextBoxFormatter.SelectAllText","Fayde.Controls.Internal.TextBoxFormatter.UpdateTextBoxText","Fayde.Controls.Internal.TextBoxFormatter.UpdateIsEditable","Fayde.Controls.TabPanel","Fayde.Controls.TabPanel.constructor","Fayde.Controls.TabPanel.CreateLayoutUpdater","Fayde.Controls.TabPanel.TabAlignment","Fayde.Controls.TabPanel.setTabAlignment","Fayde.Controls.tabpanel","Fayde.Controls.tabpanel.TabPanelUpdater","Fayde.Controls.tabpanel.TabPanelUpdater.constructor","Fayde.Controls.tabpanel.TabPanelUpdater.init","Fayde.Controls.tabpanel.helpers","Fayde.Controls.tabpanel.helpers.getDesiredSizeWithoutMargin","Fayde.Controls.tabpanel.helpers.getTabItemMargin","Fayde.Controls.tabpanel.helpers.getHeadersSize","Fayde.Controls.tabpanel.helpers.setTabItemZ","Fayde.Controls.tabpanel.helpers.getTabItemIsSelected","Fayde.Controls.tabpanel.helpers.getActiveRow","Fayde.Controls.tabpanel.helpers.calculateHeaderDistribution","Fayde.Controls.FocusingInvalidControlEventArgs","Fayde.Controls.FocusingInvalidControlEventArgs.constructor","Fayde.Controls.ValidationSummary","Fayde.Controls.ValidationSummary.constructor","Fayde.Controls.ValidationSummary.GetShowErrorsInSummary","Fayde.Controls.ValidationSummary.SetShowErrorsInSummary","Fayde.Controls.ValidationSummary.OnShowErrorsInSummaryChanged","Fayde.Controls.ValidationSummary.OnFilterChanged","Fayde.Controls.ValidationSummary.OnHeaderChanged","Fayde.Controls.ValidationSummary.OnTargetChanged","Fayde.Controls.ValidationSummary.Errors","Fayde.Controls.ValidationSummary.DisplayedErrors","Fayde.Controls.ValidationSummary.OnApplyTemplate","Fayde.Controls.ValidationSummary.Errors_CollectionChanged","Fayde.Controls.ValidationSummary.ErrorsListBox_KeyDown","Fayde.Controls.ValidationSummary.ErrorsListBox_MouseLeftButtonUp","Fayde.Controls.ValidationSummary.ErrorsListBox_SelectionChanged","Fayde.Controls.ValidationSummary.ValidationSummary_Loaded","Fayde.Controls.ValidationSummary.ValidationSummary_Unloaded","Fayde.Controls.ValidationSummary.ValidationSummary_IsEnabledChanged","Fayde.Controls.ValidationSummary.ValidationSummaryItem_PropertyChanged","Fayde.Controls.ValidationSummary.UpdateValidation","Fayde.Controls.ValidationSummary.UpdateCommon","Fayde.Controls.ValidationSummary.UpdateHeaderText","Fayde.Controls.ValidationSummary.UpdateDisplayedErrors","Fayde.Controls.ValidationSummary.Target_BindingValidationError","Fayde.Controls.ValidationSummary.GetHeaderString","Fayde.Controls.ValidationSummary.ExecuteClick","Fayde.Controls.ValidationSummary.FindMatchingErrorSource","Fayde.Controls.ValidationSummary.UpdateDisplayedErrorsOnAllValidationSummaries","Fayde.Controls.ValidationItemCollection","Fayde.Controls.ValidationItemCollection.constructor","Fayde.Controls.ValidationItemCollection.ClearErrors","Fayde.Controls.ValidationItemCollection.ClearItems","Fayde.Controls.ValidationSummaryItem","Fayde.Controls.ValidationSummaryItem.constructor","Fayde.Controls.ValidationSummaryItem.Sources","Fayde.Controls.ValidationSummaryItemSource","Fayde.Controls.ValidationSummaryItemSource.constructor","Fayde.Controls.ValidationSummaryItemSource.Equals","Fayde.Controls.compareSummaryItems","Fayde.Controls.compareRefs","Fayde.Controls.compareNum","Fayde.Controls.compareVisualOrder","Fayde.Controls.Viewbox","Fayde.Controls.Viewbox.constructor","Fayde.Controls.Viewbox.CreateLayoutUpdater","Fayde.Controls.reactions","Fayde.Controls.viewbox","Fayde.Controls.viewbox.ViewboxUpdater","Fayde.Controls.viewbox.ViewboxUpdater.constructor","Fayde.Controls.viewbox.ViewboxUpdater.init","Fayde.Controls.viewbox.ViewboxUpdater.measureOverride","Fayde.Controls.viewbox.ViewboxUpdater.arrangeOverride","Fayde.Controls.viewbox.ViewboxUpdater.setViewXform","Fayde.Controls.viewbox.helpers","Fayde.Controls.viewbox.helpers.computeScaleFactor","Fayde.Controls.viewbox.helpers.isZero","Fayde.Controls.WrapPanel","Fayde.Controls.WrapPanel.constructor","Fayde.Controls.WrapPanel.CreateLayoutUpdater","Fayde.Controls.wrappanel","Fayde.Controls.wrappanel.WrapPanelUpdater","Fayde.Controls.wrappanel.WrapPanelUpdater.constructor","Fayde.Controls.wrappanel.WrapPanelUpdater.init","Fayde.Controls.wrappanel.helpers","Fayde.Controls.wrappanel.helpers.coerceChildSize","Fayde.Controls.tabpanel.arrange","Fayde.Controls.tabpanel.arrange.TabPanelArrangePipeDef","Fayde.Controls.tabpanel.arrange.TabPanelArrangePipeDef.constructor","Fayde.Controls.tabpanel.measure","Fayde.Controls.tabpanel.measure.TabPanelMeasurePipeDef","Fayde.Controls.tabpanel.measure.TabPanelMeasurePipeDef.constructor","Fayde.Controls.tabpanel.measure.TabPanelMeasurePipeDef.createOutput","Fayde.Controls.tabpanel.measure.TabPanelMeasurePipeDef.prepare","Fayde.Controls.tabpanel.measure.TabPanelMeasurePipeDef.flush","Fayde.Controls.viewbox.processdown","Fayde.Controls.viewbox.processdown.ViewboxProcessDownPipeDef","Fayde.Controls.viewbox.processdown.ViewboxProcessDownPipeDef.constructor","Fayde.Controls.viewbox.processdown.tapins","Fayde.Controls.viewbox.processdown.tapins.applyViewXform","Fayde.Controls.wrappanel.arrange","Fayde.Controls.wrappanel.arrange.WrapPanelArrangePipeDef","Fayde.Controls.wrappanel.arrange.WrapPanelArrangePipeDef.constructor","Fayde.Controls.wrappanel.measure","Fayde.Controls.wrappanel.measure.WrapPanelMeasurePipeDef","Fayde.Controls.wrappanel.measure.WrapPanelMeasurePipeDef.constructor","Fayde.Controls.tabpanel.arrange.tapins","Fayde.Controls.tabpanel.arrange.tapins.doHorizontal","Fayde.Controls.tabpanel.arrange.tapins.doVertical","Fayde.Controls.tabpanel.measure.tapins","Fayde.Controls.tabpanel.measure.tapins.doHorizontal","Fayde.Controls.tabpanel.measure.tapins.doVertical","Fayde.Controls.wrappanel.arrange.tapins","Fayde.Controls.wrappanel.arrange.tapins.doHorizontal","Fayde.Controls.wrappanel.arrange.tapins.doVertical","Fayde.Controls.wrappanel.measure.tapins","Fayde.Controls.wrappanel.measure.tapins.doHorizontal","Fayde.Controls.wrappanel.measure.tapins.doVertical"],"mappings":"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MAAMA,CAACA,CAACA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA;wBACZA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,MAAMA,CAACA;wBACtBA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,QAAQA,CAACA;wBACxBA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,GAAGA,CAACA;wBACnBA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,IAAIA,CAACA;wBACpBA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,IAAIA,CAACA;wBACpBA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,EAAEA,CAACA;wBAClBA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,KAAKA,CAACA;wBACrBA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,IAAIA;4BACfA,EAAEA,CAACA,CAACA,QAAQA,CAACA,SAASA,CAACA,IAAIA,CAACA,kBAAkBA,CAACA,UAAUA,EAAEA,CAACA,CAACA,GAAGA,EAAEA,IAAIA,CAACA,aAAaA,CAACA,CAACA;gCAClFA,CAACA,CAACA,OAAOA,GAAGA,IAAIA,CAACA;4BACrBA,KAAKA,CAACA;oBACdA,CAACA;gBACLA,CAACA;gBAACA,IAAIA,CAACA,CAACA;oBACJA,MAAMA,CAACA,CAACA,CAACA,CAACA,GAAGA,CAACA,CAACA,CAACA;wBACZA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,MAAMA,CAACA;wBACtBA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,QAAQA;4BACnBA,EAAEA,CAACA,CAACA,IAAIA,CAACA,iBAAiBA,IAAIA,IAAIA,CAACA,CAACA,CAACA;gCACjCA,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,kBAAkBA,CAACA,CAACA,CAACA,GAAGA,KAAKA,WAAKA,CAACA,GAAGA,CAACA,MAAMA,CAACA,CAACA;oCACrDA,KAAKA,CAACA;gCACVA,CAACA,CAACA,OAAOA,GAAGA,IAAIA,CAACA;gCACjBA,KAAKA,CAACA;4BACVA,CAACA;4BACDA,IAAIA,CAACA,CAACA;gCACFA,EAAEA,CAACA,CAA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","file":"fayde.controls.js","sourcesContent":["module Fayde.Controls {\r\n export var version = '0.20.0';\r\n}","module Fayde.Controls {\r\n export var Library = TypeManager.resolveLibrary(\"lib://fayde.controls\");\r\n}","module Fayde.Controls {\n export class BusyIndicator extends ContentControl {\n static IsBusyProperty = DependencyProperty.Register(\"IsBusy\", () => Boolean, BusyIndicator, false);\n static HasContentProperty = DependencyProperty.RegisterReadOnly(\"HasContent\", () => Boolean, BusyIndicator, false);\n static BusyContentProperty = DependencyProperty.Register(\"BusyContent\", () => Object, BusyIndicator, undefined, (d: BusyIndicator, args) => d.OnBusyContentChanged(args.OldValue, args.NewValue));\n static BusyContentTemplateProperty = DependencyProperty.Register(\"BusyContentTemplate\", () => DataTemplate, BusyIndicator);\n static OverlayStyleProperty = DependencyProperty.Register(\"OverlayStyle\",() => Style,BusyIndicator);\n IsBusy: boolean;\n OverlayStyle: Style;\n HasContent: boolean;\n BusyContent: any;\n BusyContentTemplate: DataTemplate;\n\n protected OnBusyContentChanged(oldBusyContent: any, newBusyContent: any) {\n this.SetCurrentValue(BusyIndicator.HasContentProperty, !!newBusyContent)\n }\n\n constructor() {\n super();\n this.DefaultStyleKey = BusyIndicator;\n }\n }\n}","\r\nmodule Fayde.Controls.Primitives {\r\n export class MenuBase extends Fayde.Controls.ItemsControl {\r\n static ItemContainerStyleProperty = DependencyProperty.Register(\"ItemContainerStyle\", () => Style, MenuBase);\r\n ItemContainerStyle: Style;\r\n\r\n IsItemItsOwnContainer(item: any): boolean { return item instanceof MenuItem || item instanceof Separator; }\r\n GetContainerForItem(): UIElement { return new MenuItem(); }\r\n PrepareContainerForItem(element: UIElement, item: any) {\r\n super.PrepareContainerForItem(element, item);\r\n var menuItem = element;\r\n if (!(menuItem instanceof MenuItem))\r\n return;\r\n menuItem.ParentMenuBase = this;\r\n if (menuItem != item) {\r\n var itemTemplate = this.ItemTemplate;\r\n var itemContainerStyle = this.ItemContainerStyle;\r\n if (itemTemplate != null)\r\n menuItem.SetValue(Fayde.Controls.ItemsControl.ItemTemplateProperty, itemTemplate);\r\n if (itemContainerStyle != null && MenuBase.HasDefaultValue(menuItem, Controls.HeaderedItemsControl.ItemContainerStyleProperty))\r\n menuItem.SetValue(Controls.HeaderedItemsControl.ItemContainerStyleProperty, itemContainerStyle);\r\n if (MenuBase.HasDefaultValue(menuItem, Controls.HeaderedItemsControl.HeaderProperty))\r\n menuItem.Header = item;\r\n if (itemTemplate != null)\r\n menuItem.SetValue(Controls.HeaderedItemsControl.HeaderTemplateProperty, itemTemplate);\r\n if (itemContainerStyle != null)\r\n menuItem.SetValue(FrameworkElement.StyleProperty, itemContainerStyle);\r\n }\r\n }\r\n private static HasDefaultValue(control: Control, propd: DependencyProperty): boolean {\r\n return control.ReadLocalValue(propd) === DependencyProperty.UnsetValue;\r\n }\r\n }\r\n}","/// \r\n\r\nmodule Fayde.Controls {\r\n export class ContextMenu extends Primitives.MenuBase {\r\n static HorizontalOffsetProperty = DependencyProperty.Register(\"HorizontalOffset\", () => Number, ContextMenu, 0.0);\r\n static VerticalOffsetProperty = DependencyProperty.Register(\"VerticalOffset\", () => Number, ContextMenu, 0.0);\r\n static IsOpenProperty = DependencyProperty.Register(\"IsOpen\", () => Boolean, ContextMenu, false);\r\n HorizontalOffset: number;\r\n VerticalOffset: number;\r\n IsOpen: boolean;\r\n\r\n private OnHorizontalOffsetChanged (args: IDependencyPropertyChangedEventArgs) {\r\n this.UpdateContextMenuPlacement();\r\n }\r\n\r\n private OnVerticalOffsetChanged (args: IDependencyPropertyChangedEventArgs) {\r\n this.UpdateContextMenuPlacement();\r\n }\r\n\r\n private OnIsOpenChanged (args: IDependencyPropertyChangedEventArgs) {\r\n if (this._SettingIsOpen)\r\n return;\r\n if (args.NewValue === true)\r\n this.OpenPopup(this.$RootVisualTracker.mousePosition);\r\n else\r\n this.ClosePopup();\r\n }\r\n\r\n Opened = new RoutedEvent();\r\n Closed = new RoutedEvent();\r\n\r\n private $RootVisualTracker: contextmenu.RootVisualTracker;\r\n\r\n constructor () {\r\n super();\r\n this.DefaultStyleKey = ContextMenu;\r\n this.$RootVisualTracker = new contextmenu.RootVisualTracker(this);\r\n }\r\n\r\n OnKeyDown (e: Input.KeyEventArgs) {\r\n switch (e.Key) {\r\n case Input.Key.Escape:\r\n this.ClosePopup();\r\n e.Handled = true;\r\n break;\r\n case Input.Key.Up:\r\n this.FocusNextItem(false);\r\n e.Handled = true;\r\n break;\r\n case Input.Key.Down:\r\n this.FocusNextItem(true);\r\n e.Handled = true;\r\n break;\r\n }\r\n super.OnKeyDown(e)\r\n }\r\n\r\n OnMouseLeftButtonDown (e: Input.MouseButtonEventArgs) {\r\n e.Handled = true;\r\n super.OnMouseLeftButtonDown(e);\r\n }\r\n\r\n OnMouseRightButtonDown (e: Input.MouseButtonEventArgs) {\r\n e.Handled = true;\r\n super.OnMouseRightButtonDown(e);\r\n }\r\n\r\n private _Owner: DependencyObject = null;\r\n get Owner (): DependencyObject {\r\n return this._Owner;\r\n }\r\n\r\n set Owner (value: DependencyObject) {\r\n if (this._Owner) {\r\n var fe = this._Owner instanceof FrameworkElement ? this._Owner : null;\r\n if (fe)\r\n fe.MouseRightButtonDown.off(this._HandleOwnerMouseRightButtonDown, this);\r\n }\r\n this._Owner = value;\r\n if (!this._Owner)\r\n return;\r\n fe = this._Owner instanceof FrameworkElement ? this._Owner : null;\r\n if (fe)\r\n fe.MouseRightButtonDown.on(this._HandleOwnerMouseRightButtonDown, this);\r\n }\r\n\r\n private _PopupAlignmentPoint = new Point();\r\n private _SettingIsOpen: boolean = false;\r\n private _Popup: Controls.Primitives.Popup = null;\r\n private _Overlay: Panel = null;\r\n\r\n private _HandleOwnerMouseRightButtonDown (sender: any, e: Fayde.Input.MouseButtonEventArgs) {\r\n this.OpenPopup(e.GetPosition(null));\r\n e.Handled = true;\r\n }\r\n\r\n private _HandleOverlayMouseButtonDown (sender: any, e: Fayde.Input.MouseButtonEventArgs) {\r\n this.ClosePopup();\r\n e.Handled = true;\r\n }\r\n\r\n private _HandleContextMenuSizeChanged (sender: any, e: Fayde.SizeChangedEventArgs) {\r\n this.UpdateContextMenuPlacement();\r\n }\r\n\r\n ChildMenuItemClicked () {\r\n this.ClosePopup();\r\n }\r\n\r\n private UpdateContextMenuPlacement () {\r\n var pap = this._PopupAlignmentPoint;\r\n var full = this.$RootVisualTracker.getAvailableSize();\r\n\r\n var x = Math.max(0, Math.min(pap.x + this.HorizontalOffset, full.width - this.ActualWidth));\r\n var y = Math.max(0, Math.min(pap.y + this.VerticalOffset, full.height - this.ActualHeight));\r\n Controls.Canvas.SetLeft(this, x);\r\n Controls.Canvas.SetTop(this, y);\r\n\r\n var overlay = this._Overlay;\r\n if (!overlay)\r\n return;\r\n overlay.Width = full.width;\r\n overlay.Height = full.height;\r\n }\r\n\r\n private OpenPopup (position: Point) {\r\n this._PopupAlignmentPoint = position;\r\n\r\n var canvas1 = new Canvas();\r\n canvas1.Background = new Fayde.Media.SolidColorBrush(Color.KnownColors.Transparent);\r\n this._Overlay = canvas1;\r\n this._Overlay.MouseLeftButtonDown.on(this._HandleOverlayMouseButtonDown, this);\r\n this._Overlay.MouseRightButtonDown.on(this._HandleOverlayMouseButtonDown, this);\r\n this._Overlay.Children.Add(this);\r\n\r\n var popup = this._Popup = new Controls.Primitives.Popup();\r\n var initiator = this._Owner;\r\n while (initiator && !(initiator instanceof UIElement))\r\n initiator = initiator.Parent;\r\n if (initiator) {\r\n popup.XamlNode.RegisterInitiator(initiator);\r\n this.$RootVisualTracker.tryInit(initiator);\r\n }\r\n popup.Child = this._Overlay;\r\n\r\n this.SizeChanged.on(this._HandleContextMenuSizeChanged, this);\r\n this.$RootVisualTracker.setOnSizeChanged((newSize) => this.UpdateContextMenuPlacement());\r\n this.UpdateContextMenuPlacement();\r\n if (this.ReadLocalValue(DependencyObject.DataContextProperty) === DependencyProperty.UnsetValue) {\r\n var binding1 = new Fayde.Data.Binding(\"DataContext\");\r\n binding1.Source = this.Owner || this.$RootVisualTracker.rootVisual;\r\n this.SetBinding(DependencyObject.DataContextProperty, binding1);\r\n }\r\n popup.IsOpen = true;\r\n this.Focus();\r\n this._SettingIsOpen = true;\r\n this.IsOpen = true;\r\n this._SettingIsOpen = false;\r\n this.OnOpened(new RoutedEventArgs());\r\n }\r\n\r\n OnOpened (e: RoutedEventArgs) {\r\n this.Opened.raise(this, e);\r\n }\r\n\r\n private ClosePopup () {\r\n if (this._Popup) {\r\n this._Popup.IsOpen = false;\r\n this._Popup.Child = null;\r\n this._Popup = null;\r\n }\r\n if (this._Overlay) {\r\n this._Overlay.Children.Clear();\r\n this._Overlay = null;\r\n }\r\n this.SizeChanged.off(this._HandleContextMenuSizeChanged, this);\r\n this.$RootVisualTracker.setOnSizeChanged();\r\n this._SettingIsOpen = true;\r\n this.IsOpen = false;\r\n this._SettingIsOpen = false;\r\n this.OnClosed(new RoutedEventArgs());\r\n }\r\n\r\n OnClosed (e: RoutedEventArgs) {\r\n this.Closed.raise(this, e);\r\n }\r\n\r\n private FocusNextItem (down: boolean) {\r\n var count = this.Items.Count;\r\n var num = down ? -1 : count;\r\n\r\n var menuItem1 = Fayde.Surface.GetFocusedElement(this);\r\n if (menuItem1 instanceof MenuItem && this === menuItem1.ParentMenuBase)\r\n num = this.ItemContainersManager.IndexFromContainer(menuItem1);\r\n var index = num;\r\n var menuItem2;\r\n do {\r\n index = (index + count + (down ? 1 : -1)) % count;\r\n menuItem2 = this.ItemContainersManager.ContainerFromIndex(index);\r\n if (!(menuItem2 instanceof MenuItem)) menuItem2 = null;\r\n }\r\n while ((!menuItem2 || (!menuItem2.IsEnabled || !menuItem2.Focus())) && index !== num);\r\n }\r\n }\r\n}","\r\nmodule Fayde.Controls {\r\n export class ContextMenuService {\r\n static ContextMenuProperty = DependencyProperty.RegisterAttached(\"ContextMenu\", () => ContextMenu, ContextMenuService, undefined, ContextMenuService.OnContextMenuPropertyChanged);\r\n static GetContextMenu(d: DependencyObject): ContextMenu { return d.GetValue(ContextMenuService.ContextMenuProperty); }\r\n static SetContextMenu(d: DependencyObject, value: ContextMenu) { d.SetValue(ContextMenuService.ContextMenuProperty, value); }\r\n private static OnContextMenuPropertyChanged(d: DependencyObject, args: IDependencyPropertyChangedEventArgs) {\r\n var fe = d;\r\n if (!(fe instanceof FrameworkElement))\r\n return;\r\n var oldMenu = args.OldValue;\r\n if (oldMenu instanceof ContextMenu)\r\n oldMenu.Owner = null;\r\n var newMenu = args.NewValue;\r\n if (newMenu instanceof ContextMenu)\r\n newMenu.Owner = fe;\r\n }\r\n }\r\n}","module Fayde.Controls {\r\n export class DatePicker extends Control {\r\n static SelectedMonthProperty = DependencyProperty.Register(\"SelectedMonth\", () => Number, DatePicker, NaN, (d, args) => (d).OnSelectedMonthChanged(args));\r\n static SelectedDayProperty = DependencyProperty.Register(\"SelectedDay\", () => Number, DatePicker, NaN, (d, args) => (d).OnSelectedDayChanged(args));\r\n static SelectedYearProperty = DependencyProperty.Register(\"SelectedYear\", () => Number, DatePicker, NaN, (d, args) => (d).OnSelectedYearChanged(args));\r\n static SelectedDateProperty = DependencyProperty.Register(\"SelectedDate\", () => DateTime, DatePicker, undefined, (d, args) => (d).OnSelectedDateChanged(args));\r\n SelectedMonth: number;\r\n SelectedDay: number;\r\n SelectedYear: number;\r\n SelectedDate: DateTime;\r\n\r\n private OnSelectedMonthChanged(args: IDependencyPropertyChangedEventArgs) {\r\n this.CoerceMonth(args.NewValue);\r\n this.CoerceDate();\r\n }\r\n private OnSelectedDayChanged(args: IDependencyPropertyChangedEventArgs) {\r\n this.CoerceDay(args.NewValue);\r\n this.CoerceDate();\r\n }\r\n private OnSelectedYearChanged(args: IDependencyPropertyChangedEventArgs) {\r\n this.CoerceYear(args.NewValue);\r\n this.CoerceDate();\r\n }\r\n private OnSelectedDateChanged(args: IDependencyPropertyChangedEventArgs) {\r\n var dt = args.NewValue;\r\n if (dt instanceof DateTime) {\r\n this.CoerceMonth(dt.Month);\r\n this.CoerceDay(dt.Day);\r\n this.CoerceYear(dt.Year);\r\n } else {\r\n this.CoerceMonth(NaN);\r\n this.CoerceDay(NaN);\r\n this.CoerceYear(NaN);\r\n }\r\n }\r\n\r\n private _MonthTextBox: TextBox = null;\r\n private _DayTextBox: TextBox = null;\r\n private _YearTextBox: TextBox = null;\r\n\r\n private _MonthGesture = new Internal.EventGesture();\r\n private _DayGesture = new Internal.EventGesture();\r\n private _YearGesture = new Internal.EventGesture();\r\n\r\n private _SelectionHandler: Internal.SelectionHandler = null;\r\n\r\n constructor() {\r\n super();\r\n this.DefaultStyleKey = DatePicker;\r\n }\r\n\r\n OnApplyTemplate() {\r\n super.OnApplyTemplate();\r\n\r\n this._MonthGesture.Detach();\r\n this._MonthTextBox = this.GetTemplateChild(\"MonthTextBox\", TextBox);\r\n if (this._MonthTextBox)\r\n this._MonthGesture.Attach(this._MonthTextBox.LostFocus, (tb) => this.CoerceMonth(tb.Text));\r\n\r\n this._DayGesture.Detach();\r\n this._DayTextBox = this.GetTemplateChild(\"DayTextBox\", TextBox);\r\n if (this._DayTextBox)\r\n this._DayGesture.Attach(this._DayTextBox.LostFocus, (tb) => this.CoerceDay(tb.Text));\r\n\r\n this._YearGesture.Detach();\r\n this._YearTextBox = this.GetTemplateChild(\"YearTextBox\", TextBox);\r\n if (this._YearTextBox)\r\n this._YearGesture.Attach(this._YearTextBox.LostFocus, (tb) => this.CoerceDay(tb.Text));\r\n\r\n if (this._SelectionHandler)\r\n this._SelectionHandler.Dispose();\r\n this._SelectionHandler = new Internal.SelectionHandler([this._MonthTextBox, this._DayTextBox, this._YearTextBox]);\r\n\r\n this._UpdateText();\r\n }\r\n\r\n private CoerceMonth(month: any) {\r\n month = Math.max(1, Math.min(12, month));\r\n if (!isNaN(month) || !isNaN(this.SelectedMonth))\r\n this.SetCurrentValue(DatePicker.SelectedMonthProperty, month);\r\n this._UpdateText();\r\n }\r\n private CoerceDay(day: any) {\r\n day = Math.max(1, Math.min(31, parseFloat(day)));\r\n if (!isNaN(day) || !isNaN(this.SelectedDay))\r\n this.SetCurrentValue(DatePicker.SelectedDayProperty, day);\r\n this._UpdateText();\r\n }\r\n private CoerceYear(year: any) {\r\n var maxYear = DateTime.MaxValue.Year - 1;\r\n year = Math.min(maxYear, Math.max(0, year));\r\n if (!isNaN(year) || !isNaN(this.SelectedYear))\r\n this.SetCurrentValue(DatePicker.SelectedYearProperty, year);\r\n this._UpdateText();\r\n }\r\n private CoerceDate() {\r\n var m = this.SelectedMonth;\r\n var d = this.SelectedDay;\r\n var y = this.SelectedYear;\r\n if (isNaN(m) || isNaN(d) || isNaN(y))\r\n return;\r\n var dte = new DateTime(y, m, d);\r\n if (DateTime.Compare(dte, this.SelectedDate) === 0)\r\n return;\r\n this.SetCurrentValue(DatePicker.SelectedDateProperty, dte);\r\n }\r\n\r\n private _UpdateText() {\r\n if (this._MonthTextBox)\r\n this._MonthTextBox.Text = formatNumber(this.SelectedMonth, 2, \"MM\");\r\n if (this._DayTextBox)\r\n this._DayTextBox.Text = formatNumber(this.SelectedDay, 2, \"DD\");\r\n if (this._YearTextBox)\r\n this._YearTextBox.Text = formatNumber(this.SelectedYear, 4, \"YYYY\");\r\n }\r\n }\r\n TemplateParts(DatePicker,\r\n { Name: \"MonthTextBox\", Type: TextBox },\r\n { Name: \"DayTextBox\", Type: TextBox },\r\n { Name: \"YearTextBox\", Type: TextBox });\r\n TemplateVisualStates(DatePicker,\r\n { GroupName: \"CommonStates\", Name: \"Normal\" },\r\n { GroupName: \"CommonStates\", Name: \"Disabled\" },\r\n { GroupName: \"ValidationStates\", Name: \"Valid\" },\r\n { GroupName: \"ValidationStates\", Name: \"InvalidFocused\" },\r\n { GroupName: \"ValidationStates\", Name: \"InvalidUnfocused\" });\r\n //[StyleTypedProperty(Property = \"CalendarStyle\", StyleTargetType = typeof (Calendar))]\r\n\r\n function formatNumber(n: number, digits: number, fallback: string) {\r\n if (isNaN(n))\r\n return fallback;\r\n return Localization.Format(\"{0:d\" + digits + \"}\", n);\r\n }\r\n}","module Fayde.Controls {\r\n export enum ValidSpinDirections {\r\n None = 0,\r\n Increase = 1,\r\n Decrease = 2\r\n }\r\n Library.addEnum(ValidSpinDirections, \"ValidSpinDirections\");\r\n\r\n export enum SpinDirection {\r\n Increase,\r\n Decrease\r\n }\r\n Library.addEnum(SpinDirection, \"SpinDirection\");\r\n\r\n export enum InvalidInputAction {\r\n UseFallbackItem,\r\n TextBoxCannotLoseFocus\r\n }\r\n Library.addEnum(InvalidInputAction, \"InvalidInputAction\");\r\n\r\n export enum Dock {\r\n Left,\r\n Top,\r\n Right,\r\n Bottom\r\n }\r\n Library.addEnum(Dock, \"Dock\");\r\n\r\n export enum DatePickerFormat {\r\n Long,\r\n Short,\r\n }\r\n Library.addEnum(DatePickerFormat, \"DatePickerFormat\");\r\n\r\n export enum TimeDisplayMode {\r\n Regular,\r\n Military\r\n }\r\n Library.addEnum(TimeDisplayMode, \"TimeDisplayMode\");\r\n\r\n export enum ValidationSummaryFilters {\r\n None = 0,\r\n ObjectErrors = 1,\r\n PropertyErrors = 2,\r\n All = PropertyErrors | ObjectErrors,\r\n }\r\n Library.addEnum(ValidationSummaryFilters, \"ValidationSummaryFilters\");\r\n\r\n export enum ValidationSummaryItemType {\r\n ObjectError = 1,\r\n PropertyError = 2,\r\n }\r\n Library.addEnum(ValidationSummaryItemType, \"ValidationSummaryItemType\");\r\n\r\n export enum StretchDirection {\r\n UpOnly,\r\n DownOnly,\r\n Both,\r\n }\r\n Library.addEnum(StretchDirection, \"StretchDirection\");\r\n}","/// \r\n\r\nmodule Fayde.Controls {\r\n import ButtonBase = Controls.Primitives.ButtonBase;\r\n\r\n export class Spinner extends Control {\r\n static ContentProperty = DependencyProperty.Register(\"Content\", () => Object, Spinner, undefined, (d: Spinner, args) => d.OnContentChanged(args.OldValue, args.NewValue));\r\n static ValidSpinDirectionProperty = DependencyProperty.Register(\"ValidSpinDirection\", () => new Enum(ValidSpinDirections), Spinner, ValidSpinDirections.Increase, (d, args) => (d).OnValidSpinDirectionChanged(args));\r\n Content: any;\r\n ValidSpinDirection: ValidSpinDirections;\r\n\r\n OnContentChanged (oldContent: any, newContent: any) {\r\n\r\n }\r\n\r\n OnValidSpinDirectionChanged (args: IDependencyPropertyChangedEventArgs) {\r\n this.UpdateVisualState(true);\r\n this.EnableButtons();\r\n }\r\n\r\n Spin = new RoutedEvent();\r\n\r\n OnSpin (e: SpinEventArgs) {\r\n var valid = e.Direction === SpinDirection.Increase ? ValidSpinDirections.Increase : ValidSpinDirections.Decrease;\r\n if ((this.ValidSpinDirection & valid) !== valid)\r\n throw new InvalidOperationException(\"Invalid Spin Direction\");\r\n this.Spin.raise(this, e);\r\n }\r\n\r\n private _IncreaseButton: ButtonBase = null;\r\n private _DecreaseButton: ButtonBase = null;\r\n\r\n constructor () {\r\n super();\r\n this.DefaultStyleKey = Spinner;\r\n }\r\n\r\n OnApplyTemplate () {\r\n super.OnApplyTemplate();\r\n\r\n if (this._IncreaseButton)\r\n this._IncreaseButton.Click.off(this.OnIncreaseClick, this);\r\n this._IncreaseButton = this.GetTemplateChild(\"IncreaseButton\", ButtonBase);\r\n if (this._IncreaseButton)\r\n this._IncreaseButton.Click.on(this.OnIncreaseClick, this);\r\n\r\n if (this._DecreaseButton)\r\n this._DecreaseButton.Click.off(this.OnDecreaseClick, this);\r\n this._DecreaseButton = this.GetTemplateChild(\"DecreaseButton\", ButtonBase);\r\n if (this._DecreaseButton)\r\n this._DecreaseButton.Click.on(this.OnDecreaseClick, this);\r\n\r\n this.UpdateVisualState(false);\r\n this.EnableButtons();\r\n }\r\n\r\n private OnIncreaseClick (sender: any, e: Fayde.Input.MouseButtonEventArgs) {\r\n this.OnSpin(new SpinEventArgs(SpinDirection.Increase));\r\n }\r\n\r\n private OnDecreaseClick (sender: any, e: Fayde.Input.MouseButtonEventArgs) {\r\n this.OnSpin(new SpinEventArgs(SpinDirection.Decrease));\r\n }\r\n\r\n private EnableButtons () {\r\n if (this._IncreaseButton)\r\n this._IncreaseButton.IsEnabled = (this.ValidSpinDirection & ValidSpinDirections.Increase) === ValidSpinDirections.Increase;\r\n if (this._DecreaseButton)\r\n this._DecreaseButton.IsEnabled = (this.ValidSpinDirection & ValidSpinDirections.Decrease) === ValidSpinDirections.Decrease;\r\n }\r\n\r\n GoToStates (gotoFunc: (state: string) => boolean) {\r\n super.GoToStates(gotoFunc);\r\n this.GoToStateIncrease(gotoFunc);\r\n this.GoToStateDecrease(gotoFunc);\r\n }\r\n\r\n GoToStateCommon (gotoFunc: (state: string) => boolean): boolean {\r\n if (!this.IsEnabled)\r\n return gotoFunc(\"Disabled\");\r\n if (this.IsMouseOver)\r\n return gotoFunc(\"MouseOver\");\r\n return gotoFunc(\"Normal\");\r\n }\r\n\r\n GoToStateIncrease (gotoFunc: (state: string) => boolean): boolean {\r\n return gotoFunc(((this.ValidSpinDirection & ValidSpinDirections.Increase) === ValidSpinDirections.Increase) ? \"IncreaseEnabled\" : \"IncreaseDisabled\");\r\n }\r\n\r\n GoToStateDecrease (gotoFunc: (state: string) => boolean): boolean {\r\n return gotoFunc(((this.ValidSpinDirection & ValidSpinDirections.Decrease) === ValidSpinDirections.Decrease) ? \"DecreaseEnabled\" : \"DecreaseDisabled\");\r\n }\r\n\r\n OnMouseEnter (e: Input.MouseEventArgs) {\r\n super.OnMouseEnter(e);\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnMouseLeave (e: Input.MouseEventArgs) {\r\n super.OnMouseLeave(e);\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnMouseLeftButtonDown (e: Input.MouseButtonEventArgs) {\r\n this.UpdateVisualState();\r\n super.OnMouseLeftButtonDown(e);\r\n }\r\n\r\n OnMouseLeftButtonUp (e: Input.MouseButtonEventArgs) {\r\n super.OnMouseLeftButtonUp(e);\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnGotFocus (e: RoutedEventArgs) {\r\n super.OnGotFocus(e);\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnLostFocus (e: RoutedEventArgs) {\r\n super.OnLostFocus(e);\r\n this.UpdateVisualState();\r\n }\r\n }\r\n Markup.Content(Spinner, Spinner.ContentProperty);\r\n TemplateVisualStates(Spinner,\r\n {GroupName: \"CommonStates\", Name: \"Normal\"},\r\n {GroupName: \"CommonStates\", Name: \"MouseOver\"},\r\n {GroupName: \"CommonStates\", Name: \"Disabled\"},\r\n {GroupName: \"FocusStates\", Name: \"Unfocused\"},\r\n {GroupName: \"FocusStates\", Name: \"Focused\"},\r\n {GroupName: \"IncreaseStates\", Name: \"IncreaseEnabled\"},\r\n {GroupName: \"IncreaseStates\", Name: \"IncreaseDisabled\"},\r\n {GroupName: \"DecreaseStates\", Name: \"DecreaseEnabled\"},\r\n {GroupName: \"DecreaseStates\", Name: \"DecreaseDisabled\"});\r\n TemplateParts(Spinner,\r\n {Name: \"IncreaseButton\", Type: Primitives.ButtonBase},\r\n {Name: \"DecreaseButton\", Type: Primitives.ButtonBase});\r\n}","/// \r\n\r\nmodule Fayde.Controls {\r\n export class UpDownBase extends Control {\r\n private _IgnoreValueChange: boolean = false;\r\n _TextBox: TextBox = null;\r\n _Spinner: Spinner = null;\r\n private _Text: string = \"\";\r\n\r\n static SpinnerStyleProperty = DependencyProperty.Register(\"SpinnerStyle\", () => Style, UpDownBase, undefined, (d: UpDownBase, args) => d.OnSpinnerStyleChanged(args.OldValue, args.NewValue));\r\n SpinnerStyle: Style;\r\n private OnSpinnerStyleChanged(oldStyle: Style, newStyle: Style) { }\r\n\r\n Value: T;\r\n _OnValueChanged(args: IDependencyPropertyChangedEventArgs) {\r\n if (this._IgnoreValueChange)\r\n return;\r\n var oldValue: T = args.OldValue;\r\n var newValue: T = args.NewValue;\r\n var e1 = new RoutedPropertyChangingEventArgs(args.Property, oldValue, newValue, true);\r\n this.OnValueChanging(e1);\r\n if (e1.InCoercion)\r\n return;\r\n if (!e1.Cancel) {\r\n var newValue2: T = e1.NewValue;\r\n var e2 = new RoutedPropertyChangedEventArgs(oldValue, newValue2);\r\n this.OnValueChanged(e2);\r\n } else {\r\n this._IgnoreValueChange = true;\r\n this.Value = oldValue;\r\n this._IgnoreValueChange = false;\r\n }\r\n }\r\n OnValueChanging(e: RoutedPropertyChangingEventArgs) {\r\n this.ValueChanging.raise(this, e);\r\n }\r\n OnValueChanged(e: RoutedPropertyChangedEventArgs) {\r\n (>>this.ValueChanged).raise(this, e); //WTF: compiler choking without cast for some odd reason\r\n this.SetTextBoxText();\r\n }\r\n\r\n static IsEditableProperty = DependencyProperty.Register(\"IsEditable\", () => Boolean, UpDownBase, true, (d: UpDownBase, args) => d.OnIsEditableChanged(args));\r\n IsEditable: boolean;\r\n private OnIsEditableChanged(args: IDependencyPropertyChangedEventArgs) {\r\n if (!this._TextBox)\r\n this._TextBox.IsReadOnly = !this.IsEditable;\r\n }\r\n\r\n ValueChanging = new RoutedPropertyChangingEvent();\r\n ValueChanged = new RoutedPropertyChangedEvent();\r\n Parsing = new RoutedEvent>();\r\n ParseError = new RoutedEvent();\r\n\r\n OnApplyTemplate() {\r\n super.OnApplyTemplate();\r\n this.SetTextBox(this.GetTemplateChild(\"Text\"));\r\n this.SetSpinner(this.GetTemplateChild(\"Spinner\"));\r\n this.SetTextBoxText();\r\n if (this._TextBox != null)\r\n this._TextBox.IsReadOnly = !this.IsEditable;\r\n this.UpdateVisualState(false);\r\n }\r\n private SetTextBox(d: DependencyObject) {\r\n if (this._TextBox) {\r\n this._TextBox.GotFocus.off(this.TextBox_GotFocus, this);\r\n this._TextBox.LostFocus.off(this.TextBox_LostFocus, this);\r\n }\r\n if (d instanceof TextBox)\r\n this._TextBox = d;\r\n else\r\n this._TextBox = null;\r\n this._TextBox.GotFocus.on(this.TextBox_GotFocus, this);\r\n this._TextBox.LostFocus.on(this.TextBox_LostFocus, this);\r\n this._Text = this._TextBox.Text;\r\n }\r\n private SetSpinner(d: DependencyObject) {\r\n if (this._Spinner)\r\n this._Spinner.Spin.off(this.Spinner_Spin, this);\r\n if (d instanceof Spinner)\r\n this._Spinner = d;\r\n else\r\n this._Spinner = null;\r\n if (this._Spinner)\r\n this._Spinner.Spin.on(this.Spinner_Spin, this);\r\n }\r\n\r\n OnKeyDown(e: Fayde.Input.KeyEventArgs) {\r\n super.OnKeyDown(e);\r\n if (e.Handled)\r\n return;\r\n switch (e.Key) {\r\n case Fayde.Input.Key.Enter:\r\n this.ProcessUserInput();\r\n e.Handled = true;\r\n break;\r\n case Fayde.Input.Key.Up:\r\n this.DoIncrement();\r\n e.Handled = true;\r\n break;\r\n case Fayde.Input.Key.Down:\r\n this.DoDecrement();\r\n e.Handled = true;\r\n break;\r\n }\r\n }\r\n OnMouseWheel(e: Fayde.Input.MouseWheelEventArgs) {\r\n super.OnMouseWheel(e);\r\n if (e.Handled)\r\n return;\r\n if (e.Delta < 0)\r\n this.DoDecrement();\r\n else if (0 < e.Delta)\r\n this.DoIncrement();\r\n e.Handled = true;\r\n }\r\n\r\n ApplyValue(text: string) {\r\n var e1 = new UpDownParsingEventArgs(text);\r\n var obj1: any;\r\n var error: Error = null;\r\n try {\r\n obj1 = this.ParseValue(text);\r\n e1.Value = obj1;\r\n } catch (err) {\r\n error = err;\r\n }\r\n try {\r\n this.OnParsing(e1);\r\n } catch (err) {\r\n }\r\n if (error == null) {\r\n var obj2 = e1.Handled ? e1.Value : obj1;\r\n var value = this.Value;\r\n if (this.Value === obj2)\r\n this.SetTextBoxText();\r\n this.Value = obj2;\r\n } else if (e1.Handled) {\r\n if (this.Value === e1.Value)\r\n this.SetTextBoxText();\r\n this.Value = e1.Value;\r\n } else {\r\n var e2 = new UpDownParseErrorEventArgs(text, error);\r\n this.OnParseError(e2);\r\n if (!e2.Handled)\r\n this.SetTextBoxText();\r\n }\r\n }\r\n OnParseError(e: UpDownParseErrorEventArgs) {\r\n this.ParseError.raise(this, e);\r\n }\r\n OnParsing(e: UpDownParsingEventArgs) {\r\n this.Parsing.raise(this, e);\r\n }\r\n ParseValue(text: string): T { return; }\r\n FormatValue(): string { return \"\"; }\r\n\r\n SelectAllText() {\r\n if (this._TextBox)\r\n this._TextBox.SelectAll();\r\n }\r\n SetTextBoxText() {\r\n if (!this._TextBox)\r\n return;\r\n this._Text = this.FormatValue() || \"\";\r\n this._TextBox.Text = this._Text;\r\n this._TextBox.SelectionStart = this._Text.length;\r\n }\r\n private TextBox_LostFocus(sender: any, e: RoutedEventArgs) {\r\n this.ProcessUserInput();\r\n }\r\n private TextBox_GotFocus(sender: any, e: RoutedEventArgs) {\r\n this.SelectAllText();\r\n }\r\n\r\n private Spinner_Spin(sender: any, e: SpinEventArgs) {\r\n if (this._TextBox)\r\n this.ProcessUserInput();\r\n this.OnSpin(e);\r\n }\r\n OnSpin(e: SpinEventArgs) {\r\n if (e.Direction === SpinDirection.Increase)\r\n this.DoIncrement();\r\n else\r\n this.DoDecrement();\r\n }\r\n\r\n private ProcessUserInput() {\r\n if (!this._TextBox || this._Text === this._TextBox.Text)\r\n return;\r\n var selectionStart = this._TextBox.SelectionStart;\r\n this._Text = this._TextBox.Text;\r\n this.ApplyValue(this._Text);\r\n if (selectionStart < this._TextBox.Text.length)\r\n this._TextBox.SelectionStart = selectionStart;\r\n }\r\n private DoDecrement() {\r\n if (this._Spinner && (this._Spinner.ValidSpinDirection & ValidSpinDirections.Decrease) !== ValidSpinDirections.Decrease)\r\n return;\r\n this.OnDecrement();\r\n }\r\n OnDecrement() { }\r\n private DoIncrement() {\r\n if (this._Spinner && (this._Spinner.ValidSpinDirection & ValidSpinDirections.Increase) !== ValidSpinDirections.Increase)\r\n return;\r\n this.OnIncrement();\r\n }\r\n OnIncrement() { }\r\n }\r\n TemplateVisualStates(UpDownBase,\r\n { GroupName: \"CommonStates\", Name: \"Normal\" },\r\n { GroupName: \"CommonStates\", Name: \"MouseOver\" },\r\n { GroupName: \"CommonStates\", Name: \"Pressed\" },\r\n { GroupName: \"CommonStates\", Name: \"Disabled\" },\r\n { GroupName: \"FocusStates\", Name: \"Unfocused\" },\r\n { GroupName: \"FocusStates\", Name: \"Focused\" });\r\n TemplateParts(UpDownBase,\r\n { Name: \"Text\", Type: TextBox },\r\n { Name: \"Spinner\", Type: Spinner });\r\n}","/// \r\n\r\nmodule Fayde.Controls {\r\n export interface IOutValue {\r\n Value: any;\r\n }\r\n\r\n export class DomainUpDown extends Control {\r\n static ValueProperty = DependencyProperty.Register(\"Value\", () => Object, DomainUpDown, null, (d, args) => (d)._Coercer.OnValueChanged(args.OldValue, args.NewValue));\r\n static IsEditableProperty = DependencyProperty.Register(\"IsEditable\", () => Boolean, DomainUpDown, false, (d, args) => (d)._Coercer.UpdateIsEditable());\r\n static SpinnerStyleProperty = DependencyProperty.Register(\"SpinnerStyle\", () => Style, DomainUpDown);\r\n static CurrentIndexProperty = DependencyProperty.Register(\"CurrentIndex\", () => Number, DomainUpDown, -1, (d, args) => (d)._Coercer.OnCurrentIndexChanged(args.OldValue, args.NewValue));\r\n static IsCyclicProperty = DependencyProperty.Register(\"IsCyclic\", () => Boolean, DomainUpDown, false, (d, args) => (d)._OnIsCyclicChanged(args));\r\n static InvalidInputActionProperty = DependencyProperty.RegisterFull(\"InvalidInputAction\", () => new Enum(InvalidInputAction), DomainUpDown, InvalidInputAction.UseFallbackItem, undefined, undefined, false, inputActionValidator, true);\r\n static FallbackItemProperty = DependencyProperty.Register(\"FallbackItem\", () => Object, DomainUpDown, null);\r\n static ItemsSourceProperty = DependencyProperty.Register(\"ItemsSource\", () => nullstone.IEnumerable_, DomainUpDown, undefined, (d, args) => (d)._OnItemsSourceChanged(args.OldValue, args.NewValue));\r\n static ItemTemplateProperty = DependencyProperty.Register(\"ItemTemplate\", () => DataTemplate, DomainUpDown);\r\n\r\n Value: any;\r\n IsEditable: boolean;\r\n SpinnerStyle: Style;\r\n CurrentIndex: number;\r\n IsCyclic: boolean;\r\n InvalidInputAction: InvalidInputAction;\r\n FallbackItem: any;\r\n ItemsSource: nullstone.IEnumerable;\r\n ItemTemplate: DataTemplate;\r\n Items: Internal.ObservableObjectCollection;\r\n\r\n OnValueChanged (oldItem: any, newItem: any) {\r\n }\r\n\r\n OnCurrentIndexChanged (oldIndex: number, newIndex: number) {\r\n this.UpdateValidSpinDirection();\r\n }\r\n\r\n private _OnIsCyclicChanged (args: IDependencyPropertyChangedEventArgs) {\r\n this.UpdateValidSpinDirection();\r\n }\r\n\r\n private _OnItemsSourceChanged (oldItemsSource: nullstone.IEnumerable, newItemsSource: nullstone.IEnumerable) {\r\n var cc = Collections.INotifyCollectionChanged_.as(oldItemsSource);\r\n if (cc)\r\n cc.CollectionChanged.off(this._ItemsSourceModified, this);\r\n\r\n this.Items.IsReadOnly = false;\r\n this.Items.Clear();\r\n if (!newItemsSource)\r\n return;\r\n\r\n var en = nullstone.IEnumerable_.as(newItemsSource);\r\n var arr: any[];\r\n if (en) {\r\n var enu = en.getEnumerator();\r\n arr = [];\r\n while (enu.moveNext()) {\r\n arr.push(enu.current);\r\n }\r\n } else if (newItemsSource instanceof Array) {\r\n arr = newItemsSource;\r\n }\r\n if (arr) {\r\n this.Items.AddRange(arr);\r\n this.Items.IsReadOnly = true;\r\n }\r\n\r\n cc = Collections.INotifyCollectionChanged_.as(newItemsSource);\r\n if (cc)\r\n cc.CollectionChanged.on(this._ItemsSourceModified, this);\r\n }\r\n\r\n private _ItemsSourceModified (sender: any, e: Collections.CollectionChangedEventArgs) {\r\n var coll = >sender;\r\n var index: number;\r\n this.Items.IsReadOnly = false;\r\n switch (e.Action) {\r\n case Collections.CollectionChangedAction.Add:\r\n index = e.NewStartingIndex;\r\n for (var en = nullstone.IEnumerator_.fromArray(e.NewItems); en.moveNext();) {\r\n this.Items.Insert(index, en.current);\r\n index++;\r\n }\r\n break;\r\n case Collections.CollectionChangedAction.Remove:\r\n for (var en = nullstone.IEnumerator_.fromArray(e.OldItems); en.moveNext();) {\r\n this.Items.RemoveAt(e.OldStartingIndex);\r\n }\r\n break;\r\n case Collections.CollectionChangedAction.Replace:\r\n index = e.NewStartingIndex;\r\n for (var en = nullstone.IEnumerator_.fromArray(e.NewItems); en.moveNext();) {\r\n this.Items.SetValueAt(index, en.current);\r\n index++;\r\n }\r\n break;\r\n case Collections.CollectionChangedAction.Reset:\r\n this.Items.Clear();\r\n this.Items.AddRange(coll.ToArray());\r\n break;\r\n }\r\n this.Items.IsReadOnly = true;\r\n }\r\n\r\n private _OnItemsChanged (sender: any, e: Collections.CollectionChangedEventArgs) {\r\n this._Coercer.UpdateTextBoxText();\r\n }\r\n\r\n ValueChanging = new RoutedPropertyChangingEvent();\r\n ParseError = new RoutedEvent();\r\n\r\n get ValueMemberPath (): string {\r\n var vb = this.ValueMemberBinding;\r\n return vb ? vb.Path.Path : null;\r\n }\r\n\r\n set ValueMemberPath (value: string) {\r\n var vb = this.ValueMemberBinding;\r\n if (!value) {\r\n if (!vb)\r\n return;\r\n var binding1 = new Fayde.Data.Binding();\r\n binding1.Converter = vb.Converter;\r\n binding1.ConverterCulture = vb.ConverterCulture;\r\n binding1.ConverterParameter = vb.ConverterParameter;\r\n this.ValueMemberBinding = binding1;\r\n } else if (vb != null) {\r\n var binding1 = new Fayde.Data.Binding(value);\r\n binding1.Converter = vb.Converter;\r\n binding1.ConverterCulture = vb.ConverterCulture;\r\n binding1.ConverterParameter = vb.ConverterParameter;\r\n this.ValueMemberBinding = binding1;\r\n } else\r\n this.ValueMemberBinding = new Fayde.Data.Binding(value);\r\n }\r\n\r\n private _ValueBindingEvaluator: Internal.BindingSourceEvaluator = null;\r\n\r\n get ValueMemberBinding (): Fayde.Data.Binding {\r\n var vbe = this._ValueBindingEvaluator;\r\n return vbe ? vbe.ValueBinding : null;\r\n }\r\n\r\n set ValueMemberBinding (value: Fayde.Data.Binding) {\r\n this._ValueBindingEvaluator = new Internal.BindingSourceEvaluator(value);\r\n }\r\n\r\n private _Coercer: Internal.IDomainCoercer;\r\n private _SpinFlow: Internal.ISpinFlow;\r\n private _CanEditByFocus = false;\r\n\r\n constructor () {\r\n super();\r\n this.DefaultStyleKey = DomainUpDown;\r\n\r\n Object.defineProperty(this, \"Items\", {value: new Internal.ObservableObjectCollection(), writable: false});\r\n this.Items.CollectionChanged.on(this._OnItemsChanged, this);\r\n\r\n this._Coercer = new Internal.DomainCoercer(this,\r\n val => this.SetCurrentValue(DomainUpDown.ValueProperty, val),\r\n val => this.SetCurrentValue(DomainUpDown.CurrentIndexProperty, val));\r\n }\r\n\r\n OnApplyTemplate () {\r\n super.OnApplyTemplate();\r\n\r\n if (this._SpinFlow)\r\n this._SpinFlow.Dispose();\r\n this._SpinFlow = new Internal.SpinFlow(this, this.GetTemplateChild(\"Spinner\", Spinner));\r\n\r\n this._Coercer.Detach();\r\n this._Coercer.Attach(this.GetTemplateChild(\"Text\", TextBox));\r\n\r\n this.UpdateValidSpinDirection();\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnGotFocus (e: RoutedEventArgs) {\r\n super.OnGotFocus(e);\r\n this.UpdateVisualState();\r\n if (this.IsEnabled)\r\n this.TryEnterEditMode();\r\n }\r\n\r\n OnLostFocus (e: RoutedEventArgs) {\r\n super.OnLostFocus(e);\r\n this.UpdateVisualState();\r\n if (this.IsEnabled)\r\n this._Coercer.EscapeFocus();\r\n }\r\n\r\n OnMouseEnter (e: Fayde.Input.MouseEventArgs) {\r\n super.OnMouseEnter(e);\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnMouseLeave (e: Fayde.Input.MouseEventArgs) {\r\n super.OnMouseLeave(e);\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnMouseLeftButtonDown (e: Fayde.Input.MouseButtonEventArgs) {\r\n super.OnMouseLeftButtonDown(e);\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnMouseLeftButtonUp (e: Fayde.Input.MouseButtonEventArgs) {\r\n super.OnMouseLeftButtonUp(e);\r\n this.UpdateVisualState();\r\n if (this.IsEnabled && !this._Coercer.IsEditing) {\r\n this.Focus();\r\n this.TryEnterEditMode();\r\n }\r\n }\r\n\r\n GoToStates (gotoFunc: (state: string) => boolean) {\r\n super.GoToStates(gotoFunc);\r\n this.GoToStateEditing(gotoFunc);\r\n this.GoToStateValid(gotoFunc);\r\n }\r\n\r\n GoToStateEditing (gotoFunc: (state: string) => boolean): boolean {\r\n return gotoFunc(this._Coercer.IsEditing ? \"Edit\" : \"Display\");\r\n }\r\n\r\n GoToStateValid (gotoFunc: (state: string) => boolean): boolean {\r\n return gotoFunc(this._Coercer.IsInvalidInput ? \"InvalidDomain\" : \"ValidDomain\");\r\n }\r\n\r\n private UpdateValidSpinDirection () {\r\n if (!this._SpinFlow)\r\n return;\r\n var isCyclic = this.IsCyclic;\r\n var curIndex = this.CurrentIndex;\r\n this._SpinFlow.UpdateValid(isCyclic || curIndex > 0, isCyclic || curIndex < this.Items.Count - 1);\r\n }\r\n\r\n private TryEnterEditMode () {\r\n if (this._Coercer.IsEditing)\r\n return;\r\n if (!this._CanEditByFocus && this.IsEditable)\r\n this._Coercer.IsEditing = true;\r\n }\r\n\r\n OnIsEditingChanged (isEditing: boolean) {\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnIsInvalidInputChanged (isInvalid: boolean) {\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnSpin () {\r\n this._Coercer.ProcessUserInput();\r\n }\r\n\r\n OnIncrement () {\r\n if (this.CurrentIndex < this.Items.Count - 1)\r\n this.CurrentIndex++;\r\n else if (this.IsCyclic)\r\n this.CurrentIndex = 0;\r\n this._Coercer.IsInvalidInput = false;\r\n this._CanEditByFocus = true;\r\n this.Focus();\r\n window.setTimeout(() => this._CanEditByFocus = false, 1);\r\n }\r\n\r\n OnDecrement () {\r\n if (this.CurrentIndex > 0)\r\n this.CurrentIndex--;\r\n else if (this.IsCyclic)\r\n this.CurrentIndex = this.Items.Count - 1;\r\n this._Coercer.IsInvalidInput = false;\r\n this._CanEditByFocus = true;\r\n this.Focus();\r\n window.setTimeout(() => this._CanEditByFocus = false, 1);\r\n }\r\n\r\n TryParseValue (text: string, ov: IOutValue): boolean {\r\n if (!text) {\r\n ov.Value = this.Value;\r\n return true;\r\n }\r\n var vb = this._ValueBindingEvaluator;\r\n var enu = this.Items.getEnumerator();\r\n while (enu.moveNext() && ov.Value == null) {\r\n ov.Value = matchItem(vb, enu.current, text);\r\n }\r\n if (ov.Value != null)\r\n return true;\r\n\r\n ov.Value = this.Value;\r\n if (this.InvalidInputAction === InvalidInputAction.TextBoxCannotLoseFocus)\r\n return false;\r\n\r\n if (this.InvalidInputAction === InvalidInputAction.UseFallbackItem) {\r\n ov.Value = this.FallbackItem;\r\n if (ov.Value == null || !this.Items.Contains(ov.Value))\r\n throw new ArgumentException(\"Cannot parse value.\");\r\n }\r\n return true;\r\n }\r\n\r\n FormatValue (): string {\r\n var val = this.Value;\r\n if (!val)\r\n return \"\";\r\n if (!this.Items.Contains(val))\r\n return \"\";\r\n try {\r\n var vb = this._ValueBindingEvaluator;\r\n if (vb)\r\n val = vb.GetDynamicValue(val);\r\n } catch (err) {\r\n }\r\n if (typeof val === \"string\")\r\n return val;\r\n return \"\";\r\n }\r\n }\r\n TemplateVisualStates(DomainUpDown,\r\n {GroupName: \"CommonStates\", Name: \"Normal\"},\r\n {GroupName: \"CommonStates\", Name: \"MouseOver\"},\r\n {GroupName: \"CommonStates\", Name: \"Pressed\"},\r\n {GroupName: \"CommonStates\", Name: \"Disabled\"},\r\n {GroupName: \"FocusStates\", Name: \"Unfocused\"},\r\n {GroupName: \"FocusStates\", Name: \"Focused\"},\r\n {GroupName: \"ValidationStates\", Name: \"Valid\"},\r\n {GroupName: \"ValidationStates\", Name: \"InvalidUnfocused\"},\r\n {GroupName: \"ValidationStates\", Name: \"InvalidFocused\"},\r\n {GroupName: \"DomainStates\", Name: \"ValidDomain\"},\r\n {GroupName: \"DomainStates\", Name: \"InvalidDomain\"});\r\n\r\n\r\n function inputActionValidator (d: DependencyObject, propd: DependencyProperty, value: any): boolean {\r\n switch (value) {\r\n case InvalidInputAction.UseFallbackItem:\r\n case InvalidInputAction.TextBoxCannotLoseFocus:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n function matchItem (evaluator: Internal.BindingSourceEvaluator, item: any, text: string): boolean {\r\n if (!evaluator)\r\n return text === item.toString();\r\n return text === (evaluator.GetDynamicValue(item) || \"\");\r\n }\r\n}","module Fayde.Controls {\r\n\r\n var dragIncrement = 1;\r\n var keyIncrement = 10;\r\n\r\n export class GridSplitter extends Control {\r\n private _Helper: Internal.GridSplitterResizer;\r\n private _HorizontalTemplate: FrameworkElement = null;\r\n private _VerticalTemplate: FrameworkElement = null;\r\n private _DragStart: Point = null;\r\n private _IsDragging = false;\r\n\r\n constructor() {\r\n super();\r\n this.DefaultStyleKey = GridSplitter;\r\n this._Helper = new Internal.GridSplitterResizer(this);\r\n this.LayoutUpdated.on(this._OnLayoutUpdated, this);\r\n }\r\n\r\n OnApplyTemplate() {\r\n super.OnApplyTemplate();\r\n this._HorizontalTemplate = this.GetTemplateChild(\"HorizontalTemplate\", FrameworkElement);\r\n this._VerticalTemplate = this.GetTemplateChild(\"VerticalTemplate\", FrameworkElement);\r\n this._Helper.UpdateResizeDirection(this);\r\n this._OnResizeDirectionChanged();\r\n this.UpdateVisualState();\r\n }\r\n private _OnLayoutUpdated(sender: any, e: any) {\r\n if (this._Helper && this._Helper.UpdateResizeDirection(this))\r\n this._OnResizeDirectionChanged();\r\n }\r\n private _OnResizeDirectionChanged() {\r\n var isColumns = this._Helper.Direction === Internal.GridResizeDirection.Columns;\r\n\r\n this.Cursor = isColumns ? CursorType.SizeWE : CursorType.SizeNS;\r\n\r\n var ht = this._HorizontalTemplate;\r\n if (ht)\r\n ht.Visibility = !isColumns ? Visibility.Visible : Visibility.Collapsed;\r\n var vt = this._VerticalTemplate;\r\n if (vt)\r\n vt.Visibility = isColumns ? Visibility.Visible : Visibility.Collapsed;\r\n }\r\n\r\n OnGotFocus(e: RoutedEventArgs) {\r\n super.OnGotFocus(e);\r\n this.UpdateVisualState();\r\n }\r\n OnLostFocus(e: RoutedEventArgs) {\r\n super.OnLostFocus(e);\r\n this.UpdateVisualState();\r\n }\r\n OnKeyDown(e: Input.KeyEventArgs) {\r\n super.OnKeyDown(e);\r\n if (e.Key === Fayde.Input.Key.Escape) {\r\n if (!this._Helper)\r\n return;\r\n this._Helper = null;\r\n e.Handled = true;\r\n return;\r\n }\r\n if (!this.IsFocused || !this.IsEnabled)\r\n return;\r\n var horiz = 0;\r\n var vert = 0;\r\n switch (e.Key) {\r\n case Fayde.Input.Key.Left:\r\n horiz = -keyIncrement;\r\n break;\r\n case Fayde.Input.Key.Up:\r\n vert = -keyIncrement;\r\n break;\r\n case Fayde.Input.Key.Right:\r\n horiz = keyIncrement;\r\n break;\r\n case Fayde.Input.Key.Down:\r\n vert = keyIncrement;\r\n break;\r\n }\r\n if (this.FlowDirection === FlowDirection.RightToLeft)\r\n e.Handled = this._HandleMove(-horiz, vert, true);\r\n else\r\n e.Handled = this._HandleMove(horiz, vert, true);\r\n }\r\n\r\n OnMouseLeftButtonDown(e: Input.MouseButtonEventArgs) {\r\n super.OnMouseLeftButtonDown(e);\r\n if (!this.IsEnabled)\r\n return;\r\n this._IsDragging = this.CaptureMouse();\r\n if (!this._IsDragging)\r\n return;\r\n this._DragStart = this._GetTransformedPos(e);\r\n this.Focus();\r\n this.InitHelper();\r\n }\r\n OnMouseLeftButtonUp(e: Input.MouseButtonEventArgs) {\r\n super.OnMouseLeftButtonUp(e);\r\n this.ReleaseMouseCapture();\r\n this._IsDragging = false;\r\n this._Helper = null;\r\n this.UpdateVisualState();\r\n }\r\n OnMouseMove(e: Input.MouseEventArgs) {\r\n super.OnMouseMove(e);\r\n if (!this._IsDragging)\r\n return;\r\n var pos = this._GetTransformedPos(e);\r\n if (pos)\r\n this._HandleMove(pos.x - this._DragStart.x, pos.y - this._DragStart.y, false);\r\n }\r\n\r\n private InitHelper() {\r\n var parent = this.VisualParent;\r\n if (!(parent instanceof Grid))\r\n return;\r\n this._Helper = new Internal.GridSplitterResizer(this);\r\n if (this._Helper.Setup(this, parent))\r\n return;\r\n this._Helper = null;\r\n }\r\n private _HandleMove(horiz: number, vert: number, isKeyboard: boolean): boolean {\r\n if (isKeyboard) {\r\n if (this._Helper)\r\n return false;\r\n this.InitHelper();\r\n }\r\n if (!this._Helper)\r\n return false;\r\n if (!this._Helper.Move(this.VisualParent, horiz, vert) || isKeyboard)\r\n this._Helper = null;\r\n return true;\r\n }\r\n private _GetTransformedPos(e: Input.MouseEventArgs) {\r\n if (this.RenderTransform)\r\n return this.RenderTransform.Transform(e.GetPosition(this));\r\n return e.GetPosition(this);\r\n }\r\n }\r\n}","module Fayde.Controls {\r\n export class HeaderedItemsControl extends ItemsControl {\r\n private _HeaderIsItem: boolean = false;\r\n private _ItemsControlHelper: Internal.ItemsControlHelper;\r\n\r\n static HeaderProperty = DependencyProperty.Register(\"Header\", () => Object, HeaderedItemsControl, undefined, (d: HeaderedItemsControl, args) => d.OnHeaderChanged(args.OldValue, args.NewValue));\r\n static HeaderTemplateProperty = DependencyProperty.Register(\"HeaderTemplate\", () => DataTemplate, HeaderedItemsControl, undefined, (d: HeaderedItemsControl, args) => d.OnHeaderTemplateChanged(args.OldValue, args.NewValue));\r\n static ItemContainerStyleProperty = DependencyProperty.Register(\"ItemContainerStyle\", () => Style, HeaderedItemsControl, undefined, (d: HeaderedItemsControl, args) => d.OnItemContainerStyleChanged(args));\r\n Header: any;\r\n HeaderTemplate: DataTemplate;\r\n ItemContainerStyle: Style;\r\n\r\n OnHeaderChanged (oldHeader: any, newHeader: any) {\r\n }\r\n\r\n OnHeaderTemplateChanged (oldHeaderTemplate: DataTemplate, newHeaderTemplate: DataTemplate) {\r\n }\r\n\r\n private OnItemContainerStyleChanged (args: IDependencyPropertyChangedEventArgs) {\r\n this._ItemsControlHelper.UpdateItemContainerStyle(args.NewValue);\r\n }\r\n\r\n constructor () {\r\n super();\r\n this.DefaultStyleKey = HeaderedItemsControl;\r\n this._ItemsControlHelper = new Internal.ItemsControlHelper(this);\r\n }\r\n\r\n OnApplyTemplate () {\r\n super.OnApplyTemplate();\r\n this._ItemsControlHelper.OnApplyTemplate();\r\n }\r\n\r\n PrepareContainerForItem (element: UIElement, item: any) {\r\n var control = element;\r\n if (!(control instanceof Control)) control = null;\r\n\r\n var ics = this.ItemContainerStyle;\r\n if (ics != null && control != null && control.Style == null)\r\n control.SetValue(FrameworkElement.StyleProperty, ics);\r\n\r\n var hic = element;\r\n if (hic instanceof HeaderedItemsControl)\r\n HeaderedItemsControl.PrepareHeaderedItemsControlContainer(hic, item, this, ics);\r\n super.PrepareContainerForItem(element, item);\r\n }\r\n\r\n static PrepareHeaderedItemsControlContainer (control: HeaderedItemsControl, item: any, parentItemsControl: ItemsControl, parentItemContainerStyle: Style) {\r\n if (control === item)\r\n return;\r\n var itemTemplate = parentItemsControl.ItemTemplate;\r\n if (itemTemplate != null)\r\n control.SetValue(ItemsControl.ItemTemplateProperty, itemTemplate);\r\n if (parentItemContainerStyle != null && hasDefaultValue(control, HeaderedItemsControl.ItemContainerStyleProperty))\r\n control.SetValue(HeaderedItemsControl.ItemContainerStyleProperty, parentItemContainerStyle);\r\n if (control._HeaderIsItem || hasDefaultValue(control, HeaderedItemsControl.HeaderProperty)) {\r\n control.Header = item;\r\n control._HeaderIsItem = true;\r\n }\r\n if (itemTemplate != null)\r\n control.SetValue(HeaderedItemsControl.HeaderTemplateProperty, itemTemplate);\r\n if (parentItemContainerStyle != null && control.Style == null)\r\n control.SetValue(FrameworkElement.StyleProperty, parentItemContainerStyle);\r\n var hdt = itemTemplate;\r\n if (!(hdt instanceof HierarchicalDataTemplate))\r\n return;\r\n var isexpr = hdt.GetBindingExpression(HierarchicalDataTemplate.ItemsSourceProperty);\r\n if (isexpr) {\r\n var binding = new Data.Binding(isexpr.ParentBinding);\r\n binding.Source = control.Header;\r\n control.SetBinding(ItemsControl.ItemsSourceProperty, binding);\r\n }\r\n if (hdt.ItemTemplate !== undefined && control.ItemTemplate === itemTemplate) {\r\n control.ClearValue(ItemsControl.ItemTemplateProperty);\r\n if (hdt.ItemTemplate != null)\r\n control.ItemTemplate = hdt.ItemTemplate;\r\n }\r\n if (hdt.ItemContainerStyle !== undefined && control.ItemContainerStyle === parentItemContainerStyle) {\r\n control.ClearValue(HeaderedItemsControl.ItemContainerStyleProperty);\r\n if (hdt.ItemContainerStyle != null)\r\n control.ItemContainerStyle = hdt.ItemContainerStyle;\r\n }\r\n }\r\n }\r\n\r\n function hasDefaultValue (control: Control, propd: DependencyProperty): boolean {\r\n return control.ReadLocalValue(propd) === DependencyProperty.UnsetValue;\r\n }\r\n}","/// \r\n\r\nmodule Fayde.Controls {\r\n export class MenuItem extends Fayde.Controls.HeaderedItemsControl {\r\n ParentMenuBase: Primitives.MenuBase;\r\n Click = new RoutedEvent();\r\n\r\n static CommandProperty = DependencyProperty.Register(\"Command\", () => Input.ICommand_, MenuItem, undefined, (d: MenuItem, args) => d.OnCommandChanged(args));\r\n static CommandParameterProperty = DependencyProperty.Register(\"CommandParameter\", () => Object, MenuItem, undefined, (d: MenuItem, args) => d.OnCommandParameterChanged(args));\r\n static IconProperty = DependencyProperty.Register(\"Icon\", () => Object, MenuItem);\r\n Command: Input.ICommand;\r\n CommandParameter: any;\r\n Icon: any;\r\n\r\n private OnCommandChanged (args: IDependencyPropertyChangedEventArgs) {\r\n var oldcmd = Input.ICommand_.as(args.OldValue);\r\n if (oldcmd)\r\n oldcmd.CanExecuteChanged.off(this._CanExecuteChanged, this);\r\n var newcmd = Input.ICommand_.as(args.NewValue);\r\n if (newcmd)\r\n newcmd.CanExecuteChanged.on(this._CanExecuteChanged, this);\r\n this.UpdateIsEnabled();\r\n }\r\n\r\n private _CanExecuteChanged (sender: any, e: any) {\r\n this.UpdateIsEnabled();\r\n }\r\n\r\n private OnCommandParameterChanged (args: IDependencyPropertyChangedEventArgs) {\r\n this.UpdateIsEnabled();\r\n }\r\n\r\n\r\n constructor () {\r\n super();\r\n this.DefaultStyleKey = MenuItem;\r\n this.UpdateIsEnabled();\r\n }\r\n\r\n OnApplyTemplate () {\r\n super.OnApplyTemplate();\r\n this.UpdateVisualState(false);\r\n }\r\n\r\n private UpdateIsEnabled () {\r\n this.IsEnabled = this.Command == null || this.Command.CanExecute(this.CommandParameter);\r\n this.UpdateVisualState(true);\r\n }\r\n\r\n OnGotFocus (e: RoutedEventArgs) {\r\n super.OnGotFocus(e);\r\n this.UpdateVisualState(true);\r\n }\r\n\r\n OnLostFocus (e: RoutedEventArgs) {\r\n super.OnLostFocus(e);\r\n this.UpdateVisualState(true);\r\n }\r\n\r\n OnMouseEnter (e: Input.MouseEventArgs) {\r\n super.OnMouseEnter(e);\r\n this.Focus();\r\n this.UpdateVisualState(true);\r\n }\r\n\r\n OnMouseLeave (e: Input.MouseEventArgs) {\r\n super.OnMouseLeave(e);\r\n if (this.ParentMenuBase != null)\r\n this.ParentMenuBase.Focus();\r\n this.UpdateVisualState(true);\r\n }\r\n\r\n OnMouseLeftButtonDown (e: Input.MouseButtonEventArgs) {\r\n if (!e.Handled) {\r\n this.OnClick();\r\n e.Handled = true;\r\n }\r\n super.OnMouseLeftButtonDown(e);\r\n }\r\n\r\n OnMouseRightButtonDown (e: Input.MouseButtonEventArgs) {\r\n if (!e.Handled) {\r\n this.OnClick();\r\n e.Handled = true;\r\n }\r\n super.OnMouseRightButtonDown(e);\r\n }\r\n\r\n OnKeyDown (e: Input.KeyEventArgs) {\r\n if (!e.Handled && Input.Key.Enter === e.Key) {\r\n this.OnClick();\r\n e.Handled = true;\r\n }\r\n super.OnKeyDown(e);\r\n }\r\n\r\n private OnClick () {\r\n var contextMenu = this.ParentMenuBase;\r\n if (contextMenu instanceof ContextMenu)\r\n contextMenu.ChildMenuItemClicked();\r\n this.Click.raise(this, new RoutedEventArgs());\r\n if (this.Command == null || !this.Command.CanExecute(this.CommandParameter))\r\n return;\r\n this.Command.Execute(this.CommandParameter);\r\n }\r\n\r\n GoToStateCommon (gotoFunc: (state: string) => boolean): boolean {\r\n if (!this.IsEnabled)\r\n return gotoFunc(\"Disabled\");\r\n return gotoFunc(\"Normal\");\r\n }\r\n }\r\n TemplateVisualStates(MenuItem,\r\n {GroupName: \"CommonStates\", Name: \"Normal\"},\r\n {GroupName: \"CommonStates\", Name: \"Disabled\"},\r\n {GroupName: \"FocusStates\", Name: \"Unfocused\"},\r\n {GroupName: \"FocusStates\", Name: \"Focused\"});\r\n}","/// \r\n/// \r\n\r\nmodule Fayde.Controls {\r\n export class NumericUpDown extends Control {\r\n static MinimumProperty = DependencyProperty.Register(\"Minimum\", () => Number, NumericUpDown, 0.0, (d: NumericUpDown, args) => d._Coercer.OnMinimumChanged(args.OldValue, args.NewValue));\r\n static MaximumProperty = DependencyProperty.Register(\"Maximum\", () => Number, NumericUpDown, 100.0, (d: NumericUpDown, args) => d._Coercer.OnMaximumChanged(args.OldValue, args.NewValue));\r\n static ValueProperty = DependencyProperty.Register(\"Value\", () => Number, NumericUpDown, 0.0, (d: NumericUpDown, args) => d._Coercer.OnValueChanged(args.OldValue, args.NewValue));\r\n static IncrementProperty = DependencyProperty.Register(\"Increment\", () => Number, NumericUpDown, 1.0, (d: NumericUpDown, args) => d.OnIncrementChanged(args.OldValue, args.NewValue));\r\n static DecimalPlacesProperty = DependencyProperty.Register(\"DecimalPlaces\", () => Number, NumericUpDown, 0, (d: NumericUpDown, args) => d._Coercer.OnDecimalPlacesChanged(args.OldValue, args.NewValue));\r\n static SpinnerStyleProperty = DependencyProperty.Register(\"SpinnerStyle\", () => Style, NumericUpDown);\r\n static IsEditableProperty = DependencyProperty.Register(\"IsEditable\", () => Boolean, NumericUpDown, true, (d: NumericUpDown, args) => d._Formatter.UpdateIsEditable());\r\n\r\n Minimum: number;\r\n Maximum: number;\r\n Value: number;\r\n Increment: number;\r\n DecimalPlaces: number;\r\n SpinnerStyle: Style;\r\n IsEditable: boolean;\r\n\r\n OnMinimumChanged (oldMinimum: number, newMinimum: number) {\r\n this.UpdateValidSpinDirection();\r\n }\r\n\r\n OnMaximumChanged (oldMaximum: number, newMaximum: number) {\r\n this.UpdateValidSpinDirection();\r\n }\r\n\r\n OnValueChanged (oldValue: number, newValue: number) {\r\n this.UpdateValidSpinDirection();\r\n if (this._Formatter)\r\n this._Formatter.UpdateTextBoxText();\r\n }\r\n\r\n OnIncrementChanged (oldIncrement: number, newIncrement: number) {\r\n }\r\n\r\n OnDecimalPlacesChanged (oldDecimalPlaces: number, newDecimalPlaces: number) {\r\n }\r\n\r\n Parsing = new RoutedEvent>();\r\n ParseError = new RoutedEvent();\r\n\r\n private _Coercer: Internal.IFormattedRangeCoercer;\r\n private _Formatter: Internal.ITextBoxFormatter;\r\n private _SpinFlow: Internal.ISpinFlow;\r\n\r\n constructor () {\r\n super();\r\n this.DefaultStyleKey = NumericUpDown;\r\n this._Coercer = new Internal.FormattedRangeCoercer(this,\r\n (val) => this.SetCurrentValue(NumericUpDown.MaximumProperty, val),\r\n (val) => this.SetCurrentValue(NumericUpDown.ValueProperty, val),\r\n () => {\r\n if (this._Formatter) this._Formatter.UpdateTextBoxText();\r\n });\r\n }\r\n\r\n OnApplyTemplate () {\r\n super.OnApplyTemplate();\r\n\r\n if (this._SpinFlow)\r\n this._SpinFlow.Dispose();\r\n this._SpinFlow = new Internal.SpinFlow(this, this.GetTemplateChild(\"Spinner\", Spinner));\r\n\r\n if (this._Formatter)\r\n this._Formatter.Dispose();\r\n this._Formatter = new Internal.TextBoxFormatter(this, this.GetTemplateChild(\"Text\", TextBox),\r\n (val) => this.SetCurrentValue(NumericUpDown.ValueProperty, val));\r\n\r\n this.UpdateValidSpinDirection();\r\n this.UpdateVisualState(false);\r\n }\r\n\r\n private UpdateValidSpinDirection () {\r\n if (!this._SpinFlow)\r\n return;\r\n var val = this.Value;\r\n this._SpinFlow.UpdateValid(val < this.Maximum, val > this.Minimum);\r\n }\r\n\r\n ParseValue (text: string) {\r\n return parseFloat(text);\r\n }\r\n\r\n FormatValue (val: number): string {\r\n return val.toFixed(this.DecimalPlaces);\r\n }\r\n\r\n OnSpin () {\r\n this._Formatter.ProcessUserInput();\r\n }\r\n\r\n OnIncrement () {\r\n this._Coercer.AddToValue(this.Increment);\r\n }\r\n\r\n OnDecrement () {\r\n this._Coercer.AddToValue(-this.Increment);\r\n }\r\n }\r\n TemplateVisualStates(NumericUpDown,\r\n {GroupName: \"CommonStates\", Name: \"Normal\"},\r\n {GroupName: \"CommonStates\", Name: \"MouseOver\"},\r\n {GroupName: \"CommonStates\", Name: \"Pressed\"},\r\n {GroupName: \"CommonStates\", Name: \"Disabled\"},\r\n {GroupName: \"FocusStates\", Name: \"Unfocused\"},\r\n {GroupName: \"FocusStates\", Name: \"Focused\"},\r\n {GroupName: \"ValidationStates\", Name: \"Valid\"},\r\n {GroupName: \"ValidationStates\", Name: \"InvalidUnfocused\"},\r\n {GroupName: \"ValidationStates\", Name: \"InvalidFocused\"});\r\n TemplateParts(NumericUpDown,\r\n {Name: \"Text\", Type: TextBox},\r\n {Name: \"Spinner\", Type: Spinner});\r\n\r\n function numberValidator (d: DependencyObject, propd: DependencyProperty, value: any): boolean {\r\n if (typeof value !== \"number\")\r\n return false;\r\n if (isNaN(value))\r\n return false;\r\n if (!isFinite(value))\r\n return false;\r\n return true;\r\n }\r\n\r\n function decimalPlacesValidator (d: DependencyObject, propd: DependencyProperty, value: any): boolean {\r\n if (!numberValidator(d, propd, value))\r\n return false;\r\n return value >= 0 && value <= 15;\r\n }\r\n}","\r\nmodule Fayde.Controls {\r\n export class Separator extends Control {\r\n constructor() {\r\n super();\r\n this.DefaultStyleKey = Separator;\r\n }\r\n }\r\n}","\r\nmodule Fayde.Controls {\r\n export class SpinEventArgs extends RoutedEventArgs {\r\n Direction: SpinDirection;\r\n constructor(direction: SpinDirection) {\r\n super();\r\n Object.defineProperty(this, \"Direction\", { value: direction, writable: false });\r\n }\r\n }\r\n}","module Fayde.Controls {\r\n var ElementTemplateTopName = \"TemplateTop\";\r\n var ElementTemplateBottomName = \"TemplateBottom\";\r\n var ElementTemplateLeftName = \"TemplateLeft\";\r\n var ElementTemplateRightName = \"TemplateRight\";\r\n var ElementTabPanelTopName = \"TabPanelTop\";\r\n var ElementTabPanelBottomName = \"TabPanelBottom\";\r\n var ElementTabPanelLeftName = \"TabPanelLeft\";\r\n var ElementTabPanelRightName = \"TabPanelRight\";\r\n var ElementContentTopName = \"ContentTop\";\r\n var ElementContentBottomName = \"ContentBottom\";\r\n var ElementContentLeftName = \"ContentLeft\";\r\n var ElementContentRightName = \"ContentRight\";\r\n\r\n export class TabControl extends ItemsControl {\r\n static SelectedItemProperty = DependencyProperty.Register(\"SelectedItem\", () => Object, TabControl, null, (d: TabControl, args) => d.OnSelectedItemChanged(args));\r\n static SelectedIndexProperty = DependencyProperty.Register(\"SelectedIndex\", () => Number, TabControl, -1, (d: TabControl, args) => d.OnSelectedIndexChanged(args));\r\n static SelectedContentProperty = DependencyProperty.Register(\"SelectedContent\", () => Object, TabControl, null, (d: TabControl, args) => d.OnSelectedContentChanged(args));\r\n static TabStripPlacementProperty = DependencyProperty.Register(\"TabStripPlacement\", () => new Enum(Dock), TabControl, Dock.Top, (d: TabControl, args) => d.OnTabStripPlacementPropertyChanged(args));\r\n SelectedItem: any;\r\n SelectedIndex: number;\r\n SelectedContent: any;\r\n TabStripPlacement: Dock;\r\n SelectionChanged = new RoutedEvent();\r\n\r\n private _ElementTemplateTop: FrameworkElement;\r\n private _ElementTemplateBottom: FrameworkElement;\r\n private _ElementTemplateLeft: FrameworkElement;\r\n private _ElementTemplateRight: FrameworkElement;\r\n\r\n private _ElementTabPanelTop: TabPanel;\r\n private _ElementTabPanelBottom: TabPanel;\r\n private _ElementTabPanelLeft: TabPanel;\r\n private _ElementTabPanelRight: TabPanel;\r\n\r\n private _ElementContentTop: ContentPresenter;\r\n private _ElementContentBottom: ContentPresenter;\r\n private _ElementContentLeft: ContentPresenter;\r\n private _ElementContentRight: ContentPresenter;\r\n\r\n private _UpdateIndex = true;\r\n private _DesiredIndex: number = 0;\r\n\r\n constructor () {\r\n super();\r\n this.DefaultStyleKey = TabControl;\r\n }\r\n\r\n OnApplyTemplate () {\r\n super.OnApplyTemplate();\r\n if (this._ElementTabPanelTop != null)\r\n this._ElementTabPanelTop.Children.Clear();\r\n if (this._ElementTabPanelBottom != null)\r\n this._ElementTabPanelBottom.Children.Clear();\r\n if (this._ElementTabPanelLeft != null)\r\n this._ElementTabPanelLeft.Children.Clear();\r\n if (this._ElementTabPanelRight != null)\r\n this._ElementTabPanelRight.Children.Clear();\r\n\r\n var contentHost = this._GetContentHost(this.TabStripPlacement);\r\n if (contentHost != null)\r\n contentHost.Content = null;\r\n this._ElementTemplateTop = this.GetTemplateChild(\"TemplateTop\", FrameworkElement);\r\n this._ElementTemplateBottom = this.GetTemplateChild(\"TemplateBottom\", FrameworkElement);\r\n this._ElementTemplateLeft = this.GetTemplateChild(\"TemplateLeft\", FrameworkElement);\r\n this._ElementTemplateRight = this.GetTemplateChild(\"TemplateRight\", FrameworkElement);\r\n this._ElementTabPanelTop = this.GetTemplateChild(\"TabPanelTop\", TabPanel);\r\n this._ElementTabPanelBottom = this.GetTemplateChild(\"TabPanelBottom\", TabPanel);\r\n this._ElementTabPanelLeft = this.GetTemplateChild(\"TabPanelLeft\", TabPanel);\r\n this._ElementTabPanelRight = this.GetTemplateChild(\"TabPanelRight\", TabPanel);\r\n TabPanel.setTabAlignment(this._ElementTabPanelTop, Dock.Top);\r\n TabPanel.setTabAlignment(this._ElementTabPanelBottom, Dock.Bottom);\r\n TabPanel.setTabAlignment(this._ElementTabPanelLeft, Dock.Left);\r\n TabPanel.setTabAlignment(this._ElementTabPanelRight, Dock.Right);\r\n this._ElementContentTop = this.GetTemplateChild(\"ContentTop\", ContentPresenter);\r\n this._ElementContentBottom = this.GetTemplateChild(\"ContentBottom\", ContentPresenter);\r\n this._ElementContentLeft = this.GetTemplateChild(\"ContentLeft\", ContentPresenter);\r\n this._ElementContentRight = this.GetTemplateChild(\"ContentRight\", ContentPresenter);\r\n\r\n var enumerator = this.Items.getEnumerator();\r\n while (enumerator.moveNext()) {\r\n var tabItem = enumerator.current;\r\n if (!(tabItem instanceof TabItem))\r\n this._ThrowInvalidTabItem(tabItem);\r\n this._AddToTabPanel(tabItem);\r\n }\r\n\r\n if (this.SelectedIndex >= 0)\r\n this.UpdateSelectedContent(this.SelectedContent);\r\n this.UpdateTabPanelLayout(this.TabStripPlacement, this.TabStripPlacement);\r\n this.UpdateVisualState(false);\r\n }\r\n\r\n private OnSelectedItemChanged (args: IDependencyPropertyChangedEventArgs) {\r\n var oldItem = args.OldValue;\r\n var newItem = args.NewValue;\r\n var num = newItem == null ? -1 : this.Items.IndexOf(newItem);\r\n if (newItem != null && num === -1) {\r\n this.SelectedItem = oldItem;\r\n } else {\r\n this.SelectedIndex = num;\r\n this.SelectItem(oldItem, newItem);\r\n }\r\n }\r\n\r\n private OnSelectedIndexChanged (args: IDependencyPropertyChangedEventArgs) {\r\n var index = args.NewValue;\r\n var num = args.OldValue;\r\n if (index < -1)\r\n throw new ArgumentException(\"'\" + index.toString() + \"' is not a valid value for property 'SelectedIndex'\");\r\n if (this._UpdateIndex)\r\n this._DesiredIndex = index;\r\n else if (!this._UpdateIndex)\r\n this._UpdateIndex = true;\r\n if (index >= this.Items.Count) {\r\n this._UpdateIndex = false;\r\n this.SelectedIndex = num;\r\n } else {\r\n var item: any;\r\n if (index >= 0 && index < this.Items.Count)\r\n item = this.Items.GetValueAt(index);\r\n if (this.SelectedItem === item)\r\n return;\r\n this.SelectedItem = item;\r\n }\r\n }\r\n\r\n private OnSelectedContentChanged (args: IDependencyPropertyChangedEventArgs) {\r\n this.UpdateSelectedContent(args.NewValue);\r\n }\r\n\r\n private OnTabStripPlacementPropertyChanged (args: IDependencyPropertyChangedEventArgs) {\r\n this.UpdateTabPanelLayout( args.OldValue, args.NewValue);\r\n var enumerator = this.Items.getEnumerator();\r\n var ti: TabItem;\r\n while (enumerator.moveNext()) {\r\n ti = enumerator.current;\r\n if (ti != null)\r\n ti.UpdateVisualState();\r\n }\r\n }\r\n\r\n OnItemsChanged (e: Collections.CollectionChangedEventArgs) {\r\n super.OnItemsChanged(e);\r\n switch (e.Action) {\r\n case Collections.CollectionChangedAction.Add:\r\n var index1 = -1;\r\n var len = e.NewItems.length;\r\n for (var i = 0; i < len; i++) {\r\n var obj = e.NewItems[i];\r\n var tabItem = obj;\r\n if (!(tabItem instanceof TabItem))\r\n this._ThrowInvalidTabItem(tabItem);\r\n var index2 = this.Items.IndexOf(tabItem);\r\n this._InsertIntoTabPanel(index2, tabItem);\r\n if (tabItem.IsSelected)\r\n index1 = index2;\r\n else if (this.SelectedItem !== this._GetItemAtIndex(this.SelectedIndex))\r\n index1 = this.Items.IndexOf(this.SelectedItem);\r\n else if (this._DesiredIndex < this.Items.Count && this._DesiredIndex >= 0)\r\n index1 = this._DesiredIndex;\r\n tabItem.UpdateVisualState();\r\n }\r\n if (index1 === -1) {\r\n var enumerator = this.Items.getEnumerator();\r\n while (enumerator.moveNext()) {\r\n var tabItem = enumerator.current;\r\n if (!(tabItem instanceof TabItem))\r\n this._ThrowInvalidTabItem(tabItem);\r\n if (tabItem.IsSelected)\r\n return;\r\n }\r\n if (this.Items.Count <= 1) {\r\n var item0 = this.Items.GetValueAt(0);\r\n var iss = item0.ReadLocalValue(TabItem.IsSelectedProperty);\r\n if (iss !== false)\r\n index1 = 0;\r\n } else {\r\n index1 = 0;\r\n }\r\n }\r\n this.SelectedItem = this._GetItemAtIndex(index1);\r\n this.SelectedIndex = index1;\r\n break;\r\n case Collections.CollectionChangedAction.Remove:\r\n var len = e.OldItems.length;\r\n var tabItem: TabItem;\r\n for (var i = 0; i < len; i++) {\r\n tabItem = e.OldItems[i];\r\n this._RemoveFromTabPanel(tabItem);\r\n if (this.Items.Count === 0)\r\n this.SelectedIndex = -1;\r\n else if (this.Items.Count <= this.SelectedIndex)\r\n this.SelectedIndex = this.Items.Count - 1;\r\n else\r\n this.SelectedItem = this._GetItemAtIndex(this.SelectedIndex);\r\n }\r\n break;\r\n case Collections.CollectionChangedAction.Reset:\r\n this._ClearTabPanel();\r\n this.SelectedIndex = -1;\r\n var tabItem: TabItem;\r\n var enumerator = this.Items.getEnumerator();\r\n while (enumerator.moveNext()) {\r\n tabItem = enumerator.current;\r\n if (!(tabItem instanceof TabItem))\r\n this._ThrowInvalidTabItem(tabItem);\r\n this._AddToTabPanel(tabItem);\r\n if (tabItem.IsSelected)\r\n this.SelectedItem = tabItem;\r\n }\r\n if (this.SelectedIndex !== -1 || this.Items.Count <= 0)\r\n break;\r\n this.SelectedIndex = 0;\r\n break;\r\n }\r\n }\r\n\r\n OnKeyDown (e: Input.KeyEventArgs) {\r\n super.OnKeyDown(e);\r\n if (e.Handled)\r\n return;\r\n var nextTabItem: TabItem;\r\n\r\n switch (e.Key) {\r\n case Input.Key.End:\r\n nextTabItem = this._FindEndTabItem();\r\n break;\r\n case Input.Key.Home:\r\n nextTabItem = this._FindHomeTabItem();\r\n break;\r\n default:\r\n return;\r\n }\r\n if (nextTabItem == null || nextTabItem === this.SelectedItem)\r\n return;\r\n e.Handled = true;\r\n this.SelectedItem = nextTabItem;\r\n nextTabItem.Focus();\r\n }\r\n\r\n private _FindEndTabItem (): TabItem {\r\n var items = this.Items;\r\n var len = items.Count;\r\n var tabItem: TabItem = null;\r\n for (var i = len - 1; i >= 0; i--) {\r\n tabItem = items.GetValueAt(i);\r\n if (tabItem.IsEnabled && tabItem.Visibility === Visibility.Visible)\r\n return tabItem;\r\n }\r\n return null;\r\n }\r\n\r\n private _FindHomeTabItem (): TabItem {\r\n var items = this.Items;\r\n var len = items.Count;\r\n var tabItem: TabItem = null;\r\n for (var i = 0; i < len; i++) {\r\n tabItem = items.GetValueAt(i);\r\n if (tabItem.IsEnabled && tabItem.Visibility === Visibility.Visible)\r\n return tabItem;\r\n }\r\n return null;\r\n }\r\n\r\n private SelectItem (oldItem: TabItem, newItem: TabItem) {\r\n if (newItem == null) {\r\n var contentHost = this._GetContentHost(this.TabStripPlacement);\r\n if (contentHost != null)\r\n contentHost.Content = null;\r\n this.SetValue(TabControl.SelectedContentProperty, null);\r\n }\r\n var tabItem: TabItem;\r\n var enumerator = this.Items.getEnumerator();\r\n while (enumerator.moveNext()) {\r\n var tabItem = enumerator.current;\r\n if (!(tabItem instanceof TabItem))\r\n this._ThrowInvalidTabItem(tabItem);\r\n if (tabItem !== newItem && tabItem.IsSelected) {\r\n tabItem.IsSelected = false;\r\n } else if (tabItem === newItem) {\r\n tabItem.IsSelected = true;\r\n this.SetValue(TabControl.SelectedContentProperty, tabItem.Content);\r\n }\r\n }\r\n\r\n var oldItems: TabItem[] = [];\r\n if (oldItem != null)\r\n oldItems.push(oldItem);\r\n\r\n var newItems: TabItem[] = [];\r\n if (newItem != null)\r\n newItems.push(newItem);\r\n var e = new Controls.Primitives.SelectionChangedEventArgs(oldItems, newItems)\r\n this.OnSelectionChanged(e);\r\n this.SelectionChanged.raise(this, e);\r\n }\r\n\r\n OnSelectionChanged (e: Controls.Primitives.SelectionChangedEventArgs) {\r\n }\r\n\r\n private UpdateTabPanelLayout (oldValue: Dock, newValue: Dock) {\r\n var template1 = this._GetTemplate(oldValue);\r\n var template2 = this._GetTemplate(newValue);\r\n var tabPanel1 = this._GetTabPanel(oldValue);\r\n var tabPanel2 = this._GetTabPanel(newValue);\r\n var contentHost1 = this._GetContentHost(oldValue);\r\n var contentHost2 = this._GetContentHost(newValue);\r\n if (oldValue !== newValue) {\r\n if (template1 != null)\r\n template1.Visibility = Visibility.Collapsed;\r\n if (tabPanel1 != null)\r\n tabPanel1.Children.Clear();\r\n if (tabPanel2 != null) {\r\n var enumerator = this.Items.getEnumerator();\r\n var ti: TabItem;\r\n while (enumerator.moveNext()) {\r\n ti = enumerator.current;\r\n if (!(ti instanceof TabItem))\r\n this._ThrowInvalidTabItem(ti);\r\n this._AddToTabPanel(ti);\r\n }\r\n }\r\n if (contentHost1 != null)\r\n contentHost1.Content = null;\r\n if (contentHost2 != null)\r\n contentHost2.Content = this.SelectedContent;\r\n }\r\n if (template2 == null)\r\n return;\r\n template2.Visibility = Visibility.Visible;\r\n }\r\n\r\n private UpdateSelectedContent (content: any) {\r\n var tabItem = this.SelectedItem;\r\n if (!(tabItem instanceof TabItem))\r\n return;\r\n var contentHost = this._GetContentHost(this.TabStripPlacement);\r\n if (contentHost == null)\r\n return;\r\n contentHost.HorizontalAlignment = tabItem.HorizontalContentAlignment;\r\n contentHost.VerticalAlignment = tabItem.VerticalContentAlignment;\r\n contentHost.ContentTemplate = tabItem.ContentTemplate;\r\n contentHost.Content = content;\r\n }\r\n\r\n private EnsureLanguageBinding (tabItem: TabItem) {\r\n if (tabItem == null)\r\n return;\r\n var frameworkElement = tabItem.Content;\r\n if (!(frameworkElement instanceof FrameworkElement) || frameworkElement.ReadLocalValue(FrameworkElement.LanguageProperty) !== DependencyProperty.UnsetValue)\r\n return;\r\n var binding = new Fayde.Data.Binding(\"Language\");\r\n binding.Source = this;\r\n frameworkElement.SetBinding(FrameworkElement.LanguageProperty, binding);\r\n }\r\n\r\n private ClearLanguageBinding (tabItem: TabItem) {\r\n if (tabItem == null)\r\n return;\r\n var frameworkElement = tabItem.Content;\r\n if (!(frameworkElement instanceof FrameworkElement) || frameworkElement.ReadLocalValue(FrameworkElement.LanguageProperty) !== DependencyProperty.UnsetValue)\r\n return;\r\n frameworkElement.ClearValue(FrameworkElement.LanguageProperty);\r\n }\r\n\r\n private _AddToTabPanel (ti: TabItem) {\r\n var tabPanel = this._GetTabPanel(this.TabStripPlacement);\r\n if (!tabPanel || tabPanel.Children.Contains(ti))\r\n return;\r\n tabPanel.Children.Add(ti);\r\n this.EnsureLanguageBinding(ti);\r\n }\r\n\r\n private _InsertIntoTabPanel (index: number, ti: TabItem) {\r\n var tabPanel = this._GetTabPanel(this.TabStripPlacement);\r\n if (!tabPanel || tabPanel.Children.Contains(ti))\r\n return;\r\n tabPanel.Children.Insert(index, ti);\r\n }\r\n\r\n private _RemoveFromTabPanel (ti: TabItem) {\r\n var tabPanel = this._GetTabPanel(this.TabStripPlacement);\r\n if (!tabPanel || !tabPanel.Children.Contains(ti))\r\n return;\r\n tabPanel.Children.Remove(ti);\r\n }\r\n\r\n private _ClearTabPanel () {\r\n var tabPanel = this._GetTabPanel(this.TabStripPlacement);\r\n if (!tabPanel)\r\n return;\r\n var enumerator = tabPanel.Children.getEnumerator();\r\n while (enumerator.moveNext()) {\r\n var tabItem = enumerator.current;\r\n if (tabItem != null)\r\n this.ClearLanguageBinding(tabItem);\r\n }\r\n tabPanel.Children.Clear();\r\n }\r\n\r\n private _GetTabPanel (tabPlacement: Dock): TabPanel {\r\n switch (tabPlacement) {\r\n case Dock.Left:\r\n return this._ElementTabPanelLeft;\r\n case Dock.Top:\r\n return this._ElementTabPanelTop;\r\n case Dock.Right:\r\n return this._ElementTabPanelRight;\r\n case Dock.Bottom:\r\n return this._ElementTabPanelBottom;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private _GetTemplate (tabPlacement: Dock): FrameworkElement {\r\n switch (tabPlacement) {\r\n case Dock.Left:\r\n return this._ElementTemplateLeft;\r\n case Dock.Top:\r\n return this._ElementTemplateTop;\r\n case Dock.Right:\r\n return this._ElementTemplateRight;\r\n case Dock.Bottom:\r\n return this._ElementTemplateBottom;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private _GetContentHost (tabPlacement: Dock): ContentPresenter {\r\n switch (tabPlacement) {\r\n case Dock.Left:\r\n return this._ElementContentLeft;\r\n case Dock.Top:\r\n return this._ElementContentTop;\r\n case Dock.Right:\r\n return this._ElementContentRight;\r\n case Dock.Bottom:\r\n return this._ElementContentBottom;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private _GetItemAtIndex (index: number): TabItem {\r\n if (index < 0 || index >= this.Items.Count)\r\n return null;\r\n var item = this.Items.GetValueAt(index);\r\n if (item instanceof TabItem)\r\n return item;\r\n }\r\n\r\n private _ThrowInvalidTabItem (obj: any) {\r\n var type: string = \"object\";\r\n try {\r\n type = obj.constructor._TypeName;\r\n } catch (err) {\r\n }\r\n throw new ArgumentException(\"Unable to cast object of type '\" + type + \"' to type 'System.Windows.Controls.TabItem'.\");\r\n }\r\n }\r\n TemplateVisualStates(TabControl,\r\n {GroupName: \"CommonStates\", Name: \"Normal\"},\r\n {GroupName: \"CommonStates\", Name: \"Disabled\"});\r\n TemplateParts(TabControl,\r\n {Name: \"TemplateLeft\", Type: FrameworkElement},\r\n {Name: \"ContentLeft\", Type: ContentPresenter},\r\n {Name: \"TabPanelLeft\", Type: TabPanel},\r\n {Name: \"TemplateTop\", Type: FrameworkElement},\r\n {Name: \"ContentTop\", Type: ContentPresenter},\r\n {Name: \"TabPanelTop\", Type: TabPanel},\r\n {Name: \"TemplateRight\", Type: FrameworkElement},\r\n {Name: \"ContentRight\", Type: ContentPresenter},\r\n {Name: \"TabPanelRight\", Type: TabPanel},\r\n {Name: \"TemplateBottom\", Type: FrameworkElement},\r\n {Name: \"ContentBottom\", Type: ContentPresenter},\r\n {Name: \"TabPanelBottom\", Type: TabPanel});\r\n}","module Fayde.Controls {\r\n export class TabItem extends ContentControl {\r\n static HasHeaderProperty = DependencyProperty.Register(\"HasHeader\", () => Boolean, TabItem, false);\r\n static HeaderProperty = DependencyProperty.Register(\"Header\", () => Object, TabItem, null, (d, args) => (d)._OnHeaderChanged(args));\r\n static HeaderTemplateProperty = DependencyProperty.Register(\"HeaderTemplate\", () => DataTemplate, TabItem, undefined, (d, args) => (d).OnHeaderTemplateChanged(args.OldValue, args.NewValue));\r\n static IsFocusedProperty = DependencyProperty.Register(\"IsFocused\", () => Boolean, TabItem, false);\r\n static IsSelectedProperty = DependencyProperty.Register(\"IsSelected\", () => Boolean, TabItem, false, (d, args) => (d)._OnIsSelectedChanged(args));\r\n HasHeader: boolean;\r\n Header: any;\r\n HeaderTemplate: DataTemplate;\r\n IsFocused: boolean;\r\n IsSelected: boolean;\r\n\r\n private _SelectedElements = new Elements();\r\n private _UnselectedElements = new Elements();\r\n\r\n private _PreviousTemplate: FrameworkElement = null;\r\n private _PreviousHeader: ContentControl = null;\r\n\r\n get TabStripPlacement(): Dock {\r\n var tabControlParent = this.TabControlParent;\r\n if (tabControlParent != null)\r\n return tabControlParent.TabStripPlacement;\r\n return Dock.Top;\r\n }\r\n private get TabControlParent(): TabControl {\r\n return VisualTreeHelper.GetParentOfType(this, TabControl);\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.DefaultStyleKey = TabItem;\r\n }\r\n\r\n OnApplyTemplate() {\r\n super.OnApplyTemplate();\r\n var contentControl = this._GetContentControl(this.IsSelected, this.TabStripPlacement);\r\n if (contentControl != null)\r\n contentControl.Content = null;\r\n\r\n this._SelectedElements.OnApplyTemplate(this, true);\r\n this._UnselectedElements.OnApplyTemplate(this, false);\r\n\r\n this._UpdateHeaderVisuals();\r\n this.UpdateVisualState(false);\r\n }\r\n\r\n private _OnHeaderChanged(args: IDependencyPropertyChangedEventArgs) {\r\n this.HasHeader = args.NewValue != null;\r\n this.OnHeaderChanged(args.OldValue, args.NewValue);\r\n }\r\n OnHeaderChanged(oldValue: any, newValue: any) {\r\n this._UpdateHeaderVisuals();\r\n }\r\n OnHeaderTemplateChanged(oldHeaderTemplate: DataTemplate, newHeaderTemplate: DataTemplate) {\r\n this._UpdateHeaderVisuals();\r\n }\r\n private _OnIsSelectedChanged(args: IDependencyPropertyChangedEventArgs) {\r\n var isSelected = args.NewValue;\r\n var e1 = new RoutedEventArgs();\r\n if (isSelected)\r\n this.OnSelected(e1);\r\n else\r\n this.OnUnselected(e1);\r\n this.IsTabStop = isSelected;\r\n this.UpdateVisualState();\r\n }\r\n OnSelected(e: RoutedEventArgs) {\r\n var parent = this.TabControlParent;\r\n if (!parent)\r\n return;\r\n parent.SelectedItem = this;\r\n }\r\n OnUnselected(e: RoutedEventArgs) {\r\n var parent = this.TabControlParent;\r\n if (!parent || parent.SelectedItem != this)\r\n return;\r\n parent.SelectedIndex = -1;\r\n }\r\n\r\n UpdateVisualState(useTransitions?: boolean) {\r\n var template = this.GetTemplate(this.IsSelected, this.TabStripPlacement);\r\n if (this._PreviousTemplate != null && this._PreviousTemplate !== template)\r\n this._PreviousTemplate.Visibility = Visibility.Collapsed;\r\n this._PreviousTemplate = template;\r\n if (template != null)\r\n template.Visibility = Visibility.Visible;\r\n var contentControl = this._GetContentControl(this.IsSelected, this.TabStripPlacement);\r\n if (this._PreviousHeader && this._PreviousHeader !== contentControl)\r\n this._PreviousHeader.Content = null;\r\n this._PreviousHeader = contentControl;\r\n this._UpdateHeaderVisuals();\r\n\r\n super.UpdateVisualState(useTransitions);\r\n }\r\n private _UpdateHeaderVisuals() {\r\n var contentControl = this._GetContentControl(this.IsSelected, this.TabStripPlacement);\r\n if (!contentControl)\r\n return;\r\n contentControl.Content = this.Header;\r\n contentControl.ContentTemplate = this.HeaderTemplate;\r\n }\r\n\r\n OnMouseLeave(e: Input.MouseEventArgs) {\r\n this.UpdateVisualState();\r\n }\r\n OnMouseEnter(e: Input.MouseEventArgs) {\r\n this.UpdateVisualState();\r\n }\r\n OnMouseLeftButtonDown(e: Input.MouseButtonEventArgs) {\r\n if (!this.IsEnabled || !this.TabControlParent || (this.IsSelected || e.Handled))\r\n return;\r\n this.IsTabStop = true;\r\n e.Handled = this.Focus();\r\n this.TabControlParent.SelectedIndex = this.TabControlParent.Items.IndexOf(this);\r\n }\r\n\r\n OnGotFocus(e: RoutedEventArgs) {\r\n super.OnGotFocus(e);\r\n this.SetValueInternal(TabItem.IsFocusedProperty, true);\r\n this.UpdateVisualState();\r\n }\r\n OnLostFocus(e: RoutedEventArgs) {\r\n super.OnLostFocus(e);\r\n this.SetValueInternal(TabItem.IsFocusedProperty, false);\r\n this.UpdateVisualState();\r\n }\r\n\r\n OnContentChanged(oldContent: any, newContent: any) {\r\n super.OnContentChanged(oldContent, newContent);\r\n var parent = this.TabControlParent;\r\n if (!parent || !this.IsSelected)\r\n return;\r\n parent.SelectedContent = newContent;\r\n }\r\n\r\n OnKeyDown(e: Input.KeyEventArgs) {\r\n super.OnKeyDown(e);\r\n if (e.Handled)\r\n return;\r\n var parent = this.TabControlParent;\r\n var logicalKey = Input.InteractionHelper.GetLogicalKey(this.FlowDirection, e.Key);\r\n var startIndex = parent.Items.IndexOf(this);\r\n var nextTabItem: TabItem = null;\r\n switch (logicalKey) {\r\n case Input.Key.Left:\r\n case Input.Key.Up:\r\n nextTabItem = this._FindPreviousTabItem(startIndex);\r\n break;\r\n case Input.Key.Right:\r\n case Input.Key.Down:\r\n nextTabItem = this._FindNextTabItem(startIndex);\r\n break;\r\n default:\r\n return;\r\n }\r\n if (!nextTabItem || nextTabItem === parent.SelectedItem)\r\n return;\r\n e.Handled = true;\r\n parent.SelectedItem = nextTabItem;\r\n nextTabItem.Focus();\r\n }\r\n\r\n GetTemplate(isSelected: boolean, tabPlacement: Dock): FrameworkElement {\r\n var e = isSelected ? this._SelectedElements : this._UnselectedElements;\r\n return (e[Dock[tabPlacement]]).Template;\r\n }\r\n private _GetContentControl(isSelected: boolean, tabPlacement: Dock): ContentControl {\r\n var e = isSelected ? this._SelectedElements : this._UnselectedElements;\r\n return (e[Dock[tabPlacement]]).Header;\r\n }\r\n\r\n private _FindPreviousTabItem(startIndex: number): TabItem {\r\n for (var i = startIndex, items = this.TabControlParent.Items; i >= 0; i--) {\r\n var tabItem = items.GetValueAt(i);\r\n if (tabItem.IsEnabled && tabItem.Visibility === Visibility.Visible)\r\n return tabItem;\r\n }\r\n return null;\r\n }\r\n private _FindNextTabItem(startIndex: number): TabItem {\r\n for (var i = startIndex, items = this.TabControlParent.Items, len = items.Count; i < len; i++) {\r\n var tabItem = items.GetValueAt(i);\r\n if (tabItem.IsEnabled && tabItem.Visibility === Visibility.Visible)\r\n return tabItem;\r\n }\r\n return null;\r\n }\r\n }\r\n TemplateVisualStates(TabItem,\r\n { GroupName: \"CommonStates\", Name: \"Normal\" },\r\n { GroupName: \"CommonStates\", Name: \"MouseOver\" },\r\n { GroupName: \"CommonStates\", Name: \"Disabled\" },\r\n { GroupName: \"FocusStates\", Name: \"Unfocused\" },\r\n { GroupName: \"FocusStates\", Name: \"Focused\" },\r\n { GroupName: \"SelectionStates\", Name: \"Unselected\" },\r\n { GroupName: \"SelectionStates\", Name: \"Selected\" });\r\n TemplateParts(TabItem,\r\n { Name: \"HeaderLeftSelected\", Type: FrameworkElement },\r\n { Name: \"HeaderTopSelected\", Type: FrameworkElement },\r\n { Name: \"HeaderRightSelected\", Type: FrameworkElement },\r\n { Name: \"HeaderBottomSelected\", Type: FrameworkElement },\r\n { Name: \"TemplateLeftSelected\", Type: FrameworkElement },\r\n { Name: \"TemplateTopSelected\", Type: FrameworkElement },\r\n { Name: \"TemplateRightSelected\", Type: FrameworkElement },\r\n { Name: \"TemplateBottomSelected\", Type: FrameworkElement },\r\n { Name: \"HeaderLeftUnselected\", Type: FrameworkElement },\r\n { Name: \"HeaderTopUnselected\", Type: FrameworkElement },\r\n { Name: \"HeaderRightUnselected\", Type: FrameworkElement },\r\n { Name: \"HeaderBottomUnselected\", Type: FrameworkElement },\r\n { Name: \"TemplateLeftUnselected\", Type: FrameworkElement },\r\n { Name: \"TemplateTopUnselected\", Type: FrameworkElement },\r\n { Name: \"TemplateRightUnselected\", Type: FrameworkElement },\r\n { Name: \"TemplateBottomUnselected\", Type: FrameworkElement });\r\n\r\n class Elements {\r\n Top = new Element();\r\n Bottom = new Element();\r\n Left = new Element();\r\n Right = new Element();\r\n OnApplyTemplate(control: Control, isSelected: boolean) {\r\n this.Top.OnApplyTemplate(control, isSelected, \"Top\");\r\n this.Bottom.OnApplyTemplate(control, isSelected, \"Bottom\");\r\n this.Left.OnApplyTemplate(control, isSelected, \"Left\");\r\n this.Right.OnApplyTemplate(control, isSelected, \"Right\");\r\n }\r\n }\r\n class Element {\r\n Header: ContentControl = null;\r\n Template: FrameworkElement = null;\r\n OnApplyTemplate(control: Control, isSelected: boolean, dock: string) {\r\n var post = dock + (isSelected ? \"Selected\" : \"Unselected\");\r\n this.Header = control.GetTemplateChild(\"Header\" + post, ContentControl);\r\n this.Template = control.GetTemplateChild(\"Template\" + post, FrameworkElement);\r\n }\r\n }\r\n}","module Fayde.Controls {\r\n export class TimePicker extends Control {\r\n static SelectedHourProperty = DependencyProperty.Register(\"SelectedHour\", () => Number, TimePicker, 0, (d, args) => (d).OnSelectedHourChanged(args));\r\n static SelectedMinuteProperty = DependencyProperty.Register(\"SelectedMinute\", () => Number, TimePicker, 0, (d, args) => (d).OnSelectedMinuteChanged(args));\r\n static SelectedSecondProperty = DependencyProperty.Register(\"SelectedSecond\", () => Number, TimePicker, 0, (d, args) => (d).OnSelectedSecondChanged(args));\r\n static SelectedTimeProperty = DependencyProperty.Register(\"SelectedTime\", () => TimeSpan, TimePicker, undefined, (d, args) => (d).OnSelectedTimeChanged(args));\r\n static IsSecondsShownProperty = DependencyProperty.Register(\"IsSecondsShown\", () => Boolean, TimePicker, true, (d, args) => (d)._UpdateText());\r\n static DisplayModeProperty = DependencyProperty.Register(\"DisplayMode\", () => new Enum(TimeDisplayMode), TimePicker, TimeDisplayMode.Regular, (d, args) => (d).OnDisplayModeChanged(args));\r\n SelectedHour: number;\r\n SelectedMinute: number;\r\n SelectedSecond: number;\r\n SelectedTime: TimeSpan;\r\n IsSecondsShown: boolean;\r\n DisplayMode: TimeDisplayMode;\r\n\r\n private OnSelectedHourChanged(args: IDependencyPropertyChangedEventArgs) {\r\n this.CoerceHour(args.NewValue);\r\n this.CoerceTime();\r\n }\r\n private OnSelectedMinuteChanged(args: IDependencyPropertyChangedEventArgs) {\r\n this.CoerceMinute(args.NewValue);\r\n this.CoerceTime();\r\n }\r\n private OnSelectedSecondChanged(args: IDependencyPropertyChangedEventArgs) {\r\n this.CoerceSecond(args.NewValue);\r\n this.CoerceTime();\r\n }\r\n private OnSelectedTimeChanged(args: IDependencyPropertyChangedEventArgs) {\r\n var ts = args.NewValue;\r\n if (ts instanceof TimeSpan) {\r\n this.CoerceHour(ts.Hours);\r\n this.CoerceMinute(ts.Minutes);\r\n this.CoerceSecond(ts.Seconds);\r\n } else {\r\n this.CoerceHour(NaN);\r\n this.CoerceMinute(NaN);\r\n this.CoerceSecond(NaN);\r\n }\r\n }\r\n private OnDisplayModeChanged(args: IDependencyPropertyChangedEventArgs) {\r\n this._UpdateText();\r\n }\r\n\r\n private _HourTextBox: TextBox = null;\r\n private _MinuteTextBox: TextBox = null;\r\n private _SecondTextBox: TextBox = null;\r\n private _SecondSeparator: FrameworkElement = null;\r\n private _SuffixTextBlock: TextBlock = null;\r\n\r\n private _HourGesture = new Internal.EventGesture();\r\n private _MinuteGesture = new Internal.EventGesture();\r\n private _SecondGesture = new Internal.EventGesture();\r\n private _SuffixGesture = new Internal.EventGesture();\r\n\r\n private _SelectionHandler: Internal.SelectionHandler = null;\r\n\r\n constructor() {\r\n super();\r\n this.DefaultStyleKey = TimePicker;\r\n this.CoerceTime();\r\n }\r\n\r\n OnApplyTemplate() {\r\n super.OnApplyTemplate();\r\n\r\n this._HourGesture.Detach();\r\n this._HourTextBox = this.GetTemplateChild(\"HourTextBox\", TextBox);\r\n if (this._HourTextBox)\r\n this._HourGesture.Attach(this._HourTextBox.LostFocus, (tb) => this.CoerceHour(this._GetHourInput()));\r\n \r\n this._MinuteGesture.Detach();\r\n this._MinuteTextBox = this.GetTemplateChild(\"MinuteTextBox\", TextBox);\r\n if (this._MinuteTextBox)\r\n this._MinuteGesture.Attach(this._MinuteTextBox.LostFocus, (tb) => this.CoerceMinute(tb.Text));\r\n \r\n this._SecondGesture.Detach();\r\n this._SecondTextBox = this.GetTemplateChild(\"SecondTextBox\", TextBox);\r\n if (this._SecondTextBox)\r\n this._SecondGesture.Attach(this._SecondTextBox.LostFocus, (tb) => this.CoerceSecond(tb.Text));\r\n\r\n this._SecondSeparator = this.GetTemplateChild(\"SecondSeparator\", FrameworkElement);\r\n\r\n this._SuffixGesture.Detach();\r\n this._SuffixTextBlock = this.GetTemplateChild(\"SuffixTextBlock\", TextBlock);\r\n if (this._SuffixTextBlock)\r\n this._SuffixGesture.Attach(this._SuffixTextBlock.MouseLeftButtonUp, (tb) => this.ToggleAmPm());\r\n\r\n if (this._SelectionHandler)\r\n this._SelectionHandler.Dispose();\r\n this._SelectionHandler = new Internal.SelectionHandler([this._HourTextBox, this._MinuteTextBox, this._SecondTextBox]);\r\n\r\n this._UpdateText();\r\n }\r\n\r\n private _GetHourInput(): string {\r\n var text = this._HourTextBox.Text;\r\n if (this.DisplayMode === TimeDisplayMode.Military)\r\n return text;\r\n var h = parseFloat(text);\r\n var isa = !!this._SuffixTextBlock && this._SuffixTextBlock.Text === \"AM\";\r\n if (isa && h === 12)\r\n return \"00\";\r\n if (!isa && h < 12)\r\n return (h + 12).toString();\r\n return text;\r\n }\r\n\r\n private CoerceHour(hour: any) {\r\n hour = Math.max(0, Math.min(23, hour));\r\n hour = hour || 0;\r\n this.SetCurrentValue(TimePicker.SelectedHourProperty, hour);\r\n this._UpdateText();\r\n }\r\n private CoerceMinute(minute: any) {\r\n minute = Math.max(0, Math.min(59, minute));\r\n minute = minute || 0;\r\n this.SetCurrentValue(TimePicker.SelectedMinuteProperty, minute);\r\n this._UpdateText();\r\n }\r\n private CoerceSecond(second: any) {\r\n second = Math.max(0, Math.min(59, second));\r\n second = second || 0;\r\n this.SetCurrentValue(TimePicker.SelectedSecondProperty, second);\r\n this._UpdateText();\r\n }\r\n private CoerceTime() {\r\n var ts = new TimeSpan(this.SelectedHour, this.SelectedMinute, this.SelectedSecond);\r\n var old = this.SelectedTime;\r\n if (!!old && ts.CompareTo(old) === 0)\r\n return;\r\n this.SetCurrentValue(TimePicker.SelectedTimeProperty, ts);\r\n }\r\n private ToggleAmPm() {\r\n var hour = this.SelectedHour;\r\n if (hour >= 12)\r\n hour -= 12;\r\n else\r\n hour += 12;\r\n this.CoerceHour(hour);\r\n }\r\n\r\n private _UpdateText() {\r\n var isMilitary = this.DisplayMode === TimeDisplayMode.Military;\r\n var h = this.SelectedHour;\r\n var m = this.SelectedMinute;\r\n var s = this.SelectedSecond;\r\n var isSecondShown = this.IsSecondsShown;\r\n\r\n var hd = h;\r\n if (!isMilitary) {\r\n hd = hd >= 12 ? (hd - 12) : hd;\r\n hd = hd === 0 ? 12 : hd;\r\n }\r\n\r\n if (this._HourTextBox)\r\n this._HourTextBox.Text = formatNumber(hd, 2, \"00\");\r\n if (this._MinuteTextBox)\r\n this._MinuteTextBox.Text = formatNumber(m, 2, \"00\");\r\n if (this._SecondTextBox) {\r\n this._SecondTextBox.Text = formatNumber(s, 2, \"00\");\r\n this._SecondTextBox.Visibility = isSecondShown ? Visibility.Visible : Visibility.Collapsed;\r\n }\r\n\r\n if (this._SecondSeparator)\r\n this._SecondSeparator.Visibility = isSecondShown ? Visibility.Visible : Visibility.Collapsed;\r\n\r\n if (this._SuffixTextBlock) {\r\n this._SuffixTextBlock.Visibility = isMilitary ? Visibility.Collapsed : Visibility.Visible;\r\n this._SuffixTextBlock.Text = h >= 12 ? \"PM\" : \"AM\";\r\n }\r\n }\r\n }\r\n TemplateParts(TimePicker,\r\n { Name: \"HourTextBox\", Type: TextBox },\r\n { Name: \"MinuteTextBox\", Type: TextBox },\r\n { Name: \"SecondTextBox\", Type: TextBox },\r\n { Name: \"SecondSeparator\", Type: FrameworkElement },\r\n { Name: \"SuffixTextBlock\", Type: TextBlock });\r\n TemplateVisualStates(TimePicker,\r\n { GroupName: \"CommonStates\", Name: \"Normal\" },\r\n { GroupName: \"CommonStates\", Name: \"Disabled\" },\r\n { GroupName: \"ValidationStates\", Name: \"Valid\" },\r\n { GroupName: \"ValidationStates\", Name: \"InvalidFocused\" },\r\n { GroupName: \"ValidationStates\", Name: \"InvalidUnfocused\" });\r\n \r\n function formatNumber(n: number, digits: number, fallback: string) {\r\n if (isNaN(n))\r\n return fallback;\r\n return Localization.Format(\"{0:d\" + digits + \"}\", n);\r\n }\r\n}","module Fayde.Controls {\r\n import ScrollEx = Internal.ScrollEx;\r\n\r\n export class TreeView extends ItemsControl {\r\n static SelectedItemProperty = DependencyProperty.Register(\"SelectedItem\", () => Object, TreeView, null, (d, args) => (d).OnSelectedItemChanged(args));\r\n static SelectedValueProperty = DependencyProperty.Register(\"SelectedValue\", () => Object, TreeView, null, (d, args) => (d).OnSelectedValueChanged(args));\r\n static SelectedValuePathProperty = DependencyProperty.Register(\"SelectedValuePath\", () => String, TreeView, \"\", (d, args) => (d).OnSelectedValuePathChanged(args));\r\n static ItemContainerStyleProperty = DependencyProperty.Register(\"ItemContainerStyle\", () => Style, TreeView, null, (d, args) => (d).OnItemContainerStyleChanged(args));\r\n\r\n SelectedItem: any;\r\n SelectedValue: any;\r\n SelectedValuePath: string;\r\n ItemContainerStyle: Style;\r\n\r\n private OnSelectedItemChanged (e: DependencyPropertyChangedEventArgs) {\r\n if (this._IgnorePropertyChange)\r\n this._IgnorePropertyChange = false;\r\n else if (!this._AllowWrite) {\r\n this._IgnorePropertyChange = true;\r\n this.SetValue(TreeView.SelectedItemProperty, e.OldValue);\r\n throw new InvalidOperationException(\"Cannot set read-only property SelectedItem.\");\r\n }\r\n else\r\n this.UpdateSelectedValue(e.NewValue);\r\n }\r\n\r\n private OnSelectedValueChanged (e: DependencyPropertyChangedEventArgs) {\r\n if (this._IgnorePropertyChange) {\r\n this._IgnorePropertyChange = false;\r\n } else {\r\n if (this._AllowWrite)\r\n return;\r\n this._IgnorePropertyChange = true;\r\n this.SetValue(TreeView.SelectedValueProperty, e.OldValue);\r\n throw new InvalidOperationException(\"Cannot set read-only property SelectedValue.\");\r\n }\r\n }\r\n\r\n private OnSelectedValuePathChanged (e: DependencyPropertyChangedEventArgs) {\r\n this.UpdateSelectedValue(this.SelectedItem);\r\n }\r\n\r\n private OnItemContainerStyleChanged (e: DependencyPropertyChangedEventArgs) {\r\n this.ItemsControlHelper.UpdateItemContainerStyle( + + + + + + + + + + + \ No newline at end of file From a3ac6252779211a3c30b481c99256bc5113ba66c Mon Sep 17 00:00:00 2001 From: Ronnie Barnard Date: Fri, 25 Mar 2016 11:34:38 -0700 Subject: [PATCH 5/5] Fix for Treeview item error when Items is null --- src/TreeView.ts | 3 +++ src/TreeViewItem.ts | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/TreeView.ts b/src/TreeView.ts index aa04777..d59a358 100644 --- a/src/TreeView.ts +++ b/src/TreeView.ts @@ -132,6 +132,9 @@ module Fayde.Controls { if (this.SelectedContainer.ParentItemsControl == null) this.SelectedContainer.RequiresContainsSelectionUpdate = true; } + + if (container.Items === null || + container.Items === undefined) return; var enumerator = container.Items.getEnumerator(); while (enumerator.moveNext()) stack.push(enumerator.current); diff --git a/src/TreeViewItem.ts b/src/TreeViewItem.ts index 5d8096e..de3a474 100644 --- a/src/TreeViewItem.ts +++ b/src/TreeViewItem.ts @@ -612,11 +612,12 @@ module Fayde.Controls { var ce = 0; if (up) { ce = bottom - bottom1.Value; + closeEdge.Value = ce; return bottom - top1.Value; } else { ce = top1.Value - top; + closeEdge.Value = ce; return bottom1.Value - top; } - closeEdge.Value = ce; } } \ No newline at end of file