Commit 44779e2f by GD-A-150752

Code Review Changes.

parent bb21cbe6
import { DatePipe } from "@angular/common"; import { DatePipe } from '@angular/common';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { FormBuilder } from '@angular/forms'; import { FormBuilder } from '@angular/forms';
import { Select2Module } from 'ng2-select2'; import { Select2Module } from 'ng2-select2';
...@@ -28,8 +28,8 @@ import { ListWorkFlowsComponent } from './components/admin-portal/list-work-flow ...@@ -28,8 +28,8 @@ import { ListWorkFlowsComponent } from './components/admin-portal/list-work-flow
import { ApplicantPortalLayoutComponent } from './components/applicant-portal/applicant-portal-layout/applicant-portal-layout.component'; import { ApplicantPortalLayoutComponent } from './components/applicant-portal/applicant-portal-layout/applicant-portal-layout.component';
import { ApplicantPortalLayoutService } from './components/applicant-portal/applicant-portal-layout/applicant-portal-layout.service'; import { ApplicantPortalLayoutService } from './components/applicant-portal/applicant-portal-layout/applicant-portal-layout.service';
import { ErrorMessageComponent } from './components/error-message/error-message.component'; import { ErrorMessageComponent } from './components/error-message/error-message.component';
import { MessageEngineApplicantViewComponent } from './components/message-engine-applicant-view/message-engine-applicant-view.component'; import { MessageEngineComponent } from './components/message-engine/message-engine.component';
import { MessageEngineApplicantViewService } from './components/message-engine-applicant-view/message-engine-applicant-view.service'; import { MessageEngineService } from './components/message-engine/message-engine.service';
import { SelectTwoComponent } from './components/select-2/select-2.component'; import { SelectTwoComponent } from './components/select-2/select-2.component';
import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component'; import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component';
import { OneITModule } from './oneit/oneit.module'; import { OneITModule } from './oneit/oneit.module';
...@@ -62,7 +62,7 @@ import { OneITModule } from './oneit/oneit.module'; ...@@ -62,7 +62,7 @@ import { OneITModule } from './oneit/oneit.module';
SelectTwoComponent, SelectTwoComponent,
ErrorMessageComponent, ErrorMessageComponent,
ApplicantPortalLayoutComponent, ApplicantPortalLayoutComponent,
MessageEngineApplicantViewComponent MessageEngineComponent
], ],
providers: [ providers: [
FormBuilder, FormBuilder,
...@@ -71,7 +71,7 @@ import { OneITModule } from './oneit/oneit.module'; ...@@ -71,7 +71,7 @@ import { OneITModule } from './oneit/oneit.module';
ApplicantPortalLayoutService, ApplicantPortalLayoutService,
AppService, AppService,
EditWorkflowTemplateService, EditWorkflowTemplateService,
MessageEngineApplicantViewService, MessageEngineService,
DatePipe DatePipe
], ],
bootstrap: [AppComponent] bootstrap: [AppComponent]
......
...@@ -7,7 +7,7 @@ import { EditWorkflowTemplateComponent } from './components/admin-portal/edit-wo ...@@ -7,7 +7,7 @@ import { EditWorkflowTemplateComponent } from './components/admin-portal/edit-wo
import { ListMessageTemplateComponent } from './components/admin-portal/list-message-template/list-message-template.component'; import { ListMessageTemplateComponent } from './components/admin-portal/list-message-template/list-message-template.component';
import { ListWorkFlowsComponent } from './components/admin-portal/list-work-flows/list-work-flows.component'; import { ListWorkFlowsComponent } from './components/admin-portal/list-work-flows/list-work-flows.component';
import { ApplicantPortalLayoutComponent } from './components/applicant-portal/applicant-portal-layout/applicant-portal-layout.component'; import { ApplicantPortalLayoutComponent } from './components/applicant-portal/applicant-portal-layout/applicant-portal-layout.component';
import { MessageEngineApplicantViewComponent } from './components/message-engine-applicant-view/message-engine-applicant-view.component'; import { MessageEngineComponent } from './components/message-engine/message-engine.component';
import { AccessDeniedComponent } from './oneit/components/access-denied/access-denied.component'; import { AccessDeniedComponent } from './oneit/components/access-denied/access-denied.component';
import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component'; import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component';
import { HomeComponent } from './oneit/components/home/home.component'; import { HomeComponent } from './oneit/components/home/home.component';
...@@ -120,10 +120,6 @@ export const routes: Routes = [ ...@@ -120,10 +120,6 @@ export const routes: Routes = [
path: 'edit-workflow-template/:id', path: 'edit-workflow-template/:id',
component: EditWorkflowTemplateComponent, component: EditWorkflowTemplateComponent,
canActivate: [AuthGuard] canActivate: [AuthGuard]
},
{
path: 'message-engine',
component: MessageEngineApplicantViewComponent
} }
] ]
}, },
...@@ -142,7 +138,7 @@ export const routes: Routes = [ ...@@ -142,7 +138,7 @@ export const routes: Routes = [
}, },
{ {
path: 'message-engine', path: 'message-engine',
component: MessageEngineApplicantViewComponent component: MessageEngineComponent
} }
] ]
} }
......
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
import { environment } from '../environments/environment';
import { MessageTemplateModel } from './models/message-template.model'; import { MessageTemplateModel } from './models/message-template.model';
import { PlaceholderOptionsEnum } from './models/placeholder-options.enum'; import { PlaceholderOptionsEnum } from './models/placeholder-options.enum';
import { TemplateTypeEnum } from './models/template-type.enum'; import { TemplateTypeEnum } from './models/template-type.enum';
import { ApiService } from './oneit/services/api.service';
import { EnumService } from './oneit/services/enum.service'; import { EnumService } from './oneit/services/enum.service';
import { SearchService } from './oneit/services/search.service'; import { SearchService } from './oneit/services/search.service';
import { UtilsService } from './oneit/services/utils.service'; import { UtilsService } from './oneit/services/utils.service';
...@@ -16,8 +14,7 @@ export class AppService { ...@@ -16,8 +14,7 @@ export class AppService {
constructor( constructor(
private enumService: EnumService, private enumService: EnumService,
private searchService: SearchService, private searchService: SearchService,
private utilsService: UtilsService, private utilsService: UtilsService
private apiService: ApiService
) { ) {
} }
...@@ -56,20 +53,4 @@ export class AppService { ...@@ -56,20 +53,4 @@ export class AppService {
} }
); );
} }
processObjects(serviceName: string, dataParams): Observable<any> {
const params: any = {
environment: environment.envName, // Fetch this from environment e.g. environment.envName
...dataParams
};
return this.apiService.post(`svc/${serviceName}`, params)
.map(
data => {
if (this.utilsService.isSuccessfulResponse(data)) {
return data;
}
}
);
}
} }
...@@ -105,8 +105,8 @@ ...@@ -105,8 +105,8 @@
</div> </div>
<p-dialog #messageEngine [(visible)]="showChat" header="" [modal]="true" [responsive]="true" [resizable]="false" <p-dialog #messageEngine [(visible)]="showChat" header="" [modal]="true" [responsive]="true" [resizable]="false"
class="message-engine" [style]="{width: '300px', height: '500px'}"> class="message-engine" [style]="{width: '300px', height: '500px'}">
<app-message-engine-applicant-view *ngIf="showChat" [embedded]="true" [jobId]="jobId" <app-message-engine *ngIf="showChat" [embedded]="true" [jobApplicationID]="jobApplicationID"
(minimize)="showChat = false"></app-message-engine-applicant-view> (minimize)="showChat = false"></app-message-engine>
</p-dialog> </p-dialog>
<div *ngIf="showBubble" class="chat-icon" (click)="showChat = !showChat"></div> <div *ngIf="showBubble" class="chat-icon" (click)="showChat = !showChat"></div>
<p-progressSpinner animationDuration="1s" *ngIf="showLoader"></p-progressSpinner> <p-progressSpinner animationDuration="1s" *ngIf="showLoader"></p-progressSpinner>
......
.message-engine {
::ng-deep {
.ui-dialog {
.ui-dialog-titlebar {
display: none;
}
.ui-dialog-content {
padding: 0 !important;
}
}
.ui-dialog {
&.ui-dialog-draggable {
left: auto !important;
right: 10px !important;
height: 600px !important;
bottom: 0 !important;
top: auto !important;
width: 690px !important;
}
}
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 200px rgba(183, 183, 183, 0.2);
border-radius: 6px;
}
::-webkit-scrollbar-thumb {
border-radius: 6px;
-webkit-box-shadow: inset 0 0 200px rgba(100, 100, 100, 0.42);
}
}
}
...@@ -15,7 +15,8 @@ import { AdminPortalLayoutService } from './admin-portal-layout.service'; ...@@ -15,7 +15,8 @@ import { AdminPortalLayoutService } from './admin-portal-layout.service';
@Component({ @Component({
selector: 'app-admin-portal-layout', selector: 'app-admin-portal-layout',
templateUrl: './admin-portal-layout.component.html' templateUrl: './admin-portal-layout.component.html',
styleUrls: ['./admin-portal-layout.component.scss']
}) })
export class AdminPortalLayoutComponent implements OnInit, OnDestroy { export class AdminPortalLayoutComponent implements OnInit, OnDestroy {
...@@ -42,7 +43,7 @@ export class AdminPortalLayoutComponent implements OnInit, OnDestroy { ...@@ -42,7 +43,7 @@ export class AdminPortalLayoutComponent implements OnInit, OnDestroy {
}; };
showChat = false; showChat = false;
showBubble = false; showBubble = false;
jobId: string; jobApplicationID: string;
constructor( constructor(
private deviceService: DeviceDetectorService, private deviceService: DeviceDetectorService,
...@@ -67,7 +68,7 @@ export class AdminPortalLayoutComponent implements OnInit, OnDestroy { ...@@ -67,7 +68,7 @@ export class AdminPortalLayoutComponent implements OnInit, OnDestroy {
} }
if (message.name === 'HiringTeamChat' && message.message === null) { if (message.name === 'HiringTeamChat' && message.message === null) {
this.jobId = null; this.jobApplicationID = null;
this.showBubble = false; this.showBubble = false;
return; return;
...@@ -78,7 +79,7 @@ export class AdminPortalLayoutComponent implements OnInit, OnDestroy { ...@@ -78,7 +79,7 @@ export class AdminPortalLayoutComponent implements OnInit, OnDestroy {
} }
const msg = JSON.parse(message.message); const msg = JSON.parse(message.message);
this.jobId = msg.JobApplicationID; this.jobApplicationID = msg.JobApplicationID;
// Show Chat bubble if message service allows // Show Chat bubble if message service allows
this.showBubble = true; this.showBubble = true;
} }
......
.message-template-form {
label {
font-family: 'Usual-Regular' !important;
}
textarea {
width: 100%;
max-width: 100%;
padding: 10px;
border: solid 1px #dbdbdf;
}
}
...@@ -16,7 +16,8 @@ import { BaseComponent } from '../base/base.component'; ...@@ -16,7 +16,8 @@ import { BaseComponent } from '../base/base.component';
@Component({ @Component({
selector: 'app-edit-message-template', selector: 'app-edit-message-template',
templateUrl: './edit-message-template.component.html' templateUrl: './edit-message-template.component.html',
styleUrls: ['./edit-message-template.component.scss']
}) })
export class EditMessageTemplateComponent extends BaseComponent implements OnInit { export class EditMessageTemplateComponent extends BaseComponent implements OnInit {
...@@ -105,7 +106,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -105,7 +106,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
*/ */
if (this.templateCreationFromWorkflow()) { if (this.templateCreationFromWorkflow()) {
if(!this.isGlobalHT) { if (!this.isGlobalHT) {
this.messageTemplate.HiringTeam = this.adminPortalLayoutService.getHiringTeamID().ObjectID; this.messageTemplate.HiringTeam = this.adminPortalLayoutService.getHiringTeamID().ObjectID;
} }
...@@ -156,15 +157,15 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -156,15 +157,15 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
*/ */
showSaveBtn(): boolean { showSaveBtn(): boolean {
if(this.templateCreationFromWorkflow()) { if (this.templateCreationFromWorkflow()) {
return true; return true;
} }
if(this.templateUpdateFromWorkflow()) { if (this.templateUpdateFromWorkflow()) {
return false; return false;
} }
if(this.isGlobalHT) { if (this.isGlobalHT) {
return true; return true;
} }
...@@ -176,7 +177,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -176,7 +177,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
showSaveIntoAllTemplates(): boolean { showSaveIntoAllTemplates(): boolean {
if(this.isGlobalHT && this.templateUpdateFromWorkflow()) { if (this.isGlobalHT && this.templateUpdateFromWorkflow()) {
return true; return true;
} }
...@@ -190,10 +191,10 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni ...@@ -190,10 +191,10 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
} }
showSaveCopyBtn(): boolean { showSaveCopyBtn(): boolean {
if(this.isGlobalHT && this.templateUpdateFromWorkflow()) { if (this.isGlobalHT && this.templateUpdateFromWorkflow()) {
return true; return true;
} }
if (!this.isGlobalHT && this.messageTemplate && this.messageTemplate.ObjectID) { if (!this.isGlobalHT && this.messageTemplate && this.messageTemplate.ObjectID) {
return this.messageTemplate.HiringTeam === null; return this.messageTemplate.HiringTeam === null;
} }
......
.editable {
transition: all 0.3s ease;
cursor: pointer;
&:hover {
color: #03a0e7;
}
}
p-dropdown { p-dropdown {
::ng-deep { ::ng-deep {
...@@ -69,7 +78,10 @@ p-inputMask { ...@@ -69,7 +78,10 @@ p-inputMask {
} }
.templateName { .templateName {
font-size: 24px; label, input {
font-size: 24px;
text-align: center;
}
} }
.interactive { .interactive {
...@@ -105,6 +117,38 @@ label { ...@@ -105,6 +117,38 @@ label {
background: #fff; background: #fff;
} }
.edit-message-template {
::ng-deep {
.ui-dialog {
.ui-dialog-titlebar {
display: none;
}
.ui-dialog-content {
padding: 0 !important;
.message-template-form {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.main-tab-template {
height: 50px;
}
}
}
.ui-dialog {
&.ui-dialog-draggable {
left: 130px !important;
right: 130px !important;
overflow-y: scroll;
height: 92% !important;
}
}
}
}
.disable-drop { .disable-drop {
pointer-events: none; pointer-events: none;
} }
...@@ -113,3 +157,25 @@ label { ...@@ -113,3 +157,25 @@ label {
display: flex; display: flex;
margin-top: 43px; margin-top: 43px;
} }
.separator {
width: 98%;
background: #4E5258;
display: flex;
height: 5px;
margin-left: auto;
margin-right: auto;
border-radius: 20px;
}
.h-60 {
height: 60px;
}
.mb-10 {
margin-bottom: 10px;
}
.text-right {
text-align: right !important;
}
...@@ -17,7 +17,7 @@ export class ApplicantPortalLayoutComponent implements OnInit, OnDestroy { ...@@ -17,7 +17,7 @@ export class ApplicantPortalLayoutComponent implements OnInit, OnDestroy {
showLoader: boolean; showLoader: boolean;
subscriptions: Array<Subscription> = []; subscriptions: Array<Subscription> = [];
successMsgs: Array<Message> = []; successMsgs: Array<Message> = [];
jobId: string; jobApplicationID: string;
year = new Date().getFullYear(); year = new Date().getFullYear();
constructor( constructor(
...@@ -44,7 +44,7 @@ export class ApplicantPortalLayoutComponent implements OnInit, OnDestroy { ...@@ -44,7 +44,7 @@ export class ApplicantPortalLayoutComponent implements OnInit, OnDestroy {
.subscribe( .subscribe(
(params: Params) => { (params: Params) => {
if (params.job) { if (params.job) {
this.jobId = params.job; this.jobApplicationID = params.job;
} }
this.loadData(); this.loadData();
} }
...@@ -63,7 +63,7 @@ export class ApplicantPortalLayoutComponent implements OnInit, OnDestroy { ...@@ -63,7 +63,7 @@ export class ApplicantPortalLayoutComponent implements OnInit, OnDestroy {
this.userService.reloadUserDetails(); this.userService.reloadUserDetails();
this.msgsService.clearErrorMessages(); this.msgsService.clearErrorMessages();
this.applicantPortalLayoutService.reloadApplicantUserDetails(this.jobId); this.applicantPortalLayoutService.reloadApplicantUserDetails(this.jobApplicationID);
} }
subscribeToUserData(): void { subscribeToUserData(): void {
......
...@@ -9,7 +9,7 @@ export class ApplicantPortalLayoutService { ...@@ -9,7 +9,7 @@ export class ApplicantPortalLayoutService {
userDataUpdated = new Subject<any>(); userDataUpdated = new Subject<any>();
userData: any; userData: any;
jobId: string; jobApplicationID: string;
constructor( constructor(
private apiService: ApiService, private apiService: ApiService,
...@@ -18,18 +18,18 @@ export class ApplicantPortalLayoutService { ...@@ -18,18 +18,18 @@ export class ApplicantPortalLayoutService {
} }
reloadApplicantUserDetails(job): void { reloadApplicantUserDetails(jobApplicationID): void {
if (job) { if (jobApplicationID) {
const params = { const params = {
environment: environment.envName, environment: environment.envName,
JobApplication: job JobApplication: jobApplicationID
}; };
this.apiService.post('svc/ApplicantUserDetails', params) this.apiService.post('svc/ApplicantUserDetails', params)
.subscribe( .subscribe(
data => { data => {
if (this.utilsService.isSuccessfulResponse(data)) { if (this.utilsService.isSuccessfulResponse(data)) {
this.jobId = job; this.jobApplicationID = jobApplicationID;
this.userData = data; this.userData = data;
this.userDataUpdated.next(data); this.userDataUpdated.next(data);
} }
......
<div class="{{embedded ? 'openedFromWorkflow' : 'dashboard-content-area second-part' }}"> <div class="{{embedded ? 'openedFromWorkflow' : 'dashboard-content-area second-part' }}">
<form #form="ngForm" *ngIf="jobId && loggedInId"> <form #form="ngForm" *ngIf="jobApplicationID && loggedInId">
<div class="ui-g ui-fluid"> <div class="ui-g ui-fluid">
<div class="ui-g-12 ui-md-12"> <div class="ui-g-12 ui-md-12">
<div *ngIf="embedded" class="main-tab-template pl-1 h-45"> <div *ngIf="embedded" class="main-tab-template pl-1 h-45">
...@@ -27,31 +27,15 @@ ...@@ -27,31 +27,15 @@
<label>{{message.SentBy.Name[0]}}</label> <label>{{message.SentBy.Name[0]}}</label>
</div> </div>
<div class="ui-g-12 ui-md-11"> <div class="ui-g-12 ui-md-11">
<div class="break-word" [innerHTML]="message.MessageContent"></div> <ng-container
<div class="attachments"> *ngTemplateOutlet="messageDisplay; context:{message: message}"></ng-container>
<a *ngFor="let attachment of message.Attachments"
href="{{apiUrl+attachment.File.URI}}"
target="_blank">{{attachment.File.Name}}</a>
</div>
<div class="message-footer">
<div>via {{message.SentVia.Description}}</div>
<div>{{message.ObjectCreated | oneitdate : 'dd/MM/yyyy HH:mm'}}</div>
</div>
</div> </div>
</div> </div>
<div class="ui-g-offset-2 ui-g-10 message-block" <div class="ui-g-offset-2 ui-g-10 message-block"
*ngIf="message.SentBy.ObjectID === loggedInId"> *ngIf="message.SentBy.ObjectID === loggedInId">
<div class="ui-g-10 ui-md-11"> <div class="ui-g-10 ui-md-11">
<div class="break-word" [innerHTML]="message.MessageContent"></div> <ng-container
<div class="attachments"> *ngTemplateOutlet="messageDisplay; context:{message: message}"></ng-container>
<a *ngFor="let attachment of message.Attachments"
href="{{apiUrl+attachment.File.URI}}"
target="_blank">{{attachment.File.Name}}</a>
</div>
<div class="message-footer">
<div>via {{message.SentVia.Description}}</div>
<div>{{message.ObjectCreated | oneitdate : 'dd/MM/yyyy HH:mm'}}</div>
</div>
</div> </div>
<div class="ui-g-12 ui-md-1 name owner {{embedded ? 'pad-5' : '' }}"> <div class="ui-g-12 ui-md-1 name owner {{embedded ? 'pad-5' : '' }}">
<label>{{message.SentBy.Name[0]}}</label> <label>{{message.SentBy.Name[0]}}</label>
...@@ -119,7 +103,7 @@ ...@@ -119,7 +103,7 @@
<div id="showPlainText"></div> <div id="showPlainText"></div>
<p-progressSpinner *ngIf="showLoader"></p-progressSpinner> <p-progressSpinner *ngIf="showLoader"></p-progressSpinner>
</form> </form>
<div class="ui-g ui-fluid" *ngIf="!jobId || !loggedInId"> <div class="ui-g ui-fluid" *ngIf="!jobApplicationID || !loggedInId">
<div class="ui-g-12 ui-md-12"> <div class="ui-g-12 ui-md-12">
<div class="main-tab-template pl-1 {{embedded ? 'h-45' : '' }}"> <div class="main-tab-template pl-1 {{embedded ? 'h-45' : '' }}">
<div class="chief-officer mb-0"> <div class="chief-officer mb-0">
...@@ -135,3 +119,16 @@ ...@@ -135,3 +119,16 @@
</div> </div>
</div> </div>
</div> </div>
<ng-template let-message="message" #messageDisplay>
<div class="break-word" [innerHTML]="message.MessageContent"></div>
<div class="attachments">
<a *ngFor="let attachment of message.Attachments"
href="{{apiUrl+attachment.File.URI}}"
target="_blank">{{attachment.File.Name}}</a>
</div>
<div class="message-footer">
<div>via {{message.SentVia.Description}}</div>
<div>{{message.ObjectCreated | oneitdate : 'dd/MM/yyyy HH:mm'}}</div>
</div>
</ng-template>
...@@ -246,3 +246,27 @@ a { ...@@ -246,3 +246,27 @@ a {
} }
} }
} }
.h-45 {
height: 45px !important;
}
.pad-5 {
padding: 5px;
}
::ng-deep {
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 200px rgba(183, 183, 183, 0.2);
border-radius: 6px;
}
::-webkit-scrollbar-thumb {
border-radius: 6px;
-webkit-box-shadow: inset 0 0 200px rgba(100, 100, 100, 0.42);
}
}
...@@ -18,17 +18,17 @@ import { UtilsService } from '../../oneit/services/utils.service'; ...@@ -18,17 +18,17 @@ import { UtilsService } from '../../oneit/services/utils.service';
import { AdminPortalLayoutService } from '../admin-portal/admin-portal-layout/admin-portal-layout.service'; import { AdminPortalLayoutService } from '../admin-portal/admin-portal-layout/admin-portal-layout.service';
import { BaseComponent } from '../admin-portal/base/base.component'; import { BaseComponent } from '../admin-portal/base/base.component';
import { ApplicantPortalLayoutService } from '../applicant-portal/applicant-portal-layout/applicant-portal-layout.service'; import { ApplicantPortalLayoutService } from '../applicant-portal/applicant-portal-layout/applicant-portal-layout.service';
import { MessageEngineApplicantViewService } from './message-engine-applicant-view.service'; import { MessageEngineService } from './message-engine.service';
@Component({ @Component({
selector: 'app-message-engine-applicant-view', selector: 'app-message-engine',
templateUrl: './message-engine-applicant-view.component.html', templateUrl: './message-engine.component.html',
styleUrls: ['./message-engine-applicant-view.component.scss'] styleUrls: ['./message-engine.component.scss']
}) })
export class MessageEngineApplicantViewComponent extends BaseComponent implements OnInit { export class MessageEngineComponent extends BaseComponent implements OnInit {
@Input() embedded = false; @Input() embedded = false;
@Input() jobId = null; @Input() jobApplicationID = null;
// tslint:disable-next-line:prefer-output-readonly // tslint:disable-next-line:prefer-output-readonly
@Output() minimize: EventEmitter<any> = new EventEmitter<any>(); @Output() minimize: EventEmitter<any> = new EventEmitter<any>();
@ViewChild('message') messageEditor: Editor; @ViewChild('message') messageEditor: Editor;
...@@ -54,7 +54,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement ...@@ -54,7 +54,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement
private utilsService: UtilsService, private utilsService: UtilsService,
private saveService: SaveService, private saveService: SaveService,
private appService: AppService, private appService: AppService,
private messageEngineApplicantViewService: MessageEngineApplicantViewService, private messageEngineService: MessageEngineService,
private adminPortalLayoutService: AdminPortalLayoutService, private adminPortalLayoutService: AdminPortalLayoutService,
private applicantPortalLayoutService: ApplicantPortalLayoutService private applicantPortalLayoutService: ApplicantPortalLayoutService
) { ) {
...@@ -69,7 +69,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement ...@@ -69,7 +69,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement
ngOnInit(): void { ngOnInit(): void {
this.getSetViaOptions(); this.getSentViaOptions();
// For Hiring Team or Applicant // For Hiring Team or Applicant
const service = this.embedded ? this.adminPortalLayoutService : this.applicantPortalLayoutService; const service = this.embedded ? this.adminPortalLayoutService : this.applicantPortalLayoutService;
if (service.userData) { if (service.userData) {
...@@ -82,14 +82,15 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement ...@@ -82,14 +82,15 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement
} }
} }
getSetViaOptions(): void { getSentViaOptions(): void {
this.subscriptions.push( this.subscriptions.push(
this.appService.getTypes('SentVia') this.appService.getTypes('SentVia')
.subscribe((data: Array<SentViaEnum>) => { .subscribe((data: Array<SentViaEnum>) => {
this.sentViaEnum = data; this.sentViaEnum = data;
this.sentViaMenuItems = this.sentViaEnum.map(elem => this.sentViaMenuItems = this.sentViaEnum.map(elem =>
({ ({
label: elem.Description, command: () => this.Message.SentVia = elem label: elem.Description,
command: () => this.Message.SentVia = elem
})); }));
}) })
...@@ -101,19 +102,19 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement ...@@ -101,19 +102,19 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement
this.loggedInId = service.userData.CompanyUser.User; this.loggedInId = service.userData.CompanyUser.User;
// jobId should come from @Input (Admin Portal) // jobId should come from @Input (Admin Portal)
} else { } else {
this.jobId = service.jobId; this.jobApplicationID = service.jobApplicationID;
this.loggedInId = service.userData.UserID; this.loggedInId = service.userData.UserID;
} }
if (this.jobId) { if (this.jobApplicationID) {
this.getEngineApplicantViewByID(); this.getJobApplicationByID();
} else { } else {
// Should never come to this block // Should never come to this block
console.error('JobId not found.'); console.error('JobId not found.');
} }
} }
getEngineApplicantViewByID(): void { getJobApplicationByID(): void {
this.showLoader = true; this.showLoader = true;
this.createdObjs = {}; this.createdObjs = {};
...@@ -121,7 +122,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement ...@@ -121,7 +122,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement
[ASSOCS.JOB, [ASSOCS.JOB, ASSOCS.HIRING_TEAM].join('.'), ASSOCS.MESSAGES, [ASSOCS.MESSAGES, ASSOCS.SENT_BY].join('.'), [ASSOCS.JOB, [ASSOCS.JOB, ASSOCS.HIRING_TEAM].join('.'), ASSOCS.MESSAGES, [ASSOCS.MESSAGES, ASSOCS.SENT_BY].join('.'),
[ASSOCS.MESSAGES, ASSOCS.ATTACHMENTS].join('.'), [ASSOCS.CANDIDATE, ASSOCS.USER].join('.')]; [ASSOCS.MESSAGES, ASSOCS.ATTACHMENTS].join('.'), [ASSOCS.CANDIDATE, ASSOCS.USER].join('.')];
this.subscriptions.push(this.messageEngineApplicantViewService.getEngineApplicantViewByID(this.jobId, assocs) this.subscriptions.push(this.messageEngineService.getEngineApplicantViewByID(this.jobApplicationID, assocs)
.subscribe( .subscribe(
data => { data => {
this.jobApplication = data; this.jobApplication = data;
...@@ -158,7 +159,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement ...@@ -158,7 +159,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement
JobApplication: this.jobApplication.ObjectID JobApplication: this.jobApplication.ObjectID
} }
}; };
this.appService.processObjects('MarkAsRead', params) this.utilsService.processObjects('MarkAsRead', params)
.subscribe( .subscribe(
() => this.showLoader = false, () => this.showLoader = false,
err => { err => {
...@@ -182,7 +183,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement ...@@ -182,7 +183,7 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement
.subscribe( .subscribe(
() => { () => {
this.showLoader = false; this.showLoader = false;
this.getEngineApplicantViewByID(); this.getJobApplicationByID();
}, },
error => { error => {
this.showLoader = false; this.showLoader = false;
...@@ -199,14 +200,12 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement ...@@ -199,14 +200,12 @@ export class MessageEngineApplicantViewComponent extends BaseComponent implement
*/ */
onUpload(event: any): void { onUpload(event: any): void {
const chatAttachment = new ChatAttachmentModel(); const chatAttachment = new ChatAttachmentModel();
this.utilsService.createObject(chatAttachment, this.createdObjs);
chatAttachment.File = { chatAttachment.File = {
FileToken: JSON.parse(event.xhr.response).files[0].token, FileToken: JSON.parse(event.xhr.response).files[0].token,
Name: JSON.parse(event.xhr.response).files[0].fileName, Name: JSON.parse(event.xhr.response).files[0].fileName,
Index: this.Message.Attachments.length Index: this.Message.Attachments.length
}; };
chatAttachment.Message = this.Message; this.utilsService.addMultiRefObject(chatAttachment, this.Message, 'Attachments', this.createdObjs);
this.Message.Attachments.push(chatAttachment);
} }
removeAttachment(file): void { removeAttachment(file): void {
......
...@@ -5,7 +5,7 @@ import { SearchService } from '../../oneit/services/search.service'; ...@@ -5,7 +5,7 @@ import { SearchService } from '../../oneit/services/search.service';
import { UtilsService } from '../../oneit/services/utils.service'; import { UtilsService } from '../../oneit/services/utils.service';
@Injectable() @Injectable()
export class MessageEngineApplicantViewService { export class MessageEngineService {
constructor( constructor(
private searchService: SearchService, private searchService: SearchService,
private utilsService: UtilsService private utilsService: UtilsService
......
...@@ -7,3 +7,18 @@ ...@@ -7,3 +7,18 @@
} }
} }
} }
.w-100 {
width: 100% !important;
}
.normalDropDown {
::ng-deep {
.select2-container {
.select2-selection .select2-selection__rendered {
background: none;
padding-left: 10px;
}
}
}
}
...@@ -29,15 +29,6 @@ ...@@ -29,15 +29,6 @@
width: 100% !important; width: 100% !important;
} }
.editable {
transition: all 0.3s ease;
cursor: pointer;
&:hover {
color: #03a0e7;
}
}
::ng-deep { ::ng-deep {
.ui-inputswitch { .ui-inputswitch {
height: 18px; height: 18px;
...@@ -65,46 +56,6 @@ ...@@ -65,46 +56,6 @@
} }
} }
.w-80 {
width: 80% !important;
}
.pt-0 {
padding-top: 0 !important;
}
.mb-0 {
margin-bottom: 0 !important;
}
.mt-3 {
margin-top: 3em;
}
.pl-1 {
padding-left: 1em;
}
.mr-0 {
margin-right: 0 !important;
}
.ml-0 {
margin-left: 0;
}
.w-100 {
width: 100% !important;
}
.no-border {
border: 0 !important;
}
.h-60 {
height: 60px;
}
/* Panel Styling */ /* Panel Styling */
.messaging { .messaging {
...@@ -252,17 +203,6 @@ ...@@ -252,17 +203,6 @@
z-index: 100000; z-index: 100000;
} }
.normalDropDown {
.select2-container {
.select2-selection .select2-selection__rendered {
background: none;
padding-left: 10px;
}
}
}
.h-80 { .h-80 {
height: 80px; height: 80px;
} }
...@@ -272,74 +212,6 @@ ...@@ -272,74 +212,6 @@
width: 100% !important; width: 100% !important;
} }
.edit-message-template {
.ui-dialog {
.ui-dialog-titlebar {
display: none;
}
.ui-dialog-content {
padding: 0 !important;
.message-template-form {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.main-tab-template {
height: 50px;
}
}
}
.ui-dialog {
&.ui-dialog-draggable {
left: 130px !important;
right: 130px !important;
overflow-y: scroll;
height: 92% !important;
}
}
}
.message-engine {
.ui-dialog {
.ui-dialog-titlebar {
display: none;
}
.ui-dialog-content {
padding: 0 !important;
}
}
.ui-dialog {
&.ui-dialog-draggable {
left: auto !important;
right: 10px !important;
height: 600px !important;
bottom: 0 !important;
top: auto !important;
width: 690px !important;
}
}
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 200px rgba(183, 183, 183, 0.2);
border-radius: 6px;
}
::-webkit-scrollbar-thumb {
border-radius: 6px;
-webkit-box-shadow: inset 0 0 200px rgba(100, 100, 100, 0.42);
}
}
.editor { .editor {
min-height: 150px !important; min-height: 150px !important;
} }
...@@ -377,50 +249,11 @@ body .ui-dropdown-panel .ui-dropdown-filter-container { ...@@ -377,50 +249,11 @@ body .ui-dropdown-panel .ui-dropdown-filter-container {
background-color: #667281; background-color: #667281;
} }
.text-right {
text-align: right !important;
}
.mb-10 {
margin-bottom: 10px;
}
.pb-0 {
padding-bottom: 0 !important;
}
.form { .form {
background-color: white; background-color: white;
padding: 65px 10.5%; padding: 65px 10.5%;
} }
.message-template-form {
label {
font-family: 'Usual-Regular' !important;
}
textarea {
width: 100%;
max-width: 100%;
padding: 10px;
border: solid 1px #dbdbdf;
}
}
.separator {
width: 98%;
background: #4E5258;
display: flex;
height: 5px;
margin-left: auto;
margin-right: auto;
border-radius: 20px;
}
.bg-white {
background-color: white;
}
.ui-inputtext { .ui-inputtext {
background-image: linear-gradient(to bottom, rgba(3, 160, 231, 0.5), rgba(3, 160, 231, 0.5)), linear-gradient(to bottom, #bdbdbd, #bdbdbd) !important; background-image: linear-gradient(to bottom, rgba(3, 160, 231, 0.5), rgba(3, 160, 231, 0.5)), linear-gradient(to bottom, #bdbdbd, #bdbdbd) !important;
...@@ -480,31 +313,34 @@ body .ui-dropdown-panel .ui-dropdown-filter-container { ...@@ -480,31 +313,34 @@ body .ui-dropdown-panel .ui-dropdown-filter-container {
cursor: pointer; cursor: pointer;
} }
app-message-engine-applicant-view { /**
*** HELPER CLASSES ***
*/
::-webkit-scrollbar { .w-80 {
width: 8px; width: 80% !important;
} }
::-webkit-scrollbar-track { .pt-0 {
-webkit-box-shadow: inset 0 0 200px rgba(183, 183, 183, 0.2); padding-top: 0 !important;
border-radius: 6px; }
}
::-webkit-scrollbar-thumb { .mb-0 {
border-radius: 6px; margin-bottom: 0 !important;
-webkit-box-shadow: inset 0 0 200px rgba(100, 100, 100, 0.42); }
}
.pl-1 {
padding-left: 1em;
} }
.pad-5 { .mr-0 {
padding: 5px; margin-right: 0 !important;
} }
.h-45 { .ml-0 {
height: 45px !important; margin-left: 0;
} }
.error-block { .no-border {
border: 1px solid red !important; border: 0 !important;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment