UNPKG

ovuse

Version:

WPF-inspired Web UI framework

56 lines (55 loc) 2.54 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); const _1 = require("."); const _2 = require("../."); let Frame = Frame_1 = class Frame extends _1.FrameworkElement { constructor() { super(...arguments); this._frameElement = null; } attachVisualOverride(elementContainer) { this._visual = this._frameElement = document.createElement("frame"); super.attachVisualOverride(elementContainer); } measureOverride(constraint) { var src = this.Source; var mySize = new _1.Size(); var pElement = this._frameElement; if (pElement != null) { var srcChanged = (pElement.src != src); if (isFinite(constraint.width)) pElement.style.maxWidth = constraint.width + "px"; if (isFinite(constraint.height)) pElement.style.maxHeight = constraint.height + "px"; pElement.style.width = "auto"; pElement.style.height = "auto"; if (srcChanged) { pElement.src = src; } mySize = new _1.Size(pElement.clientWidth, pElement.clientHeight); if (srcChanged && this.renderSize != null) { pElement.style.width = this.renderSize.width.toString() + "px"; pElement.style.height = this.renderSize.height.toString() + "px"; } } return mySize; } get Source() { return this.getValue(Frame_1.sourceProperty); } set Source(value) { this.setValue(Frame_1.sourceProperty, value); } }; Frame.sourceProperty = _2.DependencyObject.registerProperty(Frame_1, "Source", null, _1.FrameworkPropertyMetadataOptions.AffectsMeasure | _1.FrameworkPropertyMetadataOptions.AffectsRender); Frame = Frame_1 = __decorate([ _2.TypeId("ovuse.controls.Frame") ], Frame); exports.Frame = Frame; var Frame_1;