BCMI – listy

  bcmi

Wyświetlenie listy

Za wyświetlenie listy odpowiedzialna jest funkcja search_no_timeout();

Tworznie listy/toola

jeśli jest to tool, to w materialpro/classess jest toolhelper.php, gdzie należy znaleźć/dopisać swój case. Następnie w bcmimaterialpro w dyrektywie „bcmiSetBusinessClass” dopisać swoje pola

Następnie w bcmiList.angular.js jest dyrektywa bcmiList dopisać case (jeśli trzeba). No i koniecznie utworzyć w views/filters/object/ plik o nazwie typu obiektu.php

Czasem do list trzeba dodać jakieś akcje – dyrektywy. Wtedy w pliku bcmiList.angular.js znajdujesz fragment

app.directive

I dopisujesz, co ma się dziać, np.

case 'crew':
          scope.hideSearch();

          if( !object_filters || ( object_filters && !JSON.parse(object_filters).company_id ) ) {
            var elem = document.querySelector('#crewInformation'),
                org_id = elem.getAttribute('data-org_id');
                label = elem.getAttribute('data-organization_label');

            object_filters = '{ "company_id" : { "id" : '+ org_id +', "label" : "'+ label +'"} }';
          }
          break;

Wstawienie kolumny z property która jest obiektem

scope.needs_parsing = true;
I funkcja parseListObject 

Szablony tooli

szablony znajdują się w views/object/tools/

Odświeżanie detaila

angular.element($('[bcmi-details]')[0]).triggerHandler('get_details');

Odświeżanie listy

angular.element($('[bcmi-list]')[0]).triggerHandler('search');

Wyszukiwanie

Definiowanie, po których polach następuje wyszukiwanie odbywa się w bcmiApp.angular.js. Sekcja między innymi

$scope.match_fields

Domyślne filtrowanie listy

w bcmiList funkcja getFilterNameForListTool

singleobjectangular filtr

jeśli tworzysz jakiś nowy filtr i nie chce działać przy wybraniu opcji, musisz dopisać id_key w bcmiDropdown > funkcja getObjectIdKey

Domyślne sortowanie listy

Odbywa się w pliku z filtrem, czyli np views/filters/objects/ticket.php

<div style="display: none;" ng-init="sort='scheduled_datetime';sort_type='asc'"></div>

Domyślne sortowanie tabeli

odbywa się w bcmiTable.angular.js. Szukaj fragmentów tego typu:

$scope.sortTable('load_number', 'desc');

Dodanie szablonu komórki

odbywa się w bcmilist.angular.js. Znajdź fragment:

$scope.CELL_TEMPLATES

TABLE / TABELA

Żeby dodać config swojej tabeli:

  1. w toolhelper dodaj swojego toola z szablonem table i z tool_name
  2. w $scope.table_fields dodaj swój przypadek z tool_name
  3. W funkcji getTable() dopisać swój case z funkcją pobierającą dane.
  4. W bcmiDetails w funkcji initObjectTool() dopisać case, żeby zainicjować tabelę

Taby/tabs nad listą

konfiguruje się w listhelper.php w constructorze. Wszykaj np po ’employee’

Pusty szablon tabeli w toolu

<?php
$width_1 = '25%';
$width_2 = '10%';
$width_3 = '25%';
$width_4 = '15%';
?>

<div class="bcmiOnlyTableHeader" ng-controller="bcmiBatchweightsTool" ng-show="current_tool == '<?php echo $tool['tool_name']; ?>'" bcmi-batchweights-tool>
    <div class="bcmiPlatformObjectListHeader standardObjectList">
        <div class="bcmiPlatformObjectListHeaderTop">
        </div>
        <div class="bcmiPlatformObjectListHeaderBottom">
            <div class="bcmiPlatformObjectListHeadersLeft">
                <div class="bcmiPlatformObjectListHeadersLeftContent">
                    <div class="bcmiPlatformObjectListHeaderElement" style="width: <?php echo $width_1; ?>;">
                        <div><?php echo \bcmiLang::get('material_type'); ?></div>
                    </div><div class="bcmiPlatformObjectListHeaderElement" style="width: <?php echo $width_2; ?>;">
                        <div><?php echo \bcmiLang::get('uom'); ?>*</div>
                    </div><div class="bcmiPlatformObjectListHeaderElement" style="width: <?php echo $width_3; ?>;">
                        <div><?php echo \bcmiLang::get('tolerance'); ?></div>
                    </div><div class="bcmiPlatformObjectListHeaderElement" style="width: <?php echo $width_3; ?>;">
                        <div><?php echo \bcmiLang::get('threshold_minimum'); ?> (-)</div>
                    </div><div class="bcmiPlatformObjectListHeaderElement" style="width: <?php echo $width_4; ?>;">
                        <div><?php echo \bcmiLang::get('cumulative_qty'); ?></div>
                    </div>
                </div>
            </div>
            <div class="bcmiPlatformObjectListHeadersRight"> </div>
        </div>
    </div>

    <div class="bcmiPlatformObjectListContent standardObjectList" bcmi-scrollbar>
        <div class="bcmiPlatformObject">
            <div class="bcmiPlatformObjectElement" style="width: <?php echo $width_1; ?>;">
                <div><?php echo \bcmiLang::get('cumulative_qty'); ?></div>
            </div><div class="bcmiPlatformObjectElement" style="width: <?php echo $width_2; ?>;">
                <div><?php echo \bcmiLang::get('cumulative_qty'); ?></div>
            </div><div class="bcmiPlatformObjectElement" style="width: <?php echo $width_3; ?>;">
                <div><?php echo \bcmiLang::get('cumulative_qty'); ?></div>
            </div><div class="bcmiPlatformObjectElement" style="width: <?php echo $width_3; ?>;">
                <div><?php echo \bcmiLang::get('cumulative_qty'); ?></div>
            </div><div class="bcmiPlatformObjectElement" style="width: <?php echo $width_4; ?>;">
                <div><?php echo \bcmiLang::get('cumulative_qty'); ?></div>
            </div>
        </div>
    </div>
</div>