5. Спагетти код
1 var fnGetSearchForm;
2 var fnGetSearchFormQuery;
3 var fnGetSearcheable;
4 var searcheableSelector;
5 var paginatableSelector;
6 var pagingContainerSelector;
7 var fnGetPaginatable;
8 var fnGetPaginatableContainer;
9 var fnGetPagingInfo;
10 var sortableSelector;
11 var sortableContainerSelector;
12 var fnGetSortingOrder;
13 var fnGetSortableContainer;
14 var fnGetSortableElementsNotBoth;
15 var fnInsertTableRows;
16 var fnGetMetaFieldsCodes;
17 var fnAddColumnsHtml;
18 var sortColumnCode = 'data-sort-code';
19 var tableSelector = '[data-table="true"]';
20 var tableWithMarkableRowsSelector = '[data-
table-with-markable-rows="true"]';
21 var sortableColumnSelector =
sortableContainerSelector + ' thead ' +
sortableSelector;
22 var rowSelectedClass = 'selected-row';
23 var dataRowMarkerAttr = 'data-row-
marker="true"';
24 var checkboxRowMarkerSelector = '[' +
dataRowMarkerAttr + ']';
25 var dataMetaFieldCode = 'data-meta-field-code';
26 var dataFromMetaField = 'data-from';
27 var dataToMetaField = 'data-to';
28 var dataPrimaryMetaField = 'data-primary';
29 var toggleAllInPageSelector = '[data-check-
type="toggle-all-in-page"]:first';
30 var dataTableFilterRowAttributes = 'data-filter-
row-attributes';
31 var dataFilterUrl = 'data-filter-url';
32 var dataTableFilterAdditionalRequestParams =
'data-filter-additional-request-params';
33 var dataTableFilterResponseJsonPart = 'data-
filter-response-json-part';
34 var dataTableRawObjectCode = 'data-object-raw-
code';
35 var mainTable = '[data-main-table="true"]';
36 var searchFormSelector = '[data-search-
component="form"]:first';
37 var editButtonSelector = '.edit-set-btn:first';
38 var dataObjectId = 'data-object-id';
39 ….
5
6. Решение № 1.
Свой велосипед
придумать правила
рассказать команде
рассказать новичку
написать документацию
написать свой framework
6
8. Angular
используем малый процент функционала
навязывание своей архитектуры
кто-то замечает тормоза
гадит в шаблоны
боль с подлючением jquery плагинов
для single page
8