'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }

exports.default = function (pluginContext) {
  var _pluginContext$search = pluginContext.searchOperators,
      OP_OR = _pluginContext$search.OP_OR,
      OP_EQ = _pluginContext$search.OP_EQ,
      OP_CONTAIN = _pluginContext$search.OP_CONTAIN,
      OP_RANGE = _pluginContext$search.OP_RANGE;
  var extensions = pluginContext.config.extensions;


  return {
    op: OP_OR,
    value: [{
      op: OP_CONTAIN,
      path: 'ns2:movements_common/movementReferenceNumber'
    }, {
      op: OP_EQ,
      path: 'ns2:movements_common/normalLocation'
    }, {
      op: OP_EQ,
      path: 'ns2:movements_common/currentLocation'
    }, {
      op: OP_RANGE,
      path: 'ns2:movements_common/locationDate'
    }, {
      op: OP_EQ,
      path: 'ns2:movements_common/reasonForMove'
    }, {
      op: OP_EQ,
      path: 'ns2:movements_common/movementMethods/movementMethod'
    }, {
      op: OP_RANGE,
      path: 'ns2:movements_common/plannedRemovalDate'
    }, {
      op: OP_RANGE,
      path: 'ns2:movements_common/removalDate'
    }, {
      op: OP_EQ,
      path: 'ns2:movements_common/movementContact'
    }, {
      op: OP_EQ,
      path: 'ns2:movements_common/inventoryActionRequired'
    }, {
      op: OP_EQ,
      path: 'ns2:movements_common/frequencyForInventory'
    }, {
      op: OP_RANGE,
      path: 'ns2:movements_common/inventoryDate'
    }, {
      op: OP_RANGE,
      path: 'ns2:movements_common/nextInventoryDate'
    }, {
      op: OP_EQ,
      path: 'ns2:movements_common/inventoryContactList/inventoryContact'
    }, {
      op: OP_CONTAIN,
      path: 'ns2:movements_common/inventoryNote'
    }].concat(_toConsumableArray(extensions.core.advancedSearch))
  };
};