Signature refactoring.

This commit is contained in:
Julia Radzhabova 2017-11-21 11:34:38 +03:00
parent c5479c0052
commit ae40346e26
7 changed files with 240 additions and 167 deletions

View file

@ -323,8 +323,8 @@ define([
var date = certificate.date,
arr_date = (typeof date == 'string') ? date.split(' - ') : ['', ''];
this.cntCertificate.html(this.templateCertificate({name: certificate.name, valid: this.textValid.replace('%1', arr_date[0]).replace('%2', arr_date[1])}));
this.cntCertificate.toggleClass('hidden', this.certificateId<0);
this.btnOk.setDisabled(this.certificateId<0);
this.cntCertificate.toggleClass('hidden', _.isEmpty(this.certificateId) || this.certificateId<0);
this.btnOk.setDisabled(_.isEmpty(this.certificateId) || this.certificateId<0);
},
onSelectImage: function() {

View file

@ -63,11 +63,12 @@ define([
initialize: function () {
this._state = {
requestedSignatures: undefined,
validSignatures: undefined,
invalidSignatures: undefined,
DisabledEditing: false,
ready: false
ready: false,
hasValid: false,
hasInvalid: false,
hasRequested: false,
tip: undefined
};
this._locked = false;
@ -88,7 +89,7 @@ define([
enableKeyEvents: false,
itemTemplate: _.template([
'<div id="<%= id %>" class="signature-item requested">',
'<div class="caret img-commonctrl"></div>',
'<div class="caret img-commonctrl nomargin"></div>',
'<div class="name"><%= Common.Utils.String.htmlEncode(name) %></div>',
'</div>'
].join(''))
@ -99,7 +100,7 @@ define([
enableKeyEvents: false,
itemTemplate: _.template([
'<div id="<%= id %>" class="signature-item">',
'<div class="caret img-commonctrl"></div>',
'<div class="caret img-commonctrl <% if (name == "" || date == "") { %>' + 'nomargin' + '<% } %>"></div>',
'<div class="name"><%= Common.Utils.String.htmlEncode(name) %></div>',
'<div class="date"><%= Common.Utils.String.htmlEncode(date) %></div>',
'</div>'
@ -111,7 +112,7 @@ define([
enableKeyEvents: false,
itemTemplate: _.template([
'<div id="<%= id %>" class="signature-item">',
'<div class="caret img-commonctrl"></div>',
'<div class="caret img-commonctrl <% if (name == "" || date == "") { %>' + 'nomargin' + '<% } %>"></div>',
'<div class="name"><%= Common.Utils.String.htmlEncode(name) %></div>',
'<div class="date"><%= Common.Utils.String.htmlEncode(date) %></div>',
'</div>'
@ -144,7 +145,7 @@ define([
},
ChangeSettings: function(props) {
if (!this._state.requestedSignatures || !this._state.validSignatures || !this._state.invalidSignatures)
if (!this._state.hasRequested && !this._state.hasValid && !this._state.hasInvalid)
this.updateSignatures(this.api.asc_getSignatures(), this.api.asc_getRequestSignatures());
},
@ -160,36 +161,41 @@ define([
if (!this._state.ready) return;
this.updateSignatures(valid, requested);
this.showSignatureTooltip(this._state.validSignatures.length>0, this._state.invalidSignatures.length>0);
this.showSignatureTooltip(this._state.hasValid, this._state.hasInvalid);
},
updateSignatures: function(valid, requested){
var me = this;
me._state.requestedSignatures = [];
me._state.validSignatures = [];
me._state.invalidSignatures = [];
var me = this,
requestedSignatures = [],
validSignatures = [],
invalidSignatures = [];
_.each(requested, function(item, index){
me._state.requestedSignatures.push({name: item.asc_getSigner1(), guid: item.asc_getGuid(), requested: true});
requestedSignatures.push({name: item.asc_getSigner1(), guid: item.asc_getGuid(), requested: true});
});
_.each(valid, function(item, index){
var sign = {name: item.asc_getSigner1(), certificateId: item.asc_getId(), guid: item.asc_getGuid(), date: item.asc_getDate(), invisible: !item.asc_getVisible()};
(item.asc_getValid()==0) ? me._state.validSignatures.push(sign) : me._state.invalidSignatures.push(sign);
var item_date = item.asc_getDate();
var sign = {name: item.asc_getSigner1(), certificateId: item.asc_getId(), guid: item.asc_getGuid(), date: (!_.isEmpty(item_date)) ? new Date(item_date).toLocaleString() : '', invisible: !item.asc_getVisible()};
(item.asc_getValid()==0) ? validSignatures.push(sign) : invalidSignatures.push(sign);
});
// me._state.requestedSignatures = [{name: 'Hammish Mitchell', guid: '123', requested: true}, {name: 'Someone Somewhere', guid: '123', requested: true}, {name: 'Mary White', guid: '123', requested: true}, {name: 'John Black', guid: '123', requested: true}];
// me._state.validSignatures = [{name: 'Hammish Mitchell', guid: '123', date: '18/05/2017', invisible: true}, {name: 'Someone Somewhere', guid: '345', date: '18/05/2017'}];
// me._state.invalidSignatures = [{name: 'Mary White', guid: '111', date: '18/05/2017'}, {name: 'John Black', guid: '456', date: '18/05/2017'}];
// requestedSignatures = [{name: 'Hammish Mitchell', guid: '123', requested: true}, {name: 'Someone Somewhere', guid: '123', requested: true}, {name: 'Mary White', guid: '123', requested: true}, {name: 'John Black', guid: '123', requested: true}];
// validSignatures = [{name: 'Hammish Mitchell', guid: '123', date: '18/05/2017', invisible: true}, {name: 'Someone Somewhere', guid: '345', date: '18/05/2017'}];
// invalidSignatures = [{name: 'Mary White', guid: '111', date: '18/05/2017'}, {name: 'John Black', guid: '456', date: '18/05/2017'}];
this.viewRequestedList.store.reset(me._state.requestedSignatures);
this.viewValidList.store.reset(me._state.validSignatures);
this.viewInvalidList.store.reset(me._state.invalidSignatures);
me._state.hasValid = validSignatures.length>0;
me._state.hasInvalid = invalidSignatures.length>0;
me._state.hasRequested = requestedSignatures.length>0;
this.$el.find('.requested').toggleClass('hidden', me._state.requestedSignatures.length<1);
this.$el.find('.valid').toggleClass('hidden', me._state.validSignatures.length<1);
this.$el.find('.invalid').toggleClass('hidden', me._state.invalidSignatures.length<1);
this.viewRequestedList.store.reset(requestedSignatures);
this.viewValidList.store.reset(validSignatures);
this.viewInvalidList.store.reset(invalidSignatures);
me.disableEditing(me._state.validSignatures.length>0 || me._state.invalidSignatures.length>0);
this.$el.find('.requested').toggleClass('hidden', !me._state.hasRequested);
this.$el.find('.valid').toggleClass('hidden', !me._state.hasValid);
this.$el.find('.invalid').toggleClass('hidden', !me._state.hasInvalid);
me.disableEditing(me._state.hasValid || me._state.hasInvalid);
},
onSelectSignature: function(picker, item, record, e){
@ -232,7 +238,7 @@ define([
});
}
var requested = record.get('requested'),
signed = (this._state.validSignatures.length>0 || this._state.invalidSignatures.length>0);
signed = (this._state.hasValid || this._state.hasInvalid);
menu.items[0].setVisible(requested);
menu.items[1].setVisible(!requested);
menu.items[2].setVisible(requested || !record.get('invisible'));
@ -282,44 +288,63 @@ define([
this._state.ready = true;
this.updateSignatures(this.api.asc_getSignatures(), this.api.asc_getRequestSignatures());
this.showSignatureTooltip(this._state.validSignatures.length>0, this._state.invalidSignatures.length>0, this._state.requestedSignatures.length>0);
this.showSignatureTooltip(this._state.hasValid, this._state.hasInvalid, this._state.hasRequested);
},
showSignatureTooltip: function(hasValid, hasInvalid, hasRequested) {
if (!hasValid && !hasInvalid && !hasRequested) return;
var tipText = (hasInvalid) ? this.txtSignedInvalid : (hasValid ? this.txtSigned : "");
if (hasRequested)
tipText = this.txtRequestedSignatures + "<br><br>" + tipText;
var me = this,
tip = me._state.tip;
if (!hasValid && !hasInvalid && !hasRequested) {
if (tip && tip.isVisible()) {
tip.close();
me._state.tip = undefined;
}
return;
}
var showLink = hasValid || hasInvalid,
tipText = (hasInvalid) ? me.txtSignedInvalid : (hasValid ? me.txtSigned : "");
if (hasRequested)
tipText = me.txtRequestedSignatures + "<br><br>" + tipText;
if (tip && tip.isVisible() && (tipText !== tip.text || showLink !== tip.showLink)) {
tip.close();
me._state.tip = undefined;
}
if (!me._state.tip) {
tip = new Common.UI.SynchronizeTip({
target : DE.getController('RightMenu').getView('RightMenu').btnSignature.btnEl,
text : tipText,
showLink: hasValid || hasInvalid,
showLink: showLink,
textLink: this.txtContinueEditing,
placement: 'left'
});
tip.on({
'dontshowclick': function() {
Common.UI.warning({
title: me.notcriticalErrorTitle,
msg: me.txtEditWarning,
buttons: ['ok', 'cancel'],
primary: 'ok',
callback: function(btn) {
if (btn == 'ok') {
tip.close();
me.api.asc_RemoveAllSignatures();
tip.on({
'dontshowclick': function() {
Common.UI.warning({
title: me.notcriticalErrorTitle,
msg: me.txtEditWarning,
buttons: ['ok', 'cancel'],
primary: 'ok',
callback: function(btn) {
if (btn == 'ok') {
tip.close();
me._state.tip = undefined;
me.api.asc_RemoveAllSignatures();
}
}
}
});
},
'closeclick': function() {
tip.close();
}
});
tip.show();
});
},
'closeclick': function() {
tip.close();
me._state.tip = undefined;
}
});
me._state.tip = tip;
tip.show();
}
},
disableEditing: function(disable) {

View file

@ -293,6 +293,7 @@ button:active:not(.disabled) .btn-change-shape {background-position: -56px -
.signature-item {
padding: 5px 2px 5px 15px;
text-overflow: ellipsis;
min-height: 25px;
.name {
width: 100%;
@ -312,11 +313,10 @@ button:active:not(.disabled) .btn-change-shape {background-position: -56px -
display: inline-block;
position: absolute;
right: 0;
}
&.requested {
.caret {
margin: 0 15px;
&.nomargin {
margin-top: 0;
margin-bottom: 0;
}
}
}

View file

@ -63,11 +63,11 @@ define([
initialize: function () {
this._state = {
requestedSignatures: undefined,
validSignatures: undefined,
invalidSignatures: undefined,
DisabledEditing: false,
ready: false
ready: false,
hasValid: false,
hasInvalid: false,
tip: undefined
};
this._locked = false;
@ -88,7 +88,7 @@ define([
enableKeyEvents: false,
itemTemplate: _.template([
'<div id="<%= id %>" class="signature-item">',
'<div class="caret img-commonctrl"></div>',
'<div class="caret img-commonctrl <% if (name == "" || date == "") { %>' + 'nomargin' + '<% } %>"></div>',
'<div class="name"><%= Common.Utils.String.htmlEncode(name) %></div>',
'<div class="date"><%= Common.Utils.String.htmlEncode(date) %></div>',
'</div>'
@ -100,7 +100,7 @@ define([
enableKeyEvents: false,
itemTemplate: _.template([
'<div id="<%= id %>" class="signature-item">',
'<div class="caret img-commonctrl"></div>',
'<div class="caret img-commonctrl <% if (name == "" || date == "") { %>' + 'nomargin' + '<% } %>"></div>',
'<div class="name"><%= Common.Utils.String.htmlEncode(name) %></div>',
'<div class="date"><%= Common.Utils.String.htmlEncode(date) %></div>',
'</div>'
@ -130,7 +130,7 @@ define([
},
ChangeSettings: function(props) {
if (!this._state.validSignatures || !this._state.invalidSignatures)
if (!this._state.hasValid && !this._state.hasInvalid)
this.updateSignatures(this.api.asc_getSignatures());
},
@ -146,29 +146,33 @@ define([
if (!this._state.ready) return;
this.updateSignatures(valid);
this.showSignatureTooltip(this._state.validSignatures.length>0, this._state.invalidSignatures.length>0);
this.showSignatureTooltip(this._state.hasValid, this._state.hasInvalid);
},
updateSignatures: function(valid){
var me = this;
me._state.validSignatures = [];
me._state.invalidSignatures = [];
var me = this,
validSignatures = [],
invalidSignatures = [];
_.each(valid, function(item, index){
var sign = {name: item.asc_getSigner1(), certificateId: item.asc_getId(), guid: item.asc_getGuid(), date: item.asc_getDate()};
(item.asc_getValid()==0) ? me._state.validSignatures.push(sign) : me._state.invalidSignatures.push(sign);
var item_date = item.asc_getDate();
var sign = {name: item.asc_getSigner1(), certificateId: item.asc_getId(), guid: item.asc_getGuid(), date: (!_.isEmpty(item_date)) ? new Date(item_date).toLocaleString() : '', invisible: !item.asc_getVisible()};
(item.asc_getValid()==0) ? validSignatures.push(sign) : invalidSignatures.push(sign);
});
// me._state.validSignatures = [{name: 'Hammish Mitchell', guid: '123', date: '18/05/2017', invisible: true}, {name: 'Someone Somewhere', guid: '345', date: '18/05/2017'}];
// me._state.invalidSignatures = [{name: 'Mary White', guid: '111', date: '18/05/2017'}, {name: 'John Black', guid: '456', date: '18/05/2017'}];
// validSignatures = [{name: 'Hammish Mitchell', guid: '123', date: '18/05/2017', invisible: true}, {name: 'Someone Somewhere', guid: '345', date: '18/05/2017'}];
// invalidSignatures = [{name: 'Mary White', guid: '111', date: '18/05/2017'}, {name: 'John Black', guid: '456', date: '18/05/2017'}];
this.viewValidList.store.reset(me._state.validSignatures);
this.viewInvalidList.store.reset(me._state.invalidSignatures);
me._state.hasValid = validSignatures.length>0;
me._state.hasInvalid = invalidSignatures.length>0;
this.$el.find('.valid').toggleClass('hidden', me._state.validSignatures.length<1);
this.$el.find('.invalid').toggleClass('hidden', me._state.invalidSignatures.length<1);
this.viewValidList.store.reset(validSignatures);
this.viewInvalidList.store.reset(invalidSignatures);
me.disableEditing(me._state.validSignatures.length>0 || me._state.invalidSignatures.length>0);
this.$el.find('.valid').toggleClass('hidden', !me._state.hasValid);
this.$el.find('.invalid').toggleClass('hidden', !me._state.hasInvalid);
me.disableEditing(me._state.hasValid || me._state.hasInvalid);
},
onSelectSignature: function(picker, item, record, e){
@ -244,42 +248,61 @@ define([
this._state.ready = true;
this.updateSignatures(this.api.asc_getSignatures(), this.api.asc_getRequestSignatures());
this.showSignatureTooltip(this._state.validSignatures.length>0, this._state.invalidSignatures.length>0);
this.showSignatureTooltip(this._state.hasValid, this._state.hasInvalid);
},
showSignatureTooltip: function(hasValid, hasInvalid) {
if (!hasValid && !hasInvalid) return;
var tipText = (hasInvalid) ? this.txtSignedInvalid : (hasValid ? this.txtSigned : "");
var me = this,
tip = me._state.tip;
if (!hasValid && !hasInvalid) {
if (tip && tip.isVisible()) {
tip.close();
me._state.tip = undefined;
}
return;
}
var showLink = hasValid || hasInvalid,
tipText = (hasInvalid) ? me.txtSignedInvalid : (hasValid ? me.txtSigned : "");
if (tip && tip.isVisible() && (tipText !== tip.text || showLink !== tip.showLink)) {
tip.close();
me._state.tip = undefined;
}
if (!me._state.tip) {
tip = new Common.UI.SynchronizeTip({
target : PE.getController('RightMenu').getView('RightMenu').btnSignature.btnEl,
text : tipText,
showLink: hasValid || hasInvalid,
showLink: showLink,
textLink: this.txtContinueEditing,
placement: 'left'
});
tip.on({
'dontshowclick': function() {
Common.UI.warning({
title: me.notcriticalErrorTitle,
msg: me.txtEditWarning,
buttons: ['ok', 'cancel'],
primary: 'ok',
callback: function(btn) {
if (btn == 'ok') {
tip.close();
me.api.asc_RemoveAllSignatures();
tip.on({
'dontshowclick': function() {
Common.UI.warning({
title: me.notcriticalErrorTitle,
msg: me.txtEditWarning,
buttons: ['ok', 'cancel'],
primary: 'ok',
callback: function(btn) {
if (btn == 'ok') {
tip.close();
me._state.tip = undefined;
me.api.asc_RemoveAllSignatures();
}
}
}
});
},
'closeclick': function() {
tip.close();
}
});
tip.show();
});
},
'closeclick': function() {
tip.close();
me._state.tip = undefined;
}
});
me._state.tip = tip;
tip.show();
}
},
disableEditing: function(disable) {

View file

@ -229,6 +229,7 @@ button:active:not(.disabled) .btn-change-shape {background-position: -56px -
.signature-item {
padding: 5px 2px 5px 15px;
text-overflow: ellipsis;
min-height: 25px;
.name {
width: 100%;
@ -248,11 +249,10 @@ button:active:not(.disabled) .btn-change-shape {background-position: -56px -
display: inline-block;
position: absolute;
right: 0;
}
&.requested {
.caret {
margin: 0 15px;
&.nomargin {
margin-top: 0;
margin-bottom: 0;
}
}
}

View file

@ -63,11 +63,12 @@ define([
initialize: function () {
this._state = {
requestedSignatures: undefined,
validSignatures: undefined,
invalidSignatures: undefined,
DisabledEditing: false,
ready: false
ready: false,
hasValid: false,
hasInvalid: false,
hasRequested: false,
tip: undefined
};
this._locked = false;
@ -88,7 +89,7 @@ define([
enableKeyEvents: false,
itemTemplate: _.template([
'<div id="<%= id %>" class="signature-item requested">',
'<div class="caret img-commonctrl"></div>',
'<div class="caret img-commonctrl nomargin"></div>',
'<div class="name"><%= Common.Utils.String.htmlEncode(name) %></div>',
'</div>'
].join(''))
@ -99,7 +100,7 @@ define([
enableKeyEvents: false,
itemTemplate: _.template([
'<div id="<%= id %>" class="signature-item">',
'<div class="caret img-commonctrl"></div>',
'<div class="caret img-commonctrl <% if (name == "" || date == "") { %>' + 'nomargin' + '<% } %>"></div>',
'<div class="name"><%= Common.Utils.String.htmlEncode(name) %></div>',
'<div class="date"><%= Common.Utils.String.htmlEncode(date) %></div>',
'</div>'
@ -111,7 +112,7 @@ define([
enableKeyEvents: false,
itemTemplate: _.template([
'<div id="<%= id %>" class="signature-item">',
'<div class="caret img-commonctrl"></div>',
'<div class="caret img-commonctrl <% if (name == "" || date == "") { %>' + 'nomargin' + '<% } %>"></div>',
'<div class="name"><%= Common.Utils.String.htmlEncode(name) %></div>',
'<div class="date"><%= Common.Utils.String.htmlEncode(date) %></div>',
'</div>'
@ -144,7 +145,7 @@ define([
},
ChangeSettings: function(props) {
if (!this._state.requestedSignatures || !this._state.validSignatures || !this._state.invalidSignatures)
if (!this._state.hasRequested && !this._state.hasValid && !this._state.hasInvalid)
this.updateSignatures(this.api.asc_getSignatures(), this.api.asc_getRequestSignatures());
},
@ -160,36 +161,41 @@ define([
if (!this._state.ready) return;
this.updateSignatures(valid, requested);
this.showSignatureTooltip(this._state.validSignatures.length>0, this._state.invalidSignatures.length>0);
this.showSignatureTooltip(this._state.hasValid, this._state.hasInvalid);
},
updateSignatures: function(valid, requested){
var me = this;
me._state.requestedSignatures = [];
me._state.validSignatures = [];
me._state.invalidSignatures = [];
var me = this,
requestedSignatures = [],
validSignatures = [],
invalidSignatures = [];
_.each(requested, function(item, index){
me._state.requestedSignatures.push({name: item.asc_getSigner1(), guid: item.asc_getGuid(), requested: true});
requestedSignatures.push({name: item.asc_getSigner1(), guid: item.asc_getGuid(), requested: true});
});
_.each(valid, function(item, index){
var sign = {name: item.asc_getSigner1(), certificateId: item.asc_getId(), guid: item.asc_getGuid(), date: item.asc_getDate(), invisible: !item.asc_getVisible()};
(item.asc_getValid()==0) ? me._state.validSignatures.push(sign) : me._state.invalidSignatures.push(sign);
var item_date = item.asc_getDate();
var sign = {name: item.asc_getSigner1(), certificateId: item.asc_getId(), guid: item.asc_getGuid(), date: (!_.isEmpty(item_date)) ? new Date(item_date).toLocaleString() : '', invisible: !item.asc_getVisible()};
(item.asc_getValid()==0) ? validSignatures.push(sign) : invalidSignatures.push(sign);
});
// me._state.requestedSignatures = [{name: 'Hammish Mitchell', guid: '123', requested: true}, {name: 'Someone Somewhere', guid: '123', requested: true}, {name: 'Mary White', guid: '123', requested: true}, {name: 'John Black', guid: '123', requested: true}];
// me._state.validSignatures = [{name: 'Hammish Mitchell', guid: '123', date: '18/05/2017', invisible: true}, {name: 'Someone Somewhere', guid: '345', date: '18/05/2017'}];
// me._state.invalidSignatures = [{name: 'Mary White', guid: '111', date: '18/05/2017'}, {name: 'John Black', guid: '456', date: '18/05/2017'}];
// requestedSignatures = [{name: 'Hammish Mitchell', guid: '123', requested: true}, {name: 'Someone Somewhere', guid: '123', requested: true}, {name: 'Mary White', guid: '123', requested: true}, {name: 'John Black', guid: '123', requested: true}];
// validSignatures = [{name: 'Hammish Mitchell', guid: '123', date: '18/05/2017', invisible: true}, {name: 'Someone Somewhere', guid: '345', date: '18/05/2017'}];
// invalidSignatures = [{name: 'Mary White', guid: '111', date: '18/05/2017'}, {name: 'John Black', guid: '456', date: '18/05/2017'}];
this.viewRequestedList.store.reset(me._state.requestedSignatures);
this.viewValidList.store.reset(me._state.validSignatures);
this.viewInvalidList.store.reset(me._state.invalidSignatures);
me._state.hasValid = validSignatures.length>0;
me._state.hasInvalid = invalidSignatures.length>0;
me._state.hasRequested = requestedSignatures.length>0;
this.$el.find('.requested').toggleClass('hidden', me._state.requestedSignatures.length<1);
this.$el.find('.valid').toggleClass('hidden', me._state.validSignatures.length<1);
this.$el.find('.invalid').toggleClass('hidden', me._state.invalidSignatures.length<1);
this.viewRequestedList.store.reset(requestedSignatures);
this.viewValidList.store.reset(validSignatures);
this.viewInvalidList.store.reset(invalidSignatures);
me.disableEditing(me._state.validSignatures.length>0 || me._state.invalidSignatures.length>0);
this.$el.find('.requested').toggleClass('hidden', !me._state.hasRequested);
this.$el.find('.valid').toggleClass('hidden', !me._state.hasValid);
this.$el.find('.invalid').toggleClass('hidden', !me._state.hasInvalid);
me.disableEditing(me._state.hasValid || me._state.hasInvalid);
},
onSelectSignature: function(picker, item, record, e){
@ -232,7 +238,7 @@ define([
});
}
var requested = record.get('requested'),
signed = (this._state.validSignatures.length>0 || this._state.invalidSignatures.length>0);
signed = (this._state.hasValid || this._state.hasInvalid);
menu.items[0].setVisible(requested);
menu.items[1].setVisible(!requested);
menu.items[2].setVisible(requested || !record.get('invisible'));
@ -282,44 +288,63 @@ define([
this._state.ready = true;
this.updateSignatures(this.api.asc_getSignatures(), this.api.asc_getRequestSignatures());
this.showSignatureTooltip(this._state.validSignatures.length>0, this._state.invalidSignatures.length>0, this._state.requestedSignatures.length>0);
this.showSignatureTooltip(this._state.hasValid, this._state.hasInvalid, this._state.hasRequested);
},
showSignatureTooltip: function(hasValid, hasInvalid, hasRequested) {
if (!hasValid && !hasInvalid && !hasRequested) return;
var tipText = (hasInvalid) ? this.txtSignedInvalid : (hasValid ? this.txtSigned : "");
if (hasRequested)
tipText = this.txtRequestedSignatures + "<br><br>" + tipText;
var me = this,
tip = me._state.tip;
if (!hasValid && !hasInvalid && !hasRequested) {
if (tip && tip.isVisible()) {
tip.close();
me._state.tip = undefined;
}
return;
}
var showLink = hasValid || hasInvalid,
tipText = (hasInvalid) ? me.txtSignedInvalid : (hasValid ? me.txtSigned : "");
if (hasRequested)
tipText = me.txtRequestedSignatures + "<br><br>" + tipText;
if (tip && tip.isVisible() && (tipText !== tip.text || showLink !== tip.showLink)) {
tip.close();
me._state.tip = undefined;
}
if (!me._state.tip) {
tip = new Common.UI.SynchronizeTip({
target : SSE.getController('RightMenu').getView('RightMenu').btnSignature.btnEl,
text : tipText,
showLink: hasValid || hasInvalid,
showLink: showLink,
textLink: this.txtContinueEditing,
placement: 'left'
});
tip.on({
'dontshowclick': function() {
Common.UI.warning({
title: me.notcriticalErrorTitle,
msg: me.txtEditWarning,
buttons: ['ok', 'cancel'],
primary: 'ok',
callback: function(btn) {
if (btn == 'ok') {
tip.close();
me.api.asc_RemoveAllSignatures();
tip.on({
'dontshowclick': function() {
Common.UI.warning({
title: me.notcriticalErrorTitle,
msg: me.txtEditWarning,
buttons: ['ok', 'cancel'],
primary: 'ok',
callback: function(btn) {
if (btn == 'ok') {
tip.close();
me._state.tip = undefined;
me.api.asc_RemoveAllSignatures();
}
}
}
});
},
'closeclick': function() {
tip.close();
}
});
tip.show();
});
},
'closeclick': function() {
tip.close();
me._state.tip = undefined;
}
});
me._state.tip = tip;
tip.show();
}
},
disableEditing: function(disable) {

View file

@ -415,6 +415,7 @@ button:active:not(.disabled) .btn-change-shape {background-position: -56px -
.signature-item {
padding: 5px 2px 5px 15px;
text-overflow: ellipsis;
min-height: 25px;
.name {
width: 100%;
@ -434,11 +435,10 @@ button:active:not(.disabled) .btn-change-shape {background-position: -56px -
display: inline-block;
position: absolute;
right: 0;
}
&.requested {
.caret {
margin: 0 15px;
&.nomargin {
margin-top: 0;
margin-bottom: 0;
}
}
}