@burh/nuxt-core 1.0.459 → 1.0.461

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,88 +1,88 @@
1
- <template>
2
- <div class="input__container__icon" :class="{ 'input__disabled': disabled || isLocked }" @click="isLocked && $emit('open-plan-modal')">
3
- <label for="search">
4
- <template v-if="!isLocked">
5
- <i class="fas fa-search"></i>
6
- </template>
7
- <template v-else>
8
- <i class="fas fa-lock"></i>
9
- </template>
10
- </label>
11
- <input type="text" name="search" id="search" :disabled="disabled || isLocked" :placeholder="placeholder" v-model="searchModel" @change="$emit('change')">
12
- </div>
13
- </template>
14
-
15
- <script>
16
- export default {
17
- name: 'search-input',
18
- props: {
19
- disabled: {
20
- type: Boolean,
21
- default: false
22
- },
23
- search: String,
24
- placeholder: {
25
- type: String,
26
- default: 'Busque por vaga'
27
- },
28
- isLocked: {
29
- type: Boolean,
30
- default: false
31
- }
32
- },
33
- data() {
34
- return {
35
- searchModel: null
36
- };
37
- },
38
- mounted() {
39
- this.searchModel = this.search;
40
- },
41
- watch: {
42
- search(value) {
43
- this.searchModel = value;
44
- },
45
- searchModel(value) {
46
- this.$emit('search', value);
47
- }
48
- }
49
- };
50
- </script>
51
-
52
- <style lang="scss" scoped>
53
- .input__container__icon {
54
- position: relative;
55
- display: flex;
56
- align-items: center;
57
- border-radius: 100px;
58
- max-width: 270px;
59
- overflow: hidden;
60
- border: 1px solid #E9ECEF;
61
- input {
62
- background: transparent;
63
- border: 0;
64
- outline: none;
65
- padding: 5px 0;
66
- width: 100%;
67
- }
68
- label {
69
- margin: 0;
70
- display: block;
71
- }
72
- i {
73
- padding: 0 10px;
74
- color: #AEB6BE;
75
- }
76
- &.input__disabled {
77
- background-color: #E9ECEF;
78
- cursor: not-allowed !important;
79
- input {
80
- color: #AEB6BE !important;
81
- cursor: not-allowed !important;
82
- }
83
- label {
84
- cursor: not-allowed !important;
85
- }
86
- }
87
- }
88
- </style>
1
+ <template>
2
+ <div class="input__container__icon" :class="{ 'input__disabled': disabled || isLocked }" @click="isLocked && $emit('open-plan-modal')">
3
+ <label for="search">
4
+ <template v-if="!isLocked">
5
+ <i class="fas fa-search"></i>
6
+ </template>
7
+ <template v-else>
8
+ <i class="fas fa-lock"></i>
9
+ </template>
10
+ </label>
11
+ <input type="text" name="search" id="search" :disabled="disabled || isLocked" :placeholder="placeholder" v-model="searchModel" @change="$emit('change')">
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ export default {
17
+ name: 'search-input',
18
+ props: {
19
+ disabled: {
20
+ type: Boolean,
21
+ default: false
22
+ },
23
+ search: String,
24
+ placeholder: {
25
+ type: String,
26
+ default: 'Busque por vaga'
27
+ },
28
+ isLocked: {
29
+ type: Boolean,
30
+ default: false
31
+ }
32
+ },
33
+ data() {
34
+ return {
35
+ searchModel: null
36
+ };
37
+ },
38
+ mounted() {
39
+ this.searchModel = this.search;
40
+ },
41
+ watch: {
42
+ search(value) {
43
+ this.searchModel = value;
44
+ },
45
+ searchModel(value) {
46
+ this.$emit('search', value);
47
+ }
48
+ }
49
+ };
50
+ </script>
51
+
52
+ <style lang="scss" scoped>
53
+ .input__container__icon {
54
+ position: relative;
55
+ display: flex;
56
+ align-items: center;
57
+ border-radius: 100px;
58
+ max-width: 270px;
59
+ overflow: hidden;
60
+ border: 1px solid #E9ECEF;
61
+ input {
62
+ background: transparent;
63
+ border: 0;
64
+ outline: none;
65
+ padding: 5px 0;
66
+ width: 100%;
67
+ }
68
+ label {
69
+ margin: 0;
70
+ display: block;
71
+ }
72
+ i {
73
+ padding: 0 10px;
74
+ color: #AEB6BE;
75
+ }
76
+ &.input__disabled {
77
+ background-color: #E9ECEF;
78
+ cursor: not-allowed !important;
79
+ input {
80
+ color: #AEB6BE !important;
81
+ cursor: not-allowed !important;
82
+ }
83
+ label {
84
+ cursor: not-allowed !important;
85
+ }
86
+ }
87
+ }
88
+ </style>
@@ -98,9 +98,9 @@
98
98
  :key="index"
99
99
  >
100
100
  <button
101
+ v-if="buttons.id != 8"
101
102
  role="button"
102
103
  class="tag tag-outline-primary d-block w-100 buttons"
103
- :id="'button-' + buttons.id"
104
104
  :value="buttons.value"
105
105
  :class="
106
106
  buttons.id == currentSelectedButton
@@ -115,6 +115,26 @@
115
115
  ></i>
116
116
  <small>{{ buttons.time }}</small>
117
117
  </button>
118
+ <div :class="
119
+ buttons.id == currentSelectedButton
120
+ ? 'active-time'
121
+ : ''" class="custom-time-div">
122
+ <i
123
+ v-if="buttons.id == currentSelectedButton"
124
+ class="fas fa-check mr-1 custom-time-icon"
125
+ ></i>
126
+ <input
127
+ v-if="buttons.id == 8"
128
+ :placeholder="buttons.time"
129
+ v-model="buttons.value"
130
+ @change="setValueChange()"
131
+ @click="setInitValue(buttons.id)"
132
+ :class="currentSelectedButton == buttons.id ? 'active-custom': '' "
133
+ class="d-block w-100 buttons tag tag-outline-primary custom-time"
134
+ type="text"
135
+ v-mask="['##:##:##']"
136
+ />
137
+ </div>
118
138
  </div>
119
139
  </div>
120
140
  </div>
@@ -142,11 +162,12 @@
142
162
  </template>
143
163
  <script>
144
164
  import { mask } from 'vue-the-mask';
165
+ import swal from 'sweetalert2';
145
166
  import { Select, Option } from 'element-ui';
146
167
  export default {
147
168
  components: {
148
169
  [Select.name]: Select,
149
- [Option.name]: Option
170
+ [Option.name]: Option,
150
171
  },
151
172
  directives: { mask },
152
173
  data() {
@@ -197,14 +218,14 @@ export default {
197
218
  buttons: {
198
219
  type: Array,
199
220
  default: () => [
200
- { id: '1', time: '5 minutos', value: '00:05:00' },
201
- { id: '2', time: '10 minutos', value: '00:10:00' },
202
- { id: '3', time: '15 minutos', value: '00:15:00' },
203
- { id: '4', time: '30 minutos', value: '00:30:00' },
204
- { id: '5', time: '45 minutos', value: '00:45:00' },
205
- { id: '6', time: '60 minutos', value: '01:00:00' },
206
- { id: '7', time: '2 horas', value: '02:00:00' },
207
- { id: '8', time: '8 horas', value: '08:00:00' }
221
+ { id: '1', time: '5 minutos', value: '00:05:00', custom: false },
222
+ { id: '2', time: '10 minutos', value: '00:10:00', custom: false },
223
+ { id: '3', time: '15 minutos', value: '00:15:00', custom: false },
224
+ { id: '4', time: '30 minutos', value: '00:30:00', custom: false },
225
+ { id: '5', time: '45 minutos', value: '00:45:00', custom: false },
226
+ { id: '6', time: '60 minutos', value: '01:00:00', custom: false },
227
+ { id: '7', time: '2 horas', value: '02:00:00', custom: false },
228
+ { id: '8', time: 'Outro', value: null, custom: true }
208
229
  ],
209
230
  description: 'Botoes de tempo'
210
231
  },
@@ -295,11 +316,28 @@ export default {
295
316
  set(show) {
296
317
  this.$emit('input', show);
297
318
  }
298
- }
319
+ },
299
320
  },
300
321
  methods: {
322
+ setInitValue(id){
323
+ this.currentSelectedButton = id;
324
+ let getIndex = this.buttons.findIndex((e)=>e.custom == true);
325
+ if(!this.buttons[getIndex].value){
326
+ this.buttons[getIndex].value = '00:00:00';
327
+ }
328
+ },
329
+ setValueChange(){
330
+ this.configInfo.selectedTime = this.buttons.find((e)=>e.custom == true).value;
331
+ },
301
332
  loadTime() {
302
- let time = this.buttons.find(e => e.value === this.time);
333
+ let time = null;
334
+ if(this.time){
335
+ time = this.buttons.find(e => e.value === this.time);
336
+ if(!time){
337
+ time = this.buttons.find(e => e.custom === true);
338
+ time.value = this.time;
339
+ }
340
+ }
303
341
  if (time != null) {
304
342
  this.currentSelectedButton = time.id;
305
343
  this.configInfo.selectedTime = this.time;
@@ -312,16 +350,37 @@ export default {
312
350
  }
313
351
  },
314
352
  timeSelection(buttonId) {
315
- let btn = document.getElementById('button-' + buttonId);
353
+ let btn = this.buttons.find((e)=>e.id == buttonId);
354
+ this.buttons[7].value = null;
316
355
  this.configInfo.selectedTime = btn.value;
317
356
  this.currentSelectedButton = buttonId;
318
357
  },
319
358
  async sendConfig() {
359
+ let customButton = this.buttons.find((e)=>e.custom == true);
320
360
  const pass = await this.$refs.appConfigModal.validate();
321
361
  if (!pass) {
322
362
  return;
323
363
  }
324
364
  let config;
365
+ if(this.currentSelectedButton == customButton.id){
366
+ let minuteReplace = customButton.value.search(60);
367
+ let timeReplaced = customButton.value.replaceAll(':', '');
368
+
369
+ if(timeReplaced == '000000' || timeReplaced.length < 6){
370
+ return this.showMessage('Tempo inválido');
371
+ }
372
+ if(timeReplaced > 240000){
373
+ return this.showMessage('O tempo não pode ser maior que 24 horas');
374
+ }
375
+ if((minuteReplace && minuteReplace >= 0 && minuteReplace == 3)
376
+ || customButton.value[3] + customButton.value[4] > 60 ){
377
+ return this.showMessage('Insira um valor entre 00 e 59 para o minuto');
378
+ }
379
+ if(minuteReplace && minuteReplace >= 0 && minuteReplace == 6
380
+ || customButton.value[6] + customButton.value[7] > 60){
381
+ return this.showMessage('Insira um valor entre 00 e 59 para o segundo');
382
+ }
383
+ }
325
384
  if (!this.isCourse) {
326
385
  config = {
327
386
  title: this.configInfo.title,
@@ -339,6 +398,19 @@ export default {
339
398
  }
340
399
  this.$emit('send-config-info', config);
341
400
  this.openModal = false;
401
+ },
402
+ showMessage(title, type = 'error'){
403
+ const Toast = swal.mixin({
404
+ toast: true,
405
+ position: 'top-end',
406
+ showConfirmButton: false,
407
+ timer: 3100,
408
+ });
409
+
410
+ return Toast.fire({
411
+ type: type,
412
+ title: title
413
+ });
342
414
  }
343
415
  }
344
416
  };
@@ -388,3 +460,30 @@ export default {
388
460
  }
389
461
  }
390
462
  </style>
463
+ <style lang="scss" scoped>
464
+ .custom-time::placeholder{
465
+ font-size: 80%;
466
+ color:#00b388;
467
+ }
468
+ .custom-time:hover::placeholder{
469
+ color: #fff;
470
+ }
471
+ .active-time{
472
+ background-color:#00B388;
473
+ }
474
+ .custom-time-div{
475
+ position: relative;
476
+ .custom-time-icon{
477
+ position:absolute;
478
+ top:1rem;
479
+ left:1.5rem;
480
+ color:#fff;
481
+ }
482
+ .active-custom{
483
+ color: #fff !important;
484
+ &::placeholder{
485
+ color: #fff !important;
486
+ }
487
+ }
488
+ }
489
+ </style>
@@ -1,87 +1,87 @@
1
- <template>
2
- <div>
3
- <modal
4
- :show.sync="isModalOpen"
5
- @close="$emit('close-modal')"
6
- class="modal modal-new"
7
- bodyClasses="container-fluid px-4 pt-0 modal-new-fix"
8
- headerClasses="container-fluid new-modal-header pb-0"
9
- >
10
- <template slot="header">
11
- <p>&ThinSpace;</p>
12
- </template>
13
- <div class="text-center mb-4 mt-0">
14
- <img src="/img/logotipo_color.svg" class="pb-4" width="110" alt="Burh">
15
- <h5 class="display-5 text-center">Olá! Sou a Burh! Estamos mudando.</h5>
16
- </div>
17
- <div class="mt-2 text-justify">
18
- <p>
19
- O Burh foi criado para empresas que buscam os melhores profissionais para compor seu time, mas que para isso não tenham que passar por sistemas burocráticos, ultrapassados e cheios de pegadinhas. Com o único propósito de tornar o mercado profissional em um lugar livre e aberto, chegou a hora de apresentarmos a melhor versão que já criamos, uma plataforma inteligente, rápida, segura e repleta de novas possibilidades.
20
- <br><br>
21
- Por isso acreditamos que você vai adorar! A nova plataforma possibilita criar e organizar pastas na nuvem, anexar documentos e notas nos perfis dos profissionais e compartilhar essas informações com toda segurança da LGPD. Tudo isso de forma simples, inovadora e inteligente.
22
- <br><br>
23
- Pode-se dizer que estamos amadurecendo, o que é meio chavão para uma marca dizer, mas nós somos gratos pelas pessoas que ficaram ao nosso lado nos últimos quatro anos e estamos empolgados para crescer cada vez mais juntos.
24
- <br><br>
25
- Hoje, apresentamos a nova Burh Empresas que será liberada nos próximos dias. Uma solução que reflete aquilo que somos, nossa essência e o que acreditamos. Nossas novas cores representam toda a integração, possibilidade e liberdade de criarmos o novo, de pessoas para pessoas.
26
- <br><br>
27
- Com amor,<br>Burh
28
- </p>
29
- </div>
30
- </modal>
31
- </div>
32
- </template>
33
-
34
- <script>
35
- export default {
36
- name: 'new-user-modal',
37
- props: {
38
- show: {
39
- type: Boolean,
40
- default: false
41
- },
42
- },
43
- data() {
44
- return {
45
- isModalOpen: this.show
46
- };
47
- },
48
- watch: {
49
- show(value) {
50
- this.isModalOpen = value;
51
- }
52
- }
53
- };
54
- </script>
55
- <style lang="scss">
56
- .modal-new {
57
- overflow-y: auto!important;
58
- &::-webkit-scrollbar-track {
59
- border-radius: 10px!important;
60
- background-color: rgba(23, 43, 77, 0.7)!important;
61
- }
62
-
63
- &::-webkit-scrollbar {
64
- width: 8px!important;
65
- background-color: rgba(23, 43, 77, 0.7)!important;
66
- }
67
-
68
- &::-webkit-scrollbar-thumb {
69
- border-radius: 10px!important;
70
- background-color: #e9e8e8!important;
71
- }
72
- .modal-dialog {
73
- min-width: 60rem;
74
- display: flex;
75
- flex-direction: columns;
76
- align-items: center;
77
- }
78
- }
79
- .modal-new-fix {
80
- padding: 30px 60px!important;
81
- padding-top: 0!important;
82
- width: 75%!important;
83
- }
84
- .new-modal-header {
85
- padding: 10px!important;
86
- }
87
- </style>
1
+ <template>
2
+ <div>
3
+ <modal
4
+ :show.sync="isModalOpen"
5
+ @close="$emit('close-modal')"
6
+ class="modal modal-new"
7
+ bodyClasses="container-fluid px-4 pt-0 modal-new-fix"
8
+ headerClasses="container-fluid new-modal-header pb-0"
9
+ >
10
+ <template slot="header">
11
+ <p>&ThinSpace;</p>
12
+ </template>
13
+ <div class="text-center mb-4 mt-0">
14
+ <img src="/img/logotipo_color.svg" class="pb-4" width="110" alt="Burh">
15
+ <h5 class="display-5 text-center">Olá! Sou a Burh! Estamos mudando.</h5>
16
+ </div>
17
+ <div class="mt-2 text-justify">
18
+ <p>
19
+ O Burh foi criado para empresas que buscam os melhores profissionais para compor seu time, mas que para isso não tenham que passar por sistemas burocráticos, ultrapassados e cheios de pegadinhas. Com o único propósito de tornar o mercado profissional em um lugar livre e aberto, chegou a hora de apresentarmos a melhor versão que já criamos, uma plataforma inteligente, rápida, segura e repleta de novas possibilidades.
20
+ <br><br>
21
+ Por isso acreditamos que você vai adorar! A nova plataforma possibilita criar e organizar pastas na nuvem, anexar documentos e notas nos perfis dos profissionais e compartilhar essas informações com toda segurança da LGPD. Tudo isso de forma simples, inovadora e inteligente.
22
+ <br><br>
23
+ Pode-se dizer que estamos amadurecendo, o que é meio chavão para uma marca dizer, mas nós somos gratos pelas pessoas que ficaram ao nosso lado nos últimos quatro anos e estamos empolgados para crescer cada vez mais juntos.
24
+ <br><br>
25
+ Hoje, apresentamos a nova Burh Empresas que será liberada nos próximos dias. Uma solução que reflete aquilo que somos, nossa essência e o que acreditamos. Nossas novas cores representam toda a integração, possibilidade e liberdade de criarmos o novo, de pessoas para pessoas.
26
+ <br><br>
27
+ Com amor,<br>Burh
28
+ </p>
29
+ </div>
30
+ </modal>
31
+ </div>
32
+ </template>
33
+
34
+ <script>
35
+ export default {
36
+ name: 'new-user-modal',
37
+ props: {
38
+ show: {
39
+ type: Boolean,
40
+ default: false
41
+ },
42
+ },
43
+ data() {
44
+ return {
45
+ isModalOpen: this.show
46
+ };
47
+ },
48
+ watch: {
49
+ show(value) {
50
+ this.isModalOpen = value;
51
+ }
52
+ }
53
+ };
54
+ </script>
55
+ <style lang="scss">
56
+ .modal-new {
57
+ overflow-y: auto!important;
58
+ &::-webkit-scrollbar-track {
59
+ border-radius: 10px!important;
60
+ background-color: rgba(23, 43, 77, 0.7)!important;
61
+ }
62
+
63
+ &::-webkit-scrollbar {
64
+ width: 8px!important;
65
+ background-color: rgba(23, 43, 77, 0.7)!important;
66
+ }
67
+
68
+ &::-webkit-scrollbar-thumb {
69
+ border-radius: 10px!important;
70
+ background-color: #e9e8e8!important;
71
+ }
72
+ .modal-dialog {
73
+ min-width: 60rem;
74
+ display: flex;
75
+ flex-direction: columns;
76
+ align-items: center;
77
+ }
78
+ }
79
+ .modal-new-fix {
80
+ padding: 30px 60px!important;
81
+ padding-top: 0!important;
82
+ width: 75%!important;
83
+ }
84
+ .new-modal-header {
85
+ padding: 10px!important;
86
+ }
87
+ </style>
@@ -4,11 +4,9 @@
4
4
  :size="'lg'"
5
5
  @close="$emit('close')"
6
6
  >
7
- <basics :isLoading="loading" v-if="loading"/>
8
7
  <template>
8
+ <basics :isLoading="loading" v-if="loading"/>
9
9
  <div class="ml-5 mr-5">
10
- <basics :isLoading="loading" v-if="loading"/>
11
-
12
10
  <div class="row send send-test mx-0">
13
11
  <h5>Insira o e-mail que deseja enviar o teste</h5>
14
12
  </div>
@@ -61,9 +59,8 @@
61
59
  placeholder="Escolha o teste"
62
60
  :class="{'is-invalid': errors[0]}"
63
61
  rules="required"
64
- id="teste"
65
- v-model="testid"
66
- class="w-100 fix-input"
62
+ v-model="teste"
63
+ class="w-100"
67
64
  >
68
65
  <el-option
69
66
  v-for="test in allTests"
@@ -191,7 +188,9 @@ export default {
191
188
  type: Boolean,
192
189
  default: false
193
190
  },
194
- selectedTest: Number,
191
+ selectedTest: {
192
+ type:Number
193
+ },
195
194
  categoriesAllowedToSend: {
196
195
  type: Object,
197
196
  default: () => ({})
@@ -225,7 +224,7 @@ export default {
225
224
  const formatRequest = slot => ({
226
225
  ...slot,
227
226
  jobid: this.jobid,
228
- testid: this.testid
227
+ testid: this.teste
229
228
  });
230
229
  const testRequest = this.slots
231
230
  .filter(filterSlots)
@@ -257,15 +256,21 @@ export default {
257
256
  }
258
257
  },
259
258
  watch: {
260
-
261
- selectedTest(newValue) {
262
- this.testid = newValue;
263
- },
264
259
  isModalOpen(newValue) {
265
260
  !newValue && this.closeModal();
266
261
  this.resetSlots();
267
262
  }
268
263
  },
264
+ computed:{
265
+ teste:{
266
+ get(){
267
+ return !this.testid ? this.selectedTest : this.testid;
268
+ },
269
+ set(value){
270
+ this.testid = value;
271
+ }
272
+ }
273
+ },
269
274
  data() {
270
275
  return {
271
276
  loading: false,
@@ -279,7 +284,7 @@ export default {
279
284
  }
280
285
  ]
281
286
  };
282
- }
287
+ },
283
288
  };
284
289
  </script>
285
290
  <style lang="scss" scoped>