Исходный код вики Интерфейс table

Версия 7.1 от Bimit Administrator на 27.08.2024, 09:19

Последние авторы
1 Это интерфейс для отображения результата работы плагина в табличном виде в системе BIMIT
2 В нем доступны следующий функции:
3
4 * [[addHeaderRow>>path:#_Toc1]] - добавление строки с заголовками в таблицу
5 * [[addRow>>path:#_Toc2]] - добавление строки
6 * [[insertRow>>path:#_Toc14]] - добавление содержимого строки
7 * [[addCell>>path:#_Toc3]] - добавление ячейки в таблицу
8 * [[addButton>>path:#_Toc4]] - добавление кнопки с действием жирный/простой
9 * [[setPageSize>>path:#_Toc5]] - установка количества элементов на одной странице
10 * [[showPage>>path:#_Toc6]] - установка текущей отображаемой таблиц
11 * [[replaceRow>>path:#_Toc7]] - замена содержимого строки по указанному индексу с указанием новых данных
12 * [[sortASC>>path:#_Toc8]] - установка параметров для сортировки данных в таблице по возрастанию с указанием столбца
13 * [[sortDESC>>path:#_Toc9]] - установка параметров для сортировки данных в таблице по убыванию с указанием столбца
14 * [[createGroupElements>>path:#_Toc10]] - создание группы элементов с указанием цвета группы и списка элементов
15 * [[saveTempTable>>path:#_Toc11]] - сохранение временной таблицы (перед сохранением сортирует данные)
16 * [[xlsxToJSON>>path:#_Toc12]] - преобразование документа Excel (XLSX, XLS) в формат JSON
17 * [[xlsxToJSON>>path:#_Toc13]] - преобразование документа Excel (XLSX, XLS) в формат JSON с учетом пагинации
18
19 (% class="box infomessage" %)
20 (((
21 **{{id name="_Toc1"/}}addHeaderRow** - добавление строки с заголовками в таблицу
22 )))
23
24 * **table.addHeaderRow ("Заголовок 1","Заголовок 2","Заголовок 3")** - сколько заголовков, столько и столбцов в итоговой странице
25
26 **Пример использования:**
27
28 {{code language="java"}}
29 table.addHeaderRow("Заголовок 1","Заголовок 2","Заголовок 3")
30 {{/code}}
31
32
33 (% class="box infomessage" %)
34 (((
35 **{{id name="_Toc2"/}}addRow** - добавление строки
36 )))
37
38 * **table.addRow ("Строка 1","Строка 2","Строка 3")** - создает строку с выбранными данными
39 * **table.addRow ()** - создает пустую строку
40
41 **Примеры использования:**
42
43 {{code language="java"}}
44 table.addRow("Строка 1","Строка 2","Строка 3")
45 {{/code}}
46
47 {{code language="java"}}
48 table.addRow()
49 {{/code}}
50
51
52 (% class="box infomessage" %)
53 (((
54 **{{id name="_Toc14"/}}insertRow** - добавление содержимого строки
55 )))
56
57 * **table.insertRow (int indexRow, Map<Object, Object>... inp)** - добавление содержимого строки по указанному индексу
58 * **table.insertRow (int indexRow, Object... inp)** - добавление содержимого строки по указанному индексу
59
60 **Пример использования:**
61
62 {{code language="java"}}{{/code}}
63
64 {{code language="java"}}{{/code}}
65
66
67 (% class="box infomessage" %)
68 (((
69 **{{id name="_Toc3"/}}addCell** - добавление ячейки в таблицу
70 )))
71
72 * **table.addCell (индекс строки, индекс столбца, данные)**
73 * **table.addCell (1,1, "123")** - создает ячейку в указанном поле или заменяет существующую
74 * **table.addCell (индекс столбца, данные)**
75 * **table.addCell (1, "123")** - заменяет существующую в указанном столбце
76
77 **Примеры использования:**
78
79 {{code language="java"}}
80 table.addCell(индекс строки, индекс столбца, данные)
81 {{/code}}
82
83 {{code language="java"}}
84 table.addCell(1,1, "123")
85 {{/code}}
86
87 {{code language="java"}}
88 table.addCell(индекс столбца, данные)
89 {{/code}}
90
91 {{code language="java"}}
92 table.addCell(1, "123")
93 {{/code}}
94
95
96 (% class="box infomessage" %)
97 (((
98 **{{id name="_Toc4"/}}addButton** - добавление кнопки с действием
99 )))
100
101 * **table.addButton (int indexColumn, int indexRow, String buttonName, String ACTION_TYPE, Object... args)**
102 Количество и тип передаваемых данных зависит от действия
103
104 **Типы действий:**
105
106 (% cellspacing="0" style="border-collapse:collapse; border:none; width:850px" %)
107 |(% style="border-color:#000000; border-style:solid; border-width:1px; padding:7px; vertical-align:top; width:363px" %)**SHOW_ELEMENTS**|(% style="border-color:#000000; border-style:solid; border-width:1px; padding:7px; vertical-align:top; width:485px" %)подсветка элементов на модели по defoult (обычная выборка)
108 |(% style="border-color:#000000; border-style:solid; border-width:1px; padding:7px; vertical-align:top; width:363px" %)**SHOW_GROUP_ELEMENTS**|(% style="border-color:#000000; border-style:solid; border-width:1px; padding:7px; vertical-align:top; width:485px" %)подсветка элементов на модели в соответствии с назначенными для них цветами (если цвет не назначен, то по defoult)
109
110 **Примеры использования:**
111
112
113 {{code language="java"}}
114 table.addButton(1,3,"click","SHOW_ELEMENTS",["29dec5b9-bfe8-4189-82c7-7aec4c858fce", "98cff622-b2a9-475b-be6d-77f443f0ed53"])
115 {{/code}}
116
117 {{code language="java"}}
118 table.addButton(1,1, "color el", "SHOW_GROUP_ELEMENTS", "#FF0000",
119 ["98cff622-b2a9-475b-be6d-77f443f0ed53", "bd70e912-ffaf-4374-8185-e1d44bd4461e", "29dec5b9-bfe8-4189-82c7-7aec4c858fce"])
120 {{/code}}
121
122 {{code language="java"}}
123 def arr = []
124 def conditionOne = bim.createCondition("class", "eq", "IfcPile")
125
126 def el = bim.getElements(conditionOne)
127
128 arr.add(el[0].uuid)
129 arr.add(new Colored("#F322dd", el[1]))
130 arr.add(new Colored("#F30011", el[3].uuid))
131 arr.add(new Colored("#F399dd", "493105b3-d8ab-422e-95ea-dbaab48c8a68"))
132 arr.add(new Colored("#002fff", "2049c986-1f49-4a39-8c1a-dc19348f9d40"))
133
134 table.addButton(1,1, "color group", "SHOW_GROUP_ELEMENTS", "#ff6600", arr)
135 table.addButton(2,1, "group", "SHOW_GROUP_ELEMENTS", arr)
136 {{/code}}
137
138
139 (% class="box infomessage" %)
140 (((
141 **{{id name="_Toc5"/}}setPageSize** - установка количества элементов на одной странице
142 )))
143
144 * **table.setPageSize (количество элементов на странице)** - устанавливает количество отображаемых элементов  (по умолчанию 10)
145
146 **Примеры использования:**
147
148 {{code language="java"}}
149 table.setPageSize(10)
150 {{/code}}
151
152
153 (% class="box infomessage" %)
154 (((
155 **{{id name="_Toc6"/}}showPage** - установка текущей отображаемой таблиц
156 )))
157
158 * **table.showPage (индекс текущей страницы)** - устанавливает текущую страницу (нумерация начинается с 1)
159
160 **Примеры использования:**
161
162 {{code language="java"}}
163 table.showPage(1)
164 {{/code}}
165
166 (% class="box infomessage" %)
167 (((
168 **{{id name="_Toc7"/}}replaceRow** - замена содержимого строки по указанному индексу с указанием новых данных
169 )))
170
171 * **table.replaceRow (int indexRow, Object... inp)**
172
173 **Пример использования:**
174
175 {{code language="java"}}{{/code}}
176
177 (% class="box infomessage" %)
178 (((
179 **{{id name="_Toc8"/}}sortASC** - установка параметров для сортировки данных в таблице по возрастанию с указанием столбца
180 )))
181
182 * **table.sortASC (int indexColumn)**
183
184 **Пример использования:**
185
186 {{code language="java"}}{{/code}}
187
188 (% class="box infomessage" %)
189 (((
190 **{{id name="_Toc9"/}}sortDESC** - установка параметров для сортировки данных в таблице по убыванию с указанием столбца
191 )))
192
193 * **table.sortDESC (int indexColumn)**
194
195 **Пример использования:**
196
197 {{code language="java"}}{{/code}}
198
199 (% class="box infomessage" %)
200 (((
201 **{{id name="_Toc10"/}}createGroupElements** - создание группы элементов с указанием цвета группы и списка элементов
202 )))
203
204 * **table.createGroupElements (String color, List<T> elements)**
205
206 **Пример использования:**
207
208 {{code language="java"}}{{/code}}
209
210 (% class="box infomessage" %)
211 (((
212 **{{id name="_Toc11"/}}saveTempTable** - сохранение временной таблицы (перед сохранением сортирует данные)
213 )))
214
215 * **table.saveTempTable ()**
216
217 **Пример использования:**
218
219 {{code language="java"}}{{/code}}
220
221 (% class="box infomessage" %)
222 (((
223 **{{id name="_Toc12"/}}xlsxToJSON** - преобразование документа Excel (XLSX, XLS) в формат JSON
224 )))
225
226 * **table.xlsxToJSON ()**
227
228 **Пример использования:**
229
230 {{code language="java"}}{{/code}}
231
232 (% class="box infomessage" %)
233 (((
234 **{{id name="_Toc13"/}}xlsxToJSON** - преобразование документа Excel (XLSX, XLS) в формат JSON с учетом пагинации
235 )))
236
237 * **table.xlsxToJSON (int page, int pageSize)**
238
239 **Пример использования:**
240
241 {{code language="java"}}{{/code}}