@kontur.candy/generator 5.116.0-fs-9118-contractors-widget.0 → 5.117.0-fs-8494-off-redonly-autocalcs.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 +158 -94
- 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
|
/***/ }),
|
|
@@ -100455,7 +100485,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
100455
100485
|
/* harmony import */ var _Select_PicklistReference__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Select/PicklistReference */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Select/PicklistReference.ts");
|
|
100456
100486
|
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
100457
100487
|
/* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
|
|
100458
|
-
/* harmony import */ var
|
|
100488
|
+
/* harmony import */ var _binding__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../binding */ "./Generator/src/generators/markupGenerator/binding.ts");
|
|
100489
|
+
/* harmony import */ var _PicklistNode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PicklistNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/Picklist/PicklistNode.ts");
|
|
100490
|
+
|
|
100459
100491
|
|
|
100460
100492
|
|
|
100461
100493
|
|
|
@@ -100466,10 +100498,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
100466
100498
|
|
|
100467
100499
|
class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__.SugarNodeConverterBase {
|
|
100468
100500
|
static getAcceptNodeClass() {
|
|
100469
|
-
return
|
|
100501
|
+
return _PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode;
|
|
100470
100502
|
}
|
|
100471
100503
|
*doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
|
|
100472
|
-
const node = this.getCurrentNodeAs(
|
|
100504
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100473
100505
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
100474
100506
|
const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__.PathTokens.each);
|
|
100475
100507
|
const typeNode = buildContext.getTypeNode(node.validationInfo);
|
|
@@ -100482,12 +100514,12 @@ class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__
|
|
|
100482
100514
|
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
100515
|
}
|
|
100484
100516
|
doBuildNodeValidations(validationGenerator) {
|
|
100485
|
-
const node = this.getCurrentNodeAs(
|
|
100517
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100486
100518
|
validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), node.gId, node.validationInfo.emptydescription, undefined);
|
|
100487
100519
|
}
|
|
100488
100520
|
*doBuildNormalizeRules(builder, formSchemaRng) {
|
|
100489
100521
|
var _ref;
|
|
100490
|
-
const node = this.getCurrentNodeAs(
|
|
100522
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100491
100523
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
100492
100524
|
yield builder.valueInitializer(node, node.dataBinding, false);
|
|
100493
100525
|
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 +100530,29 @@ class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__
|
|
|
100498
100530
|
}
|
|
100499
100531
|
doBuildDataDeclaration(context) {
|
|
100500
100532
|
var _node$dataBinding$opt;
|
|
100501
|
-
const node = this.getCurrentNodeAs(
|
|
100533
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100502
100534
|
return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false)]]), context.addSpecialFieldsEntry(node, {
|
|
100503
100535
|
optional: node.dataBinding.optional
|
|
100504
100536
|
}), 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
100537
|
}
|
|
100506
100538
|
get nodePaths() {
|
|
100507
100539
|
var _node$binding$map, _node$binding;
|
|
100508
|
-
const node = this.getCurrentNodeAs(
|
|
100540
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100509
100541
|
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
100542
|
paths.push((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewBindingPathExpression)(node));
|
|
100511
100543
|
return paths;
|
|
100512
100544
|
}
|
|
100513
100545
|
buildChildrenDataDeclaration(context) {
|
|
100514
|
-
const node = this.getCurrentNodeAs(
|
|
100546
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100515
100547
|
return context.processChildrenDataDeclaration(node.helpNodes);
|
|
100516
100548
|
}
|
|
100517
100549
|
*doTraverseChildren() {
|
|
100518
|
-
const node = this.getCurrentNodeAs(
|
|
100550
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100519
100551
|
yield* node.helpNodes;
|
|
100520
100552
|
}
|
|
100521
100553
|
doConvert(context) {
|
|
100522
100554
|
var _node$descriptionInMo;
|
|
100523
|
-
const node = this.getCurrentNodeAs(
|
|
100555
|
+
const node = this.getCurrentNodeAs(_PicklistNode__WEBPACK_IMPORTED_MODULE_8__.PicklistNode);
|
|
100524
100556
|
this.ensurePathExists(node, node.dataBinding.path);
|
|
100525
100557
|
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_2__.componentMarkupBuilder)("Picklist");
|
|
100526
100558
|
markupBuilder.prop(x => x.limit).set(node.limit);
|
|
@@ -100561,18 +100593,18 @@ class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__
|
|
|
100561
100593
|
}
|
|
100562
100594
|
const nodePath = this.getLegacyNode().attrAsStringStrict("path");
|
|
100563
100595
|
const binding = node.binding || [[nodePath, "code"]];
|
|
100564
|
-
markupBuilder.prop(x => x.mapChangesField).set(binding.map(([_path, field]) =>
|
|
100596
|
+
markupBuilder.prop(x => x.mapChangesField).set(binding.map(([_path, field]) => (0,_binding__WEBPACK_IMPORTED_MODULE_7__.getBindingSourceField)(field)));
|
|
100565
100597
|
const bindingForCurrentPath = binding.find(([path, _field]) => path === nodePath);
|
|
100566
100598
|
if (bindingForCurrentPath == undefined) {
|
|
100567
100599
|
throw new _common_XmlParser_XmlNode__WEBPACK_IMPORTED_MODULE_0__.SugarAttributeReadError("Значение пути в атрибуте binding должно в точности совпадать со значнием в path", node, "binding");
|
|
100568
100600
|
}
|
|
100569
100601
|
const searchByField = bindingForCurrentPath[1];
|
|
100570
|
-
markupBuilder.prop(x => x.searchByField).set(
|
|
100602
|
+
markupBuilder.prop(x => x.searchByField).set((0,_binding__WEBPACK_IMPORTED_MODULE_7__.getBindingSourceField)(searchByField));
|
|
100571
100603
|
markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewBindingPathExpression)(node));
|
|
100572
|
-
const dependencies = binding.map(([path, field]) => ({
|
|
100604
|
+
const dependencies = binding === null || binding === void 0 ? void 0 : binding.map(([path, field]) => ({
|
|
100573
100605
|
path: (0,_getBindingPath__WEBPACK_IMPORTED_MODULE_1__.getNewRelativePathExpression)(node, path),
|
|
100574
|
-
field:
|
|
100575
|
-
value:
|
|
100606
|
+
field: (0,_binding__WEBPACK_IMPORTED_MODULE_7__.getBindingSourceField)(field),
|
|
100607
|
+
value: (0,_binding__WEBPACK_IMPORTED_MODULE_7__.getBindingSourceValue)(field)
|
|
100576
100608
|
}));
|
|
100577
100609
|
markupBuilder.prop(x => x.dependencies).set(dependencies);
|
|
100578
100610
|
if (node.kind === "group") {
|
|
@@ -100596,15 +100628,6 @@ class PicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_3__
|
|
|
100596
100628
|
}
|
|
100597
100629
|
return markupBuilder.buildConverterResultWithHelp(node, context);
|
|
100598
100630
|
}
|
|
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
100631
|
}
|
|
100609
100632
|
|
|
100610
100633
|
/***/ }),
|
|
@@ -102846,7 +102869,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
102846
102869
|
/* harmony import */ var _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../SugarNodeConverter */ "./Generator/src/generators/markupGenerator/SugarNodeConverter.ts");
|
|
102847
102870
|
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
102848
102871
|
/* 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
|
|
102872
|
+
/* harmony import */ var _binding__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../binding */ "./Generator/src/generators/markupGenerator/binding.ts");
|
|
102873
|
+
/* harmony import */ var _TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TreePicklistNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/TreePicklist/TreePicklistNode.ts");
|
|
102874
|
+
|
|
102850
102875
|
|
|
102851
102876
|
|
|
102852
102877
|
|
|
@@ -102855,10 +102880,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
102855
102880
|
|
|
102856
102881
|
class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_2__.SugarNodeConverterBase {
|
|
102857
102882
|
static getAcceptNodeClass() {
|
|
102858
|
-
return
|
|
102883
|
+
return _TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode;
|
|
102859
102884
|
}
|
|
102860
102885
|
doBuildFLangValidations(buildContext, formSchemaRng) {
|
|
102861
|
-
const node = this.getCurrentNodeAs(
|
|
102886
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102862
102887
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
102863
102888
|
const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_3__.PathTokens.each);
|
|
102864
102889
|
const typeNode = buildContext.getTypeNode(node.validationInfo);
|
|
@@ -102869,12 +102894,12 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102869
102894
|
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
102895
|
}
|
|
102871
102896
|
doBuildNodeValidations(validationGenerator) {
|
|
102872
|
-
const node = this.getCurrentNodeAs(
|
|
102897
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102873
102898
|
validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), node.gId, node.validationInfo.emptydescription, undefined);
|
|
102874
102899
|
}
|
|
102875
102900
|
*doBuildNormalizeRules(builder, formSchemaRng) {
|
|
102876
102901
|
var _ref;
|
|
102877
|
-
const node = this.getCurrentNodeAs(
|
|
102902
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102878
102903
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
102879
102904
|
yield builder.valueInitializer(node, node.dataBinding, false);
|
|
102880
102905
|
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 +102910,26 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102885
102910
|
}
|
|
102886
102911
|
doBuildDataDeclaration(context) {
|
|
102887
102912
|
var _node$dataBinding$opt;
|
|
102888
|
-
const node = this.getCurrentNodeAs(
|
|
102913
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102889
102914
|
return context.mergeDataDeclaration(context.addPathDeclEntry(node, [["value", context.initSequenceFactory.dataValue(node.dataBinding, false)]]), context.addSpecialFieldsEntry(node, {
|
|
102890
102915
|
optional: node.dataBinding.optional
|
|
102891
102916
|
}), 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
102917
|
}
|
|
102893
102918
|
get nodePaths() {
|
|
102894
|
-
const node = this.getCurrentNodeAs(
|
|
102919
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102895
102920
|
return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_0__.getNewBindingPathExpression)(node)];
|
|
102896
102921
|
}
|
|
102897
102922
|
buildChildrenDataDeclaration(context) {
|
|
102898
|
-
const node = this.getCurrentNodeAs(
|
|
102923
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102899
102924
|
return context.processChildrenDataDeclaration(node.helpNodes);
|
|
102900
102925
|
}
|
|
102901
102926
|
*doTraverseChildren() {
|
|
102902
|
-
const node = this.getCurrentNodeAs(
|
|
102927
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102903
102928
|
yield* node.helpNodes;
|
|
102904
102929
|
}
|
|
102905
102930
|
doConvert(context) {
|
|
102906
102931
|
var _node$descriptionInMo, _node$title, _node$width, _node$fields, _node$display, _node$childColumnName, _node$parentColumnNam, _node$tooltipPosition;
|
|
102907
|
-
const node = this.getCurrentNodeAs(
|
|
102932
|
+
const node = this.getCurrentNodeAs(_TreePicklistNode__WEBPACK_IMPORTED_MODULE_6__.TreePicklistNode);
|
|
102908
102933
|
this.ensurePathExists(node, node.dataBinding.path);
|
|
102909
102934
|
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_1__.componentMarkupBuilder)("TreePicklist");
|
|
102910
102935
|
markupBuilder.prop(x => x.bindingPath).set((0,_getBindingPath__WEBPACK_IMPORTED_MODULE_0__.getNewBindingPathExpression)(node));
|
|
@@ -102912,10 +102937,10 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102912
102937
|
const binding = node.binding || [[nodePath, "code"]];
|
|
102913
102938
|
const dependencies = binding.map(([path, field]) => ({
|
|
102914
102939
|
path: (0,_getBindingPath__WEBPACK_IMPORTED_MODULE_0__.getNewRelativePathExpression)(node, path),
|
|
102915
|
-
field:
|
|
102916
|
-
value:
|
|
102940
|
+
field: (0,_binding__WEBPACK_IMPORTED_MODULE_5__.getBindingSourceField)(field),
|
|
102941
|
+
value: (0,_binding__WEBPACK_IMPORTED_MODULE_5__.getBindingSourceValue)(field)
|
|
102917
102942
|
}));
|
|
102918
|
-
markupBuilder.prop(x => x.mapChangesField).set(binding.map(([_path, field]) =>
|
|
102943
|
+
markupBuilder.prop(x => x.mapChangesField).set(binding.map(([_path, field]) => (0,_binding__WEBPACK_IMPORTED_MODULE_5__.getBindingSourceField)(field)));
|
|
102919
102944
|
markupBuilder.prop(x => x.descriptionInModal).set((_node$descriptionInMo = node.descriptionInModal) !== null && _node$descriptionInMo !== void 0 ? _node$descriptionInMo : "");
|
|
102920
102945
|
markupBuilder.prop(x => x.hintFields).set(node.hintFields);
|
|
102921
102946
|
markupBuilder.prop(x => x.hintWidth).set(node.hintWidth);
|
|
@@ -102940,7 +102965,7 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102940
102965
|
throw new _common_XmlParser_XmlNode__WEBPACK_IMPORTED_MODULE_4__.SugarAttributeReadError("Значение пути в атрибуте binding должно в точности совпадать со значнием в path", node, "binding");
|
|
102941
102966
|
}
|
|
102942
102967
|
const searchByField = bindingForCurrentPath[1];
|
|
102943
|
-
markupBuilder.prop(x => x.searchByField).set(
|
|
102968
|
+
markupBuilder.prop(x => x.searchByField).set((0,_binding__WEBPACK_IMPORTED_MODULE_5__.getBindingSourceField)(searchByField));
|
|
102944
102969
|
if (node.filter !== undefined) {
|
|
102945
102970
|
markupBuilder.prop(x => x.filter).set({
|
|
102946
102971
|
type: "Expression",
|
|
@@ -102950,15 +102975,6 @@ class TreePicklistConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE
|
|
|
102950
102975
|
markupBuilder.prop(x => x.tooltipPosition).set((_node$tooltipPosition = node.tooltipPosition) !== null && _node$tooltipPosition !== void 0 ? _node$tooltipPosition : "top center");
|
|
102951
102976
|
return markupBuilder.buildConverterResultWithHelp(node, context);
|
|
102952
102977
|
}
|
|
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
102978
|
}
|
|
102963
102979
|
|
|
102964
102980
|
/***/ }),
|
|
@@ -103169,7 +103185,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
103169
103185
|
/* 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
103186
|
/* harmony import */ var _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../Common/ModelPath/ModelPath */ "./Common/ModelPath/ModelPath.ts");
|
|
103171
103187
|
/* harmony import */ var _SugarNodes_SugarNodeUtils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../SugarNodes/SugarNodeUtils */ "./Generator/src/generators/markupGenerator/SugarNodes/SugarNodeUtils.ts");
|
|
103172
|
-
/* harmony import */ var
|
|
103188
|
+
/* harmony import */ var _Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Typography/Icon/GetIconName */ "./Generator/src/generators/markupGenerator/ElementProcessors/Typography/Icon/GetIconName.ts");
|
|
103189
|
+
/* harmony import */ var _PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PopupTextAreaNode */ "./Generator/src/generators/markupGenerator/ElementProcessors/ValueEditors/popupTextArea/PopupTextAreaNode.ts");
|
|
103190
|
+
|
|
103173
103191
|
|
|
103174
103192
|
|
|
103175
103193
|
|
|
@@ -103180,14 +103198,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
103180
103198
|
|
|
103181
103199
|
class PopupTextAreaConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODULE_1__.SugarNodeConverterBase {
|
|
103182
103200
|
static getAcceptNodeClass() {
|
|
103183
|
-
return
|
|
103201
|
+
return _PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode;
|
|
103184
103202
|
}
|
|
103185
103203
|
doBuildNodeValidations(validationGenerator) {
|
|
103186
|
-
const node = this.getCurrentNodeAs(
|
|
103204
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103187
103205
|
validationGenerator.processValidations(this.getResolvedBindingPath(node), node.validationInfo.optional, validationGenerator.getTypeNode(node.validationInfo), undefined, node.validationInfo.emptydescription, undefined);
|
|
103188
103206
|
}
|
|
103189
103207
|
*doBuildKCLangValidations(buildContext, formSchemaRng, prefixPath) {
|
|
103190
|
-
const node = this.getCurrentNodeAs(
|
|
103208
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103191
103209
|
const element = formSchemaRng.getElementByPath(node.getFullPath());
|
|
103192
103210
|
const targetPath = (0,_Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__.createAbsoluteFromMask)(this.getResolvedBindingPath(node), _Common_ModelPath_ModelPath__WEBPACK_IMPORTED_MODULE_5__.PathTokens.each);
|
|
103193
103211
|
const typeNode = buildContext.getTypeNode(node.validationInfo);
|
|
@@ -103199,26 +103217,26 @@ class PopupTextAreaConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODUL
|
|
|
103199
103217
|
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
103218
|
}
|
|
103201
103219
|
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, {
|
|
103220
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103221
|
+
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
103222
|
optional: node.dataBinding.optional,
|
|
103205
103223
|
disabled: node.disabled
|
|
103206
103224
|
}), context.addPathSectionDeclarationEntry(node, node.dataBinding.requisite), context.addVisibilityPathDeclEntryNew(node, node.dataBinding.requisite));
|
|
103207
103225
|
}
|
|
103208
103226
|
buildChildrenDataDeclaration(context) {
|
|
103209
|
-
const node = this.getCurrentNodeAs(
|
|
103227
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103210
103228
|
return context.processChildrenDataDeclaration(node.helpNodes);
|
|
103211
103229
|
}
|
|
103212
103230
|
*doTraverseChildren() {
|
|
103213
|
-
const node = this.getCurrentNodeAs(
|
|
103231
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103214
103232
|
yield* node.helpNodes;
|
|
103215
103233
|
}
|
|
103216
103234
|
get nodePaths() {
|
|
103217
|
-
const node = this.getCurrentNodeAs(
|
|
103235
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103218
103236
|
return [(0,_getBindingPath__WEBPACK_IMPORTED_MODULE_3__.getNewBindingPathExpression)(node)];
|
|
103219
103237
|
}
|
|
103220
103238
|
doConvert(context) {
|
|
103221
|
-
const node = this.getCurrentNodeAs(
|
|
103239
|
+
const node = this.getCurrentNodeAs(_PopupTextAreaNode__WEBPACK_IMPORTED_MODULE_8__.PopupTextAreaNode);
|
|
103222
103240
|
const markupBuilder = (0,_ComponentMarkupBuilder_ComponentMarkupBuilder__WEBPACK_IMPORTED_MODULE_0__.componentMarkupBuilder)("PopupTextArea");
|
|
103223
103241
|
markupBuilder.prop(x => x.width).set(node.width || "100%");
|
|
103224
103242
|
markupBuilder.prop("data-tid").set(node.tid);
|
|
@@ -103240,6 +103258,9 @@ class PopupTextAreaConverter extends _SugarNodeConverter__WEBPACK_IMPORTED_MODUL
|
|
|
103240
103258
|
markupBuilder.prop(x => x.evaluatorsContextPath).set(this.getEvaluatorsContextPathExpression());
|
|
103241
103259
|
}
|
|
103242
103260
|
}
|
|
103261
|
+
markupBuilder.prop(x => x.auto).set(node.auto);
|
|
103262
|
+
markupBuilder.prop(x => x.autoValue).set(node.autoValue);
|
|
103263
|
+
markupBuilder.prop(x => x.useAutoIcon).set((0,_Typography_Icon_GetIconName__WEBPACK_IMPORTED_MODULE_7__.getIconName)(node, node.useAutoIcon));
|
|
103243
103264
|
(0,_CommonNodeProperties_TooltipProperties_SetTooltipSettingsProps__WEBPACK_IMPORTED_MODULE_4__.setTooltipSettingsProps)(markupBuilder, node.tooltipSettings);
|
|
103244
103265
|
return markupBuilder.buildConverterResultWithHelp(node, context);
|
|
103245
103266
|
}
|
|
@@ -103281,7 +103302,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
103281
103302
|
|
|
103282
103303
|
|
|
103283
103304
|
|
|
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;
|
|
103305
|
+
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
103306
|
|
|
103286
103307
|
|
|
103287
103308
|
|
|
@@ -103290,7 +103311,7 @@ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11
|
|
|
103290
103311
|
|
|
103291
103312
|
|
|
103292
103313
|
|
|
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, `Включает отображение счётчик длины текста`),
|
|
103314
|
+
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
103315
|
constructor(...args) {
|
|
103295
103316
|
super(...args);
|
|
103296
103317
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "dataBinding", _descriptor, this);
|
|
@@ -103304,14 +103325,17 @@ let PopupTextAreaNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED
|
|
|
103304
103325
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "disabled", _descriptor9, this);
|
|
103305
103326
|
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "disabled2", _descriptor10, this);
|
|
103306
103327
|
_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, "
|
|
103328
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "auto", _descriptor12, this);
|
|
103329
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "autoValue", _descriptor13, this);
|
|
103330
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "useAutoIcon", _descriptor14, this);
|
|
103331
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "useLengthLimit", _descriptor15, this);
|
|
103332
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "maxTextLength", _descriptor16, this);
|
|
103333
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "rows", _descriptor17, this);
|
|
103334
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "row", _descriptor18, this);
|
|
103335
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "resize", _descriptor19, this);
|
|
103336
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "path", _descriptor20, this);
|
|
103337
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "help", _descriptor21, this);
|
|
103338
|
+
_babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "helpNodes", _descriptor22, this);
|
|
103315
103339
|
}
|
|
103316
103340
|
getOwnPath() {
|
|
103317
103341
|
return this.dataBinding.getOwnPath();
|
|
@@ -103371,42 +103395,57 @@ let PopupTextAreaNode = (_dec = (0,_Serializer_SugarSerializer__WEBPACK_IMPORTED
|
|
|
103371
103395
|
enumerable: true,
|
|
103372
103396
|
writable: true,
|
|
103373
103397
|
initializer: null
|
|
103374
|
-
}), _descriptor12 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "
|
|
103398
|
+
}), _descriptor12 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "auto", [_dec13], {
|
|
103399
|
+
configurable: true,
|
|
103400
|
+
enumerable: true,
|
|
103401
|
+
writable: true,
|
|
103402
|
+
initializer: null
|
|
103403
|
+
}), _descriptor13 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "autoValue", [_dec14], {
|
|
103404
|
+
configurable: true,
|
|
103405
|
+
enumerable: true,
|
|
103406
|
+
writable: true,
|
|
103407
|
+
initializer: null
|
|
103408
|
+
}), _descriptor14 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "useAutoIcon", [_dec15], {
|
|
103409
|
+
configurable: true,
|
|
103410
|
+
enumerable: true,
|
|
103411
|
+
writable: true,
|
|
103412
|
+
initializer: null
|
|
103413
|
+
}), _descriptor15 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "useLengthLimit", [_dec16], {
|
|
103375
103414
|
configurable: true,
|
|
103376
103415
|
enumerable: true,
|
|
103377
103416
|
writable: true,
|
|
103378
103417
|
initializer: null
|
|
103379
|
-
}),
|
|
103418
|
+
}), _descriptor16 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "maxTextLength", [_dec17], {
|
|
103380
103419
|
configurable: true,
|
|
103381
103420
|
enumerable: true,
|
|
103382
103421
|
writable: true,
|
|
103383
103422
|
initializer: null
|
|
103384
|
-
}),
|
|
103423
|
+
}), _descriptor17 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "rows", [_dec18], {
|
|
103385
103424
|
configurable: true,
|
|
103386
103425
|
enumerable: true,
|
|
103387
103426
|
writable: true,
|
|
103388
103427
|
initializer: null
|
|
103389
|
-
}),
|
|
103428
|
+
}), _descriptor18 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "row", [_dec19], {
|
|
103390
103429
|
configurable: true,
|
|
103391
103430
|
enumerable: true,
|
|
103392
103431
|
writable: true,
|
|
103393
103432
|
initializer: null
|
|
103394
|
-
}),
|
|
103433
|
+
}), _descriptor19 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "resize", [_dec20], {
|
|
103395
103434
|
configurable: true,
|
|
103396
103435
|
enumerable: true,
|
|
103397
103436
|
writable: true,
|
|
103398
103437
|
initializer: null
|
|
103399
|
-
}),
|
|
103438
|
+
}), _descriptor20 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "path", [_dec21], {
|
|
103400
103439
|
configurable: true,
|
|
103401
103440
|
enumerable: true,
|
|
103402
103441
|
writable: true,
|
|
103403
103442
|
initializer: null
|
|
103404
|
-
}),
|
|
103443
|
+
}), _descriptor21 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "help", [_dec22], {
|
|
103405
103444
|
configurable: true,
|
|
103406
103445
|
enumerable: true,
|
|
103407
103446
|
writable: true,
|
|
103408
103447
|
initializer: null
|
|
103409
|
-
}),
|
|
103448
|
+
}), _descriptor22 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class2.prototype, "helpNodes", [_dec23], {
|
|
103410
103449
|
configurable: true,
|
|
103411
103450
|
enumerable: true,
|
|
103412
103451
|
writable: true,
|
|
@@ -105099,8 +105138,8 @@ class KCLangCalculationsBuildContext {
|
|
|
105099
105138
|
getFirstAcceptedParent(schemaNode) {
|
|
105100
105139
|
let parentNode = schemaNode === null || schemaNode === void 0 ? void 0 : schemaNode.parent;
|
|
105101
105140
|
while (parentNode != undefined) {
|
|
105102
|
-
if (parentNode instanceof _common_SchemaRng_FormSchemaRng__WEBPACK_IMPORTED_MODULE_28__.FormSchemaRngElement) {
|
|
105103
|
-
if (parentNode.isOptional()
|
|
105141
|
+
if (parentNode instanceof _common_SchemaRng_FormSchemaRng__WEBPACK_IMPORTED_MODULE_28__.FormSchemaRngElement && !parentNode.multiple) {
|
|
105142
|
+
if (parentNode.isOptional()) {
|
|
105104
105143
|
return parentNode;
|
|
105105
105144
|
}
|
|
105106
105145
|
parentNode = parentNode.parent;
|
|
@@ -107671,6 +107710,30 @@ class VisibilityProcessor {
|
|
|
107671
107710
|
|
|
107672
107711
|
/***/ }),
|
|
107673
107712
|
|
|
107713
|
+
/***/ "./Generator/src/generators/markupGenerator/binding.ts":
|
|
107714
|
+
/*!*************************************************************!*\
|
|
107715
|
+
!*** ./Generator/src/generators/markupGenerator/binding.ts ***!
|
|
107716
|
+
\*************************************************************/
|
|
107717
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
107718
|
+
|
|
107719
|
+
"use strict";
|
|
107720
|
+
__webpack_require__.r(__webpack_exports__);
|
|
107721
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
107722
|
+
/* harmony export */ getBindingSourceField: () => (/* binding */ getBindingSourceField),
|
|
107723
|
+
/* harmony export */ getBindingSourceValue: () => (/* binding */ getBindingSourceValue)
|
|
107724
|
+
/* harmony export */ });
|
|
107725
|
+
function getBindingSourceField(x) {
|
|
107726
|
+
return typeof x === "string" ? x : x.field;
|
|
107727
|
+
}
|
|
107728
|
+
function getBindingSourceValue(x) {
|
|
107729
|
+
if (typeof x === "string" || x.value == undefined) {
|
|
107730
|
+
return "value";
|
|
107731
|
+
}
|
|
107732
|
+
return x.value;
|
|
107733
|
+
}
|
|
107734
|
+
|
|
107735
|
+
/***/ }),
|
|
107736
|
+
|
|
107674
107737
|
/***/ "./Generator/src/generators/markupGenerator/controlCustomization/ControlCustomizationContextBuilder.ts":
|
|
107675
107738
|
/*!*************************************************************************************************************!*\
|
|
107676
107739
|
!*** ./Generator/src/generators/markupGenerator/controlCustomization/ControlCustomizationContextBuilder.ts ***!
|
|
@@ -107994,7 +108057,8 @@ function getSettings(sugarRoot, gfv, additionalSettings, formJsonSettings) {
|
|
|
107994
108057
|
...additionalSettings,
|
|
107995
108058
|
useServerSideFLangNormalization: formJsonSettings === null || formJsonSettings === void 0 ? void 0 : formJsonSettings.useServerSideFLangNormalization,
|
|
107996
108059
|
useServerSideCalculations: formJsonSettings === null || formJsonSettings === void 0 ? void 0 : formJsonSettings.useServerSideCalculations,
|
|
107997
|
-
disableFlangRulesForEnableAutoFieldFeature: formJsonSettings === null || formJsonSettings === void 0 ? void 0 : formJsonSettings.disableFlangRulesForEnableAutoFieldFeature
|
|
108060
|
+
disableFlangRulesForEnableAutoFieldFeature: formJsonSettings === null || formJsonSettings === void 0 ? void 0 : formJsonSettings.disableFlangRulesForEnableAutoFieldFeature,
|
|
108061
|
+
enableAutocalcsInReadOnly: formJsonSettings === null || formJsonSettings === void 0 ? void 0 : formJsonSettings.enableAutocalcsInReadOnly
|
|
107998
108062
|
};
|
|
107999
108063
|
return `module.exports = ${JSON.stringify(settings, undefined, 2)}`;
|
|
108000
108064
|
}
|
|
@@ -137602,7 +137666,7 @@ module.exports = "### Опциональность мультилайна и т
|
|
|
137602
137666
|
\*********************************************************************************************************/
|
|
137603
137667
|
/***/ ((module) => {
|
|
137604
137668
|
|
|
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";
|
|
137669
|
+
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
137670
|
|
|
137607
137671
|
/***/ }),
|
|
137608
137672
|
|
|
@@ -137612,7 +137676,7 @@ module.exports = "<h4>Атрибут emptyValueFilter</h4>\nЕсли нет вв
|
|
|
137612
137676
|
\*****************************************************************************************************/
|
|
137613
137677
|
/***/ ((module) => {
|
|
137614
137678
|
|
|
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 - подходящие адреса из апи ФИАСа. Возвращаемое значение - массив адресов, а каждый адрес - структура, содержащая все поля адреса, возвращаемые апи (регион, район и т.д.).";
|
|
137679
|
+
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
137680
|
|
|
137617
137681
|
/***/ }),
|
|
137618
137682
|
|
package/package.json
CHANGED