[SSE] Check adding protected range
This commit is contained in:
parent
ac1510efb3
commit
d8d54bae86
|
@ -64,6 +64,8 @@ define([
|
||||||
this.txtDescription = options.txtDescription || '';
|
this.txtDescription = options.txtDescription || '';
|
||||||
this.type = options.type || 'workbook';
|
this.type = options.type || 'workbook';
|
||||||
this.props = options.props;
|
this.props = options.props;
|
||||||
|
this.names = options.names;
|
||||||
|
this.isEdit = options.isEdit;
|
||||||
this.api = options.api;
|
this.api = options.api;
|
||||||
|
|
||||||
this.template = options.template || [
|
this.template = options.template || [
|
||||||
|
@ -164,7 +166,25 @@ define([
|
||||||
blankError : this.txtEmpty,
|
blankError : this.txtEmpty,
|
||||||
style : 'width: 100%;',
|
style : 'width: 100%;',
|
||||||
maxLength: 255,
|
maxLength: 255,
|
||||||
validateOnBlur: false
|
validateOnBlur: false,
|
||||||
|
validateOnChange: false,
|
||||||
|
validation : function(value) {
|
||||||
|
if (value=='') return true;
|
||||||
|
|
||||||
|
var res = me.api.asc_checkProtectedRangeName(value);
|
||||||
|
switch (res) {
|
||||||
|
case Asc.c_oAscDefinedNameReason.WrongName:
|
||||||
|
return me.textInvalidName;
|
||||||
|
break;
|
||||||
|
case Asc.c_oAscDefinedNameReason.Existed:
|
||||||
|
return (me.isEdit && me.props.asc_getName().toLowerCase() == value.toLowerCase()) ? true : me.textExistName;
|
||||||
|
case Asc.c_oAscDefinedNameReason.OK:
|
||||||
|
var index = me.names.indexOf(value.toLowerCase());
|
||||||
|
return (index<0 || me.isEdit && me.props.asc_getName().toLowerCase() == value.toLowerCase()) ? true : me.textExistName;
|
||||||
|
default:
|
||||||
|
return me.textInvalidName;
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
this.txtDataRange = new Common.UI.InputFieldBtn({
|
this.txtDataRange = new Common.UI.InputFieldBtn({
|
||||||
el : $('#id-range-txt'),
|
el : $('#id-range-txt'),
|
||||||
|
@ -429,7 +449,9 @@ define([
|
||||||
txtRange: 'Range',
|
txtRange: 'Range',
|
||||||
txtEmpty: 'This field is required',
|
txtEmpty: 'This field is required',
|
||||||
textSelectData: 'Select Data',
|
textSelectData: 'Select Data',
|
||||||
textInvalidRange: 'ERROR! Invalid cells range'
|
textInvalidRange: 'ERROR! Invalid cells range',
|
||||||
|
textInvalidName: 'The range title must begin with a letter and may only contain letters, numbers, and spaces.',
|
||||||
|
textExistName: 'ERROR! Range with such a title already exists'
|
||||||
|
|
||||||
}, SSE.Views.ProtectDialog || {}));
|
}, SSE.Views.ProtectDialog || {}));
|
||||||
});
|
});
|
||||||
|
|
|
@ -248,11 +248,16 @@ define([ 'text!spreadsheeteditor/main/app/template/ProtectRangesDlg.template',
|
||||||
props = new Asc.CProtectedRange();
|
props = new Asc.CProtectedRange();
|
||||||
props.asc_setSqref(me.api.asc_getActiveRangeStr(Asc.referenceType.A));
|
props.asc_setSqref(me.api.asc_getActiveRangeStr(Asc.referenceType.A));
|
||||||
}
|
}
|
||||||
|
var names = [];
|
||||||
|
this.rangeList.store.each(function(item){
|
||||||
|
names.push(item.get('name').toLowerCase());
|
||||||
|
});
|
||||||
|
|
||||||
var win = new SSE.Views.ProtectDialog({
|
var win = new SSE.Views.ProtectDialog({
|
||||||
title : isEdit ? me.txtEditRange : me.txtNewRange,
|
title : isEdit ? me.txtEditRange : me.txtNewRange,
|
||||||
type : 'range',
|
type : 'range',
|
||||||
props : props,
|
props : props,
|
||||||
|
names : names,
|
||||||
isEdit : isEdit,
|
isEdit : isEdit,
|
||||||
api : me.api,
|
api : me.api,
|
||||||
buttons : ['ok', 'cancel'],
|
buttons : ['ok', 'cancel'],
|
||||||
|
|
Loading…
Reference in a new issue