@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.
- package/dist/v-filters.common.js +29 -77
- package/dist/v-filters.common.js.map +1 -1
- package/dist/v-filters.umd.js +29 -77
- package/dist/v-filters.umd.js.map +1 -1
- package/dist/v-filters.umd.min.js +1 -1
- package/dist/v-filters.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VFilters.vue +28 -42
package/dist/v-filters.common.js
CHANGED
|
@@ -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":"
|
|
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=
|
|
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(
|
|
5250
|
+
setFilters: function setFilters(isUpdate) {
|
|
5275
5251
|
var _this2 = this;
|
|
5276
5252
|
|
|
5277
|
-
var params =
|
|
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 (
|
|
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] && !
|
|
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] ||
|
|
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] ||
|
|
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(
|
|
5337
|
-
this.
|
|
5338
|
-
this.doAction();
|
|
5316
|
+
this.setUrlParams(isUpdate);
|
|
5317
|
+
!isUpdate && this.doAction();
|
|
5339
5318
|
},
|
|
5340
|
-
resetFilters: function resetFilters(
|
|
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
|
|
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
|
-
|
|
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);
|