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:
- w toolhelper dodaj swojego toola z szablonem table i z tool_name
- w $scope.table_fields dodaj swój przypadek z tool_name
- W funkcji getTable() dopisać swój case z funkcją pobierającą dane.
- 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>