@kontur.candy/generator 6.7.0-kl-features.0 → 6.7.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/index.js +123 -51
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -47734,6 +47734,57 @@ function checkIsReservedPath(path) {
|
|
|
47734
47734
|
|
|
47735
47735
|
/***/ }),
|
|
47736
47736
|
|
|
47737
|
+
/***/ "./Common/ModelPath/ModelPathValidator.ts":
|
|
47738
|
+
/*!************************************************!*\
|
|
47739
|
+
!*** ./Common/ModelPath/ModelPathValidator.ts ***!
|
|
47740
|
+
\************************************************/
|
|
47741
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
47742
|
+
|
|
47743
|
+
"use strict";
|
|
47744
|
+
__webpack_require__.r(__webpack_exports__);
|
|
47745
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
47746
|
+
/* harmony export */ ModelPathValidator: () => (/* binding */ ModelPathValidator)
|
|
47747
|
+
/* harmony export */ });
|
|
47748
|
+
/* harmony import */ var _ModelPath__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
47749
|
+
var _ModelPathValidator;
|
|
47750
|
+
|
|
47751
|
+
class ModelPathValidator {
|
|
47752
|
+
static validate(path) {
|
|
47753
|
+
for (const token of path.getPathParts()) {
|
|
47754
|
+
if (_ModelPath__WEBPACK_IMPORTED_MODULE_0__.PathTokens.isMultiToken(token)) {
|
|
47755
|
+
continue;
|
|
47756
|
+
}
|
|
47757
|
+
if (_ModelPath__WEBPACK_IMPORTED_MODULE_0__.PathTokens.isInstanceTokenOrInstancesSpec(token)) {
|
|
47758
|
+
continue;
|
|
47759
|
+
}
|
|
47760
|
+
if (token === "." || token === "..") {
|
|
47761
|
+
continue;
|
|
47762
|
+
}
|
|
47763
|
+
if (!ModelPathValidator.isValidXmlName(token)) {
|
|
47764
|
+
return {
|
|
47765
|
+
valid: false,
|
|
47766
|
+
invalidToken: token,
|
|
47767
|
+
error: `Token "${token}" is not a valid XML name`
|
|
47768
|
+
};
|
|
47769
|
+
}
|
|
47770
|
+
}
|
|
47771
|
+
return {
|
|
47772
|
+
valid: true
|
|
47773
|
+
};
|
|
47774
|
+
}
|
|
47775
|
+
static isValidXmlName(name) {
|
|
47776
|
+
return ModelPathValidator.XML_NAME_REGEX.test(name);
|
|
47777
|
+
}
|
|
47778
|
+
}
|
|
47779
|
+
_ModelPathValidator = ModelPathValidator;
|
|
47780
|
+
ModelPathValidator.NAME_START_CHAR = "[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF" + "\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F" + "\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]";
|
|
47781
|
+
ModelPathValidator.NAME_CHAR = "[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF" + "\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F" + "\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD" + "\\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]";
|
|
47782
|
+
// Full XML Name regex built from the two character classes above.
|
|
47783
|
+
// The `u` flag enables proper handling of Unicode code points > U+FFFF.
|
|
47784
|
+
ModelPathValidator.XML_NAME_REGEX = new RegExp(`^${_ModelPathValidator.NAME_START_CHAR}${_ModelPathValidator.NAME_CHAR}*$`, "u");
|
|
47785
|
+
|
|
47786
|
+
/***/ }),
|
|
47787
|
+
|
|
47737
47788
|
/***/ "./Common/ModelPath/PathMatcher.ts":
|
|
47738
47789
|
/*!*****************************************!*\
|
|
47739
47790
|
!*** ./Common/ModelPath/PathMatcher.ts ***!
|
|
@@ -48395,7 +48446,6 @@ let SubHeaderColors = /*#__PURE__*/function (SubHeaderColors) {
|
|
|
48395
48446
|
"use strict";
|
|
48396
48447
|
__webpack_require__.r(__webpack_exports__);
|
|
48397
48448
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
48398
|
-
/* harmony export */ ALL_FIAS_FIELDS: () => (/* binding */ ALL_FIAS_FIELDS),
|
|
48399
48449
|
/* harmony export */ FiasDivision: () => (/* binding */ FiasDivision),
|
|
48400
48450
|
/* harmony export */ FiasEstateStatuses: () => (/* binding */ FiasEstateStatuses),
|
|
48401
48451
|
/* harmony export */ FiasExtraFields: () => (/* binding */ FiasExtraFields),
|
|
@@ -48512,7 +48562,6 @@ let FiasFields = /*#__PURE__*/function (FiasFields) {
|
|
|
48512
48562
|
FiasFields["apartment"] = "apartment";
|
|
48513
48563
|
return FiasFields;
|
|
48514
48564
|
}({});
|
|
48515
|
-
const ALL_FIAS_FIELDS = [FiasFields.region, FiasFields.district, FiasFields.municipaldistrict, FiasFields.city, FiasFields.intracityarea, FiasFields.urbansettlement, FiasFields.settlement, FiasFields.planningstructure, FiasFields.street, FiasFields.stead, FiasFields.house, FiasFields.garhouse, FiasFields.room, FiasFields.apartment];
|
|
48516
48565
|
let FiasExtraFields = /*#__PURE__*/function (FiasExtraFields) {
|
|
48517
48566
|
FiasExtraFields["postalcode"] = "postalcode";
|
|
48518
48567
|
return FiasExtraFields;
|
|
@@ -62909,9 +62958,9 @@ class FormSchemaRngAttribute {
|
|
|
62909
62958
|
isEditorOnly() {
|
|
62910
62959
|
return this.editorOnly || false;
|
|
62911
62960
|
}
|
|
62912
|
-
|
|
62961
|
+
isDisableValueAutoInit() {
|
|
62913
62962
|
var _this$disableValueAut;
|
|
62914
|
-
return (_this$disableValueAut = this.disableValueAutoInit) !== null && _this$disableValueAut !== void 0 ? _this$disableValueAut : this.parent.
|
|
62963
|
+
return (_this$disableValueAut = this.disableValueAutoInit) !== null && _this$disableValueAut !== void 0 ? _this$disableValueAut : this.parent.isDisableValueAutoInit();
|
|
62915
62964
|
}
|
|
62916
62965
|
}
|
|
62917
62966
|
const RootParent = Symbol.for("__ROOT_ELEMENT_PARENT__");
|
|
@@ -62986,9 +63035,9 @@ class FormSchemaRngElement {
|
|
|
62986
63035
|
getAttributesArray() {
|
|
62987
63036
|
return this.attributes.values().toArray();
|
|
62988
63037
|
}
|
|
62989
|
-
|
|
63038
|
+
isDisableValueAutoInit() {
|
|
62990
63039
|
var _this$disableValueAut2;
|
|
62991
|
-
return (_this$disableValueAut2 = this.disableValueAutoInit) !== null && _this$disableValueAut2 !== void 0 ? _this$disableValueAut2 : this.parent instanceof FormSchemaRngElement ? this.parent.
|
|
63040
|
+
return (_this$disableValueAut2 = this.disableValueAutoInit) !== null && _this$disableValueAut2 !== void 0 ? _this$disableValueAut2 : this.parent instanceof FormSchemaRngElement ? this.parent.isDisableValueAutoInit() : undefined;
|
|
62992
63041
|
}
|
|
62993
63042
|
getUseServerFilters() {
|
|
62994
63043
|
return this.useServerFilters;
|
|
@@ -70645,6 +70694,9 @@ class DataDeclarationGenerationContext {
|
|
|
70645
70694
|
[(0,_markupGenerator_getBindingPath__WEBPACK_IMPORTED_MODULE_8__.getResolvedBindingPath)(sugarNode)]: declEntry
|
|
70646
70695
|
};
|
|
70647
70696
|
}
|
|
70697
|
+
adjustPathMultiplicityByScheme(path) {
|
|
70698
|
+
return this.formSchemaRng.adjustPathMultiplicity(path);
|
|
70699
|
+
}
|
|
70648
70700
|
}
|
|
70649
70701
|
|
|
70650
70702
|
/***/ }),
|
|
@@ -70743,6 +70795,10 @@ class DataDeclarationGenerationTimeHelper {
|
|
|
70743
70795
|
const optionalBlocksPaths = visibilityFieldsPaths.map(fieldPath => (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.createAbsoluteFromMask)(fieldPath, _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_1__.PathTokens.each).getParentPath());
|
|
70744
70796
|
return optionalBlocksPaths;
|
|
70745
70797
|
}
|
|
70798
|
+
isNodeHasDisableValueAutoInitEntry(targetPath) {
|
|
70799
|
+
const declEntry = this.getDataDeclarationEntry(targetPath);
|
|
70800
|
+
return declEntry === null || declEntry === void 0 ? void 0 : declEntry.hasDisableValueAutoInitFlag;
|
|
70801
|
+
}
|
|
70746
70802
|
getDataDeclarationRootPath() {
|
|
70747
70803
|
const anyPath = Object.keys(this.dataDeclaration)[0];
|
|
70748
70804
|
if (anyPath == undefined) {
|
|
@@ -70898,8 +70954,9 @@ class DataDeclarationGenerator {
|
|
|
70898
70954
|
if (entry instanceof _common_SchemaRng_FormSchemaRng__WEBPACK_IMPORTED_MODULE_6__.FormSchemaRngElement && entry.useServerFilters != undefined) {
|
|
70899
70955
|
declarationEntry.useServerFilters = entry.useServerFilters;
|
|
70900
70956
|
}
|
|
70901
|
-
|
|
70902
|
-
|
|
70957
|
+
const disableValueAutoInit = entry.isDisableValueAutoInit();
|
|
70958
|
+
if (disableValueAutoInit != undefined) {
|
|
70959
|
+
declarationEntry.hasDisableValueAutoInitFlag = disableValueAutoInit;
|
|
70903
70960
|
}
|
|
70904
70961
|
}
|
|
70905
70962
|
}
|
|
@@ -71712,6 +71769,7 @@ function buildExtendedSchemaInfo(dataDeclaration) {
|
|
|
71712
71769
|
props.isPage = isPage || undefined;
|
|
71713
71770
|
props.isForceFilledOptional = props.isFilledOptionalRequired = isPage && optional && (isMultiple && singleSectionsSet.has(path) || !isMultiple) || undefined;
|
|
71714
71771
|
props.fields = buildFieldsConfiguration(path, dataDeclaration);
|
|
71772
|
+
props.disableValueAutoInit = dataDeclaration.isNodeHasDisableValueAutoInitEntry(path);
|
|
71715
71773
|
}
|
|
71716
71774
|
return {
|
|
71717
71775
|
roots: [...nodes.values()].map(x => x[0])
|
|
@@ -75518,7 +75576,7 @@ function createValueRuleWithDisableValueAutoInitCheck(path, originalExpression)
|
|
|
75518
75576
|
}
|
|
75519
75577
|
function wrapWithDisableValueAutoInitFlagCheckIfRequired(formSchemaRng, x) {
|
|
75520
75578
|
var _formSchemaRng$getEle;
|
|
75521
|
-
return isSetStatement(x) && x.left.valueName === "value" && (_formSchemaRng$getEle = formSchemaRng.getElementByPath(x.left.modePath)) !== null && _formSchemaRng$getEle !== void 0 && _formSchemaRng$getEle.
|
|
75579
|
+
return isSetStatement(x) && x.left.valueName === "value" && (_formSchemaRng$getEle = formSchemaRng.getElementByPath(x.left.modePath)) !== null && _formSchemaRng$getEle !== void 0 && _formSchemaRng$getEle.isDisableValueAutoInit() ? [createValueRuleWithDisableValueAutoInitCheck(x.left.modePath, x.right)] : [x];
|
|
75522
75580
|
}
|
|
75523
75581
|
function wrapWithArgumentsCondition(expression) {
|
|
75524
75582
|
const childFilter = node => !(node instanceof _FLangCodeDom__WEBPACK_IMPORTED_MODULE_6__.ReduceCallExpression || node instanceof _FLangCodeDom__WEBPACK_IMPORTED_MODULE_6__.GetSumByKeysExpression || node instanceof _FLangCodeDom__WEBPACK_IMPORTED_MODULE_6__.NoDepsExpression);
|
|
@@ -76751,7 +76809,7 @@ class FormulaAndInitOnlyNormalizationRuleGenerator {
|
|
|
76751
76809
|
const createDisableValueAutoInitRule = path => new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_1__.SetStatement(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_1__.ValueReferenceExpression(path, "disableValueAutoInit"), new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_1__.StringLiteralExpression("true"));
|
|
76752
76810
|
const ignoredValueSetRuleMapper = x => {
|
|
76753
76811
|
var _this$formSchemaRng$g;
|
|
76754
|
-
return x instanceof _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_1__.SetStatement && x.left.valueName === "value" && (_this$formSchemaRng$g = this.formSchemaRng.getElementByPath(x.left.modePath)) !== null && _this$formSchemaRng$g !== void 0 && _this$formSchemaRng$g.
|
|
76812
|
+
return x instanceof _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_1__.SetStatement && x.left.valueName === "value" && (_this$formSchemaRng$g = this.formSchemaRng.getElementByPath(x.left.modePath)) !== null && _this$formSchemaRng$g !== void 0 && _this$formSchemaRng$g.isDisableValueAutoInit() ? [createValueRuleEmptyRule(x.left.modePath), createDisableValueAutoInitRule(x.left.modePath)] : [x];
|
|
76755
76813
|
};
|
|
76756
76814
|
const allFormulaRules = this.formulaRulesBuilder.buildRules();
|
|
76757
76815
|
const updatedFormulaRules = Iterator.from(allFormulaRules).flatMap(x => (0,_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_2__.isSetStatement)(x) && x.left.valueName === "autoValue" ? [x, createValueRuleFromAutoValueRule(x)] : [x]);
|
|
@@ -80447,16 +80505,21 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
80447
80505
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
80448
80506
|
/* harmony export */ LinkConverter: () => (/* binding */ LinkConverter)
|
|
80449
80507
|
/* harmony export */ });
|
|
80450
|
-
/* harmony import */ var
|
|
80451
|
-
/* harmony import */ var
|
|
80452
|
-
/* harmony import */ var
|
|
80453
|
-
/* harmony import */ var
|
|
80454
|
-
/* harmony import */ var
|
|
80455
|
-
/* harmony import */ var
|
|
80456
|
-
/* harmony import */ var
|
|
80457
|
-
/* harmony import */ var
|
|
80458
|
-
/* harmony import */ var
|
|
80459
|
-
/* harmony import */ var
|
|
80508
|
+
/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! chalk */ "./node_modules/chalk/source/index.js");
|
|
80509
|
+
/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__);
|
|
80510
|
+
/* harmony import */ var _common_XmlParser_XmlNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../common/XmlParser/XmlNode */ "./Generator/src/common/XmlParser/XmlNode.ts");
|
|
80511
|
+
/* harmony import */ var _DataDeclarationGenerator_DataDeclarationGenerationContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../DataDeclarationGenerator/DataDeclarationGenerationContext */ "./Generator/src/generators/DataDeclarationGenerator/DataDeclarationGenerationContext.ts");
|
|
80512
|
+
/* harmony import */ var _ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../ComponentMarkupBuilder/ComponentMarkupBuilder */ "./Generator/src/generators/markupGenerator/ComponentMarkupBuilder/ComponentMarkupBuilder.ts");
|
|
80513
|
+
/* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
|
|
80514
|
+
/* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
|
|
80515
|
+
/* harmony import */ var _Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Typography/Icon/GetIconName */ "./Generator/src/generators/markupGenerator/ElementProcessors/Typography/Icon/GetIconName.ts");
|
|
80516
|
+
/* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
|
|
80517
|
+
/* harmony import */ var _Common_KCLangRuntimeUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../../Common/KCLangRuntimeUtils */ "./Common/KCLangRuntimeUtils.ts");
|
|
80518
|
+
/* harmony import */ var _common_ConditionUtils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../common/ConditionUtils */ "./Generator/src/common/ConditionUtils.ts");
|
|
80519
|
+
/* harmony import */ var _Common_ModelPath_ModelPathValidator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPathValidator */ "./Common/ModelPath/ModelPathValidator.ts");
|
|
80520
|
+
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
80521
|
+
/* harmony import */ var _LinkNode__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./LinkNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/Action/Link/LinkNode.ts");
|
|
80522
|
+
|
|
80460
80523
|
|
|
80461
80524
|
|
|
80462
80525
|
|
|
@@ -80467,44 +80530,58 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
80467
80530
|
|
|
80468
80531
|
|
|
80469
80532
|
|
|
80470
|
-
|
|
80533
|
+
|
|
80534
|
+
|
|
80535
|
+
class LinkConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_4__.SugarNodeConverterBase {
|
|
80471
80536
|
static getAcceptNodeClass() {
|
|
80472
|
-
return
|
|
80537
|
+
return _LinkNode__WEBPACK_IMPORTED_MODULE_12__.LinkNode;
|
|
80473
80538
|
}
|
|
80474
80539
|
doBuildDataDeclaration(context) {
|
|
80475
|
-
const node = this.getCurrentNodeAs(
|
|
80476
|
-
|
|
80540
|
+
const node = this.getCurrentNodeAs(_LinkNode__WEBPACK_IMPORTED_MODULE_12__.LinkNode);
|
|
80541
|
+
const nodePath = node.getFullPath();
|
|
80542
|
+
if (!_Common_ModelPath_ModelPathValidator__WEBPACK_IMPORTED_MODULE_10__.ModelPathValidator.validate(nodePath).valid) {
|
|
80543
|
+
// eslint-disable-next-line no-console
|
|
80544
|
+
console.warn(chalk__WEBPACK_IMPORTED_MODULE_0___default().yellow(`WARN: [LinkConverter] Not supported path is used: [${nodePath.toLegacyPath()}]`));
|
|
80545
|
+
return _DataDeclarationGenerator_DataDeclarationGenerationContext__WEBPACK_IMPORTED_MODULE_2__.emptyDataDeclarationCollection;
|
|
80546
|
+
}
|
|
80547
|
+
const nodePathWithoutMultiplicity = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_11__.createAbsoluteFromTokens)(nodePath.getPathPartsAsArray().filter(_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_11__.PathTokens.isSimpleToken));
|
|
80548
|
+
|
|
80549
|
+
// Если в Link передали путь, который не матчится со схемой (не совпадают множественность), то игнорируем его
|
|
80550
|
+
if (!nodePath.isEquals(context.adjustPathMultiplicityByScheme(nodePathWithoutMultiplicity))) {
|
|
80551
|
+
return _DataDeclarationGenerator_DataDeclarationGenerationContext__WEBPACK_IMPORTED_MODULE_2__.emptyDataDeclarationCollection;
|
|
80552
|
+
}
|
|
80553
|
+
return context.mergeDataDeclaration(node.path ? context.addPathDeclEntry(node, [["value", context.initSequenceFactory.takeFromModelOrDefaultValue(node.defaultValue)]]) : _DataDeclarationGenerator_DataDeclarationGenerationContext__WEBPACK_IMPORTED_MODULE_2__.emptyDataDeclarationCollection, context.addSpecialFieldsEntry(node, {
|
|
80477
80554
|
optional: node.optional
|
|
80478
|
-
}), node.path ? context.addPathSectionDeclarationEntry(node) :
|
|
80555
|
+
}), node.path ? context.addPathSectionDeclarationEntry(node) : _DataDeclarationGenerator_DataDeclarationGenerationContext__WEBPACK_IMPORTED_MODULE_2__.emptyDataDeclarationCollection, context.addVisibilityPathDeclEntryNew(node));
|
|
80479
80556
|
}
|
|
80480
80557
|
buildChildrenDataDeclaration(context) {
|
|
80481
|
-
const node = this.getCurrentNodeAs(
|
|
80558
|
+
const node = this.getCurrentNodeAs(_LinkNode__WEBPACK_IMPORTED_MODULE_12__.LinkNode);
|
|
80482
80559
|
return context.processChildrenDataDeclaration(node.children);
|
|
80483
80560
|
}
|
|
80484
80561
|
*doTraverseChildren() {
|
|
80485
|
-
const node = this.getCurrentNodeAs(
|
|
80562
|
+
const node = this.getCurrentNodeAs(_LinkNode__WEBPACK_IMPORTED_MODULE_12__.LinkNode);
|
|
80486
80563
|
yield* node.children;
|
|
80487
80564
|
}
|
|
80488
80565
|
doConvert(context) {
|
|
80489
|
-
const node = this.getCurrentNodeAs(
|
|
80566
|
+
const node = this.getCurrentNodeAs(_LinkNode__WEBPACK_IMPORTED_MODULE_12__.LinkNode);
|
|
80490
80567
|
if (node.path != undefined && node.onClick == undefined) {
|
|
80491
|
-
throw new
|
|
80568
|
+
throw new _common_XmlParser_XmlNode__WEBPACK_IMPORTED_MODULE_1__.SugarAttributeReadError(`onClick is required when path attribute specified`, node, "path");
|
|
80492
80569
|
}
|
|
80493
80570
|
return node.onClick ? this.getLinkForModelChanging(context, node) : this.getLinkWithHref(context, node);
|
|
80494
80571
|
}
|
|
80495
80572
|
getLinkForModelChanging(context, node) {
|
|
80496
|
-
const markupBuilder = (0,
|
|
80573
|
+
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_3__.componentMarkupBuilder)("Link");
|
|
80497
80574
|
markupBuilder.prop("data-tid").set(node.tid);
|
|
80498
|
-
markupBuilder.prop(x => x.bindingPath).set((0,
|
|
80575
|
+
markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_5__.getNewBindingPathExpression)(node));
|
|
80499
80576
|
markupBuilder.prop(x => x.onClick).set(context.generateHelperFunctionExpression(node, "onClick", node.onClick));
|
|
80500
80577
|
markupBuilder.prop(x => x.use).set(node.use);
|
|
80501
80578
|
markupBuilder.prop(x => x.hint).set(this.getConverterResultFromAttributeWithMarkup(context, node.hint));
|
|
80502
80579
|
markupBuilder.prop(x => x.metricsId).set(node.metricsId);
|
|
80503
|
-
markupBuilder.prop(x => x.icon).set((0,
|
|
80580
|
+
markupBuilder.prop(x => x.icon).set((0,_Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_6__.getIconName)(node, node.icon));
|
|
80504
80581
|
markupBuilder.appendChild(context.convertChildNodes(node.children));
|
|
80505
80582
|
markupBuilder.prop(x => x.stopPropagation).set(node.stopPropagation);
|
|
80506
80583
|
if (node.disabled2 != undefined) {
|
|
80507
|
-
markupBuilder.prop(x => x.disabled2).set((0,
|
|
80584
|
+
markupBuilder.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_7__.buildExpressionPropValue)(node.disabled2));
|
|
80508
80585
|
}
|
|
80509
80586
|
if (this.getLegacyNode().getParent() != undefined) {
|
|
80510
80587
|
if (node.disabled2 != undefined) {
|
|
@@ -80514,21 +80591,21 @@ class LinkConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__.Sug
|
|
|
80514
80591
|
return markupBuilder.buildConverterResult();
|
|
80515
80592
|
}
|
|
80516
80593
|
getLinkWithHref(context, node) {
|
|
80517
|
-
const markupBuilder = (0,
|
|
80594
|
+
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_3__.componentMarkupBuilder)("Link");
|
|
80518
80595
|
markupBuilder.prop("data-tid").set(node.tid);
|
|
80519
80596
|
markupBuilder.prop(x => x.href).set(node.href);
|
|
80520
80597
|
markupBuilder.prop(x => x.target).set("_blank");
|
|
80521
80598
|
markupBuilder.prop(x => x.use).set(node.use);
|
|
80522
80599
|
markupBuilder.prop(x => x.hint).set(this.getConverterResultFromAttributeWithMarkup(context, node.hint));
|
|
80523
80600
|
markupBuilder.prop(x => x.metricsId).set(node.metricsId);
|
|
80524
|
-
markupBuilder.prop(x => x.icon).set((0,
|
|
80601
|
+
markupBuilder.prop(x => x.icon).set((0,_Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_6__.getIconName)(node, node.icon));
|
|
80525
80602
|
markupBuilder.prop(x => x.stopPropagation).set(node.stopPropagation);
|
|
80526
80603
|
if (node.disabled2 != undefined) {
|
|
80527
|
-
markupBuilder.prop(x => x.disabled2).set((0,
|
|
80604
|
+
markupBuilder.prop(x => x.disabled2).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_7__.buildExpressionPropValue)(node.disabled2));
|
|
80528
80605
|
}
|
|
80529
80606
|
if (node.hrefExpression != undefined) {
|
|
80530
|
-
const conditionWithDependencies = (0,
|
|
80531
|
-
markupBuilder.prop(x => x.hrefExpression).set((0,
|
|
80607
|
+
const conditionWithDependencies = (0,_common_ConditionUtils__WEBPACK_IMPORTED_MODULE_9__.convertConditionToJsOrFailWithFriendlySugarError)(node.hrefExpression, "path", "count", _Common_KCLangRuntimeUtils__WEBPACK_IMPORTED_MODULE_8__.KCLangRuntimeUtils.kcLangUtilsName, node, "condition");
|
|
80608
|
+
markupBuilder.prop(x => x.hrefExpression).set((0,_SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_7__.buildExpressionPropValue)(conditionWithDependencies.condition, conditionWithDependencies.dependencies));
|
|
80532
80609
|
}
|
|
80533
80610
|
if (this.getLegacyNode().getParent() != undefined) {
|
|
80534
80611
|
if (node.disabled2 != undefined || node.hrefExpression != undefined) {
|
|
@@ -99263,12 +99340,11 @@ class FiasConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__.Sug
|
|
|
99263
99340
|
*doTraverseChildren() {
|
|
99264
99341
|
// no children
|
|
99265
99342
|
}
|
|
99266
|
-
doConvert(
|
|
99343
|
+
doConvert() {
|
|
99267
99344
|
var _node$title, _node$withSteads, _node$division, _node$searchToAddress;
|
|
99268
99345
|
const node = this.getCurrentNodeAs(_FiasNode__WEBPACK_IMPORTED_MODULE_6__.FiasNode);
|
|
99269
99346
|
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_1__.componentMarkupBuilder)("Fias");
|
|
99270
|
-
|
|
99271
|
-
markupBuilder.prop(x => x.bindingPath).set(bindingPath);
|
|
99347
|
+
markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_0__.getNewBindingPathExpression)(node));
|
|
99272
99348
|
markupBuilder.prop(x => x.hasOwnBindingPath).set(node.getOwnPathForKCLang() != undefined);
|
|
99273
99349
|
markupBuilder.prop(x => x.title).set((_node$title = node.title) !== null && _node$title !== void 0 ? _node$title : "Адрес регистрации");
|
|
99274
99350
|
markupBuilder.prop(x => x.withSteads).set((_node$withSteads = node.withSteads) !== null && _node$withSteads !== void 0 ? _node$withSteads : false);
|
|
@@ -99293,7 +99369,6 @@ class FiasConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__.Sug
|
|
|
99293
99369
|
markupBuilder.prop(x => x.mvdOptions).set(mvdOptions);
|
|
99294
99370
|
}
|
|
99295
99371
|
if (node.adrgaroptions) {
|
|
99296
|
-
context.addPathsToContext([bindingPath]);
|
|
99297
99372
|
const adrGarOptions = this.extractAdrGarOptions(node.adrgaroptions);
|
|
99298
99373
|
markupBuilder.prop(x => x.adrGarOptions).set(adrGarOptions);
|
|
99299
99374
|
}
|
|
@@ -99416,7 +99491,7 @@ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _des
|
|
|
99416
99491
|
|
|
99417
99492
|
|
|
99418
99493
|
|
|
99419
|
-
let FiasValueSource = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.sugarNode)("valuesource", "Описание дополнительных полей для фиаса"), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("convertationMethod", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum(_Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getFlatTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getFlatTypeLongName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getRoomTypeLongName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getRoomTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getHouseTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getHouseTypeLongName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getHouseTypeObjectID, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getFlatTypeObjectID, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getMunicipalDistrictTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getMunicipalDistrictTypeCode, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getUrbanSettlementTypeCode, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getUrbanSettlementTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.extractRegionCode, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.extractOKTMO8Symbols, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.convertAbbreviationToShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.convertAbbreviationToFullName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getMunicipalDistrictTypeCodeWithFT), `Методы для конвертации полученных значений от api фиаса в модель`), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("fiasApiPath", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Путь до значения, полученного от api фиаса`), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("autoValue", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Значение, которое поставится по дефолту`), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("postfix", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Постфикс, если есть значение`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("prefix", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Префикс, если есть значение`), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("onValueDontExist", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Значение, которое
|
|
99494
|
+
let FiasValueSource = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.sugarNode)("valuesource", "Описание дополнительных полей для фиаса"), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("convertationMethod", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum(_Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getFlatTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getFlatTypeLongName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getRoomTypeLongName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getRoomTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getHouseTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getHouseTypeLongName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getHouseTypeObjectID, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getFlatTypeObjectID, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getMunicipalDistrictTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getMunicipalDistrictTypeCode, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getUrbanSettlementTypeCode, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getUrbanSettlementTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.extractRegionCode, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.extractOKTMO8Symbols, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.convertAbbreviationToShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.convertAbbreviationToFullName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationMethods.getMunicipalDistrictTypeCodeWithFT), `Методы для конвертации полученных значений от api фиаса в модель`), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("fiasApiPath", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Путь до значения, полученного от api фиаса`), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("autoValue", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Значение, которое поставится по дефолту`), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("postfix", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Постфикс, если есть значение`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("prefix", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Префикс, если есть значение`), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("onValueDontExist", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Значение, которое засетиться, если fiasApiPath отсутствует`), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("ifFiasApiDependExist", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Значение засетиться, если значение по пути fiasApiPath существует`), _dec(_class = (_class2 = class FiasValueSource extends _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.SugarNodeBase {
|
|
99420
99495
|
constructor(...args) {
|
|
99421
99496
|
super(...args);
|
|
99422
99497
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "convertationMethod", _descriptor, this);
|
|
@@ -99480,7 +99555,7 @@ let FiasValueSources = (_dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED
|
|
|
99480
99555
|
writable: true,
|
|
99481
99556
|
initializer: null
|
|
99482
99557
|
}), _class4)) || _class3);
|
|
99483
|
-
let FiasExtendedField = (_dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.sugarNode)("fiasfield", "Описание дополнительных полей для фиаса"), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString.required, `По этому пути в иннер будет сетится полученное значение`), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("type", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum("string", "guid", "kladr", "index"), `Тип для поля, string - строка значение из ответа фиаса, guid, kladr - уникальный адресный идентификатор`), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("description", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString.default(""), `Описание поля - будет выводиться на полях "Заполнить вручную"`), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("display", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли пользователю выводиться эта строчка при просмотре адреса`), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("skipDefaultValidation", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Не запускать стандартную валидацию (сейчас работает только для индексов)`), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("setToModel", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли это поле сетиться в иннер. По умолчанию: true"`), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("showInModal", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли значение показываться в модальном окне ручного ввода. По умолчанию: true`), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("optional", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Опциональность элемента, работает для индекса в ФСС`), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("prefix", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Префикс для значения из иннера. Если значение есть - применяется префикс`), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.singleChild)("valuesources", [FiasValueSources]), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("parentGuid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum("region", "district", "city", "street", "garhouse", "room"), `Выгрузка родительского элемента GUID-a, применимо только к полям c type: guid`), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("convertToShow", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum(_Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getMunicipalDistrictTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getUrbanSettlementTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getRegionNameByCode), `Метода для конвертации данных из модели для отображения пользователю`), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("child", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Является ли данный path - частью children`), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("clearSubstring", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, "Подстрока, которую нужно удалить перед показом пользователю"), _dec12(_class5 = (_class6 = class FiasExtendedField extends _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.SugarNodeBase {
|
|
99558
|
+
let FiasExtendedField = (_dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.sugarNode)("fiasfield", "Описание дополнительных полей для фиаса"), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString.required, `По этому пути в иннер будет сетится полученное значение`), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("type", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum("string", "guid", "kladr", "index", "countryCode", "foreignAddress"), `Тип для поля, string - строка значение из ответа фиаса, guid, kladr - уникальный адресный идентификатор`), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("description", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString.default(""), `Описание поля - будет выводиться на полях "Заполнить вручную"`), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("display", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли пользователю выводиться эта строчка при просмотре адреса`), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("skipDefaultValidation", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Не запускать стандартную валидацию (сейчас работает только для индексов)`), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("setToModel", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли это поле сетиться в иннер. По умолчанию: true"`), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("showInModal", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Будет ли значение показываться в модальном окне ручного ввода. По умолчанию: true`), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("optional", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Опциональность элемента, работает для индекса в ФСС`), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("prefix", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, `Префикс для значения из иннера. Если значение есть - применяется префикс`), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.singleChild)("valuesources", [FiasValueSources]), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("parentGuid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum("region", "district", "city", "street", "garhouse", "room"), `Выгрузка родительского элемента GUID-a, применимо только к полям c type: guid`), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("convertToShow", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.enum(_Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getMunicipalDistrictTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getUrbanSettlementTypeShortName, _Engine_src_Controls_ValueEditors_Fias_FiasInput_Utils_Convertations_Types__WEBPACK_IMPORTED_MODULE_7__.fiasConvertationToShowMethods.getRegionNameByCode), `Метода для конвертации данных из модели для отображения пользователю`), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("child", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.boolean, `Является ли данный path - частью children`), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attr)("clearSubstring", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.attrType.localizedString, "Подстрока, которую нужно удалить перед показом пользователю"), _dec12(_class5 = (_class6 = class FiasExtendedField extends _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_4__.SugarNodeBase {
|
|
99484
99559
|
constructor(...args) {
|
|
99485
99560
|
super(...args);
|
|
99486
99561
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "path", _descriptor10, this);
|
|
@@ -100612,9 +100687,6 @@ class InputConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__.Su
|
|
|
100612
100687
|
markupBuilder.prop(x => x.disabled).set(node.disabled);
|
|
100613
100688
|
markupBuilder.prop(x => x.showNegativeAsBrackets).set(node.showNegativeAsBrackets);
|
|
100614
100689
|
markupBuilder.prop(x => x.withIgnoreAutoFlag).set(node.withIgnoreAutoFlag);
|
|
100615
|
-
if (node.onInnerValueChange) {
|
|
100616
|
-
markupBuilder.prop(x => x.onInnerValueChange).set(context.generateHelperFunctionExpression(node, "onInnerValueChange", node.onInnerValueChange));
|
|
100617
|
-
}
|
|
100618
100690
|
if (node.callHelperOnChange) {
|
|
100619
100691
|
markupBuilder.prop(x => x.callHelperOnChange).set(context.generateHelperFunctionExpression(node, "callHelperOnChange", node.callHelperOnChange));
|
|
100620
100692
|
}
|
|
@@ -100853,7 +100925,7 @@ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11
|
|
|
100853
100925
|
|
|
100854
100926
|
|
|
100855
100927
|
|
|
100856
|
-
let InputNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.sugarNode)("input", `Текстовое поле ввода. Используется только для редактирование текстовых и числовых значений.`, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Input sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_DataBindingMixinNode__WEBPACK_IMPORTED_MODULE_3__.DataBindingMixinNode), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_FocusManagementNode__WEBPACK_IMPORTED_MODULE_11__.FocusManagementNode), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_TooltipProperties_TooltipSettingsNode__WEBPACK_IMPORTED_MODULE_10__.TooltipSettingsNode), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("className", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("line", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("resize", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("rngAttribute", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("caption", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("gId", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.UntypedUsage), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("dataType", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("useincorrectvalue", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("inputLimit", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("textOverflow", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("editable", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("title", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("autoResize", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("rows", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("sendMetrics", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("placeholder", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ""), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Возможность установки произвольных data-tid атрибутов, может пригодиться другим командам, или для идентификации элемента в тестах"), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("useAutoIcon", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Какую иконку использовать при использовании авторасчета (работает только с auto = true). Имя иконки смотреть тут - https://ui.gitlab-pages.kontur.host/docs/#/react-icons"), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("defaultValue", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Значение которое будет установлено по умолчанию, в случае если в inner отсутствует путь данного элемента указанный в path"), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.markupAttr)("hint", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, "Всплывающая подсказка по наведению"), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("auto", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, "Подключен авторассчет"), _dec27 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("callHelperOnChange", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.helperFunctionName, "Вызов helper функции на onChange контролла"), _dec28 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("callHelperOnBlur", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.helperFunctionName, "Вызов helper функции на onBlur контролла"), _dec29 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("withIgnoreAutoFlag", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, "Костыль: поставить true, если есть 2 инпута под if/else с одинаковыми путями, но один с auto, а другой без"), _dec30 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("
|
|
100928
|
+
let InputNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.sugarNode)("input", `Текстовое поле ввода. Используется только для редактирование текстовых и числовых значений.`, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Input sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_DataBindingMixinNode__WEBPACK_IMPORTED_MODULE_3__.DataBindingMixinNode), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_FocusManagementNode__WEBPACK_IMPORTED_MODULE_11__.FocusManagementNode), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_TooltipProperties_TooltipSettingsNode__WEBPACK_IMPORTED_MODULE_10__.TooltipSettingsNode), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("className", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("line", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("resize", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("rngAttribute", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("caption", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("gId", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.UntypedUsage), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("dataType", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("useincorrectvalue", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("inputLimit", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("textOverflow", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("editable", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("title", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("autoResize", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("rows", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.InvalidUsage), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("sendMetrics", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Removed), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("placeholder", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ""), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Возможность установки произвольных data-tid атрибутов, может пригодиться другим командам, или для идентификации элемента в тестах"), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("useAutoIcon", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Какую иконку использовать при использовании авторасчета (работает только с auto = true). Имя иконки смотреть тут - https://ui.gitlab-pages.kontur.host/docs/#/react-icons"), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("defaultValue", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Значение которое будет установлено по умолчанию, в случае если в inner отсутствует путь данного элемента указанный в path"), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.markupAttr)("hint", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, "Всплывающая подсказка по наведению"), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("auto", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, "Подключен авторассчет"), _dec27 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("callHelperOnChange", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.helperFunctionName, "Вызов helper функции на onChange контролла"), _dec28 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("callHelperOnBlur", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.helperFunctionName, "Вызов helper функции на onBlur контролла"), _dec29 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("withIgnoreAutoFlag", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, "Костыль: поставить true, если есть 2 инпута под if/else с одинаковыми путями, но один с auto, а другой без"), _dec30 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("onChange", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.helperFunctionName, "Вызов helper функции на onChange контролла"), _dec31 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("mask", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, `
|
|
100857
100929
|
Что это?
|
|
100858
100930
|
Маска, позволяет задать правила отображения данных в поле input.
|
|
100859
100931
|
Например так:
|
|
@@ -100938,7 +101010,7 @@ let InputNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_
|
|
|
100938
101010
|
// eslint-disable-next-line no-warning-comments
|
|
100939
101011
|
// todo сделать нормально в https://yt.skbkontur.ru/issue/FS-7421
|
|
100940
101012
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "withIgnoreAutoFlag", _descriptor28, this);
|
|
100941
|
-
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "
|
|
101013
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "onChange", _descriptor29, this);
|
|
100942
101014
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "mask", _descriptor30, this);
|
|
100943
101015
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "maskChar", _descriptor31, this);
|
|
100944
101016
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "formatChars", _descriptor32, this);
|
|
@@ -101107,7 +101179,7 @@ let InputNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_
|
|
|
101107
101179
|
enumerable: true,
|
|
101108
101180
|
writable: true,
|
|
101109
101181
|
initializer: null
|
|
101110
|
-
}), _descriptor29 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
101182
|
+
}), _descriptor29 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "onChange", [_dec30], {
|
|
101111
101183
|
configurable: true,
|
|
101112
101184
|
enumerable: true,
|
|
101113
101185
|
writable: true,
|
|
@@ -156115,7 +156187,7 @@ module.exports = "<h4>Атрибут emptyValueFilter</h4>\nЕсли нет вв
|
|
|
156115
156187
|
\*****************************************************************************************************/
|
|
156116
156188
|
/***/ ((module) => {
|
|
156117
156189
|
|
|
156118
|
-
module.exports = "Теги: #ФИАС #справочник #адресов #fias\n\nКонтрол нужен для отображения [справочника адресов ФИАС](https://www.nalog.gov.ru/rn77/service/fias/).\nПоддерживает **муниципальное и административно-территориальное деление** (подробнее о структуре адресов можно узнать на [сайте ФИАС](https://fias.nalog.ru/)).\n\n**Структура справочника** в общем виде выглядит следующим образом:\n\n```xml\n<fias\n path=\"АнкетныеДанные/АдресРегистрации\"\n title=\"Адрес регистрации\"\n searchToAddressLevel=\"room\">\n <fiasfield\n path=\"Регион/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\" Регион географическое название\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"region.name\" />\n </valuesources>\n </fiasfield>\n ...\n <fiasfield path=\"Индекс\" type=\"string\" display=\"false\" description=\"Индекс\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.postalCode\" />\n </valuesources>\n </fiasfield>\n</fias>\n```\n\n### Настройка полей справочника\n\nВ справочнике ФИАС можно настроить поля, которые будут выгружаться в иннер после заполнения справочника, а также отображаться в модалке редактирования адреса.\nКаждое поле задается тегом **< fiasfield >**, внутри которого прописываются источники данных.\nВ качестве атрибутов-настроек поля можно задать:\n\n- **path** - относительный путь в иннере, по которому будет выгружаться значение поля. Например, path=\"Регион/ГеографическоеНазвание\" или path=\"Регион/Сокращение\";\n- **type** - тип данных;\n- **display** - если true, то данное поле будет показано в модалке редактирования адреса;\n- **description** - название поля, которое отображается в модалке.\n\nИсточники данных задаются тегом **< valuesources >**. Внутри перечисляются источники, каждый из которых задается отдельным тегом <valuesource>, внутри которого атрибутами указываются:\n\n- fiasApiPath - это название поля в апи [сервиса ФИАСа](https://api.testkontur.ru/fias/v1.2/addresses/), из которого нужно тянуть данные. [Документация](https://wiki.skbkontur.ru/pages/viewpage.action?pageId=186435051) по сервису ФИАС.\n- convertationMethod:\n - getHouseTypeShortName - получает сокращенное наименование здания,\n - getFlatTypeShortName - получает сокращенное наименование помещения,\n - getRoomTypeShortName - получает сокращенное наименование комнаты,\n - extractRegionCode - получает код региона,\n - getMunicipalDistrictTypeCode - получает код типа муниципального района,\n - getUrbanSettlementTypeCode - получает код типа для поселения,\n - convertAbbreviationToFullName - конвертирует аббревиатуру в адресе в полное наименование,\n - getHouseTypeLongName - получает полное наименование типа здания,\n - getFlatTypeLongName - получает полное наименование типа помещения,\n - getRoomTypeLongName - получает полное наименование типа комнаты,\n - extractOKTMO8Symbols - получает ОКТМО в 8-значном формате.\n- endComma - задается внутри valuesources, если true, то запятая проставляется после значения поля, иначе без запятой, по умолчанию true. Например, \"Республика Татарстан, улица Ленина\" - для поля \"Регион/Сокращение\" = \"Республика\" endComma должно быть равно false, для \"Регион/Наименование\" = \"Татарстан\" должно быть true или не задано.\n\nПример поля в ФИАСе:\n\n```\n<fiasfield path=\"Корпус/Номер\" type=\"string\" display=\"true\" description=\"Корпус номер\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.addNum1\" />\n <valuesource convertationMethod=\"getHouseTypeShortName\" fiasApiPath=\"addType2.addType2\" />\n <valuesource fiasApiPath=\"garhouse.addNum2\" />\n </valuesources>\n</fiasfield>\n```\n\n### Настройки справочника\n\n**division:** значение настройки может быть municipal или administrative, меняет отображение адресов в справочнике в соответствии с территориальным делением: муниципальное, административное.\nПо умолчанию municipal.\n\n**searchToAddressLevel:** уровень, до которого ищутся адресные объекты.\nНапример, если задан уровень до комнаты searchToAddressLevel=room, тогда в результатах поиска у найденных адресов будут отображаться все части адреса до комнаты, если searchToAddressLevel=street, то в адресе будет отображаться улица и всё, что выше неё.\nВ выбранном значении в инпуте тоже будут отображаться только те части адреса, которые соответствуют выбранному уровню.\n\n**withSteads:** включает показ земельных участков в справочнике.\nЕсли значение настройки true, то в справочнике при поиске в списке адресов показываются адреса с зем. участками. Выгрузку в иннер зем. участков и отображение в модалке нужно настраивать отдельно.\n\n**onlyInput:** без этой настройки, если поле со справочником не заполнено, то оно отображается в виде обычного инпута, а когда заполнено, в виде текста со ссылкой \"Редактировать\".\nИногда бывает нужно отображать контрол всегда в состоянии инпута, например, внутри таблицы. Для этого нужно установить onlyInput=true.\n\n### Модальная форма редактирования адреса\n\nВ настоящее время есть 2 реализации данного контрола: с настраиваемой модалкой редактирования адреса и ненастраиваемой модалкой.\n\n#### ФИАС с настраиваемой модалкой\n\nПолностью настраиваемый справочник, где можно конфигурировать поля в иннере и модалке ресурсами.\nПо умолчанию справочник является настраиваемым, т.е. если в ФИАСе не указан тег **< fnsoptions >**/**< mvdoptions >**, то это настраиваемый справочник.\n\nПример настраиваемого справочника:\n\n```xml\n\n<fias\n path=\"АнкетныеДанные/АдресРегистрации\"\n title=\"Адрес регистрации\"\n searchToAddressLevel=\"room\"\n division=\"administrative\"\n pathToFullAddress=\"fullAddress\">\n <fiasfield\n path=\"Регион/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\" Регион географическое название\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"region.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Регион/Сокращение\" type=\"string\" display=\"true\" description=\"Регион сокращение\">\n <valuesources>\n <valuesource fiasApiPath=\"region.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Район/Сокращение\" type=\"string\" display=\"true\" description=\"Район сокращение\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"district.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Район/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Район географическое название\">\n <valuesources>\n <valuesource fiasApiPath=\"district.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Город/Сокращение\" type=\"string\" display=\"true\" description=\"Город сокращение\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"city.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Город/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Город географическое название\">\n <valuesources>\n <valuesource fiasApiPath=\"city.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"НаселенныйПункт/Сокращение\"\n type=\"string\"\n display=\"true\"\n description=\"Населенный пункт сокращение\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"settlement.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"НаселенныйПункт/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Населенный пункт географическое название\">\n <valuesources>\n <valuesource fiasApiPath=\"settlement.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Улица/Сокращение\"\n type=\"string\"\n display=\"true\"\n description=\"Улица сокращение\"\n showInModal=\"false\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"planningstructure.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Улица/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Улица географическое название\"\n showInModal=\"false\">\n <valuesources>\n <valuesource fiasApiPath=\"planningstructure.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Улица/Сокращение\" type=\"string\" display=\"true\" description=\"Улица сокращение\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"street.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Улица/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Улица географическое название\">\n <valuesources>\n <valuesource fiasApiPath=\"street.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Дом/Сокращение\" type=\"string\" display=\"true\" description=\"Дом сокращение\">\n <valuesources endComma=\"false\">\n <valuesource convertationMethod=\"getHouseTypeShortName\" fiasApiPath=\"garhouse.houseType\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Дом/Номер\" type=\"string\" display=\"true\" description=\"Дом номер\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.houseNum\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Корпус/Сокращение\" type=\"string\" display=\"true\" description=\"Корпус сокращение\">\n <valuesources endComma=\"false\">\n <valuesource convertationMethod=\"getHouseTypeShortName\" fiasApiPath=\"garhouse.addType1\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Корпус/Номер\" type=\"string\" display=\"true\" description=\"Корпус номер\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.addNum1\" />\n <valuesource convertationMethod=\"getHouseTypeShortName\" fiasApiPath=\"addType2.addType2\" />\n <valuesource fiasApiPath=\"garhouse.addNum2\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Квартира/Сокращение\" type=\"string\" display=\"true\" description=\"Квартира сокращение\">\n <valuesources endComma=\"false\">\n <valuesource convertationMethod=\"getFlatTypeShortName\" fiasApiPath=\"room.flatType\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Квартира/Номер\" type=\"string\" display=\"true\" description=\"Квартира номер\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"room.flatNumber\" />\n <valuesource convertationMethod=\"getRoomTypeShortName\" fiasApiPath=\"room.roomType\" />\n <valuesource fiasApiPath=\"room.roomNumber\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Индекс\" type=\"string\" display=\"false\" description=\"Индекс\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.postalCode\" />\n </valuesources>\n </fiasfield>\n</fias>\n\n```\n\n#### ФИАС с НЕнастраиваемой модалкой\n\n- подходит для большинства форм ФНС;\n- в модальной форме редактирования адреса набор полей неизменен (его нельзя настроить ресурсами);\n- некоторые поля реализованы в виде выпадающих справочников, набор значений которых также нельзя настроить в ресурсах;\n- количество полей модалки НЕ настраивается, нет возможности задать неограниченное добавление полей. Количество полей фиксированное и соответствует количеству полей, возвращаемых ФИАСом.\n- есть возможность заполнения адреса по введенному guid-у адреса.\n\nДля включения такой модалки внутри ФИАСа должен быть указан тег **< fnsoptions >**/**< mvdoptions >**.\n\nПодробнее про [fnsoptions](https://candy.gitlab-pages.kontur.host/docs/docs/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8B/fnsoptions) и [mvdoptions](https://candy.gitlab-pages.kontur.host/docs/docs/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8B/mvdoptions)\n\n\n```xml\n<fias path=\"АдрОбъектРФ\" title=\"Адрес\" searchToAddressLevel=\"room\" division=\"municipal\" withSteads=\"true\">\n <fnsoptions abbreviationSize=\"long\" />\n ...\n</fias>\n```\n\nСписок полей в ненастраиваемой модалке:\n\n- Индекс (опциональный)\n- Регион\n- Муниципальный район / округ (Вид + Наименование)\n- Поселение (Вид + Наименование)\n- Населенный пункт (Тип + Наименование)\n- Элемент планировочной структуры (Тип + Наименование)\n- Элемент улично-дорожной сети (Тип + Наименование)\n- Номер земельного участка\n- Номер здания / сооружения (Тип + Наименование): 3 пары Вид+Наименование - Дом, Корпус, Строение\n- Номер помещения / квартиры / машино-места (Тип + Наименование)\n- Помещение в пределах квартиры (Тип + Наименование)\n- Уникальный идентификатор адресного объекта в ГАР\n\nФормат полей и ограничения на ввод данных указаны в [wiki](https://wiki.skbkontur.ru/pages/viewpage.action?pageId=430311482).\n\nДля ФИАСа с НЕнастраиваемой модалкой есть свои настройки:\n\n**withIndex:** включает отображение поля с почтовым индексом. По умолчанию выключен.\n\n**withSteads:** включает показ земельных участков в справочнике.\nЕсли значение настройки true, то:\n\n- в справочнике при поиске в списке адресов показываются адреса с зем. участками;\n- в модалке редактирования адреса появляется поле \"Земельный участок\";\n- значение зем. участка, выбранного в справочнике, засетится по указанному в поле ФИАСа пути.\n По умолчанию показ зем. участков выключен.\n\n**abbreviationSize:** short или long (по умолчанию long). Если short, то аббревиатуры в адресе выгружаются в сокращенном виде. Например, \"ул. Ленина\". При значении long - в не сокращенном, например, \"улица Ленина\".\nНастройка указывается атрибутом в теге fnsoptions/mvdoptions.\nНастройку можно указать только общую для всех полей: нельзя настроить разный вид аббревиатур для каждого поля в отдельности.\n\n**pathToFullAddress:** задает путь, по которому засетится полный адрес (строится как конкатенация значений всех полей ФИАСа).\n\nОстальные настройки такие же, как в настраиваемом ФИАСе.\n\nПример ФИАСа с ненастраиваемой модалкой:\n\n```xml\n<fias path=\"АдрОбъектРФ\" title=\"Адрес\" searchToAddressLevel=\"room\" division=\"municipal\" withSteads=\"true\">\n <childrenoptions childrenInStack=\"2\" path=\"Здание\" />\n <fnsoptions abbreviationSize=\"long\" />\n <fiasfield\n path=\"Регион\"\n type=\"string\"\n display=\"true\"\n description=\"Адрес\"\n convertToShow=\"getRegionNameByCode\">\n <valuesources>\n <valuesource convertationMethod=\"extractRegionCode\" fiasApiPath=\"region.code\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"МуниципРайон/ВидКод\"\n type=\"string\"\n display=\"true\"\n description=\"Адрес\"\n convertToShow=\"getMunicipalDistrictTypeShortName\">\n <valuesources endComma=\"false\">\n <valuesource\n convertationMethod=\"getMunicipalDistrictTypeCode\"\n fiasApiPath=\"municipaldistrict.abbreviation\"\n />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"МуниципРайон/Наим\" type=\"string\" display=\"true\" description=\"Адрес\">\n <valuesources>\n <valuesource fiasApiPath=\"municipaldistrict.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"ГородСелПоселен/ВидКод\"\n type=\"string\"\n display=\"true\"\n description=\"Адрес\"\n convertToShow=\"getUrbanSettlementTypeShortName\">\n <valuesources endComma=\"false\">\n <valuesource\n convertationMethod=\"getUrbanSettlementTypeCode\"\n fiasApiPath=\"urbansettlement.abbreviation\"\n />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"ГородСелПоселен/Наим\" type=\"string\" display=\"true\" description=\"Адрес\">\n <valuesources>\n <valuesource fiasApiPath=\"urbansettlement.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"НаселенПункт/Вид\" type=\"string\" display=\"true\" description=\"Адрес\">\n <valuesources endComma=\"false\">\n <valuesource\n convertationMethod=\"convertAbbreviationToFullName\"\n fiasApiPath=\"district.abbreviation\"\n />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"НаселенПункт/Наим\" type=\"string\" display=\"true\" description=\"Адрес\">\n <valuesources>\n <valuesource fiasApiPath=\"district.name\" />\n </valuesources>\n </fiasfield>\n ...\n <fiasfield path=\"ИдНом\" type=\"guid\" display=\"true\" description=\"\">\n <valuesources>\n <valuesource />\n </valuesources>\n </fiasfield>\n</fias>\n```\n\n### Валидации в ФИАСе\n\n- справочник ФИАС поддерживает только условные валидации типа error и warning;\n- валидации срабатывают только на основной инпут, появляется красная или оранжевая рамка в соответствии с уровнем ошибки;\n- валидации на полях внутри модальной формы не реализованы и работать не будут.\n\n### Апи ФИАСа\n\nЕсть возможность обращаться к методам и полям справочника ФИАС напрямую, например, из хэлпера или хуков. Это может понадобиться для реализации какого-либо функционала, отсутствующего в контроле.\nДля этого из publicForm нужно вызвать createFiasApiClient.\n\nКакие методы для работы с ФИАСом есть в FiasApi:\n\n- fetchSteadsByTextAndParentFiasId(text: string, parentFiasId: string) - асинхронный, возвращает массив найденных зем. участков - FiasStead[];\n- fetchSuggestAddressesByText(text: string) - асинхронный, возвращает массив найденных адресов со всеми полями - FiasAddressFields[];\n- fetchFullAddressesByFiasId(fiasId: string) - асинхронный, ищет адреса по id, возвращает FiasAddressFields;\n- fetchFlatByParentFiasId(parentFiasId: string, number: string) - асинхронный, для поиска квартир, возвращает FiasFlatRoom;\n- fetchCountriesByName(countryName: string) - асинхронный, находит список стран по имени - FiasCountry[];\n- fetchRegions() - асинхронный, возвращает список регионов - RegionsType\n\nПример:\n```js\nexport default async function ({ publicForm }) {\nconst fiasApi = publicForm.createFiasApiClient();\nconst suggestedAddresses = await fiasApi.fetchSuggestAddressesByText(\"Свердловская обл, г Екатеринбург, ул Малопрудная, д 5\");\n}\n```\nЗдесь вызывается метод fetchSuggestAddressesByText, который по строке адреса возвращает suggestedAddresses - подходящие адреса из апи ФИАСа. Возвращаемое значение - массив адресов, а каждый адрес - структура, содержащая все поля адреса, возвращаемые апи (регион, район и т.д.).\n\n## Отображение виджета\n\nМожно переключить контрол в режим рендера внешнего виджета вместо контрола из движка. Этот кейс нужен Диадоку, но может быть еще где-то пригодится.\n\nЧтобы переключить в режим виджета, нужно добавить ноду:\n```xml\n<adrgaroptions />\n```\nУ нее есть свои настройки, которые влияют на поведение и отображение виджета, см. сгенеренную доку по ноде.\n\nВ режиме виджета поведение контрола может отличаться от стандартного. Например, настройки полей стали лаконичнее:\n```xml\n<fiasfield path=\"Регион\" type=\"string\">\n <valuesources>\n <valuesource convertationMethod=\"extractRegionCode\" fiasApiPath=\"region.data.code\" />\n </valuesources>\n</fiasfield>\n```\nВесь используемый набор атрибутов в примере выше. Остальные настройки игнорируются.\n\nВажный момент с `type=\"guid\"` и `type=\"index\"`. Эти настройки отвечают за валидное сохранение почтового индекса адреса и `fiasId`.\n\n`fiasApiPath` оброс логикой. Теперь там можно указывать путь как относительно поля address, так и относительно корня [модели ответа от виджета](https://git.skbkontur.ru/platform/widgets/addresses.widget/-/blob/7d9e458973b217c6b85cbc8ffed862328f0d3682/npm-loader/common.ts#L47).\nНапример, `region.data.code` будет доставаться из `address.region.data.code` (можно и полностью указать `address.region.data.code`).\nА вот `country.code` уже будет из корня модели. Аналогичным образом из корня доступны и другие поля.\n\n### Валидация\n\nПоскольку на виджете у нас нет возможности добраться до валидации внутри модалки, нужно навешивать ошибки валидации на корневой элемент.\n";
|
|
156190
|
+
module.exports = "Теги: #ФИАС #справочник #адресов #fias\n\nКонтрол нужен для отображения [справочника адресов ФИАС](https://www.nalog.gov.ru/rn77/service/fias/).\nПоддерживает **муниципальное и административно-территориальное деление** (подробнее о структуре адресов можно узнать на [сайте ФИАС](https://fias.nalog.ru/)).\n\n**Структура справочника** в общем виде выглядит следующим образом:\n\n```xml\n<fias\n path=\"АнкетныеДанные/АдресРегистрации\"\n title=\"Адрес регистрации\"\n searchToAddressLevel=\"room\">\n <fiasfield\n path=\"Регион/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\" Регион географическое название\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"region.name\" />\n </valuesources>\n </fiasfield>\n ...\n <fiasfield path=\"Индекс\" type=\"string\" display=\"false\" description=\"Индекс\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.postalCode\" />\n </valuesources>\n </fiasfield>\n</fias>\n```\n\n### Настройка полей справочника\n\nВ справочнике ФИАС можно настроить поля, которые будут выгружаться в иннер после заполнения справочника, а также отображаться в модалке редактирования адреса.\nКаждое поле задается тегом **< fiasfield >**, внутри которого прописываются источники данных.\nВ качестве атрибутов-настроек поля можно задать:\n\n- **path** - относительный путь в иннере, по которому будет выгружаться значение поля. Например, path=\"Регион/ГеографическоеНазвание\" или path=\"Регион/Сокращение\";\n- **type** - тип данных;\n- **display** - если true, то данное поле будет показано в модалке редактирования адреса;\n- **description** - название поля, которое отображается в модалке.\n\nИсточники данных задаются тегом **< valuesources >**. Внутри перечисляются источники, каждый из которых задается отдельным тегом <valuesource>, внутри которого атрибутами указываются:\n\n- fiasApiPath - это название поля в апи [сервиса ФИАСа](https://api.testkontur.ru/fias/v1.2/addresses/), из которого нужно тянуть данные. [Документация](https://wiki.skbkontur.ru/pages/viewpage.action?pageId=186435051) по сервису ФИАС.\n- convertationMethod:\n - getHouseTypeShortName - получает сокращенное наименование здания,\n - getFlatTypeShortName - получает сокращенное наименование помещения,\n - getRoomTypeShortName - получает сокращенное наименование комнаты,\n - extractRegionCode - получает код региона,\n - getMunicipalDistrictTypeCode - получает код типа муниципального района,\n - getUrbanSettlementTypeCode - получает код типа для поселения,\n - convertAbbreviationToFullName - конвертирует аббревиатуру в адресе в полное наименование,\n - getHouseTypeLongName - получает полное наименование типа здания,\n - getFlatTypeLongName - получает полное наименование типа помещения,\n - getRoomTypeLongName - получает полное наименование типа комнаты,\n - extractOKTMO8Symbols - получает ОКТМО в 8-значном формате.\n- endComma - задается внутри valuesources, если true, то запятая проставляется после значения поля, иначе без запятой, по умолчанию true. Например, \"Республика Татарстан, улица Ленина\" - для поля \"Регион/Сокращение\" = \"Республика\" endComma должно быть равно false, для \"Регион/Наименование\" = \"Татарстан\" должно быть true или не задано.\n\nПример поля в ФИАСе:\n\n```\n<fiasfield path=\"Корпус/Номер\" type=\"string\" display=\"true\" description=\"Корпус номер\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.addNum1\" />\n <valuesource convertationMethod=\"getHouseTypeShortName\" fiasApiPath=\"addType2.addType2\" />\n <valuesource fiasApiPath=\"garhouse.addNum2\" />\n </valuesources>\n</fiasfield>\n```\n\n### Настройки справочника\n\n**division:** значение настройки может быть municipal или administrative, меняет отображение адресов в справочнике в соответствии с территориальным делением: муниципальное, административное.\nПо умолчанию municipal.\n\n**searchToAddressLevel:** уровень, до которого ищутся адресные объекты.\nНапример, если задан уровень до комнаты searchToAddressLevel=room, тогда в результатах поиска у найденных адресов будут отображаться все части адреса до комнаты, если searchToAddressLevel=street, то в адресе будет отображаться улица и всё, что выше неё.\nВ выбранном значении в инпуте тоже будут отображаться только те части адреса, которые соответствуют выбранному уровню.\n\n**withSteads:** включает показ земельных участков в справочнике.\nЕсли значение настройки true, то в справочнике при поиске в списке адресов показываются адреса с зем. участками. Выгрузку в иннер зем. участков и отображение в модалке нужно настраивать отдельно.\n\n**onlyInput:** без этой настройки, если поле со справочником не заполнено, то оно отображается в виде обычного инпута, а когда заполнено, в виде текста со ссылкой \"Редактировать\".\nИногда бывает нужно отображать контрол всегда в состоянии инпута, например, внутри таблицы. Для этого нужно установить onlyInput=true.\n\n### Модальная форма редактирования адреса\n\nВ настоящее время есть 2 реализации данного контрола: с настраиваемой модалкой редактирования адреса и ненастраиваемой модалкой.\n\n#### ФИАС с настраиваемой модалкой\n\nПолностью настраиваемый справочник, где можно конфигурировать поля в иннере и модалке ресурсами.\nПо умолчанию справочник является настраиваемым, т.е. если в ФИАСе не указан тег **< fnsoptions >**/**< mvdoptions >**, то это настраиваемый справочник.\n\nПример настраиваемого справочника:\n\n```xml\n\n<fias\n path=\"АнкетныеДанные/АдресРегистрации\"\n title=\"Адрес регистрации\"\n searchToAddressLevel=\"room\"\n division=\"administrative\"\n pathToFullAddress=\"fullAddress\">\n <fiasfield\n path=\"Регион/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\" Регион географическое название\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"region.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Регион/Сокращение\" type=\"string\" display=\"true\" description=\"Регион сокращение\">\n <valuesources>\n <valuesource fiasApiPath=\"region.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Район/Сокращение\" type=\"string\" display=\"true\" description=\"Район сокращение\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"district.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Район/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Район географическое название\">\n <valuesources>\n <valuesource fiasApiPath=\"district.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Город/Сокращение\" type=\"string\" display=\"true\" description=\"Город сокращение\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"city.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Город/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Город географическое название\">\n <valuesources>\n <valuesource fiasApiPath=\"city.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"НаселенныйПункт/Сокращение\"\n type=\"string\"\n display=\"true\"\n description=\"Населенный пункт сокращение\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"settlement.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"НаселенныйПункт/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Населенный пункт географическое название\">\n <valuesources>\n <valuesource fiasApiPath=\"settlement.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Улица/Сокращение\"\n type=\"string\"\n display=\"true\"\n description=\"Улица сокращение\"\n showInModal=\"false\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"planningstructure.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Улица/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Улица географическое название\"\n showInModal=\"false\">\n <valuesources>\n <valuesource fiasApiPath=\"planningstructure.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Улица/Сокращение\" type=\"string\" display=\"true\" description=\"Улица сокращение\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"street.abbreviation\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"Улица/ГеографическоеНазвание\"\n type=\"string\"\n display=\"true\"\n description=\"Улица географическое название\">\n <valuesources>\n <valuesource fiasApiPath=\"street.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Дом/Сокращение\" type=\"string\" display=\"true\" description=\"Дом сокращение\">\n <valuesources endComma=\"false\">\n <valuesource convertationMethod=\"getHouseTypeShortName\" fiasApiPath=\"garhouse.houseType\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Дом/Номер\" type=\"string\" display=\"true\" description=\"Дом номер\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.houseNum\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Корпус/Сокращение\" type=\"string\" display=\"true\" description=\"Корпус сокращение\">\n <valuesources endComma=\"false\">\n <valuesource convertationMethod=\"getHouseTypeShortName\" fiasApiPath=\"garhouse.addType1\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Корпус/Номер\" type=\"string\" display=\"true\" description=\"Корпус номер\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.addNum1\" />\n <valuesource convertationMethod=\"getHouseTypeShortName\" fiasApiPath=\"addType2.addType2\" />\n <valuesource fiasApiPath=\"garhouse.addNum2\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Квартира/Сокращение\" type=\"string\" display=\"true\" description=\"Квартира сокращение\">\n <valuesources endComma=\"false\">\n <valuesource convertationMethod=\"getFlatTypeShortName\" fiasApiPath=\"room.flatType\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Квартира/Номер\" type=\"string\" display=\"true\" description=\"Квартира номер\">\n <valuesources endComma=\"false\">\n <valuesource fiasApiPath=\"room.flatNumber\" />\n <valuesource convertationMethod=\"getRoomTypeShortName\" fiasApiPath=\"room.roomType\" />\n <valuesource fiasApiPath=\"room.roomNumber\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"Индекс\" type=\"string\" display=\"false\" description=\"Индекс\">\n <valuesources>\n <valuesource fiasApiPath=\"garhouse.postalCode\" />\n </valuesources>\n </fiasfield>\n</fias>\n\n```\n\n#### ФИАС с НЕнастраиваемой модалкой\n\n- подходит для большинства форм ФНС;\n- в модальной форме редактирования адреса набор полей неизменен (его нельзя настроить ресурсами);\n- некоторые поля реализованы в виде выпадающих справочников, набор значений которых также нельзя настроить в ресурсах;\n- количество полей модалки НЕ настраивается, нет возможности задать неограниченное добавление полей. Количество полей фиксированное и соответствует количеству полей, возвращаемых ФИАСом.\n- есть возможность заполнения адреса по введенному guid-у адреса.\n\nДля включения такой модалки внутри ФИАСа должен быть указан тег **< fnsoptions >**/**< mvdoptions >**.\n\nПодробнее про [fnsoptions](https://candy.gitlab-pages.kontur.host/docs/docs/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8B/fnsoptions) и [mvdoptions](https://candy.gitlab-pages.kontur.host/docs/docs/%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8B/mvdoptions)\n\n\n```xml\n<fias path=\"АдрОбъектРФ\" title=\"Адрес\" searchToAddressLevel=\"room\" division=\"municipal\" withSteads=\"true\">\n <fnsoptions abbreviationSize=\"long\" />\n ...\n</fias>\n```\n\nСписок полей в ненастраиваемой модалке:\n\n- Индекс (опциональный)\n- Регион\n- Муниципальный район / округ (Вид + Наименование)\n- Поселение (Вид + Наименование)\n- Населенный пункт (Тип + Наименование)\n- Элемент планировочной структуры (Тип + Наименование)\n- Элемент улично-дорожной сети (Тип + Наименование)\n- Номер земельного участка\n- Номер здания / сооружения (Тип + Наименование): 3 пары Вид+Наименование - Дом, Корпус, Строение\n- Номер помещения / квартиры / машино-места (Тип + Наименование)\n- Помещение в пределах квартиры (Тип + Наименование)\n- Уникальный идентификатор адресного объекта в ГАР\n\nФормат полей и ограничения на ввод данных указаны в [wiki](https://wiki.skbkontur.ru/pages/viewpage.action?pageId=430311482).\n\nДля ФИАСа с НЕнастраиваемой модалкой есть свои настройки:\n\n**withIndex:** включает отображение поля с почтовым индексом. По умолчанию выключен.\n\n**withSteads:** включает показ земельных участков в справочнике.\nЕсли значение настройки true, то:\n\n- в справочнике при поиске в списке адресов показываются адреса с зем. участками;\n- в модалке редактирования адреса появляется поле \"Земельный участок\";\n- значение зем. участка, выбранного в справочнике, засетится по указанному в поле ФИАСа пути.\n По умолчанию показ зем. участков выключен.\n\n**abbreviationSize:** short или long (по умолчанию long). Если short, то аббревиатуры в адресе выгружаются в сокращенном виде. Например, \"ул. Ленина\". При значении long - в не сокращенном, например, \"улица Ленина\".\nНастройка указывается атрибутом в теге fnsoptions/mvdoptions.\nНастройку можно указать только общую для всех полей: нельзя настроить разный вид аббревиатур для каждого поля в отдельности.\n\n**pathToFullAddress:** задает путь, по которому засетится полный адрес (строится как конкатенация значений всех полей ФИАСа).\n\nОстальные настройки такие же, как в настраиваемом ФИАСе.\n\nПример ФИАСа с ненастраиваемой модалкой:\n\n```xml\n<fias path=\"АдрОбъектРФ\" title=\"Адрес\" searchToAddressLevel=\"room\" division=\"municipal\" withSteads=\"true\">\n <childrenoptions childrenInStack=\"2\" path=\"Здание\" />\n <fnsoptions abbreviationSize=\"long\" />\n <fiasfield\n path=\"Регион\"\n type=\"string\"\n display=\"true\"\n description=\"Адрес\"\n convertToShow=\"getRegionNameByCode\">\n <valuesources>\n <valuesource convertationMethod=\"extractRegionCode\" fiasApiPath=\"region.code\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"МуниципРайон/ВидКод\"\n type=\"string\"\n display=\"true\"\n description=\"Адрес\"\n convertToShow=\"getMunicipalDistrictTypeShortName\">\n <valuesources endComma=\"false\">\n <valuesource\n convertationMethod=\"getMunicipalDistrictTypeCode\"\n fiasApiPath=\"municipaldistrict.abbreviation\"\n />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"МуниципРайон/Наим\" type=\"string\" display=\"true\" description=\"Адрес\">\n <valuesources>\n <valuesource fiasApiPath=\"municipaldistrict.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield\n path=\"ГородСелПоселен/ВидКод\"\n type=\"string\"\n display=\"true\"\n description=\"Адрес\"\n convertToShow=\"getUrbanSettlementTypeShortName\">\n <valuesources endComma=\"false\">\n <valuesource\n convertationMethod=\"getUrbanSettlementTypeCode\"\n fiasApiPath=\"urbansettlement.abbreviation\"\n />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"ГородСелПоселен/Наим\" type=\"string\" display=\"true\" description=\"Адрес\">\n <valuesources>\n <valuesource fiasApiPath=\"urbansettlement.name\" />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"НаселенПункт/Вид\" type=\"string\" display=\"true\" description=\"Адрес\">\n <valuesources endComma=\"false\">\n <valuesource\n convertationMethod=\"convertAbbreviationToFullName\"\n fiasApiPath=\"district.abbreviation\"\n />\n </valuesources>\n </fiasfield>\n <fiasfield path=\"НаселенПункт/Наим\" type=\"string\" display=\"true\" description=\"Адрес\">\n <valuesources>\n <valuesource fiasApiPath=\"district.name\" />\n </valuesources>\n </fiasfield>\n ...\n <fiasfield path=\"ИдНом\" type=\"guid\" display=\"true\" description=\"\">\n <valuesources>\n <valuesource />\n </valuesources>\n </fiasfield>\n</fias>\n```\n\n### Валидации в ФИАСе\n\n- справочник ФИАС поддерживает только условные валидации типа error и warning;\n- валидации срабатывают только на основной инпут, появляется красная или оранжевая рамка в соответствии с уровнем ошибки;\n- валидации на полях внутри модальной формы не реализованы и работать не будут.\n\n### Апи ФИАСа\n\nЕсть возможность обращаться к методам и полям справочника ФИАС напрямую, например, из хэлпера или хуков. Это может понадобиться для реализации какого-либо функционала, отсутствующего в контроле.\nДля этого из publicForm нужно вызвать createFiasApiClient.\n\nКакие методы для работы с ФИАСом есть в FiasApi:\n\n- fetchSteadsByTextAndParentFiasId(text: string, parentFiasId: string) - асинхронный, возвращает массив найденных зем. участков - FiasStead[];\n- fetchSuggestAddressesByText(text: string) - асинхронный, возвращает массив найденных адресов со всеми полями - FiasAddressFields[];\n- fetchFullAddressesByFiasId(fiasId: string) - асинхронный, ищет адреса по id, возвращает FiasAddressFields;\n- fetchFlatByParentFiasId(parentFiasId: string, number: string) - асинхронный, для поиска квартир, возвращает FiasFlatRoom;\n- fetchCountriesByName(countryName: string) - асинхронный, находит список стран по имени - FiasCountry[];\n- fetchRegions() - асинхронный, возвращает список регионов - RegionsType\n\nПример:\n```js\nexport default async function ({ publicForm }) {\nconst fiasApi = publicForm.createFiasApiClient();\nconst suggestedAddresses = await fiasApi.fetchSuggestAddressesByText(\"Свердловская обл, г Екатеринбург, ул Малопрудная, д 5\");\n}\n```\nЗдесь вызывается метод fetchSuggestAddressesByText, который по строке адреса возвращает suggestedAddresses - подходящие адреса из апи ФИАСа. Возвращаемое значение - массив адресов, а каждый адрес - структура, содержащая все поля адреса, возвращаемые апи (регион, район и т.д.).\n\n## Отображение виджета\n\nМожно переключить контрол в режим рендера внешнего виджета вместо контрола из движка. Этот кейс нужен Диадоку, но может быть еще где-то пригодится.\n\nЧтобы переключить в режим виджета, нужно добавить ноду:\n```xml\n<adrgaroptions />\n```\nУ нее есть свои настройки, которые влияют на поведение и отображение виджета, см. сгенеренную доку по ноде.\n\nВ режиме виджета поведение контрола может отличаться от стандартного. Например, настройки полей стали лаконичнее:\n```xml\n<fiasfield path=\"Регион\" type=\"string\">\n <valuesources>\n <valuesource convertationMethod=\"extractRegionCode\" fiasApiPath=\"region.data.code\" />\n </valuesources>\n</fiasfield>\n```\nВесь используемый набор атрибутов в примере выше. Остальные настройки игнорируются.\n\nВажный момент с `type=\"guid\"` и `type=\"index\"`. Эти настройки отвечают за валидное сохранение почтового индекса адреса и `fiasId`.\n\n### Валидация\n\nПоскольку на виджете у нас нет возможности добраться до валидации внутри модалки, нужно навешивать ошибки валидации на корневой элемент.\n";
|
|
156119
156191
|
|
|
156120
156192
|
/***/ }),
|
|
156121
156193
|
|