{% macro query_designer_condition_builder(params) %} {% set fieldConditionOptions = { fieldChoice: { select2: { placeholder: 'oro.query_designer.condition_builder.choose_entity_field'|trans }, fieldsLoaderSelector: '#' ~ params.entity_choice_id } } %} {% set segmentConditionOptions = { segmentChoice: { select2: { placeholder: 'oro.segment.condition_builder.choose_entity_segment'|trans, ajax: { url: 'oro_api_get_segment_items', quietMillis: 100, } }, fieldsLoaderSelector: '#' ~ params.entity_choice_id, currentSegment: params.currentSegmentId|default(null), pageLimit: params.page_limit|default(10) } } %} {% set conditionBuilderOptions = { criteriaListSelector: '#' ~ params.criteria_list_id, entityChoiceSelector: '#' ~ params.entity_choice_id, onFieldsUpdate: { toggleCriteria: ['condition-item', 'condition-segment', 'conditions-group'] } } %}
{{ 'oro.query_designer.condition_builder.criteria.drag_hint'|trans }}
  • {{ 'oro.query_designer.condition_builder.criteria.field_condition'|trans }}
  • {{ 'oro.segment.condition_builder.criteria.segment_condition'|trans }}
  • {{ 'oro.query_designer.condition_builder.criteria.conditions_group'|trans }}
{% endmacro %} {% macro query_designer_segment_template(id) %} {% endmacro %} {# Renders run button for static segment if allowed @param Segment entity @param bool reloadRequired - is page reload required after run #} {% macro runButton(entity, reloadRequired = false) %} {% import 'OroUIBundle::macros.html.twig' as UI %} {% if entity.id and resource_granted('EDIT', entity) and entity.type.name == constant('Oro\\Bundle\\SegmentBundle\\Entity\\SegmentType::TYPE_STATIC') %} {{ UI.clientButton({ 'dataUrl': path('oro_api_post_segment_run', { 'id': entity.id }) , 'aCss': 'no-hash run-button btn', 'label' : 'oro.segment.action.refresh'|trans, 'iCss': 'icon-refresh', 'dataAttributes': { 'page-component-module': 'orosegment/js/app/components/refresh-button', 'page-component-options': {'reloadRequired': reloadRequired}|json_encode, } }) }} {% endif %} {% endmacro %} {# Renders save and refresh button @param Segment entity #} {% macro saveAndRefreshButton(entity) %} {% import 'OroUIBundle::macros.html.twig' as UI %} {% if entity.id and resource_granted('EDIT', entity) and entity.type.name == constant('Oro\\Bundle\\SegmentBundle\\Entity\\SegmentType::TYPE_STATIC') %} {{ UI.buttonType({'type': 'button', 'class': 'btn-success main-group', 'label': 'Save and refresh', 'action': 'save_and_refresh'}) }} {% endif %} {% endmacro %} {# Render JS code for report/segment init @param string type segment or report @param FormView form @param array entities @param array metadata #} {% macro initJsWidgets(type, form, entities, metadata, entityFieldsRouteParams = {}) %} {{ _self.query_designer_segment_template('segment-template') }} {% set segmentOptions = { valueSource: '#' ~ type ~ '_form_definition', fieldsLoader: { entityChoice: '#' ~ type ~ '_form_entity', loadingMaskParent: '#' ~ type ~ '-designer', router: 'oro_api_querydesigner_fields_entity', routingParams: entityFieldsRouteParams, fieldsData: [], confirmMessage: type|replace('_', '.') ~ '.change_entity_confirmation', }, filters: { criteriaList: '#filter-criteria-list', conditionBuilder: '#' ~ type ~ '-condition-builder' }, column: { editor: { namePattern: '^' ~ type ~ '_form\\[column\\]\\[([\\w\\W]*)\\]$' }, form: '#' ~ type ~ '-column-form', itemContainer: '#' ~ type ~ '-column-list .item-container', itemTemplate: '#' ~ type ~ '-column-row' }, select2FieldChoiceTemplate: '#column-chain-template', select2SegmentChoiceTemplate: '#segment-template', entities: entities, metadata: metadata } %} {% if not form.entity.vars.value is empty %} {% set fieldsLoaderOptions = segmentOptions.fieldsLoader|merge({'fieldsData': render( path('oro_api_querydesigner_fields_entity', { 'entityName': form.entity.vars.value|replace({'\\': '_'}) }|merge(entityFieldsRouteParams)) )}) %} {% set segmentOptions = segmentOptions|merge({'fieldsLoader': fieldsLoaderOptions}) %} {% endif %} {% if type == 'oro_report' %} {% set segmentOptions = segmentOptions|merge({'grouping': { editor: { mapping: { name: 'oro_report_form[grouping][columnNames]' } }, form: '#' ~ type ~ '-grouping-form', itemContainer: '#' ~ type ~ '-grouping-list .grouping-item-container', itemTemplate: '#' ~ type ~ '-grouping-item-row' } }) %} {% endif %} {% if type == 'oro_segment' %} {% set segmentOptions = segmentOptions|merge({'gridFieldChoiceOptions': { exclude: ['children'] } }) %} {% endif %}
{% endmacro %}