@phoenix-cg/v-filters 0.1.12 → 0.2.0-beta.1

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.
@@ -1884,35 +1884,6 @@ module.exports = Object.create || function create(O, Properties) {
1884
1884
  };
1885
1885
 
1886
1886
 
1887
- /***/ }),
1888
-
1889
- /***/ "7db0":
1890
- /***/ (function(module, exports, __webpack_require__) {
1891
-
1892
- "use strict";
1893
-
1894
- var $ = __webpack_require__("23e7");
1895
- var $find = __webpack_require__("b727").find;
1896
- var addToUnscopables = __webpack_require__("44d2");
1897
-
1898
- var FIND = 'find';
1899
- var SKIPS_HOLES = true;
1900
-
1901
- // Shouldn't skip holes
1902
- if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
1903
-
1904
- // `Array.prototype.find` method
1905
- // https://tc39.es/ecma262/#sec-array.prototype.find
1906
- $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
1907
- find: function find(callbackfn /* , that = undefined */) {
1908
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1909
- }
1910
- });
1911
-
1912
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1913
- addToUnscopables(FIND);
1914
-
1915
-
1916
1887
  /***/ }),
1917
1888
 
1918
1889
  /***/ "7dd0":
@@ -4383,7 +4354,7 @@ if (typeof window !== 'undefined') {
4383
4354
  // Indicate to webpack that this file can be concatenated
4384
4355
  /* harmony default export */ var setPublicPath = (null);
4385
4356
 
4386
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"7e300fa3-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=79be4712&
4357
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"eb88cebc-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=e9ac23ec&
4387
4358
  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",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)}},model:{value:(_vm.filters[field._name]),callback:function ($$v) {_vm.$set(_vm.filters, field._name, $$v)},expression:"filters[field._name]"}},'component',field._fieldProps || {},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,{
4388
4359
  showResult: _vm.showResult,
4389
4360
  resetFilters: _vm.resetFilters,
@@ -4400,7 +4371,7 @@ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._sel
4400
4371
  var staticRenderFns = []
4401
4372
 
4402
4373
 
4403
- // CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=79be4712&
4374
+ // CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=e9ac23ec&
4404
4375
 
4405
4376
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js
4406
4377
  var es_object_keys = __webpack_require__("b64b");
@@ -4597,9 +4568,6 @@ var es_array_map = __webpack_require__("d81d");
4597
4568
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js
4598
4569
  var es_array_reduce = __webpack_require__("13d5");
4599
4570
 
4600
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js
4601
- var es_array_find = __webpack_require__("7db0");
4602
-
4603
4571
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js
4604
4572
  var es_string_search = __webpack_require__("841c");
4605
4573
 
@@ -5102,7 +5070,6 @@ _curry2(function equals(a, b) {
5102
5070
 
5103
5071
 
5104
5072
 
5105
-
5106
5073
  //
5107
5074
  //
5108
5075
  //
@@ -5241,9 +5208,7 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5241
5208
  },
5242
5209
  data: function data() {
5243
5210
  return {
5244
- inited: false,
5245
5211
  filters: {},
5246
- editedInside: false,
5247
5212
  editedFields: []
5248
5213
  };
5249
5214
  },
@@ -5251,6 +5216,9 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5251
5216
  edited: function edited() {
5252
5217
  return this.editedInside || this.editedOutside;
5253
5218
  },
5219
+ editedInside: function editedInside() {
5220
+ return this.editedFields.length > 0;
5221
+ },
5254
5222
  actionTitle: function actionTitle() {
5255
5223
  var title = this.notFoundTitle;
5256
5224
 
@@ -5276,25 +5244,33 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5276
5244
  return filters;
5277
5245
  }
5278
5246
  },
5247
+ watch: {
5248
+ fields: {
5249
+ deep: true,
5250
+ handler: function handler() {
5251
+ this.setFilters(true);
5252
+ }
5253
+ }
5254
+ },
5279
5255
  created: function created() {
5280
5256
  this.setFilters();
5281
5257
  },
5282
5258
  methods: {
5283
- setFilters: function setFilters(isReset, query) {
5259
+ setFilters: function setFilters(isUpdate) {
5284
5260
  var _this2 = this;
5285
5261
 
5286
- var params = query || this.getUrlParams();
5287
- var editedInside = false;
5262
+ var params = this.getUrlParams();
5288
5263
  this.fields.forEach(function (field) {
5289
5264
  var value = field._type === 'range' ? field.value : [];
5265
+ var valueNotArray = ['select', 'tab'].includes(field._type);
5290
5266
 
5291
- if (field._type === 'select') {
5267
+ if (valueNotArray) {
5292
5268
  var _field$value = _slicedToArray(field.value, 1);
5293
5269
 
5294
5270
  value = _field$value[0];
5295
5271
  }
5296
5272
 
5297
- if (params[field._name] && !isReset) {
5273
+ if (params[field._name] && !isUpdate) {
5298
5274
  var paramsValue = params[field._name];
5299
5275
 
5300
5276
  if (field._type !== 'range') {
@@ -5312,11 +5288,11 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5312
5288
  }
5313
5289
 
5314
5290
  _this2.addEditedField(field._name);
5315
- } else if ((!params[field._name] || isReset) && field._type === 'select') {
5291
+ } else if ((!params[field._name] || isUpdate) && valueNotArray) {
5316
5292
  var _field$value2 = _slicedToArray(field.value, 1);
5317
5293
 
5318
5294
  value = _field$value2[0];
5319
- } else if (!params[field._name] || isReset) {
5295
+ } else if (!params[field._name] || isUpdate) {
5320
5296
  value = field.value;
5321
5297
  } // Detect changed fields
5322
5298
 
@@ -5333,6 +5309,10 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5333
5309
  break;
5334
5310
 
5335
5311
  case 'select':
5312
+ case 'tab':
5313
+ fieldIsEdited = field.value.length > 0 && field.value[0]._id !== field.data[0]._id;
5314
+ break;
5315
+
5336
5316
  case 'checkbox':
5337
5317
  fieldIsEdited = field.value.length > 0;
5338
5318
  break;
@@ -5342,16 +5322,12 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5342
5322
 
5343
5323
  _this2.$set(_this2.filters, field._name, value);
5344
5324
  });
5345
- this.setUrlParams(isReset);
5346
- this.editedInside = editedInside;
5347
- this.doAction();
5325
+ this.setUrlParams(isUpdate);
5326
+ !isUpdate && this.doAction();
5348
5327
  },
5349
- resetFilters: function resetFilters(isOutside) {
5350
- this.$emit('reset-filters', isOutside);
5351
- this.setFilters(true);
5328
+ resetFilters: function resetFilters() {
5352
5329
  this.editedFields = [];
5353
- this.editedInside = false;
5354
- this.doAction();
5330
+ this.$emit('reset-filters');
5355
5331
  },
5356
5332
  addEditedField: function addEditedField(name) {
5357
5333
  if (!this.editedFields.includes(name)) {
@@ -5359,32 +5335,7 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5359
5335
  }
5360
5336
  },
5361
5337
  doAction: function doAction() {
5362
- if (this.immediate) {
5363
- this.showResult();
5364
- } else {
5365
- this.requestCount();
5366
-
5367
- if (!this.inited && !this.hideResult) {
5368
- this.showResult();
5369
- }
5370
-
5371
- this.inited = true;
5372
- }
5373
- },
5374
- isFieldsEqual: function isFieldsEqual(arr1, arr2) {
5375
- var equal = true;
5376
- arr1.forEach(function (item) {
5377
- var arr2Item = arr2.find(function (arr2Item) {
5378
- var val = item._id || item;
5379
- var val2 = arr2Item._id || arr2Item;
5380
- return val === val2;
5381
- });
5382
-
5383
- if (!arr2Item) {
5384
- equal = false;
5385
- }
5386
- });
5387
- return equal;
5338
+ this.immediate ? this.showResult() : this.requestCount();
5388
5339
  },
5389
5340
  requestCount: function requestCount() {
5390
5341
  this.$emit('request-count', this.flatFilters);
@@ -5430,7 +5381,6 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5430
5381
  },
5431
5382
  handleFieldChange: function handleFieldChange(name) {
5432
5383
  this.addEditedField(name);
5433
- this.editedInside = true;
5434
5384
  this.setUrlParams();
5435
5385
  this.doAction();
5436
5386
  }