com.phloxui
Version:
PhloxUI Ng2+ Framework
659 lines (658 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 './AbstractDialogController';
import { StringDataView } from './dataview/StringDataView.component';
import { DateTimeUtils } from '../share/utils/DateTimeUtils';
import { Option } from '../decorator/Option.decorator';
import { I18N } from '../decorator/I18N.decorator';
import { ButtonModel } from './model/ComponentDialogModel';
import { DefaultSelectItemModel } from './model/DefaultSelectItemModel';
import { PhloxAppInfoService } from '../service/PhloxAppInfoService.service';
import { DatePicker } from './dataview/input/DatePicker.component';
var /** @type {?} */ TYPE_NAME = "phx-version-history";
var VersionHistory = /** @class */ (function (_super) {
tslib_1.__extends(VersionHistory, _super);
function VersionHistory(phloxAppService, elementRef) {
var _this = _super.call(this, elementRef) || this;
_this.currentIndex = 0;
_this.dataRecords = [];
_this.currentVersionData = null;
_this.selectedVersionData = null;
if (phloxAppService != null) {
phloxAppService.getAppInfo().then(function (result) {
_this.phloxAppInfo = result;
});
}
//default dropdown
//default dropdown
_this.dropdownCompoType = StringDataView;
_this.currentDropdownIdx = 0;
_this.dropdownComparator = [];
_this._items = [];
_this.defaultAscComparator = function (obj1, obj2) {
return -_this.compareCreatedDate(obj1, obj2);
};
_this.defaultDescComparator = function (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 _this;
}
/**
* @return {?}
*/
VersionHistory.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
_super.prototype.ngOnInit.call(this);
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;
try {
for (var _a = tslib_1.__values(this.model.sortOptions), _b = _a.next(); !_b.done; _b = _a.next()) {
var sortOpt = _b.value;
var /** @type {?} */ label = sortOpt.label;
var /** @type {?} */ sortFunc = sortOpt.comparator;
this._items.push(new DefaultSelectItemModel(label, 0));
this.dropdownComparator.push(sortFunc);
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
}
finally { if (e_1) throw e_1.error; }
}
}
}
}
var /** @type {?} */ closeHandler = function () { _this.result = null; _this.editor.hideDialog(); };
this.dialogButtons = [new ButtonModel(this.getI18NMessage('CLOSE'), null, closeHandler, ['dialog-btn', 'cancel'])];
this.refreshDataRecord();
var e_1, _c;
};
/**
* @param {?} changes
* @return {?}
*/
VersionHistory.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
if (changes['data'] !== null && typeof changes['data'] !== 'undefined') {
var /** @type {?} */ oldData = changes['data'].previousValue;
var /** @type {?} */ newData = changes['data'].currentValue;
if (oldData !== newData) {
this.refreshDataRecord();
}
}
};
/**
* @param {?} obj1
* @param {?} obj2
* @return {?}
*/
VersionHistory.prototype.compareCreatedDate = /**
* @param {?} obj1
* @param {?} obj2
* @return {?}
*/
function (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;
}
var /** @type {?} */ fromDate1 = DateTimeUtils.getDateFromAny(obj1._versionCreated);
var /** @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 {?}
*/
VersionHistory.prototype.refreshDataRecord = /**
* @return {?}
*/
function () {
var _this = this;
this.dataRecords = [];
if (this.editor !== null && typeof this.editor !== 'undefined') {
if (this.data !== null && typeof this.data !== 'undefined') {
var /** @type {?} */ data = this.data.data;
var /** @type {?} */ startTime = (new Date()).clearTime();
var /** @type {?} */ endTime = null;
if (this.currentIndex === 0) {
// today
endTime = new Date(startTime);
}
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, startTime, endTime).then(function (result) {
if (result !== null && result !== undefined) {
try {
for (var result_1 = tslib_1.__values(result), result_1_1 = result_1.next(); !result_1_1.done; result_1_1 = result_1.next()) {
var d = result_1_1.value;
_this.dataRecords.push(d);
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (result_1_1 && !result_1_1.done && (_a = result_1.return)) _a.call(result_1);
}
finally { if (e_2) throw e_2.error; }
}
if (_this.dataRecords.length > 0) {
_this.currentVersionData = _this.dataRecords[0];
}
_this.sortData();
}
var e_2, _a;
});
}
}
};
/**
* @return {?}
*/
VersionHistory.prototype.sortData = /**
* @return {?}
*/
function () {
if (this.dataRecords === null || typeof this.dataRecords === 'undefined') {
return;
}
var /** @type {?} */ comparator = null;
if (this.currentDropdownIdx < this.dropdownComparator.length) {
comparator = this.dropdownComparator[this.currentDropdownIdx];
}
if (comparator !== null) {
this.dataRecords.sort(comparator);
}
};
/**
* @param {?} key
* @return {?}
*/
VersionHistory.prototype.getI18NMessage = /**
* @param {?} key
* @return {?}
*/
function (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 {?}
*/
VersionHistory.prototype._isSelectedVersion = /**
* @param {?} data
* @return {?}
*/
function (data) {
if (this.selectedVersionData !== null && typeof this.selectedVersionData !== 'undefined') {
if (this.selectedVersionData === data) {
return true;
}
}
return false;
};
/**
* @param {?} dateString
* @return {?}
*/
VersionHistory.prototype._getDateString = /**
* @param {?} dateString
* @return {?}
*/
function (dateString) {
if (dateString !== null && typeof dateString !== 'undefined') {
var /** @type {?} */ date = DateTimeUtils.getDateFromAny(dateString);
if (date !== null) {
return date.toString("dd/MM/yyyy");
}
}
return "";
};
/**
* @param {?} dateString
* @return {?}
*/
VersionHistory.prototype._getTimeString = /**
* @param {?} dateString
* @return {?}
*/
function (dateString) {
if (dateString !== null && typeof dateString !== 'undefined') {
var /** @type {?} */ date = DateTimeUtils.getDateFromAny(dateString);
if (date !== null) {
return date.toString("hh:mm:ss");
}
}
return "";
};
/**
* @param {?} data
* @return {?}
*/
VersionHistory.prototype._isCurrentVersion = /**
* @param {?} data
* @return {?}
*/
function (data) {
if (this.currentVersionData !== null && typeof this.currentVersionData !== 'undefined') {
if (this.currentVersionData === data) {
return true;
}
}
return false;
};
/**
* @param {?} index
* @return {?}
*/
VersionHistory.prototype._isActiveTab = /**
* @param {?} index
* @return {?}
*/
function (index) {
if (this.currentIndex === index) {
return true;
}
return false;
};
/**
* @return {?}
*/
VersionHistory.prototype._getDropdownCompoType = /**
* @return {?}
*/
function () {
return this.dropdownCompoType;
};
/**
* @return {?}
*/
VersionHistory.prototype._getCurrentDropdownIdx = /**
* @return {?}
*/
function () {
return this.currentDropdownIdx;
};
/**
* @return {?}
*/
VersionHistory.prototype._getDataRecords = /**
* @return {?}
*/
function () {
return this.dataRecords;
};
/**
* @param {?} index
* @return {?}
*/
VersionHistory.prototype._setActiveTabIndex = /**
* @param {?} index
* @return {?}
*/
function (index) {
this.currentIndex = index;
this.refreshDataRecord();
};
/**
* @param {?} $event
* @param {?} data
* @return {?}
*/
VersionHistory.prototype.onRevertClicked = /**
* @param {?} $event
* @param {?} data
* @return {?}
*/
function ($event, data) {
var _this = this;
if (this.selectedVersionData !== null) {
if (this.selectedVersionData === data) {
this.selectedVersionData = null;
if (this.dialogButtons.length >= 2) {
var /** @type {?} */ closeHandler = function () { _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) {
var /** @type {?} */ cancelHandler = function () { _this.onRevertClicked(null, _this.selectedVersionData); };
var /** @type {?} */ confirmHandler = function () { _this.result = _this.selectedVersionData; _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 {?}
*/
VersionHistory.prototype.onDropdownChange = /**
* @param {?} $event
* @return {?}
*/
function ($event) {
if ($event === null || typeof $event === 'undefined') {
return;
}
var /** @type {?} */ newIndex = $event.detail.data.newIndex;
this.currentDropdownIdx = newIndex;
this.sortData();
};
/**
* @return {?}
*/
VersionHistory.prototype.hasModel = /**
* @return {?}
*/
function () {
if (this.model !== null && typeof this.model !== 'undefined') {
return true;
}
return false;
};
/**
* @return {?}
*/
VersionHistory.prototype.getModel = /**
* @return {?}
*/
function () {
return this.model;
};
/**
* @param {?} model
* @return {?}
*/
VersionHistory.prototype.setModel = /**
* @param {?} model
* @return {?}
*/
function (model) {
this.model = model;
};
/**
* @return {?}
*/
VersionHistory.prototype.isSelfDataDirty = /**
* @return {?}
*/
function () {
return false;
};
/**
* @param {?} data
* @return {?}
*/
VersionHistory.prototype.selfSaveData = /**
* @param {?} data
* @return {?}
*/
function (data) {
};
/**
* @return {?}
*/
VersionHistory.prototype.selfResetData = /**
* @return {?}
*/
function () {
};
VersionHistory.TYPE_NAME = TYPE_NAME;
VersionHistory.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: "<div class=\"phx-version-history\">\n\t<div class=\"header\">\n\t\t<div class=\"wrapper\">\n\t\t\t<div class=\"left\">\n\t\t\t\t<!-- first zone -->\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"title\" *ngIf=\"hasModel()\">\n\t\t\t\t\t\t<h3>{{getModel().title}}</h3>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"description\" *ngIf=\"hasModel()\">\n\t\t\t\t\t\t{{getModel().description}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- second zone -->\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"tab\" [class.active]=\"_isActiveTab(0)\" (click)=\"_setActiveTabIndex(0)\">Today</div>\n\t\t\t\t\t<div class=\"tab\" [class.active]=\"_isActiveTab(1)\" (click)=\"_setActiveTabIndex(1)\">3 days ago</div>\n\t\t\t\t\t<div class=\"tab\" [class.active]=\"_isActiveTab(2)\" (click)=\"_setActiveTabIndex(2)\">a month ago</div>\n\t\t\t\t\t<div class=\"tab\" [class.active]=\"_isActiveTab(3)\" (click)=\"_setActiveTabIndex(3)\">3 months ago</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"right\">\n\t\t\t\t<!-- first zone -->\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"sorting\">\n\t\t\t\t\t\t<phx-component-dropdown #orderingDropdown [type]=\"_getDropdownCompoType()\" [items]=\"_items\"\n\t\t\t\t\t\t[defaultIdx]=\"_getCurrentDropdownIdx()\" (phxChange)=\"onDropdownChange($event)\"></phx-component-dropdown>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"sorting-label\">\n\t\t\t\t\t\t<div class=\"table-wrapper fluid\">\n\t\t\t\t\t\t\t<div class=\"table-cell-wrapper middle\">\n\t\t\t\t\t\t\t\tSorting :\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<!-- second zone -->\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"logo\">\n\t\t\t\t\t\t<!-- LOGO -->\n\t\t\t\t\t\t<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\"\n\t\t\t\t\t\t\t viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\" class=\"calendar\">\n\t\t\t\t\t\t\t\t<g>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc-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\"/>\n\t\t\t\t\t\t\t\t\t<g>\n\t\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\t\th-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\"/>\n\t\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\t\tV4.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\n\t\t\t\t\t\t\t\t\t\t\tc-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\n\t\t\t\t\t\t\t\t\t\t\tC29,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\n\t\t\t\t\t\t\t\t\t\t\t M27.271,27.222\"/>\n\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc-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\"/>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc-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\"/>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc-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\"/>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc-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\"/>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc-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\"/>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc-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\"/>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc0.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\"/>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc0.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\"/>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc0.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\"/>\n\t\t\t\t\t\t\t\t\t<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\n\t\t\t\t\t\t\t\t\t\tc0.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\"/>\n\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"date\"><phx-date-picker #fromTimeField [dataParent]=\"this\"></phx-date-picker></div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"table-wrapper fluid\">\n\t\t\t\t\t\t\t<div class=\"table-cell-wrapper middle\">\n\t\t\t\t\t\t\t\tto\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"date\"><phx-date-picker #toTimeField [dataParent]=\"this\"></phx-date-picker></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"body\">\n\t\t<div class=\"wrapper\">\n\t\t\t<table class=\"table table-striped\">\n\t\t\t <tbody>\n\t\t\t \t <tr><td colspan=\"6\"></td></tr>\n\t\t\t \t <tr><td colspan=\"6\"></td></tr>\n\t\t\t\t <tr *ngFor=\"let item of _getDataRecords(); let i = index\" [class.selected]=\"_isSelectedVersion(item)\">\n\t\t\t\t <td class=\"highlight\">{{item._lang}}</td>\n\t\t\t\t <td class=\"highlight\">{{_getDateString(item._versionCreated)}}</td>\n\t\t\t\t <td class=\"highlight\">{{_getTimeString(item._versionCreated)}}</td>\n\t\t\t\t <td>Version: {{item._version}}</td>\n\t\t\t\t <td>By Admin</td>\n\t\t\t\t <td>\n\t\t\t\t \t<div *ngIf=\"!_isCurrentVersion(item)\">\n\t\t\t\t \t\t<a *ngIf=\"!_isSelectedVersion(item)\" (click)=\"onRevertClicked($event, item)\">Revert</a>\n\t\t\t\t \t\t<div *ngIf=\"_isSelectedVersion(item)\" (click)=\"onRevertClicked($event, item)\"><div class=\"heavy-check-mark\"></div></div>\n\t\t\t\t \t</div>\n\t\t\t\t \t<div *ngIf=\"_isCurrentVersion(item)\" class=\"current\">Current</div>\n\t\t\t\t </td>\n\t\t\t\t </tr>\n\t\t\t </tbody>\n\t\t\t </table>\n\t\t</div>\n\t</div>\n</div>\n"
},] },
];
/** @nocollapse */
VersionHistory.ctorParameters = function () { return [
{ 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: ['phxBeforeResultChange',] },],
"resultChangeEvent": [{ type: Output, args: ['phxResultChange',] },],
"beforeErrorChangeEvent": [{ type: Output, args: ['phxBeforeErrorChange',] },],
"errorChangeEvent": [{ type: Output, args: ['phxErrorChange',] },],
"beforeButtonsChangeEvent": [{ type: Output, args: ['phxBeforeButtonsChange',] },],
"buttonsChangeEvent": [{ type: Output, args: ['phxButtonsChange',] },],
"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);
return VersionHistory;
}(AbstractDialogController));
export { VersionHistory };
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.dropdownCompoType;
/** @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVyc2lvbkhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50L1ZlcnNpb25IaXN0b3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWdCLFNBQVMsRUFBUSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBSXJFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJbkUscUJBQU0sU0FBUyxHQUFXLHFCQUFxQixDQUFDOztJQTBIWiwwQ0FBd0I7SUFxRjFELHdCQUFZLGVBQW9DLEVBQUUsVUFBc0I7UUFBeEUsWUFDRSxrQkFBTSxVQUFVLENBQUMsU0E2QmxCO1FBNUJDLEtBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLEtBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLEtBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDL0IsS0FBSSxDQUFDLG1CQUFtQixHQUFH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Q0FHTCxLQUFLOzRCQUdMLEtBQUs7MkJBR0wsS0FBSyxTQUFDLFlBQVk7NEJBR2xCLEtBQUs7NkJBRUwsS0FBSzt5QkFJTCxLQUFLOzRDQUtMLE1BQU0sU0FBQyx1QkFBdUI7c0NBRzlCLE1BQU0sU0FBQyxpQkFBaUI7MkNBR3hCLE1BQU0sU0FBQyxzQkFBc0I7cUNBRzdCLE1BQU0sU0FBQyxnQkFBZ0I7NkNBR3ZCLE1BQU0sU0FBQyx3QkFBd0I7dUNBRy9CLE1BQU0sU0FBQyxrQkFBa0I7a0NBZ0J6QixTQUFTLFNBQUMsZUFBZTtnQ0FFekIsU0FBUyxTQUFDLGFBQWE7OztRQXpFdkIsTUFBTSxFQUFFOzs7O1FBR1IsTUFBTSxFQUFFOzs7O1FBR1IsTUFBTSxFQUFFOzs7O1FBR1IsTUFBTSxFQUFFOzs7O1FBR1IsTUFBTSxFQUFFOzs7O1FBR1IsTUFBTSxFQUFFOzBDQUNhLFFBQVE7OztRQUU3QixNQUFNLEVBQUU7MENBQ1ksUUFBUTs7O1FBRTVCLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sRUFBRTs7OztRQUdSLE1BQU0sQ0FBQyxZQUFZLENBQUM7Ozs7UUFLcEIsTUFBTSxFQUFFOzs7O1FBSVIsSUFBSSxFQUFFO1FBQ04sTUFBTSxFQUFFOzs7O1FBSVIsTUFBTSxDQUFDLG9CQUFvQixDQUFDOzBDQUNNLFlBQVk7OztRQUU5QyxNQUFNLENBQUMsY0FBYyxDQUFDOzBDQUNNLFlBQVk7OztRQUV4QyxNQUFNLENBQUMsbUJBQW1CLENBQUM7MENBQ00sWUFBWTs7O1FBRTdDLE1BQU0sQ0FBQyxhQUFhLENBQUM7MENBQ00sWUFBWTs7O1FBRXZDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQzswQ0FDTSxZQUFZOzs7UUFFL0MsTUFBTSxDQUFDLGVBQWUsQ0FBQzswQ0FDTSxZQUFZOzt5QkE3TTVDO0VBNklvQyx3QkFBd0I7U0FBL0MsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0LCBIb3N0TGlzdGVuZXIsIFZpZXdDaGlsZCwgVHlwZSwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdERpYWxvZ0NvbnRyb2xsZXIgfSBmcm9tICcuL0Fic3RyYWN0RGlhbG9nQ29udHJvbGxlcic7XG5pbXBvcnQgeyBBYnN0cmFjdERhdGFFZGl0b3IgfSBmcm9tICcuL2VkaXRvci9BYnN0cmFjdERhdGFFZGl0b3InO1xuaW1wb3J0IHsgU3RyaW5nRGF0YVZpZXcgfSBmcm9tICcuL2RhdGF2aWV3L1N0cmluZ0RhdGFWaWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJSGFzTW9kZWwgfSBmcm9tICcuL0lIYXNNb2RlbCc7XG5pbXBvcnQgeyBDb21wb25lbnREcm9wZG93bkxpc3QgfSBmcm9tICcuL2RhdGF2aWV3L2lucHV0L0NvbXBvbmVudERyb3Bkb3duTGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxUZXh0Qm94IH0gZnJvbSAnLi4vdGhlbWUvbWF0ZXJpYWwvY29tcG9uZW50L2RhdGF2aWV3L2lucHV0L01hdGVyaWFsVGV4dEJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVRpbWVVdGlscyB9IGZyb20gJy4uL3NoYXJlL3V0aWxzL0RhdGVUaW1lVXRpbHMnO1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnLi4vZGVjb3JhdG9yL09wdGlvbi5kZWNvcmF0b3InO1xuaW1wb3J0IHsgSTE4TiB9IGZyb20gJy4uL2RlY29yYXRvci9JMThOLmRlY29yYXRvcic7XG5pbXBvcnQgeyBJSGFzRGF0YSB9IGZyb20gJy4vSUhhc0RhdGEnO1xuaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICcuL21vZGVsL0NvbXBvbmVudERpYWxvZ01vZGVsJztcbmltcG9ydCB7IFBobG94QXBwSW5mbyB9IGZyb20gJy4uL2NvbXBvbmVudC9tb2RlbC9QaGxveEFwcEluZm8nO1xuaW1wb3J0IHsgRGVmYXVsdFNlbGVjdEl0ZW1Nb2RlbCB9IGZyb20gJy4vbW9kZWwvRGVmYXVsdFNlbGVjdEl0ZW1Nb2RlbCc7XG5pbXBvcnQgeyBQaGxveEFwcEluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9QaGxveEFwcEluZm9TZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0ZVBpY2tlciB9IGZyb20gJy4vZGF0YXZpZXcvaW5wdXQvRGF0ZVBpY2tlci5jb21wb25lbnQnO1xuXG5kZWNsYXJlIHZhciAkOiBhbnk7XG5cbmNvbnN0IFRZUEVfTkFNRTogc3RyaW5nID0gXCJwaHgtdmVyc2lvbi1oaXN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBtb2R1bGVJZDogbW9kdWxlLmlkLFxuICBzZWxlY3RvcjogVFlQRV9OQU1FLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJwaHgtdmVyc2lvbi1oaXN0b3J5XCI+XG5cdDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cblx0XHQ8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImxlZnRcIj5cblx0XHRcdFx0PCEtLSBmaXJzdCB6b25lIC0tPlxuXHRcdFx0XHQ8ZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwiaGFzTW9kZWwoKVwiPlxuXHRcdFx0XHRcdFx0PGgzPnt7Z2V0TW9kZWwoKS50aXRsZX19PC9oMz5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIiAqbmdJZj1cImhhc01vZGVsKClcIj5cblx0XHRcdFx0XHRcdHt7Z2V0TW9kZWwoKS5kZXNjcmlwdGlvbn19XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8IS0tIHNlY29uZCB6b25lIC0tPlxuXHRcdFx0XHQ8ZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJcIiBbY2xhc3MuYWN0aXZlXT1cIl9pc0FjdGl2ZVRhYigwKVwiIChjbGljayk9XCJfc2V0QWN0aXZlVGFiSW5kZXgoMClcIj5Ub2RheTwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJcIiBbY2xhc3MuYWN0aXZlXT1cIl9pc0FjdGl2ZVRhYigxKVwiIChjbGljayk9XCJfc2V0QWN0aXZlVGFiSW5kZXgoMSlcIj4zIGRheXMgYWdvPC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYlwiIFtjbGFzcy5hY3RpdmVdPVwiX2lzQWN0aXZlVGFiKDIpXCIgKGNsaWNrKT1cIl9zZXRBY3RpdmVUYWJJbmRleCgyKVwiPmEgbW9udGggYWdvPC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYlwiIFtjbGFzcy5hY3RpdmVdPVwiX2lzQWN0aXZlVGFiKDMpXCIgKGNsaWNrKT1cIl9zZXRBY3RpdmVUYWJJbmRleCgzKVwiPjMgbW9udGhzIGFnbzwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cInJpZ2h0XCI+XG5cdFx0XHRcdDwhLS0gZmlyc3Qgem9uZSAtLT5cblx0XHRcdFx0PGRpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwic29ydGluZ1wiPlxuXHRcdFx0XHRcdFx0PHBoeC1jb21wb25lbnQtZHJvcGRvd24gI29yZGVyaW5nRHJvcGRvd24gW3R5cGVdPVwiX2dldERyb3Bkb3duQ29tcG9UeXBlKClcIiBbaXRlbXNdPVwiX2l0ZW1zXCJcblx0XHRcdFx0XHRcdFtkZWZhdWx0SWR4XT1cIl9nZXRDdXJyZW50RHJvcGRvd25JZHgoKVwiIChwaHhDaGFuZ2UpPVwib25Ecm9wZG93bkNoYW5nZSgkZXZlbnQpXCI+PC9waHgtY29tcG9uZW50LWRyb3Bkb3duPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJzb3J0aW5nLWxhYmVsXCI+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFibGUtd3JhcHBlciBmbHVpZFwiPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFibGUtY2VsbC13cmFwcGVyIG1pZGRsZVwiPlxuXHRcdFx0XHRcdFx0XHRcdFNvcnRpbmcgOlxuXHRcdFx0XHRcd