|
49 | 49 | searchFormInputWrap.append(searchForm); |
50 | 50 | crmSearch.append(searchLogoWrap, searchFormInputWrap); |
51 | 51 |
|
| 52 | + // организация таблицы данных о клиентах (структура, заголовки колонок) |
| 53 | + const outputTitle = document.createElement('h2'); |
| 54 | + const outputTable = document.createElement('table'); |
| 55 | + const outputTableHead = document.createElement('thead'); |
| 56 | + const outputTableBody = document.createElement('tbody'); |
| 57 | + const oTableHeadTr = document.createElement('tr'); |
| 58 | + const oTableHeadThId = document.createElement('th'); |
| 59 | + const oTableHeadThFIO = document.createElement('th'); |
| 60 | + const oTableHeadThCreationDT = document.createElement('th'); |
| 61 | + const oTableHeadThChanges = document.createElement('th'); |
| 62 | + const oTableHeadThContacts = document.createElement('th'); |
| 63 | + const oTableHeadThActions = document.createElement('th'); |
| 64 | + |
52 | 65 | // ** организация появления/скрытия поля для ввода данных/фильтрационного инпута (по нажатию на logo, на 320px) |
53 | 66 | document |
54 | 67 | .querySelector('.crm__search-logo-img') |
|
65 | 78 | const targetParentNode = target.parentNode; |
66 | 79 | const invalidFeed = targetParentNode.querySelector('.invalid-feedback'); |
67 | 80 |
|
68 | | - // принудительное исключение пробелов (в начале строки) |
| 81 | + // принудительное исключение пробелов (в начале поля для ввода) |
69 | 82 | target.value = target.value.replace(/^\s+/, ''); |
70 | 83 |
|
71 | 84 | // только русские буквы (без цифр/символов), "один" дефис (для двойных фамилий) и без необоснованных пробелов |
|
0 commit comments