ngx-tencent-im
Version:
Instant messaging for Angular.
44 lines • 9.84 kB
JavaScript
import { ChangeDetectionStrategy, Input } from '@angular/core';
import { Component, EventEmitter, Output } from '@angular/core';
import { getMessage } from '../store/selectors';
import * as i0 from "@angular/core";
import * as i1 from "@ngrx/store";
import * as i2 from "../side-bar/side-bar.component";
import * as i3 from "../title/title.component";
import * as i4 from "../conversation/current-conversation/current-conversation.component";
import * as i5 from "../conversation/conversation-profile/conversation-profile.component";
import * as i6 from "@angular/cdk/drag-drop";
import * as i7 from "@angular/common";
export class TencentTimComponent {
constructor(store) {
this.store = store;
this.hiddenWindow = false;
this.message = new EventEmitter();
this.hiddenWindowChange = new EventEmitter();
this.showDetail = false;
}
ngOnInit() {
this.subscription = this.store.select(getMessage)
.subscribe((res) => {
this.message.emit(res);
});
}
ngOnDestroy() {
if (this.subscription) {
this.subscription.unsubscribe();
}
}
}
TencentTimComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TencentTimComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
TencentTimComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: TencentTimComponent, selector: "ngx-tencent-tim", inputs: { hiddenWindow: "hiddenWindow" }, outputs: { message: "message", hiddenWindowChange: "hiddenWindowChange" }, ngImport: i0, template: "<div class=\"chat-wrapper\" cdkDrag (click)=\"showDetail=false\" [hidden]=\"hiddenWindow\">\r\n <div class=\"chat-side\" cdkDragHandle>\r\n <app-side-bar></app-side-bar>\r\n </div>\r\n\r\n <div class=\"chat-content\">\r\n <div cdkDragHandle class=\"chat-title\">\r\n <lib-title (detailBtnClick)=\"showDetail=!showDetail\"\r\n (minimizeClick)=\"hiddenWindow=true;hiddenWindowChange.emit(true)\">\r\n </lib-title>\r\n </div>\r\n <div class=\"chat-window\">\r\n <app-current-conversation></app-current-conversation>\r\n </div>\r\n </div>\r\n\r\n <div class=\"chat-profile\" *ngIf=\"showDetail\" (click)=\"$event.stopPropagation()\">\r\n <app-conversation-profile></app-conversation-profile>\r\n </div>\r\n</div>\r\n", styles: [".chat-wrapper{height:80vh;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end}.chat-side{box-shadow:0 11px 20px #0000004d}.chat-content{display:flex;flex-direction:column;box-shadow:0 11px 20px #0000004d}.chat-content .chat-window{width:50rem;height:75vh;overflow:hidden;border-top:1px solid #e7e7e7}.chat-profile{height:80vh;width:14vw;overflow-y:scroll;border:1px solid #e7e7e7;flex-shrink:0;box-shadow:0 11px 20px #0000004d}\n"], components: [{ type: i2.SideBarComponent, selector: "app-side-bar" }, { type: i3.TitleComponent, selector: "lib-title", outputs: ["detailBtnClick", "minimizeClick"] }, { type: i4.CurrentConversationComponent, selector: "app-current-conversation" }, { type: i5.ConversationProfileComponent, selector: "app-conversation-profile" }], directives: [{ type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: TencentTimComponent, decorators: [{
type: Component,
args: [{ selector: 'ngx-tencent-tim', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"chat-wrapper\" cdkDrag (click)=\"showDetail=false\" [hidden]=\"hiddenWindow\">\r\n <div class=\"chat-side\" cdkDragHandle>\r\n <app-side-bar></app-side-bar>\r\n </div>\r\n\r\n <div class=\"chat-content\">\r\n <div cdkDragHandle class=\"chat-title\">\r\n <lib-title (detailBtnClick)=\"showDetail=!showDetail\"\r\n (minimizeClick)=\"hiddenWindow=true;hiddenWindowChange.emit(true)\">\r\n </lib-title>\r\n </div>\r\n <div class=\"chat-window\">\r\n <app-current-conversation></app-current-conversation>\r\n </div>\r\n </div>\r\n\r\n <div class=\"chat-profile\" *ngIf=\"showDetail\" (click)=\"$event.stopPropagation()\">\r\n <app-conversation-profile></app-conversation-profile>\r\n </div>\r\n</div>\r\n", styles: [".chat-wrapper{height:80vh;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end}.chat-side{box-shadow:0 11px 20px #0000004d}.chat-content{display:flex;flex-direction:column;box-shadow:0 11px 20px #0000004d}.chat-content .chat-window{width:50rem;height:75vh;overflow:hidden;border-top:1px solid #e7e7e7}.chat-profile{height:80vh;width:14vw;overflow-y:scroll;border:1px solid #e7e7e7;flex-shrink:0;box-shadow:0 11px 20px #0000004d}\n"] }]
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { hiddenWindow: [{
type: Input
}], message: [{
type: Output
}], hiddenWindowChange: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuY2VudC10aW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlbmNlbnQtaW0vc3JjL3RlbmNlbnQtdGltL3RlbmNlbnQtdGltLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZW5jZW50LWltL3NyYy90ZW5jZW50LXRpbS90ZW5jZW50LXRpbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7QUFRaEQsTUFBTSxPQUFPLG1CQUFtQjtJQVU5QixZQUNVLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBVGIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFcEIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUzRCxlQUFVLEdBQUcsS0FBSyxDQUFDO0lBS2YsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQzthQUM5QyxTQUFTLENBQUMsQ0FBQyxHQUF1QyxFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzs7Z0hBekJVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDRLQ2JoQyx3dkJBb0JBOzJGRFBhLG1CQUFtQjtrQkFOL0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs0RkFJdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBnZXRNZXNzYWdlIH0gZnJvbSAnLi4vc3RvcmUvc2VsZWN0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmd4LXRlbmNlbnQtdGltJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGVuY2VudC10aW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RlbmNlbnQtdGltLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbmNlbnRUaW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIGhpZGRlbldpbmRvdyA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgbWVzc2FnZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBoaWRkZW5XaW5kb3dDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHNob3dEZXRhaWwgPSBmYWxzZTtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnN0b3JlLnNlbGVjdChnZXRNZXNzYWdlKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXM6IHsgdHlwZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmc7IH0pID0+IHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2UuZW1pdChyZXMpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjaGF0LXdyYXBwZXJcIiBjZGtEcmFnIChjbGljayk9XCJzaG93RGV0YWlsPWZhbHNlXCIgW2hpZGRlbl09XCJoaWRkZW5XaW5kb3dcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2hhdC1zaWRlXCIgY2RrRHJhZ0hhbmRsZT5cclxuICAgIDxhcHAtc2lkZS1iYXI+PC9hcHAtc2lkZS1iYXI+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjaGF0LWNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2RrRHJhZ0hhbmRsZSBjbGFzcz1cImNoYXQtdGl0bGVcIj5cclxuICAgICAgPGxpYi10aXRsZSAoZGV0YWlsQnRuQ2xpY2spPVwic2hvd0RldGFpbD0hc2hvd0RldGFpbFwiXHJcbiAgICAgICAgKG1pbmltaXplQ2xpY2spPVwiaGlkZGVuV2luZG93PXRydWU7aGlkZGVuV2luZG93Q2hhbmdlLmVtaXQodHJ1ZSlcIj5cclxuICAgICAgPC9saWItdGl0bGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGF0LXdpbmRvd1wiPlxyXG4gICAgICA8YXBwLWN1cnJlbnQtY29udmVyc2F0aW9uPjwvYXBwLWN1cnJlbnQtY29udmVyc2F0aW9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjaGF0LXByb2ZpbGVcIiAqbmdJZj1cInNob3dEZXRhaWxcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICA8YXBwLWNvbnZlcnNhdGlvbi1wcm9maWxlPjwvYXBwLWNvbnZlcnNhdGlvbi1wcm9maWxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19