13 | Документация

Кнопка Сохранить в Карточке объекта

При необходимости можно адаптировать поведение кнопки Сохранить в Карточке объекта под конкретные задачи.
Для этого надо разместить в папке \Customer\openProject\ HTML-файл, содержащий соответствующий код.
Пример:
<script type="text/javascript">
window.checkBeforeSave = function (object, project) {
var getAttributeValue = function (attributeAlias) {
return object.attributes().keyValues.first(function (x) { return x.key == attributeAlias }).value();
};
var checkRequired = function (requiredFieldAlias, error) {
var value = getAttributeValue(requiredFieldAlias);
if (value == undefined || value == "")
return error;
return null;
};
var checkAnyCondition = function (condition, error) {
if (condition())
return error;
return null;
};
var resultErrorList = ko.observable(undefined);
var errors = [];
if (object.service.isApplicable('http://localhost/arcgis/rest/services/Test/MapServer') && object.id.layerId == 0) {
errors.addArray([
checkAnyCondition(
function () {
return getAttributeValue('Поле1') < getAttributeValue('Поле2');
},
'Поле1 должно быть больше, чем Поле2'),
checkRequired(
'Поле3',
'Поле3 обязательно')
]);
}
resultErrorList(errors.where(function (x) { return x !== null; }));
return resultErrorList;
};
</script>