io.parrots
Version:
Parrots.io App
753 lines (752 loc) • 79.6 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';
var /** @type {?} */ TYPE_NAME = "parrots-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.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);
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(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._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.onPromoteClicked = /**
* @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.onPromoteClicked(null, _this.selectedVersionData); };
var /** @type {?} */ confirmHandler = function () {
_this.result = _this.selectedVersionData;
_this.editor.promoteData(_this.selectedVersionData).then(function (result) {
_this.editor.hideDialog();
}, function (error) {
// service reject
// service reject
_this.editor.hideDialog();
}).catch(function (error) {
// there is error somewhere.
// 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 {?}
*/
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.getBeforeResultChangeEvent = /**
* @return {?}
*/
function () {
return this.beforeResultChangeEvent;
};
/**
* @param {?} event
* @return {?}
*/
VersionHistory.prototype.setBeforeResultChangeEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.beforeResultChangeEvent = event;
};
/**
* @return {?}
*/
VersionHistory.prototype.getResultChangeEvent = /**
* @return {?}
*/
function () {
return this.resultChangeEvent;
};
/**
* @param {?} event
* @return {?}
*/
VersionHistory.prototype.setResultChangeEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.resultChangeEvent = event;
};
/**
* @return {?}
*/
VersionHistory.prototype.getBeforeErrorChangeEvent = /**
* @return {?}
*/
function () {
return this.beforeErrorChangeEvent;
};
/**
* @param {?} event
* @return {?}
*/
VersionHistory.prototype.setBeforeErrorChangeEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.beforeErrorChangeEvent = event;
};
/**
* @return {?}
*/
VersionHistory.prototype.getErrorChangeEvent = /**
* @return {?}
*/
function () {
return this.errorChangeEvent;
};
/**
* @param {?} event
* @return {?}
*/
VersionHistory.prototype.setErrorChangeEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.errorChangeEvent = event;
};
/**
* @return {?}
*/
VersionHistory.prototype.getBeforeButtonsChangeEvent = /**
* @return {?}
*/
function () {
return this.beforeButtonsChangeEvent;
};
/**
* @param {?} event
* @return {?}
*/
VersionHistory.prototype.setBeforeButtonsChangeEvent = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.beforeButtonsChangeEvent = event;
};
/**
* @return {?}
*/
VersionHistory.prototype.getButtonsChangeEvent = /**
* @return {?}
*/
function () {
return this.buttonsChangeEvent;
};
/**
* @param {?} event
* @return {?}
*/
VersionHistory.prototype.setButtonsChangeEvent = /**
* @param {?} event
* @return {?}
*/
function (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\">\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-simple-dropdown #orderingDropdown [items]=\"_items\" [data]=\"_getCurrentDropdownIdx()\" (phxChange)=\"onDropdownChange($event)\"></phx-simple-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 class=\"date\"><material-date-picker #fromTimeField [width]=\"'75pt'\" [buttonPosition]=\"'suffix'\" [dataParent]=\"this\"></material-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\"><material-date-picker #toTimeField [width]=\"'75pt'\" [buttonPosition]=\"'suffix'\" [dataParent]=\"this\"></material-date-picker></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)=\"onPromoteClicked($event, item)\">Promote</a>\n\t\t\t\t \t\t<div *ngIf=\"_isSelectedVersion(item)\" (click)=\"onPromoteClicked($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: ['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);
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.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVyc2lvbkhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vaW8ucGFycm90cy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvZWRpdG9yL1ZlcnNpb25IaXN0b3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWdCLFNBQVMsRUFBUSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFLakQscUJBQU0sU0FBUyxHQUFXLHlCQUF5QixDQUFDOztJQTJIaEIsMENBQXdCO0lBb0YxRCx3QkFBWSxlQUFvQyxFQUFFLFVBQXNCO1FBQXhFLFlBQ0Usa0JBQU0sVUFBVSxDQUFDLFNBNEJsQjtRQTNCQyxLQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUN0QixLQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixLQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLEtBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFaEMsRUFBRSxDQUFDLENBQUMsZUFBZSxJQUFJLElBQUksQ0FB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