@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.
- package/dist/v-filters.common.js +29 -79
- package/dist/v-filters.common.js.map +1 -1
- package/dist/v-filters.umd.js +29 -79
- 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 -44
package/dist/v-filters.umd.js
CHANGED
|
@@ -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":"
|
|
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=
|
|
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(
|
|
5259
|
+
setFilters: function setFilters(isUpdate) {
|
|
5284
5260
|
var _this2 = this;
|
|
5285
5261
|
|
|
5286
|
-
var params =
|
|
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 (
|
|
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] && !
|
|
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] ||
|
|
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] ||
|
|
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(
|
|
5346
|
-
this.
|
|
5347
|
-
this.doAction();
|
|
5325
|
+
this.setUrlParams(isUpdate);
|
|
5326
|
+
!isUpdate && this.doAction();
|
|
5348
5327
|
},
|
|
5349
|
-
resetFilters: function resetFilters(
|
|
5350
|
-
this.$emit('reset-filters', isOutside);
|
|
5351
|
-
this.setFilters(true);
|
|
5328
|
+
resetFilters: function resetFilters() {
|
|
5352
5329
|
this.editedFields = [];
|
|
5353
|
-
this
|
|
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
|
-
|
|
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
|
}
|