@phoenix-cg/v-filters 0.2.12 → 0.2.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -196,6 +196,23 @@ exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnProper
196
196
  };
197
197
 
198
198
 
199
+ /***/ }),
200
+
201
+ /***/ "07ac":
202
+ /***/ (function(module, exports, __webpack_require__) {
203
+
204
+ var $ = __webpack_require__("23e7");
205
+ var $values = __webpack_require__("6f53").values;
206
+
207
+ // `Object.values` method
208
+ // https://tc39.es/ecma262/#sec-object.values
209
+ $({ target: 'Object', stat: true }, {
210
+ values: function values(O) {
211
+ return $values(O);
212
+ }
213
+ });
214
+
215
+
199
216
  /***/ }),
200
217
 
201
218
  /***/ "0cfb":
@@ -1201,6 +1218,23 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
1201
1218
  };
1202
1219
 
1203
1220
 
1221
+ /***/ }),
1222
+
1223
+ /***/ "4fad":
1224
+ /***/ (function(module, exports, __webpack_require__) {
1225
+
1226
+ var $ = __webpack_require__("23e7");
1227
+ var $entries = __webpack_require__("6f53").entries;
1228
+
1229
+ // `Object.entries` method
1230
+ // https://tc39.es/ecma262/#sec-object.entries
1231
+ $({ target: 'Object', stat: true }, {
1232
+ entries: function entries(O) {
1233
+ return $entries(O);
1234
+ }
1235
+ });
1236
+
1237
+
1204
1238
  /***/ }),
1205
1239
 
1206
1240
  /***/ "50c4":
@@ -1538,6 +1572,45 @@ var TEMPLATE = String(String).split('String');
1538
1572
  });
1539
1573
 
1540
1574
 
1575
+ /***/ }),
1576
+
1577
+ /***/ "6f53":
1578
+ /***/ (function(module, exports, __webpack_require__) {
1579
+
1580
+ var DESCRIPTORS = __webpack_require__("83ab");
1581
+ var objectKeys = __webpack_require__("df75");
1582
+ var toIndexedObject = __webpack_require__("fc6a");
1583
+ var propertyIsEnumerable = __webpack_require__("d1e7").f;
1584
+
1585
+ // `Object.{ entries, values }` methods implementation
1586
+ var createMethod = function (TO_ENTRIES) {
1587
+ return function (it) {
1588
+ var O = toIndexedObject(it);
1589
+ var keys = objectKeys(O);
1590
+ var length = keys.length;
1591
+ var i = 0;
1592
+ var result = [];
1593
+ var key;
1594
+ while (length > i) {
1595
+ key = keys[i++];
1596
+ if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
1597
+ result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
1598
+ }
1599
+ }
1600
+ return result;
1601
+ };
1602
+ };
1603
+
1604
+ module.exports = {
1605
+ // `Object.entries` method
1606
+ // https://tc39.es/ecma262/#sec-object.entries
1607
+ entries: createMethod(true),
1608
+ // `Object.values` method
1609
+ // https://tc39.es/ecma262/#sec-object.values
1610
+ values: createMethod(false)
1611
+ };
1612
+
1613
+
1541
1614
  /***/ }),
1542
1615
 
1543
1616
  /***/ "7156":
@@ -2180,35 +2253,6 @@ module.exports = Object.create || function create(O, Properties) {
2180
2253
  };
2181
2254
 
2182
2255
 
2183
- /***/ }),
2184
-
2185
- /***/ "7db0":
2186
- /***/ (function(module, exports, __webpack_require__) {
2187
-
2188
- "use strict";
2189
-
2190
- var $ = __webpack_require__("23e7");
2191
- var $find = __webpack_require__("b727").find;
2192
- var addToUnscopables = __webpack_require__("44d2");
2193
-
2194
- var FIND = 'find';
2195
- var SKIPS_HOLES = true;
2196
-
2197
- // Shouldn't skip holes
2198
- if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
2199
-
2200
- // `Array.prototype.find` method
2201
- // https://tc39.es/ecma262/#sec-array.prototype.find
2202
- $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
2203
- find: function find(callbackfn /* , that = undefined */) {
2204
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
2205
- }
2206
- });
2207
-
2208
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2209
- addToUnscopables(FIND);
2210
-
2211
-
2212
2256
  /***/ }),
2213
2257
 
2214
2258
  /***/ "7dd0":
@@ -5992,7 +6036,7 @@ if (typeof window !== 'undefined') {
5992
6036
  // Indicate to webpack that this file can be concatenated
5993
6037
  /* harmony default export */ var setPublicPath = (null);
5994
6038
 
5995
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"22714775-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/VFilters.vue?vue&type=template&id=10a7cb7b&
6039
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"22714775-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/VFilters.vue?vue&type=template&id=02ebe153&
5996
6040
  var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"v-filters"},[_c('div',{staticClass:"v-filters_fields"},[_vm._t("before-fields"),_vm._l((_vm.fields),function(field){return _c(_vm.fieldComponentName,{key:field._name,tag:"component",class:[("__" + (field._name))],attrs:{"title":field.title}},[_c(_vm.componentsMap[field._type],_vm._b({key:_vm.fieldKey,tag:"component",on:{"input":function($event){return _vm.handleFieldChange(field._name, $event)}},model:{value:(_vm.filters[field._name]),callback:function ($$v) {_vm.$set(_vm.filters, field._name, $$v)},expression:"filters[field._name]"}},'component',_vm.getFieldProps(field),false))],1)}),_vm._t("after-fields"),_vm._t("actions",[_c(_vm.fieldComponentName,{tag:"component"},[(!_vm.immediate)?_c('button',{staticClass:"v-button v-filters_button",on:{"click":_vm.showResult}},[_vm._v(" "+_vm._s(_vm.actionTitle)+" ")]):_vm._e(),(_vm.edited)?_c('button',{staticClass:"v-button v-filters_button __reset",on:{"click":_vm.resetFilters}},[_vm._v(" Сбросить параметры ")]):_vm._e()])],null,{
5997
6041
  showResult: _vm.showResult,
5998
6042
  resetFilters: _vm.resetFilters,
@@ -6009,7 +6053,7 @@ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._sel
6009
6053
  var staticRenderFns = []
6010
6054
 
6011
6055
 
6012
- // CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=10a7cb7b&
6056
+ // CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=02ebe153&
6013
6057
 
6014
6058
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
6015
6059
  var es_promise = __webpack_require__("e6cf");
@@ -6056,9 +6100,20 @@ function _asyncToGenerator(fn) {
6056
6100
  });
6057
6101
  };
6058
6102
  }
6059
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
6060
- function _arrayWithHoles(arr) {
6061
- if (Array.isArray(arr)) return arr;
6103
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
6104
+ function _arrayLikeToArray(arr, len) {
6105
+ if (len == null || len > arr.length) len = arr.length;
6106
+
6107
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
6108
+ arr2[i] = arr[i];
6109
+ }
6110
+
6111
+ return arr2;
6112
+ }
6113
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
6114
+
6115
+ function _arrayWithoutHoles(arr) {
6116
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
6062
6117
  }
6063
6118
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js
6064
6119
  var es_symbol = __webpack_require__("a4d3");
@@ -6078,39 +6133,20 @@ var es_array_iterator = __webpack_require__("e260");
6078
6133
  // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js
6079
6134
  var web_dom_collections_iterator = __webpack_require__("ddb0");
6080
6135
 
6081
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
6136
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.from.js
6137
+ var es_array_from = __webpack_require__("a630");
6082
6138
 
6139
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
6083
6140
 
6084
6141
 
6085
6142
 
6086
6143
 
6087
6144
 
6088
6145
 
6089
- function _iterableToArrayLimit(arr, i) {
6090
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
6091
- var _arr = [];
6092
- var _n = true;
6093
- var _d = false;
6094
- var _e = undefined;
6095
6146
 
6096
- try {
6097
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
6098
- _arr.push(_s.value);
6099
6147
 
6100
- if (i && _arr.length === i) break;
6101
- }
6102
- } catch (err) {
6103
- _d = true;
6104
- _e = err;
6105
- } finally {
6106
- try {
6107
- if (!_n && _i["return"] != null) _i["return"]();
6108
- } finally {
6109
- if (_d) throw _e;
6110
- }
6111
- }
6112
-
6113
- return _arr;
6148
+ function _iterableToArray(iter) {
6149
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
6114
6150
  }
6115
6151
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js
6116
6152
  var es_array_slice = __webpack_require__("fb6a");
@@ -6118,19 +6154,6 @@ var es_array_slice = __webpack_require__("fb6a");
6118
6154
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js
6119
6155
  var es_function_name = __webpack_require__("b0c0");
6120
6156
 
6121
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.from.js
6122
- var es_array_from = __webpack_require__("a630");
6123
-
6124
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
6125
- function _arrayLikeToArray(arr, len) {
6126
- if (len == null || len > arr.length) len = arr.length;
6127
-
6128
- for (var i = 0, arr2 = new Array(len); i < len; i++) {
6129
- arr2[i] = arr[i];
6130
- }
6131
-
6132
- return arr2;
6133
- }
6134
6157
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
6135
6158
 
6136
6159
 
@@ -6146,35 +6169,6 @@ function _unsupportedIterableToArray(o, minLen) {
6146
6169
  if (n === "Map" || n === "Set") return Array.from(o);
6147
6170
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
6148
6171
  }
6149
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
6150
- function _nonIterableRest() {
6151
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6152
- }
6153
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
6154
-
6155
-
6156
-
6157
-
6158
- function _slicedToArray(arr, i) {
6159
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
6160
- }
6161
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
6162
-
6163
- function _arrayWithoutHoles(arr) {
6164
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
6165
- }
6166
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
6167
-
6168
-
6169
-
6170
-
6171
-
6172
-
6173
-
6174
-
6175
- function _iterableToArray(iter) {
6176
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
6177
- }
6178
6172
  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
6179
6173
  function _nonIterableSpread() {
6180
6174
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
@@ -6259,6 +6253,56 @@ function _objectSpread2(target) {
6259
6253
 
6260
6254
  return target;
6261
6255
  }
6256
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
6257
+ function _arrayWithHoles(arr) {
6258
+ if (Array.isArray(arr)) return arr;
6259
+ }
6260
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
6261
+
6262
+
6263
+
6264
+
6265
+
6266
+
6267
+
6268
+ function _iterableToArrayLimit(arr, i) {
6269
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
6270
+ var _arr = [];
6271
+ var _n = true;
6272
+ var _d = false;
6273
+ var _e = undefined;
6274
+
6275
+ try {
6276
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
6277
+ _arr.push(_s.value);
6278
+
6279
+ if (i && _arr.length === i) break;
6280
+ }
6281
+ } catch (err) {
6282
+ _d = true;
6283
+ _e = err;
6284
+ } finally {
6285
+ try {
6286
+ if (!_n && _i["return"] != null) _i["return"]();
6287
+ } finally {
6288
+ if (_d) throw _e;
6289
+ }
6290
+ }
6291
+
6292
+ return _arr;
6293
+ }
6294
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
6295
+ function _nonIterableRest() {
6296
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
6297
+ }
6298
+ // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
6299
+
6300
+
6301
+
6302
+
6303
+ function _slicedToArray(arr, i) {
6304
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
6305
+ }
6262
6306
  // EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js
6263
6307
  var runtime = __webpack_require__("96cf");
6264
6308
 
@@ -6268,6 +6312,15 @@ var es_number_constructor = __webpack_require__("a9e3");
6268
6312
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
6269
6313
  var es_array_concat = __webpack_require__("99af");
6270
6314
 
6315
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js
6316
+ var es_array_reduce = __webpack_require__("13d5");
6317
+
6318
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.entries.js
6319
+ var es_object_entries = __webpack_require__("4fad");
6320
+
6321
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.values.js
6322
+ var es_object_values = __webpack_require__("07ac");
6323
+
6271
6324
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js
6272
6325
  var es_array_includes = __webpack_require__("caad");
6273
6326
 
@@ -6277,15 +6330,9 @@ var es_string_includes = __webpack_require__("2532");
6277
6330
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
6278
6331
  var es_array_map = __webpack_require__("d81d");
6279
6332
 
6280
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js
6281
- var es_array_reduce = __webpack_require__("13d5");
6282
-
6283
6333
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js
6284
6334
  var es_regexp_to_string = __webpack_require__("25f0");
6285
6335
 
6286
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js
6287
- var es_array_find = __webpack_require__("7db0");
6288
-
6289
6336
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js
6290
6337
  var es_string_search = __webpack_require__("841c");
6291
6338
 
@@ -6795,6 +6842,7 @@ _curry2(function equals(a, b) {
6795
6842
 
6796
6843
 
6797
6844
 
6845
+
6798
6846
  //
6799
6847
  //
6800
6848
  //
@@ -6972,13 +7020,20 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
6972
7020
  },
6973
7021
  noDefaultValueForEmptyFields: {
6974
7022
  type: Boolean
7023
+ },
7024
+ fieldDeps: {
7025
+ type: Array,
7026
+ default: function _default() {
7027
+ return [];
7028
+ }
6975
7029
  }
6976
7030
  },
6977
7031
  data: function data() {
6978
7032
  return {
6979
7033
  filters: {},
6980
7034
  editedFields: [],
6981
- inited: false
7035
+ inited: false,
7036
+ initializedEmitted: false
6982
7037
  };
6983
7038
  },
6984
7039
  computed: {
@@ -6999,6 +7054,24 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
6999
7054
 
7000
7055
  return title;
7001
7056
  },
7057
+ fieldDepsMap: function fieldDepsMap() {
7058
+ var deps = this.fieldDeps;
7059
+
7060
+ if (deps.length) {
7061
+ return deps.reduce(function (acc, item) {
7062
+ Object.entries(item).forEach(function (_ref) {
7063
+ var _ref2 = _slicedToArray(_ref, 2),
7064
+ child = _ref2[0],
7065
+ parentVal = _ref2[1];
7066
+
7067
+ acc[child] = Object.values(parentVal)[0];
7068
+ });
7069
+ return acc;
7070
+ }, {});
7071
+ }
7072
+
7073
+ return deps;
7074
+ },
7002
7075
  flatFilters: function flatFilters() {
7003
7076
  var _this = this;
7004
7077
 
@@ -7141,26 +7214,51 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
7141
7214
  _this2.$set(_this2.filters, field._name, value);
7142
7215
  });
7143
7216
  this.inited = true;
7144
- !isUpdate && this.setUrlParams();
7145
- !isUpdate && this.doAction(true);
7217
+
7218
+ if (!isUpdate && this.initializedEmitted) {
7219
+ this.setUrlParams();
7220
+ this.doAction(true);
7221
+ }
7222
+
7223
+ if (!this.initializedEmitted) {
7224
+ this.setUrlParams(false, this.getInitialFlatFilters());
7225
+ this.$emit('fields-initialized', this.getInitialFlatFilters());
7226
+ this.initializedEmitted = true;
7227
+ }
7146
7228
  },
7147
- resetFilters: function resetFilters() {
7229
+ getInitialFlatFilters: function getInitialFlatFilters() {
7148
7230
  var _this3 = this;
7149
7231
 
7232
+ var filters = _objectSpread2({}, this.filterParamsToInclude);
7233
+
7234
+ this.fields.forEach(function (field) {
7235
+ var value = _this3.filters[field._name];
7236
+
7237
+ if (!value || !value._id) {
7238
+ return;
7239
+ }
7240
+
7241
+ filters[field._name] = [value._id];
7242
+ });
7243
+ return filters;
7244
+ },
7245
+ resetFilters: function resetFilters() {
7246
+ var _this4 = this;
7247
+
7150
7248
  return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
7151
7249
  return regeneratorRuntime.wrap(function _callee$(_context) {
7152
7250
  while (1) {
7153
7251
  switch (_context.prev = _context.next) {
7154
7252
  case 0:
7155
- _this3.editedFields = [];
7253
+ _this4.editedFields = [];
7156
7254
 
7157
- _this3.setUrlParams(true, {});
7255
+ _this4.setUrlParams(true, {});
7158
7256
 
7159
7257
  _context.next = 4;
7160
- return _this3.$nextTick();
7258
+ return _this4.$nextTick();
7161
7259
 
7162
7260
  case 4:
7163
- _this3.$emit('reset-filters', _this3.flatFilters);
7261
+ _this4.$emit('reset-filters', _this4.flatFilters);
7164
7262
 
7165
7263
  case 5:
7166
7264
  case "end":
@@ -7181,20 +7279,14 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
7181
7279
  });
7182
7280
  },
7183
7281
  removeDependentFieldsFromEdited: function removeDependentFieldsFromEdited(name) {
7184
- var field = this.fields.find(function (field) {
7185
- return field._name === name;
7282
+ var map = this.fieldDepsMap;
7283
+ if (!map) return;
7284
+ var toRemove = Object.keys(map).filter(function (child) {
7285
+ return map[child] === name;
7286
+ });
7287
+ this.editedFields = this.editedFields.filter(function (field) {
7288
+ return !toRemove.includes(field);
7186
7289
  });
7187
-
7188
- if (field.reset) {
7189
- var dependentFields = this.fields.filter(function (field) {
7190
- return !field.reset;
7191
- }).map(function (field) {
7192
- return field._name;
7193
- });
7194
- this.editedFields = this.editedFields.filter(function (fieldName) {
7195
- return !dependentFields.includes(fieldName);
7196
- });
7197
- }
7198
7290
  },
7199
7291
  doAction: function doAction() {
7200
7292
  var showResult = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;