@phoenix-cg/v-filters 0.1.16 → 0.2.0-beta.10
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 +154 -78
- package/dist/v-filters.common.js.map +1 -1
- package/dist/v-filters.umd.js +154 -78
- 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 +71 -40
package/dist/v-filters.common.js
CHANGED
|
@@ -539,39 +539,6 @@ $({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') },
|
|
|
539
539
|
});
|
|
540
540
|
|
|
541
541
|
|
|
542
|
-
/***/ }),
|
|
543
|
-
|
|
544
|
-
/***/ "25f0":
|
|
545
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
546
|
-
|
|
547
|
-
"use strict";
|
|
548
|
-
|
|
549
|
-
var redefine = __webpack_require__("6eeb");
|
|
550
|
-
var anObject = __webpack_require__("825a");
|
|
551
|
-
var fails = __webpack_require__("d039");
|
|
552
|
-
var flags = __webpack_require__("ad6d");
|
|
553
|
-
|
|
554
|
-
var TO_STRING = 'toString';
|
|
555
|
-
var RegExpPrototype = RegExp.prototype;
|
|
556
|
-
var nativeToString = RegExpPrototype[TO_STRING];
|
|
557
|
-
|
|
558
|
-
var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
|
|
559
|
-
// FF44- RegExp#toString has a wrong name
|
|
560
|
-
var INCORRECT_NAME = nativeToString.name != TO_STRING;
|
|
561
|
-
|
|
562
|
-
// `RegExp.prototype.toString` method
|
|
563
|
-
// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
|
|
564
|
-
if (NOT_GENERIC || INCORRECT_NAME) {
|
|
565
|
-
redefine(RegExp.prototype, TO_STRING, function toString() {
|
|
566
|
-
var R = anObject(this);
|
|
567
|
-
var p = String(R.source);
|
|
568
|
-
var rf = R.flags;
|
|
569
|
-
var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);
|
|
570
|
-
return '/' + p + '/' + f;
|
|
571
|
-
}, { unsafe: true });
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
|
|
575
542
|
/***/ }),
|
|
576
543
|
|
|
577
544
|
/***/ "2a62":
|
|
@@ -1908,6 +1875,35 @@ module.exports = Object.create || function create(O, Properties) {
|
|
|
1908
1875
|
};
|
|
1909
1876
|
|
|
1910
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
|
+
|
|
1911
1907
|
/***/ }),
|
|
1912
1908
|
|
|
1913
1909
|
/***/ "7dd0":
|
|
@@ -4378,7 +4374,7 @@ if (typeof window !== 'undefined') {
|
|
|
4378
4374
|
// Indicate to webpack that this file can be concatenated
|
|
4379
4375
|
/* harmony default export */ var setPublicPath = (null);
|
|
4380
4376
|
|
|
4381
|
-
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"
|
|
4377
|
+
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"690fa3be-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=09b8e269&
|
|
4382
4378
|
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,{
|
|
4383
4379
|
showResult: _vm.showResult,
|
|
4384
4380
|
resetFilters: _vm.resetFilters,
|
|
@@ -4395,7 +4391,7 @@ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._sel
|
|
|
4395
4391
|
var staticRenderFns = []
|
|
4396
4392
|
|
|
4397
4393
|
|
|
4398
|
-
// CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=
|
|
4394
|
+
// CONCATENATED MODULE: ./src/components/VFilters.vue?vue&type=template&id=09b8e269&
|
|
4399
4395
|
|
|
4400
4396
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js
|
|
4401
4397
|
var es_object_keys = __webpack_require__("b64b");
|
|
@@ -4574,6 +4570,35 @@ function _nonIterableRest() {
|
|
|
4574
4570
|
function _slicedToArray(arr, i) {
|
|
4575
4571
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
4576
4572
|
}
|
|
4573
|
+
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
|
|
4574
|
+
|
|
4575
|
+
function _arrayWithoutHoles(arr) {
|
|
4576
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
4577
|
+
}
|
|
4578
|
+
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
|
|
4579
|
+
|
|
4580
|
+
|
|
4581
|
+
|
|
4582
|
+
|
|
4583
|
+
|
|
4584
|
+
|
|
4585
|
+
|
|
4586
|
+
|
|
4587
|
+
function _iterableToArray(iter) {
|
|
4588
|
+
if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
|
|
4589
|
+
}
|
|
4590
|
+
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
|
|
4591
|
+
function _nonIterableSpread() {
|
|
4592
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
4593
|
+
}
|
|
4594
|
+
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
|
|
4595
|
+
|
|
4596
|
+
|
|
4597
|
+
|
|
4598
|
+
|
|
4599
|
+
function _toConsumableArray(arr) {
|
|
4600
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
4601
|
+
}
|
|
4577
4602
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js
|
|
4578
4603
|
var es_number_constructor = __webpack_require__("a9e3");
|
|
4579
4604
|
|
|
@@ -4589,12 +4614,12 @@ var es_string_includes = __webpack_require__("2532");
|
|
|
4589
4614
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
|
|
4590
4615
|
var es_array_map = __webpack_require__("d81d");
|
|
4591
4616
|
|
|
4592
|
-
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js
|
|
4593
|
-
var es_regexp_to_string = __webpack_require__("25f0");
|
|
4594
|
-
|
|
4595
4617
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.reduce.js
|
|
4596
4618
|
var es_array_reduce = __webpack_require__("13d5");
|
|
4597
4619
|
|
|
4620
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.find.js
|
|
4621
|
+
var es_array_find = __webpack_require__("7db0");
|
|
4622
|
+
|
|
4598
4623
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js
|
|
4599
4624
|
var es_string_search = __webpack_require__("841c");
|
|
4600
4625
|
|
|
@@ -5099,6 +5124,7 @@ _curry2(function equals(a, b) {
|
|
|
5099
5124
|
|
|
5100
5125
|
|
|
5101
5126
|
|
|
5127
|
+
|
|
5102
5128
|
//
|
|
5103
5129
|
//
|
|
5104
5130
|
//
|
|
@@ -5220,7 +5246,7 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
|
|
|
5220
5246
|
default: false
|
|
5221
5247
|
},
|
|
5222
5248
|
humanLink: {
|
|
5223
|
-
type:
|
|
5249
|
+
type: Object
|
|
5224
5250
|
},
|
|
5225
5251
|
editedOutside: {
|
|
5226
5252
|
type: Boolean,
|
|
@@ -5233,12 +5259,23 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
|
|
|
5233
5259
|
fieldKey: {
|
|
5234
5260
|
type: [String, Number],
|
|
5235
5261
|
default: '1'
|
|
5262
|
+
},
|
|
5263
|
+
alwaysSendFields: {
|
|
5264
|
+
type: Array,
|
|
5265
|
+
default: function _default() {
|
|
5266
|
+
return [];
|
|
5267
|
+
}
|
|
5268
|
+
},
|
|
5269
|
+
paramsToInclude: {
|
|
5270
|
+
type: Object,
|
|
5271
|
+
default: function _default() {
|
|
5272
|
+
return {};
|
|
5273
|
+
}
|
|
5236
5274
|
}
|
|
5237
5275
|
},
|
|
5238
5276
|
data: function data() {
|
|
5239
5277
|
return {
|
|
5240
5278
|
filters: {},
|
|
5241
|
-
editedInside: false,
|
|
5242
5279
|
editedFields: []
|
|
5243
5280
|
};
|
|
5244
5281
|
},
|
|
@@ -5246,6 +5283,9 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
|
|
|
5246
5283
|
edited: function edited() {
|
|
5247
5284
|
return this.editedInside || this.editedOutside;
|
|
5248
5285
|
},
|
|
5286
|
+
editedInside: function editedInside() {
|
|
5287
|
+
return this.editedFields.length > 0;
|
|
5288
|
+
},
|
|
5249
5289
|
actionTitle: function actionTitle() {
|
|
5250
5290
|
var title = this.notFoundTitle;
|
|
5251
5291
|
|
|
@@ -5261,27 +5301,38 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
|
|
|
5261
5301
|
var _this = this;
|
|
5262
5302
|
|
|
5263
5303
|
var filters = {};
|
|
5304
|
+
var fieldsToInclude = [].concat(_toConsumableArray(this.editedFields), _toConsumableArray(this.alwaysSendFields));
|
|
5264
5305
|
Object.keys(this.filters).forEach(function (name) {
|
|
5265
|
-
if (
|
|
5306
|
+
if (fieldsToInclude.includes(name)) {
|
|
5266
5307
|
var filtersValue = _this.filters[name];
|
|
5267
5308
|
var wrappedValue = getType(filtersValue) === 'Object' ? [filtersValue] : filtersValue;
|
|
5268
5309
|
filters[name] = wrappedValue.map(function (value) {
|
|
5269
|
-
return value._id
|
|
5310
|
+
return value._id || value;
|
|
5270
5311
|
});
|
|
5271
5312
|
}
|
|
5272
5313
|
});
|
|
5273
5314
|
return filters;
|
|
5274
5315
|
}
|
|
5275
5316
|
},
|
|
5317
|
+
watch: {
|
|
5318
|
+
fields: {
|
|
5319
|
+
deep: true,
|
|
5320
|
+
handler: function handler() {
|
|
5321
|
+
this.setFilters(true);
|
|
5322
|
+
}
|
|
5323
|
+
},
|
|
5324
|
+
paramsToInclude: function paramsToInclude() {
|
|
5325
|
+
this.setUrlParams();
|
|
5326
|
+
}
|
|
5327
|
+
},
|
|
5276
5328
|
created: function created() {
|
|
5277
5329
|
this.setFilters();
|
|
5278
5330
|
},
|
|
5279
5331
|
methods: {
|
|
5280
|
-
setFilters: function setFilters(
|
|
5332
|
+
setFilters: function setFilters(isUpdate) {
|
|
5281
5333
|
var _this2 = this;
|
|
5282
5334
|
|
|
5283
|
-
var params =
|
|
5284
|
-
var editedInside = false;
|
|
5335
|
+
var params = this.getUrlParams();
|
|
5285
5336
|
this.fields.forEach(function (field) {
|
|
5286
5337
|
var value = field._type === 'range' ? field.value : [];
|
|
5287
5338
|
var valueNotArray = ['select', 'tab'].includes(field._type);
|
|
@@ -5292,7 +5343,7 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
|
|
|
5292
5343
|
value = _field$value[0];
|
|
5293
5344
|
}
|
|
5294
5345
|
|
|
5295
|
-
if (params[field._name] && !
|
|
5346
|
+
if (params[field._name] && !isUpdate) {
|
|
5296
5347
|
var paramsValue = params[field._name];
|
|
5297
5348
|
|
|
5298
5349
|
if (field._type !== 'range') {
|
|
@@ -5310,11 +5361,33 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
|
|
|
5310
5361
|
}
|
|
5311
5362
|
|
|
5312
5363
|
_this2.addEditedField(field._name);
|
|
5313
|
-
} else if (
|
|
5364
|
+
} else if (params[field._name] && isUpdate && field._type !== 'range') {
|
|
5365
|
+
if (valueNotArray) {
|
|
5366
|
+
var isValueInData = field.data.some(function (dataValue) {
|
|
5367
|
+
return dataValue._id === value._id || dataValue._id === value;
|
|
5368
|
+
});
|
|
5369
|
+
|
|
5370
|
+
if (!isValueInData) {
|
|
5371
|
+
value = field.data[0];
|
|
5372
|
+
}
|
|
5373
|
+
} else {
|
|
5374
|
+
value = field.value.reduce(function (acc, currentValue) {
|
|
5375
|
+
var isValueInData = field.data.some(function (dataValue) {
|
|
5376
|
+
return dataValue._id === currentValue._id || dataValue._id === currentValue;
|
|
5377
|
+
});
|
|
5378
|
+
|
|
5379
|
+
if (isValueInData) {
|
|
5380
|
+
acc.push(currentValue);
|
|
5381
|
+
}
|
|
5382
|
+
|
|
5383
|
+
return acc;
|
|
5384
|
+
}, []);
|
|
5385
|
+
}
|
|
5386
|
+
} else if ((!params[field._name] || isUpdate) && valueNotArray) {
|
|
5314
5387
|
var _field$value2 = _slicedToArray(field.value, 1);
|
|
5315
5388
|
|
|
5316
5389
|
value = _field$value2[0];
|
|
5317
|
-
} else if (!params[field._name] ||
|
|
5390
|
+
} else if (!params[field._name] || isUpdate) {
|
|
5318
5391
|
value = field.value;
|
|
5319
5392
|
} // Detect changed fields
|
|
5320
5393
|
|
|
@@ -5344,24 +5417,44 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
|
|
|
5344
5417
|
|
|
5345
5418
|
_this2.$set(_this2.filters, field._name, value);
|
|
5346
5419
|
});
|
|
5347
|
-
this.setUrlParams(
|
|
5348
|
-
this.
|
|
5349
|
-
this.doAction();
|
|
5420
|
+
this.setUrlParams(isUpdate);
|
|
5421
|
+
!isUpdate && this.doAction(true);
|
|
5350
5422
|
},
|
|
5351
|
-
resetFilters: function resetFilters(
|
|
5352
|
-
this.$emit('reset-filters', isOutside);
|
|
5353
|
-
this.setFilters(true);
|
|
5423
|
+
resetFilters: function resetFilters() {
|
|
5354
5424
|
this.editedFields = [];
|
|
5355
|
-
this.
|
|
5356
|
-
this.
|
|
5425
|
+
this.setUrlParams(true, {});
|
|
5426
|
+
this.$emit('reset-filters', this.flatFilters);
|
|
5357
5427
|
},
|
|
5358
5428
|
addEditedField: function addEditedField(name) {
|
|
5359
5429
|
if (!this.editedFields.includes(name)) {
|
|
5360
5430
|
this.editedFields.push(name);
|
|
5361
5431
|
}
|
|
5362
5432
|
},
|
|
5433
|
+
removeDependentFieldsFromEdited: function removeDependentFieldsFromEdited(name) {
|
|
5434
|
+
var field = this.fields.find(function (field) {
|
|
5435
|
+
return field._name === name;
|
|
5436
|
+
});
|
|
5437
|
+
|
|
5438
|
+
if (field.reset) {
|
|
5439
|
+
var dependentFields = this.fields.filter(function (field) {
|
|
5440
|
+
return !field.reset;
|
|
5441
|
+
}).map(function (field) {
|
|
5442
|
+
return field._name;
|
|
5443
|
+
});
|
|
5444
|
+
this.editedFields = this.editedFields.filter(function (fieldName) {
|
|
5445
|
+
return !dependentFields.includes(fieldName);
|
|
5446
|
+
});
|
|
5447
|
+
}
|
|
5448
|
+
},
|
|
5363
5449
|
doAction: function doAction() {
|
|
5364
|
-
|
|
5450
|
+
var both = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
5451
|
+
|
|
5452
|
+
if (both) {
|
|
5453
|
+
this.requestCount();
|
|
5454
|
+
this.showResult();
|
|
5455
|
+
} else {
|
|
5456
|
+
this.immediate ? this.showResult() : this.requestCount();
|
|
5457
|
+
}
|
|
5365
5458
|
},
|
|
5366
5459
|
requestCount: function requestCount() {
|
|
5367
5460
|
this.$emit('request-count', this.flatFilters);
|
|
@@ -5372,31 +5465,14 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
|
|
|
5372
5465
|
getUrlParams: function getUrlParams() {
|
|
5373
5466
|
return VFiltersvue_type_script_lang_js_unserialize(window.location.search);
|
|
5374
5467
|
},
|
|
5375
|
-
setUrlParams: function setUrlParams(
|
|
5468
|
+
setUrlParams: function setUrlParams(isUpdate, rewriteParams) {
|
|
5376
5469
|
if (this.showParams) {
|
|
5377
|
-
var params = this.
|
|
5378
|
-
|
|
5379
|
-
for (var name in this.filters) {
|
|
5380
|
-
var filterValue = this.filters[name];
|
|
5381
|
-
|
|
5382
|
-
if (this.editedFields.includes(name)) {
|
|
5383
|
-
if (Array.isArray(filterValue) && filterValue.length > 0) {
|
|
5384
|
-
params[name] = filterValue.map(function (val) {
|
|
5385
|
-
return val._id || val;
|
|
5386
|
-
});
|
|
5387
|
-
} else if (filterValue instanceof Object) {
|
|
5388
|
-
filterValue = _objectSpread2({}, filterValue);
|
|
5389
|
-
params[name] = [filterValue._id];
|
|
5390
|
-
}
|
|
5391
|
-
} else {
|
|
5392
|
-
delete params[name];
|
|
5393
|
-
}
|
|
5394
|
-
}
|
|
5470
|
+
var params = rewriteParams || _objectSpread2(_objectSpread2({}, this.flatFilters), this.paramsToInclude);
|
|
5395
5471
|
|
|
5396
5472
|
var currentParams = this.getUrlParams();
|
|
5397
5473
|
var newParamsLength = Object.keys(params).length;
|
|
5398
5474
|
|
|
5399
|
-
if ((newParamsLength && !es_equals(params, currentParams) ||
|
|
5475
|
+
if ((newParamsLength && !es_equals(params, currentParams) || isUpdate || rewriteParams) && !this.humanLink) {
|
|
5400
5476
|
var query = VFiltersvue_type_script_lang_js_serialize(params);
|
|
5401
5477
|
var url = window.location.origin + window.location.pathname + "".concat(newParamsLength ? '?' : '').concat(query);
|
|
5402
5478
|
history.replaceState({
|
|
@@ -5407,7 +5483,7 @@ var VFiltersvue_type_script_lang_js_unserialize = function unserialize(input) {
|
|
|
5407
5483
|
},
|
|
5408
5484
|
handleFieldChange: function handleFieldChange(name) {
|
|
5409
5485
|
this.addEditedField(name);
|
|
5410
|
-
this.
|
|
5486
|
+
this.removeDependentFieldsFromEdited(name);
|
|
5411
5487
|
this.setUrlParams();
|
|
5412
5488
|
this.doAction();
|
|
5413
5489
|
}
|