@kontur.candy/generator 5.116.0-fs-9118-contractors-widget.0 → 5.117.0-gosedo-loader.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 +172 -95
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -94331,6 +94331,8 @@ BindingPath: ${errorPath}`));
|
|
|
94331
94331
|
sidebarBuilder.prop(x => x.className).set(node.className);
|
|
94332
94332
|
for (const row of node.rows) {
|
|
94333
94333
|
if ((0,_StickyTableNode__WEBPACK_IMPORTED_MODULE_17__.isMultilineNode)(row)) {
|
|
94334
|
+
// Возможно, стоит запретить этот вариант, т.к. он вырывает из мультилайна ячейки,
|
|
94335
|
+
// не оборачивая в необходимые контексты
|
|
94334
94336
|
sidebarBuilder.appendChild(this.getSidebarMultiline(context, node, row, end));
|
|
94335
94337
|
} else {
|
|
94336
94338
|
const multiline = row.columns.find(_StickyTableNode__WEBPACK_IMPORTED_MODULE_17__.isMultilineNode);
|
|
@@ -97024,7 +97026,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
97024
97026
|
/* harmony import */ var _getBindingPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../getBindingPath */ "./Generator/src/generators/markupGenerator/getBindingPath.ts");
|
|
97025
97027
|
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
97026
97028
|
/* harmony import */ var _Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Typography/Icon/GetIconName */ "./Generator/src/generators/markupGenerator/ElementProcessors/Typography/Icon/GetIconName.ts");
|
|
97027
|
-
/* harmony import */ var
|
|
97029
|
+
/* harmony import */ var _binding__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../binding */ "./Generator/src/generators/markupGenerator/binding.ts");
|
|
97030
|
+
/* harmony import */ var _common_XmlParser_XmlNode__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../common/XmlParser/XmlNode */ "./Generator/src/common/XmlParser/XmlNode.ts");
|
|
97031
|
+
/* harmony import */ var _ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ComboBoxNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Combobox/ComboBoxNode.ts");
|
|
97032
|
+
|
|
97033
|
+
|
|
97028
97034
|
|
|
97029
97035
|
|
|
97030
97036
|
|
|
@@ -97036,35 +97042,38 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
97036
97042
|
|
|
97037
97043
|
class ComboBoxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__.SugarNodeConverterBase {
|
|
97038
97044
|
static getAcceptNodeClass() {
|
|
97039
|
-
return
|
|
97045
|
+
return _ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode;
|
|
97040
97046
|
}
|
|
97041
97047
|
doBuildNodeValidations(validationGenerator) {
|
|
97042
|
-
const node = this.getCurrentNodeAs(
|
|
97048
|
+
const node = this.getCurrentNodeAs(_ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode);
|
|
97043
97049
|
validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), node.gId, node.validationInfo.emptydescription, undefined);
|
|
97044
97050
|
}
|
|
97045
97051
|
doGetRequisites() {
|
|
97046
|
-
const node = this.getCurrentNodeAs(
|
|
97052
|
+
const node = this.getCurrentNodeAs(_ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode);
|
|
97047
97053
|
return (0,_RequisiteLIst_requisiteList__WEBPACK_IMPORTED_MODULE_0__.getRequisitesFromEvaluableProps)(node.filter, node.mostLikelyFilter, node.emptyValueFilter);
|
|
97048
97054
|
}
|
|
97049
97055
|
get nodePaths() {
|
|
97050
|
-
|
|
97051
|
-
|
|
97056
|
+
var _node$binding$map, _node$binding;
|
|
97057
|
+
const node = this.getCurrentNodeAs(_ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode);
|
|
97058
|
+
const paths = (_node$binding$map = (_node$binding = node.binding) === null || _node$binding === void 0 ? void 0 : _node$binding.map(([path]) => (0,_getBindingPath__WEBPACK_IMPORTED_MODULE_5__.getNewRelativePathExpression)(node, path))) !== null && _node$binding$map !== void 0 ? _node$binding$map : [];
|
|
97059
|
+
paths.push((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_5__.getNewBindingPathExpression)(node));
|
|
97060
|
+
return paths;
|
|
97052
97061
|
}
|
|
97053
97062
|
doBuildDataDeclaration(context) {
|
|
97054
|
-
const node = this.getCurrentNodeAs(
|
|
97063
|
+
const node = this.getCurrentNodeAs(_ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode);
|
|
97055
97064
|
return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, node.disabled)], node.auto ? ["autoFlag", context.initSequenceFactory.takeFromModel()] : undefined, node.auto ? ["autoValue", context.initSequenceFactory.takeFromModelOrDefaultValue(node.dataBinding.defaultValue)] : undefined]), context.addSpecialFieldsEntry(node, {
|
|
97056
97065
|
optional: node.dataBinding.optional,
|
|
97057
97066
|
disabled: node.disabled
|
|
97058
97067
|
}), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
|
|
97059
97068
|
}
|
|
97060
97069
|
doBuildNormalizeRules(builder) {
|
|
97061
|
-
const node = this.getCurrentNodeAs(
|
|
97070
|
+
const node = this.getCurrentNodeAs(_ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode);
|
|
97062
97071
|
return [builder.valueInitializer(node, node.dataBinding, node.disabled), ...builder.specialFieldsInitializer(node, {
|
|
97063
97072
|
disabled: node.disabled
|
|
97064
97073
|
})];
|
|
97065
97074
|
}
|
|
97066
97075
|
*doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
|
|
97067
|
-
const node = this.getCurrentNodeAs(
|
|
97076
|
+
const node = this.getCurrentNodeAs(_ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode);
|
|
97068
97077
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
97069
97078
|
const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_6__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_6__.PathTokens.each);
|
|
97070
97079
|
const typeNode = buildContext.getTypeNode(node.validationInfo);
|
|
@@ -97076,15 +97085,15 @@ class ComboBoxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__
|
|
|
97076
97085
|
yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional, node.gId, node.validationInfo.emptydescription);
|
|
97077
97086
|
}
|
|
97078
97087
|
buildChildrenDataDeclaration(context) {
|
|
97079
|
-
const node = this.getCurrentNodeAs(
|
|
97088
|
+
const node = this.getCurrentNodeAs(_ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode);
|
|
97080
97089
|
return context.processChildrenDataDeclaration(node.helpNodes);
|
|
97081
97090
|
}
|
|
97082
97091
|
*doTraverseChildren() {
|
|
97083
|
-
const node = this.getCurrentNodeAs(
|
|
97092
|
+
const node = this.getCurrentNodeAs(_ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode);
|
|
97084
97093
|
yield* node.helpNodes;
|
|
97085
97094
|
}
|
|
97086
97095
|
doConvert(context) {
|
|
97087
|
-
const node = this.getCurrentNodeAs(
|
|
97096
|
+
const node = this.getCurrentNodeAs(_ComboBoxNode__WEBPACK_IMPORTED_MODULE_10__.ComboBoxNode);
|
|
97088
97097
|
this.ensurePathExists(node, node.dataBinding.path);
|
|
97089
97098
|
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_1__.componentMarkupBuilder)("ComboBox");
|
|
97090
97099
|
markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_5__.getNewBindingPathExpression)(node));
|
|
@@ -97101,6 +97110,21 @@ class ComboBoxConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__
|
|
|
97101
97110
|
markupBuilder.prop(x => x.valueToSaveColumnName).set(node.valueToSaveColumnName);
|
|
97102
97111
|
markupBuilder.prop(x => x.isEnableCaseIndependentValidation).set(node.isEnableCaseIndependentValidation);
|
|
97103
97112
|
markupBuilder.prop(x => x.greyPicklistValues).set(node.greyPicklistValues);
|
|
97113
|
+
const binding = node.binding;
|
|
97114
|
+
if (binding) {
|
|
97115
|
+
markupBuilder.prop(x => x.mapChangesField).set(binding.map(([_path, field]) => (0,_binding__WEBPACK_IMPORTED_MODULE_8__.getBindingSourceField)(field)));
|
|
97116
|
+
const dependencies = binding === null || binding === void 0 ? void 0 : binding.map(([path, field]) => ({
|
|
97117
|
+
path: (0,_getBindingPath__WEBPACK_IMPORTED_MODULE_5__.getNewRelativePathExpression)(node, path),
|
|
97118
|
+
field: (0,_binding__WEBPACK_IMPORTED_MODULE_8__.getBindingSourceField)(field),
|
|
97119
|
+
value: (0,_binding__WEBPACK_IMPORTED_MODULE_8__.getBindingSourceValue)(field)
|
|
97120
|
+
}));
|
|
97121
|
+
markupBuilder.prop(x => x.dependencies).set(dependencies);
|
|
97122
|
+
const nodePath = this.getLegacyNode().attrAsStringStrict("path");
|
|
97123
|
+
const bindingForCurrentPath = binding.find(([path, _field]) => path === nodePath);
|
|
97124
|
+
if (bindingForCurrentPath == undefined) {
|
|
97125
|
+
throw new _common_XmlParser_XmlNode__WEBPACK_IMPORTED_MODULE_9__.SugarAttributeReadError("Значение пути в атрибуте binding должно в точности совпадать со значнием в path", node, "binding");
|
|
97126
|
+
}
|
|
97127
|
+
}
|
|
97104
97128
|
const reference = (0,_Select_PicklistReference__WEBPACK_IMPORTED_MODULE_3__.extractPicklistReference)(node);
|
|
97105
97129
|
if (reference != undefined && reference.type === _Select_PicklistReference__WEBPACK_IMPORTED_MODULE_3__.PicklistReferenceType.GlobalPicklist) {
|
|
97106
97130
|
markupBuilder.prop(x => x.gId).set(reference.id);
|
|
@@ -97212,7 +97236,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
97212
97236
|
|
|
97213
97237
|
|
|
97214
97238
|
|
|
97215
|
-
var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor, _descriptor2, _descriptor3, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _dec26, _dec27, _dec28, _dec29, _dec30, _dec31, _dec32, _dec33, _dec34, _dec35, _dec36, _dec37, _dec38, _dec39, _dec40, _dec41, _dec42, _dec43, _dec44, _dec45, _dec46, _dec47, _dec48, _dec49, _dec50, _dec51, _dec52, _dec53, _dec54, _class3, _class4, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29, _descriptor30, _descriptor31, _descriptor32, _descriptor33, _descriptor34, _descriptor35, _descriptor36, _descriptor37, _descriptor38, _descriptor39, _descriptor40, _descriptor41, _descriptor42, _descriptor43, _descriptor44, _descriptor45, _descriptor46, _descriptor47, _descriptor48, _descriptor49, _descriptor50, _descriptor51, _descriptor52;
|
|
97239
|
+
var _dec, _dec2, _dec3, _dec4, _class, _class2, _descriptor, _descriptor2, _descriptor3, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _dec26, _dec27, _dec28, _dec29, _dec30, _dec31, _dec32, _dec33, _dec34, _dec35, _dec36, _dec37, _dec38, _dec39, _dec40, _dec41, _dec42, _dec43, _dec44, _dec45, _dec46, _dec47, _dec48, _dec49, _dec50, _dec51, _dec52, _dec53, _dec54, _dec55, _class3, _class4, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29, _descriptor30, _descriptor31, _descriptor32, _descriptor33, _descriptor34, _descriptor35, _descriptor36, _descriptor37, _descriptor38, _descriptor39, _descriptor40, _descriptor41, _descriptor42, _descriptor43, _descriptor44, _descriptor45, _descriptor46, _descriptor47, _descriptor48, _descriptor49, _descriptor50, _descriptor51, _descriptor52, _descriptor53;
|
|
97216
97240
|
|
|
97217
97241
|
|
|
97218
97242
|
|
|
@@ -97251,7 +97275,7 @@ let ComboboxEnumerationItem = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IM
|
|
|
97251
97275
|
let ComboBoxNode = (_dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.sugarNode)("combobox", `Комбобокс`, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Combobox sync recursive .md$")), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_5__.ValidationInfoNode), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrMixin)(_CommonNodeProperties_DataBindingMixinNode__WEBPACK_IMPORTED_MODULE_4__.DataBindingMixinNode), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("disabled2", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.javascriptExpression, `${(0,_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_11__.docLink)(_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_11__.javaScriptExpressionLink)} для условного задизейбливания контрола`), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, "Возможность установки произвольных data-tid атрибутов, может пригодиться другим командам, или для идентификации элемента в тестах"), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrMixin)(_CommonNodeProperties_TooltipProperties_TooltipSettingsNode__WEBPACK_IMPORTED_MODULE_10__.TooltipSettingsNode), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrMixin)(_CommonNodeProperties_FocusManagementNode__WEBPACK_IMPORTED_MODULE_12__.FocusManagementNode), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.deprecatedAttr)("maxLength", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_6__.DeprecationReason.InvalidUsage), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.deprecatedAttr)("caption", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_6__.DeprecationReason.InvalidUsage), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.deprecatedAttr)("openbutton", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_6__.DeprecationReason.InvalidUsage), _dec15 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.deprecatedAttr)("rngAttribute", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_6__.DeprecationReason.InvalidUsage), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.deprecatedAttr)("kind", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_6__.DeprecationReason.InvalidUsage), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.deprecatedAttr)("title", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_6__.DeprecationReason.InvalidUsage), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.deprecatedAttr)("useIncorrectValue", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_6__.DeprecationReason.Typo), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.deprecatedAttr)("controlVersion", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_6__.DeprecationReason.Removed), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("type", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.typeName, "Тип для валидации значений"), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.singleChild)("type", [_validationGenerator_Nodes_TypeNode__WEBPACK_IMPORTED_MODULE_3__.TypeNode]), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("gId", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, `Глобальный идентификатор справочника`), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("limit", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.number, `Количество значений в выпадающем списке`), _dec24 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("display", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, `В каком виде отобразится выбранное значение в инпуте: значение/название/полностью (value/name/item).
|
|
97252
97276
|
Также можно отображать кастомные колонки по названию.`), _dec25 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("disabled", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.boolean, ``), _dec26 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("greyPicklistValues", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.boolean, `Красить значения в выпадашке пиклиста в серый цвет`), _dec27 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("displayItem", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.enum("value", "name"), `В каком виде отобразится занчение в списке: значение/название`), _dec28 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("gPath", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, ``), _dec29 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("gPaths", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.delimitedStringArray, ``), _dec30 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("savedescription", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.boolean, ``), _dec31 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("useincorrectvalue", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.boolean, `Для валидации введенного значения. если false - то только из справочника должно быть значение`), _dec32 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("placeholder", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.localizedString.default("Начните вводить код или название"), `Когда в input-e пусто, то рисуется этот текст`), _dec33 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("width", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.lengthUnit, ``), _dec34 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("menuAlign", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.enum("left", "right"), `Определяет, в какую сторону будет открываться выпадающий список. Значения: \`left\`, \`right\`. Значение по умолчанию: \`left\``), _dec35 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("filter", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.javascriptExpression, ``), _dec36 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("mostLikelyFilter", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.javascriptExpression, `Фильтр для популярных значений`), _dec37 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("mostLikelyCaption", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, `Подпись для раздела с популярными значениями`), _dec38 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("notFoundText", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, `Надпись при отсутствии значений по фильтру`), _dec39 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("keyColumnName", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, `Поле дает возможность указать произвольное значение из объекта пиклиста, вместо дефолтного \`code\`, данный ключ будет выведен в первой колонке комбобокса`), _dec40 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("valueColumnName", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, `Поле дает возможность указать произвольное значение из объекта пиклиста, вместо дефолтного \`value\`, данный ключ будет выведен во второй колонке комбобокса`), _dec41 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("searchcolumnnames", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.stringArray, `Поля справочника, используемые для поиска`), _dec42 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("valueToSaveColumnName", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, `Название колонки, значение из которой хотим сохранить в иннере`), _dec43 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("emptyValueFilter", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.javascriptExpression, `Фильтр показываемые поля, если вводимое значение пусто`), _dec44 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("help", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, ``), _dec45 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.children)("enumeration", [ComboboxEnumerationItem]), _dec46 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.children)("help", [_Helpers_Help_HelpNode__WEBPACK_IMPORTED_MODULE_9__.HelpNode]), _dec47 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("auto", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.boolean, "Подключен авторасчет"), _dec48 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.markupAttr)("formula", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, "Подсказка для автозначения"), _dec49 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("autoValue", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, "Значение авторасчета. Код, элемент которого будет показываться как автозначение. Использовать в тестах, заменяет получение из калькуляций."), _dec50 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("useAutoIcon", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.string, "Какую иконку использовать при использовании авторасчета (работает только с auto = true). Имя иконки смотреть тут - https://ui.gitlab-pages.kontur.host/docs/#/react-icons"), _dec51 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("isEnableCaseIndependentValidation", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.boolean, `Включить регистронезависимую валидацию. Если написан этот атрибут, то в type надо дописать isCaseIndependentValid=true.`), _dec52 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("callHelperOnBlur", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.helperFunctionName, "Вызов helper функции на onBlur контролла"), _dec53 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("callHelperOnChange", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.helperFunctionName, "Вызов helper функции на onChange контролла"), _dec54 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("filterCallback", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.helperFunctionName, `Helper-функция, которая фильтрует массив элементов. Принимает массив args (третий аргумент в хелпере), должна сделать return массива с таким же контрактом.
|
|
97253
97277
|
При использовании нужно установить максимальный limit, т.к. ответственность за работу с массивом передается коллбэку.
|
|
97254
|
-
Также может некорректно работать mostLikelyFilter.`), _dec5(_class3 = (_class4 = class ComboBoxNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_7__.SugarNodeWithLegacyVisibility {
|
|
97278
|
+
Также может некорректно работать mostLikelyFilter.`), _dec55 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attr)("binding", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_8__.attrType.objectLiteral(), `Связывание значения из справочника с полем (полями) в модели кенди (иннере).`), _dec5(_class3 = (_class4 = class ComboBoxNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_7__.SugarNodeWithLegacyVisibility {
|
|
97255
97279
|
constructor(...args) {
|
|
97256
97280
|
super(...args);
|
|
97257
97281
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "validationInfo", _descriptor4, this);
|
|
@@ -97303,6 +97327,7 @@ let ComboBoxNode = (_dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MOD
|
|
|
97303
97327
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "callHelperOnBlur", _descriptor50, this);
|
|
97304
97328
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "callHelperOnChange", _descriptor51, this);
|
|
97305
97329
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "filterCallback", _descriptor52, this);
|
|
97330
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "binding", _descriptor53, this);
|
|
97306
97331
|
}
|
|
97307
97332
|
getOwnPath() {
|
|
97308
97333
|
return this.dataBinding.getOwnPath();
|
|
@@ -97555,6 +97580,11 @@ let ComboBoxNode = (_dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MOD
|
|
|
97555
97580
|
enumerable: true,
|
|
97556
97581
|
writable: true,
|
|
97557
97582
|
initializer: null
|
|
97583
|
+
}), _descriptor53 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class4.prototype, "binding", [_dec55], {
|
|
97584
|
+
configurable: true,
|
|
97585
|
+
enumerable: true,
|
|
97586
|
+
writable: true,
|
|
97587
|
+
initializer: null
|
|
97558
97588
|
}), _class4)) || _class3);
|
|
97559
97589
|
|
|
97560
97590
|
/***/ }),
|
|
@@ -99056,6 +99086,8 @@ class FileLoaderConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_4
|
|
|
99056
99086
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
99057
99087
|
mb.prop(x => x.totalSize).set(attachmentType.totalSize);
|
|
99058
99088
|
mb.prop(x => x.width).set(node.width);
|
|
99089
|
+
mb.prop(x => x.downloadable).set(node.downloadable);
|
|
99090
|
+
mb.prop(x => x.withGosEdoConversion).set(node.withGosEdoConversion);
|
|
99059
99091
|
if (node.viewFile) {
|
|
99060
99092
|
const viewFileBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_3__.componentMarkupBuilder)("FileLoader", "FileLoader.ViewFile");
|
|
99061
99093
|
if (node.viewFile && node.viewFile.removeButton) {
|
|
@@ -99160,7 +99192,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
99160
99192
|
|
|
99161
99193
|
|
|
99162
99194
|
|
|
99163
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9;
|
|
99195
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11;
|
|
99164
99196
|
|
|
99165
99197
|
|
|
99166
99198
|
|
|
@@ -99169,7 +99201,7 @@ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class
|
|
|
99169
99201
|
|
|
99170
99202
|
|
|
99171
99203
|
|
|
99172
|
-
let FileLoaderNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.sugarNode)("fileloader", `Загрузка файлов в форму`, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/FileLoader sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("type", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.typeName, "Тип для валидации значений"), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Относительный путь по которому будут храниться аттачменты. Указывается относительно каталога sugar`), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("width", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.number, `Ширина контрола`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("single", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.boolean.default(false), `Подразумевает возможность загрузить только 1 файл`), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.deprecatedAttr)("multiple", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_8__.DeprecationReason.Removed), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.singleChild)("viewfile", [_FileLoader_ViewFileNode__WEBPACK_IMPORTED_MODULE_10__.ViewFileNode]), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.singleChild)("menu", [_FileLoader_MenuNode__WEBPACK_IMPORTED_MODULE_9__.MenuNode]), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.singleChild)("type", [_validationGenerator_Nodes_TypeNode__WEBPACK_IMPORTED_MODULE_3__.TypeNode]), _dec(_class = (_class2 = class FileLoaderNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_5__.SugarNodeWithLegacyVisibility {
|
|
99204
|
+
let FileLoaderNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.sugarNode)("fileloader", `Загрузка файлов в форму`, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/FileLoader sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("type", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.typeName, "Тип для валидации значений"), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.string, `Относительный путь по которому будут храниться аттачменты. Указывается относительно каталога sugar`), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("width", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.number, `Ширина контрола`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("single", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.boolean.default(false), `Подразумевает возможность загрузить только 1 файл`), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.deprecatedAttr)("multiple", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_8__.DeprecationReason.Removed), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.singleChild)("viewfile", [_FileLoader_ViewFileNode__WEBPACK_IMPORTED_MODULE_10__.ViewFileNode]), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.singleChild)("menu", [_FileLoader_MenuNode__WEBPACK_IMPORTED_MODULE_9__.MenuNode]), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.singleChild)("type", [_validationGenerator_Nodes_TypeNode__WEBPACK_IMPORTED_MODULE_3__.TypeNode]), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("downloadable", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.boolean.default(false), "Возможность скачать загруженный файл"), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attr)("withGosEdoConversion", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_6__.attrType.boolean.default(false), "Конвертация приложения ГосЭдо в PDF 1.4"), _dec(_class = (_class2 = class FileLoaderNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_5__.SugarNodeWithLegacyVisibility {
|
|
99173
99205
|
constructor(...args) {
|
|
99174
99206
|
super(...args);
|
|
99175
99207
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "validationInfo", _descriptor, this);
|
|
@@ -99181,6 +99213,8 @@ let FileLoaderNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MO
|
|
|
99181
99213
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "viewFile", _descriptor7, this);
|
|
99182
99214
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "menu", _descriptor8, this);
|
|
99183
99215
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "anonymousType", _descriptor9, this);
|
|
99216
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "downloadable", _descriptor10, this);
|
|
99217
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "withGosEdoConversion", _descriptor11, this);
|
|
99184
99218
|
}
|
|
99185
99219
|
getOwnPath() {
|
|
99186
99220
|
return this.path != undefined ? (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_7__.createFromMask)(this.path, "auto", _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_7__.PathTokens.each) : undefined;
|
|
@@ -99230,6 +99264,16 @@ let FileLoaderNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MO
|
|
|
99230
99264
|
enumerable: true,
|
|
99231
99265
|
writable: true,
|
|
99232
99266
|
initializer: null
|
|
99267
|
+
}), _descriptor10 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "downloadable", [_dec11], {
|
|
99268
|
+
configurable: true,
|
|
99269
|
+
enumerable: true,
|
|
99270
|
+
writable: true,
|
|
99271
|
+
initializer: null
|
|
99272
|
+
}), _descriptor11 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "withGosEdoConversion", [_dec12], {
|
|
99273
|
+
configurable: true,
|
|
99274
|
+
enumerable: true,
|
|
99275
|
+
writable: true,
|
|
99276
|
+
initializer: null
|
|
99233
99277
|
}), _class2)) || _class);
|
|
99234
99278
|
|
|
99235
99279
|
/***/ }),
|
|
@@ -100455,7 +100499,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
100455
100499
|
/* harmony import */ var _Select_PicklistReference__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Select/PicklistReference */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Select/PicklistReference.ts");
|
|
100456
100500
|
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
100457
100501
|
/* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
|
|
100458
|
-
/* harmony import */ var
|
|
100502
|
+
/* harmony import */ var _binding__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../binding */ "./Generator/src/generators/markupGenerator/binding.ts");
|
|
100503
|
+
/* harmony import */ var _PicklistNode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PicklistNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Picklist/PicklistNode.ts");
|
|
100504
|
+
|
|
100459
100505
|
|
|
100460
100506
|
|
|
100461
100507
|
|
|
@@ -100466,10 +100512,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
100466
100512
|
|
|
100467
100513
|
class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__.SugarNodeConverterBase {
|
|
100468
100514
|
static getAcceptNodeClass() {
|
|
100469
|
-
return
|
|
100515
|
+
return _PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode;
|
|
100470
100516
|
}
|
|
100471
100517
|
*doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
|
|
100472
|
-
const node = this.getCurrentNodeAs(
|
|
100518
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100473
100519
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
100474
100520
|
const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__.PathTokens.each);
|
|
100475
100521
|
const typeNode = buildContext.getTypeNode(node.validationInfo);
|
|
@@ -100482,12 +100528,12 @@ class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__
|
|
|
100482
100528
|
yield* buildContext.buildBasicValidations(ownPathFixed, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional, node.gId);
|
|
100483
100529
|
}
|
|
100484
100530
|
doBuildNodeValidations(validationGenerator) {
|
|
100485
|
-
const node = this.getCurrentNodeAs(
|
|
100531
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100486
100532
|
validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), node.gId, node.validationInfo.emptydescription, undefined);
|
|
100487
100533
|
}
|
|
100488
100534
|
*doBuildNormalizeRules(builder, formSchemaRng) {
|
|
100489
100535
|
var _ref;
|
|
100490
|
-
const node = this.getCurrentNodeAs(
|
|
100536
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100491
100537
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
100492
100538
|
yield builder.valueInitializer(node, node.dataBinding, false);
|
|
100493
100539
|
const isOptional = (_ref = node.dataBinding.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.dataBinding.optional) !== null && _ref !== void 0 ? _ref : false;
|
|
@@ -100498,29 +100544,29 @@ class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__
|
|
|
100498
100544
|
}
|
|
100499
100545
|
doBuildDataDeclaration(context) {
|
|
100500
100546
|
var _node$dataBinding$opt;
|
|
100501
|
-
const node = this.getCurrentNodeAs(
|
|
100547
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100502
100548
|
return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false)]]), context.addSpecialFieldsEntry(node, {
|
|
100503
100549
|
optional: node.dataBinding.optional
|
|
100504
100550
|
}), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite), context.addChildrenPathDeclEntry(node, node.dataBinding.path, (_node$dataBinding$opt = node.dataBinding.optional) !== null && _node$dataBinding$opt !== void 0 ? _node$dataBinding$opt : false, node.dataBinding.requisite));
|
|
100505
100551
|
}
|
|
100506
100552
|
get nodePaths() {
|
|
100507
100553
|
var _node$binding$map, _node$binding;
|
|
100508
|
-
const node = this.getCurrentNodeAs(
|
|
100554
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100509
100555
|
const paths = (_node$binding$map = (_node$binding = node.binding) === null || _node$binding === void 0 ? void 0 : _node$binding.map(([path]) => (0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewRelativePathExpression)(node, path))) !== null && _node$binding$map !== void 0 ? _node$binding$map : [];
|
|
100510
100556
|
paths.push((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewBindingPathExpression)(node));
|
|
100511
100557
|
return paths;
|
|
100512
100558
|
}
|
|
100513
100559
|
buildChildrenDataDeclaration(context) {
|
|
100514
|
-
const node = this.getCurrentNodeAs(
|
|
100560
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100515
100561
|
return context.processChildrenDataDeclaration(node.helpNodes);
|
|
100516
100562
|
}
|
|
100517
100563
|
*doTraverseChildren() {
|
|
100518
|
-
const node = this.getCurrentNodeAs(
|
|
100564
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100519
100565
|
yield* node.helpNodes;
|
|
100520
100566
|
}
|
|
100521
100567
|
doConvert(context) {
|
|
100522
100568
|
var _node$descriptionInMo;
|
|
100523
|
-
const node = this.getCurrentNodeAs(
|
|
100569
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100524
100570
|
this.ensurePathExists(node, node.dataBinding.path);
|
|
100525
100571
|
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("Picklist");
|
|
100526
100572
|
markupBuilder.prop(x => x.limit).set(node.limit);
|
|
@@ -100561,18 +100607,18 @@ class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__
|
|
|
100561
100607
|
}
|
|
100562
100608
|
const nodePath = this.getLegacyNode().attrAsStringStrict("path");
|
|
100563
100609
|
const binding = node.binding || [[nodePath, "code"]];
|
|
100564
|
-
markupBuilder.prop(x => x.mapChangesField).set(binding.map(([_path, field]) =>
|
|
100610
|
+
markupBuilder.prop(x => x.mapChangesField).set(binding.map(([_path, field]) => (0,_binding__WEBPACK_IMPORTED_MODULE_7__.getBindingSourceField)(field)));
|
|
100565
100611
|
const bindingForCurrentPath = binding.find(([path, _field]) => path === nodePath);
|
|
100566
100612
|
if (bindingForCurrentPath == undefined) {
|
|
100567
100613
|
throw new _common_XmlParser_XmlNode__WEBPACK_IMPORTED_MODULE_0__.SugarAttributeReadError("Значение пути в атрибуте binding должно в точности совпадать со значнием в path", node, "binding");
|
|
100568
100614
|
}
|
|
100569
100615
|
const searchByField = bindingForCurrentPath[1];
|
|
100570
|
-
markupBuilder.prop(x => x.searchByField).set(
|
|
100616
|
+
markupBuilder.prop(x => x.searchByField).set((0,_binding__WEBPACK_IMPORTED_MODULE_7__.getBindingSourceField)(searchByField));
|
|
100571
100617
|
markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewBindingPathExpression)(node));
|
|
100572
|
-
const dependencies = binding.map(([path, field]) => ({
|
|
100618
|
+
const dependencies = binding === null || binding === void 0 ? void 0 : binding.map(([path, field]) => ({
|
|
100573
100619
|
path: (0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewRelativePathExpression)(node, path),
|
|
100574
|
-
field:
|
|
100575
|
-
value:
|
|
100620
|
+
field: (0,_binding__WEBPACK_IMPORTED_MODULE_7__.getBindingSourceField)(field),
|
|
100621
|
+
value: (0,_binding__WEBPACK_IMPORTED_MODULE_7__.getBindingSourceValue)(field)
|
|
100576
100622
|
}));
|
|
100577
100623
|
markupBuilder.prop(x => x.dependencies).set(dependencies);
|
|
100578
100624
|
if (node.kind === "group") {
|
|
@@ -100596,15 +100642,6 @@ class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__
|
|
|
100596
100642
|
}
|
|
100597
100643
|
return markupBuilder.buildConverterResultWithHelp(node, context);
|
|
100598
100644
|
}
|
|
100599
|
-
getBindingSourceField(x) {
|
|
100600
|
-
return typeof x === "string" ? x : x.field;
|
|
100601
|
-
}
|
|
100602
|
-
getBindingSourceValue(x) {
|
|
100603
|
-
if (typeof x === "string" || x.value == undefined) {
|
|
100604
|
-
return "value";
|
|
100605
|
-
}
|
|
100606
|
-
return x.value;
|
|
100607
|
-
}
|
|
100608
100645
|
}
|
|
100609
100646
|
|
|
100610
100647
|
/***/ }),
|
|
@@ -102846,7 +102883,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
102846
102883
|
/* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
|
|
102847
102884
|
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
102848
102885
|
/* harmony import */ var _common_XmlParser_XmlNode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../common/XmlParser/XmlNode */ "./Generator/src/common/XmlParser/XmlNode.ts");
|
|
102849
|
-
/* harmony import */ var
|
|
102886
|
+
/* harmony import */ var _binding__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../binding */ "./Generator/src/generators/markupGenerator/binding.ts");
|
|
102887
|
+
/* harmony import */ var _TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TreePicklistNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/TreePicklist/TreePicklistNode.ts");
|
|
102888
|
+
|
|
102850
102889
|
|
|
102851
102890
|
|
|
102852
102891
|
|
|
@@ -102855,10 +102894,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
102855
102894
|
|
|
102856
102895
|
class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__.SugarNodeConverterBase {
|
|
102857
102896
|
static getAcceptNodeClass() {
|
|
102858
|
-
return
|
|
102897
|
+
return _TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode;
|
|
102859
102898
|
}
|
|
102860
102899
|
doBuildFLangValidations(buildContext, formSchemaRng) {
|
|
102861
|
-
const node = this.getCurrentNodeAs(
|
|
102900
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102862
102901
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
102863
102902
|
const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.PathTokens.each);
|
|
102864
102903
|
const typeNode = buildContext.getTypeNode(node.validationInfo);
|
|
@@ -102869,12 +102908,12 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102869
102908
|
return buildContext.buildBasicValidations(targetPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional, undefined, node.gId);
|
|
102870
102909
|
}
|
|
102871
102910
|
doBuildNodeValidations(validationGenerator) {
|
|
102872
|
-
const node = this.getCurrentNodeAs(
|
|
102911
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102873
102912
|
validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), node.gId, node.validationInfo.emptydescription, undefined);
|
|
102874
102913
|
}
|
|
102875
102914
|
*doBuildNormalizeRules(builder, formSchemaRng) {
|
|
102876
102915
|
var _ref;
|
|
102877
|
-
const node = this.getCurrentNodeAs(
|
|
102916
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102878
102917
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
102879
102918
|
yield builder.valueInitializer(node, node.dataBinding, false);
|
|
102880
102919
|
const isOptional = (_ref = node.dataBinding.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.dataBinding.optional) !== null && _ref !== void 0 ? _ref : false;
|
|
@@ -102885,26 +102924,26 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102885
102924
|
}
|
|
102886
102925
|
doBuildDataDeclaration(context) {
|
|
102887
102926
|
var _node$dataBinding$opt;
|
|
102888
|
-
const node = this.getCurrentNodeAs(
|
|
102927
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102889
102928
|
return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false)]]), context.addSpecialFieldsEntry(node, {
|
|
102890
102929
|
optional: node.dataBinding.optional
|
|
102891
102930
|
}), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite), context.addChildrenPathDeclEntry(node, node.dataBinding.path, (_node$dataBinding$opt = node.dataBinding.optional) !== null && _node$dataBinding$opt !== void 0 ? _node$dataBinding$opt : false, node.dataBinding.requisite));
|
|
102892
102931
|
}
|
|
102893
102932
|
get nodePaths() {
|
|
102894
|
-
const node = this.getCurrentNodeAs(
|
|
102933
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102895
102934
|
return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_0__.getNewBindingPathExpression)(node)];
|
|
102896
102935
|
}
|
|
102897
102936
|
buildChildrenDataDeclaration(context) {
|
|
102898
|
-
const node = this.getCurrentNodeAs(
|
|
102937
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102899
102938
|
return context.processChildrenDataDeclaration(node.helpNodes);
|
|
102900
102939
|
}
|
|
102901
102940
|
*doTraverseChildren() {
|
|
102902
|
-
const node = this.getCurrentNodeAs(
|
|
102941
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102903
102942
|
yield* node.helpNodes;
|
|
102904
102943
|
}
|
|
102905
102944
|
doConvert(context) {
|
|
102906
102945
|
var _node$descriptionInMo, _node$title, _node$width, _node$fields, _node$display, _node$childColumnName, _node$parentColumnNam, _node$tooltipPosition;
|
|
102907
|
-
const node = this.getCurrentNodeAs(
|
|
102946
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102908
102947
|
this.ensurePathExists(node, node.dataBinding.path);
|
|
102909
102948
|
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_1__.componentMarkupBuilder)("TreePicklist");
|
|
102910
102949
|
markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_0__.getNewBindingPathExpression)(node));
|
|
@@ -102912,10 +102951,10 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102912
102951
|
const binding = node.binding || [[nodePath, "code"]];
|
|
102913
102952
|
const dependencies = binding.map(([path, field]) => ({
|
|
102914
102953
|
path: (0,_getBindingPath__WEBPACK_IMPORTED_MODULE_0__.getNewRelativePathExpression)(node, path),
|
|
102915
|
-
field:
|
|
102916
|
-
value:
|
|
102954
|
+
field: (0,_binding__WEBPACK_IMPORTED_MODULE_5__.getBindingSourceField)(field),
|
|
102955
|
+
value: (0,_binding__WEBPACK_IMPORTED_MODULE_5__.getBindingSourceValue)(field)
|
|
102917
102956
|
}));
|
|
102918
|
-
markupBuilder.prop(x => x.mapChangesField).set(binding.map(([_path, field]) =>
|
|
102957
|
+
markupBuilder.prop(x => x.mapChangesField).set(binding.map(([_path, field]) => (0,_binding__WEBPACK_IMPORTED_MODULE_5__.getBindingSourceField)(field)));
|
|
102919
102958
|
markupBuilder.prop(x => x.descriptionInModal).set((_node$descriptionInMo = node.descriptionInModal) !== null && _node$descriptionInMo !== void 0 ? _node$descriptionInMo : "");
|
|
102920
102959
|
markupBuilder.prop(x => x.hintFields).set(node.hintFields);
|
|
102921
102960
|
markupBuilder.prop(x => x.hintWidth).set(node.hintWidth);
|
|
@@ -102940,7 +102979,7 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102940
102979
|
throw new _common_XmlParser_XmlNode__WEBPACK_IMPORTED_MODULE_4__.SugarAttributeReadError("Значение пути в атрибуте binding должно в точности совпадать со значнием в path", node, "binding");
|
|
102941
102980
|
}
|
|
102942
102981
|
const searchByField = bindingForCurrentPath[1];
|
|
102943
|
-
markupBuilder.prop(x => x.searchByField).set(
|
|
102982
|
+
markupBuilder.prop(x => x.searchByField).set((0,_binding__WEBPACK_IMPORTED_MODULE_5__.getBindingSourceField)(searchByField));
|
|
102944
102983
|
if (node.filter !== undefined) {
|
|
102945
102984
|
markupBuilder.prop(x => x.filter).set({
|
|
102946
102985
|
type: "Expression",
|
|
@@ -102950,15 +102989,6 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102950
102989
|
markupBuilder.prop(x => x.tooltipPosition).set((_node$tooltipPosition = node.tooltipPosition) !== null && _node$tooltipPosition !== void 0 ? _node$tooltipPosition : "top center");
|
|
102951
102990
|
return markupBuilder.buildConverterResultWithHelp(node, context);
|
|
102952
102991
|
}
|
|
102953
|
-
getBindingSourceValue(x) {
|
|
102954
|
-
if (typeof x === "string" || x.value == undefined) {
|
|
102955
|
-
return "value";
|
|
102956
|
-
}
|
|
102957
|
-
return x.value;
|
|
102958
|
-
}
|
|
102959
|
-
getBindingSourceField(x) {
|
|
102960
|
-
return typeof x === "string" ? x : x.field;
|
|
102961
|
-
}
|
|
102962
102992
|
}
|
|
102963
102993
|
|
|
102964
102994
|
/***/ }),
|
|
@@ -103169,7 +103199,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
103169
103199
|
/* harmony import */ var _CommonNodeProperties_TooltipProperties_SetTooltipSettingsProps__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../CommonNodeProperties/TooltipProperties/SetTooltipSettingsProps */ "./Generator/src/generators/markupGenerator/ElementProcessors/CommonNodeProperties/TooltipProperties/SetTooltipSettingsProps.ts");
|
|
103170
103200
|
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
103171
103201
|
/* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
|
|
103172
|
-
/* harmony import */ var
|
|
103202
|
+
/* harmony import */ var _Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Typography/Icon/GetIconName */ "./Generator/src/generators/markupGenerator/ElementProcessors/Typography/Icon/GetIconName.ts");
|
|
103203
|
+
/* harmony import */ var _PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PopupTextAreaNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/popupTextArea/PopupTextAreaNode.ts");
|
|
103204
|
+
|
|
103173
103205
|
|
|
103174
103206
|
|
|
103175
103207
|
|
|
@@ -103180,14 +103212,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
103180
103212
|
|
|
103181
103213
|
class PopupTextAreaConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
|
|
103182
103214
|
static getAcceptNodeClass() {
|
|
103183
|
-
return
|
|
103215
|
+
return _PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode;
|
|
103184
103216
|
}
|
|
103185
103217
|
doBuildNodeValidations(validationGenerator) {
|
|
103186
|
-
const node = this.getCurrentNodeAs(
|
|
103218
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103187
103219
|
validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
|
|
103188
103220
|
}
|
|
103189
103221
|
*doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
|
|
103190
|
-
const node = this.getCurrentNodeAs(
|
|
103222
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103191
103223
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
103192
103224
|
const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__.PathTokens.each);
|
|
103193
103225
|
const typeNode = buildContext.getTypeNode(node.validationInfo);
|
|
@@ -103199,26 +103231,26 @@ class PopupTextAreaConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODUL
|
|
|
103199
103231
|
yield* buildContext.buildBasicValidations(ownPath, targetPath, prefixPath, typeNode, schemaTypeNode, node.validationInfo.optional == undefined ? element === null || element === void 0 ? void 0 : element.isOptional() : node.validationInfo.optional);
|
|
103200
103232
|
}
|
|
103201
103233
|
doBuildDataDeclaration(context) {
|
|
103202
|
-
const node = this.getCurrentNodeAs(
|
|
103203
|
-
return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, node.disabled)]]), context.addSpecialFieldsEntry(node, {
|
|
103234
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103235
|
+
return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, node.disabled)], node.auto ? ["autoFlag", context.initSequenceFactory.takeFromModel()] : undefined, node.auto ? ["autoValue", context.initSequenceFactory.takeFromModelOrDefaultValue(node.dataBinding.defaultValue)] : undefined]), context.addSpecialFieldsEntry(node, {
|
|
103204
103236
|
optional: node.dataBinding.optional,
|
|
103205
103237
|
disabled: node.disabled
|
|
103206
103238
|
}), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
|
|
103207
103239
|
}
|
|
103208
103240
|
buildChildrenDataDeclaration(context) {
|
|
103209
|
-
const node = this.getCurrentNodeAs(
|
|
103241
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103210
103242
|
return context.processChildrenDataDeclaration(node.helpNodes);
|
|
103211
103243
|
}
|
|
103212
103244
|
*doTraverseChildren() {
|
|
103213
|
-
const node = this.getCurrentNodeAs(
|
|
103245
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103214
103246
|
yield* node.helpNodes;
|
|
103215
103247
|
}
|
|
103216
103248
|
get nodePaths() {
|
|
103217
|
-
const node = this.getCurrentNodeAs(
|
|
103249
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103218
103250
|
return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_3__.getNewBindingPathExpression)(node)];
|
|
103219
103251
|
}
|
|
103220
103252
|
doConvert(context) {
|
|
103221
|
-
const node = this.getCurrentNodeAs(
|
|
103253
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103222
103254
|
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("PopupTextArea");
|
|
103223
103255
|
markupBuilder.prop(x => x.width).set(node.width || "100%");
|
|
103224
103256
|
markupBuilder.prop("data-tid").set(node.tid);
|
|
@@ -103240,6 +103272,9 @@ class PopupTextAreaConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODUL
|
|
|
103240
103272
|
markupBuilder.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
|
|
103241
103273
|
}
|
|
103242
103274
|
}
|
|
103275
|
+
markupBuilder.prop(x => x.auto).set(node.auto);
|
|
103276
|
+
markupBuilder.prop(x => x.autoValue).set(node.autoValue);
|
|
103277
|
+
markupBuilder.prop(x => x.useAutoIcon).set((0,_Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_7__.getIconName)(node, node.useAutoIcon));
|
|
103243
103278
|
(0,_CommonNodeProperties_TooltipProperties_SetTooltipSettingsProps__WEBPACK_IMPORTED_MODULE_4__.setTooltipSettingsProps)(markupBuilder, node.tooltipSettings);
|
|
103244
103279
|
return markupBuilder.buildConverterResultWithHelp(node, context);
|
|
103245
103280
|
}
|
|
@@ -103281,7 +103316,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
103281
103316
|
|
|
103282
103317
|
|
|
103283
103318
|
|
|
103284
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19;
|
|
103319
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22;
|
|
103285
103320
|
|
|
103286
103321
|
|
|
103287
103322
|
|
|
@@ -103290,7 +103325,7 @@ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11
|
|
|
103290
103325
|
|
|
103291
103326
|
|
|
103292
103327
|
|
|
103293
|
-
let PopupTextAreaNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.sugarNode)("popuptextarea", `Иконка`, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/popupTextArea sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_DataBindingMixinNode__WEBPACK_IMPORTED_MODULE_3__.DataBindingMixinNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_TooltipProperties_TooltipSettingsNode__WEBPACK_IMPORTED_MODULE_9__.TooltipSettingsNode), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("width", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.lengthUnit, `Ширина`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("popupWidth", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.lengthUnit, `Ширина всплывающей textarea. не может быть меньше 250`), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("excelPastePrevent", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, `При значении true вставка в popuptextarea будет перехвачена в пользу вставки таблички, скопрированной из excel как таблички. При значении false все скопированное попадет в value`), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("placeholder", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ``), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Возможность установки произвольных data-tid атрибутов, может пригодиться другим командам, или для идентификации элемента в тестах"), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("disabled", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("disabled2", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.javascriptExpression, `${(0,_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_10__.docLink)(_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_10__.javaScriptExpressionLink)} для условного задизейбливания контрола`), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("autoResize", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("useLengthLimit", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, `Включает отображение счётчик длины текста`),
|
|
103328
|
+
let PopupTextAreaNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.sugarNode)("popuptextarea", `Иконка`, __webpack_require__("./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/popupTextArea sync recursive .md$")), _dec2 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_DataBindingMixinNode__WEBPACK_IMPORTED_MODULE_3__.DataBindingMixinNode), _dec3 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_ValidationInfoNode__WEBPACK_IMPORTED_MODULE_4__.ValidationInfoNode), _dec4 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrMixin)(_CommonNodeProperties_TooltipProperties_TooltipSettingsNode__WEBPACK_IMPORTED_MODULE_9__.TooltipSettingsNode), _dec5 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("width", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.lengthUnit, `Ширина`), _dec6 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("popupWidth", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.lengthUnit, `Ширина всплывающей textarea. не может быть меньше 250`), _dec7 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("excelPastePrevent", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, `При значении true вставка в popuptextarea будет перехвачена в пользу вставки таблички, скопрированной из excel как таблички. При значении false все скопированное попадет в value`), _dec8 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("placeholder", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.localizedString, ``), _dec9 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("tid", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Возможность установки произвольных data-tid атрибутов, может пригодиться другим командам, или для идентификации элемента в тестах"), _dec10 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("disabled", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec11 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("disabled2", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.javascriptExpression, `${(0,_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_10__.docLink)(_Commons_DocumentationLinks__WEBPACK_IMPORTED_MODULE_10__.javaScriptExpressionLink)} для условного задизейбливания контрола`), _dec12 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("autoResize", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, ``), _dec13 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("auto", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, "Подключен авторассчет"), _dec14 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("autoValue", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, "Значение авторасчета. Код, элемент которого будет показываться как автозначение. Использовать в тестах, заменяет получение из калькуляций."), _dec15 = (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"), _dec16 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("useLengthLimit", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.boolean, `Включает отображение счётчик длины текста`), _dec17 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("maxTextLength", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.number, `Задаёт максимальное кол-во символов для счётчика длины текста. Если не указано, значение будет братся из валидации или схемы`), _dec18 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("rows", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.number, ``), _dec19 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.deprecatedAttr)("row", _Serializer_DeprecationReason__WEBPACK_IMPORTED_MODULE_5__.DeprecationReason.Typo), _dec20 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("resize", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.enum("-moz-initial", "inherit", "initial", "revert", "unset", "block", "both", "horizontal", "inline", "none", "vertical"), ``), _dec21 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("path", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.bindingPath, ``), _dec22 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attr)("help", _Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.attrType.string, ``), _dec23 = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_7__.children)("help", [_Helpers_Help_HelpNode__WEBPACK_IMPORTED_MODULE_8__.HelpNode]), _dec(_class = (_class2 = class PopupTextAreaNode extends _Serializer_SugarNodeWithLegacyVisibility__WEBPACK_IMPORTED_MODULE_6__.SugarNodeWithLegacyVisibility {
|
|
103294
103329
|
constructor(...args) {
|
|
103295
103330
|
super(...args);
|
|
103296
103331
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "dataBinding", _descriptor, this);
|
|
@@ -103304,14 +103339,17 @@ let PopupTextAreaNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED
|
|
|
103304
103339
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "disabled", _descriptor9, this);
|
|
103305
103340
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "disabled2", _descriptor10, this);
|
|
103306
103341
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "autoResize", _descriptor11, this);
|
|
103307
|
-
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "
|
|
103308
|
-
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "
|
|
103309
|
-
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "
|
|
103310
|
-
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "
|
|
103311
|
-
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "
|
|
103312
|
-
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "
|
|
103313
|
-
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "
|
|
103314
|
-
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "
|
|
103342
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "auto", _descriptor12, this);
|
|
103343
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "autoValue", _descriptor13, this);
|
|
103344
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "useAutoIcon", _descriptor14, this);
|
|
103345
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "useLengthLimit", _descriptor15, this);
|
|
103346
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "maxTextLength", _descriptor16, this);
|
|
103347
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "rows", _descriptor17, this);
|
|
103348
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "row", _descriptor18, this);
|
|
103349
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "resize", _descriptor19, this);
|
|
103350
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "path", _descriptor20, this);
|
|
103351
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "help", _descriptor21, this);
|
|
103352
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "helpNodes", _descriptor22, this);
|
|
103315
103353
|
}
|
|
103316
103354
|
getOwnPath() {
|
|
103317
103355
|
return this.dataBinding.getOwnPath();
|
|
@@ -103371,42 +103409,57 @@ let PopupTextAreaNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED
|
|
|
103371
103409
|
enumerable: true,
|
|
103372
103410
|
writable: true,
|
|
103373
103411
|
initializer: null
|
|
103374
|
-
}), _descriptor12 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
103412
|
+
}), _descriptor12 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "auto", [_dec13], {
|
|
103375
103413
|
configurable: true,
|
|
103376
103414
|
enumerable: true,
|
|
103377
103415
|
writable: true,
|
|
103378
103416
|
initializer: null
|
|
103379
|
-
}), _descriptor13 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
103417
|
+
}), _descriptor13 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "autoValue", [_dec14], {
|
|
103380
103418
|
configurable: true,
|
|
103381
103419
|
enumerable: true,
|
|
103382
103420
|
writable: true,
|
|
103383
103421
|
initializer: null
|
|
103384
|
-
}), _descriptor14 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
103422
|
+
}), _descriptor14 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "useAutoIcon", [_dec15], {
|
|
103385
103423
|
configurable: true,
|
|
103386
103424
|
enumerable: true,
|
|
103387
103425
|
writable: true,
|
|
103388
103426
|
initializer: null
|
|
103389
|
-
}), _descriptor15 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
103427
|
+
}), _descriptor15 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "useLengthLimit", [_dec16], {
|
|
103390
103428
|
configurable: true,
|
|
103391
103429
|
enumerable: true,
|
|
103392
103430
|
writable: true,
|
|
103393
103431
|
initializer: null
|
|
103394
|
-
}), _descriptor16 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
103432
|
+
}), _descriptor16 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "maxTextLength", [_dec17], {
|
|
103395
103433
|
configurable: true,
|
|
103396
103434
|
enumerable: true,
|
|
103397
103435
|
writable: true,
|
|
103398
103436
|
initializer: null
|
|
103399
|
-
}), _descriptor17 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
103437
|
+
}), _descriptor17 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "rows", [_dec18], {
|
|
103400
103438
|
configurable: true,
|
|
103401
103439
|
enumerable: true,
|
|
103402
103440
|
writable: true,
|
|
103403
103441
|
initializer: null
|
|
103404
|
-
}), _descriptor18 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
103442
|
+
}), _descriptor18 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "row", [_dec19], {
|
|
103405
103443
|
configurable: true,
|
|
103406
103444
|
enumerable: true,
|
|
103407
103445
|
writable: true,
|
|
103408
103446
|
initializer: null
|
|
103409
|
-
}), _descriptor19 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
103447
|
+
}), _descriptor19 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "resize", [_dec20], {
|
|
103448
|
+
configurable: true,
|
|
103449
|
+
enumerable: true,
|
|
103450
|
+
writable: true,
|
|
103451
|
+
initializer: null
|
|
103452
|
+
}), _descriptor20 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "path", [_dec21], {
|
|
103453
|
+
configurable: true,
|
|
103454
|
+
enumerable: true,
|
|
103455
|
+
writable: true,
|
|
103456
|
+
initializer: null
|
|
103457
|
+
}), _descriptor21 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "help", [_dec22], {
|
|
103458
|
+
configurable: true,
|
|
103459
|
+
enumerable: true,
|
|
103460
|
+
writable: true,
|
|
103461
|
+
initializer: null
|
|
103462
|
+
}), _descriptor22 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "helpNodes", [_dec23], {
|
|
103410
103463
|
configurable: true,
|
|
103411
103464
|
enumerable: true,
|
|
103412
103465
|
writable: true,
|
|
@@ -105099,8 +105152,8 @@ class KCLangCalculationsBuildContext {
|
|
|
105099
105152
|
getFirstAcceptedParent(schemaNode) {
|
|
105100
105153
|
let parentNode = schemaNode === null || schemaNode === void 0 ? void 0 : schemaNode.parent;
|
|
105101
105154
|
while (parentNode != undefined) {
|
|
105102
|
-
if (parentNode instanceof _common_SchemaRng_FormSchemaRng__WEBPACK_IMPORTED_MODULE_28__.FormSchemaRngElement) {
|
|
105103
|
-
if (parentNode.isOptional()
|
|
105155
|
+
if (parentNode instanceof _common_SchemaRng_FormSchemaRng__WEBPACK_IMPORTED_MODULE_28__.FormSchemaRngElement && !parentNode.multiple) {
|
|
105156
|
+
if (parentNode.isOptional()) {
|
|
105104
105157
|
return parentNode;
|
|
105105
105158
|
}
|
|
105106
105159
|
parentNode = parentNode.parent;
|
|
@@ -107671,6 +107724,30 @@ class VisibilityProcessor {
|
|
|
107671
107724
|
|
|
107672
107725
|
/***/ }),
|
|
107673
107726
|
|
|
107727
|
+
/***/ "./Generator/src/generators/markupGenerator/binding.ts":
|
|
107728
|
+
/*!*************************************************************!*\
|
|
107729
|
+
!*** ./Generator/src/generators/markupGenerator/binding.ts ***!
|
|
107730
|
+
\*************************************************************/
|
|
107731
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
107732
|
+
|
|
107733
|
+
"use strict";
|
|
107734
|
+
__webpack_require__.r(__webpack_exports__);
|
|
107735
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
107736
|
+
/* harmony export */ getBindingSourceField: () => (/* binding */ getBindingSourceField),
|
|
107737
|
+
/* harmony export */ getBindingSourceValue: () => (/* binding */ getBindingSourceValue)
|
|
107738
|
+
/* harmony export */ });
|
|
107739
|
+
function getBindingSourceField(x) {
|
|
107740
|
+
return typeof x === "string" ? x : x.field;
|
|
107741
|
+
}
|
|
107742
|
+
function getBindingSourceValue(x) {
|
|
107743
|
+
if (typeof x === "string" || x.value == undefined) {
|
|
107744
|
+
return "value";
|
|
107745
|
+
}
|
|
107746
|
+
return x.value;
|
|
107747
|
+
}
|
|
107748
|
+
|
|
107749
|
+
/***/ }),
|
|
107750
|
+
|
|
107674
107751
|
/***/ "./Generator/src/generators/markupGenerator/controlCustomization/ControlCustomizationContextBuilder.ts":
|
|
107675
107752
|
/*!*************************************************************************************************************!*\
|
|
107676
107753
|
!*** ./Generator/src/generators/markupGenerator/controlCustomization/ControlCustomizationContextBuilder.ts ***!
|
|
@@ -137602,7 +137679,7 @@ module.exports = "### Опциональность мультилайна и т
|
|
|
137602
137679
|
\*********************************************************************************************************/
|
|
137603
137680
|
/***/ ((module) => {
|
|
137604
137681
|
|
|
137605
|
-
module.exports = "<h4>Атрибут emptyValueFilter</h4>\nЕсли нет введеного значения, то фильтрует выпадающий список значения.\nСинтаксис аналогичен атрибуту `filter`. Смотри описание к picklist. \n<br>\n<br>\nПример фильтрации по первым двум цифрам инн из @formsClientInfo/currentAccount:\n```\nemptyValueFilter=\"by.column('code').startWith(path('@formsClientInfo/currentAccount/inn').slice(0, 2))\"\n```\n";
|
|
137682
|
+
module.exports = "<h4>Атрибут emptyValueFilter</h4>\nЕсли нет введеного значения, то фильтрует выпадающий список значения.\nСинтаксис аналогичен атрибуту `filter`. Смотри описание к picklist. \n<br>\n<br>\nПример фильтрации по первым двум цифрам инн из @formsClientInfo/currentAccount:\n```\nemptyValueFilter=\"by.column('code').startWith(path('@formsClientInfo/currentAccount/inn').slice(0, 2))\"\n```\n\n<h4>Атрибут binding</h4>\n\nИспользуется для записи значений полей справочника в указанные поля в иннере.\nНапример, можно сохранить выбранное значение из колонки name в одноименное поле:\n```\n<combobox \n path=\"combobox1\" \n gId=\"3436\" \n binding={[[\"combobox1\", \"code\"], [\"combobox1/name\", \"name\"], [\"combobox1/description\", \"name\"]]} \n width=\"200\" />\n```\nТ.о. значение колонки code справочника сохранится по пути combobox1.value, а значение из колонки name сохранится в поля combobox1/name.value и combobox1/description.value в иннере.\n```\n\"Root/comboboxWithBinding/combobox1.value\": \"8\",\n\"Root/comboboxWithBinding/combobox1/name.value\": \"Август\",\n\"Root/comboboxWithBinding/combobox1/description.value\": \"Август\",\n```\nМожно сохранять не в .value, а в другое поле. Пример:\n```\n<combobox \n path=\"combobox2\" \n gId=\"3436\" \n binding={[[\"combobox2\", \"code\"], [\"combobox2\", { \"value\": \"description\", \"field\": \"name\" }]]} \n width=\"200\" />\n```\nЗдесь значение колонки name справочника выгрузится в поле combobox2.description.\n```\n\"Root/comboboxWithBinding/combobox2.value\": \"6\",\n\"Root/comboboxWithBinding/combobox2.description\": \"Июнь\",\n```";
|
|
137606
137683
|
|
|
137607
137684
|
/***/ }),
|
|
137608
137685
|
|
|
@@ -137612,7 +137689,7 @@ module.exports = "<h4>Атрибут emptyValueFilter</h4>\nЕсли нет вв
|
|
|
137612
137689
|
\*****************************************************************************************************/
|
|
137613
137690
|
/***/ ((module) => {
|
|
137614
137691
|
|
|
137615
|
-
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```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 - подходящие адреса из апи ФИАСа. Возвращаемое значение - массив адресов, а каждый адрес - структура, содержащая все поля адреса, возвращаемые апи (регион, район и т.д.).";
|
|
137692
|
+
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 - подходящие адреса из апи ФИАСа. Возвращаемое значение - массив адресов, а каждый адрес - структура, содержащая все поля адреса, возвращаемые апи (регион, район и т.д.).";
|
|
137616
137693
|
|
|
137617
137694
|
/***/ }),
|
|
137618
137695
|
|