UNPKG

webglimpse

Version:

Webglimpse is a data visualization library for the web.

80 lines 11 kB
/* * Copyright (c) 2014, Metron, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. Neither the name of the copyright holder nor the names of its contributors * may be used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ export class TimelineEventIconUi { constructor(icon) { this._setAttrs(icon); } _setAttrs(icon) { this._url = icon.url; this._displayWidth = icon.displayWidth; this._displayHeight = icon.displayHeight; this._hAlign = icon.hAlign; this._hPos = icon.hPos; } get url() { return this._url; } get displayWidth() { return this._displayWidth; } get displayHeight() { return this._displayHeight; } get hAlign() { return this._hAlign; } get hPos() { return this._hPos; } snapshot() { return { url: this._url, displayWidth: this._displayWidth, displayHeight: this._displayHeight, hAlign: this._hAlign, hPos: this._hPos }; } } export class TimelineEventStyleUi { constructor(style) { this._styleGuid = style.styleGuid; this._setAttrs(style); } get styleGuid() { return this._styleGuid; } _setAttrs(style) { this._icons = style.icons.map((icon) => new TimelineEventIconUi(icon)); } get numIcons() { return this._icons.length; } icon(index) { return this._icons[index]; } snapshot() { return { styleGuid: this._styleGuid, icons: this._icons.map((ui) => ui.snapshot()) }; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmVfZXZlbnRfc3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvd2ViZ2xpbXBzZS90aW1lbGluZS90aW1lbGluZV9ldmVudF9zdHlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQW1CSCxNQUFNLE9BQU8sbUJBQW1CO0lBTzVCLFlBQVksSUFBdUI7UUFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sU0FBUyxDQUFDLElBQXVCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksR0FBRyxLQUFhLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkMsSUFBSSxZQUFZLEtBQWEsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN6RCxJQUFJLGFBQWEsS0FBYSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQzNELElBQUksTUFBTSxLQUFhLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDN0MsSUFBSSxJQUFJLEtBQWEsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUV6QyxRQUFRO1FBQ0osT0FBTztZQUNILEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNkLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNoQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbEMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSztTQUNuQixDQUFDO0lBQ04sQ0FBQztDQUNKO0FBSUQsTUFBTSxPQUFPLG9CQUFvQjtJQUk3QixZQUFZLEtBQXlCO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVPLFNBQVMsQ0FBQyxLQUF5QjtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksQ0FBQyxLQUFhO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTztZQUNILFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNoRCxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDE0LCBNZXRyb24sIEluYy5cclxuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuICpcclxuICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbixcclxuICogYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OlxyXG4gKlxyXG4gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXNcclxuICogICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXHJcbiAqXHJcbiAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSxcclxuICogICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvblxyXG4gKiAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi5cclxuICpcclxuICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnNcclxuICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXRcclxuICogICAgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLlxyXG4gKlxyXG4gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIFwiQVMgSVNcIiBBTkRcclxuICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRURcclxuICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxyXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUlxyXG4gKiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcclxuICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTO1xyXG4gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT05cclxuICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcclxuICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVNcclxuICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXHJcbiAqL1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZUV2ZW50SWNvbiB7XHJcbiAgICB1cmw6IHN0cmluZztcclxuICAgIGRpc3BsYXlXaWR0aDogbnVtYmVyOyAgLy8gaG9yaXpvbnRhbCBzaXplIG9mIGljb24gaW4gcGl4ZWxzXHJcbiAgICBkaXNwbGF5SGVpZ2h0OiBudW1iZXI7IC8vIHZlcnRpY2FsIHNpemUgb2YgaWNvbiBpbiBwaXhlbHNcclxuICAgIGhBbGlnbjogbnVtYmVyOyAvLyByZWxhdGl2ZSBsb2NhdGlvbiBvZiBjZW50ZXIgcGl4ZWwgb2YgaWNvbiAoMD1sZWZ0IHNpZGUsIDE9cmlnaHQgc2lkZSlcclxuICAgIGhQb3M6IG51bWJlcjsgLy8gcmVsYXRpdmUgaWNvbiBwb3NpdGlvbiBhbG9uZyBldmVudCBiYXIgKDA9bGVmdCBzaWRlLCAxPXJpZ2h0IHNpZGUpXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZUV2ZW50U3R5bGUge1xyXG4gICAgc3R5bGVHdWlkOiBzdHJpbmc7XHJcbiAgICBpY29uczogVGltZWxpbmVFdmVudEljb25bXTtcclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVGltZWxpbmVFdmVudEljb25VaSB7XHJcbiAgICBwcml2YXRlIF91cmw6IHN0cmluZztcclxuICAgIHByaXZhdGUgX2Rpc3BsYXlXaWR0aDogbnVtYmVyO1xyXG4gICAgcHJpdmF0ZSBfZGlzcGxheUhlaWdodDogbnVtYmVyO1xyXG4gICAgcHJpdmF0ZSBfaEFsaWduOiBudW1iZXI7XHJcbiAgICBwcml2YXRlIF9oUG9zOiBudW1iZXI7XHJcblxyXG4gICAgY29uc3RydWN0b3IoaWNvbjogVGltZWxpbmVFdmVudEljb24pIHtcclxuICAgICAgICB0aGlzLl9zZXRBdHRycyhpY29uKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXRBdHRycyhpY29uOiBUaW1lbGluZUV2ZW50SWNvbikge1xyXG4gICAgICAgIHRoaXMuX3VybCA9IGljb24udXJsO1xyXG4gICAgICAgIHRoaXMuX2Rpc3BsYXlXaWR0aCA9IGljb24uZGlzcGxheVdpZHRoO1xyXG4gICAgICAgIHRoaXMuX2Rpc3BsYXlIZWlnaHQgPSBpY29uLmRpc3BsYXlIZWlnaHQ7XHJcbiAgICAgICAgdGhpcy5faEFsaWduID0gaWNvbi5oQWxpZ247XHJcbiAgICAgICAgdGhpcy5faFBvcyA9IGljb24uaFBvcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdXJsKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl91cmw7IH1cclxuICAgIGdldCBkaXNwbGF5V2lkdGgoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX2Rpc3BsYXlXaWR0aDsgfVxyXG4gICAgZ2V0IGRpc3BsYXlIZWlnaHQoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX2Rpc3BsYXlIZWlnaHQ7IH1cclxuICAgIGdldCBoQWxpZ24oKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX2hBbGlnbjsgfVxyXG4gICAgZ2V0IGhQb3MoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX2hQb3M7IH1cclxuXHJcbiAgICBzbmFwc2hvdCgpOiBUaW1lbGluZUV2ZW50SWNvbiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdXJsOiB0aGlzLl91cmwsXHJcbiAgICAgICAgICAgIGRpc3BsYXlXaWR0aDogdGhpcy5fZGlzcGxheVdpZHRoLFxyXG4gICAgICAgICAgICBkaXNwbGF5SGVpZ2h0OiB0aGlzLl9kaXNwbGF5SGVpZ2h0LFxyXG4gICAgICAgICAgICBoQWxpZ246IHRoaXMuX2hBbGlnbixcclxuICAgICAgICAgICAgaFBvczogdGhpcy5faFBvc1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lRXZlbnRTdHlsZVVpIHtcclxuICAgIHByaXZhdGUgX3N0eWxlR3VpZDogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBfaWNvbnM6IFRpbWVsaW5lRXZlbnRJY29uVWlbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihzdHlsZTogVGltZWxpbmVFdmVudFN0eWxlKSB7XHJcbiAgICAgICAgdGhpcy5fc3R5bGVHdWlkID0gc3R5bGUuc3R5bGVHdWlkO1xyXG4gICAgICAgIHRoaXMuX3NldEF0dHJzKHN0eWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc3R5bGVHdWlkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0eWxlR3VpZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXRBdHRycyhzdHlsZTogVGltZWxpbmVFdmVudFN0eWxlKSB7XHJcbiAgICAgICAgdGhpcy5faWNvbnMgPSBzdHlsZS5pY29ucy5tYXAoKGljb24pID0+IG5ldyBUaW1lbGluZUV2ZW50SWNvblVpKGljb24pKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbnVtSWNvbnMoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faWNvbnMubGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIGljb24oaW5kZXg6IG51bWJlcik6IFRpbWVsaW5lRXZlbnRJY29uVWkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pY29uc1tpbmRleF07XHJcbiAgICB9XHJcblxyXG4gICAgc25hcHNob3QoKTogVGltZWxpbmVFdmVudFN0eWxlIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBzdHlsZUd1aWQ6IHRoaXMuX3N0eWxlR3VpZCxcclxuICAgICAgICAgICAgaWNvbnM6IHRoaXMuX2ljb25zLm1hcCgodWkpID0+IHVpLnNuYXBzaG90KCkpXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4iXX0=