Skip to content
Snippets Groups Projects
Commit cd30caa1 authored by Alexander Rose's avatar Alexander Rose
Browse files

better align negative sequence numbers in ui

parent 41bc74e5
No related branches found
No related tags found
No related merge requests found
...@@ -56,4 +56,12 @@ ...@@ -56,4 +56,12 @@
.msp-sequence-number-long { .msp-sequence-number-long {
left: 3.3em; left: 3.3em;
} }
.msp-sequence-number-long-negative {
left: 2.7em;
}
.msp-sequence-number-negative {
left: 2.5em;
}
} }
\ No newline at end of file
...@@ -115,10 +115,15 @@ export class Sequence<P extends SequenceProps> extends PluginUIComponent<P> { ...@@ -115,10 +115,15 @@ export class Sequence<P extends SequenceProps> extends PluginUIComponent<P> {
return <span key={seqIdx} data-seqid={seqIdx} style={{ color: Color.toStyle(color), backgroundColor: this.getBackgroundColor(marker) }} className={this.getResidueClass(seqIdx, label)}>{label}</span>; return <span key={seqIdx} data-seqid={seqIdx} style={{ color: Color.toStyle(color), backgroundColor: this.getBackgroundColor(marker) }} className={this.getResidueClass(seqIdx, label)}>{label}</span>;
} }
private getSequenceNumberClass(seqIdx: number, label: string) { private getSequenceNumberClass(seqIdx: number, seqNum: string, label: string) {
return label.length > 1 && seqIdx > 0 const classList = ['msp-sequence-number']
? 'msp-sequence-number msp-sequence-number-long' if (seqNum.startsWith('-')) {
: 'msp-sequence-number' if (label.length > 1 && seqIdx > 0) classList.push('msp-sequence-number-long-negative')
else classList.push('msp-sequence-number-negative')
} else {
if (label.length > 1 && seqIdx > 0) classList.push('msp-sequence-number-long')
}
return classList.join(' ')
} }
private location = StructureElement.Location.create(); private location = StructureElement.Location.create();
...@@ -127,19 +132,19 @@ export class Sequence<P extends SequenceProps> extends PluginUIComponent<P> { ...@@ -127,19 +132,19 @@ export class Sequence<P extends SequenceProps> extends PluginUIComponent<P> {
return n; return n;
} }
private getSequenceNumber(seqIdx: number, label: string) { private getSequenceNumber(seqIdx: number, label: string) {
let sequenceNumber = '' let seqNum = ''
const loci = this.props.sequenceWrapper.getLoci(seqIdx) const loci = this.props.sequenceWrapper.getLoci(seqIdx)
const l = StructureElement.Loci.getFirstLocation(loci, this.location); const l = StructureElement.Loci.getFirstLocation(loci, this.location);
if (l) { if (l) {
if (Unit.isAtomic(l.unit)) { if (Unit.isAtomic(l.unit)) {
const seqId = StructureProperties.residue.auth_seq_id(l) const seqId = StructureProperties.residue.auth_seq_id(l)
const insCode = StructureProperties.residue.pdbx_PDB_ins_code(l) const insCode = StructureProperties.residue.pdbx_PDB_ins_code(l)
sequenceNumber = `${seqId}${insCode ? insCode : ''}` seqNum = `${seqId}${insCode ? insCode : ''}`
} else if (Unit.isCoarse(l.unit)) { } else if (Unit.isCoarse(l.unit)) {
sequenceNumber = `${seqIdx + 1}` seqNum = `${seqIdx + 1}`
} }
} }
return <span key={`marker-${seqIdx}`} className={this.getSequenceNumberClass(seqIdx, label)}>{this.padSeqNum(sequenceNumber)}</span> return <span key={`marker-${seqIdx}`} className={this.getSequenceNumberClass(seqIdx, seqNum, label)}>{this.padSeqNum(seqNum)}</span>
} }
private updateMarker() { private updateMarker() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment