Sanakey
2021-07-09 3fc241d02fb8b671289de3d9d80bf848349c04d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var dayjs = require("dayjs");
Component({
    options: {
        addGlobalClass: true,
        multipleSlots: true
    },
    properties: {
        startTime: {
            type: String,
            value: ''
        },
        endTime: {
            type: String,
            value: ''
        },
    },
    data: {
        minStartDate: new Date().getTime(),
        maxStartDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180,
        startDate: new Date().getTime(),
        startTime: '',
        minEndDate: new Date().getTime() + 1000 * 60,
        maxEndDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 365 * 100,
        endDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 7,
        endTime: '',
        formatter: function (type, value) {
            if (type === "year") {
                return value + "\u5E74";
            }
            else if (type === "month") {
                return value + "\u6708";
            }
            else if (type === "day") {
                return value + "\u65E5";
            }
            return value;
        },
    },
    lifetimes: {
        ready: function () {
            this.setData({
                startTime: this.data.startTime || wx.$utils.formatTime(new Date().getTime()),
                endTime: this.data.endTime || wx.$utils.formatTime(new Date().getTime() + 1000 * 60 * 60 * 24 * 7),
                minStartDate: new Date().getTime(),
                maxStartDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180,
            });
        }
    },
    methods: {
        showStartDatePopup: function () {
            this.setData({
                isShowStartDatePopup: true
            });
        },
        onStartDatePopupClose: function () {
            this.setData({
                isShowStartDatePopup: false
            });
        },
        onEnterStartDate: function (event) {
            var detail = event.detail;
            var dateTime = this.formatTime(event.detail);
            console.log(dateTime);
            console.log("选择开播时间", dateTime, detail);
            this.setData({
                startDate: detail,
                startTime: dateTime,
                minEndDate: detail + 1000 * 60,
            });
            this.handleTimeQuantum();
            this.onStartDatePopupClose();
            this.checkTime("startTime");
        },
        onInputStartDate: function () { },
        onCancelStartDate: function () {
            this.onStartDatePopupClose();
            this.checkTime("startTime");
        },
        onCancelEndDate: function () {
            this.onEndDatePopupClose();
            this.checkTime("endTime");
        },
        onInputEndDate: function () { },
        showEndDatePopup: function () {
            this.setData({
                isShowEndDatePopup: true
            });
        },
        onEndDatePopupClose: function () {
            this.setData({
                isShowEndDatePopup: false
            });
        },
        onEnterEndDate: function (event) {
            var date = this.formatTime(event.detail);
            console.log(date);
            this.setData({
                endTime: date,
                endDate: event.detail,
            });
            this.handleTimeQuantum();
            this.onEndDatePopupClose();
            this.checkTime("endTime");
        },
        handleTimeQuantum: function () {
            var startTime = this.data.startTime;
            var endDate = this.data.endDate;
            var endTime = this.data.endTime;
            if (endTime && !endDate) {
                this.setData({
                    endDate: this.formatTimeSecond(this.data.endTime)
                });
                endDate = this.data.endDate;
                console.log('转换了endDate', this.data.endDate, endDate);
            }
            if (!startTime && endTime) {
                this.triggerEvent('selectedStartTime', {
                    endTime: endTime
                });
                return;
            }
            if (!endTime && startTime) {
                this.triggerEvent('selectedStartTime', {
                    startTime: startTime
                });
                return;
            }
            if (!startTime && !endTime)
                return;
            this.triggerEvent('selectedStartTime', {
                startTime: startTime
            });
            this.triggerEvent('selectedEndTime', {
                endTime: endTime
            });
        },
        getSelectedTime: function () {
            var data = this.data;
            return {
                startTime: data.startTime,
                endTime: data.endTime,
            };
        },
        checkTime: function (time) {
            var _a, _b, _c;
            var startDate = this.data.startDate;
            var endDate = this.data.endDate;
            console.log(this.data);
            if (startDate && endDate && (startDate - endDate > 0)) {
                this.setData((_a = {},
                    _a["startTimeError"] = "开始时间需小于结束时间",
                    _a));
                return false;
            }
            else {
                this.setData((_b = {},
                    _b["startTimeError"] = "",
                    _b));
            }
            this.setData((_c = {},
                _c[time + "Error"] = "",
                _c));
            return true;
        },
        formatTime: function (time) {
            return dayjs(time).format('YYYY-MM-DD HH:mm');
        },
        formatTimeSecond: function (time) {
            return new Date(time).getTime();
        }
    }
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLDZCQUErQjtBQUUvQixTQUFTLENBQUM7SUFJUixPQUFPLEVBQUU7UUFDUCxjQUFjLEVBQUUsSUFBSTtRQUNwQixhQUFhLEVBQUUsSUFBSTtLQUNwQjtJQUNELFVBQVUsRUFBRTtRQUNWLFNBQVMsRUFBQztZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFFLEVBQUU7U0FDVjtRQUNELE9BQU8sRUFBQztZQUNOLElBQUksRUFBRSxNQUFNO1lBQ1osS0FBSyxFQUFDLEVBQUU7U0FDVDtLQWlCRjtJQUtELElBQUksRUFBRTtRQUNKLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtRQUNsQyxZQUFZLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRztRQUM5RCxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUU7UUFDL0IsU0FBUyxFQUFFLEVBQUU7UUFDYixVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLEdBQUcsRUFBRTtRQUM1QyxVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUc7UUFDbEUsT0FBTyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDdkQsT0FBTyxFQUFFLEVBQUU7UUFDWCxTQUFTLFlBQUMsSUFBVyxFQUFFLEtBQVk7WUFFakMsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO2dC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b0JBQ3BCLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQztRQUVkLENBQUM7UUFDRCxVQUFVLFlBQUMsSUFBUztZQUlsQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsZ0JBQWdCLFlBQUMsSUFBWTtZQUkzQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLENBQUM7S0FDRjtDQUNGLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4vLyBjb25zdCBhcHAgPSBnZXRBcHA8SUFwcE9wdGlvbj4oKTtcclxuaW1wb3J0ICogYXMgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbnR5cGUgdGltZVR5cGUgPSAnc3RhcnRUaW1lJ3wnZW5kVGltZSc7XHJcbkNvbXBvbmVudCh7XHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5bGe5oCn5YiX6KGoXHJcbiAgICovXHJcbiAgb3B0aW9uczoge1xyXG4gICAgYWRkR2xvYmFsQ2xhc3M6IHRydWUsXHJcbiAgICBtdWx0aXBsZVNsb3RzOiB0cnVlIC8vIOWcqOe7hOS7tuWumuS5ieaXtueahOmAiemhueS4reWQr+eUqOWkmnNsb3TmlK/mjIFcclxuICB9LFxyXG4gIHByb3BlcnRpZXM6IHtcclxuICAgIHN0YXJ0VGltZTp7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgdmFsdWU6ICcnXHJcbiAgICB9LFxyXG4gICAgZW5kVGltZTp7XHJcbiAgICAgIHR5cGU6IFN0cmluZyxcclxuICAgICAgdmFsdWU6JydcclxuICAgIH0sXHJcbiAgICAvLyBtaW5TdGFydERhdGU6e1xyXG4gICAgLy8gICB0eXBlOiBOdW1iZXJ8fFN0cmluZyxcclxuICAgIC8vICAgdmFsdWU6bmV3IERhdGUoKS5nZXRUaW1lKClcclxuICAgIC8vIH0sXHJcbiAgICAvLyBtaW5TdGFydERhdGU6e1xyXG4gICAgLy8gICB0eXBlOiBOdW1iZXJ8fFN0cmluZyxcclxuICAgIC8vICAgdmFsdWU6bmV3IERhdGUoKS5nZXRUaW1lKClcclxuICAgIC8vIH0sXHJcbiAgICAvLyBtaW5TdGFydERhdGU6e1xyXG4gICAgLy8gICB0eXBlOiBOdW1iZXJ8fFN0cmluZyxcclxuICAgIC8vICAgdmFsdWU6bmV3IERhdGUoKS5nZXRUaW1lKClcclxuICAgIC8vIH0sXHJcbiAgICAvLyBtaW5TdGFydERhdGU6e1xyXG4gICAgLy8gICB0eXBlOiBOdW1iZXJ8fFN0cmluZyxcclxuICAgIC8vICAgdmFsdWU6bmV3IERhdGUoKS5nZXRUaW1lKClcclxuICAgIC8vIH0sXHJcbiAgfSxcclxuXHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5Yid5aeL5pWw5o2uXHJcbiAgICovXHJcbiAgZGF0YToge1xyXG4gICAgbWluU3RhcnREYXRlOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcclxuICAgIG1heFN0YXJ0RGF0ZTogbmV3IERhdGUoKS5nZXRUaW1lKCkgKyAxMDAwICogNjAgKiA2MCAqIDI0ICogMTgwLFxyXG4gICAgc3RhcnREYXRlOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSwgLy9uZXcgRGF0ZSgpLmdldFRpbWUoKSxcclxuICAgIHN0YXJ0VGltZTogJycsXHJcbiAgICBtaW5FbmREYXRlOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIDEwMDAgKiA2MCxcclxuICAgIG1heEVuZERhdGU6IG5ldyBEYXRlKCkuZ2V0VGltZSgpICsgMTAwMCAqIDYwICogNjAgKiAyNCAqIDM2NSAqIDEwMCxcclxuICAgIGVuZERhdGU6IG5ldyBEYXRlKCkuZ2V0VGltZSgpICsgMTAwMCAqIDYwICogNjAgKiAyNCAqIDcsIC8vbmV3IERhdGUoKS5nZXRUaW1lKCksXHJcbiAgICBlbmRUaW1lOiAnJyxcclxuICAgIGZvcm1hdHRlcih0eXBlOnN0cmluZywgdmFsdWU6c3RyaW5nKSB7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHR5cGUsdmFsdWUpXHJcbiAgICAgIGlmICh0eXBlID09PSBcInllYXJcIikge1xyXG4gICAgICAgIHJldHVybiBgJHt2YWx1ZX3lubRgO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwibW9udGhcIikge1xyXG4gICAgICAgIHJldHVybiBgJHt2YWx1ZX3mnIhgO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwiZGF5XCIpIHtcclxuICAgICAgICByZXR1cm4gYCR7dmFsdWV95pelYDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9LFxyXG4gIH0sXHJcblxyXG4gIGxpZmV0aW1lczoge1xyXG4gICAgcmVhZHkoKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgc3RhcnRUaW1lOiB0aGlzLmRhdGEuc3RhcnRUaW1lIHx8IHd4LiR1dGlscy5mb3JtYXRUaW1lKG5ldyBEYXRlKCkuZ2V0VGltZSgpKSxcclxuICAgICAgICBlbmRUaW1lOiB0aGlzLmRhdGEuZW5kVGltZSB8fCB3eC4kdXRpbHMuZm9ybWF0VGltZShuZXcgRGF0ZSgpLmdldFRpbWUoKSArIDEwMDAgKiA2MCAqIDYwICogMjQgKiA3KSxcclxuICAgICAgICBtaW5TdGFydERhdGU6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLFxyXG4gICAgICAgIG1heFN0YXJ0RGF0ZTogbmV3IERhdGUoKS5nZXRUaW1lKCkgKyAxMDAwICogNjAgKiA2MCAqIDI0ICogMTgwLFxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH0sXHJcbiAgLyoqXHJcbiAgICog57uE5Lu255qE5pa55rOV5YiX6KGoXHJcbiAgICovXHJcbiAgbWV0aG9kczoge1xyXG4gICAgc2hvd1N0YXJ0RGF0ZVBvcHVwKCl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgaXNTaG93U3RhcnREYXRlUG9wdXA6IHRydWVcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBvblN0YXJ0RGF0ZVBvcHVwQ2xvc2UoKXtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBpc1Nob3dTdGFydERhdGVQb3B1cDogZmFsc2VcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBvbkVudGVyU3RhcnREYXRlKGV2ZW50OiB7IGRldGFpbDogYW55OyB9KSB7XHJcbiAgICAgIGxldCBkZXRhaWwgPSBldmVudC5kZXRhaWw7XHJcbiAgICAgIGNvbnN0IGRhdGVUaW1lOmFueSA9IHRoaXMuZm9ybWF0VGltZShldmVudC5kZXRhaWwpO1xyXG4gICAgICBjb25zb2xlLmxvZyhkYXRlVGltZSk7XHJcbiAgICAgIC8vIC8vIOW3sumAieaLqei/h+e7k+adn+aXpeacn++8jOS4lFxyXG4gICAgICAvLyBpZiAoXHJcbiAgICAgIC8vICAgdGhpcy5kYXRhLmVuZERhdGUgJiZcclxuICAgICAgLy8gICBNYXRoLmFicyhkZXRhaWwgLSB0aGlzLmRhdGEuZW5kRGF0ZSkgPiAxMDAwICogNjAgKiA2MCAqIDI0XHJcbiAgICAgIC8vICkge1xyXG4gICAgICAvLyAgIGxldCBkYXRlID0gZGV0YWlsICsgMTAwMCAqIDYwICogNjAgKiAyNDtcclxuICAgICAgLy8gICBsZXQgdGltZSA9IHRoaXMuZm9ybWF0VGltZShkYXRlKTtcclxuICAgICAgLy8gICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAvLyAgICAgZW5kRGF0ZTogZGF0ZSxcclxuICAgICAgLy8gICAgIGVuZFRpbWU6IHRpbWUsXHJcbiAgICAgIC8vICAgfSk7XHJcbiAgICAgIC8vIH1cclxuICAgICAgLy8gaWYgKFxyXG4gICAgICAvLyAgIHRoaXMuZGF0YS5lbmREYXRlICYmXHJcbiAgICAgIC8vICAgTWF0aC5hYnMoZGV0YWlsIC0gdGhpcy5kYXRhLmVuZERhdGUpIDwgMTAwMCAqIDYwXHJcbiAgICAgIC8vICkge1xyXG4gICAgICAvLyAgIGxldCBkYXRlID0gZGV0YWlsICsgMTAwMCAqIDYwIDtcclxuICAgICAgLy8gICBsZXQgdGltZSA9IHRoaXMuZm9ybWF0VGltZShkYXRlKTtcclxuICAgICAgLy8gICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAvLyAgICAgZW5kRGF0ZTogZGF0ZSxcclxuICAgICAgLy8gICAgIGVuZFRpbWU6IHRpbWUsXHJcbiAgICAgIC8vICAgfSk7XHJcbiAgICAgIC8vIH1cclxuICAgICAgLy8gaWYgKHRoaXMuZGF0YS5lbmREYXRlICYmIGUuZGV0YWlsID4gdGhpcy5kYXRhLmVuZERhdGUpIHtcclxuICAgICAgLy8gfVxyXG4gICAgICBjb25zb2xlLmxvZyhcIumAieaLqeW8gOaSreaXtumXtFwiLCBkYXRlVGltZSxkZXRhaWwpO1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIHN0YXJ0RGF0ZTogZGV0YWlsLFxyXG4gICAgICAgIHN0YXJ0VGltZTogZGF0ZVRpbWUsXHJcbiAgICAgICAgbWluRW5kRGF0ZTogZGV0YWlsICsgMTAwMCAqIDYwLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5oYW5kbGVUaW1lUXVhbnR1bSgpO1xyXG4gICAgICB0aGlzLm9uU3RhcnREYXRlUG9wdXBDbG9zZSgpO1xyXG4gICAgICB0aGlzLmNoZWNrVGltZShcInN0YXJ0VGltZVwiKTtcclxuICAgIH0sXHJcbiAgICBvbklucHV0U3RhcnREYXRlKCkge30sXHJcbiAgICBvbkNhbmNlbFN0YXJ0RGF0ZSgpIHtcclxuICAgICAgdGhpcy5vblN0YXJ0RGF0ZVBvcHVwQ2xvc2UoKTtcclxuICAgICAgdGhpcy5jaGVja1RpbWUoXCJzdGFydFRpbWVcIik7XHJcbiAgICB9LFxyXG4gICAgb25DYW5jZWxFbmREYXRlKCkge1xyXG4gICAgICB0aGlzLm9uRW5kRGF0ZVBvcHVwQ2xvc2UoKTtcclxuICAgICAgdGhpcy5jaGVja1RpbWUoXCJlbmRUaW1lXCIpO1xyXG4gICAgfSxcclxuICAgIG9uSW5wdXRFbmREYXRlKCkge30sXHJcbiAgICBzaG93RW5kRGF0ZVBvcHVwKCl7XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgaXNTaG93RW5kRGF0ZVBvcHVwOiB0cnVlXHJcbiAgICAgIH0pXHJcbiAgICB9LFxyXG4gICAgb25FbmREYXRlUG9wdXBDbG9zZSgpe1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGlzU2hvd0VuZERhdGVQb3B1cDogZmFsc2VcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBvbkVudGVyRW5kRGF0ZShldmVudDogeyBkZXRhaWw6IGFueTsgfSkge1xyXG4gICAgICBjb25zdCBkYXRlOmFueSA9IHRoaXMuZm9ybWF0VGltZShldmVudC5kZXRhaWwpO1xyXG4gICAgICBjb25zb2xlLmxvZyhkYXRlKTtcclxuICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICBlbmRUaW1lOiBkYXRlLFxyXG4gICAgICAgIGVuZERhdGU6IGV2ZW50LmRldGFpbCxcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIHRoaXMudHJpZ2dlckV2ZW50KCdzZWxlY3RlZEVuZFRpbWUnLHtcclxuICAgICAgLy8gICBlbmRUaW1lOiBkYXRlXHJcbiAgICAgIC8vIH0pO1xyXG4gICAgICB0aGlzLmhhbmRsZVRpbWVRdWFudHVtKCk7XHJcbiAgICAgIHRoaXMub25FbmREYXRlUG9wdXBDbG9zZSgpO1xyXG4gICAgICB0aGlzLmNoZWNrVGltZShcImVuZFRpbWVcIik7XHJcbiAgICB9LFxyXG5cclxuICAgIGhhbmRsZVRpbWVRdWFudHVtKCl7XHJcblxyXG4gICAgICAvLyBsZXQgc3RhcnREYXRlID0gdGhpcy5kYXRhLnN0YXJ0RGF0ZTtcclxuICAgICAgbGV0IHN0YXJ0VGltZSA9IHRoaXMuZGF0YS5zdGFydFRpbWU7XHJcbiAgICAgIGxldCBlbmREYXRlID0gdGhpcy5kYXRhLmVuZERhdGU7XHJcbiAgICAgIGxldCBlbmRUaW1lID0gdGhpcy5kYXRhLmVuZFRpbWU7XHJcbiAgICAgIGlmIChlbmRUaW1lJiYhZW5kRGF0ZSkge1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICBlbmREYXRlOnRoaXMuZm9ybWF0VGltZVNlY29uZCh0aGlzLmRhdGEuZW5kVGltZSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIGVuZERhdGUgPSB0aGlzLmRhdGEuZW5kRGF0ZTtcclxuICAgICAgICBjb25zb2xlLmxvZygn6L2s5o2i5LqGZW5kRGF0ZScsdGhpcy5kYXRhLmVuZERhdGUsZW5kRGF0ZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFzdGFydFRpbWUmJmVuZFRpbWUpIHtcclxuICAgICAgICB0aGlzLnRyaWdnZXJFdmVudCgnc2VsZWN0ZWRTdGFydFRpbWUnLHtcclxuICAgICAgICAgIGVuZFRpbWVcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFlbmRUaW1lJiZzdGFydFRpbWUpIHtcclxuICAgICAgICB0aGlzLnRyaWdnZXJFdmVudCgnc2VsZWN0ZWRTdGFydFRpbWUnLHtcclxuICAgICAgICAgIHN0YXJ0VGltZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXN0YXJ0VGltZSYmIWVuZFRpbWUpIHJldHVybjtcclxuICAgICAgLy8gaWYgKHN0YXJ0RGF0ZSAtIGVuZERhdGUgPiAwKSB7XHJcbiAgICAgIC8vICAgY29uc29sZS5sb2coJ+WkhOeQhnRpbWUnLHN0YXJ0RGF0ZSxlbmREYXRlKTtcclxuICAgICAgLy8gICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAvLyAgICAgLy8gc3RhcnREYXRlOiBlbmREYXRlLFxyXG4gICAgICAvLyAgICAgLy8gc3RhcnRUaW1lOiBlbmRUaW1lLFxyXG4gICAgICAvLyAgICAgLy8gZW5kRGF0ZTogc3RhcnREYXRlLFxyXG4gICAgICAvLyAgICAgLy8gZW5kVGltZTogc3RhcnRUaW1lLFxyXG4gICAgICAvLyAgICAgbWluRW5kRGF0ZTogZW5kRGF0ZSArIDEwMDAgKiA2MCxcclxuICAgICAgLy8gICB9KTtcclxuICAgICAgLy8gICAvLyB0aGlzLnRyaWdnZXJFdmVudCgnc2VsZWN0ZWRTdGFydFRpbWUnLHtcclxuICAgICAgLy8gICAvLyAgIHN0YXJ0VGltZTogZW5kVGltZVxyXG4gICAgICAvLyAgIC8vIH0pO1xyXG4gICAgICAvLyAgIC8vIHRoaXMudHJpZ2dlckV2ZW50KCdzZWxlY3RlZEVuZFRpbWUnLHtcclxuICAgICAgLy8gICAvLyAgIGVuZFRpbWU6IHN0YXJ0VGltZVxyXG4gICAgICAvLyAgIC8vIH0pO1xyXG4gICAgICAvLyAgIC8vIHJldHVybjtcclxuICAgICAgLy8gfVxyXG4gICAgICB0aGlzLnRyaWdnZXJFdmVudCgnc2VsZWN0ZWRTdGFydFRpbWUnLHtcclxuICAgICAgICBzdGFydFRpbWVcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudHJpZ2dlckV2ZW50KCdzZWxlY3RlZEVuZFRpbWUnLHtcclxuICAgICAgICBlbmRUaW1lXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIGdldFNlbGVjdGVkVGltZSgpe1xyXG4gICAgICBsZXQgZGF0YTphbnkgPSB0aGlzLmRhdGE7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgc3RhcnRUaW1lOiBkYXRhLnN0YXJ0VGltZSxcclxuICAgICAgICBlbmRUaW1lOiBkYXRhLmVuZFRpbWUsXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjaGVja1RpbWUodGltZTp0aW1lVHlwZSkge1xyXG4gICAgICAvLyBpZiAodGhpcy5kYXRhW3RpbWVdID09ICcnKSB7XHJcbiAgICAgIC8vICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgLy8gICAgIFt0aW1lICsgXCJFcnJvclwiXTogbXNnLFxyXG4gICAgICAvLyAgIH0pO1xyXG4gICAgICAvLyAgIGNvbnNvbGUubG9nKHRoaXMuZGF0YS5zdGFydFRpbWUpO1xyXG4gICAgICAvLyAgIHJldHVybiBmYWxzZTtcclxuICAgICAgLy8gfVxyXG4gICAgICBsZXQgc3RhcnREYXRlID0gdGhpcy5kYXRhLnN0YXJ0RGF0ZTtcclxuICAgICAgbGV0IGVuZERhdGUgPSB0aGlzLmRhdGEuZW5kRGF0ZTtcclxuICAgICAgY29uc29sZS5sb2codGhpcy5kYXRhKTtcclxuICAgICAgaWYgKHN0YXJ0RGF0ZSYmZW5kRGF0ZSYmKHN0YXJ0RGF0ZSAtIGVuZERhdGUgPiAwKSkge1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgICBbXCJzdGFydFRpbWVFcnJvclwiXTogXCLlvIDlp4vml7bpl7TpnIDlsI/kuo7nu5PmnZ/ml7bpl7RcIixcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgICAgIFtcInN0YXJ0VGltZUVycm9yXCJdOiBcIlwiLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgICAgW3RpbWUgKyBcIkVycm9yXCJdOiBcIlwiLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIC8vIHRoaXMuaGFuZGxlTGl2ZVRpbWUoKVxyXG4gICAgfSxcclxuICAgIGZvcm1hdFRpbWUodGltZTogYW55KSB7XHJcbiAgICAgIC8vIGNvbnN0IGRhdGU6YW55ID0gZGF5anModGltZSk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCk7XHJcbiAgICAgIC8vIHJldHVybiBgJHtkYXRlLiR5fS0ke2RhdGUuJE0gKyAxfS0ke2RhdGUuJER9ICR7ZGF0ZS4kSH06JHtkYXRlLiRtfWA7XHJcbiAgICAgIHJldHVybiBkYXlqcyh0aW1lKS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW0nKTtcclxuICAgIH0sXHJcbiAgICBmb3JtYXRUaW1lU2Vjb25kKHRpbWU6IHN0cmluZykge1xyXG4gICAgICAvLyBjb25zdCBkYXRlOmFueSA9IGRheWpzKHRpbWUpO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygpO1xyXG4gICAgICAvLyByZXR1cm4gYCR7ZGF0ZS4keX0tJHtkYXRlLiRNICsgMX0tJHtkYXRlLiREfSAke2RhdGUuJEh9OiR7ZGF0ZS4kbX1gO1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUodGltZSkuZ2V0VGltZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufSlcclxuIl19