Untitled
unknown
plain_text
2 years ago
6.3 kB
18
Indexable
CheckPass({ oldpass, newpass }) {
const ObjX = this.ObjX || KSWN.ObjX.getCurrentObjX();
const jsDocument = ObjX?.jsDocument;
if (!jsDocument)
return;
if (jsDocument.existCheckPasswordValidator) {
return;
}
const oldPassUI = jsDocument.GetControlUIById(oldpass)?.UI;
const newPassUI = jsDocument.GetControlUIById(newpass)?.UI;
if (!oldPassUI || !newPassUI) {
return;
}
const oldPass = oldPassUI.getValue();
const newPass = newPassUI.getValue();
if (newPass && oldPass && oldPass !== newPass) {
KSWN.MessageBox.alert({
messageType: 'msg',
message: KSWN.Locale.paroli_ne_sovpadayt
});
}
jsDocument.existCheckPasswordValidator = true;
const validator = () => {
const oldPassUIValue = oldPassUI.getValue();
const newPassUIValue = newPassUI.getValue();
return newPassUIValue && oldPassUIValue && oldPassUIValue !== newPassUIValue
? KSWN.Locale.paroli_ne_sovpadayt
: true;
};
oldPassUI.setConfig('validator', validator);
newPassUI.setConfig('validator', validator);
oldPassUI.on('change', () => newPassUI.validate());
newPassUI.on('change', () => oldPassUI.validate());
oldPassUI.validate();
newPassUI.validate();
},
CheckAE: function () {
if (this.NoRender)
return true;
if (this.ignoreEmpty)
return true;
var ctrls = this.Controls;
this.invalidControls = [];
var i, c, el, v, cm, ci, rs, existEmpty = false;
for (i = 0; i < ctrls.length; i++) {
c = ctrls[i];
c.UI.parent = c.UI.parent || (c.UI && c.UI.Info.ParentID && c.UI.up(`#${c.UI.Info.ParentID}`));
if (!c) continue;
if (!c.Info) continue;
if (c.Info.AspType === 'label') continue;
if (c.UI.hidden) continue;
if (c.UI.disabled) continue;
if (c.UI.parent && c.UI.parent.tab.hidden) continue;
if (c.UI.parent && c.UI.parent.disabled) continue;
if (typeof c.UI.getValue !== 'function') continue;
if (c.Info.editableValue === '0') continue;
el = Ext.get(c.Info.ID);
if (el && el.dom.readOnly && !KSWN.Utils.IsEqual(c.Info.Editable, '3')) continue;
if (KSWN.Utils.IsEqual(c.Info.Editable, '3') && c.UI.triggers && !c.UI.triggers.dict && !c.UI.isCombo) continue;
v = c.UI.getValue();
// Учитываем случаи, когда title в свойствах объекта не заполнено (в торгах)
var title = c.Info.Title || c.Info.Attr['title'] || '';
title = title.replace(/\s*[*:]\s*$/, '') || '...';
const invalidControl = {
title,
control: c.UI,
parent: c.Info.parent
};
if (!c.Info.AllowEmpty) {
if (KSWN.Utils.IsEmpty(v) ||
c.UI.isCheckBox && !c.UI.checked ||
c.UI.isNumeric && !c.Info.Attr.allownonemptyzeroes && v === 0) {
c.UI.validate();
this.invalidControls.push(invalidControl);
existEmpty = true;
}
} else {
if (!c.UI.isValid()) {
c.UI.validate();
this.invalidControls.push(invalidControl);
existEmpty = true;
}
}
}
const gridList = this.GridsList;
gridList.forEach(grid => {
const columns = grid.getColumns();
grid.UI.parent = grid.UI.parent
|| (grid.UI && grid.UI.Info
&& grid.UI.Info.ParentID
&& grid.UI.up(`#${grid.UI.Info.ParentID}`)
);
columns.forEach(col => {
const { allowEmpty, hidden, editableValue, dataIndex, Title, isCheckBox } = col;
if (
isCheckBox || //todo: а возможно неопределенное состояние(сначала реализовать отображением такого состояния)
allowEmpty ||
allowEmpty === undefined ||
hidden ||
KSWN.Utils.IsEqual(editableValue, 0) ||
KSWN.Utils.IsEqual(editableValue, 2)
) {
return;
}
// null=''=0=0.00
const rows = !col.Attr.allownonemptyzeroes && (col.type == 'system.decimal')
? grid.FindRows(dataIndex, '', false)
: grid.FindRows(dataIndex, '', true);
if (_.size(rows) > 0) {
//заблокированные ячейки пропускать
if (!rows.find(function (record) {
return !grid.IsDisabledCell(col, record);
}))
return;
const title = Title.replace(/\s*[*:]\s*$/, '');
existEmpty = true;
this.invalidControls.push({
title: `${title} (${KSWN.Locale.v_tablice})`,
parent: grid.UI.parent,
control: col
});
rows.forEach(row => {
grid.SetInvalidCellState({ column: dataIndex, record: row, isInvalid: true });
});
}
});
});
if (existEmpty) {
this.Type = 'info';
this.TitleStatus = KSWN.Locale.provertekorrektnostzapolneniyaobyazatelnikhpoleiotmechennikhkrasnoiramkoi;
this.ShowInvalidControls();
this.SetStatus();
return false;
}
return true;
},Editor is loading...