Skip to content

Commit

Permalink
Merge pull request #292 from ever-co/feat/#124-proposal-register-temp…
Browse files Browse the repository at this point in the history
…late

feat: initial commit on register proposal
  • Loading branch information
AlexTasev committed Nov 12, 2019
2 parents 430f0de + cc57a89 commit 12c533e
Show file tree
Hide file tree
Showing 6 changed files with 162 additions and 6 deletions.
8 changes: 6 additions & 2 deletions apps/gauzy/src/app/pages/proposals/proposals.module.ts
Expand Up @@ -5,12 +5,14 @@ import {
NbButtonModule,
NbInputModule,
NbIconModule,
NbSpinnerModule
NbSpinnerModule,
NbDatepickerModule
} from '@nebular/theme';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { ProposalsComponent } from './proposals.component';
import { ProposalsRoutingModule } from './proposals-routing.module';
import { ProposalRegisterComponent } from './register/proposal-register.component';
import { EmployeeSelectorsModule } from '../../@theme/components/header/selectors/employee/employee.module';

@NgModule({
imports: [
Expand All @@ -22,7 +24,9 @@ import { ProposalRegisterComponent } from './register/proposal-register.componen
NbButtonModule,
NbInputModule,
NbIconModule,
NbSpinnerModule
NbSpinnerModule,
NbDatepickerModule,
EmployeeSelectorsModule
],
entryComponents: [ProposalRegisterComponent],
declarations: [ProposalsComponent, ProposalRegisterComponent]
Expand Down
@@ -0,0 +1,95 @@
<nb-card class="main">
<nb-card-header class="d-flex">
<h3>
Register Proposal
</h3>
</nb-card-header>

<nb-card-body>
<form [formGroup]="form">
<div class="row">
<div class="col-sm-4">
<div class="form-group">
<label class="label">Author</label>
<ga-employee-selector
#employeeSelector
[skipGlobalChange]="true"
id="authorInput"
class="employees"
>
</ga-employee-selector>
</div>
</div>

<div class="col-sm-4">
<div class="form-group">
<label class="label">Job Post URL</label>
<input
nbInput
fullWidth
type="text"
placeholder="Job Post URL"
formControlName="jobPostUrl"
autocomplete="on"
/>
</div>
</div>

<div class="col-sm-4">
<div class="form-group">
<label class="label">Pick a Date</label>
<input
formControlName="valueDate"
nbInput
fullWidth
placeholder="Pick a Date"
[nbDatepicker]="formpicker"
/>
<nb-datepicker #formpicker></nb-datepicker>
</div>
</div>

<div class="col-sm-6">
<div class="form-group">
<label class="label">Job Post Content</label>
<textarea
nbInput
fullWidth
rows="12"
type="text"
placeholder="Job Post Content"
formControlName="jobPostContent"
autocomplete="on"
></textarea>
<button class="upload-btn" nbButton status="primary">
Upload
</button>
</div>
</div>

<div class="col-sm-6">
<div class="form-group">
<label class="label">Proposal Content</label>
<textarea
nbInput
rows="12"
fullWidth
type="text"
placeholder="Proposal Content"
formControlName="proposalContent"
autocomplete="on"
></textarea>
<button class="upload-btn" nbButton status="primary">
Upload
</button>
</div>
</div>
</div>
</form>
</nb-card-body>
<nb-card-footer class="text-right">
<button class="register-btn" status="success" nbButton>
Register Proposal
</button>
</nb-card-footer>
</nb-card>
@@ -0,0 +1,11 @@
.form-group {
margin: 20px;
}

.register-btn {
margin: 20px;
}

.upload-btn {
margin-top: 20px;
}
@@ -1,11 +1,36 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, ViewChild } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { EmployeeSelectorComponent } from '../../../@theme/components/header/selectors/employee/employee.component';
import { Store } from '../../../@core/services/store.service';
import { Proposal } from '@gauzy/models';

@Component({
selector: 'ga-proposal-register',
templateUrl: './proposal-register.component.html'
templateUrl: './proposal-register.component.html',
styleUrls: ['././proposal-register.component.scss']
})
export class ProposalRegisterComponent implements OnInit {
constructor() {}
constructor(private fb: FormBuilder, private store: Store) {}

ngOnInit() {}
@ViewChild('employeeSelector', { static: false })
employeeSelector: EmployeeSelectorComponent;

proposal?: Proposal;
form: FormGroup;

ngOnInit() {
this._initializeForm();
}

private _initializeForm() {
this.form = this.fb.group({
employee: '',
jobPostUrl: ['', Validators.required],
valueDate: [new Date(), Validators.required],
jobPostContent: '',
proposalContent: ''
});
}

private registerProposal() {}
}
1 change: 1 addition & 0 deletions libs/models/src/index.ts
Expand Up @@ -2,6 +2,7 @@ export * from './lib/user.model';
export * from './lib/employee.model';
export * from './lib/organization.model';
export * from './lib/income.model';
export * from './lib/proposal.model';
export * from './lib/expense.model';
export * from './lib/user-organization.model';
export * from './lib/employee-settings.model';
Expand Down
20 changes: 20 additions & 0 deletions libs/models/src/lib/proposal.model.ts
@@ -0,0 +1,20 @@
import { Employee, EmployeeFindInput } from './employee.model';
import { BaseEntityModel as IBaseEntityModel } from './base-entity.model';

export interface Proposal extends IBaseEntityModel {
employee?: Employee;
employeeId?: string;
jobPostUrl?: string;
valueDate: Date;
jobPostContent?: string;
proposalContent?: string;
}

export interface ProposalCreateInput {
employee?: Employee;
employeeId?: string;
jobPostUrl?: string;
valueDate: Date;
jobPostContent?: string;
proposalContent?: string;
}

0 comments on commit 12c533e

Please sign in to comment.