Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions src/app/modules/admin/admin-routing.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { BackgroundJobsComponent } from "./components/background-jobs/background
import { InterviewTemplatesAdminPageComponent } from "./components/interviews/interview-templates-admin-page/interview-templates-admin-page.component";
import { UsersAdminPageComponent } from "./components/users/users-admin-page/users-admin-page.component";
import { SalariesAdminPageComponent } from "./components/salaries/salaries-admin-page/salaries-admin-page.component";
import { SalariesAddingChartComponent } from "./components/salaries/salaries-adding-chart/salaries-adding-chart.component";
import { SalariesNotInStatsAdminPageComponent } from "./components/salaries/salaries-not-in-stat-admin-page/salaries-not-in-stat-admin-page.component";
import { SkillsPaginatedTableComponent } from "./components/label-entities/skills-paginated-table/skills-paginated-table.component";
import { WorkIndustriesPaginatedTableComponent } from "./components/label-entities/work-industries-paginated-table/work-indusrties-paginated-table.component";
Expand All @@ -29,10 +28,6 @@ const routes: Routes = [
path: "salaries/not-in-stats",
component: SalariesNotInStatsAdminPageComponent,
},
{
path: "salaries/salaries-adding-trend-chart",
component: SalariesAddingChartComponent,
},
{
path: "salaries/salaries-survey",
component: SalariesSurveyPageComponent,
Expand Down
2 changes: 0 additions & 2 deletions src/app/modules/admin/admin.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import { InterviewTemplatesAdminPageComponent } from "./components/interviews/in
import { UsersAdminPageComponent } from "./components/users/users-admin-page/users-admin-page.component";
import { AdminStartPageComponent } from "./components/admin-start-page/admin-start-page.component";
import { SalariesAdminPageComponent } from "./components/salaries/salaries-admin-page/salaries-admin-page.component";
import { SalariesAddingChartComponent } from "./components/salaries/salaries-adding-chart/salaries-adding-chart.component";
import { SalariesAdminPaginatedTableComponent } from "./components/salaries/salaries-admin-paginated-table/salaries-admin-paginated-table.component";
import { SalariesNotInStatsAdminPageComponent } from "./components/salaries/salaries-not-in-stat-admin-page/salaries-not-in-stat-admin-page.component";
import { SkillsPaginatedTableComponent } from "./components/label-entities/skills-paginated-table/skills-paginated-table.component";
Expand All @@ -29,7 +28,6 @@ import { SalariesSurveyPageComponent } from "./components/salaries/salaries-surv
UsersAdminPageComponent,
AdminStartPageComponent,
SalariesAdminPageComponent,
SalariesAddingChartComponent,
SalariesAdminPaginatedTableComponent,
SalariesNotInStatsAdminPageComponent,
SkillsPaginatedTableComponent,
Expand Down

This file was deleted.

This file was deleted.

22 changes: 3 additions & 19 deletions src/app/modules/home/components/about-us/about-us.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,12 @@

<div class="mb-3 mt-5">
<div class="mb-1 h5">Контрибьюторы</div>
<div>
<a
class="text-reset link-without-underline"
href="https://github.com/indicozy"
target="_blank"
>&#64;indicozy</a
>
</div>
<div>
<a
class="text-reset link-without-underline"
href="https://github.com/sanch941"
target="_blank"
>&#64;sanch941</a
>
</div>
<div>
<div *ngFor="let item of contributors">
<a
class="text-reset link-without-underline"
href="https://github.com/maximgorbatyuk"
href="{{ item.link }}"
target="_blank"
>&#64;maximgorbatyuk</a
>&#64;{{ item.username }}</a
>
</div>
</div>
Expand Down
28 changes: 24 additions & 4 deletions src/app/modules/home/components/about-us/about-us.component.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
import { Component, OnInit } from "@angular/core";

interface IContributor {
link: string;
username: string;
}

@Component({
selector: "app-about-us",
templateUrl: "./about-us.component.html",
styleUrls: ["./about-us.component.scss"],
})
export class AboutUsComponent implements OnInit {
constructor() {}

ngOnInit(): void {}
export class AboutUsComponent {
contributors: IContributor[] = [
{
link: "https://github.com/indicozy",
username: "indicozy",
},
{
link: "https://github.com/sanch941",
username: "sanch941",
},
{
link: "https://github.com/galym-abitech",
username: "galym-abitech",
},
{
link: "https://github.com/maximgorbatyuk",
username: "maximgorbatyuk",
},
];
}
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ export class CitiesDoughnutChartObject extends Chart {
item.count++;
});

return uniqueItems;
return uniqueItems
.sort((x, y) => y.count - x.count);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ export class PeopleByGenderChartComponent implements OnInit {
const result: Array<TableRow> = [];
salariesGroupedByGender
.filter((item) => item.gender != null)
.sort((x, y) => x.gender! - y.gender!)
.forEach((item) => {
result.push({
value: item.salaries.length,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<div class="h4 mb-3">График добавления анкет</div>

<div id="canvas-adding-trend-chart-container">
<canvas id="canvas-adding-trend-chart">{{ chart }}</canvas>
</div>
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#canvas {
#canvas-adding-trend-chart {
min-height: 400px;
}

#canvas-container {
#canvas-addint-trend-chart-container {
position: relative;
width: 100%;
height: 100%;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import { Component, Input, OnDestroy, OnInit } from "@angular/core";
import {
SalariesAddingTrendChart,
UserSalariesService,
} from "@services/user-salaries.service";
import { untilDestroyed } from "@shared/subscriptions/until-destroyed";
import { SalariesAddingChart } from "./salaries-adding-chart";
import { SalaryChartGlobalFiltersData } from "../salary-chart-global-filters/global-filters-form-group";

@Component({
selector: "app-salaries-adding-chart",
templateUrl: "./salaries-adding-chart.component.html",
styleUrl: "./salaries-adding-chart.component.scss",
})
export class SalariesAddingChartComponent implements OnInit, OnDestroy {

@Input()
filter: SalaryChartGlobalFiltersData | null = null;

data: SalariesAddingTrendChart | null = null;
chart: SalariesAddingChart | null = null;

constructor(
private readonly service: UserSalariesService
) {}

ngOnInit(): void {
this.chart = null;
this.service
.addingSalariesaTrendChart({
profsInclude: this.filter?.profsInclude ?? [],
grade: this.filter?.grade ?? null,
cities: this.filter?.cities ?? [],
})
.pipe(untilDestroyed(this))
.subscribe((x) => {
this.data = x;
this.chart = new SalariesAddingChart("canvas-adding-trend-chart", this.data);
});
}

ngOnDestroy(): void {
// ignored
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { RandomRgbColor } from "@modules/salaries/components/random-rgb-color";
import { SalariesAddingTrendAdminChart } from "@services/user-salaries.service";
import { SalariesAddingTrendChart } from "@services/user-salaries.service";
import { Chart, ChartType, PointStyle } from "chart.js/auto";

interface ChartDatasetType {
Expand All @@ -14,7 +14,7 @@ interface ChartDatasetType {
export class SalariesAddingChart extends Chart {
private readonly datasets: Array<ChartDatasetType> = [];

constructor(canvasId: string, chartData: SalariesAddingTrendAdminChart) {
constructor(canvasId: string, chartData: SalariesAddingTrendChart) {
const randomColor = new RandomRgbColor();
const datasets: Array<ChartDatasetType> = [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,12 @@
></app-salaries-paginated-table>
</div>

<div class="mb-3">
<app-salaries-adding-chart
[filter]="filterData"
></app-salaries-adding-chart>
</div>

<div class="mb-3">
<div class="mb-5">
<div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,17 @@ export class SalaryChartGlobalFiltersData {
return (
this.grade === other.grade &&
this.cities.length === other.cities.length &&
this.profsInclude.length === other.profsInclude.length
this.isEqualArrays(this.profsInclude, other.profsInclude)
);
}

private isEqualArrays<T>(a: Array<T>, b: Array<T>): boolean {
if (a.length !== b.length) {
return false;
}

return a.every((x, i) => x === b[i]);
}
}

export class GlobalFiltersFormGroup extends FormGroup {
Expand Down
2 changes: 2 additions & 0 deletions src/app/modules/salaries/salaries.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import { SalariesByGradeBlockComponent } from "./components/salaries-chart/salar
import { SalariesPaginatedTableComponent } from "./components/salaries-paginated-table/salaries-paginated-table.component";
import { SalariesSurveyBlockComponent } from "./components/salaries-survey-block/salaries-survey-block.component";
import { SalariesSurveyPageComponent } from "./components/salaries-survey-page/salaries-survey-page.component";
import { SalariesAddingChartComponent } from "./components/salaries-chart/salaries-adding-chart/salaries-adding-chart.component";

@NgModule({
declarations: [
Expand All @@ -50,6 +51,7 @@ import { SalariesSurveyPageComponent } from "./components/salaries-survey-page/s
SalariesPaginatedTableComponent,
SalariesSurveyBlockComponent,
SalariesSurveyPageComponent,
SalariesAddingChartComponent,
],
imports: [
CommonModule,
Expand Down
21 changes: 13 additions & 8 deletions src/app/services/user-salaries.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,16 +116,18 @@ export interface SalariesChartFilterData {
cities: Array<KazakhstanCity> | null;
}

export interface SalariesAddingTrendAdminChart {
export interface SalariesAddingTrendChartParams {
grade: DeveloperGrade | null;
profsInclude: Array<number> | null;
cities: Array<KazakhstanCity> | null;
}

export interface SalariesAddingTrendChart {
labels: string[];
items: Array<{
count: number;
startedAt: Date;
}>;

salariesPerUser: number;
usersWhoLeftSalary: number;
allUsersCount: number;
}

export enum SalariesAdminOrderingType {
Expand Down Expand Up @@ -179,9 +181,12 @@ export class UserSalariesService {
);
}

addingSalariesaTrendAdminChart(): Observable<SalariesAddingTrendAdminChart> {
return this.api.get<SalariesAddingTrendAdminChart>(
this.root + "salaries-adding-trend-chart"
addingSalariesaTrendChart(
params: SalariesAddingTrendChartParams
): Observable<SalariesAddingTrendChart> {
return this.api.get<SalariesAddingTrendChart>(
this.root + "salaries-adding-trend-chart?" +
new ConvertObjectToHttpParams(params).get()
);
}

Expand Down