@phoenix-cg/v-filters 0.1.11 → 0.2.0-beta.0

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.
@@ -1875,35 +1875,6 @@ module.exports = Object.create || function create(O, Properties) {
1875
1875
  };
1876
1876
 
1877
1877
 
1878
- /***/ }),
1879
-
1880
- /***/ "7db0":
1881
- /***/ (function(module, exports, __webpack_require__) {
1882
-
1883
- "use strict";
1884
-
1885
- var $ = __webpack_require__("23e7");
1886
- var $find = __webpack_require__("b727").find;
1887
- var addToUnscopables = __webpack_require__("44d2");
1888
-
1889
- var FIND = 'find';
1890
- var SKIPS_HOLES = true;
1891
-
1892
- // Shouldn't skip holes
1893
- if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
1894
-
1895
- // `Array.prototype.find` method
1896
- // https://tc39.es/ecma262/#sec-array.prototype.find
1897
- $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
1898
- find: function find(callbackfn /* , that = undefined */) {
1899
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1900
- }
1901
- });
1902
-
1903
- // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1904
- addToUnscopables(FIND);
1905
-
1906
-
1907
1878
  /***/ }),
1908
1879
 
1909
1880
  /***/ "7dd0":
@@ -4374,7 +4345,7 @@ if (typeof window !== 'undefined') {
4374
4345
  // Indicate to webpack that this file can be concatenated
4375
4346
  /* harmony default export */ var setPublicPath = (null);
4376
4347
 
4377
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"4376f3fe-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&
4348
+ // 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=922779fe&
4378
4349
  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,{
4379
4350
  showResult: _vm.showResult,
4380
4351
  resetFilters: _vm.resetFilters,
@@ -4391,7 +4362,7 @@ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._sel
4391
4362
  var staticRenderFns = []
4392
4363
 
4393
4364
 
4394
- // CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=79be4712&
4365
+ // CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=922779fe&
4395
4366
 
4396
4367
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js
4397
4368
  var es_object_keys = __webpack_require__("b64b");
@@ -4588,9 +4559,6 @@ var es_array_map = __webpack_require__("d81d");
4588
4559
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js
4589
4560
  var es_array_reduce = __webpack_require__("13d5");
4590
4561
 
4591
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js
4592
- var es_array_find = __webpack_require__("7db0");
4593
-
4594
4562
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js
4595
4563
  var es_string_search = __webpack_require__("841c");
4596
4564
 
@@ -5093,7 +5061,6 @@ _curry2(function equals(a, b) {
5093
5061
 
5094
5062
 
5095
5063
 
5096
-
5097
5064
  //
5098
5065
  //
5099
5066
  //
@@ -5232,9 +5199,7 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5232
5199
  },
5233
5200
  data: function data() {
5234
5201
  return {
5235
- inited: false,
5236
5202
  filters: {},
5237
- editedInside: false,
5238
5203
  editedFields: []
5239
5204
  };
5240
5205
  },
@@ -5242,6 +5207,9 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5242
5207
  edited: function edited() {
5243
5208
  return this.editedInside || this.editedOutside;
5244
5209
  },
5210
+ editedInside: function editedInside() {
5211
+ return this.editedFields.length > 0;
5212
+ },
5245
5213
  actionTitle: function actionTitle() {
5246
5214
  var title = this.notFoundTitle;
5247
5215
 
@@ -5267,25 +5235,33 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5267
5235
  return filters;
5268
5236
  }
5269
5237
  },
5238
+ watch: {
5239
+ fields: {
5240
+ deep: true,
5241
+ handler: function handler() {
5242
+ this.setFilters(true);
5243
+ }
5244
+ }
5245
+ },
5270
5246
  created: function created() {
5271
5247
  this.setFilters();
5272
5248
  },
5273
5249
  methods: {
5274
- setFilters: function setFilters(isReset, query) {
5250
+ setFilters: function setFilters(isUpdate) {
5275
5251
  var _this2 = this;
5276
5252
 
5277
- var params = query || this.getUrlParams();
5278
- var editedInside = false;
5253
+ var params = this.getUrlParams();
5279
5254
  this.fields.forEach(function (field) {
5280
5255
  var value = field._type === 'range' ? field.value : [];
5256
+ var valueNotArray = ['select', 'tab'].includes(field._type);
5281
5257
 
5282
- if (field._type === 'select') {
5258
+ if (valueNotArray) {
5283
5259
  var _field$value = _slicedToArray(field.value, 1);
5284
5260
 
5285
5261
  value = _field$value[0];
5286
5262
  }
5287
5263
 
5288
- if (params[field._name] && !isReset) {
5264
+ if (params[field._name] && !isUpdate) {
5289
5265
  var paramsValue = params[field._name];
5290
5266
 
5291
5267
  if (field._type !== 'range') {
@@ -5303,11 +5279,11 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5303
5279
  }
5304
5280
 
5305
5281
  _this2.addEditedField(field._name);
5306
- } else if ((!params[field._name] || isReset) && field._type === 'select') {
5282
+ } else if ((!params[field._name] || isUpdate) && valueNotArray) {
5307
5283
  var _field$value2 = _slicedToArray(field.value, 1);
5308
5284
 
5309
5285
  value = _field$value2[0];
5310
- } else if (!params[field._name] || isReset) {
5286
+ } else if (!params[field._name] || isUpdate) {
5311
5287
  value = field.value;
5312
5288
  } // Detect changed fields
5313
5289
 
@@ -5324,6 +5300,10 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5324
5300
  break;
5325
5301
 
5326
5302
  case 'select':
5303
+ case 'tab':
5304
+ fieldIsEdited = field.value.length > 0 && field.value[0]._id !== field.data[0]._id;
5305
+ break;
5306
+
5327
5307
  case 'checkbox':
5328
5308
  fieldIsEdited = field.value.length > 0;
5329
5309
  break;
@@ -5333,16 +5313,13 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5333
5313
 
5334
5314
  _this2.$set(_this2.filters, field._name, value);
5335
5315
  });
5336
- this.setUrlParams(isReset);
5337
- this.editedInside = editedInside;
5338
- this.doAction();
5316
+ this.setUrlParams(isUpdate);
5317
+ !isUpdate && this.doAction();
5339
5318
  },
5340
- resetFilters: function resetFilters(isOutside) {
5341
- this.$emit('reset-filters', isOutside);
5342
- this.setFilters(true);
5319
+ resetFilters: function resetFilters() {
5343
5320
  this.editedFields = [];
5344
5321
  this.editedInside = false;
5345
- this.doAction();
5322
+ this.$emit('reset-filters');
5346
5323
  },
5347
5324
  addEditedField: function addEditedField(name) {
5348
5325
  if (!this.editedFields.includes(name)) {
@@ -5350,32 +5327,7 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5350
5327
  }
5351
5328
  },
5352
5329
  doAction: function doAction() {
5353
- if (this.immediate) {
5354
- this.showResult();
5355
- } else {
5356
- this.requestCount();
5357
-
5358
- if (!this.inited && !this.hideResult) {
5359
- this.showResult();
5360
- }
5361
-
5362
- this.inited = true;
5363
- }
5364
- },
5365
- isFieldsEqual: function isFieldsEqual(arr1, arr2) {
5366
- var equal = true;
5367
- arr1.forEach(function (item) {
5368
- var arr2Item = arr2.find(function (arr2Item) {
5369
- var val = item._id || item;
5370
- var val2 = arr2Item._id || arr2Item;
5371
- return val === val2;
5372
- });
5373
-
5374
- if (!arr2Item) {
5375
- equal = false;
5376
- }
5377
- });
5378
- return equal;
5330
+ this.immediate ? this.showResult() : this.requestCount();
5379
5331
  },
5380
5332
  requestCount: function requestCount() {
5381
5333
  this.$emit('request-count', this.flatFilters);