@burh/nuxt-core 1.0.214 → 1.0.216

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,60 +1,61 @@
1
1
  <template>
2
- <article class="recruitment__card" @click="$emit('card-click')">
3
- <header class="recruitment__card__header">
4
- <div class="recruitment__card__header__status">
5
- <p>SELECT</p>
6
- </div>
7
- <div class="recruitment__card__header__actions">
8
- <el-tooltip placement="top" content="Anotações">
9
- <button
10
- class="action__item"
11
- @click.stop.prevent="$emit('notes-click')"
12
- >
13
- <i class="far fa-comment-alt"></i>
14
- </button>
15
- </el-tooltip>
2
+ <nuxt-link :to="`/recrutamento/vaga/${job.id}`" class="recruitment__card">
3
+ <article>
4
+ <header class="recruitment__card__header">
5
+ <div class="recruitment__card__header__status">
6
+ <p>SELECT</p>
7
+ </div>
8
+ <div class="recruitment__card__header__actions">
9
+ <el-tooltip placement="top" content="Anotações">
10
+ <button
11
+ class="action__item"
12
+ @click.stop.prevent="$emit('notes-click')"
13
+ >
14
+ <i class="far fa-comment-alt"></i>
15
+ </button>
16
+ </el-tooltip>
16
17
 
17
- <el-tooltip placement="top" content="Compartilhar">
18
- <button
19
- class="action__item"
20
- @click.stop.prevent="$emit('share-click')"
21
- >
22
- <i class="fas fa-share-alt"></i>
23
- </button>
24
- </el-tooltip>
25
- </div>
26
- </header>
18
+ <el-tooltip placement="top" content="Compartilhar">
19
+ <button
20
+ class="action__item"
21
+ @click.stop.prevent="$emit('share-click')"
22
+ >
23
+ <i class="fas fa-share-alt"></i>
24
+ </button>
25
+ </el-tooltip>
26
+ </div>
27
+ </header>
27
28
 
28
- <section class="recruitment__card__content">
29
- <span class="recruitment__card__content__date">Publicada {{fromNow(job.published_at)}}</span>
30
- <h2 class="recruitment__card__content__title">{{ job.title }}</h2>
31
- <span class="recruitment__card__content__id">{{ job.id }}</span>
29
+ <section class="recruitment__card__content">
30
+ <span class="recruitment__card__content__date">Publicada {{fromNow(job.published_at)}}</span>
31
+ <h2 class="recruitment__card__content__title">{{ job.title }}</h2>
32
+ <span class="recruitment__card__content__id">{{ job.id }}</span>
32
33
 
33
- <div class="recruitment__card__info">
34
- <p class="recruitment__card__info__text"><span>{{ job.info.applieds }}</span>Inscritos</p>
35
- <p class="recruitment__card__info__text"><span>{{ job.info.positions }}</span>Posição</p>
36
- <p class="recruitment__card__info__text"><span>{{ job.info.hireds }}</span>Contratados</p>
37
- </div>
38
- </section>
34
+ <div class="recruitment__card__info">
35
+ <p class="recruitment__card__info__text"><span>{{ job.info.applieds }}</span>Inscritos</p>
36
+ <p class="recruitment__card__info__text"><span>{{ job.info.positions }}</span>Posição</p>
37
+ <p class="recruitment__card__info__text"><span>{{ job.info.hireds }}</span>Contratados</p>
38
+ </div>
39
+ </section>
39
40
 
40
- <footer class="recruitment__card__footer">
41
- <p class="recruitment__card__footer__title">EQUIPE RESPONSÁVEL</p>
42
- <div class="recruitment__card__footer__images">
43
- <el-tooltip
44
- v-for="(user, index) in job.team"
45
- :key="index"
46
- placement="top"
47
- :content="user.name"
48
- >
49
- <img
50
- :src="user.image"
51
- :alt="user.name"
41
+ <footer class="recruitment__card__footer">
42
+ <p class="recruitment__card__footer__title">EQUIPE RESPONSÁVEL</p>
43
+ <div class="recruitment__card__footer__images">
44
+ <el-tooltip
45
+ v-for="(user, index) in job.team"
46
+ :key="index"
47
+ placement="top"
48
+ :content="user.name"
52
49
  >
53
- </el-tooltip>
54
- </div>
55
- </footer>
56
-
57
- </article>
50
+ <img
51
+ :src="user.image"
52
+ :alt="user.name"
53
+ >
54
+ </el-tooltip>
55
+ </div>
56
+ </footer>
57
+ </article>
58
+ </nuxt-link>
58
59
  </template>
59
60
 
60
61
  <script>
@@ -85,6 +86,13 @@ export default {
85
86
  padding: 20px;
86
87
  border-radius: 4px;
87
88
  transition: transform 0.25s;
89
+ border: none;
90
+ text-align: initial;
91
+ color: #1D364B;
92
+ &:focus {
93
+ outline: none;
94
+ transform: translateY(-5px);
95
+ }
88
96
  &:hover {
89
97
  transform: translateY(-5px);
90
98
  }
@@ -114,7 +122,7 @@ export default {
114
122
  }
115
123
  &:focus {
116
124
  outline: none;
117
- box-shadow: none;
125
+ background: rgba(0, 0, 0, 0.08);
118
126
  }
119
127
  &:not(:first-child) {
120
128
  margin-left: 5px;
@@ -10,12 +10,17 @@
10
10
  <div class="header__content">
11
11
  <h2 class="font-weight-bold display-3">{{name}}</h2>
12
12
  <div class="images" v-if="images.length">
13
- <img
13
+ <el-tooltip
14
14
  v-for="(image, index) in images"
15
15
  :key="index"
16
- :src="image.src"
17
- :alt="image.name"
16
+ placement="top"
17
+ :content="image.name"
18
18
  >
19
+ <img
20
+ :src="image.src"
21
+ :alt="image.name"
22
+ >
23
+ </el-tooltip>
19
24
  </div>
20
25
  </div>
21
26
 
@@ -1,230 +1,239 @@
1
1
  <template>
2
- <el-dialog
3
- :visible.sync="isModalOpen"
4
- width="54%"
5
- custom-class="position-relative"
6
- @close="$emit('close')"
7
- >
8
- <template>
9
- <div class="ml-5 mr-5">
10
- <div class="row send send-test mx-0">
11
- <h5>Insira o e-mail que deseja enviar o teste</h5>
12
- </div>
2
+ <el-dialog
3
+ :visible.sync="isModalOpen"
4
+ width="54%"
5
+ custom-class="position-relative"
6
+ @close="$emit('close')"
7
+ >
8
+ <template>
9
+ <div class="ml-5 mr-5">
10
+ <div class="row send send-test mx-0">
11
+ <h5>Insira o e-mail que deseja enviar o teste</h5>
12
+ </div>
13
13
 
14
- <div class="row mt-3 send send-form">
15
- <div class="col-6">
16
- <label for="teste">Selecione a vaga</label>
17
- <el-select
18
- filterable
19
- no-match-text="Nenhuma vaga encontrada"
20
- no-data-text="Nenhuma vaga encontrada"
21
- placeholder="Escolha a vaga"
22
- v-model="jobid"
23
- class="w-100"
24
- >
25
- <el-option
26
- v-for="job in allJobs"
27
- class="select-danger"
28
- :value="job.id"
29
- :label="job.name"
30
- :key="job.id"
31
- ></el-option>
32
- </el-select>
33
- <span></span>
34
- </div>
14
+ <div class="row mt-3 send send-form">
15
+ <div class="col-6">
16
+ <label for="teste">Selecione a vaga</label>
17
+ <badge
18
+ rounded
19
+ size="md"
20
+ type="primary"
21
+ class="send-badge ml-auto badge-bg-color badge-font">
22
+ opcional
23
+ </badge>
24
+ <el-select
25
+ filterable
26
+ no-match-text="Nenhuma vaga encontrada"
27
+ no-data-text="Nenhuma vaga encontrada"
28
+ placeholder="Escolha a vaga"
29
+ v-model="jobid"
30
+ class="w-100"
31
+ >
32
+ <el-option
33
+ v-for="job in allJobs"
34
+ class="select-danger"
35
+ :value="job.id"
36
+ :label="job.name"
37
+ :key="job.id"
38
+ ></el-option>
39
+ </el-select>
40
+ <span></span>
41
+ </div>
35
42
 
36
- <div class="col-6">
37
- <label for="teste">Selecione o teste</label>
38
- <el-select
39
- filterable
40
- no-match-text="Nenhuma teste encontrado"
41
- no-data-text="Nenhum teste encontrado"
42
- placeholder="Escolha o teste"
43
- v-model="testid"
44
- class="w-100"
45
- >
46
- <el-option
47
- v-for="test in allTests"
48
- class="select-danger"
49
- :value="test.id"
50
- :label="test.name"
51
- :key="test.id"
52
- :disabled="
53
- !categoryIsAllowedToSend(
54
- test.category_test_id
55
- )
56
- "
57
- ></el-option>
58
- </el-select>
59
- </div>
60
- </div>
43
+ <div class="col-6">
44
+ <label for="teste">Selecione o teste</label>
45
+ <el-select
46
+ filterable
47
+ no-match-text="Nenhuma teste encontrado"
48
+ no-data-text="Nenhum teste encontrado"
49
+ placeholder="Escolha o teste"
50
+ v-model="testid"
51
+ class="w-100"
52
+ >
53
+ <el-option
54
+ v-for="test in allTests"
55
+ class="select-danger"
56
+ :value="test.id"
57
+ :label="test.name"
58
+ :key="test.id"
59
+ :disabled="
60
+ !categoryIsAllowedToSend(
61
+ test.category_test_id
62
+ )
63
+ "
64
+ ></el-option>
65
+ </el-select>
66
+ </div>
67
+ </div>
61
68
 
62
- <hr />
69
+ <hr />
63
70
 
64
- <validation-observer ref="sendTest">
65
- <div
66
- class="row mt-3 send send-form"
67
- v-for="(slot, idx) in slots"
68
- :key="idx"
69
- >
70
- <!-- <label for="name">Nome</label> -->
71
- <div class="col-6">
72
- <validation-provider
73
- tag="div"
74
- :vid="`send-name-${idx}`"
75
- name="Nome"
76
- rules="required"
77
- v-slot="{ errors }"
78
- >
79
- <label for="email">Nome</label>
80
- <base-input
81
- v-model="slot.name"
82
- :error="errors[0]"
83
- :valid="errors.length ? true : false"
84
- class="w-100"
85
- placeholder="Nome do usuário/candidato"
86
- id="name"
87
- />
88
- </validation-provider>
89
- </div>
71
+ <validation-observer ref="sendTest">
72
+ <div
73
+ class="row mt-3 send send-form"
74
+ v-for="(slot, idx) in slots"
75
+ :key="idx"
76
+ >
77
+ <!-- <label for="name">Nome</label> -->
78
+ <div class="col-6">
79
+ <validation-provider
80
+ tag="div"
81
+ :vid="`send-name-${idx}`"
82
+ name="Nome"
83
+ rules="required"
84
+ v-slot="{ errors }"
85
+ >
86
+ <label for="email">Nome</label>
87
+ <base-input
88
+ v-model="slot.name"
89
+ :error="errors[0]"
90
+ :valid="errors.length ? true : false"
91
+ class="w-100"
92
+ placeholder="Nome do usuário/candidato"
93
+ id="name"
94
+ />
95
+ </validation-provider>
96
+ </div>
90
97
 
91
- <div class="col-6">
92
- <validation-provider
93
- tag="div"
94
- :vid="`send-email-${idx}`"
95
- name="Email"
96
- rules="required|email"
97
- v-slot="{ errors }"
98
- >
99
- <label for="email">E-mail</label>
100
- <base-input
101
- v-model="slot.email"
102
- :error="errors[0]"
103
- :valid="errors.length ? true : false"
104
- class="w-100"
105
- id="email"
106
- placeholder="E-mail do usuário/candidato"
107
- />
108
- <div class="send send-icon">
109
- <i
110
- v-if="idx !== slots.length - 1"
111
- class="fa fa-trash pointer"
112
- @click="removeSlot(slot.id)"
113
- ></i>
114
- <i
115
- v-else
116
- class="fa fa-plus pointer"
117
- @click="addSlot"
118
- ></i>
119
- </div>
120
- </validation-provider>
121
- </div>
122
- </div>
123
- </validation-observer>
98
+ <div class="col-6">
99
+ <validation-provider
100
+ tag="div"
101
+ :vid="`send-email-${idx}`"
102
+ name="Email"
103
+ rules="required|email"
104
+ v-slot="{ errors }"
105
+ >
106
+ <label for="email">E-mail</label>
107
+ <base-input
108
+ v-model="slot.email"
109
+ :error="errors[0]"
110
+ :valid="errors.length ? true : false"
111
+ class="w-100"
112
+ id="email"
113
+ placeholder="E-mail do usuário/candidato"
114
+ />
115
+ <div class="send send-icon">
116
+ <i
117
+ v-if="idx !== slots.length - 1"
118
+ class="fa fa-trash pointer"
119
+ @click="removeSlot(slot.id)"
120
+ ></i>
121
+ <i
122
+ v-else
123
+ class="fa fa-plus pointer"
124
+ @click="addSlot"
125
+ ></i>
126
+ </div>
127
+ </validation-provider>
128
+ </div>
129
+ </div>
130
+ </validation-observer>
124
131
 
125
- <div class="col text-center mt-1">
126
- <button class="send send-button" @click="sendTest">
127
- Enviar teste
128
- </button>
129
- </div>
130
- </div>
132
+ <div class="col text-center mt-1">
133
+ <button class="send send-button" @click="sendTest">
134
+ Enviar teste
135
+ </button>
136
+ </div>
137
+ </div>
131
138
 
132
- <span class="tool tool-close" @click="closeModal">
133
- Fechar
134
- <font-awesome-icon
135
- :icon="['fas', 'times']"
136
- class="text-white ml-1"
137
- />
138
- </span>
139
- </template>
140
- </el-dialog>
139
+ <span class="tool tool-close" @click="closeModal">
140
+ Fechar
141
+ <font-awesome-icon
142
+ :icon="['fas', 'times']"
143
+ class="text-white ml-1"
144
+ />
145
+ </span>
146
+ </template>
147
+ </el-dialog>
141
148
  </template>
142
149
 
143
150
  <script>
144
151
  import { Dialog, Select, Option } from 'element-ui';
152
+ import Badge from '../../argon-core/Badge.vue';
145
153
 
146
154
  export default {
147
- name: 'send-test',
148
- components: {
149
- [Select.name]: Select,
150
- [Option.name]: Option,
151
- [Dialog.name]: Dialog
152
- },
153
- props: {
154
- allTests: Array,
155
- allJobs: Array,
156
- isModalOpen: {
157
- type: Boolean,
158
- default: false
159
- },
160
- selectedTest: Number,
161
- categoriesAllowedToSend: {
162
- type: Object,
163
- default: () => ({})
164
- }
165
- },
166
- methods: {
167
- closeModal(e) {
168
- this.$emit('closemodal', e);
169
- },
170
- removeSlot(id) {
171
- this.slots = this.slots.filter(slot => slot.id !== id);
172
- },
173
- addSlot() {
174
- const newSlot = {
175
- id: new Date().getTime(),
176
- name: '',
177
- email: '',
178
- selected: 8
179
- };
155
+ name: 'send-test',
156
+ components: {
157
+ [Select.name]: Select,
158
+ [Option.name]: Option,
159
+ [Dialog.name]: Dialog
160
+ },
161
+ props: {
162
+ hasEnableBadge: Boolean,
163
+ allTests: Array,
164
+ allJobs: Array,
165
+ isModalOpen: {
166
+ type: Boolean,
167
+ default: false
168
+ },
169
+ selectedTest: Number,
170
+ categoriesAllowedToSend: {
171
+ type: Object,
172
+ default: () => ({})
173
+ }
174
+ },
175
+ methods: {
176
+ closeModal(e) {
177
+ this.$emit('closemodal', e);
178
+ },
179
+ removeSlot(id) {
180
+ this.slots = this.slots.filter(slot => slot.id !== id);
181
+ },
182
+ addSlot() {
183
+ const newSlot = {
184
+ id: new Date().getTime(),
185
+ name: '',
186
+ email: '',
187
+ selected: 8
188
+ };
180
189
 
181
- this.slots = [...this.slots, newSlot];
182
- },
183
- async sendTest() {
184
- const pass = await this.$refs.sendTest.validate();
185
- if (!pass) {
186
- return;
187
- }
188
- const filterSlots = slot => slot.email !== '';
189
- const formatRequest = slot => ({
190
- ...slot,
191
- jobid: this.jobid,
192
- testid: this.testid
193
- });
194
- const testRequest = this.slots
195
- .filter(filterSlots)
196
- .map(formatRequest);
197
- this.$emit('send-test', testRequest);
198
- this.$emit('closemodal');
199
- },
200
- categoryIsAllowedToSend(categoryId) {
201
- const categoryIsAllowToSend = Object.values(
202
- this.categoriesAllowedToSend
203
- ).find(id => id == categoryId);
204
- return categoryIsAllowToSend ? true : false;
205
- }
206
- },
207
- watch: {
208
- selectedTest(newValue) {
209
- this.testid = newValue;
210
- },
211
- isModalOpen(newValue) {
212
- !newValue && this.closeModal();
213
- }
214
- },
215
- data() {
216
- return {
217
- jobid: null,
218
- testid: this.selectedTest,
219
- slots: [
220
- {
221
- id: 'first',
222
- name: '',
223
- email: ''
224
- }
225
- ]
226
- };
227
- }
190
+ this.slots = [...this.slots, newSlot];
191
+ },
192
+ async sendTest() {
193
+ const pass = await this.$refs.sendTest.validate();
194
+ if (!pass) {
195
+ return;
196
+ }
197
+ const filterSlots = slot => slot.email !== '';
198
+ const formatRequest = slot => ({
199
+ ...slot,
200
+ jobid: this.jobid,
201
+ testid: this.testid
202
+ });
203
+ const testRequest = this.slots
204
+ .filter(filterSlots)
205
+ .map(formatRequest);
206
+ this.$emit('send-test', testRequest);
207
+ this.$emit('closemodal');
208
+ },
209
+ categoryIsAllowedToSend(categoryId) {
210
+ const categoryIsAllowToSend = Object.values(
211
+ this.categoriesAllowedToSend
212
+ ).find(id => id == categoryId);
213
+ return categoryIsAllowToSend ? true : false;
214
+ }
215
+ },
216
+ watch: {
217
+ selectedTest(newValue) {
218
+ this.testid = newValue;
219
+ },
220
+ isModalOpen(newValue) {
221
+ !newValue && this.closeModal();
222
+ }
223
+ },
224
+ data() {
225
+ return {
226
+ jobid: null,
227
+ testid: this.selectedTest,
228
+ slots: [
229
+ {
230
+ id: 'first',
231
+ name: '',
232
+ email: ''
233
+ }
234
+ ]
235
+ };
236
+ }
228
237
  };
229
238
  </script>
230
239
  <style lang="scss" scoped>
@@ -246,6 +255,10 @@ export default {
246
255
  margin-top: 0.7rem !important;
247
256
  }
248
257
 
258
+ .badge-font {
259
+ font-size: 10px !important;
260
+ }
261
+
249
262
  .send {
250
263
  &-test {
251
264
  h5 {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burh/nuxt-core",
3
- "version": "1.0.214",
3
+ "version": "1.0.216",
4
4
  "description": "Design System and Components.",
5
5
  "author": "Burh",
6
6
  "scripts": {