Untitled
unknown
plain_text
a month ago
6.3 kB
10
Indexable
Never
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; },