| Línea 21... | 
            Línea 21... | 
          
          
            | 21 | 
             * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  | 
            21 | 
             * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  | 
          
          
            | 22 | 
             */
  | 
            22 | 
             */
  | 
          
          
            | Línea 23... | 
            Línea 23... | 
          
          
            | 23 | 
             
  | 
            23 | 
             
  | 
          
          
            | Línea 24... | 
            Línea -... | 
          
          
            | 24 | 
            "use strict";
  | 
            - | 
               | 
          
          
            | 25 | 
             
  | 
            24 | 
            "use strict";
  | 
          
          
            | 26 | 
            import $ from 'jquery';
  | 
            25 | 
             
  | 
          
          
            | 27 | 
            import AutoComplete from 'core/form-autocomplete';
  | 
            26 | 
            import AutoComplete from 'core/form-autocomplete';
  | 
          
          
            | 28 | 
            import 'core/inplace_editable';
  | 
            27 | 
            import 'core/inplace_editable';
  | 
          
          
            | 29 | 
            import Notification from 'core/notification';
  | 
            28 | 
            import Notification from 'core/notification';
  | 
          
          
            | Línea 149... | 
            Línea 148... | 
          
          
            | 149 | 
                            return;
  | 
            148 | 
                            return;
  | 
          
          
            | 150 | 
                        });
  | 
            149 | 
                        });
  | 
          
          
            | 151 | 
                    }
  | 
            150 | 
                    }
  | 
          
          
            | 152 | 
                });
  | 
            151 | 
                });
  | 
          
          
            | Línea 153... | 
            Línea 152... | 
          
          
            | 153 | 
             
  | 
            152 | 
             
  | 
          
          
            | - | 
               | 
            153 | 
                // Initialize sortable list to handle active filters moving.
  | 
          
          
            | 154 | 
                // Initialize sortable list to handle active filters moving (note JQuery dependency, see MDL-72293 for resolution).
  | 
            154 | 
                const activeFiltersSelector = `${reportSelectors.regions.activeFilters} ul`;
  | 
          
          
            | 155 | 
                var activeFiltersSortableList = new SortableList(`${reportSelectors.regions.activeFilters} ul`, {isHorizontal: false});
  | 
            155 | 
                const activeFiltersSortableList = new SortableList(activeFiltersSelector, {isHorizontal: false});
  | 
          
          
            | Línea 156... | 
            Línea 156... | 
          
          
            | 156 | 
                activeFiltersSortableList.getElementName = element => Promise.resolve(element.data('filterName'));
  | 
            156 | 
                activeFiltersSortableList.getElementName = element => Promise.resolve(element.data('filterName'));
  | 
          
          
            | - | 
               | 
            157 | 
             
  | 
          
          
            | 157 | 
             
  | 
            158 | 
                document.addEventListener(SortableList.EVENTS.elementDrop, event => {
  | 
          
          
            | 158 | 
                $(document).on(SortableList.EVENTS.DROP, `${reportSelectors.regions.report} li[data-filter-id]`, (event, info) => {
  | 
            159 | 
                    const reportOrderFilter = event.target.closest(`${activeFiltersSelector} ${reportSelectors.regions.activeFilter}`);
  | 
          
          
            | - | 
               | 
            160 | 
                    if (reportOrderFilter && event.detail.positionChanged) {
  | 
          
          
            | 159 | 
                    if (info.positionChanged) {
  | 
            161 | 
                        const pendingPromise = new Pending('core_reportbuilder/filters:reorder');
  | 
          
          
            | 160 | 
                        const pendingPromise = new Pending('core_reportbuilder/filters:reorder');
  | 
            - | 
               | 
          
          
            | 161 | 
                        const reportElement = event.target.closest(reportSelectors.regions.report);
  | 
            162 | 
             
  | 
          
          
            | Línea 162... | 
            Línea 163... | 
          
          
            | 162 | 
                        const filterId = info.element.data('filterId');
  | 
            163 | 
                        const reportElement = reportOrderFilter.closest(reportSelectors.regions.report);
  | 
          
          
            | 163 | 
                        const filterPosition = info.element.data('filterPosition');
  | 
            164 | 
                        const {filterId, filterPosition, filterName} = reportOrderFilter.dataset;
  | 
          
          
            | - | 
               | 
            165 | 
             
  | 
          
          
            | 164 | 
             
  | 
            166 | 
                        // Select target position, if moving to the end then count number of element siblings.
  | 
          
          
            | 165 | 
                        // Select target position, if moving to the end then count number of element siblings.
  | 
            167 | 
                        let targetFilterPosition = event.detail.targetNextElement.data('filterPosition')
  | 
          
          
            | 166 | 
                        let targetFilterPosition = info.targetNextElement.data('filterPosition') || info.element.siblings().length + 2;
  | 
            168 | 
                            || event.detail.element.siblings().length + 2;
  | 
          
          
            | Línea 167... | 
            Línea 169... | 
          
          
            | 167 | 
                        if (targetFilterPosition > filterPosition) {
  | 
            169 | 
                        if (targetFilterPosition > filterPosition) {
  | 
          
          
            | 168 | 
                            targetFilterPosition--;
  | 
            170 | 
                            targetFilterPosition--;
  | 
          
          
            | 169 | 
                        }
  | 
            171 | 
                        }
  | 
          
          
            | 170 | 
             
  | 
            172 | 
             
  | 
          
          
            | 171 | 
                        // Re-order filter, giving drop event transition time to finish.
  | 
            173 | 
                        // Re-order filter, giving drop event transition time to finish.
  | 
          
          
            | 172 | 
                        const reorderPromise = reorderFilter(reportElement.dataset.reportId, filterId, targetFilterPosition);
  | 
            174 | 
                        const reorderPromise = reorderFilter(reportElement.dataset.reportId, filterId, targetFilterPosition);
  | 
          
          
            | 173 | 
                        Promise.all([reorderPromise, new Promise(resolve => setTimeout(resolve, 1000))])
  | 
            175 | 
                        Promise.all([reorderPromise, new Promise(resolve => setTimeout(resolve, 1000))])
  | 
          
          
            | 174 | 
                            .then(([data]) => reloadSettingsFiltersRegion(reportElement, data))
  | 
            176 | 
                            .then(([data]) => reloadSettingsFiltersRegion(reportElement, data))
  | 
          
          
            | 175 | 
                            .then(() => getString('filtermoved', 'core_reportbuilder', info.element.data('filterName')))
  | 
            177 | 
                            .then(() => getString('filtermoved', 'core_reportbuilder', filterName))
  | 
          
          
            | 176 | 
                            .then(addToast)
  | 
            178 | 
                            .then(addToast)
  |