UNPKG

io.parrots

Version:

Parrots.io App

728 lines (727 loc) 73.8 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, ElementRef, Input, Output, ViewChild, EventEmitter } from '@angular/core'; import { AbstractDialogController } from 'com.phloxui'; import { DateTimeUtils } from 'com.phloxui'; import { Option } from 'com.phloxui'; import { I18N } from 'com.phloxui'; import { ButtonModel } from 'com.phloxui'; import { DefaultSelectItemModel } from 'com.phloxui'; import { PhloxAppInfoService } from 'com.phloxui'; import { MaterialDatePicker } from 'com.phloxui'; const /** @type {?} */ TYPE_NAME = "parrots-version-history"; export class VersionHistory extends AbstractDialogController { /** * @param {?} phloxAppService * @param {?} elementRef */ constructor(phloxAppService, elementRef) { super(elementRef); this.currentIndex = 0; this.dataRecords = []; this.currentVersionData = null; this.selectedVersionData = null; if (phloxAppService != null) { phloxAppService.getAppInfo().then((result) => { this.phloxAppInfo = result; }); } //default dropdown this.currentDropdownIdx = 0; this.dropdownComparator = []; this._items = []; this.defaultAscComparator = (obj1, obj2) => { return -this.compareCreatedDate(obj1, obj2); }; this.defaultDescComparator = (obj1, obj2) => { return this.compareCreatedDate(obj1, obj2); }; this.dropdownComparator.push(this.defaultAscComparator); this.dropdownComparator.push(this.defaultDescComparator); this._items.push(new DefaultSelectItemModel("Newest First", 0)); this._items.push(new DefaultSelectItemModel("Oldest First", 1)); } /** * @return {?} */ ngOnInit() { super.ngOnInit(); if (this.data !== null && typeof this.data !== 'undefined') { this.editor = this.data.editor; } if (this.model !== null && typeof this.model !== 'undefined') { if (this.model.sortOptions !== null && typeof this.model.sortOptions !== 'undefined') { if (this.model.sortOptions.length > 0) { this._items = []; this.dropdownComparator = []; this.currentDropdownIdx = 0; for (let /** @type {?} */ sortOpt of this.model.sortOptions) { let /** @type {?} */ label = sortOpt.label; let /** @type {?} */ sortFunc = sortOpt.comparator; this._items.push(new DefaultSelectItemModel(label, 0)); this.dropdownComparator.push(sortFunc); } } } } let /** @type {?} */ closeHandler = () => { this.result = null; this.editor.hideDialog(); }; this.dialogButtons = [new ButtonModel(this.getI18NMessage('CLOSE'), null, closeHandler, ['dialog-btn', 'cancel'])]; this.refreshDataRecord(); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { if (changes['data'] !== null && typeof changes['data'] !== 'undefined') { let /** @type {?} */ oldData = changes['data'].previousValue; let /** @type {?} */ newData = changes['data'].currentValue; if (oldData !== newData) { this.refreshDataRecord(); } } } /** * @param {?} obj1 * @param {?} obj2 * @return {?} */ compareCreatedDate(obj1, obj2) { if ((obj1 === null || typeof obj1 === 'undefined') && (obj2 !== null && typeof obj2 !== 'undefined')) { return 1; } else if ((obj1 !== null && typeof obj1 !== 'undefined') && (obj2 === null || typeof obj2 === 'undefined')) { return -1; } else if ((obj1 === null || typeof obj1 === 'undefined') && (obj2 === null || typeof obj2 === 'undefined')) { return 0; } let /** @type {?} */ fromDate1 = DateTimeUtils.getDateFromAny(obj1._versionCreated); let /** @type {?} */ fromDate2 = DateTimeUtils.getDateFromAny(obj2._versionCreated); if ((fromDate1 === null || typeof fromDate1 === 'undefined') && (fromDate2 !== null && typeof fromDate2 !== 'undefined')) { return 1; } else if ((fromDate1 !== null && typeof fromDate1 !== 'undefined') && (fromDate2 === null || typeof fromDate2 === 'undefined')) { return -1; } else if ((fromDate1 === null || typeof fromDate1 === 'undefined') && (fromDate2 === null || typeof fromDate2 === 'undefined')) { return 0; } if (fromDate1.isBefore(fromDate2)) { return -1; } else if (fromDate1.isAfter(fromDate2)) { return 1; } return 0; } /** * @return {?} */ refreshDataRecord() { this.dataRecords = []; if (this.editor !== null && typeof this.editor !== 'undefined') { if (this.data !== null && typeof this.data !== 'undefined') { let /** @type {?} */ data = this.data.data; let /** @type {?} */ startTime = (new Date()).clearTime(); let /** @type {?} */ endTime = null; if (this.currentIndex === 0) { // today endTime = new Date(startTime); endTime = endTime.addDays(1).addSeconds(-1); } else if (this.currentIndex === 1) { // 3 days ago endTime = new Date(startTime).addDays(-3); } else if (this.currentIndex === 2) { // a month ago endTime = new Date(startTime).addDays(-30); } else if (this.currentIndex === 3) { // 3 months ago endTime = new Date(startTime).addDays(-90); } this.editor.getVersionHistory(data.data, startTime, endTime).then((result) => { if (result !== null && result !== undefined) { for (let /** @type {?} */ d of result) { this.dataRecords.push(d); } if (this.dataRecords.length > 0) { this.currentVersionData = this.dataRecords[0]; } this.sortData(); } }); } } } /** * @return {?} */ sortData() { if (this.dataRecords === null || typeof this.dataRecords === 'undefined') { return; } let /** @type {?} */ comparator = null; if (this.currentDropdownIdx < this.dropdownComparator.length) { comparator = this.dropdownComparator[this.currentDropdownIdx]; } if (comparator !== null) { this.dataRecords.sort(comparator); } } /** * @param {?} key * @return {?} */ getI18NMessage(key) { if (this.phloxAppInfo != null && this.phloxAppInfo.i18n != null) { if (this.phloxAppInfo.i18n[key] !== null && typeof this.phloxAppInfo.i18n[key] !== 'undefined') { return this.phloxAppInfo.i18n[key]; } } return key; } /** * @param {?} data * @return {?} */ _isSelectedVersion(data) { if (this.selectedVersionData !== null && typeof this.selectedVersionData !== 'undefined') { if (this.selectedVersionData === data) { return true; } } return false; } /** * @param {?} dateString * @return {?} */ _getDateString(dateString) { if (dateString !== null && typeof dateString !== 'undefined') { let /** @type {?} */ date = DateTimeUtils.getDateFromAny(dateString); if (date !== null) { return date.toString("dd/MM/yyyy"); } } return ""; } /** * @param {?} dateString * @return {?} */ _getTimeString(dateString) { if (dateString !== null && typeof dateString !== 'undefined') { let /** @type {?} */ date = DateTimeUtils.getDateFromAny(dateString); if (date !== null) { return date.toString("hh:mm:ss"); } } return ""; } /** * @param {?} data * @return {?} */ _isCurrentVersion(data) { if (this.currentVersionData !== null && typeof this.currentVersionData !== 'undefined') { if (this.currentVersionData === data) { return true; } } return false; } /** * @param {?} index * @return {?} */ _isActiveTab(index) { if (this.currentIndex === index) { return true; } return false; } /** * @return {?} */ _getCurrentDropdownIdx() { return this.currentDropdownIdx; } /** * @return {?} */ _getDataRecords() { return this.dataRecords; } /** * @param {?} index * @return {?} */ _setActiveTabIndex(index) { this.currentIndex = index; this.refreshDataRecord(); } /** * @param {?} $event * @param {?} data * @return {?} */ onPromoteClicked($event, data) { if (this.selectedVersionData !== null) { if (this.selectedVersionData === data) { this.selectedVersionData = null; if (this.dialogButtons.length >= 2) { let /** @type {?} */ closeHandler = () => { this.result = null; this.editor.hideDialog(); }; this.dialogButtons = [new ButtonModel(this.getI18NMessage('CLOSE'), null, closeHandler, ['dialog-btn', 'cancel'])]; } return; } } this.selectedVersionData = data; // manipulate btn if (this.dialogButtons === undefined) { this.dialogButtons = []; } if (this.dialogButtons.length <= 1) { let /** @type {?} */ cancelHandler = () => { this.onPromoteClicked(null, this.selectedVersionData); }; let /** @type {?} */ confirmHandler = () => { this.result = this.selectedVersionData; this.editor.promoteData(this.selectedVersionData).then((result) => { this.editor.hideDialog(); }, (error) => { // service reject this.editor.hideDialog(); }).catch((error) => { // there is error somewhere. this.editor.hideDialog(); }); }; this.dialogButtons = [new ButtonModel(this.getI18NMessage('CANCEL'), null, cancelHandler, ['dialog-btn', 'cancel']), new ButtonModel(this.getI18NMessage('CONFIRM'), null, confirmHandler, ['dialog-btn', 'confirm'])]; } } /** * @param {?} $event * @return {?} */ onDropdownChange($event) { if ($event === null || typeof $event === 'undefined') { return; } let /** @type {?} */ newIndex = $event.detail.data.newIndex; this.currentDropdownIdx = newIndex; this.sortData(); } /** * @return {?} */ hasModel() { if (this.model !== null && typeof this.model !== 'undefined') { return true; } return false; } /** * @return {?} */ getModel() { return this.model; } /** * @param {?} model * @return {?} */ setModel(model) { this.model = model; } /** * @return {?} */ getBeforeResultChangeEvent() { return this.beforeResultChangeEvent; } /** * @param {?} event * @return {?} */ setBeforeResultChangeEvent(event) { this.beforeResultChangeEvent = event; } /** * @return {?} */ getResultChangeEvent() { return this.resultChangeEvent; } /** * @param {?} event * @return {?} */ setResultChangeEvent(event) { this.resultChangeEvent = event; } /** * @return {?} */ getBeforeErrorChangeEvent() { return this.beforeErrorChangeEvent; } /** * @param {?} event * @return {?} */ setBeforeErrorChangeEvent(event) { this.beforeErrorChangeEvent = event; } /** * @return {?} */ getErrorChangeEvent() { return this.errorChangeEvent; } /** * @param {?} event * @return {?} */ setErrorChangeEvent(event) { this.errorChangeEvent = event; } /** * @return {?} */ getBeforeButtonsChangeEvent() { return this.beforeButtonsChangeEvent; } /** * @param {?} event * @return {?} */ setBeforeButtonsChangeEvent(event) { this.beforeButtonsChangeEvent = event; } /** * @return {?} */ getButtonsChangeEvent() { return this.buttonsChangeEvent; } /** * @param {?} event * @return {?} */ setButtonsChangeEvent(event) { this.buttonsChangeEvent = event; } } VersionHistory.TYPE_NAME = TYPE_NAME; VersionHistory.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: `<div class="parrots-version-history"> <div class="header"> <div class="wrapper"> <div class="left"> <!-- first zone --> <div> <div class="title" *ngIf="hasModel()"> <h3>{{getModel().title}}</h3> </div> <div class="description" *ngIf="hasModel()"> {{getModel().description}} </div> </div> <!-- second zone --> <div> <div class="tab" [class.active]="_isActiveTab(0)" (click)="_setActiveTabIndex(0)">Today</div> <div class="tab" [class.active]="_isActiveTab(1)" (click)="_setActiveTabIndex(1)">3 days ago</div> <div class="tab" [class.active]="_isActiveTab(2)" (click)="_setActiveTabIndex(2)">a month ago</div> <div class="tab" [class.active]="_isActiveTab(3)" (click)="_setActiveTabIndex(3)">3 months ago</div> </div> </div> <div class="right"> <!-- first zone --> <div> <div class="sorting"> <phx-simple-dropdown #orderingDropdown [items]="_items" [data]="_getCurrentDropdownIdx()" (phxChange)="onDropdownChange($event)"></phx-simple-dropdown> </div> <div class="sorting-label"> <div class="table-wrapper fluid"> <div class="table-cell-wrapper middle"> Sorting : </div> </div> </div> </div> <!-- second zone --> <div> <div class="logo"> <!-- LOGO --> <!-- <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 30 30" style="enable-background:new 0 0 30 30;" xml:space="preserve" class="calendar"> <g> <path style="fill:#b1b1b1;" d="M8.585,8.599h0.386c0.587,0,1.064-0.476,1.064-1.064V3.503c0-0.587-0.476-1.064-1.064-1.064H8.585 c-0.587,0-1.064,0.476-1.064,1.064v4.033C7.522,8.123,7.998,8.599,8.585,8.599L8.585,8.599z M8.585,8.599"/> <g> <path style="fill:#b1b1b1;" d="M22.227,8.572h0.387c0.587,0,1.063-0.476,1.063-1.064V3.476c0-0.587-0.476-1.063-1.063-1.063 h-0.387c-0.588,0-1.064,0.476-1.064,1.063v4.033C21.163,8.096,21.64,8.572,22.227,8.572L22.227,8.572z M22.227,8.572"/> <path style="fill:#b1b1b1;" d="M27.271,4.6h-2.729v3.187c0,1.063-0.865,1.65-1.928,1.65h-0.387c-1.063,0-1.928-0.865-1.928-1.928 V4.6H10.9v2.935c0,1.063-0.865,1.928-1.928,1.928H8.585c-1.063,0-1.928-0.865-1.928-1.928V4.6H3.712 c-0.953,0-1.729,0.776-1.729,1.729v20.893c0,0.953,0.776,1.729,1.729,1.729h23.559c0.953,0,1.729-0.775,1.729-1.729V6.329 C29,5.376,28.224,4.6,27.271,4.6L27.271,4.6z M27.271,27.222H3.712V11.444h23.559l0.001,15.778H27.271L27.271,27.222z M27.271,27.222"/> </g> <path style="fill:#b1b1b1;" d="M16.384,16.737h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.105 c-0.123,0-0.223,0.1-0.223,0.223v2.688C16.161,16.637,16.261,16.737,16.384,16.737L16.384,16.737z M16.384,16.737"/> <path style="fill:#b1b1b1;" d="M21.451,16.737h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.105 c-0.123,0-0.223,0.1-0.223,0.223v2.688C21.228,16.637,21.328,16.737,21.451,16.737L21.451,16.737z M21.451,16.737"/> <path style="fill:#b1b1b1;" d="M6.252,21.138h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223H6.252 c-0.123,0-0.223,0.1-0.223,0.223v2.688C6.029,21.038,6.129,21.138,6.252,21.138L6.252,21.138z M6.252,21.138"/> <path style="fill:#b1b1b1;" d="M11.318,21.138h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.105 c-0.123,0-0.223,0.1-0.223,0.223v2.688C11.095,21.038,11.195,21.138,11.318,21.138L11.318,21.138z M11.318,21.138"/> <path style="fill:#b1b1b1;" d="M16.385,21.138h3.104c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.104 c-0.123,0-0.223,0.1-0.223,0.223v2.688C16.161,21.038,16.261,21.138,16.385,21.138L16.385,21.138z M16.385,21.138"/> <path style="fill:#b1b1b1;" d="M21.451,21.138h3.105c0.123,0,0.223-0.1,0.223-0.223v-2.688c0-0.123-0.1-0.223-0.223-0.223h-3.105 c-0.123,0-0.223,0.1-0.223,0.223v2.688C21.228,21.038,21.328,21.138,21.451,21.138L21.451,21.138z M21.451,21.138"/> <path style="fill:#b1b1b1;" d="M9.356,22.405H6.252c-0.123,0-0.223,0.1-0.223,0.223v2.688c0,0.123,0.1,0.223,0.223,0.223h3.105 c0.123,0,0.223-0.1,0.223-0.223v-2.688C9.579,22.505,9.479,22.405,9.356,22.405L9.356,22.405z M9.356,22.405"/> <path style="fill:#b1b1b1;" d="M14.422,22.405h-3.105c-0.123,0-0.223,0.1-0.223,0.223v2.688c0,0.123,0.1,0.223,0.223,0.223h3.105 c0.123,0,0.223-0.1,0.223-0.223v-2.688C14.645,22.505,14.546,22.405,14.422,22.405L14.422,22.405z M14.422,22.405"/> <path style="fill:#b1b1b1;" d="M19.489,22.405h-3.104c-0.123,0-0.223,0.1-0.223,0.223v2.688c0,0.123,0.1,0.223,0.223,0.223h3.104 c0.123,0,0.223-0.1,0.223-0.223v-2.688C19.712,22.505,19.612,22.405,19.489,22.405L19.489,22.405z M19.489,22.405"/> <path style="fill:#b1b1b1;" d="M24.555,22.405h-3.105c-0.123,0-0.223,0.1-0.223,0.223v2.688c0,0.123,0.1,0.223,0.223,0.223h3.105 c0.123,0,0.223-0.1,0.223-0.223v-2.688C24.778,22.505,24.678,22.405,24.555,22.405L24.555,22.405z M24.555,22.405"/> </g> </svg> --> </div> <!-- <div class="date"><phx-date-picker #fromTimeField [dataParent]="this"></phx-date-picker></div> --> <div class="date"><material-date-picker #fromTimeField [width]="'75pt'" [buttonPosition]="'suffix'" [dataParent]="this"></material-date-picker></div> <div> <div class="table-wrapper fluid"> <div class="table-cell-wrapper middle"> to </div> </div> </div> <div class="date"><material-date-picker #toTimeField [width]="'75pt'" [buttonPosition]="'suffix'" [dataParent]="this"></material-date-picker></div> <!-- <div class="date"><phx-date-picker #toTimeField [dataParent]="this"></phx-date-picker></div> --> </div> </div> </div> </div> <div class="body"> <div class="wrapper"> <table class="table table-striped"> <tbody> <tr><td colspan="6"></td></tr> <tr><td colspan="6"></td></tr> <tr *ngFor="let item of _getDataRecords(); let i = index" [class.selected]="_isSelectedVersion(item)"> <td class="highlight">{{item._lang}}</td> <td class="highlight">{{_getDateString(item._versionCreated)}}</td> <td class="highlight">{{_getTimeString(item._versionCreated)}}</td> <td>Version: {{item._version}}</td> <td>By Admin</td> <td> <div *ngIf="!_isCurrentVersion(item)"> <a *ngIf="!_isSelectedVersion(item)" (click)="onPromoteClicked($event, item)">Promote</a> <div *ngIf="_isSelectedVersion(item)" (click)="onPromoteClicked($event, item)"><div class="heavy-check-mark"></div></div> </div> <div *ngIf="_isCurrentVersion(item)" class="current">Current</div> </td> </tr> </tbody> </table> </div> </div> </div> ` },] }, ]; /** @nocollapse */ VersionHistory.ctorParameters = () => [ { type: PhloxAppInfoService, }, { type: ElementRef, }, ]; VersionHistory.propDecorators = { "dataParent": [{ type: Input },], "ignoreParentData": [{ type: Input },], "data": [{ type: Input },], "ignoreParentDisabled": [{ type: Input },], "delegateHistory": [{ type: Input },], "onDisabled": [{ type: Input },], "onEnabled": [{ type: Input },], "loadingEnabled": [{ type: Input },], "i18nKey": [{ type: Input },], "bypass": [{ type: Input, args: ['i18nBypass',] },], "options": [{ type: Input },], "disabled": [{ type: Input },], "help": [{ type: Input },], "beforeResultChangeEvent": [{ type: Output, args: ['parrotsBeforeResultChange',] },], "resultChangeEvent": [{ type: Output, args: ['parrotsResultChange',] },], "beforeErrorChangeEvent": [{ type: Output, args: ['parrotsBeforeErrorChange',] },], "errorChangeEvent": [{ type: Output, args: ['parrotsErrorChange',] },], "beforeButtonsChangeEvent": [{ type: Output, args: ['parrotsBeforeButtonsChange',] },], "buttonsChangeEvent": [{ type: Output, args: ['parrotsButtonsChange',] },], "fromTimeField": [{ type: ViewChild, args: ['fromTimeField',] },], "toTimeField": [{ type: ViewChild, args: ['toTimeField',] },], }; tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], VersionHistory.prototype, "dataParent", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "ignoreParentData", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Object) ], VersionHistory.prototype, "data", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "ignoreParentDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "delegateHistory", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], VersionHistory.prototype, "onDisabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Function) ], VersionHistory.prototype, "onEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "loadingEnabled", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", String) ], VersionHistory.prototype, "i18nKey", void 0); tslib_1.__decorate([ Option('i18nBypass'), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "bypass", void 0); tslib_1.__decorate([ Option(), tslib_1.__metadata("design:type", Boolean) ], VersionHistory.prototype, "disabled", void 0); tslib_1.__decorate([ I18N(), Option(), tslib_1.__metadata("design:type", Object) ], VersionHistory.prototype, "help", void 0); tslib_1.__decorate([ Option('beforeResultChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "beforeResultChangeEvent", void 0); tslib_1.__decorate([ Option('resultChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "resultChangeEvent", void 0); tslib_1.__decorate([ Option('beforeErrorChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "beforeErrorChangeEvent", void 0); tslib_1.__decorate([ Option('errorChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "errorChangeEvent", void 0); tslib_1.__decorate([ Option('beforeButtonsChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "beforeButtonsChangeEvent", void 0); tslib_1.__decorate([ Option('buttonsChange'), tslib_1.__metadata("design:type", EventEmitter) ], VersionHistory.prototype, "buttonsChangeEvent", void 0); function VersionHistory_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ VersionHistory.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ VersionHistory.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ VersionHistory.propDecorators; /** @type {?} */ VersionHistory.TYPE_NAME; /** @type {?} */ VersionHistory.prototype.dataParent; /** @type {?} */ VersionHistory.prototype.ignoreParentData; /** @type {?} */ VersionHistory.prototype.data; /** @type {?} */ VersionHistory.prototype.ignoreParentDisabled; /** @type {?} */ VersionHistory.prototype.delegateHistory; /** @type {?} */ VersionHistory.prototype.onDisabled; /** @type {?} */ VersionHistory.prototype.onEnabled; /** @type {?} */ VersionHistory.prototype.loadingEnabled; /** @type {?} */ VersionHistory.prototype.i18nKey; /** @type {?} */ VersionHistory.prototype.bypass; /** @type {?} */ VersionHistory.prototype.options; /** @type {?} */ VersionHistory.prototype.disabled; /** @type {?} */ VersionHistory.prototype.help; /** @type {?} */ VersionHistory.prototype.beforeResultChangeEvent; /** @type {?} */ VersionHistory.prototype.resultChangeEvent; /** @type {?} */ VersionHistory.prototype.beforeErrorChangeEvent; /** @type {?} */ VersionHistory.prototype.errorChangeEvent; /** @type {?} */ VersionHistory.prototype.beforeButtonsChangeEvent; /** @type {?} */ VersionHistory.prototype.buttonsChangeEvent; /** @type {?} */ VersionHistory.prototype.model; /** @type {?} */ VersionHistory.prototype.currentIndex; /** @type {?} */ VersionHistory.prototype.currentVersionData; /** @type {?} */ VersionHistory.prototype.selectedVersionData; /** @type {?} */ VersionHistory.prototype.dataRecords; /** @type {?} */ VersionHistory.prototype.editor; /** @type {?} */ VersionHistory.prototype.dropdownComparator; /** @type {?} */ VersionHistory.prototype.defaultAscComparator; /** @type {?} */ VersionHistory.prototype.defaultDescComparator; /** @type {?} */ VersionHistory.prototype.currentDropdownIdx; /** @type {?} */ VersionHistory.prototype.orderingDropdown; /** @type {?} */ VersionHistory.prototype.fromTimeField; /** @type {?} */ VersionHistory.prototype.toTimeField; /** @type {?} */ VersionHistory.prototype.phloxAppInfo; /** @type {?} */ VersionHistory.prototype._items; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVyc2lvbkhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW8ucGFycm90cy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvZWRpdG9yL1ZlcnNpb25IaXN0b3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWdCLFNBQVMsRUFBUSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFLakQsdUJBQU0sU0FBUyxHQUFXLHlCQUF5QixDQUFDO0FBMkhwRCxNQUFNLHFCQUFzQixTQUFRLHdCQUF3Qjs7Ozs7SUFvRjFELFlBQVksZUFBb0MsRUFBRSxVQUFzQjtRQUN0RSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBRWhDLEVBQUUsQ0FBQyxDQUFDLGVB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S0FBSzsyQkFHTCxLQUFLOzBCQUdMLEtBQUs7K0JBR0wsS0FBSzt3QkFHTCxLQUFLO3VCQUdMLEtBQUssU0FBQyxZQUFZO3dCQUdsQixLQUFLO3lCQUVMLEtBQUs7cUJBSUwsS0FBSzt3Q0FLTCxNQUFNLFNBQUMsMkJBQTJCO2tDQUdsQyxNQUFNLFNBQUMscUJBQXFCO3VDQUc1QixNQUFNLFNBQUMsMEJBQTBCO2lDQUdqQyxNQUFNLFNBQUMsb0JBQW9CO3lDQUczQixNQUFNLFNBQUMsNEJBQTRCO21DQUduQyxNQUFNLFNBQUMsc0JBQXNCOzhCQWU3QixTQUFTLFNBQUMsZUFBZTs0QkFFekIsU0FBUyxTQUFDLGFBQWE7OztJQXhFdkIsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFO3NDQUNhLFFBQVE7OztJQUU3QixNQUFNLEVBQUU7c0NBQ1ksUUFBUTs7O0lBRTVCLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sQ0FBQyxZQUFZLENBQUM7Ozs7SUFLcEIsTUFBTSxFQUFFOzs7O0lBSVIsSUFBSSxFQUFFO0lBQ04sTUFBTSxFQUFFOzs7O0lBSVIsTUFBTSxDQUFDLG9CQUFvQixDQUFDO3NDQUNNLFlBQVk7OztJQUU5QyxNQUFNLENBQUMsY0FBYyxDQUFDO3NDQUNNLFlBQVk7OztJQUV4QyxNQUFNLENBQUMsbUJBQW1CLENBQUM7c0NBQ00sWUFBWTs7O0lBRTdDLE1BQU0sQ0FBQyxhQUFhLENBQUM7c0NBQ00sWUFBWTs7O0lBRXZDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFL0MsTUFBTSxDQUFDLGVBQWUsQ0FBQztzQ0FDTSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkLCBUeXBlLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0RGlhbG9nQ29udHJvbGxlciB9IGZyb20gJ2NvbS5waGxveHVpJztcbmltcG9ydCB7IEFic3RyYWN0RGF0YUVkaXRvciB9IGZyb20gJ2NvbS5waGxveHVpJztcbmltcG9ydCB7IFN0cmluZ0RhdGFWaWV3IH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgSUhhc01vZGVsIH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgQ29tcG9uZW50RHJvcGRvd25MaXN0IH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgTWF0ZXJpYWxUZXh0Qm94IH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgRGF0ZVRpbWVVdGlscyB9IGZyb20gJ2NvbS5waGxveHVpJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJ2NvbS5waGxveHVpJztcbmltcG9ydCB7IEkxOE4gfSBmcm9tICdjb20ucGhsb3h1aSc7XG5pbXBvcnQgeyBJSGFzRGF0YSB9IGZyb20gJ2NvbS5waGxveHVpJztcbmltcG9ydCB7IEJ1dHRvbk1vZGVsIH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgUGhsb3hBcHBJbmZvIH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgRGVmYXVsdFNlbGVjdEl0ZW1Nb2RlbCB9IGZyb20gJ2NvbS5waGxveHVpJztcbmltcG9ydCB7IFBobG94QXBwSW5mb1NlcnZpY2UgfSBmcm9tICdjb20ucGhsb3h1aSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyIH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgTWF0ZXJpYWxEYXRlUGlja2VyIH0gZnJvbSAnY29tLnBobG94dWknO1xuaW1wb3J0IHsgQWJzdHJhY3RQYXJyb3RzRGF0YUVkaXRvciB9IGZyb20gJy4vQWJzdHJhY3RQYXJyb3RzRGF0YUVkaXRvcic7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcInBhcnJvdHMtdmVyc2lvbi1oaXN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBtb2R1bGVJZDogbW9kdWxlLmlkLFxuICBzZWxlY3RvcjogVFlQRV9OQU1FLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJwYXJyb3RzLXZlcnNpb24taGlzdG9yeVwiPlxuXHQ8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG5cdFx0PGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJsZWZ0XCI+XG5cdFx0XHRcdDwhLS0gZmlyc3Qgem9uZSAtLT5cblx0XHRcdFx0PGRpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cImhhc01vZGVsKClcIj5cblx0XHRcdFx0XHRcdDxoMz57e2dldE1vZGVsKCkudGl0bGV9fTwvaDM+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCIgKm5nSWY9XCJoYXNNb2RlbCgpXCI+XG5cdFx0XHRcdFx0XHR7e2dldE1vZGVsKCkuZGVzY3JpcHRpb259fVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PCEtLSBzZWNvbmQgem9uZSAtLT5cblx0XHRcdFx0PGRpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFiXCIgW2NsYXNzLmFjdGl2ZV09XCJfaXNBY3RpdmVUYWIoMClcIiAoY2xpY2spPVwiX3NldEFjdGl2ZVRhYkluZGV4KDApXCI+VG9kYXk8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFiXCIgW2NsYXNzLmFjdGl2ZV09XCJfaXNBY3RpdmVUYWIoMSlcIiAoY2xpY2spPVwiX3NldEFjdGl2ZVRhYkluZGV4KDEpXCI+MyBkYXlzIGFnbzwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJcIiBbY2xhc3MuYWN0aXZlXT1cIl9pc0FjdGl2ZVRhYigyKVwiIChjbGljayk9XCJfc2V0QWN0aXZlVGFiSW5kZXgoMilcIj5hIG1vbnRoIGFnbzwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJcIiBbY2xhc3MuYWN0aXZlXT1cIl9pc0FjdGl2ZVRhYigzKVwiIChjbGljayk9XCJfc2V0QWN0aXZlVGFiSW5kZXgoMylcIj4zIG1vbnRocyBhZ288L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJyaWdodFwiPlxuXHRcdFx0XHQ8IS0tIGZpcnN0IHpvbmUgLS0+XG5cdFx0XHRcdDxkaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInNvcnRpbmdcIj5cblx0XHRcdFx0XHRcdDxwaHgtc2ltcGxlLWRyb3Bkb3duICNvcmRlcmluZ0Ryb3Bkb3duIFtpdGVtc109XCJfaXRlbXNcIiBbZGF0YV09XCJfZ2V0Q3VycmVudERyb3Bkb3duSWR4KClcIiAocGh4Q2hhbmdlKT1cIm9uRHJvcGRvd25DaGFuZ2UoJGV2ZW50KVwiPjwvcGh4LXNpbXBsZS1kcm9wZG93bj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwic29ydGluZy1sYWJlbFwiPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLXdyYXBwZXIgZmx1aWRcIj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLWNlbGwtd3JhcHBlciBtaWRkbGVcIj5cblx0XHRcdFx0XHRcdFx0XHRTb3J0aW5nIDpcblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwhLS0gc2Vjb25kIHpvbmUgLS0+XG5cdFx0XHRcdDxkaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImxvZ29cIj5cblx0XHRcdFx0XHRcdDwhLS0gTE9HTyAtLT5cblx0XHRcdFx0XHRcdDwhLS0gPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgaWQ9XCJMYXllcl8xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHg9XCIwcHhcIiB5PVwiMHB4XCJcblx0XHRcdFx0XHRcdFx0IHZpZXdCb3g9XCIwIDAgMzAgMzBcIiBzdHlsZT1cImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzAgMzA7XCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIiBjbGFzcz1cImNhbGVuZGFyXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGc+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8cGF0aCBzdHlsZT1cImZpbGw6I2IxYjFiMTtcIiBkPVwiTTguNTg1LDguNTk5aDAuMzg2YzAuNTg3LDAsMS4wNjQtMC40NzYsMS4wNjQtMS4wNjRWMy41MDNjMC0wLjU4Ny0wLjQ3Ni0xLjA2NC0xLjA2NC0xLjA2NEg4LjU4NVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjLTAuNTg3LDAtMS4wNjQsMC40NzYtMS4wNjQsMS4wNjR2NC4wMzNDNy41MjIsOC4xMjMsNy45OTgsOC41OTksOC41ODUsOC41OTlMOC41ODUsOC41OTl6IE04LjU4NSw4LjU5OVwiLz5cblx0XHRcdFx0XHRcdFx0XHRcdDxnPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8cGF0aCBzdHlsZT1cImZpbGw6I2IxYjFiMTtcIiBkPVwiTTIyLjIyNyw4LjU3MmgwLjM4N2MwLjU4NywwLDEuMDYzLTAuNDc2LDEuMDYzLTEuMDY0VjMuNDc2YzAtMC41ODctMC40NzYtMS4wNjMtMS4wNjMtMS4wNjNcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRoLTAuMzg3Yy0wLjU4OCwwLTEuMDY0LDAuNDc2LTEuMDY0LDEuMDYzdjQuMDMzQzIxLjE2Myw4LjA5NiwyMS42NCw4LjU3MiwyMi4yMjcsOC41NzJMMjIuMjI3LDguNTcyeiBNMjIuMjI3LDguNTcyXCIvPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8cGF0aCBzdHlsZT1cImZpbGw6I2IxYjFiMTtcIiBkPVwiTTI3LjI3MSw0LjZoLTIuNzI5djMuMTg3YzAsMS4wNjMtMC44NjUsMS42NS0xLjkyOCwxLjY1aC0wLjM4N2MtMS4wNjMsMC0xLjkyOC0wLjg2NS0xLjkyOC0xLjkyOFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFY0LjZIMTAuOXYyLjkzNWMwLDEuMDYzLTAuODY1LDEuOTI4LTEuOTI4LDEuOTI4SDguNTg1Yy0xLjA2MywwLTEuOTI4LTAuODY1LTEuOTI4LTEuOTI4VjQuNkgzLjcxMlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGMtMC45NTMsMC0xLjcyOSwwLjc3Ni0xLjcyOSwxLjcyOXYyMC44OTNjMCwwLjk1MywwLjc3NiwxLjcyOSwxLjcyOSwxLjcyOWgyMy41NTljMC45NTMsMCwxLjcyOS0wLjc3NSwxLjcyOS0xLjcyOVY2LjMyOVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEMyOSw1LjM3NiwyOC4yMjQsNC42LDI3LjI3MSw0LjZMMjcuMjcxLDQuNnogTTI3LjI3MSwyNy4yMjJIMy43MTJWMTEuNDQ0aDIzLjU1OWwwLjAwMSwxNS43NzhIMjcuMjcxTDI3LjI3MSwyNy4yMjJ6XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0IE0yNy4yNzEsMjcuMjIyXCIvPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC9nPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHBhdGggc3R5bGU9XCJmaWxsOiNiMWIxYjE7XCIgZD1cIk0xNi4zODQsMTYuNzM3aDMuMTA1YzAuMTIzLDAsMC4yMjMtMC4xLDAu