Commit 80e0ee6e by Harsh Shah

Initial commit for Admin Portal - Header/Footer/Sidebar/iframe

parent c02d0fdd
......@@ -19,12 +19,7 @@
"testTsconfig": "tsconfig.spec.json",
"prefix": "app",
"styles": [
"styles.scss",
"../node_modules/primeng/resources/primeng.min.css",
"../node_modules/font-awesome/css/font-awesome.min.css",
"../node_modules/fullcalendar/dist/fullcalendar.min.css",
"../node_modules/quill/dist/quill.snow.css",
"../node_modules/primeicons/primeicons.css"
"styles.scss"
],
"scripts": [
"../node_modules/jquery/dist/jquery.js",
......@@ -34,7 +29,8 @@
"../node_modules/fullcalendar/dist/fullcalendar.js",
"../node_modules/quill/dist/quill.js",
"../src/app/oneit/components/feedback/scripts/feedback.js",
"../src/app/oneit/components/feedback/scripts/html2canvas.js"
"../src/app/oneit/components/feedback/scripts/html2canvas.js",
"../node_modules/select2/dist/js/select2.full.js"
],
"environmentSource": "environments/environment.ts",
"environments": {
......
......@@ -296,6 +296,11 @@
"@types/jasmine": "*"
}
},
"@types/jquery": {
"version": "2.0.54",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-2.0.54.tgz",
"integrity": "sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg=="
},
"@types/node": {
"version": "6.0.118",
"resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.118.tgz",
......@@ -308,6 +313,14 @@
"integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
"dev": true
},
"@types/select2": {
"version": "4.0.42",
"resolved": "https://registry.npmjs.org/@types/select2/-/select2-4.0.42.tgz",
"integrity": "sha512-RsbJa95gWRKSLqAvduMPpfmxh/9rM94DB7fdvsXD1eLh2KlJMyEKQaEbntUpkSiz4FYoeQohADWMSswN3Qesvw==",
"requires": {
"@types/jquery": "*"
}
},
"@types/selenium-webdriver": {
"version": "2.53.43",
"resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-2.53.43.tgz",
......@@ -1223,9 +1236,9 @@
}
},
"bootstrap": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz",
"integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag=="
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz",
"integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E="
},
"brace-expansion": {
"version": "1.1.11",
......@@ -7379,11 +7392,28 @@
"moment": "2.18.1"
}
},
"ng2-select2": {
"version": "1.0.0-beta.16",
"resolved": "https://registry.npmjs.org/ng2-select2/-/ng2-select2-1.0.0-beta.16.tgz",
"integrity": "sha512-0a+/paD491mqlGXlB1SQ4XqmANTUtl6nOVzFUl/nUS1dwGWZoBY5FVYvUEBaJpIWO3hBFtSazq7lAe8rslEUjA==",
"requires": {
"@types/jquery": "^2.0.39",
"@types/select2": "4.0.42"
}
},
"ngx-bootstrap": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-2.0.5.tgz",
"integrity": "sha512-IduTVb78RDVlrz2+bn6GXK/REfM/RsRnz/AENwmrgTOg1AtvahJ9qANxXRNn33Kv9GJmkOYy/MhD3DyzeMb16w=="
},
"ngx-device-detector": {
"version": "1.3.16",
"resolved": "https://registry.npmjs.org/ngx-device-detector/-/ngx-device-detector-1.3.16.tgz",
"integrity": "sha512-bEGR4CMxbOSat+dFJYewA1f+cZNGEMct9W5n3o/mzhIxQLQquBMcungFlQqYaB0vwlYnj/6vM0PlzCnwn/SRiw==",
"requires": {
"tslib": "^1.9.0"
}
},
"no-case": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
......@@ -10054,6 +10084,11 @@
"integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
"dev": true
},
"select2": {
"version": "4.0.12",
"resolved": "https://registry.npmjs.org/select2/-/select2-4.0.12.tgz",
"integrity": "sha512-mbXC05AvjCboZcRlgJqN4mlI2qmqshpRC76sKNAdxS1lPLOh2m/NTyfL6xsvGoY6eIhjaya4dbumN99MudVQ2w=="
},
"selenium-webdriver": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.0.1.tgz",
......
......@@ -22,7 +22,7 @@
"@angular/platform-browser-dynamic": "^5.2.0",
"@angular/router": "^5.2.0",
"angular-tslint-rules": "^1.20.1",
"bootstrap": "^4.1.0",
"bootstrap": "3.3.7",
"chart.js": "2.7.1",
"core-js": "^2.4.1",
"file-saver": "^1.3.8",
......@@ -37,12 +37,15 @@
"moment": "2.18.1",
"nanoscroller": "^0.8.7",
"ng2-bootstrap": "^1.6.3",
"ngx-bootstrap": "^2.0.4",
"ng2-select2": "^1.0.0-beta.16",
"ngx-bootstrap": "2.0.5",
"ngx-device-detector": "^1.3.16",
"primeicons": "^1.0.0-beta.10",
"primeng": "6.1.5",
"quill": "^1.3.5",
"rxjs": "^5.5.6",
"save": "^2.3.2",
"select2": "^4.0.12",
"web-animations-js": "2.3.1",
"zone.js": "^0.8.19"
},
......
import { NgModule } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { ConfirmationService, EditorModule, InputSwitchModule, OverlayPanelModule, PanelModule } from 'primeng/primeng';
import { Select2Module } from 'ng2-select2';
import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
import { ModalModule } from 'ngx-bootstrap/modal';
import { DeviceDetectorModule } from 'ngx-device-detector';
import { ConfirmationService } from 'primeng/primeng';
import { AppComponent } from './app.component';
import { AppRoutingModule } from './app.routing';
import { AppService } from './app.service';
import { AdminIframePageComponent } from './components/admin-portal/admin-iframe-page/admin-iframe-page.component';
import { AdminPortalLayoutComponent } from './components/admin-portal/admin-portal-layout/admin-portal-layout.component';
import { AdminPortalLayoutService } from './components/admin-portal/admin-portal-layout/admin-portal-layout.service';
import { EditMessageTemplateComponent } from './components/edit-message-template/edit-message-template.component';
import { EditMessageTemplateService } from './components/edit-message-template/edit-message-template.service';
import { EditWorkflowTemplateComponent } from './components/edit-workflow-template/edit-workflow-template.component';
import { EditWorkflowTemplateService } from './components/edit-workflow-template/edit-workflow-template.service';
import { ListMessageTemplateComponent } from './components/list-message-template/list-message-template.component';
import { ListWorkFlowsComponent } from './components/list-work-flows/list-work-flows.component';
import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component';
import { OneITModule } from './oneit/oneit.module';
@NgModule({
imports: [
AppRoutingModule,
OneITModule,
EditorModule,
OverlayPanelModule,
PanelModule,
InputSwitchModule
DeviceDetectorModule.forRoot(),
Select2Module,
ModalModule.forRoot(),
BsDropdownModule.forRoot()
],
declarations: [
AppComponent,
FullLayoutComponent,
AdminPortalLayoutComponent,
AdminIframePageComponent,
EditMessageTemplateComponent,
EditWorkflowTemplateComponent,
ListMessageTemplateComponent,
ListWorkFlowsComponent
ListWorkFlowsComponent,
EditWorkflowTemplateComponent
],
providers: [
FormBuilder,
ConfirmationService,
AdminPortalLayoutService,
AppService,
EditMessageTemplateService,
EditWorkflowTemplateService
......@@ -44,7 +52,6 @@ import { OneITModule } from './oneit/oneit.module';
})
export class AppModule {
// tslint:disable-next-line:no-empty
constructor() {
}
}
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { AdminIframePageComponent } from './components/admin-portal/admin-iframe-page/admin-iframe-page.component';
import { AdminPortalLayoutComponent } from './components/admin-portal/admin-portal-layout/admin-portal-layout.component';
import { EditMessageTemplateComponent } from './components/edit-message-template/edit-message-template.component';
import { EditWorkflowTemplateComponent } from "./components/edit-workflow-template/edit-workflow-template.component";
import { EditWorkflowTemplateComponent } from './components/edit-workflow-template/edit-workflow-template.component';
import { ListMessageTemplateComponent } from './components/list-message-template/list-message-template.component';
import { ListWorkFlowsComponent } from './components/list-work-flows/list-work-flows.component';
import { AccessDeniedComponent } from './oneit/components/access-denied/access-denied.component';
import { FullLayoutComponent } from './oneit/components/full-layout/full-layout.component';
import { HomeComponent } from './oneit/components/home/home.component';
import { IframePageComponent } from './oneit/components/iframe-page/iframe-page.component';
import { AuthGuard } from './oneit/guards/auth.guard';
export const routes: Routes = [
{
path: '',
......@@ -42,6 +43,22 @@ export const routes: Routes = [
canActivate: [AuthGuard],
component: IframePageComponent,
runGuardsAndResolvers: 'always'
}
]
},
{
path: 'admin',
component: AdminPortalLayoutComponent,
canActivate: [AuthGuard],
data: {
"privs" : ["TL_AccessAdminPortal"],
"redirectPage" : "extensions/adminportal/sign_in.jsp"
},
children: [
{
path: 'iframe-page/:url',
component: AdminIframePageComponent,
runGuardsAndResolvers: 'always'
},
{
path: 'edit-message-template',
......@@ -54,12 +71,12 @@ export const routes: Routes = [
canActivate: [AuthGuard]
},
{
path: 'list-message-template',
path: 'list-message-templates',
component: ListMessageTemplateComponent,
canActivate: [AuthGuard]
},
{
path: 'list-work-flows',
path: 'list-workflow-templates',
component: ListWorkFlowsComponent,
canActivate: [AuthGuard]
},
......@@ -75,12 +92,10 @@ export const routes: Routes = [
}
]
}
// Don't forget to add below line in app.module.ts
// entryComponents: [CustomHeaderComponent],
];
@NgModule({
imports: [RouterModule.forRoot(routes, {useHash: true, onSameUrlNavigation: 'reload'})],
imports: [RouterModule.forRoot(routes, { useHash: true, onSameUrlNavigation: 'reload' })],
exports: [RouterModule]
})
export class AppRoutingModule {
......
p-progressSpinner {
bottom: calc(100vh/2) !important;
right: calc(100vw/2) !important;
position: fixed !important;
}
<iframe #iframeElem
appIframeResizer
appIframeTracker
(iframeClick)="onIframeClick()"
width="100%"
[src]="pageURL | safe: 'url'"
scrolling="no"
frameborder="0"
style="width: 83.75%;"
(load)="onLoad(iframeElem)">
</iframe>
<p-progressSpinner animationDuration="1s" *ngIf="showLoader"></p-progressSpinner>
\ No newline at end of file
import { Location } from '@angular/common';
import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';
import { ActivatedRoute, NavigationEnd, Params, Router } from '@angular/router';
import { Subscription } from 'rxjs/Subscription';
import { IframeMsgHandlingService } from '../../../oneit/services/iframe-msg-handling.service';
import { MenuService } from '../../../oneit/services/menu.service';
import { MsgsService } from '../../../oneit/services/msgs.service';
import { UtilsService } from '../../../oneit/services/utils.service';
@Component({
selector: 'app-admin-iframe-page',
templateUrl: './admin-iframe-page.component.html',
styleUrls: ['./admin-iframe-page.component.css']
})
export class AdminIframePageComponent implements OnInit {
pageURL: string;
pageLoaded: boolean;
subscriptions: Array<Subscription> = [];
showLoader: boolean = true;
constructor(
private changeDetector: ChangeDetectorRef,
private route: ActivatedRoute,
private router: Router,
private location: Location,
private utilsService: UtilsService,
public menuService: MenuService,
public msgsService: MsgsService,
public iframeMsgHandlingService: IframeMsgHandlingService
) { }
ngOnInit() {
this.subscriptions.push(this.route.params.subscribe(
(params: Params) => {
console.log(params);
if (params.url) {
this.updateLoader(true);
this.pageURL = decodeURIComponent(params.url);
this.changeDetector.detectChanges();
this.msgsService.clearErrorMessages();
this.pageLoaded = true;
}
}
));
this.subscriptions.push(this.router.events.subscribe(
(e: any) => {
// If it is a NavigationEnd event re-initalise the component
if (e instanceof NavigationEnd) {
if (!this.pageLoaded) { //Don't load if params already called
this.updateLoader(true);
this.pageURL = ''; //Dummy value - else iframe doesnt load when you try to load same url
this.changeDetector.detectChanges();
setTimeout(() => {
this.pageURL = decodeURIComponent(e.url.substring(19)); //Length 13 is based on route path: '/admin/iframe-page/'
this.changeDetector.detectChanges();
this.msgsService.clearErrorMessages();
}, 100);
}
this.pageLoaded = false;
}
}
));
this.subscriptions.push(this.iframeMsgHandlingService.msgReceived.subscribe(
(message : any) => {
if(message && message["name"]){
if(message["name"] === "loadingCompleted") {
this.updateLoader(false);
}
else if(message["name"] === "loadingStarted") {
this.updateLoader(true);
}
}
}
));
}
ngOnDestroy() {
this.utilsService.unsubscribeSubscriptions(this.subscriptions);
}
onIframeClick() {
}
onLoad(iframe) {
var iframeURL = iframe.contentWindow.location.href;
if (iframeURL) {
//this.location.go(this.router.createUrlTree(['../' + encodeURIComponent(iframeURL)], { relativeTo: this.route }).toString()); //So that refresh page works properly
}
}
updateLoader(newValue: boolean){
this.showLoader = newValue;
if(!this.showLoader){
this.menuService.reloadMenuData(this.subscriptions); //Reload menu only once loading is completed
}
this.changeDetector.detectChanges();
}
}
<header>
<div class="container-fluid">
<div class="row" style="background-color: #ffffff;">
<div class="site-logo">
<a [routerLink]="['admin/iframe-page', homeURL]"><img src="assets/images/headerlogo.jpg"></a>
</div>
<div class="search-bar">
<div class="header-select" *ngIf="companyUser">
<select2 [data]="hiringTeams" [value]="selectedTeamID" (valueChanged)="selectedTeamChanged($event)"
[options]="select2Options">
</select2>
</div>
</div>
<div class="fl-right">
<div class="notification-bar">
<div class="tack-center" dropdown>
<a dropdownToggle href="javascript:void(0)">
<!--TODO: enable when there are notifications-->
<!--<span class="notification-label"></span>-->
<img src="assets/images/notification-icon.svg">
</a>
<ul class="profile-dropdown dropdown-menu" *dropdownMenu>
<span class="arrow-up"></span>
<li><a href="javascript:void(0)">No new notifications</a></li>
</ul>
</div>
</div>
<div class="user-profile-dropdown" dropdown *ngIf="userMenu">
<a class="user-name" dropdownToggle href="javascript:void(0)">
{{ userMenu.label }}
<img src="assets/images/arrow.svg" />
</a>
<ul class="profile-dropdown dropdown-menu" *dropdownMenu>
<span class="arrow-up"></span>
<li *ngFor="let menuItem of userMenu.children; let i = index">
<a [href]="menuItem.url" *ngIf="menuItem.url">
{{ menuItem.label }}
</a>
<a [routerLink]="menuItem.routerLink" *ngIf="menuItem.routerLink">
{{ menuItem.label }}
</a>
</li>
</ul>
</div>
<div class="create-job-btn">
<a *ngIf="selectedTeamID && companyUser" [ngClass]="{'disabled': createJobDisabled}" href="javascript:void(0)"
(click)="createJobClicked()">
Create Job
</a>
<!-- <%
if(selectedTeam != null && companyUser != null)
{
Article jobsArticle = WebUtils.getArticleByShortCut(objTran, WebUtils.JOBS);
boolean onJob = WebUtils.onJobPages(renderMode);
boolean hasBillingSetup = selectedTeam.hasBillingSetup();
boolean canCreateJob = selectedTeam.allowJobCreation();
boolean trialNotAllowed = selectedTeam.trialJobNotAllowed();
%>
<a href="<%= onJob || !canCreateJob ? "javascript:void(0);": jobsArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", WebUtils.START_JOB).toMap()) %>" class="<%= onJob || !hasBillingSetup ? "disabled" : ""%>" onclick="<%= canCreateJob ? "" : trialNotAllowed ? "trialNotAllowed()" : "showReachedCap()"%>">Create Job</a>
<%
}
%> -->
</div>
</div>
</div>
</div>
</header>
<ng-template #reachedCapModal>
<div class="modal-body main-welcome-popup">
<h2>Your account reached monthly cap!</h2>
<p *ngIf="isStandardUser">Your account has reached the monthly cap for number of jobs, contact your Administrator to have the Cap increased.</p>
<ng-container *ngIf="!isStandardUser">
<p>Your account has reached the monthly cap for number of jobs. Please make a request by contacting us to make changes.</p>
<div class="create-y-f-job">
<a href=" https://www.matchd.com/support/" target="_blank">Make a Request</a>
</div>
</ng-container>
</div>
</ng-template>
<ng-template #trialNotAllowedModal>
<div class="modal-body main-welcome-popup">
<h2>Your account is on trial!</h2>
<p *ngIf="isStandardUser">Only one Job can be created during the Trial. Please contact your Administrator to set up billing.</p>
<ng-container *ngIf="!isStandardUser">
<p>Only one Job can be created during the Trial. {{ !selectedTeam || !selectedTeam.CardID ? "Enter Billing Method and" : "" }} Select Plan to enable creation of additional jobs.</p>
<div class="create-y-f-job">
<a [routerLink]="['admin/iframe-page', redirectURL]">{{ !selectedTeam || !selectedTeam.CardID ? "Billing" : "Payment Plan" }}</a>
</div>
</ng-container>
</div>
</ng-template>
<!-- <%
if(selectedTeam != null && companyUser != null)
{
%>
<div class="modal fade" id="reachedCap" role="dialog">
<div class="modal-dialog welcome-pop-top">
<div class="modal-body main-welcome-popup">
<h2>Your account reached monthly cap!</h2>
<%
if(companyUser.getRoleForHiringTeam(selectedTeam) == RoleType.STANDARD)
{
%>
<p>Your account has reached the monthly cap for number of jobs, contact your Administrator to have the Cap increased.</p>
<%
}
else
{
%>
<p>Your account has reached the monthly cap for number of jobs. Please make a request by contacting us to make changes.</p>
<div class="create-y-f-job">
<a href=" https://www.matchd.com/support/" target="_blank">Make a Request</a>
</div>
<%
}
%>
</div>
</div>
</div>
<oneit:form name="popupForm" method="post" enctype="multipart/form-data">
<div class="modal fade" id="trialNotAllowed" role="dialog">
<div class="modal-dialog welcome-pop-top">
<div class="modal-body main-welcome-popup">
<h2>Your account is on trial!</h2>
<%
if(companyUser.getRoleForHiringTeam(selectedTeam) == RoleType.STANDARD)
{
%>
<p>Only one Job can be created during the Trial. Please contact your Administrator to set up billing</p>
<%
}
else
{
%>
<p>Only one Job can be created during the Trial. <%= selectedTeam.getCardID() == null ? "Enter Billing Method and" : "" %> Select Plan to enable creation of additional jobs.</p>
<div class="create-y-f-job">
<oneit:button value=" " name="gotoPage" skin="link"
requestAttribs="<%= CollectionUtils.mapEntry("nextPage", companyArticle.getLink(request, CollectionUtils.mapEntry("cms.rm", selectedTeam.getCardID() == null ? "Billing" : "ManagePlan").toMap()))
.mapEntry("procParams", CollectionUtils.mapEntry("HiringTeam", selectedTeam).toMap())
.toMap() %>">
Setup <%= selectedTeam.getCardID() == null ? "Billing" : "Payment Plan" %>
</oneit:button>
</div>
<%
}
%>
</div>
</div>
</div>
</oneit:form>
<%
}
%>
<script type="text/javascript">
$(document).ready(function()
{
if($('.dashboard-content-area').height() < $(window).height())
{
($('.dashboard-content-area').hasClass('second-part') ) ?
$('.dashboard-content-area').height($(window).height() - $('.dashboard-content-area').outerHeight() + $('.dashboard-content-area').height() - 65) :
$('.second-part').innerHeight( $(window).height() - $('.dashboard-first-part').outerHeight() - 65 )
}
});
</script>
<%
}
%> -->
<div class="container-fluid">
<div class="row content">
<div class="sidebar-menu fixed">
<div class="main-menu" *ngIf="sidebarMenu">
<ul>
<ng-container *ngFor="let menuItem of sidebarMenu.children; let i = index">
<span class="brack-line" *ngIf="menuItem.brakeLine"></span>
<li [class]="menuItem.disabled">
<a [class]="menuItem.linkCSSClass" [routerLink]="menuItem.routerLink">
<span [class]="menuItem.iconCSSClass"></span>
{{ menuItem.title }}
</a>
</li>
</ng-container>
</ul>
</div>
</div>
<router-outlet></router-outlet>
</div>
</div>
<p-progressSpinner animationDuration="1s" *ngIf="showLoader"></p-progressSpinner>
\ No newline at end of file
import { Message } from '@angular/compiler/src/i18n/i18n_ast';
import { Component, OnInit, ViewChild } from '@angular/core';
import { Title } from '@angular/platform-browser';
import { Router } from '@angular/router';
import { BsModalService } from 'ngx-bootstrap/modal';
import { DeviceDetectorService } from 'ngx-device-detector';
import { Subscription } from 'rxjs';
import { environment } from '../../../../environments/environment';
import { MsgsService } from '../../../oneit/services/msgs.service';
import { UserService } from '../../../oneit/services/user.service';
import { UtilsService } from '../../../oneit/services/utils.service';
import { AdminPortalLayoutService } from './admin-portal-layout.service';
@Component({
selector: 'app-admin-portal-layout',
templateUrl: './admin-portal-layout.component.html',
styleUrls: ['./admin-portal-layout.component.css']
})
export class AdminPortalLayoutComponent implements OnInit {
@ViewChild('reachedCapModal') reachedCapModal;
@ViewChild('trialNotAllowedModal') trialNotAllowedModal;
showLoader: boolean;
subscriptions: Array<Subscription> = [];
errorMsgs: Message[] = [];
successMsgs: Message[] = [];
showAllErrorsCalled: boolean = false;
dialogOpen: boolean = false;
clientName: string;
userName: string;
homeURL: string;
companyName: string;
companyUser: any;
selectedTeam: any;
selectedTeamID: string;
redirectURL: string;
createJobDisabled : boolean;
isStandardUser: boolean;
hiringTeams: any[];
userMenu: any;
sidebarMenu: any;
select2Options = {
minimumResultsForSearch: Infinity
}
constructor(
private deviceService: DeviceDetectorService,
private msgsService: MsgsService,
private userService: UserService,
private adminPortalLayoutService: AdminPortalLayoutService,
private utilsService: UtilsService,
private titleService: Title,
private router: Router,
private modalService: BsModalService
) { }
ngOnInit() {
if(this.deviceService.isMobile()) {
window.location.href = (environment.baseUrl + "extensions/adminportal/responsive_alert.jsp");
}
this.subscriptions.push(
this.msgsService.successMsgsUpdated.subscribe(
data => {
this.successMsgs = data;
}
)
);
this.subscriptions.push(
this.msgsService.errorMsgsUpdated.subscribe(
data => {
this.errorMsgs = data;
}
)
);
this.subscriptions.push(
this.msgsService.showAllErrors.subscribe((data) => {
this.showAllErrorsCalled = data;
})
);
this.titleService.setTitle('Matchd');
this.subscribeToUserData();
this.loadData();
}
onRouteUpdate() {
this.loadData();
}
loadData() {
this.userService.reloadUserDetails();
this.msgsService.clearErrorMessages();
this.adminPortalLayoutService.reloadAdminUserDetails();
this.loadMenu();
this.userName = this.userService.getUsername();
}
subscribeToUserData() {
this.subscriptions.push(this.adminPortalLayoutService.userDataUpdated.subscribe(
data => {
this.clientName = data.ClientName || this.userService.getFullName();
this.homeURL = data.HomeURL;
this.companyName = data.CompanyName;
this.companyUser = data.CompanyUser;
this.selectedTeam = data.SelectedTeam;
this.selectedTeamID = data.SelectedTeam ? data.SelectedTeam.ObjectID : null;
this.hiringTeams = data.HiringTeams;
this.createJobDisabled = data.CreateJobDisabled;
if(this.hiringTeams) {
//this.utilsService.addNULLOptionForAssocSelect(this.hiringTeams, 'HiringTeamName');
for(let hiringTeam of this.hiringTeams) {
hiringTeam.id = hiringTeam.ObjectID; //Added for select2
hiringTeam.text = hiringTeam.HiringTeamName;
}
}
if(this.companyName) {
this.titleService.setTitle('Matchd - ' + this.companyName);
} else {
this.titleService.setTitle('Matchd');
}
},
error => {
this.utilsService.handleError(error);
}
));
}
loadMenu() {
this.adminPortalLayoutService.getAdminMenu().subscribe(
data => {
this.userMenu = data.userMenu;
this.sidebarMenu= data.sidebarMenu;
},
error => {
this.utilsService.handleError(error);
}
)
}
selectedTeamChanged(event : any): void {
this.selectedTeamID = event.value;
this.showLoader = true;
this.subscriptions.push(
this.adminPortalLayoutService.selectHiringTeam(this.selectedTeamID).subscribe (
data => {
this.router.navigate(['admin/iframe-page', this.homeURL]);
this.loadData();
this.showLoader = false;
},
error => {
this.showLoader = false;
this.utilsService.handleError(error);
}
)
);
}
createJobClicked(): void {
this.showLoader = true;
this.subscriptions.push(
this.adminPortalLayoutService.createJob(this.selectedTeamID, this.companyUser).subscribe (
data => {
if(data.AllowCreateJob) {
if(data.AllowCreateJob === 'REACHED_CAP') {
this.modalService.show(this.reachedCapModal);
}
else if(data.AllowCreateJob === 'TRIAL') {
this.modalService.show(this.trialNotAllowedModal);
} else {
this.router.navigate(['admin/iframe-page', data.redirectURL]);
}
this.isStandardUser = data.StandardUser;
this.redirectURL = data.redirectURL;
this.showLoader = false;
}
},
error => {
this.showLoader = false;
this.utilsService.handleError(error);
}
)
);
}
}
import { Injectable } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { environment } from '../../../../environments/environment';
import { ApiService } from '../../../oneit/services/api.service';
import { UtilsService } from '../../../oneit/services/utils.service';
@Injectable()
export class AdminPortalLayoutService {
userDataUpdated = new Subject<any>();
userData: any;
constructor(
private apiService: ApiService,
private utilsService: UtilsService
) {
}
reloadAdminUserDetails() {
let params = {
environment: environment.envName
}
this.apiService.post(`svc/AdminUserDetails`, params).subscribe (
(data) => {
if (this.utilsService.isSuccessfulResponse(data)) {
this.userData = data;
this.userDataUpdated.next(data);
}
});
}
getAdminMenu(): Observable<any> {
let params = {
environment: environment.envName
}
return this.apiService.post(`svc/AdminMenu`, params).map(
(data) => {
if (this.utilsService.isSuccessfulResponse(data)) {
return data;
}
});
}
selectHiringTeam(selectedTeam) : Observable<any> {
return this.utilsService.processObjects("SelectHiringTeam", { HiringTeam : selectedTeam });
}
createJob(selectedTeam, companyUser) : Observable<any> {
return this.utilsService.processObjects("CreateJobVisibility", { SelectedTeam : selectedTeam, CompanyUser : companyUser });
}
getHiringTeamID() {
return this.userData ? this.userData.selectedTeam : null;
}
}
......@@ -256,7 +256,7 @@ export class EditMessageTemplateComponent extends BaseComponent implements OnIni
.subscribe(
() => {
this.utilsService.handleSuccess();
this.router.navigate(['/list-message-template']);
this.router.navigate(['/list-message-templates']);
},
error => {
this.showLoader = false;
......
......@@ -35,8 +35,9 @@ export class AuthGuard implements CanActivate {
this.userService.setDetailsFromData(data);
if (data.UserName == "noprivauthtoken") {
//localStorage.removeItem('userid');
window.location.href = (environment.baseUrl + "editor/" + "?url=" + encodeURIComponent(window.location.href));
let redirectPage = route.data["redirectPage"] || "editor/";
window.location.href = (environment.baseUrl + redirectPage + "?url=" + encodeURIComponent(window.location.href));
return false;
} else {
let privs = route.data["privs"] as Array<string>;
......
......@@ -6,7 +6,7 @@ import { DialogModule } from 'primeng/dialog';
import { DropdownModule } from 'primeng/dropdown';
import { FieldsetModule } from 'primeng/fieldset';
import { InputTextareaModule } from 'primeng/inputtextarea';
import { ButtonModule, CalendarModule, GrowlModule, InputTextModule, MegaMenuModule, MenubarModule, MessagesModule, ProgressSpinnerModule, ScrollPanelModule, SplitButtonModule, TabViewModule, TieredMenuModule, ToolbarModule } from 'primeng/primeng';
import { ButtonModule, CalendarModule, EditorModule, GrowlModule, InputTextModule, MegaMenuModule, MenubarModule, MessagesModule, OverlayPanelModule, ProgressSpinnerModule, ScrollPanelModule, SplitButtonModule, TabViewModule, TieredMenuModule, ToolbarModule, InputSwitchModule, PanelModule } from 'primeng/primeng';
import { SelectButtonModule } from 'primeng/selectbutton';
import { TableModule } from 'primeng/table';
......@@ -33,5 +33,9 @@ export const PrimeNGModules = [
ProgressSpinnerModule,
CalendarModule,
GrowlModule,
MessagesModule
MessagesModule,
EditorModule,
OverlayPanelModule,
PanelModule,
InputSwitchModule
];
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
/** Importing fonts */
@font-face {
font-family: 'Usual-Bold';
src: url('assets/fonts/Usual-Bold.woff2') format('woff2');
}
@font-face {
font-family: 'Usual-Light';
src: url('assets/fonts/Usual-Light.woff2') format('woff2');
}
@font-face {
font-family: 'Usual-Medium';
src: url('assets/fonts/Usual-Medium.woff2') format('woff2');
}
@font-face {
font-family: 'Usual-Regular';
src: url('assets/fonts/Usual-Regular.woff2') format('woff2');
}
* {
font-family: "Usual-Regular";
label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-family: "Usual-Medium";
font-weight: 500;
}
input {
font-family: "Usual-Light" !important;
}
}
form {
background-color: #e9ecef;
.form-control {
height: 50px;
border-radius: 2px;
box-shadow: inset 0 0 5px 0 rgba(0, 0, 0, 0.08);
border: solid 1px #dbdbdf;
display: block;
width: 100%;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
&:focus {
background-color: #ffffff;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
box-shadow: inset 0 0 5px 0 rgba(0, 0, 0, 0.08);
border: solid 1px rgba(3, 160, 231, 0.5);
outline: 0;
}
}
button, input, textarea {
font-family: "Usual-Light";
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd" stroke="#4E5258" stroke-linejoin="round" stroke-width=".696">
<path d="M12.377 5.504c0-3.294-3.084-5.176-5.884-5.176C3.013.328.324 3.08.324 6.588c0 1.994.65 3.863 2.598 5.027v3.771h6.493V13.11c1.298.007 1.96-.088 2.415-.547.583-.588.527-3.07.527-3.07s.553.022.972.004a.488.488 0 0 0 .374-.2c.084-.12.057-.266.068-.412.075-1.052-1.394-2.857-1.394-3.381z"/>
<path stroke-linecap="round" d="M8.73 4.948L6.07 7.801 4.172 5.94"/>
<path d="M10.202 6.22c0 2.17-1.743 3.928-3.895 3.928-2.15 0-3.896-1.758-3.896-3.928s1.745-3.929 3.896-3.929c2.152 0 3.895 1.76 3.895 3.929z"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="8" height="13" viewBox="0 0 8 13">
<path fill="#BBBFC5" fill-rule="evenodd" d="M7.018 12.368a.914.914 0 0 0 0-1.294L2.444 6.5l4.574-4.574A.914.914 0 1 0 5.724.632L.547 5.81a.903.903 0 0 0-.26.691.903.903 0 0 0 .26.69l5.177 5.178a.914.914 0 0 0 1.294 0"/>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="8px" height="14px" viewBox="0 0 8 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>D6BDAD12-2BC4-48CC-B37C-806410FBB444</title>
<desc>Created with sketchtool.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Applicant-Detail---HT004" transform="translate(-316.000000, -113.000000)" fill="#03A0E7">
<g id="Content-Region" transform="translate(260.000000, 65.000000)">
<g id="Job-Aps-HDR---Slim">
<g id="Banner" transform="translate(41.000000, 34.000000)">
<g id="Back" transform="translate(0.000000, 1.000000)">
<path d="M25.6867319,16.3132681 C25.2795882,15.9050805 24.6187628,15.9050805 24.2105751,16.3132681 L18.9928726,21.5309707 L13.7751701,16.3132681 C13.3669824,15.9050805 12.706157,15.9050805 12.2990133,16.3132681 C11.8908257,16.7214557 11.8908257,17.3822812 12.2990133,17.7894249 L18.2046842,23.6950958 C18.4207836,23.9122391 18.708916,24.0051513 18.9928726,23.9915799 C19.2768292,24.0051513 19.5649616,23.9122391 19.781061,23.6950958 L25.6867319,17.7894249 C26.0949195,17.3822812 26.0949195,16.7214557 25.6867319,16.3132681" id="Arrow" transform="translate(18.992873, 20.000000) rotate(-270.000000) translate(-18.992873, -20.000000) "></path>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="8" height="13" viewBox="0 0 8 13">
<path fill="#BBBFC5" fill-rule="evenodd" d="M.826.632a.914.914 0 0 0 0 1.294L5.4 6.5.826 11.074a.914.914 0 1 0 1.294 1.294L7.297 7.19a.903.903 0 0 0 .26-.691.903.903 0 0 0-.26-.69L2.12.631a.914.914 0 0 0-1.294 0"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="7" viewBox="0 0 13 7">
<path fill="#FFF" fill-rule="evenodd" d="M12.004.268a.914.914 0 0 0-1.294 0L6.136 4.842 1.562.268A.914.914 0 1 0 .268 1.562L5.445 6.74c.19.19.442.272.69.26a.903.903 0 0 0 .692-.26l5.177-5.177a.914.914 0 0 0 0-1.294"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="7" viewBox="0 0 13 7">
<path fill="#BBBFC5" fill-rule="evenodd" d="M12.004.268a.914.914 0 0 0-1.294 0L6.136 4.842 1.562.268A.914.914 0 1 0 .268 1.562L5.445 6.74c.19.19.442.272.69.26a.903.903 0 0 0 .692-.26l5.177-5.177a.914.914 0 0 0 0-1.294"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="37" height="30" viewBox="0 0 37 30">
<path fill="none" fill-rule="evenodd" stroke="#FFF" stroke-linecap="round" stroke-linejoin="round" stroke-width="8" d="M33 4L11.25 26 4 18.143"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="18" viewBox="0 0 16 18">
<g fill="#7D7F82" fill-rule="evenodd">
<path d="M12.811 17.053H3.096A2.637 2.637 0 0 1 .47 14.41V6.063h14.878a.23.23 0 0 0 .089-.018v8.365a2.637 2.637 0 0 1-2.626 2.643m0-15.539a.236.236 0 0 0-.235.237c0 .131.105.237.235.237a2.637 2.637 0 0 1 2.626 2.643v.976a.23.23 0 0 0-.089-.018H.47v-.958a2.637 2.637 0 0 1 2.626-2.643c.13 0 .235-.106.235-.237a.236.236 0 0 0-.235-.237C1.389 1.514 0 2.912 0 4.631v9.779c0 1.718 1.389 3.116 3.096 3.116h9.715c1.707 0 3.096-1.398 3.096-3.116V4.63c0-1.718-1.389-3.116-3.096-3.116"/>
<path d="M6.133 1.988H9.74c.13 0 .235-.106.235-.237a.236.236 0 0 0-.235-.236H6.133a.236.236 0 0 0-.235.236c0 .131.105.237.235.237M12.374 9.953h-8.84a.236.236 0 0 0-.236.237c0 .131.105.237.236.237h8.84c.13 0 .235-.106.235-.237a.236.236 0 0 0-.235-.237M9.89 12.67H6.126a.236.236 0 0 0-.236.237c0 .13.106.237.236.237H9.89c.13 0 .235-.107.235-.237a.236.236 0 0 0-.235-.237M4.596 3.83c.13 0 .235-.107.235-.237V.237a.236.236 0 1 0-.47 0v3.356c0 .13.105.236.235.236M11.312 3.83c.13 0 .235-.107.235-.237V.237a.236.236 0 1 0-.47 0v3.356c0 .13.105.236.235.236"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" viewBox="0 0 22 20">
<g fill="#C3C7CC" fill-rule="evenodd">
<path d="M9.2 9.08V4.786c0-1.488 1.21-2.699 2.699-2.699h.75a2.702 2.702 0 0 1 2.699 2.7v4.291a2.701 2.701 0 0 1-2.698 2.698h-.751c-1.488 0-2.7-1.21-2.7-2.698m4.73 4.426a.628.628 0 0 0-.274 1.224c3.126.701 6.05 1.821 6.255 2.381v.844H4.636l-.002-.827c.208-.577 3.133-1.697 6.259-2.398a.628.628 0 0 0 .49-.612V12.98c.17.021.34.052.516.052h.75a3.958 3.958 0 0 0 3.954-3.954V4.787A3.958 3.958 0 0 0 12.65.833h-.751a3.959 3.959 0 0 0-3.954 3.954V9.08c0 1.541.894 2.864 2.183 3.516v1.022c-2.75.648-6.8 1.88-6.745 3.493v1.472c0 .346.28.627.628.627h16.527c.347 0 .628-.28.628-.627V17.13c.056-1.733-4.51-3.016-7.237-3.626"/>
<path d="M6.053 13.986a.538.538 0 0 0 .42-.525v-.87c.125.015.249.038.378.038h.6a.538.538 0 0 0 0-1.076h-.6A2.126 2.126 0 0 1 4.727 9.43V5.995c0-1.172.952-2.124 2.124-2.124h.6a.538.538 0 0 0 0-1.076h-.6a3.203 3.203 0 0 0-3.2 3.2v3.434c0 1.24.715 2.303 1.747 2.835v.768c-2.58.608-5.44 1.569-5.398 2.824v2.76a.538.538 0 1 0 1.076 0l-.006-2.734c.191-.458 2.52-1.345 4.983-1.896"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="23" height="20" viewBox="0 0 23 20">
<g fill="#C3C7CC" fill-rule="evenodd">
<path d="M9.283 12.153h3.647v-1.484H9.283v1.484zm9.322-2.527H3.606a.521.521 0 1 0 0 1.043H8.24v2.005c0 .289.233.522.522.522h4.69a.52.52 0 0 0 .521-.522V10.67h4.633a.522.522 0 1 0 0-1.043z"/>
<path d="M20.87 17.952c0 .36-.293.652-.653.652H1.957a.652.652 0 0 1-.653-.652V5.669c0-.36.293-.652.653-.652h18.26c.36 0 .653.292.653.652v12.283zM8.984 3.407c0-1.16.944-2.103 2.103-2.103 1.16 0 2.103.943 2.103 2.103v.306H8.984v-.306zm11.233.306h-5.723v-.306A3.411 3.411 0 0 0 11.087 0 3.41 3.41 0 0 0 7.68 3.407v.306H1.957C.877 3.713 0 4.59 0 5.669v12.283c0 1.079.877 1.956 1.957 1.956h18.26a1.959 1.959 0 0 0 1.957-1.956V5.669c0-1.079-.878-1.956-1.957-1.956z"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd" stroke="#4E5258" stroke-linecap="round" stroke-linejoin="round" stroke-width=".696">
<path d="M.348 15.348h15v-15h-15z"/>
<path d="M2.305 4.913l1.304 1.304 3.26-3.26M2.305 10.783l1.304 1.305 3.26-3.261M8.174 5.566h5.218M8.174 11.435h5.218"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14">
<g fill="#4E5258" fill-rule="nonzero">
<path d="M7 0a7 7 0 1 0 7 7 7.009 7.009 0 0 0-7-7zm6.314 7A6.314 6.314 0 1 1 7 .686 6.321 6.321 0 0 1 13.314 7z"/>
<path d="M10.556 8.911a.343.343 0 0 0-.477.092c-.113.168-1.16 1.634-3.079 1.634-1.919 0-2.966-1.466-3.079-1.637a.344.344 0 1 0-.571.384c.137.203 1.379 1.939 3.65 1.939s3.513-1.736 3.647-1.934a.343.343 0 0 0-.091-.476V8.91z"/>
<circle cx="5.217" cy="5.079" r="1"/>
<circle cx="8.783" cy="5.079" r="1"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="7" viewBox="0 0 13 7">
<path fill="#FFF" fill-opacity=".7" fill-rule="evenodd" d="M12.004.268a.914.914 0 0 0-1.294 0L6.136 4.842 1.562.268A.914.914 0 1 0 .268 1.562L5.445 6.74c.19.19.442.272.69.26a.903.903 0 0 0 .692-.26l5.177-5.177a.914.914 0 0 0 0-1.294"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="22" viewBox="0 0 20 22">
<g fill="#C2C6CB" fill-rule="evenodd">
<path d="M5.241 21.575c-.664 0-1.075-.136-1.113-.15a.636.636 0 0 1-.4-.782l.994-3.3C1.796 15.639 0 12.63 0 9.372 0 4.205 4.47 0 9.964 0c5.493 0 9.962 4.205 9.962 9.372 0 4.74-3.768 8.738-8.765 9.302a.634.634 0 1 1-.142-1.26c4.354-.493 7.638-3.95 7.638-8.042 0-4.468-3.9-8.103-8.693-8.103-4.795 0-8.695 3.635-8.695 8.103 0 2.95 1.725 5.67 4.5 7.098.273.14.406.455.318.748l-.933 3.092c.657.029 1.779-.145 3.109-1.14a.634.634 0 1 1 .76 1.016c-1.525 1.14-2.884 1.39-3.782 1.39"/>
<path d="M8.778 7.81a.486.486 0 0 1-.041.2.56.56 0 0 1-.11.162.48.48 0 0 1-.359.149.487.487 0 0 1-.361-.146.502.502 0 0 1-.144-.365c0-.323.063-.627.187-.912a2.404 2.404 0 0 1 1.255-1.252c.284-.123.587-.184.908-.184.32 0 .622.063.907.189a2.406 2.406 0 0 1 1.254 1.257c.125.285.188.586.188.902 0 .642-.232 1.198-.695 1.67l-.761.704c-.26.259-.389.541-.389.85a.487.487 0 0 1-.504.504.496.496 0 0 1-.51-.505c0-.583.231-1.105.693-1.568l.763-.708a1.322 1.322 0 0 0 .28-1.46 1.391 1.391 0 0 0-.712-.714 1.268 1.268 0 0 0-.514-.107 1.3 1.3 0 0 0-.52.104c-.162.07-.303.164-.425.284a1.308 1.308 0 0 0-.39.946M10.802 12.617a.664.664 0 0 1-.202.487.664.664 0 0 1-.487.202.663.663 0 0 1-.488-.202.661.661 0 0 1-.202-.487c0-.191.067-.354.202-.488a.665.665 0 0 1 .488-.2c.19 0 .353.066.487.2a.668.668 0 0 1 .202.488"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="18" viewBox="0 0 20 18">
<path fill="#1A2531" fill-rule="evenodd" d="M15.211 16.319h-2.612V9.302a.563.563 0 0 0-.563-.563H7.088a.563.563 0 0 0-.562.563v7.017H3.914V5.294l5.649-4.04 5.648 4.04v11.025zm-7.56 0h3.823V9.864H7.65v6.455zM18.89 6.542l-9-6.437a.564.564 0 0 0-.655 0l-9 6.437a.562.562 0 1 0 .655.915l1.9-1.358V16.88c0 .31.25.563.561.563h12.422c.311 0 .563-.252.563-.563V6.1l1.899 1.358a.565.565 0 0 0 .785-.13.562.562 0 0 0-.13-.785z"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="18" viewBox="0 0 20 18">
<path fill="#C3C7CC" fill-rule="evenodd" d="M15.211 16.319h-2.612V9.302a.563.563 0 0 0-.563-.563H7.088a.563.563 0 0 0-.562.563v7.017H3.914V5.294l5.649-4.04 5.648 4.04v11.025zm-7.56 0h3.823V9.864H7.65v6.455zM18.89 6.542l-9-6.437a.564.564 0 0 0-.655 0l-9 6.437a.562.562 0 1 0 .655.915l1.9-1.358V16.88c0 .31.25.563.561.563h12.422c.311 0 .563-.252.563-.563V6.1l1.899 1.358a.565.565 0 0 0 .785-.13.562.562 0 0 0-.13-.785z"/>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="17px" viewBox="0 0 20 17" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>AF0E9984-0C6C-4A1E-ADAB-1379B1E82F72</title>
<desc>Created with sketchtool.</desc>
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Job-Card---Active" transform="translate(-297.000000, -63.000000)" stroke="#03A0E7" stroke-width="0.5">
<g id="Job-Card">
<g id="Meta" transform="translate(39.000000, 26.000000)">
<g id="icon-extend" transform="translate(258.000000, 37.000000)">
<path d="M4.68181818,13.8501818 C1.75202485,11.1121736 1.38603787,6.59474971 3.83686531,3.42082111 C5.93222546,0.707238192 9.49847354,-0.26271468 12.6074471,0.851621824" id="Shape"></path>
<polyline id="Shape" points="15.3181818 7.13472727 15.3181818 2.45290909 20 2.45290909"></polyline>
<polyline id="Shape" points="4.68181818 9.22563636 4.68181818 13.9074545 0 13.9074545"></polyline>
<path d="M15.3181818,2.51263636 C18.2524379,5.25843462 18.6098632,9.78822684 16.1425546,12.960238 C13.9801154,15.7403043 10.2728343,16.6739556 7.11186564,15.4024604" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>8A8DA27B-EA69-4B7E-9593-86C45C77A294</title>
<desc>Created with sketchtool.</desc>
<g id="2018---Create-Job" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="Create-a-job---step-2-J002" transform="translate(-573.000000, -328.000000)" stroke="#9B9B9B" stroke-width="1.5">
<g id="Content-Region" transform="translate(260.000000, 64.000000)">
<g id="Content" transform="translate(185.000000, 191.000000)">
<g id="Form" transform="translate(109.000000, 60.000000)">
<g id="Template" transform="translate(1.000000, 2.000000)">
<g id="icon-reuse-sml" transform="translate(19.000000, 12.000000)">
<polyline id="Shape" points="11.3684211 14.3289474 8.40789474 14.3289474 8.40789474 17.2894737"></polyline>
<path d="M17.4213158,14.9076316 C16.7765888,16.7917652 14.9465335,18.007774 12.9597657,17.872178 C10.9729979,17.736582 9.32512688,16.2832064 8.94236842,14.3289474" id="Shape"></path>
<polyline id="Shape" points="14.9210526 11.9605263 17.8815789 11.9605263 17.8815789 9"></polyline>
<path d="M8.86815789,11.3818421 C9.51288486,9.49770846 11.3429402,8.2816997 13.329708,8.41729567 C15.3164757,8.55289165 16.9643468,10.0062673 17.3471053,11.9605263" id="Shape"></path>
<path d="M5.44736842,15.5131579 L1.30263158,15.5131579 C0.648610165,15.5131579 0.118421053,14.9829688 0.118421053,14.3289474 L0.118421053,1.30263158 C0.118421053,0.648610165 0.648610165,0.118421053 1.30263158,0.118421053 L9.69394737,0.118421053 C10.0079137,0.118697451 10.30892,0.243643441 10.5307895,0.465789474 L12.7981579,2.73236842 C13.0202078,2.95456064 13.1448792,3.25587339 13.1447368,3.57 L13.1447368,5.44736842" id="Shape"></path>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="39" height="34" viewBox="0 0 39 34">
<g fill="none" fill-rule="evenodd" stroke="#C3C7CC" stroke-linecap="round" stroke-linejoin="round">
<path d="M29.744 15.372c0 3.392-2.743 6.141-6.127 6.141h-1.383c-3.384 0-6.128-2.75-6.128-6.14V7.447c0-3.39 2.744-6.14 6.128-6.14h1.383c3.384 0 6.127 2.75 6.127 6.14v7.924zM38.147 32.915H7.703v-2.717c-.09-2.717 12.425-5.525 12.425-5.525v-3.01M25.722 24.673s12.516 2.808 12.425 5.525v2.717M14.042 20.933h-1.107a4.909 4.909 0 0 1-4.904-4.914V9.678a4.909 4.909 0 0 1 4.904-4.915h1.107M11.25 21.052v2.41s-10.015 2.246-9.943 4.42v5.098"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd" stroke="#d3d3d3" stroke-linejoin="round" stroke-width="1">
<path d="M12.377 5.504c0-3.294-3.084-5.176-5.884-5.176C3.013.328.324 3.08.324 6.588c0 1.994.65 3.863 2.598 5.027v3.771h6.493V13.11c1.298.007 1.96-.088 2.415-.547.583-.588.527-3.07.527-3.07s.553.022.972.004a.488.488 0 0 0 .374-.2c.084-.12.057-.266.068-.412.075-1.052-1.394-2.857-1.394-3.381z"/>
<path stroke-linecap="round" d="M8.73 4.948L6.07 7.801 4.172 5.94"/>
<path d="M10.202 6.22c0 2.17-1.743 3.928-3.895 3.928-2.15 0-3.896-1.758-3.896-3.928s1.745-3.929 3.896-3.929c2.152 0 3.895 1.76 3.895 3.929z"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="17" viewBox="0 0 18 17">
<g fill="#1A2531" fill-rule="evenodd">
<path d="M6.494 3.163h10.641c.287 0 .52-.227.52-.506a.513.513 0 0 0-.52-.507H6.494a.513.513 0 0 0-.52.507c0 .279.233.506.52.506M2.032 9.523a.983.983 0 0 1-.994-.968c0-.534.446-.968.994-.968.547 0 .993.434.993.968a.983.983 0 0 1-.993.968m0-2.949C.912 6.574 0 7.462 0 8.554c0 1.093.912 1.982 2.032 1.982s2.032-.889 2.032-1.981c0-1.093-.912-1.98-2.032-1.98M17.135 8.049H6.493a.513.513 0 0 0-.519.506c0 .28.233.506.52.506h10.64c.287 0 .52-.227.52-.506a.513.513 0 0 0-.52-.506M2.032 15.422a.983.983 0 0 1-.994-.97c0-.533.446-.967.994-.967.547 0 .993.434.993.968s-.446.97-.993.97m0-2.95c-1.12 0-2.032.888-2.032 1.98 0 1.093.912 1.982 2.032 1.982s2.032-.889 2.032-1.982c0-1.092-.912-1.98-2.032-1.98M17.135 13.947H6.493a.513.513 0 0 0-.519.506c0 .28.233.506.52.506h10.64c.287 0 .52-.226.52-.506a.513.513 0 0 0-.52-.506M2.032 3.625a.983.983 0 0 1-.994-.969c0-.534.446-.968.994-.968.547 0 .993.434.993.968a.983.983 0 0 1-.993.969m0-2.95C.912.675 0 1.563 0 2.656s.912 1.981 2.032 1.981 2.032-.888 2.032-1.98c0-1.094-.912-1.982-2.032-1.982"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="17" viewBox="0 0 18 17">
<g fill="#C3C7CC" fill-rule="evenodd">
<path d="M6.494 3.163h10.641c.287 0 .52-.227.52-.506a.513.513 0 0 0-.52-.507H6.494a.513.513 0 0 0-.52.507c0 .279.233.506.52.506M2.032 9.523a.983.983 0 0 1-.994-.968c0-.534.446-.968.994-.968.547 0 .993.434.993.968a.983.983 0 0 1-.993.968m0-2.949C.912 6.574 0 7.462 0 8.554c0 1.093.912 1.982 2.032 1.982s2.032-.889 2.032-1.981c0-1.093-.912-1.98-2.032-1.98M17.135 8.049H6.493a.513.513 0 0 0-.519.506c0 .28.233.506.52.506h10.64c.287 0 .52-.227.52-.506a.513.513 0 0 0-.52-.506M2.032 15.422a.983.983 0 0 1-.994-.97c0-.533.446-.967.994-.967.547 0 .993.434.993.968s-.446.97-.993.97m0-2.95c-1.12 0-2.032.888-2.032 1.98 0 1.093.912 1.982 2.032 1.982s2.032-.889 2.032-1.982c0-1.092-.912-1.98-2.032-1.98M17.135 13.947H6.493a.513.513 0 0 0-.519.506c0 .28.233.506.52.506h10.64c.287 0 .52-.226.52-.506a.513.513 0 0 0-.52-.506M2.032 3.625a.983.983 0 0 1-.994-.969c0-.534.446-.968.994-.968.547 0 .993.434.993.968a.983.983 0 0 1-.993.969m0-2.95C.912.675 0 1.563 0 2.656s.912 1.981 2.032 1.981 2.032-.888 2.032-1.98c0-1.094-.912-1.982-2.032-1.982"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="50" height="51" viewBox="0 0 50 51">
<defs>
<path id="a" d="M24.991 50.003h24.992V.02H0v49.983h24.991z"/>
</defs>
<g fill="none" fill-rule="evenodd">
<g transform="translate(0 .668)">
<mask id="b" fill="#fff">
<use xlink:href="#a"/>
</mask>
<path fill="#3C5999" d="M47.224 50.02a2.76 2.76 0 0 0 2.759-2.76V2.78A2.76 2.76 0 0 0 47.224.02H2.76A2.759 2.759 0 0 0 0 2.78v44.48a2.759 2.759 0 0 0 2.759 2.76h44.465z" mask="url(#b)"/>
</g>
<path fill="#FEFEFE" d="M34.487 50.67V31.314h6.497l.973-7.543h-7.47v-4.816c0-2.184.607-3.673 3.739-3.673l3.994-.001V8.534c-.69-.092-3.062-.297-5.82-.297-5.76 0-9.703 3.515-9.703 9.97v5.564h-6.513v7.543h6.513V50.67h7.79z"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="50" height="51" viewBox="0 0 50 51">
<defs>
<path id="a" d="M25 0H0v50H49.998V0z"/>
</defs>
<g fill="none" fill-rule="evenodd">
<g transform="translate(0 .5)">
<mask id="b" fill="#fff">
<use xlink:href="#a"/>
</mask>
<path fill="#007AB5" d="M46.3 0H3.687C1.653 0 0 1.614 0 3.606v42.786C0 48.383 1.653 50 3.687 50H46.3c2.039 0 3.698-1.617 3.698-3.608V3.606C49.998 1.614 48.338 0 46.3 0" mask="url(#b)"/>
</g>
<path fill="#FEFEFE" d="M11.122 7.383a4.301 4.301 0 1 1-.005 8.603 4.301 4.301 0 0 1 .005-8.603zM7.408 43.106h7.424V19.245H7.408v23.86zM19.484 19.245h7.108v3.262h.101c.99-1.876 3.41-3.854 7.017-3.854 7.508 0 8.896 4.94 8.896 11.367v13.086h-7.414V31.502c0-2.767-.049-6.327-3.854-6.327-3.858 0-4.447 3.015-4.447 6.13v11.8h-7.407v-23.86z"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="209" height="38" viewBox="0 0 209 38">
<defs>
<path id="a" d="M18.437 23.317V.3H.713v23.017z"/>
</defs>
<g fill="none" fill-rule="evenodd">
<path fill="#131842" d="M59.596 19.569c0 3.094 2.133 4.938 4.792 4.938 6.302 0 6.302-9.844 0-9.844-2.66 0-4.792 1.809-4.792 4.906zm9.715-8.102h3.84V27.7h-3.774l-.197-2.37c-.92 1.91-3.446 2.831-5.252 2.864-4.791.035-8.336-2.93-8.336-8.625 0-5.598 3.709-8.529 8.435-8.497 2.167 0 4.233 1.022 5.153 2.633l.13-2.238zM79.86 4.684V27.7h-3.972V8.667c0-2.2 1.778-3.983 3.971-3.983M94.927 17.692c-.263-2.107-1.905-3.164-4.202-3.164-2.165 0-3.939 1.057-4.53 3.164h8.732zm-8.797 3.324c.263 2.008 2.002 3.456 4.826 3.456 1.476 0 3.412-.558 4.331-1.515l2.561 2.537c-1.706 1.777-4.497 2.635-6.958 2.635-5.58 0-8.896-3.458-8.896-8.66 0-4.94 3.349-8.495 8.6-8.495 5.415 0 8.796 3.359 8.173 10.042H86.13zM113.12 27.7v-8.496c0-2.47-1.345-4.346-3.905-4.346-2.461 0-4.136 2.075-4.136 4.544V27.7h-3.97V11.434h3.577l.263 2.207c1.64-1.614 3.281-2.437 5.316-2.437 3.807 0 6.86 2.866 6.86 7.968V27.7h-4.004zM124.88 8.315v3.187h4.464v3.455h-4.496v7.014c0 1.548.852 2.306 2.1 2.306.623 0 1.346-.199 1.936-.494L130 27.207c-1.149.461-2.1.657-3.315.692-3.512.13-5.808-1.877-5.808-5.928v-7.014h-3.02v-3.455h3.02V4.705a3.624 3.624 0 0 1 4.003 3.61M134.93 19.601c0 2.47 1.477 4.774 4.399 4.774 2.921 0 4.397-2.305 4.397-4.774 0-2.437-1.706-4.807-4.397-4.807-2.89 0-4.399 2.37-4.399 4.807m12.833 0c0 4.676-3.183 8.461-8.434 8.461-5.251 0-8.402-3.785-8.402-8.46 0-4.645 3.216-8.462 8.368-8.462 5.153 0 8.468 3.817 8.468 8.461M153.846 4.684V27.7h-3.973V8.67c0-2.2 1.779-3.985 3.973-3.985M159.952 19.601c0 2.47 1.477 4.774 4.399 4.774 2.921 0 4.398-2.305 4.398-4.774 0-2.437-1.706-4.807-4.398-4.807-2.889 0-4.399 2.37-4.399 4.807m12.834 0c0 4.676-3.183 8.461-8.435 8.461-5.251 0-8.402-3.785-8.402-8.46 0-4.645 3.217-8.462 8.369-8.462 5.153 0 8.468 3.817 8.468 8.461M178.046 19.172c0 2.83 1.905 4.512 4.235 4.512 2.297 0 4.201-1.713 4.201-4.512 0-2.799-1.904-4.576-4.201-4.576-2.33 0-4.235 1.745-4.235 4.576m11.622-7.783l.884.67-1.805 2.306c1.247 1.416 1.706 3.03 1.706 4.807 0 2.008-.755 4.842-3.412 6.06 2.69 1.348 3.347 3.292 3.347 5.366 0 4.478-3.413 7.244-8.107 7.244-4.693 0-8.206-2.866-8.206-7.244h3.971c0 2.108 1.938 3.491 4.235 3.491 2.297 0 4.102-1.252 4.102-3.49 0-2.247-2.116-3.268-4.125-3.26-4.047.015-7.596-2.757-8.095-6.786-.727-5.87 3.19-9.612 8.118-9.612 1.28 0 2.593.164 3.71.923a2.644 2.644 0 0 1 3.677-.475"/>
<g transform="translate(190.57 11.167)">
<mask id="b" fill="#fff">
<use xlink:href="#a"/>
</mask>
<path fill="#131842" d="M18.437.3L8.558 23.317h-4.4l3.021-7.046L.713.301h4.66l2.461 7.013 1.544 4.576 1.675-4.477L14.006.3z" mask="url(#b)"/>
</g>
<path fill="#9D3AC1" d="M9.415 32.813v-4.73l-4.409 7.143v2.01h2.976l1.708-4.423z"/>
<path fill="#7D40B2" d="M9.826 32.813H9.69l-1.708 4.423h1.844c.622 0 1.23-.058 1.828-.142l.876-4.693c-.87.27-1.78.412-2.704.412"/>
<path fill="#743CBC" d="M12.53 32.402l-.876 4.692a13.838 13.838 0 0 0 3.376-.903v-4.987a9.514 9.514 0 0 1-2.5 1.198"/>
<path fill="#EB2151" d="M5.22 19.9l-4.527.42c.272.859.625 1.68 1.038 2.464l4.372-1.249A10.72 10.72 0 0 1 5.22 19.9"/>
<path fill="#DD285C" d="M6.103 21.535l-4.372 1.249c.401.76.87 1.476 1.389 2.153l4.047-2.022c-.391-.436-.748-.895-1.064-1.38"/>
<path fill="#653CBF" d="M16.837 29.637a9.454 9.454 0 0 1-1.807 1.567v4.988a14.022 14.022 0 0 0 2.901-1.631l-.948-5.09-.146.166z"/>
<path fill="#DB2ACE" d="M9.415 25.057l-1.095-.986-3.57 2.704c.085.087.167.176.256.256v2.986l4.41-4.851v-.109z"/>
<path fill="#D82BA7" d="M7.951 23.74c-.138-.125-.263-.262-.394-.393-.136-.14-.26-.287-.39-.431L3.12 24.937c.407.53.836 1.044 1.307 1.518.108.107.216.212.323.32l3.57-2.704-.369-.331z"/>
<path fill="#B53CBF" d="M9.415 25.166l-4.409 4.851v5.209l4.41-7.142z"/>
<path fill="#2E88CC" d="M25.651 24.295l4.408 2.202v-3.218l-4.408-1.258z"/>
<path fill="#316FC9" d="M25.651 26.474c0 .174-.034.34-.083.498l4.491 3.403v-3.878l-4.408-2.202v2.18z"/>
<path fill="#25BFD8" d="M27.407 20.14c.235.403-.02.858-.718 1.132l-1.037.408v.34l4.407 1.259v-2.893l-2.652-.246z"/>
<path fill="#325ECC" d="M23.98 28.152h-.624l4.019 4.422h2.684v-2.199l-4.491-3.403a1.667 1.667 0 0 1-1.589 1.18"/>
<path fill="#5B3AC1" d="M18.152 28.152l-1.169 1.32.948 5.088a13.65 13.65 0 0 0 2.202-1.986h.143l-1.708-4.422h-.416z"/>
<path fill="#4D38C6" d="M18.568 28.152l1.708 4.422h3.138l-2.729-4.422z"/>
<path fill="#3640C6" d="M20.685 28.152l2.73 4.422h3.96l-4.019-4.422z"/>
<path fill="#A6CE36" d="M21.96 7.761L24.3 3.968c-.86-.68-1.799-1.26-2.798-1.741l-1.597 4.136c.74.386 1.427.856 2.054 1.398"/>
<path fill="#6CD32A" d="M24.78 11.602l3.587-2.717a15.092 15.092 0 0 0-1.74-2.657l-3.024 3.327c.462.635.863 1.317 1.177 2.047"/>
<path fill="#7AD629" d="M22.537 8.288c.39.39.74.82 1.066 1.267l3.024-3.327c-.306-.372-.63-.73-.97-1.071a15.348 15.348 0 0 0-1.355-1.19L21.96 7.761c.196.172.393.342.577.527"/>
<path fill="#DD4228" d="M4.62 18.02l-4.504-.418c.112.935.3 1.845.577 2.718l4.526-.42a10.016 10.016 0 0 1-.6-1.88"/>
<path fill="#53D12A" d="M25.452 13.783l4.042-2.02a15.018 15.018 0 0 0-1.127-2.877l-3.587 2.716c.299.692.525 1.423.672 2.18"/>
<path fill="#30CEBB" d="M27.017 19.768c.184.112.313.239.39.372l2.652.246V17.59l-4.4.41c.313.634.793 1.42 1.358 1.767"/>
<path fill="#CEB836" d="M15.03 5.163c.869 0 1.709.117 2.518.315l.811-4.353A14.992 14.992 0 0 0 15.03.74v4.422z"/>
<path fill="#30D6A6" d="M25.651 17.985a.106.106 0 0 0 .01.015l4.398-.408v-1.773c0-.373-.028-.738-.055-1.104l-4.353 1.242v2.028z"/>
<path fill="#35D356" d="M25.651 15.819v.138l4.353-1.242c-.074-1.016-.246-2.001-.51-2.951l-4.042 2.018c.128.66.2 1.34.2 2.037"/>
<path fill="#C7D632" d="M19.906 6.363l1.598-4.136a14.898 14.898 0 0 0-3.145-1.102l-.81 4.353c.827.204 1.618.5 2.357.885"/>
<path fill="#E27F24" d="M6.457 9.554L3.433 6.226c-.671.817-1.25 1.71-1.74 2.658l3.587 2.718c.315-.73.715-1.413 1.177-2.048"/>
<path fill="#D86B2E" d="M5.28 11.602L1.693 8.885a14.97 14.97 0 0 0-1.127 2.878l4.042 2.019c.147-.758.373-1.488.672-2.18"/>
<path fill="#DB512C" d="M4.408 15.819c0-.697.072-1.377.2-2.037l-4.042-2.02c-.265.95-.437 1.937-.51 2.952l4.352 1.243v-.138z"/>
<path fill="#D1AB34" d="M15.03 5.163V.741c-1.146 0-2.257.14-3.329.384l.811 4.354a10.53 10.53 0 0 1 2.518-.316"/>
<path fill="#DB5C2A" d="M4.408 16.026v-.07L.055 14.713C.03 15.08 0 15.446 0 15.82c0 .605.046 1.197.116 1.783l4.504.418a9.617 9.617 0 0 1-.212-1.994"/>
<path fill="#E08727" d="M7.523 8.288c.184-.185.38-.356.578-.526L5.758 3.967c-.472.373-.931.764-1.356 1.19-.34.341-.663.697-.969 1.07l3.024 3.327c.326-.447.677-.875 1.066-1.266"/>
<path fill="#DDAE2C" d="M12.513 5.479L11.7 1.125c-1.1.25-2.15.624-3.144 1.101l1.598 4.137a10.51 10.51 0 0 1 2.358-.884"/>
<path fill="#E09B2B" d="M10.154 6.363L8.557 2.227a14.974 14.974 0 0 0-2.798 1.74L8.1 7.761a10.687 10.687 0 0 1 2.054-1.398"/>
<path fill="#131842" d="M47.28 8.603h-7.287V4.652h18.905v3.951h-7.284V27.7H47.28z"/>
</g>
</svg>
<?xml version="1.0" ?><svg height="60px" version="1.1" viewBox="0 0 60 60" width="60px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title/><desc/><defs/><g fill="none" fill-rule="evenodd" id="Page-1" stroke="none" stroke-width="1"><g id="Social_icons" transform="translate(-422.000000, -954.000000)"><g id="Mastercard" transform="translate(422.000000, 954.000000)"><circle cx="30" cy="30" fill="#FFFFFF" id="Oval" r="30"/><g id="g3110" transform="translate(12.000000, 19.000000)"><path d="M35.9736305,11.1445924 C35.9736305,17.2982476 30.994537,22.2867716 24.8525128,22.2867716 C18.7104886,22.2867716 13.7313936,17.2982476 13.7313936,11.1445924 C13.7313936,4.99093624 18.7104886,0.00241261301 24.8525128,0.00241261301 C30.994537,0.00241261301 35.9736305,4.99093624 35.9736305,11.1445924 L35.9736305,11.1445924 Z" fill="#F79F1A" id="path2997"/><path d="M22.2540437,11.1445924 C22.2540437,17.2982476 17.2749503,22.2867716 11.132926,22.2867716 C4.99090183,22.2867716 0.0118068562,17.2982476 0.0118068562,11.1445924 C0.0118068562,4.99093624 4.99090183,0.00241261301 11.132926,0.00241261301 C17.2749503,0.00241261301 22.2540437,4.99093624 22.2540437,11.1445924 L22.2540437,11.1445924 Z" fill="#EA001B" id="path2995"/><path d="M17.9927419,2.3733871 C15.3979037,4.41315778 13.7322581,7.58283794 13.7322581,11.1435484 C13.7322581,14.7042588 15.3979037,17.8763582 17.9927419,19.916129 C20.5875801,17.8763582 22.2532258,14.7042588 22.2532258,11.1435484 C22.2532258,7.58283794 20.5875801,4.41315778 17.9927419,2.3733871 L17.9927419,2.3733871 Z" fill="#FF5F01" id="path2999"/></g></g></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22">
<g fill="none" fill-rule="evenodd" stroke="#BABEC5" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.2">
<path d="M.6 19.6h10v-11H.6z"/>
<path d="M18.6 19.6h-8v-11h-2v-8h10z"/>
<path d="M13.6 19.6h3v-3h-3zM2.6 19.6h3v-3h-3zM.6 10.6h4M.6 12.6h3M8.6 4.6h4M8.6 2.6h6M8.6 6.6h3M.6 14.6h2"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="29" viewBox="0 0 26 29">
<g fill="none" fill-rule="evenodd" stroke="#BBBFC5" stroke-linejoin="round">
<path d="M13.764 24.003l-5.711-2.692c-.807 2.005-.12 3.91 1.458 4.655 1.577.742 3.447.041 4.253-1.963zM21.292 3.148a1.526 1.526 0 0 0-.724-2.008 1.472 1.472 0 0 0-1.97.74c-.343.758.14 1.305.884 1.655.745.351 1.467.372 1.81-.387z"/>
<path d="M24.462 14.317c1.092-4.262-.93-8.872-4.98-10.782-4.079-1.922-8.87-.468-11.329 3.2-1.152 1.875-2.853 7.65-3.937 8.359L0 17.524l21.662 10.21-.918-4.85c-.176-1.321 3.13-6.514 3.718-8.567zM21.664 27.73l-.002.003h.002v-.003z"/>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="13px" height="13px" viewBox="0 0 13 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>B0DE6AE9-7EA8-49E0-8EC2-EBF60DA473EC</title>
<desc>Created with sketchtool.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="My-Details-HT016-1" transform="translate(-1056.000000, -444.000000)" fill="#F5A623">
<g id="Modal---Success" transform="translate(780.000000, 427.000000)">
<path d="M281.698324,22.6983239 L274.313708,22.6983239 L274.313708,23.9290931 L281.698324,23.9290931 L281.698324,31.3137085 L282.929093,31.3137085 L282.929093,23.9290931 L290.313708,23.9290931 L290.313708,22.6983239 L282.929093,22.6983239 L282.929093,15.3137085 L281.698324,15.3137085 L281.698324,22.6983239 Z" id="Combined-Shape" transform="translate(282.313708, 23.313708) rotate(-315.000000) translate(-282.313708, -23.313708) "></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="19px" height="24px" viewBox="0 0 19 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 48.2 (47327) - http://www.bohemiancoding.com/sketch -->
<title>C8712D45-F20C-4D6B-8B1B-7BF5B326C740</title>
<desc>Created with sketchtool.</desc>
<defs>
<polygon id="path-1" points="0.0177487805 0.0224188235 16.8673079 0.0224188235 16.8673079 22.1449412 0.0177487805 22.1449412"></polygon>
<polygon id="path-3" points="0 23.9775812 18.9526738 23.9775812 18.9526738 0.0564705882 0 0.0564705882"></polygon>
</defs>
<g id="HT024---Invoices" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(-1304.000000, -514.000000)">
<g id="Group-2-Copy-2" transform="translate(706.000000, 514.000000)">
<g id="pdf" transform="translate(598.000000, 0.000000)">
<g id="Group-3" transform="translate(2.085366, 0.034052)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<g id="Clip-2"></g>
<path d="M7.64427927,21.2940988 L1.96148354,21.2940988 C1.37057195,21.2940988 0.890590244,20.7648 0.890590244,20.11392 L0.890590244,9.82689882 L0.0177487805,9.82689882 L0.0177487805,20.11392 C0.0177487805,21.2336753 0.889721341,22.1449412 1.96148354,22.1449412 L8.31889512,22.1449412 L7.64427927,21.2940988 Z M12.4516848,5.32585412 C12.1410232,5.32585412 11.8879409,5.03909647 11.8879409,4.68598588 L11.8879409,1.53865412 L15.4403037,5.32585412 L12.4516848,5.32585412 Z M11.6478921,0.0223623529 L1.96148354,0.0223623529 C0.889721341,0.0223623529 0.0177487805,0.933628235 0.0177487805,2.05338353 L0.0177487805,3.89212235 L0.890590244,3.89212235 L0.890590244,2.05338353 C0.890590244,1.40250353 1.37057195,0.873261176 1.96148354,0.873261176 L11.0150415,0.873261176 L11.0150415,4.68598588 C11.0150415,5.50791529 11.6593616,6.17669647 12.4516848,6.17669647 L15.9944896,6.17669647 L15.9944896,20.11392 C15.9944896,20.7648 15.5143921,21.2940988 14.9235384,21.2940988 L13.6727823,21.2940988 L12.9981085,22.1449412 L14.9235384,22.1449412 C15.9953006,22.1449412 16.8673311,21.2336753 16.8673311,20.11392 L16.8673311,5.58618353 L11.6478921,0.0223623529 Z" id="Fill-1" fill="#4D4D4D" mask="url(#mask-2)"></path>
</g>
<mask id="mask-4" fill="white">
<use xlink:href="#path-3"></use>
</mask>
<g id="Clip-5"></g>
<polygon id="Fill-4" fill="#E03E1A" mask="url(#mask-4)" points="0 9.26575059 11.5930122 9.26575059 11.5930122 4.52188235 0 4.52188235"></polygon>
<path d="M9.05765915,18.7693271 C8.94823537,18.7693271 8.84831159,18.8299765 8.80011646,18.9258071 C8.75186341,19.0215247 8.76373841,19.1357082 8.83070183,19.2200753 L12.5170494,23.86896 C12.5713848,23.9375153 12.6552049,23.9776094 12.7440646,23.9776094 C12.8328665,23.9776094 12.9166866,23.9375153 12.9710799,23.86896 L16.6574854,19.2200753 C16.7244488,19.1357082 16.7363238,19.0215247 16.6880707,18.9258071 C16.6398756,18.8299765 16.5399518,18.7693271 16.4304701,18.7693271 L15.072839,18.7693271 C14.9935951,18.7693271 14.9293543,18.7067576 14.9293543,18.6294494 L14.9293543,13.6545035 C14.9293543,13.5 14.8008726,13.3748047 14.6424427,13.3748047 L10.8457445,13.3748047 C10.6873146,13.3748047 10.5588329,13.5 10.5588329,13.6545035 L10.5588329,18.6294494 C10.5588329,18.7067576 10.4945921,18.7693271 10.4153482,18.7693271 L9.05765915,18.7693271 Z" id="Fill-6" fill="#E03E1A" mask="url(#mask-4)"></path>
<path d="M2.56623384,6.78934588 C2.6268253,6.80301176 2.7010875,6.80747294 2.80350213,6.80747294 C3.18066372,6.80747294 3.41347165,6.62134588 3.41347165,6.30816 C3.41347165,6.02693647 3.21333445,5.85888 2.8595753,5.85888 C2.71522165,5.85888 2.6173253,5.87248941 2.56623384,5.88609882 L2.56623384,6.78934588 Z M1.8633497,5.40056471 C2.08202348,5.36414118 2.38915152,5.33703529 2.82232835,5.33703529 C3.25990762,5.33703529 3.57195945,5.41863529 3.78124909,5.58206118 C3.98173384,5.73645176 4.11670335,5.99056941 4.11670335,6.29008941 C4.11670335,6.58960941 4.01428872,6.84389647 3.82776433,7.01635765 C3.58597774,7.23879529 3.22729482,7.33863529 2.80842591,7.33863529 C2.71522165,7.33863529 2.63140152,7.33411765 2.56623384,7.32491294 L2.56623384,8.41880471 L1.8633497,8.41880471 L1.8633497,5.40056471 Z" id="Fill-7" fill="#FFFFFF" mask="url(#mask-4)"></path>
<path d="M5.28203476,7.89680753 C5.34227866,7.91047341 5.44011707,7.91047341 5.52851341,7.91047341 C6.17109573,7.915104 6.5903122,7.57012518 6.5903122,6.83922635 C6.59483049,6.20381929 6.21315061,5.86804518 5.60312317,5.86804518 C5.44469329,5.86804518 5.34227866,5.88171106 5.28203476,5.89515106 L5.28203476,7.89680753 Z M4.56965061,5.40052518 C4.83014756,5.35969694 5.17017805,5.33699576 5.52851341,5.33699576 C6.12440671,5.33699576 6.51112622,5.44135341 6.81362012,5.66384753 C7.13963232,5.89983812 7.34440366,6.27655341 7.34440366,6.81658165 C7.34440366,7.40212518 7.1255561,7.80605929 6.82312012,8.05565929 C6.49253171,8.32349929 5.98949512,8.45061459 5.37494939,8.45061459 C5.00711402,8.45061459 4.74632744,8.42785694 4.56965061,8.40515576 L4.56965061,5.40052518 Z" id="Fill-8" fill="#FFFFFF" mask="url(#mask-4)"></path>
<polygon id="Fill-9" fill="#FFFFFF" mask="url(#mask-4)" points="7.81178049 5.35968565 9.72962195 5.35968565 9.72962195 5.92698918 8.52410671 5.92698918 8.52410671 6.62598212 9.65078354 6.62598212 9.65078354 7.18893741 8.52410671 7.18893741 8.52410671 8.41881035 7.81178049 8.41881035"></polygon>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="11" viewBox="0 0 14 11">
<path fill="none" fill-rule="evenodd" stroke="#FFF" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M12 2L4.5 9 2 6.5"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="21" viewBox="0 0 22 21">
<g fill="none" fill-rule="evenodd" transform="translate(0 1)">
<circle cx="13.5" cy="7.5" r="7.5" stroke="#BBBFC5" stroke-width="2"/>
<rect width="2.531" height="9.968" x="3.388" y="10.624" fill="#BBBFC5" rx="1.266" transform="rotate(46 4.653 15.608)"/>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="22px" height="21px" viewBox="0 0 22 21" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 51.2 (57519) - http://www.bohemiancoding.com/sketch -->
<title>B7CB3395-ADDC-4A0D-8E10-9531631BEEF7</title>
<desc>Created with sketchtool.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="View-Applicants-HT005---Shortlist" transform="translate(-1485.000000, -365.000000)">
<g id="Content-Region" transform="translate(260.000000, 63.000000)">
<g id="Filters" transform="translate(79.000000, 270.000000)">
<g id="Search" transform="translate(1002.000000, 0.000000)">
<g id="Select" transform="translate(0.000000, 20.000000)">
<g id="Search-icon" transform="translate(144.000000, 13.000000)">
<circle id="Oval" stroke="#BBBFC5" stroke-width="2" cx="13.5" cy="7.5" r="7.5"></circle>
<rect id="Rectangle" fill="#BBBFC5" transform="translate(4.653240, 15.607983) rotate(46.000000) translate(-4.653240, -15.607983) " x="3.38759337" y="10.6237682" width="2.53129361" height="9.9684287" rx="1.2656468"></rect>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="8" viewBox="0 0 13 8">
<path fill="#BBBFC5" fill-rule="evenodd" d="M12.004.518a.914.914 0 0 0-1.294 0L6.136 5.092 1.562.518A.914.914 0 1 0 .268 1.812L5.445 6.99c.19.19.442.272.69.26a.903.903 0 0 0 .692-.26l5.177-5.177a.914.914 0 0 0 0-1.294"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="7" viewBox="0 0 13 7">
<path fill="#BBBFC5" fill-rule="evenodd" d="M.268 6.732a.914.914 0 0 0 1.294 0l4.574-4.574 4.574 4.574a.914.914 0 1 0 1.294-1.294L6.827.26a.903.903 0 0 0-.691-.26.903.903 0 0 0-.691.26L.268 5.438a.914.914 0 0 0 0 1.294"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
<g fill="none" fill-rule="evenodd" stroke="#d3d3d3" stroke-linecap="round" stroke-linejoin="round" stroke-width="1">
<path d="M.348 15.348h15v-15h-15z"/>
<path d="M2.305 4.913l1.304 1.304 3.26-3.26M2.305 10.783l1.304 1.305 3.26-3.261M8.174 5h5.218M8.174 11h5.218"/>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="22px" height="22px" viewBox="0 0 22 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: sketchtool 51.2 (57519) - http://www.bohemiancoding.com/sketch -->
<title>0ABEF7BC-9FCB-4B62-B4AD-F394176D0922</title>
<desc>Created with sketchtool.</desc>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="HT004-PDF---Applicant-Report---Summary" transform="translate(-962.000000, -118.000000)" stroke="#2EB36B" stroke-width="2.25">
<g id="Applicant-Details" transform="translate(0.000000, 80.000000)">
<g id="Meta-Top----Right" transform="translate(963.000000, 23.000000)">
<g id="Shortlist-Flag" transform="translate(0.000000, 17.000000)">
<g id="Shortlist-Icon" transform="translate(0.713985, 0.000000)">
<path d="M14.1623787,1.44975135 C12.7496496,0.57112973 11.0829986,0.0642918919 9.29785063,0.0642918919 C4.19838065,0.0642918919 0.0643268821,4.20218378 0.0643268821,9.30753514 C0.0643268821,14.412373 4.19838065,18.5507784 9.29785063,18.5507784 C14.3973206,18.5507784 18.5313744,14.412373 18.5313744,9.30753514 C18.5313744,8.26150811 18.3574763,7.25553514 18.0373809,6.31734595" id="Stroke-1"></path>
<polyline id="Stroke-3" points="4.68088356 7.72026486 9.29764544 12.0615081 17.2723321 2.58512973"></polyline>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="11" height="9" viewBox="0 0 11 9">
<path fill="none" fill-rule="evenodd" stroke="#03A0E7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.25" d="M2 4.852l2.567 2.41L9 2"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="27" height="20" viewBox="0 0 27 20">
<g fill="none" fill-rule="evenodd" stroke="#BABEC5" stroke-linejoin="round">
<path d="M20.592 8.948a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/>
<path d="M22.592 8.948c0-.28-.036-.55-.098-.81l.995-.574-1-1.732-1.078.575c-.393-.373-.985-.654-1.485-.813V4.448h-2v1.147c-.5.158-.926.439-1.318.812l-.953-.575-.98 1.732 1.005.574a3.434 3.434 0 0 0 .007 1.62l-.993.574 1 1.732.912-.575c.394.372.82.653 1.32.813v1.146h2v-1.146c.5-.16 1.093-.441 1.485-.813l1.037.575 1.02-1.732-.983-.574c.06-.26.107-.531.107-.81z"/>
<path stroke-linecap="round" stroke-width="1.2" d="M12.269 8.03a3.245 3.245 0 0 1-3.244 3.243h-.733A3.244 3.244 0 0 1 5.049 8.03V3.843A3.243 3.243 0 0 1 8.292.6h.733a3.244 3.244 0 0 1 3.244 3.243V8.03zM7.178 11.352v1.59S.553 14.425.6 15.86v1.435h8.058M10.14 12.942s6.625 1.483 6.578 2.918v1.436h-8.06"/>
</g>
</svg>
<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'><svg height="512px" style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="512px" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="形状_1_3_" style="enable-background:new ;"><g id="形状_1"><g><path d="M211.328,184.445l-23.465,144.208h37.542l23.468-144.208 H211.328z M156.276,184.445l-35.794,99.185l-4.234-21.358l0.003,0.007l-0.933-4.787c-4.332-9.336-14.365-27.08-33.31-42.223 c-5.601-4.476-11.247-8.296-16.705-11.559l32.531,124.943h39.116l59.733-144.208H156.276z M302.797,224.48 c0-16.304,36.563-14.209,52.629-5.356l5.357-30.972c0,0-16.534-6.288-33.768-6.288c-18.632,0-62.875,8.148-62.875,47.739 c0,37.26,51.928,37.723,51.928,57.285c0,19.562-46.574,16.066-61.944,3.726l-5.586,32.373c0,0,16.763,8.148,42.382,8.148 c25.616,0,64.272-13.271,64.272-49.37C355.192,244.272,302.797,240.78,302.797,224.48z M455.997,184.445h-30.185 c-13.938,0-17.332,10.747-17.332,10.747l-55.988,133.461h39.131l7.828-21.419h47.728l4.403,21.419h34.472L455.997,184.445z M410.27,277.641l19.728-53.966l11.098,53.966H410.27z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#005BAC;"/></g></g></g><g id="形状_1_2_" style="enable-background:new ;"><g id="形状_1_1_"><g><path d="M104.132,198.022c0,0-1.554-13.015-18.144-13.015H25.715 l-0.706,2.446c0,0,28.972,5.906,56.767,28.033c26.562,21.148,35.227,47.51,35.227,47.51L104.132,198.022z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#F6AC1D;"/></g></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28">
<g fill="#4E5258" fill-rule="nonzero" opacity=".5">
<path d="M13.953 0C6.247 0 0 6.268 0 14s6.247 14 13.953 14c7.706 0 13.952-6.268 13.952-14-.01-7.728-6.25-13.99-13.952-14zm12.586 14c0 6.975-5.635 12.629-12.586 12.629-6.951 0-12.586-5.654-12.586-12.629S7.002 1.371 13.953 1.371C20.9 1.38 26.53 7.03 26.539 14z"/>
<path d="M21.04 17.823a.682.682 0 0 0-.951.183c-.225.337-2.312 3.268-6.136 3.268-3.824 0-5.912-2.931-6.137-3.274a.686.686 0 0 0-1.186.082.69.69 0 0 0 .047.687c.274.405 2.748 3.877 7.276 3.877 4.527 0 7.002-3.472 7.27-3.869a.687.687 0 0 0-.183-.951v-.003z"/>
<ellipse cx="10.399" cy="10.157" rx="1.64" ry="1.646"/>
<ellipse cx="17.506" cy="10.157" rx="1.64" ry="1.646"/>
</g>
</svg>
@import "assets/css/custom.scss";
@import "assets/css/helper.scss";
/* All css imports moved here to preserve same order. When added in angular.json, order gets changed */
@import url('~bootstrap/dist/css/bootstrap.min.css');
@import url('~primeng/resources/primeng.min.css');
@import url('~font-awesome/css/font-awesome.min.css');
@import url('~fullcalendar/dist/fullcalendar.min.css');
@import url('~quill/dist/quill.snow.css');
@import url('~primeicons/primeicons.css');
@import url('~select2/dist/css/select2.min.css');
@import url('~assets/css/common.css');
/* You can add global styles to this file, and also import other style files */
table .ui-inputtext {
......
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