Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / jalview / commands / RemoveGapColCommand.js
1 Clazz.declarePackage ("jalview.commands");
2 Clazz.load (["jalview.commands.EditCommand"], "jalview.commands.RemoveGapColCommand", ["jalview.util.Comparison"], function () {
3 c$ = Clazz.decorateAsClass (function () {
4 this.columnsDeleted = 0;
5 Clazz.instantialize (this, arguments);
6 }, jalview.commands, "RemoveGapColCommand", jalview.commands.EditCommand);
7 Clazz.makeConstructor (c$, 
8 function (description, seqs, start, end, al) {
9 Clazz.superConstructor (this, jalview.commands.RemoveGapColCommand, []);
10 this.description = description;
11 var j;
12 var jSize = seqs.length;
13 var startCol = -1;
14 var endCol = -1;
15 this.columnsDeleted = 0;
16 this.clearEdits ();
17 var $delete = true;
18 for (var i = start; i <= end; i++) {
19 $delete = true;
20 for (j = 0; j < jSize; j++) {
21 if (seqs[j].getLength () > i) {
22 if (!jalview.util.Comparison.isGap (seqs[j].getCharAt (i))) {
23 if ($delete) {
24 endCol = i;
25 }$delete = false;
26 break;
27 }}}
28 if ($delete && startCol == -1) {
29 startCol = i;
30 }if (!$delete && startCol > -1) {
31 this.appendEdit (jalview.commands.EditCommand.Action.DELETE_GAP, seqs, startCol - this.columnsDeleted, endCol - startCol, al, false, null);
32 this.columnsDeleted += (endCol - startCol);
33 startCol = -1;
34 endCol = -1;
35 }}
36 if ($delete && startCol > -1) {
37 this.appendEdit (jalview.commands.EditCommand.Action.DELETE_GAP, seqs, startCol - this.columnsDeleted, end - startCol + 1, al, false, null);
38 this.columnsDeleted += (end - startCol + 1);
39 }this.performEdit (0, null);
40 }, "~S,~A,~N,~N,jalview.datamodel.AlignmentI");
41 Clazz.overrideMethod (c$, "getSize", 
42 function () {
43 return this.columnsDeleted;
44 });
45 });