Browse Source

First try around hashchange monitoring

master
Étienne Deparis 10 years ago
parent
commit
7ed9b8b84f
  1. 56
      js/interface_common.js
  2. 8
      js/interface_home.js

56
js/interface_common.js

@ -30,7 +30,7 @@ function openModal( modalClass )
//fecha o modal removendo o conteúdo por detach //fecha o modal removendo o conteúdo por detach
function closeModal($this) function closeModal($this)
{ {
var $body = $( "body" ); var $body = $( "body" );
var $modalWindows = $( "body" ).children( ".modal-blackout" ); var $modalWindows = $( "body" ).children( ".modal-blackout" );
@ -103,7 +103,12 @@ function openProfileModal(e)
var $this = $( this ); var $this = $( this );
var username = $.MAL.urlToUser( $this.attr("href") ); var username = $.MAL.urlToUser( $this.attr("href") );
openProfileModalWithUsername(username);
}
function openProfileModalWithUsername(username)
{
if(!username) if(!username)
{ {
alert(polyglot.t("You don't have any profile because you are not logged in.")); alert(polyglot.t("You don't have any profile because you are not logged in."));
@ -118,14 +123,14 @@ function openProfileModal(e)
//título do modal //título do modal
$( "."+profileModalClass + " h3" ).text( polyglot.t("users_profile", { username: username }) ); $( "."+profileModalClass + " h3" ).text( polyglot.t("users_profile", { username: username }) );
//hed//add dinamic follow button in profile modal window //hed//add dinamic follow button in profile modal window
if(followingUsers.indexOf(username) != -1){ if(followingUsers.indexOf(username) != -1){
$('.profile-card button.followButton').first().removeClass('follow').addClass('profileUnfollow').text(polyglot.t('Unfollow')).on('click', function(){ $('.profile-card button.followButton').first().removeClass('follow').addClass('profileUnfollow').text(polyglot.t('Unfollow')).on('click', function(){
unfollow(username); unfollow(username);
}); });
}; };
$(".tox-ctc").attr("title", polyglot.t("Copy to clipboard")); $(".tox-ctc").attr("title", polyglot.t("Copy to clipboard"));
$(".bitmessage-ctc").attr("title", polyglot.t("Copy to clipboard")); $(".bitmessage-ctc").attr("title", polyglot.t("Copy to clipboard"));
} }
@ -354,6 +359,17 @@ function openConversationModal(e)
$( "." + conversationModalClass + " h3" ).text( polyglot.t('conversation_title', {'username': postLi.find('.post-data').attr('data-screen-name')}) ); $( "." + conversationModalClass + " h3" ).text( polyglot.t('conversation_title', {'username': postLi.find('.post-data').attr('data-screen-name')}) );
} }
function watchHashChange(e){
if(/user=(.+)/.test(window.location.hash))
{
var username = location.hash.match(/user=(.+)/);
if(username[1] != undefined)
openProfileModalWithUsername(username[1]);
}
}
// //
// Post actions, submit, count characters // Post actions, submit, count characters
// -------------------------------------- // --------------------------------------
@ -366,7 +382,7 @@ var reTwistPopup = function( e )
alert(polyglot.t("You have to log in to retransmit messages.")); alert(polyglot.t("You have to log in to retransmit messages."));
return; return;
} }
var reTwistClass = "reTwist"; var reTwistClass = "reTwist";
openModal( reTwistClass ); openModal( reTwistClass );
@ -439,7 +455,7 @@ var postExpandFunction = function( e, postLi )
var $postsRelated = postLi.find(".related"); var $postsRelated = postLi.find(".related");
var openClass = "open"; var openClass = "open";
if( !postLi.hasClass( openClass ) ) { if( !postLi.hasClass( openClass ) ) {
originalPost.detach(); originalPost.detach();
postLi.empty(); postLi.empty();
@ -451,7 +467,7 @@ var postExpandFunction = function( e, postLi )
originalLi.append(originalPost); originalLi.append(originalPost);
$postExpandedContent.slideDown( "fast" ); $postExpandedContent.slideDown( "fast" );
if ($.Options.getShowPreviewOpt() == 'enable'){ if ($.Options.getShowPreviewOpt() == 'enable'){
var previewContainer=$postExpandedContent.find(".preview-container")[0]; var previewContainer=$postExpandedContent.find(".preview-container")[0];
/* was the preview added before... */ /* was the preview added before... */
@ -683,7 +699,7 @@ function replyTextKeypress(e) {
} }
}else if( !$.Options.keyEnterToSend() ){ }else if( !$.Options.keyEnterToSend() ){
if (e.keyCode === 13 && (e.metaKey || e.ctrlKey)) { if (e.keyCode === 13 && (e.metaKey || e.ctrlKey)) {
$this.val($this.val().trim()); $this.val($this.val().trim());
if( !tweetAction.hasClass("disabled") ) { if( !tweetAction.hasClass("disabled") ) {
tweetAction.click(); tweetAction.click();
@ -960,15 +976,15 @@ var unicodeConversionList = {
function getRangesForUnicodeConversion(msg) function getRangesForUnicodeConversion(msg)
{ {
if(!msg) return; if(!msg) return;
var tempMsg = msg; var tempMsg = msg;
var results = []; var results = [];
var regexHttpStart = /http[s]?:\/\//; var regexHttpStart = /http[s]?:\/\//;
var regexHttpEnd = /[ \n\t]/; var regexHttpEnd = /[ \n\t]/;
var start=0, end, position, rep = true; var start=0, end, position, rep = true;
position = tempMsg.search(regexHttpStart); position = tempMsg.search(regexHttpStart);
while(position!=-1) while(position!=-1)
{ {
end = start + position; end = start + position;
@ -979,7 +995,7 @@ function getRangesForUnicodeConversion(msg)
rep = !rep; rep = !rep;
start = end; start = end;
tempMsg = tempMsg.substring(position, tempMsg.length); tempMsg = tempMsg.substring(position, tempMsg.length);
if(rep == true) if(rep == true)
position = tempMsg.search(regexHttpStart); position = tempMsg.search(regexHttpStart);
else else
@ -988,15 +1004,15 @@ function getRangesForUnicodeConversion(msg)
end = msg.length; end = msg.length;
if(end > start) if(end > start)
results.push({start: start, end: end, replace: rep}); results.push({start: start, end: end, replace: rep});
return results; return results;
} }
function getUnicodeReplacement(msg, list, ranges, ta) function getUnicodeReplacement(msg, list, ranges, ta)
{ {
if(!msg || !list || !ranges) return; if(!msg || !list || !ranges) return;
if(ranges.length===0) return ""; if(ranges.length===0) return "";
var position, substrings = []; var position, substrings = [];
for (var j=0; j<ranges.length; j++) for (var j=0; j<ranges.length; j++)
{ {
@ -1010,7 +1026,7 @@ function getUnicodeReplacement(msg, list, ranges, ta)
{ {
var oldSubstring = substrings[j]; var oldSubstring = substrings[j];
substrings[j] = substrings[j].replace(list[i].k, list[i].u); substrings[j] = substrings[j].replace(list[i].k, list[i].u);
var len = oldSubstring.length - substrings[j].length + list[i].u.length; var len = oldSubstring.length - substrings[j].length + list[i].u.length;
ta.data("unicodeConversionStack").unshift({ ta.data("unicodeConversionStack").unshift({
"k": oldSubstring.substr(position, len), "k": oldSubstring.substr(position, len),
@ -1036,7 +1052,7 @@ function convert2Unicodes(s, ta)
if(!ta.data("disabledUnicodeRules")) // A list of conversion rules that are temporarily disabled if(!ta.data("disabledUnicodeRules")) // A list of conversion rules that are temporarily disabled
ta.data("disabledUnicodeRules", []); ta.data("disabledUnicodeRules", []);
var ranges = getRangesForUnicodeConversion(s); var ranges = getRangesForUnicodeConversion(s);
var list; var list;
if ($.Options.getUnicodeConversionOpt() === "enable" || $.Options.getConvertPunctuationsOpt()) if ($.Options.getUnicodeConversionOpt() === "enable" || $.Options.getConvertPunctuationsOpt())
{ {
list = unicodeConversionList.punctuation; list = unicodeConversionList.punctuation;
@ -1057,7 +1073,7 @@ function convert2Unicodes(s, ta)
list = unicodeConversionList.fractions; list = unicodeConversionList.fractions;
s = getUnicodeReplacement(s, list, ranges, ta); s = getUnicodeReplacement(s, list, ranges, ta);
} }
if (ta.data("unicodeConversionStack").length > 0) if (ta.data("unicodeConversionStack").length > 0)
{ {
var ub = ta.closest(".post-area-new").find(".undo-unicode"); var ub = ta.closest(".post-area-new").find(".undo-unicode");
@ -1083,7 +1099,7 @@ function undoLastUnicode(e) {
var uc = $ta.data("unicodeConversionStack").shift(); var uc = $ta.data("unicodeConversionStack").shift();
var pt = $ta.val(); var pt = $ta.val();
// If the text was shifted, and character is no longer at the saved position, this function // If the text was shifted, and character is no longer at the saved position, this function
// searches for it to the right. If it is not there, it searches in the oposite direction. // searches for it to the right. If it is not there, it searches in the oposite direction.
// if it's not there either, it means it was deleted, so it is skipped. // if it's not there either, it means it was deleted, so it is skipped.
@ -1282,7 +1298,7 @@ function replaceDashboards() {
} }
function initInterfaceCommon() { function initInterfaceCommon() {
$( "body" ).on( "click", function(event) { $( "body" ).on( "click", function(event) {
if($(event.target).hasClass('cancel')) closeModal($(this)); if($(event.target).hasClass('cancel')) closeModal($(this));
}); });
$(".cancel").on('click', function(event){ $(".cancel").on('click', function(event){

8
js/interface_home.js

@ -31,7 +31,7 @@ var InterfaceFunctions = function()
requestTimelineUpdate("latest",postsPerRefresh,followingUsers,promotedPostsOnly);}); requestTimelineUpdate("latest",postsPerRefresh,followingUsers,promotedPostsOnly);});
// modified the way promoted posts are shown // modified the way promoted posts are shown
$( ".promoted-posts-only").click(function() { $( ".promoted-posts-only").click(function() {
promotedPostsOnly = !promotedPostsOnly; promotedPostsOnly = !promotedPostsOnly;
//active promoted posts tab //active promoted posts tab
$(this).children('.promoted-posts').addClass(promotedPostsOnly ? "active" : "disabled"); $(this).children('.promoted-posts').addClass(promotedPostsOnly ? "active" : "disabled");
@ -163,15 +163,15 @@ var InterfaceFunctions = function()
var interfaceFunctions = new InterfaceFunctions; var interfaceFunctions = new InterfaceFunctions;
$( document ).ready( interfaceFunctions.init ); $( document ).ready( interfaceFunctions.init );
$( window ).resize(replaceDashboards); $( window ).resize(replaceDashboards);
window.addEventListener('hashchange', watchHashChange, false);
//função no window que fixa o header das postagens //função no window que fixa o header das postagens
function fixDiv() function fixDiv()
{ {
var $cache = $('.postboard h2'); var $cache = $('.postboard h2');
if ($(window).scrollTop() > 26) if ($(window).scrollTop() > 26)
$cache.addClass( "fixed" ); $cache.addClass( "fixed" );
else else
$cache.removeClass( "fixed" ); $cache.removeClass( "fixed" );
} }
$(window).scroll(fixDiv); $(window).scroll(fixDiv);

Loading…
Cancel
Save