@phoenix-cg/v-filters 0.1.13 → 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.
@@ -4345,7 +4345,7 @@ if (typeof window !== 'undefined') {
4345
4345
  // Indicate to webpack that this file can be concatenated
4346
4346
  /* harmony default export */ var setPublicPath = (null);
4347
4347
 
4348
- // 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=2f15d23d&
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&
4349
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,{
4350
4350
  showResult: _vm.showResult,
4351
4351
  resetFilters: _vm.resetFilters,
@@ -4362,7 +4362,7 @@ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._sel
4362
4362
  var staticRenderFns = []
4363
4363
 
4364
4364
 
4365
- // CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=2f15d23d&
4365
+ // CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=922779fe&
4366
4366
 
4367
4367
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js
4368
4368
  var es_object_keys = __webpack_require__("b64b");
@@ -5200,7 +5200,6 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5200
5200
  data: function data() {
5201
5201
  return {
5202
5202
  filters: {},
5203
- editedInside: false,
5204
5203
  editedFields: []
5205
5204
  };
5206
5205
  },
@@ -5208,6 +5207,9 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5208
5207
  edited: function edited() {
5209
5208
  return this.editedInside || this.editedOutside;
5210
5209
  },
5210
+ editedInside: function editedInside() {
5211
+ return this.editedFields.length > 0;
5212
+ },
5211
5213
  actionTitle: function actionTitle() {
5212
5214
  var title = this.notFoundTitle;
5213
5215
 
@@ -5233,15 +5235,22 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5233
5235
  return filters;
5234
5236
  }
5235
5237
  },
5238
+ watch: {
5239
+ fields: {
5240
+ deep: true,
5241
+ handler: function handler() {
5242
+ this.setFilters(true);
5243
+ }
5244
+ }
5245
+ },
5236
5246
  created: function created() {
5237
5247
  this.setFilters();
5238
5248
  },
5239
5249
  methods: {
5240
- setFilters: function setFilters(isReset, query) {
5250
+ setFilters: function setFilters(isUpdate) {
5241
5251
  var _this2 = this;
5242
5252
 
5243
- var params = query || this.getUrlParams();
5244
- var editedInside = false;
5253
+ var params = this.getUrlParams();
5245
5254
  this.fields.forEach(function (field) {
5246
5255
  var value = field._type === 'range' ? field.value : [];
5247
5256
  var valueNotArray = ['select', 'tab'].includes(field._type);
@@ -5252,7 +5261,7 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5252
5261
  value = _field$value[0];
5253
5262
  }
5254
5263
 
5255
- if (params[field._name] && !isReset) {
5264
+ if (params[field._name] && !isUpdate) {
5256
5265
  var paramsValue = params[field._name];
5257
5266
 
5258
5267
  if (field._type !== 'range') {
@@ -5270,11 +5279,11 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5270
5279
  }
5271
5280
 
5272
5281
  _this2.addEditedField(field._name);
5273
- } else if ((!params[field._name] || isReset) && valueNotArray) {
5282
+ } else if ((!params[field._name] || isUpdate) && valueNotArray) {
5274
5283
  var _field$value2 = _slicedToArray(field.value, 1);
5275
5284
 
5276
5285
  value = _field$value2[0];
5277
- } else if (!params[field._name] || isReset) {
5286
+ } else if (!params[field._name] || isUpdate) {
5278
5287
  value = field.value;
5279
5288
  } // Detect changed fields
5280
5289
 
@@ -5304,16 +5313,13 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
5304
5313
 
5305
5314
  _this2.$set(_this2.filters, field._name, value);
5306
5315
  });
5307
- this.setUrlParams(isReset);
5308
- this.editedInside = editedInside;
5309
- this.doAction();
5316
+ this.setUrlParams(isUpdate);
5317
+ !isUpdate && this.doAction();
5310
5318
  },
5311
- resetFilters: function resetFilters(isOutside) {
5312
- this.$emit('reset-filters', isOutside);
5313
- this.setFilters(true);
5319
+ resetFilters: function resetFilters() {
5314
5320
  this.editedFields = [];
5315
5321
  this.editedInside = false;
5316
- this.doAction();
5322
+ this.$emit('reset-filters');
5317
5323
  },
5318
5324
  addEditedField: function addEditedField(name) {
5319
5325
  if (!this.editedFields.includes(name)) {