@hsaadawy/ngx-chat
Version:
56 lines • 8.25 kB
JavaScript
import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';
import { CHAT_SERVICE_TOKEN } from '../../services/chat-service';
export class ForwardMessageComponent {
constructor(chatService) {
this.chatService = chatService;
this.closeClick = new EventEmitter();
this.fowardSent = new EventEmitter();
this.selectedContact = [];
this.messageSent = new EventEmitter();
}
set pseudoBool(val) {
this.ngOnInit();
}
ngOnInit() {
if (!this.contacts) {
this.contacts = this.chatService.contactsSubscribed$;
}
}
selectReceiver(contact, event) {
debugger;
if (event.target.checked) {
this.selectedContact.push(contact);
}
else {
this.selectedContact = this.selectedContact.filter(x => x.jidBare.local != contact.jidBare.local);
}
}
forwordMessage() {
debugger;
this.selectedContact.forEach((element, index) => {
this.chatService.sendMessage(element, this.message);
if (index === this.selectedContact.length - 1) {
this.closeClick.emit();
this.message = null;
this.fowardSent.emit();
}
});
}
}
ForwardMessageComponent.decorators = [
{ type: Component, args: [{
selector: 'ngx-forward-message',
template: "\r\n<div class=\"window\" *ngIf=\"message\" [id]=\"'forward-' + message\" style=\"overflow-y:scroll !important;\">\r\n\r\n <div class=\"window-header\">\r\n \r\n <div class=\"window-close\" (click)=\"fowardSent.emit()\">\r\n x\r\n </div>\r\n\r\n </div>\r\n <ng-container class=\"window-content\" >\r\n <div *ngIf=\"contacts\" >\r\n <div *ngFor=\"let contact of (contacts | async)\" class=\"row\">\r\n <input type=\"checkbox\" (change)=\"selectReceiver(contact,$event)\">\r\n <div class=\"roster-recipient-name\" style=\"display:inline\">\r\n {{contact.name}}\r\n </div>\r\n \r\n </div>\r\n \r\n </div>\r\n \r\n\r\n </ng-container>\r\n <div>\r\n <button type=\"button\" (click)=\"forwordMessage()\">Forword</button>\r\n </div>\r\n \r\n</div>\r\n\r\n\r\n",
styles: ["@keyframes ngx-chat-message-in{0%{transform:translate(50px);opacity:0}to{transform:none;opacity:1}}@keyframes ngx-chat-message-out{0%{transform:translate(-50px);opacity:0}to{transform:none;opacity:1}}.messageItem{background-color:red;width:100%;border-radius:2px}*{box-sizing:border-box;margin:0;padding:0;font-family:\"Helvetica\",\"Arial\",serif}.window{border:1px solid #e1e1e1;border-bottom:none;background:#f5f5f5;margin-left:1em;width:20em;bottom:0;pointer-events:auto;position:relative;height:20em}.window-header{display:flex;justify-content:space-between;border-bottom:1px solid #e1e1e1;cursor:pointer;height:2.5em;align-items:center;padding:.25em}.window-header:hover{background-color:#efefef}.window-close{padding:.5em;text-align:right;color:#777}.window-close:hover{color:#000}\n"]
},] }
];
ForwardMessageComponent.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [CHAT_SERVICE_TOKEN,] }] }
];
ForwardMessageComponent.propDecorators = {
closeClick: [{ type: Output }],
fowardSent: [{ type: Output }],
pseudoBool: [{ type: Input }],
message: [{ type: Input }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZC1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BhenpuZXR3b3JrL25neC1jaGF0L3NyYy9saWIvY29tcG9uZW50cy9mb3J3YXJkLW1lc3NhZ2UvZm9yd2FyZC1tZXNzYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl2RixPQUFPLEVBQWUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU05RSxNQUFNLE9BQU8sdUJBQXVCO0lBZWxDLFlBQStDLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBYnJFLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWhDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBUTlDLG9CQUFlLEdBQVksRUFBRSxDQUFDO1FBRXZCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUk3QyxDQUFDO0lBWEYsSUFDSSxVQUFVLENBQUMsR0FBWTtRQUN6QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQVVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7U0FDMUQ7SUFDRCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWUsRUFBRSxLQUFLO1FBRW5DLFFBQVEsQ0FBQztRQUNULElBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQ3ZCO1lBQ0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDcEM7YUFDRDtZQUNFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBRS9GO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFFWixRQUFRLENBQUM7UUFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUUsRUFBRTtZQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELElBQUcsS0FBSyxLQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFDLENBQUMsRUFDekM7Z0JBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBQyxJQUFJLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUE7YUFDdkI7UUFFSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsKzlCQUErQzs7YUFFaEQ7Ozs0Q0FnQmMsTUFBTSxTQUFDLGtCQUFrQjs7O3lCQWRyQyxNQUFNO3lCQUdQLE1BQU07eUJBR0wsS0FBSztzQkFJTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29udGFjdCB9IGZyb20gJy4uLy4uL2NvcmUvY29udGFjdCc7XHJcbmltcG9ydCB7IEZvcndhcmRNZXNzYWdlRXZlbnQgfSBmcm9tICcuLi8uLi9ldmVudHMvZm9yd2FyZC1tZXNzYWdlLWV2ZW50JztcclxuaW1wb3J0IHsgQ2hhdFNlcnZpY2UsIENIQVRfU0VSVklDRV9UT0tFTiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NoYXQtc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmd4LWZvcndhcmQtbWVzc2FnZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZvcndhcmQtbWVzc2FnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9yd2FyZC1tZXNzYWdlLmNvbXBvbmVudC5sZXNzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcndhcmRNZXNzYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAT3V0cHV0KClcclxuICAgIGNsb3NlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gQE91dHB1dCgpZm93YXJkU2VudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHBzZXVkb0Jvb2wodmFsOiBib29sZWFuKSB7IFxyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gIH1cclxuICBASW5wdXQoKSBtZXNzYWdlOnN0cmluZztcclxuICBzZWxlY3RlZENvbnRhY3QgOkNvbnRhY3RbXT1bXTtcclxuICBjb250YWN0czogT2JzZXJ2YWJsZTxDb250YWN0W10+O1xyXG4gIHB1YmxpYyBtZXNzYWdlU2VudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KENIQVRfU0VSVklDRV9UT0tFTikgcHVibGljIGNoYXRTZXJ2aWNlOiBDaGF0U2VydmljZSkge1xyXG5cclxuICBcclxuICAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jb250YWN0cykge1xyXG4gICAgICAgIHRoaXMuY29udGFjdHMgPSB0aGlzLmNoYXRTZXJ2aWNlLmNvbnRhY3RzU3Vic2NyaWJlZCQ7XHJcbiAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0UmVjZWl2ZXIoY29udGFjdDpDb250YWN0LCBldmVudClcclxuICB7XHJcbiAgICBkZWJ1Z2dlcjtcclxuICAgIGlmKGV2ZW50LnRhcmdldC5jaGVja2VkKVxyXG4gICAge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ29udGFjdC5wdXNoKGNvbnRhY3QpO1xyXG4gICAgfWVsc2VcclxuICAgIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZENvbnRhY3QgPSB0aGlzLnNlbGVjdGVkQ29udGFjdC5maWx0ZXIoeD0+eC5qaWRCYXJlLmxvY2FsICE9Y29udGFjdC5qaWRCYXJlLmxvY2FsKVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvcndvcmRNZXNzYWdlKClcclxuICB7XHJcbiAgICBkZWJ1Z2dlcjtcclxuICAgIHRoaXMuc2VsZWN0ZWRDb250YWN0LmZvckVhY2goKGVsZW1lbnQsaW5kZXgpID0+IHtcclxuICAgICAgdGhpcy5jaGF0U2VydmljZS5zZW5kTWVzc2FnZShlbGVtZW50LHRoaXMubWVzc2FnZSk7XHJcbiAgICAgIGlmKGluZGV4ID09PXRoaXMuc2VsZWN0ZWRDb250YWN0Lmxlbmd0aC0xIClcclxuICAgICAge1xyXG4gICAgICAgIHRoaXMuY2xvc2VDbGljay5lbWl0KClcclxuICAgICAgICB0aGlzLm1lc3NhZ2U9bnVsbDtcclxuICAgICAgICB0aGlzLmZvd2FyZFNlbnQuZW1pdCgpXHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==