Skip to content

Commit aa1f0b4

Browse files
committed
[PRAC/cont] Add logic for creating table el/rows
Organiz creation table el/rows for clients data (filling cells). Worth noting: - realization logic for "dynamic" filling, contact cell. - and adding styles/effects. core: B-3 / JS-BL
1 parent fb5bb0c commit aa1f0b4

File tree

16 files changed

+458
-17
lines changed

16 files changed

+458
-17
lines changed

core-courses/3-js-basic-level/practicum-js-basic-level/sb-crm-client/css/crm-output.css

Lines changed: 186 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
.crm__output-table {
4141
margin-bottom: 0;
42-
min-height: 322px;
42+
/* min-height: 322px; */
4343
font-family: var(--open-sans), sans-serif;
4444
font-weight: var(--regular);
4545
background-color: var(--white);
@@ -54,27 +54,22 @@
5454

5555
.crm__output-table tr th,
5656
.crm__output-table tr td {
57-
line-height: 32px;
58-
text-align: center;
5957
vertical-align: middle;
60-
color: var(--black);
6158
cursor: pointer;
6259
}
6360

6461
.crm__output-table .crm__output-table-head-cell {
65-
padding: 8px 10px;
62+
padding: 8px 8px;
6663
text-align: start;
6764
}
6865

6966
.crm__output-table #table-th-id {
70-
padding-left: 20px;
71-
width: 80px;
72-
font-weight: var(--semi-bold);
73-
color: var(--text-gray);
67+
padding-left: 15px;
68+
width: 95px;
7469
}
7570

7671
.crm__output-table #table-th-fio {
77-
width: 355px;
72+
width: 360px;
7873
}
7974

8075
.crm__output-table #table-th-dt {
@@ -86,8 +81,7 @@
8681
}
8782

8883
.crm__output-table #table-th-contact {
89-
padding-left: 20px;
90-
width: 145px;
84+
width: 130px;
9185
cursor: default;
9286
}
9387

@@ -165,6 +159,153 @@
165159
color: var(--main-purple);
166160
}
167161

162+
.crm__output-table-body {
163+
color: var(--black);
164+
}
165+
166+
.crm__output-table-body-row {
167+
border-bottom: 1px solid var(--text-gray);
168+
height: 65px;
169+
}
170+
171+
.crm__output-table-body-row .crm__output-table-body-cell_id {
172+
padding-left: 15px;
173+
color: var(--text-gray);
174+
}
175+
176+
.crm__output-table-body-cell_crt-date,
177+
.crm__output-table-body-cell_chg-date {
178+
margin-right: 8px;
179+
}
180+
181+
.crm__output-table-body-cell_crt-time,
182+
.crm__output-table-body-cell_chg-time {
183+
color: var(--text-gray);
184+
}
185+
186+
.crm__output-table-body-cell_contacts-list {
187+
display: flex;
188+
justify-content: flex-start;
189+
flex-wrap: wrap;
190+
align-items: center;
191+
gap: 1px 2px;
192+
position: relative;
193+
margin: 0;
194+
padding: 0;
195+
list-style: none;
196+
}
197+
198+
.crm__output-table-body-cell_contacts-empty-item,
199+
.crm__output-table-body-cell_contacts-item {
200+
position: relative;
201+
padding: 2px;
202+
width: 20px;
203+
height: 20px;
204+
font-family: var(--open-sans), sans-serif;
205+
font-size: var(--default-fs);
206+
transition-property: color, background-color;
207+
transition-duration: var(--short);
208+
transition-timing-function: ease;
209+
}
210+
211+
.table-row-contacts-icon {
212+
position: absolute;
213+
top: 0;
214+
left: 3px;
215+
font-size: 14px;
216+
transition-property: color, opacity;
217+
transition-duration: var(--short);
218+
transition-timing-function: ease;
219+
}
220+
221+
.crm__output-table-body-cell_contacts-empty-item-i {
222+
color: var(--bootstrap-red);
223+
}
224+
225+
.crm__output-table-body-cell_contacts-item-i {
226+
color: var(--light-purple);
227+
opacity: 0.7;
228+
}
229+
230+
.crm__output-table-body-row .crm__output-table-body-cell_actions-btns {
231+
padding-left: 0;
232+
}
233+
234+
.crm__output-table-body-cell_actions-btns-wrap {
235+
display: flex;
236+
justify-content: flex-start;
237+
column-gap: 5px;
238+
}
239+
240+
.table-row-btn {
241+
margin: 0;
242+
border: none;
243+
padding: 0;
244+
background: transparent;
245+
outline: none;
246+
}
247+
248+
.crm__output-table-body-cell_actions-btn-edit,
249+
.crm__output-table-body-cell_actions-btn-delete {
250+
display: flex;
251+
/* justify-content: flex-end; */
252+
align-items: center;
253+
position: relative;
254+
padding: 2px 2px 0;
255+
padding-left: 29px;
256+
width: 100px;
257+
font-family: var(--open-sans), sans-serif;
258+
font-size: var(--default-fs);
259+
transition-property: color, background-color;
260+
transition-duration: var(--short);
261+
transition-timing-function: ease;
262+
}
263+
264+
.table-row-btn-icon {
265+
position: absolute;
266+
top: 2px;
267+
left: 12px;
268+
font-size: 14px;
269+
opacity: 0;
270+
transition-property: color, opacity;
271+
transition-duration: var(--short);
272+
transition-timing-function: ease;
273+
}
274+
275+
.crm__output-table-body-cell_actions-btn-edit .crm__output-table-body-cell_actions-btn-edit-icon-pen {
276+
color: var(--light-purple);
277+
opacity: 0.7;
278+
}
279+
280+
.crm__output-table-body-cell_actions-btn-edit:focus-visible:not(:hover) {
281+
color: var(--cold-purple);
282+
}
283+
284+
.crm__output-table-body-cell_actions-btn-edit:focus-visible:active {
285+
color: var(--cold-purple);
286+
}
287+
288+
.crm__output-table-body-cell_actions-btn-edit:active {
289+
color: var(--cold-purple);
290+
}
291+
292+
.crm__output-table-body-cell_actions-btn-delete .crm__output-table-body-cell_actions-btn-delete-icon-x {
293+
color: var(--bootstrap-red);
294+
opacity: 0.7;
295+
}
296+
297+
.crm__output-table-body-cell_actions-btn-delete:focus-visible:not(:hover) {
298+
color: var(--bootstrap-red);
299+
}
300+
301+
.crm__output-table-body-cell_actions-btn-delete:focus-visible:active {
302+
color: var(--bootstrap-red);
303+
}
304+
305+
.crm__output-table-body-cell_actions-btn-delete:active {
306+
color: var(--bootstrap-red);
307+
}
308+
168309
/* media queries, any-hover */
169310

170311
@media (max-width: 992px) {
@@ -199,7 +340,7 @@
199340
}
200341

201342
.head-cell-with-icon:hover:not(:focus-visible):not(:active) .head-cell__text {
202-
color: var(--black);
343+
color: var(--light-purple);
203344
}
204345

205346
.head-cell-with-icon:hover .head-cell__icon {
@@ -209,4 +350,36 @@
209350
.head-cell-with-icon:hover .head-cell__sort {
210351
opacity: 1;
211352
}
353+
354+
.crm__output-table-body-cell_contacts-item-i:hover:not(:active) {
355+
color: var(--dark-purple);
356+
opacity: 0.7;
357+
}
358+
359+
360+
.crm__output-table-body-cell_actions-btn-edit:hover:not(:active):not(:focus-visible) .crm__output-table-body-cell_actions-btn-edit-icon-pen {
361+
opacity: 0;
362+
}
363+
364+
.crm__output-table-body-cell_actions-btn-edit:hover:not(:active):not(:focus-visible) .crm__output-table-body-cell_actions-btn-edit-icon-lap {
365+
color: var(--main-purple);
366+
opacity: 0.7;
367+
}
368+
369+
.crm__output-table-body-cell_actions-btn-edit:hover:not(:active) {
370+
color: var(--light-purple);
371+
}
372+
373+
.crm__output-table-body-cell_actions-btn-delete:hover:not(:active):not(:focus-visible) .crm__output-table-body-cell_actions-btn-delete-icon-x {
374+
opacity: 0;
375+
}
376+
377+
.crm__output-table-body-cell_actions-btn-delete:hover:not(:active):not(:focus-visible) .crm__output-table-body-cell_actions-btn-delete-icon-lap {
378+
color: var(--bootstrap-red);
379+
opacity: 0.7;
380+
}
381+
382+
.crm__output-table-body-cell_actions-btn-delete:hover:not(:active) {
383+
color: var(--bootstrap-red);
384+
}
212385
}

core-courses/3-js-basic-level/practicum-js-basic-level/sb-crm-client/css/modal-type.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@
165165
justify-content: flex-end;
166166
align-items: center;
167167
position: relative;
168-
border: none;
169168
padding: 10px 20px;
170169
min-width: 191px;
171170
font-family: var(--open-sans), sans-serif;

0 commit comments

Comments
 (0)