Projekt

Obecné

Profil

« Předchozí | Další » 

Revize d9b0bac7

Přidáno uživatelem Jan Čarnogurský před více než 4 roky(ů)

sort selected parameters, fix constants in template (switch row/column index)

Zobrazit rozdíly:

src/main/webapp/WEB-INF/templates/assembly.html
108 108
                                </tr>
109 109
                                </thead>
110 110
                                <tbody id="column-wrapper" class="sortable">
111
                                <tr th:each="parameterInConfiguration, itemStat : ${#lists.sort(configuration.parametersInConfiguration)}" th:if="${parameterInConfiguration.location.name?.equals('Sloupec')}" class="column-parameter parameter">
112
                                    <input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.id}" value="2">
111
                                <tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" th:if="${parameterInConfiguration.location.name?.equals('Sloupec')}" class="column-parameter parameter">
112
                                    <input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.id}" value="1">
113 113
                                    <input type="hidden" class="parametr-order" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}" th:value="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}">
114 114
                                    <td>
115 115
                                        <span class="parameter-name" th:text="${parameterInConfiguration.parameter.name}"></span>
......
139 139
                                </tr>
140 140
                                </thead>
141 141
                                <tbody id="row-wrapper" class="sortable">
142
                                <tr th:each="parameterInConfiguration, itemStat : ${#lists.sort(configuration.parametersInConfiguration)}" th:if="${parameterInConfiguration.location.name?.equals('Řádek')}" class="row-parameter parameter">
143
                                    <input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.id}" value="1">
142
                                <tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" th:if="${parameterInConfiguration.location.name?.equals('Řádek')}" class="row-parameter parameter">
143
                                    <input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.id}" value="2">
144 144
                                    <input type="hidden" class="parametr-order" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}" th:value="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}">
145 145
                                    <td>
146 146
                                        <span class="parameter-name" th:text="${parameterInConfiguration.parameter.name}"></span>
......
169 169
                                </tr>
170 170
                                </thead>
171 171
                                <tbody id="value-wrapper">
172
                                <tr th:each="parameterInConfiguration, itemStat : ${#lists.sort(configuration.parametersInConfiguration)}" th:if="${parameterInConfiguration.location.name?.equals('Hodnota')}" class="value-parameter parameter">
172
                                <tr th:each="parameterInConfiguration, itemStat : ${configuration.parametersInConfiguration}" th:if="${parameterInConfiguration.location.name?.equals('Hodnota')}" class="value-parameter parameter">
173 173
                                    <input type="hidden" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].location.id}" value="3">
174 174
                                    <input type="hidden" class="parametr-order" th:field="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}" th:value="${configuration.parametersInConfiguration[__${itemStat.index}__].parameterOrder}">
175 175
                                    <td>
src/main/webapp/js/assemblyScripts.js
48 48
    // generation init
49 49
    initTableGenerationButtons();
50 50

  
51
    // sort selected parameters
52
    initSelectedParameters();
53

  
51 54
});
52 55

  
53 56
/**
......
359 362
 */
360 363
function allowExport() {
361 364
    $('.show-spinner').removeAttr('disabled');
365
}
366

  
367
/**
368
 * Sort selected parameters by order
369
 */
370
function initSelectedParameters() {
371

  
372
    sortSelectedParameters('.column-parameter', '#column-wrapper');
373
    sortSelectedParameters('.row-parameter', '#row-wrapper');
374

  
375
}
376

  
377
/**
378
 * Checks and sort specific parameters
379
 * @param parameterName
380
 * @param parameterWrapper
381
 */
382
function sortSelectedParameters(parameterName, parameterWrapper) {
383

  
384
    var tmpArray = [];
385

  
386
    var parameters = $(parameterName);
387

  
388
    // load specific parameters to array orderIndex => parameter
389
    parameters.each(function () {
390
        var orderIndex = $(this).find('.parametr-order').val();
391

  
392
        tmpArray[orderIndex] = $(this);
393

  
394
    });
395

  
396
    // sort parameters by key (order index)
397
    tmpArray.sort((a, b) => a - b);
398

  
399
    let wrapper = $(parameterWrapper);
400

  
401
    // clear wrapper
402
    wrapper.empty();
403

  
404
    // append sorted elements
405
    wrapper.append(tmpArray);
362 406
}

Také k dispozici: Unified diff