VRFS-2701 integrated site validators

This commit is contained in:
Brian Smith 2015-03-25 22:20:43 -04:00
parent 9face3b3f9
commit 5e6082d1f1
7 changed files with 70 additions and 65 deletions

View File

@ -127,47 +127,6 @@
function events() {
$website.blur(function(evt) {
evt.preventDefault();
// TODO: validate website
});
$soundCloudUsername.blur(function(evt) {
evt.preventDefault();
// TODO: validate SoundCloud username
});
$reverbNationUsername.blur(function(evt) {
evt.preventDefault();
// TODO: validate ReverbNation username
});
$bandCampUsername.blur(function(evt) {
evt.preventDefault();
// TODO: validate Bandcamp username
});
$fandalismUsername.blur(function(evt) {
evt.preventDefault();
// TODO: validate Fandalism username
});
$youTubeUsername.blur(function(evt) {
evt.preventDefault();
// TODO: validate YouTube username
});
$facebookUsername.blur(function(evt) {
evt.preventDefault();
// TODO: validate Facebook username
});
$twitterUsername.blur(function(evt) {
evt.preventDefault();
// TODO: validate Twitter username
});
// buttons
$btnAddJkRecording.click(function(evt) {
evt.preventDefault();

View File

@ -32,7 +32,7 @@ context.JK.SiteValidator = class SiteValidator
dataToValidate: () =>
url = @data_input.val()
if 0 < url.length
if url && 0 < url.length
url.substring(0,2000)
else
null

View File

@ -3,7 +3,7 @@
context.JK.ShowRecording = function(app) {
var logger = context.JK.logger;
var rest = JK.Rest();
var ui = context.JK.UIHelper();
var ui = new context.JK.UIHelper(app);
var recordingId = null;
var claimedRecordingId = null;
var $scope = $(".landing-details");

View File

@ -3,7 +3,7 @@
context.JK.ShowMusicSession = function(app) {
var logger = context.JK.logger;
var rest = JK.Rest();
var ui = context.JK.UIHelper();
var ui = new context.JK.UIHelper(app);
var sessionId = null;
var $scope = $(".landing-details");
var $controls = null;

View File

@ -1,4 +1,5 @@
@import "common.css.scss";
@import "site_validator.css.scss";
#account-profile-samples {

View File

@ -11,7 +11,7 @@
input {
width: 100%;
padding: 5px 5px 5px 30px;
float: left;
}
.validate-checkmark {

View File

@ -18,26 +18,26 @@
<div>
<div class="left">
<label>Website (URL):</label>
<div class="left presence">
<input type="text" maxlength="4000" id="website" />
<div id="url_validator" class="left presence site_validator">
<input type="text" maxlength="4000" id="website" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
</div>
<div class="left">
<label>SoundCloud (username):</label>
<div class="left presence">
<input type="text" maxlength="100" id="soundcloud-username" />
<div id="soundcloud_validator" class="left presence site_validator">
<input type="text" maxlength="100" id="soundcloud-username" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
</div>
<div class="left">
<label>ReverbNation (username):</label>
<div class="left presence">
<input type="text" maxlength="100" id="reverbnation-username" />
<div id="reverbnation_validator" class="left presence site_validator">
<input type="text" maxlength="100" id="reverbnation-username" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
</div>
<div class="left">
<label>Bandcamp (username):</label>
<div class="left presence">
<input type="text" maxlength="100" id="bandcamp-username" />
<div id="bandcamp_validator" class="left presence site_validator">
<input type="text" maxlength="100" id="bandcamp-username" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
</div>
</div>
@ -45,26 +45,26 @@
<div>
<div class="left">
<label>Fandalism (URL):</label>
<div class="left presence">
<input type="text" maxlength="100" id="fandalism-username" />
<div id="fandalism_validator" class="left presence site_validator">
<input type="text" maxlength="100" id="fandalism-username" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
</div>
<div class="left">
<label>YouTube (username):</label>
<div class="left presence">
<input type="text" maxlength="100" id="youtube-username" />
<div id="youtube_validator" class="left presence site_validator">
<input type="text" maxlength="100" id="youtube-username" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
</div>
<div class="left">
<label>Facebook (username):</label>
<div class="left presence">
<input type="text" maxlength="100" id="facebook-username" />
<div id="facebook_validator" class="left presence site_validator">
<input type="text" maxlength="100" id="facebook-username" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
</div>
<div class="left">
<label>Twitter (username):</label>
<div class="left presence">
<input type="text" maxlength="100" id="twitter-username" />
<div id="twitter_validator" class="left presence site_validator">
<input type="text" maxlength="100" id="twitter-username" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
</div>
</div>
@ -91,8 +91,8 @@
</div>
<div class="left samples soundcloud">
<label>SoundCloud Recordings (URL):</label>
<div class="left sample">
<input type="text" maxlength="4000" id="soundcloud-recording" />
<div id="rec_soundcloud_validator" class="left sample site_validator">
<input type="text" maxlength="4000" id="soundcloud-recording" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
<div class="left">
<a id="btn-add-soundcloud-recording" class="button-grey">ADD</a>
@ -109,8 +109,8 @@
</div>
<div class="left samples youtube">
<label>YouTube Videos (URL):</label>
<div class="left sample">
<input type="text" maxlength="4000" id="youtube-video" />
<div id="rec_youtube_validator" class="left sample site_validator">
<input type="text" maxlength="4000" id="youtube-video" /><span class="spinner-small"></span><span class="validate-checkmark"></span>
</div>
<div class="left">
<a id="btn-add-youtube-video" class="button-grey">ADD</a>
@ -145,3 +145,48 @@
</div>
</div>
<script type="text/javascript">
var initialized = false;
$(document).on('JAMKAZAM_READY', function(e, data) {
window.JK.JamServer.get$Server().on(window.JK.EVENTS.CONNECTION_UP, function() {
if(initialized) {
return;
}
initialized = true;
setTimeout(function() {
window.urlValidator = new JK.SiteValidator('url');
urlValidator.init();
window.soundCloudValidator = new JK.SiteValidator('soundcloud');
soundCloudValidator.init();
window.reverbNationValidator = new JK.SiteValidator('reverbnation');
reverbNationValidator.init();
window.bandCampValidator = new JK.SiteValidator('bandcamp');
bandCampValidator.init();
window.fandalismValidator = new JK.SiteValidator('fandalism');
fandalismValidator.init();
window.youTubeValidator = new JK.SiteValidator('youtube');
youTubeValidator.init();
window.facebookValidator = new JK.SiteValidator('facebook');
facebookValidator.init();
window.twitterValidator = new JK.SiteValidator('twitter');
twitterValidator.init();
window.soundCloudRecordingValidator = new JK.SiteValidator('rec_soundcloud');
soundCloudRecordingValidator.init();
window.youTubeRecordingValidator = new JK.SiteValidator('rec_youtube');
youTubeRecordingValidator.init();
}, 1)
});
});
</script>