Skip to content

Commit 53a0268

Browse files
committed
Javascript cleanup; new functionality; added jquery-ui
1 parent 3bf357b commit 53a0268

File tree

6 files changed

+68
-43
lines changed

6 files changed

+68
-43
lines changed

web/index.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,8 @@ <h1 class="logo"><a href="#">Vesta panel <span>&nbsp;</span></a></h1>
205205

206206
<!-- script type="text/javascript" src="js/lib/jquery-1.4.4.min.js"></script -->
207207
<script type="text/javascript" src="js/lib/cookie.js"></script>
208-
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.js"></script>
208+
<script type="text/javascript" src="js/lib/jquery-1.6.1.js"></script>
209+
<script type="text/javascript" src="js/lib/jquery-ui-1.8.13.custom.min.js"></script>
209210
<script type="text/javascript" src="js/date_format.js"></script>
210211
<script type="text/javascript" src="js/lib/custom-form-elements.js"></script>
211212
<script type="text/javascript" src="js/lib/browser.js"></script>

web/js/_settings.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ App.Messages.get = function(key, plural) {
4040
// Empty
4141
App.Empty = {};
4242
App.Empty.USER = {'CONTACT':'', 'PASSWORD':'','LOGIN_NAME':'','LNAME':'', 'FNAME':'','NS1':'','NS2':'','NS3':'','NS4':'','NS5':'','NS6':'','NS7':'','NS8':''};
43+
App.Empty.WEB_DOMAIN = {'CONTACT':'', 'PASSWORD':'','LOGIN_NAME':'','NS':'', 'DOMAIN':'','SSL_CERT':'','SSL_HOME':'','STATS_PASSWORD':'','STATS_LOGIN':'','ALIAS':''};
4344

4445
App.Settings.getMethodName = function(action)
4546
{

web/js/actions.js

Lines changed: 43 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,6 @@ App.Actions.show_subform = function(evt)
2424
// TODO: probably general way to embed subforms
2525
}
2626

27-
App.Actions.close_subform = function(evt)
28-
{
29-
var elm = $(evt.target);
30-
var ref = elm.hasClass('subform') ? elm : elm.parents('.subform');
31-
var parent_ref = ref.prev('.row');
32-
if (parent_ref.length > 0) {
33-
parent_ref.find('.show-records').removeClass('hidden');
34-
}
35-
ref.remove();
36-
}
37-
3827
App.Actions.view_template_settings = function(evt)
3928
{
4029
alert('TODO');
@@ -51,17 +40,6 @@ App.Actions.add_subrecord_dns = function(evt)
5140
}
5241
}
5342

54-
App.Actions.delete_subentry = function(evt)
55-
{
56-
var sure = confirm(App.i18n.getMessage('confirm'));
57-
if (!sure) {
58-
return;
59-
}
60-
var elm = $(evt.target);
61-
var ref = elm.hasClass('subrow') ? elm : elm.parents('.subrow');
62-
ref.effect('puff', {}, 300, function(){ref.remove();})
63-
}
64-
6543
/**
6644
* Embeds new item form
6745
* if exits custom method (App.Pages[ENVIRONMENT_NAME].newForm)
@@ -213,17 +191,56 @@ App.Actions.close_popup = function()
213191
App.View.closePopup();
214192
}
215193

194+
195+
App.Actions.close_subform = function(evt, elm)
196+
{
197+
var elm = elm || $(evt.target);
198+
var ref = elm.hasClass('subform') ? elm : elm.parents('.subform');
199+
var parent_ref = ref.prev('.row');
200+
if (parent_ref.length > 0) {
201+
parent_ref.find('.show-records').removeClass('hidden');
202+
}
203+
ref.remove();
204+
}
205+
216206
App.Actions.save_dns_subrecords = function(evt)
217207
{
218208
var elm = $(evt.target);
219209
var ref = elm.hasClass('subform') ? elm : elm.parents('.subform');
220210

221-
var records = [];
222-
ref.find('.subrow').each(function(i, o){
223-
records[records.length++] = App.Helpers.getFormValuesFromElement(o);
211+
var data = [];
212+
$('.subform').find('.subrow').each(function(i, o)
213+
{
214+
data[data.length++] = App.Helpers.getFormValues(o);
215+
});
216+
217+
var parent_row = $(elm).parents('.subform').prev('.dns-details-row');
218+
var dns_json = $(parent_row).find('.source').val();
219+
220+
App.Ajax.request('DNS.changeRecords', {spell: App.Helpers.toJSON(data), dns: dns_json}, function(reply)
221+
{
222+
if (reply.result) {
223+
var emphasize = $('.show-records', parent_row);
224+
App.Actions.close_subform(null, elm);
225+
$(emphasize).effect("highlight", {'color':'#B0D635'}, 3000);
226+
227+
}
228+
else {
229+
App.Helpers.alert('Changes were not applied');
230+
}
224231
});
232+
}
233+
234+
App.Actions.delete_subentry = function(evt)
235+
{
236+
var sure = confirm(App.i18n.getMessage('confirm'));
237+
if (!sure) {
238+
return;
239+
}
225240

226-
fb.warn($.toJSON(records));
241+
var elm = $(evt.target);
242+
var ref = elm.hasClass('subrow') ? elm : elm.parents('.subrow');
243+
$(ref).remove();
227244
}
228245

229246
App.Actions.generate_pass = function()

web/js/html.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ App.HTML.Build.dns_form = function(options, id)
8383
}
8484

8585
tpl.set(':id', id || '');
86-
tpl.set(':DNS_DOMAIN', options.DNS_DOMAIN || '');
86+
tpl.set(':DNS_DOMAIN', options.DNS_DOMAIN || '');
8787
tpl.set(':IP', options.IP || '');
8888
tpl.set(':TTL', options.TTL || '');
8989
tpl.set(':SOA', options.SOA || '');
@@ -309,7 +309,7 @@ App.HTML.Build.web_domain_form = function(options, id)
309309
tpl.set(':save_button', 'SAVE');
310310
}
311311

312-
options = !App.Helpers.isEmpty(options) ? options : {'CONTACT':'', 'PASSWORD':'','LOGIN_NAME':'','NS':''};
312+
options = !App.Helpers.isEmpty(options) ? options : App.Empty.WEB_DOMAIN;
313313

314314
tpl = App.HTML.setTplKeys(tpl, options, true);
315315
tpl = App.HTML.Build.user_selects(tpl, options);
@@ -373,11 +373,12 @@ App.HTML.Build.db_form = function(options, id)
373373
tpl.set(':save_button', 'SAVE');
374374
}
375375

376-
options = !App.Helpers.isEmpty(options) ? options : {'DB':'', 'USER':'','FORM':'', 'PASSWORD': ''};
377-
376+
options = !App.Helpers.isEmpty(options) ? options : {'DB':'', 'USER':'','FORM':'', 'PASSWORD': ''};
378377
tpl = App.HTML.setTplKeys(tpl, options, true);
379378
tpl = App.HTML.Build.db_selects(tpl, options);
380379

380+
tpl.set(':PASSWORD', '');
381+
381382
return tpl.finalize();
382383
}
383384

web/js/templates.js

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ App.Templates.html = {
7575
</div>\
7676
<div class="form-row cc">\
7777
<label for="#" class="field-label">soa:</label>\
78-
<input type="text" value="~!:SOA~!" name="SOA" class="text-field rule-required rule-numeric">\
78+
<input type="text" value="~!:SOA~!" name="SOA" class="text-field rule-required rule-ns">\
7979
</div>\
8080
<div class="form-row buttons-row cc">\
8181
<input type="submit" value="~!:save_button~!" class="add-entry-btn do_action_save_form" name="save">\
@@ -139,7 +139,7 @@ App.Templates.html = {
139139
<div class="form-row buttons-row cc">\
140140
<input type="submit" value="save" class="add-entry-btn do_action_save_dns_subrecords">\
141141
<span class="cancel-btn do_action_close_subform">Cancel</span>\
142-
<span class="help-btn">Help</span>\
142+
<!-- span class="help-btn">Help</span -->\
143143
</div>\
144144
</div>'],
145145
SUBENTRY: ['<div class="subrow form-row form-row-line cc">\
@@ -160,7 +160,7 @@ App.Templates.html = {
160160
</div>\
161161
<div class="field-box dns-value-box">\
162162
<label for="#" class="field-label">value:</label>\
163-
<input type="text" value="~!:RECORD_VALUE~!" class="text-field RECORD_VALUE">\
163+
<input type="text" value="~!:RECORD_VALUE~!" name="RECORD_VALUE" class="text-field">\
164164
</div>\
165165
<div class="delete-record do_action_delete_subentry"></div>\
166166
</div>']
@@ -497,11 +497,11 @@ App.Templates.html = {
497497
<input type="hidden" class="source" name="source" value=\'~!:source~!\' />\
498498
<input type="hidden" class="target" name="target" value="" />\
499499
<div class="entry-header">~!:title~!</div>\
500-
<div class="form-error">\
500+
<div class="form-error hidden">\
501501
</div>\
502502
<div class="form-row cc">\
503503
<label for="#" class="field-label">domain:</label>\
504-
<input type="text" name="DOMAIN" class="text-field" value="~!:DOMAIN~!">\
504+
<input type="text" name="DOMAIN" class="text-field rule-required rule-ns" value="~!:DOMAIN~!">\
505505
</div>\
506506
<div class="form-row cc">\
507507
<label for="#" class="field-label">ip:</label>\
@@ -529,7 +529,6 @@ App.Templates.html = {
529529
<label for="#" class="field-label">alias list:</label>\
530530
<textarea name="ALIAS" class="textarea">~!:ALIAS~!</textarea>\
531531
</div>\
532-
\
533532
<div class="form-row cc">\
534533
<label for="#" class="field-label">statistics:</label>\
535534
<input type="checkbox" name="STATS" ~!:stats_checked~!="" value="~!:STATS~!" class="styled">\
@@ -541,11 +540,11 @@ App.Templates.html = {
541540
</div>\
542541
<div class="form-row cc">\
543542
<label for="#" class="field-label">login:</label>\
544-
<input type="text" class="text-field" name="STATS_LOGIN" value="~!:STATS_LOGIN~!">\
543+
<input type="text" class="text-field rule-username" name="STATS_LOGIN" value="~!:STATS_LOGIN~!">\
545544
</div>\
546545
<div class="form-row pwd-box cc">\
547546
<label for="#" class="field-label">password:</label>\
548-
<input type="text" value="~!:STATS_PASSWORD~!" name="STATS_PASSWORD" class="text-field password">\
547+
<input type="text" value="~!:STATS_PASSWORD~!" name="STATS_PASSWORD" class="text-field rule-password">\
549548
<span class="generate-pwd do_action_generate_pass">Generate</span>\
550549
</div>\
551550
</div><!-- // stats settings -->\
@@ -591,7 +590,7 @@ App.Templates.html = {
591590
</div>\
592591
</div><!-- Mail options -->\
593592
<div class="form-row buttons-row cc">\
594-
<input type="submit" value="~!:save_button~!" class="add-entry-btn">\
593+
<input type="submit" value="~!:save_button~!" class="add-entry-btn do_action_save_form">\
595594
<span class="cancel-btn do_action_cancel_form">Cancel</span>\
596595
<a target="_blank" href="http://vestacp.com/docs/web/" class="help-btn">Help</a>\
597596
</div>\
@@ -725,7 +724,7 @@ App.Templates.html = {
725724
<span class="generate-pwd do_action_generate_pass">Generate</span>\
726725
</div>\
727726
</div>\
728-
<div class="form-row cc">\
727+
<div class="form-row hidden cc">\
729728
<label for="#" class="field-label">db host:</label>\
730729
<select name="HOST">~!:HOST_OPTIONS~!</select>\
731730
</div>\
@@ -741,7 +740,7 @@ App.Templates.html = {
741740
<div class="row-actions-box cc">\
742741
<div class="check-this check-control"></div>\
743742
<div class="row-operations">\
744-
<span class="delete-entry"><span class="delete-entry-text">delete</span></span>\
743+
<span class="delete-entry do_action_delete_entry"><span class="delete-entry-text do_action_delete_entry">delete</span></span>\
745744
</div>\
746745
</div>\
747746
<div class="row-meta">\
@@ -758,7 +757,7 @@ App.Templates.html = {
758757
<span class="db-name do_action_edit">~!:DB~!</span>\
759758
</div>\
760759
</div>\
761-
<div class="props-additional">\
760+
<div class="props-additional hidden">\
762761
<div class="db-user-box cc">\
763762
<span class="db-user-wrap backup-db do_action_open_inner_popup">\
764763
Users: ~!:USERS~!\

web/js/validators.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,12 @@ App.Validate.getFieldName = function(elm)
2525
}
2626

2727
App.Validate.Rule = {
28+
'username' : function(elm) {
29+
if ($(elm).val().trim() != '' && $(elm).val().search(/[^a-zA-Z_]+/) != -1) {
30+
return {VALID: false, ERROR: App.Validate.getFieldName(elm) + ' is required'};
31+
}
32+
return {VALID: true};
33+
},
2834
'required' : function(elm) {
2935
if ($(elm).val().trim() == '') {
3036
return {VALID: false, ERROR: App.Validate.getFieldName(elm) + ' is required'};

0 commit comments

Comments
 (0)