io.parrots
Version:
Parrots.io App
728 lines (727 loc) • 73.8 kB
JavaScript
/**
* @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