4
4
<meta charset="utf-8">
5
5
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6
6
<meta name="viewport" content="width=device-width, initial-scale=1">
7
- <title>Cache- Git Settings</title>
8
- <link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
7
+ <title>IRIS/ Git Integration Settings</title>
8
+ <link rel="stylesheet" type="text/css" href="css/bootstrap.min. css" />
9
9
<link rel="stylesheet" type="text/css" href="css/git-webui.css" />
10
10
<STYLE type='text/css'>
11
11
.error {
12
12
color: red;
13
13
}
14
+
15
+ body {
16
+ font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
17
+ font-size: 1rem;
18
+ font-weight: 350;
19
+ line-height: 1.5;
20
+ color: #212529;
21
+ text-align: left;
22
+ }
23
+
24
+ .btn-add {
25
+ border:none;
26
+ padding:0%;
27
+ margin-left:0%;
28
+ margin-top:-2%;
29
+ }
30
+ .btn-remove {
31
+ border: 1px solid #ced4da;
32
+ border-left: none;
33
+ border-radius: 0 0.25rem 0.25rem 0;
34
+ }
35
+
36
+ hr {
37
+ opacity: 0.15
38
+ }
39
+
14
40
</STYLE>
15
41
</head>
16
42
<body>
19
45
set namespace = %request.Data("NSpace",1)
20
46
set $namespace = namespace
21
47
set settings = ##class(SourceControl.Git.Settings).%New()
48
+ set ^test = settings
22
49
if $Data(%request.Data("gitsettings",1)) {
23
- for param="gitBinPath","namespaceTemp","privateKeyFile","pullEventClass","gitUserName","gitUserEmail" {
24
- set $Property(settings,param) = $Get(%request.Data(param,1))
25
- }
26
- do settings.%Save()
27
- }
50
+ for param="gitBinPath","namespaceTemp","privateKeyFile","pullEventClass","gitUserName","gitUserEmail"{
51
+ set $Property(settings,param) = $Get(%request.Data(param,1))
52
+ }
53
+ set i = 1
54
+ set param = "MappingsPath"
55
+ kill settings.Mappings
56
+ while ( $Get(%request.Data(param,i)) '= "" ){
57
+ set settings.Mappings($Get(%request.Data("MappingsExt",i)), $Get(%request.Data("MappingsCov",i))) = $Get(%request.Data(param,i))
58
+ set i = i+1
59
+ }
60
+ do settings.%Save()
61
+ }
28
62
</server>
29
63
<div class = 'container'>
30
- <div class="col-sm-1"></div>
64
+ <div class="col-sm-1"><br/></div>
65
+
31
66
<form method='post'>
32
67
<input type="hidden" name="NSpace" value="#(..EscapeHTML(namespace))#" />
33
68
<input type="hidden" name="gitsettings" value="1" />
34
- <h1>Git Project Settings</h1>
35
- <h3>Settings for namespace #(..EscapeHTML(namespace))#</h3>
69
+ <div class="col-sm-1"></div>
70
+ <h1>Git Project Settings</h1><hr/>
71
+ <br/>
72
+ <h3>Settings for namespace #(..EscapeHTML(namespace))#</h3><br/>
36
73
37
- <div class="form-group row">
38
- <label for="gitBinPath" class="col-sm-4 col-form-label">Path to git.exe <br> (e.g. C:\Program Files\ Git\bin\ git.exe) </label>
39
- <div class="col-sm-8 ">
74
+ <div class="form-group row mb-3 ">
75
+ <label for="gitBinPath" class="col-sm-3 col-form-label" data-toggle="tooltip" title="Absolute path to the Git executable">Path to git.exe</small></small> </label>
76
+ <div class="col-sm-7 ">
40
77
<input type="text" class="form-control" id="gitBinPath" name="gitBinPath" value='#(..EscapeHTML(settings.gitBinPath))#' placeholder="(e.g. C:\Program Files\Git\bin\git.exe)">
41
78
<csp:if condition='$D(%request.Data("gitsettings",1)) && (##class(SourceControl.Git.Utils).GitBinExists()=0)'>
42
79
<p class="text-danger">File not found</p>
43
80
</csp:if>
44
81
</div>
45
82
</div>
46
83
47
- <div class="form-group row">
48
- <label for="namespaceTemp" class="col-sm-4 col-form-label">Temp folder for this namespace<br/>(e.g. c:\someproj\) </label>
49
- <div class="col-sm-8 ">
50
- <input type="text" class="form-control" id="namespaceTemp" name="namespaceTemp" value='#(..EscapeHTML(settings.namespaceTemp))#'/>
84
+ <div class="form-group row mb-3 ">
85
+ <label for="namespaceTemp" class="col-sm-3 col-form-label" data-toggle="tooltip" title="Absolute path to you project" >Temp folder for this namespace<br/></label>
86
+ <div class="col-sm-7 ">
87
+ <input type="text" class="form-control" id="namespaceTemp" name="namespaceTemp" value='#(..EscapeHTML(settings.namespaceTemp))#' placeholder="e.g. C:\someproj\" />
51
88
</div>
52
89
</div>
53
90
54
- <div class="form-group row">
55
- <label for="privateKeyFile" class="col-sm-4 col-form-label">SSH Private Key File</label>
56
- <div class="col-sm-8">
57
- <input type="text" class="form-control" id="privateKeyFile" name="privateKeyFile" value='#(..EscapeHTML(settings.privateKeyFile))#'/>
91
+ <div class="form-group row mb-3">
92
+ <label for="privateKeyFile" class="col-sm-3 col-form-label" data-toggle="tooltip" title="Absolute path to your private SSH key file">SSH Private Key File</label>
93
+ <div class="col-sm-7">
94
+ <input type="text" class="form-control" id="privateKeyFile" name="privateKeyFile" value='#(..EscapeHTML(settings.privateKeyFile))#' placeholder="C:\Users\ExampleUser\.ssh\id_rsa"/>
95
+
58
96
</div>
59
97
</div>
60
98
61
- <div class="form-group row">
62
- <label for="pullEventClass" class="col-sm-4 col-form-label">Pull Event Class</label>
63
- <div class="col-sm-8 ">
99
+ <div class="form-group row mb-3 ">
100
+ <label for="pullEventClass" class="col-sm-3 col-form-label" data-toggle="tooltip" title="Handler class for git pull ">Pull Event Class</label>
101
+ <div class="col-sm-7 ">
64
102
<select class="form-control" id="pullEventClass" name="pullEventClass">
65
103
<option value="SourceControl.Git.PullEventHandler.Default" #($Case(settings.pullEventClass,"SourceControl.Git.PullEventHandler.Default":"selected",:""))#>Default</option>
66
104
<option value="SourceControl.Git.PullEventHandler.PackageManager" #($Case(settings.pullEventClass,"SourceControl.Git.PullEventHandler.PackageManager":"selected",:""))#>PackageManager</option>
67
105
</select>
68
106
</div>
69
107
</div>
70
108
109
+ <div class="form-group row mb-3 mapping-input-group">
110
+ <div class="col-sm-3">
111
+ <label for="MappingsPath" class="col-form-label" data-toggle="tooltip" title="Relative paths mapping the files in your project">Mappings</label>
112
+ <button type="button" class="btn btn-default btn-add" >
113
+ <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="#198754" class="bi bi-plus-circle-fill" viewBox="0 0 16 16">
114
+ <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v3h-3a.5.5 0 0 0 0 1h3v3a.5.5 0 0 0 1 0v-3h3a.5.5 0 0 0 0-1h-3v-3z"/>
115
+ </svg>
116
+ </button>
117
+ </div>
118
+ <script language="cache" runat=server>
119
+ set extKey = ""
120
+ set first = 1
121
+ for {
122
+ set covKey = ""
123
+ set extKey = $ORDER(settings.Mappings(extKey))
124
+ quit:extKey=""
125
+ for {
126
+ set covKey = $ORDER(settings.Mappings(extKey, covKey))
127
+ quit:covKey=""
128
+
129
+ if (first = 1) {
130
+ set first = 0
131
+ }
132
+ else {
133
+ &html<<div class="col-sm-3" id="indent-div">
134
+ </div>>
135
+ }
136
+
137
+ &html<<div class="voca col-sm-7">
138
+ <div class = "input-group mb-1">
139
+ <input type="text" class="form-control" id="MappingsExt" name="MappingsExt" value=#(extKey)# placeholder="Extension">
140
+ <input type="text" class="form-control" id="MappingsCov" name="MappingsCov" value=#(covKey)# placeholder="Coverage">
141
+ <input type="text" class="form-control" id="MappingsPath" name="MappingsPath" value=#(settings.Mappings(extKey, covKey))# placeholder="Relative path">
142
+ <div class="input-group-append">
143
+ <button type="button" class="btn btn-remove" >
144
+ <svg xmlns="http://www.w3.org/2000/svg" width=20" height="20" fill="#dc3545" class="bi bi-dash-circle-fill" viewBox="0 0 16 16">
145
+ <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1h-7z"/>
146
+ </svg>
147
+ </button>
148
+ </div>
149
+ </div>
150
+ </div>>
151
+ }
152
+ }
153
+ </script>
154
+ <!--<button type="button" class="btn-sm btn btn-success btn-add mx-auto d-block" >
155
+ <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>   Add   
156
+ </button>-->
157
+ </div>
158
+
159
+
160
+ <br/>
71
161
<h3>Settings for user '#(..EscapeHTML($Username))#'</h3>
72
162
<em>Git settings - if empty, will default to repository/global settings</em>
73
163
<br/><br/><br/>
74
164
75
- <div class="form-group row">
76
- <label for="gitUserName" class="col-sm-4 col-form-label">Git Committer Name </label>
77
- <div class="col-sm-8 ">
165
+ <div class="form-group row mb-3 ">
166
+ <label for="gitUserName" class="col-sm-3 col-form-label" data-toggle="tooltip" title="Firstname Lastname ">Git Committer Name </label>
167
+ <div class="col-sm-7 ">
78
168
<input type="text" class="form-control" id="gitUserName" name="gitUserName" value='#(..EscapeHTML(settings.gitUserName))#'/>
79
169
</div>
80
170
</div>
81
171
82
- <div class="form-group row">
83
- <label for="gitUserEmail" class="col-sm-4 col-form-label">Git Committer Email </label>
84
- <div class="col-sm-8 ">
172
+ <div class="form-group row mb-3 ">
173
+ <label for="gitUserEmail" class="col-sm-3 col-form-label" data-toggle="tooltip" title="<git-username-on-remote>@remote.com ">Git Committer Email </label>
174
+ <div class="col-sm-7 ">
85
175
<input type="email" class="form-control" id="gitUserEmail" name="gitUserEmail" value='#(..EscapeHTML(settings.gitUserEmail))#'/>
86
176
</div>
87
177
</div>
88
178
89
179
<br/><br/>
90
180
91
- <div class="form-group row">
181
+ <div class="form-group row mb-3 ">
92
182
<div class="col-sm-12 text-center">
93
183
<input type='submit' class="btn-lg btn-primary" value = 'Save'/>
94
184
</div>
100
190
</csp:if>
101
191
</div>
102
192
<script src="js/jquery.min.js"></script>
193
+ <script src="js/popper.min.js"></script>
103
194
<script src="js/bootstrap.min.js"></script>
104
195
<script src="js/git-webui.js"></script>
196
+ <script language="JavaScript">
197
+ $(function () {
198
+ $('[data-toggle="tooltip"]').tooltip()
199
+ })
200
+ $(function()
201
+ {
202
+ $(document).on('click', '.btn-add', function(e)
203
+ {
204
+ e.preventDefault();
205
+
206
+ var controlForm = $('.mapping-input-group');
207
+ $('<div class="col-sm-3" id="indent-div"> </div>').appendTo(controlForm);
208
+
209
+ var currentEntry = $(this).parent().siblings('.voca:first');
210
+ var newEntry = $(currentEntry.clone()).appendTo(controlForm);
211
+
212
+ newEntry.find('input').val('');
213
+ //controlForm.find('.btn-add:not(:last)')
214
+ //.removeClass('btn-default').addClass('btn-danger')
215
+ //.removeClass('btn-add').addClass('btn-remove')
216
+
217
+ //.html('<span class="glyphicon glyphicon-minus" aria-hidden="true"></span> Remove ');
218
+ }).on('click', '.btn-remove', function(e)
219
+ {
220
+ $(this).parent().parent().parent().prev('#indent-div').remove();
221
+ $(this).parents('.voca:first').remove();
222
+
223
+ e.preventDefault();
224
+ return false;
225
+ });
226
+ });
227
+ </script>
105
228
</body>
106
229
</html>
0 commit comments