@burh/nuxt-core 1.0.73 → 1.0.75

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.
@@ -2,51 +2,9 @@
2
2
  <div class="card card--store mb-4" :class="isSelected && 'selected'" tabindex="0" @click="$emit('card-selected')">
3
3
  <div class="card-header bg-transparent text-center card-header--store">
4
4
  <h3 class="text-header display-3">{{ name }}</h3>
5
- <h3 class="display-3">{{ price | convertToReal }}</h3>
6
-
7
- <div class="d-block d-sm-none text-center">
8
- <collapse :animation-duration="200">
9
- <collapse-item class="card--shadowless" name="1">
10
- <button slot="title" class="btn btn-link" @click="$emit('card-benefits')">Beneficios</button>
11
- <div>
12
- <ul class="list-unstyled">
13
- <li v-for="(item, index) in features" :key="index">
14
- <div class="d-flex align-items-center">
15
- <span>
16
- <i class="fas fa-check"></i>
17
- </span>
18
- <div class="ml-4 small text-left">
19
- <span> {{ item }} </span>
20
- </div>
21
- </div>
22
- </li>
23
- </ul>
24
- </div>
25
- </collapse-item>
26
- </collapse>
27
-
28
- </div>
29
5
  </div>
30
-
31
- <div class="card-body p-4 px-lg-4 d-none d-md-block">
32
- <div>
33
- <h6 class="card-text text-sm pl-mini">{{ description }}</h6>
34
- <div class="h6 font-weight-bold text-sm pl-mini">{{ subtitle }}</div>
35
- <div class="pl-mini">
36
- <ul class="list-unstyled">
37
- <li v-for="(item, index) in features" :key="index">
38
- <div class="d-flex align-items-center">
39
- <span>
40
- <i class="fas fa-check"></i>
41
- </span>
42
- <div class="ml-4 small">
43
- <span> {{ item }} </span>
44
- </div>
45
- </div>
46
- </li>
47
- </ul>
48
- </div>
49
- </div>
6
+ <div class="card-body py-0">
7
+ <h3 class="display-3 text-center">{{ price | convertToReal }}</h3>
50
8
  </div>
51
9
  </div>
52
10
  </template>
@@ -17,15 +17,15 @@
17
17
  @change="addNumber(receiver)"
18
18
  />
19
19
 
20
- <div class="d-flex flex-wrap">
20
+ <div class="row">
21
21
  <badge
22
22
  v-for="(numbers, index) in allNumbers"
23
23
  :key="index"
24
24
  type="primary"
25
- class="col-3 mx-3"
25
+ class="col-3 mx-3 px-1"
26
26
  >{{ numbers
27
27
  }}<i
28
- class="fas fa-times px-2 cursor-pointer"
28
+ class="fas fa-times ml-1 cursor-pointer"
29
29
  @click="deleteNumber(index)"
30
30
  ></i
31
31
  ></badge>
@@ -34,25 +34,47 @@
34
34
 
35
35
  <div class="mb-4">
36
36
  <div class="d-flex flex-column">
37
- <label for="message" class="form-control-label"
38
- >Mensagem</label
37
+ <label for="template" class="form-control-label"
38
+ >Modelo</label
39
39
  >
40
- <el-select
41
- filterable
42
- no-match-text="Nenhum modelo encontrado"
43
- no-data-text="Nenhum modelo encontrado"
44
- placeholder="Escolha o modelo"
45
- v-model="messageType"
46
- >
47
- <el-option
48
- v-for="models in models"
49
- class="select-danger"
50
- :value="models.text"
51
- :label="models.name"
52
- :key="models.id"
53
- :disabled="hasModel"
54
- ></el-option>
55
- </el-select>
40
+ <div class="d-flex align-items-center form-group">
41
+ <el-select
42
+ filterable
43
+ name="template"
44
+ no-match-text="Nenhum modelo encontrado"
45
+ no-data-text="Nenhum modelo encontrado"
46
+ placeholder="Escolha o modelo"
47
+ :class="'col-9 px-0'"
48
+ @change="changeMessage(messageTitle)"
49
+ v-model="messageTitle"
50
+ :clearable="true"
51
+ >
52
+ <el-option
53
+ v-for="(templates, index) in models"
54
+ class="select-danger"
55
+ :value="templates.title"
56
+ :key="index"
57
+ ></el-option>
58
+ </el-select>
59
+
60
+ <el-tooltip
61
+ class="item"
62
+ effect="dark"
63
+ :content="'Remover Template'"
64
+ placement="top"
65
+ >
66
+ <i
67
+ v-if="messageTitle"
68
+ @click="deleteTemplate(messageTitle)"
69
+ class="fas fa-trash col-3 ml-5"
70
+ :class="
71
+ belongsToUser()
72
+ ? 'text-danger cursor-pointer'
73
+ : ''
74
+ "
75
+ ></i>
76
+ </el-tooltip>
77
+ </div>
56
78
  </div>
57
79
 
58
80
  <validation-provider
@@ -62,9 +84,13 @@
62
84
  rules="required"
63
85
  v-slot="{ errors }"
64
86
  >
87
+ <label for="message" class="form-control-label"
88
+ >Mensagem</label
89
+ >
65
90
  <textarea
66
- class="form-control mt-4"
91
+ class="form-control"
67
92
  v-model="message"
93
+ name="message"
68
94
  :class="{ 'is-invalid': errors.length }"
69
95
  placeholder="Mensagem que será enviada"
70
96
  ></textarea>
@@ -84,6 +110,7 @@
84
110
  <validation-provider
85
111
  tag="div"
86
112
  v-if="saveModel"
113
+ :class="'d-flex align-items-center'"
87
114
  name="Titulo para o modelo"
88
115
  rules="required"
89
116
  v-slot="{ errors }"
@@ -91,10 +118,15 @@
91
118
  <base-input
92
119
  v-model="modelName"
93
120
  placeholder="Titulo para o modelo"
94
- :class="'mt-4'"
121
+ :class="'mt-4 col-9 px-0'"
95
122
  :error="errors[0]"
96
123
  :valid="errors.length ? true : false"
97
124
  />
125
+
126
+ <i
127
+ class="text-primary fas fa-save cursor-pointer col-3 ml-5"
128
+ @click="saveTemplate()"
129
+ ></i>
98
130
  </validation-provider>
99
131
  </div>
100
132
  <div class="d-flex">
@@ -113,7 +145,7 @@
113
145
  </template>
114
146
 
115
147
  <script>
116
- import { Select, Option, Checkbox } from "element-ui";
148
+ import { Select, Option, Checkbox, Tooltip, Button } from "element-ui";
117
149
  import { mask } from "vue-the-mask";
118
150
  import swal from "sweetalert2";
119
151
  export default {
@@ -122,7 +154,8 @@ export default {
122
154
  components: {
123
155
  [Select.name]: Select,
124
156
  [Option.name]: Option,
125
- [Checkbox.name]: Checkbox
157
+ [Checkbox.name]: Checkbox,
158
+ [Tooltip.name]: Tooltip
126
159
  },
127
160
  computed: {
128
161
  isModalOpen: {
@@ -138,24 +171,23 @@ export default {
138
171
  show: {
139
172
  type: Boolean,
140
173
  default: false
141
- }
174
+ },
175
+ templates: null
142
176
  },
143
177
  model: {
144
178
  prop: "show"
145
179
  },
180
+ watch: {
181
+ templates(newValue) {
182
+ this.models = newValue;
183
+ }
184
+ },
146
185
  data() {
147
186
  return {
148
- messageType: null,
187
+ models: this.templates,
188
+ messageTitle: null,
149
189
  receiver: null,
150
190
  message: "",
151
- models: [
152
- {
153
- id: 1,
154
- name: "Modelo Pronto",
155
- text: "Olá, somos a BURH"
156
- }
157
- ],
158
- hasModel: false,
159
191
  saveModel: false,
160
192
  modelName: null,
161
193
  allNumbers: []
@@ -172,6 +204,17 @@ export default {
172
204
  title: `Aviso`,
173
205
  html: `Preecha todos os campos corretamente`,
174
206
  buttonsStyling: false,
207
+ type: "error",
208
+ confirmButtonClass: "btn btn-primary btn-fill"
209
+ });
210
+ return;
211
+ }
212
+ if (this.allNumbers.length == 0) {
213
+ swal.fire({
214
+ title: `Aviso`,
215
+ html: `Adicione pelo menos um número de telefone para continuar`,
216
+ buttonsStyling: false,
217
+ type: "error",
175
218
  confirmButtonClass: "btn btn-primary btn-fill"
176
219
  });
177
220
  return;
@@ -179,20 +222,49 @@ export default {
179
222
  this.$emit("send-sms", this.allNumbers, this.message);
180
223
  }
181
224
  },
225
+ saveTemplate() {
226
+ if (this.saveModel) {
227
+ this.$emit("save-model", this.modelName, this.message);
228
+ }
229
+ },
182
230
  addNumber(number) {
183
231
  this.allNumbers.push(number);
184
232
  this.receiver = "";
185
- console.log(this.allNumbers);
186
233
  },
187
234
  deleteNumber(index) {
188
- console.log(index);
189
235
  this.allNumbers.splice(index, 1);
236
+ },
237
+ changeMessage(messageName) {
238
+ let message = this.models.find(data => data.title == messageName);
239
+ this.message = message ? message.message : "";
240
+ },
241
+ deleteTemplate(messageName) {
242
+ let template = this.models.find(data => data.title == messageName);
243
+ this.$emit("remove-template", template.id);
244
+ },
245
+ belongsToUser() {
246
+ let template = this.models.find(
247
+ data => data.title == this.messageTitle
248
+ );
249
+
250
+ return (
251
+ parseInt(this.$store.state.user.currentUser.id) ==
252
+ template.user_id
253
+ );
190
254
  }
191
- }
255
+ },
256
+ mounted() {}
192
257
  };
193
258
  </script>
194
259
  <style lang="scss" scoped>
195
260
  .badge {
196
261
  margin-bottom: 1.5rem;
197
262
  }
263
+ .modal-body {
264
+ padding: 1.5rem !important;
265
+ }
266
+
267
+ .top .el-tooltip__popper {
268
+ padding: 8px 10px;
269
+ }
198
270
  </style>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burh/nuxt-core",
3
- "version": "1.0.73",
3
+ "version": "1.0.75",
4
4
  "description": "Design System and Components.",
5
5
  "author": "Burh",
6
6
  "scripts": {