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