aboutsummaryrefslogtreecommitdiffstats
path: root/view/js
diff options
context:
space:
mode:
authormrjive <mrjive@mrjive.it>2015-01-06 15:13:03 +0100
committermrjive <mrjive@mrjive.it>2015-01-06 15:13:03 +0100
commitb80c218606994032e76805900cb9b340ea132358 (patch)
treebf625cf4c59bf521e639018399bf1770d116a6a0 /view/js
parentaa6d61d3b19cb13c30bf5a1579adefedf0cc9515 (diff)
parent3185bfe3ca131d471b8fcdc0c94abf1a114486c7 (diff)
downloadvolse-hubzilla-b80c218606994032e76805900cb9b340ea132358.tar.gz
volse-hubzilla-b80c218606994032e76805900cb9b340ea132358.tar.bz2
volse-hubzilla-b80c218606994032e76805900cb9b340ea132358.zip
Merge pull request #1 from friendica/master
test pull request
Diffstat (limited to 'view/js')
-rw-r--r--view/js/acl.js22
-rw-r--r--view/js/autocomplete.js217
-rw-r--r--view/js/jquery-compat.js71
-rw-r--r--view/js/main.js218
-rw-r--r--view/js/mod_admin.js3
-rw-r--r--view/js/mod_connedit.js45
-rw-r--r--view/js/mod_directory.js3
-rw-r--r--view/js/mod_events.js37
-rw-r--r--view/js/mod_filestorage.js1
-rw-r--r--view/js/mod_new_channel.js5
-rw-r--r--view/js/mod_photos.js17
-rw-r--r--view/js/mod_profiles.js3
-rw-r--r--view/js/mod_settings.js17
13 files changed, 337 insertions, 322 deletions
diff --git a/view/js/acl.js b/view/js/acl.js
index c129634a0..77c65e21d 100644
--- a/view/js/acl.js
+++ b/view/js/acl.js
@@ -17,20 +17,24 @@ function ACL(backend_url, preset){
that.item_tpl = unescape($(".acl-list-item[rel=acl-template]").html());
that.showall = $("#acl-showall");
+ // set the initial ACL lists in case the enclosing form gets submitted before the ajax loader completes.
+ that.on_submit();
+
if (preset.length==0) that.showall.removeClass("btn-default").addClass("btn-warning");
/*events*/
$(document).ready(function() {
- that.showall.click(that.on_showall);
- $(document).on('click','.acl-button-show',that.on_button_show);
- $(document).on('click','.acl-button-hide',that.on_button_hide);
- $("#acl-search").keypress(that.on_search);
-// $("#acl-wrapper").parents("form").submit(that.on_submit);
+// setTimeout( function() {
+ that.showall.click(that.on_showall);
+ $(document).on('click','.acl-button-show',that.on_button_show);
+ $(document).on('click','.acl-button-hide',that.on_button_hide);
+ $("#acl-search").keypress(that.on_search);
- /* startup! */
- that.get(0,100);
- that.on_submit();
+ /* startup! */
+ that.get(0,100);
+ that.on_submit();
+// }, 5000 );
});
}
@@ -254,7 +258,7 @@ ACL.prototype.get = function(start,count, search){
}
ACL.prototype.populate = function(data){
- var height = Math.ceil(data.tot / that.nw) * 42;
+ var height = Math.ceil(data.items.length / that.nw) * 42;
that.list_content.height(height);
$(data.items).each(function(){
html = "<div class='acl-list-item {4} {7} {5}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js
index c01ba6990..e68356057 100644
--- a/view/js/autocomplete.js
+++ b/view/js/autocomplete.js
@@ -1,200 +1,67 @@
/**
- * Friendica people autocomplete
+ * Red people autocomplete
*
- * require jQuery, jquery.textareas
+ * require jQuery, jquery.textcomplete
*/
-
-
-
-function ACPopup(elm,backend_url){
- this.idsel=-1;
- this.element = elm;
- this.searchText="";
- this.ready=true;
- this.kp_timer = false;
- this.url = backend_url;
-
- var w = 530;
- var h = 130;
-
-
- if(typeof elm.editorId == "undefined") {
- style = $(elm).offset();
- w = $(elm).width();
- h = $(elm).height();
- }
- else {
- var container = elm.getContainer();
- if(typeof container != "undefined") {
- style = $(container).offset();
- w = $(container).width();
- h = $(container).height();
- }
- }
-
- if(! w)
- w = 530;
-
- if(! h)
- h = 130;
-
- style.top=style.top+h;
- style.width = w;
- style.position = 'absolute';
- /* style['max-height'] = '150px';
- style.border = '1px solid red';
- style.background = '#cccccc';
-
- style.overflow = 'auto';
- style['z-index'] = '100000';
- */
- style.display = 'none';
-
- this.cont = $("<div class='acpopup'></div>");
- this.cont.css(style);
-
- $("body").append(this.cont);
-}
-ACPopup.prototype.close = function(){
- $(this.cont).remove();
- this.ready=false;
-}
-ACPopup.prototype.search = function(text){
- var that = this;
- this.searchText=text;
- if (this.kp_timer) clearTimeout(this.kp_timer);
- this.kp_timer = setTimeout( function(){that._search();}, 500);
-}
-ACPopup.prototype._search = function(){
- console.log("_search");
- var that = this;
+function mysearch(term, callback, backend_url, extra_channels) {
var postdata = {
start:0,
count:100,
- search:this.searchText,
+ search:term,
type:'c',
}
+
+ if(extra_channels)
+ postdata['extra_channels[]'] = extra_channels;
$.ajax({
type:'POST',
- url: this.url,
+ url: backend_url,
data: postdata,
dataType: 'json',
success:function(data){
- that.cont.html("");
- if (data.tot>0){
- that.cont.show();
- $(data.items).each(function(){
- html = "<img src='{0}' height='16px' width='16px'>{1} ({2})".format(this.photo, this.name, ((this.label) ? this.nick + ' ' + this.label : this.nick) )
- that.add(this.taggable, html, this.nick.replace(' ','') + '+' + this.id + ' - ' + this.link);
- });
- } else {
- that.cont.hide();
- }
- }
- });
-
-}
-ACPopup.prototype.add = function(taggable, label, value){
- var that=this;
- var elm = $("<div class='acpopupitem " + taggable +"' title='"+value+"'>"+label+"</div>");
- elm.click(function(e){
- t = $(this).attr('title').replace(new RegExp(' \- .*'),'');
- if(typeof(that.element.container) === "undefined") {
- el=$(that.element);
- sel = el.getSelection();
- sel.start = sel.start- that.searchText.length;
- el.setSelection(sel.start,sel.end).replaceSelectedText(t+' ').collapseSelection(false);
- that.close();
- }
- else {
- txt = tinyMCE.activeEditor.getContent();
- // alert(that.searchText + ':' + t);
- newtxt = txt.replace('@' + that.searchText, '@' + t + ' ');
- tinyMCE.activeEditor.setContent(newtxt);
- tinyMCE.activeEditor.focus();
- that.close();
- }
- });
- $(this.cont).append(elm);
-}
-ACPopup.prototype.onkey = function(event){
- if (event.keyCode == '13') {
- if(this.idsel>-1) {
- this.cont.children()[this.idsel].click();
- event.preventDefault();
- }
- else
- this.close();
- }
- if (event.keyCode == '38') { //cursor up
- cmax = this.cont.children().size()-1;
- this.idsel--;
- if (this.idsel<0) this.idsel=cmax;
- event.preventDefault();
- }
- if (event.keyCode == '40' || event.keyCode == '9') { //cursor down
- cmax = this.cont.children().size()-1;
- this.idsel++;
- if (this.idsel>cmax) this.idsel=0;
- event.preventDefault();
- }
-
- if (event.keyCode == '38' || event.keyCode == '40' || event.keyCode == '9') {
- this.cont.children().removeClass('selected');
- $(this.cont.children()[this.idsel]).addClass('selected');
- }
-
- if (event.keyCode == '27') { //ESC
- this.close();
- }
+ callback(data.items);
+ },
+ }).fail(function () {callback([]); }); // Callback must be invoked even if something went wrong.
}
-function ContactAutocomplete(element,backend_url){
- this.pattern=/@(\!*)([^ \n]+)$/;
- this.popup=null;
- var that = this;
-
- $(element).unbind('keydown');
- $(element).unbind('keyup');
-
- $(element).keydown(function(event){
- if (that.popup!==null) that.popup.onkey(event);
- });
-
- $(element).keyup(function(event){
- cpos = $(this).getSelection();
- if (cpos.start==cpos.end){
- match = $(this).val().substring(0,cpos.start).match(that.pattern);
- if (match!==null){
- if (that.popup===null){
- that.popup = new ACPopup(this, backend_url);
- }
- if (that.popup.ready && match[2]!==that.popup.searchText) that.popup.search(match[2]);
- if (!that.popup.ready) that.popup=null;
-
- } else {
- if (that.popup!==null) {that.popup.close(); that.popup=null;}
- }
-
-
- }
- });
-
+function format(item) {
+ return "<div class='{0}' title='{4}'><img src='{1}'>{2} ({3})</div>".format(item.taggable, item.photo, item.name, ((item.label) ? item.nick + ' ' + item.label : item.nick), item.link )
}
+function replace(item) {
+ // $2 ensures that prefix (@,@!) is preserved
+ var id = item.id;
+ // 16 chars of hash should be enough. Full hash could be used if it can be done in a visually appealing way.
+ // 16 chars is also the minimum length in the backend (otherwise it's interpreted as a local id).
+ if(id.length > 16)
+ id = item.id.substring(0,16);
+ return '$1$2'+item.nick.replace(' ','') + '+' + id;
+}
/**
* jQuery plugin 'contact_autocomplete'
*/
(function( $ ){
- $.fn.contact_autocomplete = function(backend_url) {
- this.each(function(){
- new ContactAutocomplete(this, backend_url);
- });
- };
-})( jQuery );
-
+ $.fn.contact_autocomplete = function(backend_url, extra_channels) {
+ if (typeof extra_channels === 'undefined') extra_channels = false;
+ // Autocomplete contacts
+ contacts = {
+ match: /(^|\s)(@\!*)([^ \n]+)$/,
+ index: 3,
+ search: function(term, callback) { mysearch(term, callback, backend_url, extra_channels); },
+ replace: replace,
+ template: format,
+ }
-
+ smilies = {
+ match: /(^|\s)(:[a-z]{2,})$/,
+ index: 2,
+ search: function(term, callback) { $.getJSON('/smilies/json').done(function(data) { callback($.map(data, function(entry) { return entry['text'].indexOf(term) === 0 ? entry : null })) }) },
+ template: function(item) { return item['icon'] + item['text'] },
+ replace: function(item) { return "$1"+item['text'] + ' '; },
+ }
+ this.textcomplete([contacts,smilies],{className:'acpopup'});
+ };
+})( jQuery );
diff --git a/view/js/jquery-compat.js b/view/js/jquery-compat.js
deleted file mode 100644
index 7bf912542..000000000
--- a/view/js/jquery-compat.js
+++ /dev/null
@@ -1,71 +0,0 @@
-
-// provide jquery.browser so we can get rid of the migration toolkit
-
-jQuery.uaMatch = function( ua ) {
- ua = ua.toLowerCase();
-
- var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
- /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
- /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
- /(msie) ([\w.]+)/.exec( ua ) ||
- ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
- [];
-
- return {
- browser: match[ 1 ] || "",
- version: match[ 2 ] || "0"
- };
-};
-
-
-// Don't clobber any existing jQuery.browser in case it's different
-if ( !jQuery.browser ) {
- matched = jQuery.uaMatch( navigator.userAgent );
- browser = {};
-
- if ( matched.browser ) {
- browser[ matched.browser ] = true;
- browser.version = matched.version;
- }
-
- // Chrome is Webkit, but Webkit is also Safari.
- if ( browser.chrome ) {
- browser.webkit = true;
- } else if ( browser.webkit ) {
- browser.safari = true;
- }
-
- jQuery.browser = browser;
-}
-
-jQuery.fn.toggle = function( fn, fn2 ) {
-
- // Don't mess with animation or css toggles
- if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
- return oldToggle.apply( this, arguments );
- }
-
- // Save reference to arguments for access in closure
- var args = arguments,
- guid = fn.guid || jQuery.guid++,
- i = 0,
- toggler = function( event ) {
- // Figure out which function to execute
- var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
- jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
-
- // Make sure that clicks stop
- event.preventDefault();
-
- // and execute the function
- return args[ lastToggle ].apply( this, arguments ) || false;
- };
-
- // link all the functions, so any of them can unbind this click handler
- toggler.guid = guid;
- while ( i < args.length ) {
- args[ i++ ].guid = guid;
- }
-
- return this.click( toggler );
-};
diff --git a/view/js/main.js b/view/js/main.js
index 191f24b59..85aea9875 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -113,7 +113,7 @@
}
function viewsrc(id) {
- $.colorbox({href: 'viewsrc/' + id });
+ $.colorbox({href: 'viewsrc/' + id, maxWidth: '80%', maxHeight: '80%' });
}
function qCommentInsert(obj,id) {
@@ -156,6 +156,15 @@
}
}
+ function closeOpen(theID) {
+ if(document.getElementById(theID).style.display == "none") {
+ document.getElementById(theID).style.display = "block"
+ }
+ else {
+ document.getElementById(theID).style.display = "none"
+ }
+ }
+
function openMenu(theID) {
document.getElementById(theID).style.display = "block"
}
@@ -171,6 +180,13 @@
timer = setTimeout(NavUpdate,2000);
}
+ function markItemRead(itemId) {
+ $.get('ping?f=&markItemRead='+itemId);
+ $('.unseen-wall-indicator-'+itemId).hide();
+ }
+
+
+
var src = null;
var prev = null;
var livetime = null;
@@ -191,6 +207,8 @@
var loadingPage = true;
var pageHasMoreContent = true;
var updateCountsOnly = false;
+ var divmore_height = 400;
+ var last_filestorage_id = null;
$(function() {
$.ajaxSetup({cache: false});
@@ -251,9 +269,9 @@
}
// fancyboxes
- $("a.popupbox").fancybox({
- 'transitionIn' : 'elastic',
- 'transitionOut' : 'elastic'
+ // Is this actually used anywhere?
+ $("a.popupbox").colorbox({
+ 'transition' : 'elastic'
});
@@ -267,6 +285,23 @@
return false;
}
}
+ if(event.keyCode == '34') {
+ if((pageHasMoreContent) && (! loadingPage)) {
+ $('#more').hide();
+ $('#no-more').hide();
+
+ next_page++;
+ scroll_next = true;
+ loadingPage = true;
+
+ if(($('.directory-end').length == 0) && ($('.photos-end').length == 0))
+ liveUpdate();
+ else
+ pageUpdate();
+ return true;
+ }
+ }
+
if(event.keyCode == '19' || (event.ctrlKey && event.which == '32')) {
event.preventDefault();
if(stopped == false) {
@@ -309,7 +344,7 @@
if($('#live-network').length) { src = 'network'; liveUpdate(); }
if($('#live-channel').length) { src = 'channel'; liveUpdate(); }
- if($('#live-community').length) { src = 'community'; liveUpdate(); }
+ if($('#live-home').length) { src = 'home'; liveUpdate(); }
if($('#live-display').length) { src = 'display'; liveUpdate(); }
if($('#live-search').length) { src = 'search'; liveUpdate(); }
@@ -384,6 +419,30 @@
}
+
+function updatePageItems(mode,data) {
+
+
+ if(mode === 'append') {
+ $(data).each(function() {
+ $('#page-end').before($(this));
+ });
+
+ if(loadingPage) {
+ loadingPage = false;
+ }
+ }
+
+ var e = document.getElementById('content-complete');
+ if(e) {
+ pageHasMoreContent = false;
+ }
+
+ collapseHeight();
+
+}
+
+
function updateConvItems(mode,data) {
if(mode === 'update') {
@@ -409,26 +468,18 @@ function updateConvItems(mode,data) {
$('#' + prev).after($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
- // divgrow doesn't prevent itself from attaching a second (or 500th)
- // "show more" div to a content region - it also has a few other
- // issues related to how we're trying to use it.
- // disable for now.
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
+ $(".autotime",this).timeago();
}
else {
$('img',this).each(function() {
$(this).attr('src',$(this).attr('dst'));
});
- // more FIXME related to expanded comments
if($('#collapsed-comments-'+itmId).is(':visible'))
isVisible = true;
$('#' + ident).replaceWith($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
-
+ $(".autotime",this).timeago();
}
prev = ident;
});
@@ -459,9 +510,7 @@ function updateConvItems(mode,data) {
$('#threads-end').before($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
-
+ $(".autotime",this).timeago();
}
else {
$('img',this).each(function() {
@@ -472,8 +521,7 @@ function updateConvItems(mode,data) {
$('#' + ident).replaceWith($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
+ $(".autotime",this).timeago();
}
});
@@ -507,9 +555,8 @@ function updateConvItems(mode,data) {
$('#' + prev).after($(this));
if(isVisible)
showHideComments(itmId);
- $(".autotime").timeago();
+ $(".autotime",this).timeago();
- // $("div.wall-item-body").divgrow({ initialHeight: 400 });
}
prev = ident;
});
@@ -527,7 +574,7 @@ function updateConvItems(mode,data) {
}
/* autocomplete @nicknames */
- $(".comment-edit-form textarea").contact_autocomplete(baseurl+"/acl");
+ $(".comment-edit-form textarea").contact_autocomplete(baseurl+"/acl?f=&n=1");
var bimgs = $(".wall-item-body img").not(function() { return this.complete; });
var bimgcount = bimgs.length;
@@ -548,21 +595,18 @@ function updateConvItems(mode,data) {
function collapseHeight() {
- $(".wall-item-body").each(function() {
- if($(this).height() > 410) {
+ $(".wall-item-body, .contact-info").each(function() {
+ if($(this).height() > divmore_height + 10) {
if(! $(this).hasClass('divmore')) {
- $(this).divgrow({ initialHeight: 400, moreText: aStr['divgrowmore'], lessText: aStr['divgrowless'], showBrackets: false });
+ $(this).readmore({collapsedHeight: divmore_height, moreLink: '<a href="#">'+aStr['divgrowmore']+'</a>', lessLink: '<a href="#">'+aStr['divgrowless']+'</a>'});
$(this).addClass('divmore');
}
- }
+ }
});
}
-
-
-
-
function liveUpdate() {
+ if(typeof profile_uid === 'undefined') profile_uid = false; /* Should probably be unified with channelId defined in head.tpl */
if((src == null) || (stopped) || (! profile_uid)) { $('.like-rotator').spin(false); return; }
if(($('.comment-edit-text-full').length) || (in_progress)) {
if(livetime) {
@@ -628,6 +672,56 @@ function updateConvItems(mode,data) {
}
+ function pageUpdate() {
+
+ in_progress = true;
+
+ var update_url;
+ var update_mode;
+
+ if(scroll_next) {
+ bParam_page = next_page;
+ page_load = true;
+ }
+ else {
+ bParam_page = 1;
+ }
+
+ update_url = baseurl + '/' + page_query + '/?f=&aj=1&page=' + bParam_page + extra_args ;
+
+ $("#page-spinner").spin('small');
+ update_mode = 'append';
+
+ $.get(update_url,function(data) {
+ page_load = false;
+ scroll_next = false;
+ updatePageItems(update_mode,data);
+ $("#page-spinner").spin(false);
+ in_progress = false;
+ });
+
+ }
+
+ function justifyPhotos() {
+ justifiedGalleryActive = true;
+ $('#photo-album-contents').justifiedGallery({
+ margins: 3,
+ sizeRangeSuffixes: {
+ 'lt100': '-2',
+ 'lt240': '-2',
+ 'lt320': '-2',
+ 'lt500': '',
+ 'lt640': '-1',
+ 'lt1024': '-0'
+ }
+ }).on('jg.complete', function(e){ justifiedGalleryActive = false; });
+ }
+
+ function justifyPhotosAjax() {
+ justifiedGalleryActive = true;
+ $('#photo-album-contents').justifiedGallery('norewind').on('jg.complete', function(e){ justifiedGalleryActive = false; });
+ }
+
function notify_popup_loader(notifyType) {
/* notifications template */
@@ -647,13 +741,13 @@ function updateConvItems(mode,data) {
if(data.notify.length==0){
- $("#nav-" + notifyType + "-menu").html(notifications_empty);
+ $("#nav-" + notifyType + "-menu").html(aStr[nothingnew]);
} else {
$("#nav-" + notifyType + "-menu").html(notifications_all + notifications_mark);
$(data.notify).each(function() {
- html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.class);
+ html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass);
$("#nav-" + notifyType + "-menu").append(html);
});
$(".dropdown-menu img[data-src]").each(function(i, el){
@@ -750,6 +844,19 @@ function updateConvItems(mode,data) {
});
}
+ function filestorage(event,nick,id) {
+ $('#cloud-index-' + last_filestorage_id).removeClass('cloud-index-active');
+ $('#perms-panel-' + last_filestorage_id).hide().html('');
+ $('#file-edit-' + id).spin('tiny');
+ delete acl;
+ $.get('filestorage/' + nick + '/' + id + '/edit', function(data) {
+ $('#cloud-index-' + id).addClass('cloud-index-active');
+ $('#perms-panel-' + id).html(data).show();
+ $('#file-edit-' + id).spin(false);
+ last_filestorage_id = id;
+ });
+ }
+
function post_comment(id) {
unpause();
commentBusy = true;
@@ -797,12 +904,23 @@ function updateConvItems(mode,data) {
return true;
}
+ function importElement(elem) {
+ $.post(
+ "impel",
+ { "element" : elem },
+ function(data) {
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(NavUpdate,10);
+ }
+ );
+ return false;
+ }
function preview_post() {
$("#jot-preview").val("1");
$("#jot-preview-content").show();
- tinyMCE.triggerSave();
+// tinyMCE.triggerSave();
$.post(
"item",
$("#profile-jot-form").serialize(),
@@ -879,6 +997,7 @@ function updateConvItems(mode,data) {
$('body').css('cursor', 'wait');
$.get('contactgroup/' + gid + '/' + cid, function(data) {
$('body').css('cursor', 'auto');
+ $('#group-' + gid).toggleClass('icon-check icon-check-empty');
});
}
@@ -918,6 +1037,8 @@ function fcFileBrowser (field_name, url, type, win) {
}
function setupFieldRichtext(){
+ return;
+/*
tinyMCE.init({
theme : "advanced",
mode : "specific_textareas",
@@ -941,6 +1062,7 @@ function setupFieldRichtext(){
theme_advanced_path : false,
file_browser_callback : "fcFileBrowser",
});
+*/
}
@@ -1012,8 +1134,9 @@ $(document).ready(function() {
-$(window).scroll(function () {
+$(window).scroll(function () {
if(typeof buildCmd == 'function') {
+ // This is a content page with items and/or conversations
$('#more').hide();
$('#no-more').hide();
@@ -1021,12 +1144,12 @@ $(window).scroll(function () {
$('#more').css("top","400");
$('#more').show();
}
-
+
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
if((pageHasMoreContent) && (! loadingPage)) {
$('#more').hide();
$('#no-more').hide();
- // alert('scroll');
+
next_page++;
scroll_next = true;
loadingPage = true;
@@ -1034,6 +1157,27 @@ $(window).scroll(function () {
}
}
}
+ else {
+ // This is some other kind of page - perhaps a directory
+
+ if($(window).scrollTop() + $(window).height() > $(document).height() - 200) {
+ $('#more').css("top","400");
+ $('#more').show();
+ }
+
+ if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
+ if((pageHasMoreContent) && (! loadingPage) && (! justifiedGalleryActive)) {
+ $('#more').hide();
+ $('#no-more').hide();
+
+ next_page++;
+ scroll_next = true;
+ loadingPage = true;
+ pageUpdate();
+ }
+ }
+ }
+
});
var chanviewFullSize = false;
diff --git a/view/js/mod_admin.js b/view/js/mod_admin.js
new file mode 100644
index 000000000..aad2ca902
--- /dev/null
+++ b/view/js/mod_admin.js
@@ -0,0 +1,3 @@
+$(document).ready(function() {
+ $('form').areYouSure(); // Warn user about unsaved settings
+});
diff --git a/view/js/mod_connedit.js b/view/js/mod_connedit.js
index 4d25bb8c4..15b768929 100644
--- a/view/js/mod_connedit.js
+++ b/view/js/mod_connedit.js
@@ -1,20 +1,32 @@
+function abook_perms_msg() {
+ $('.abook-permschange').show();
+// $('.abook-permschange').html(aStr['permschange']);
+ $('.abook-permssave').show();
+}
+
$(document).ready(function() {
- if(typeof(after_following) !== 'undefined' && after_following)
- connectFullShare();
+ if(typeof(after_following) !== 'undefined' && after_following) {
+ if(typeof(connectDefaultShare) !== 'undefined')
+ connectDefaultShare();
+ else
+ connectFullShare();
+ }
$('#id_pending').click(function() {
- connectFullShare();
+ if(typeof(connectDefaultShare) !== 'undefined')
+ connectDefaultShare();
+ else
+ connectFullShare();
});
$('.abook-edit-me').click(function() {
- $('.abook-permschange').show();
- $('.abook-permschange').html(aStr['permschange']);
+ abook_perms_msg();
});
-
});
+
function connectFullShare() {
$('.abook-edit-me').each(function() {
if(! $(this).is(':disabled'))
@@ -34,9 +46,7 @@ function connectFullShare() {
$('#me_id_perms_view_storage').attr('checked','checked');
$('#me_id_perms_republish').attr('checked','checked');
$('#me_id_perms_post_like').attr('checked','checked');
-
- $('.abook-permschange').show();
- $('.abook-permschange').html(aStr['permschange']);
+ abook_perms_msg();
}
function connectCautiousShare() {
@@ -54,8 +64,7 @@ function connectCautiousShare() {
$('#me_id_perms_post_comments').attr('checked','checked');
$('#me_id_perms_post_mail').attr('checked','checked');
$('#me_id_perms_post_like').attr('checked','checked');
- $('.abook-permschange').show();
- $('.abook-permschange').html(aStr['permschange']);
+ abook_perms_msg();
}
@@ -78,8 +87,7 @@ function connectForum() {
$('#me_id_perms_tag_deliver').attr('checked','checked');
$('#me_id_perms_republish').attr('checked','checked');
$('#me_id_perms_post_like').attr('checked','checked');
- $('.abook-permschange').show();
- $('.abook-permschange').html(aStr['permschange']);
+ abook_perms_msg();
}
@@ -88,8 +96,8 @@ function connectClear() {
if(! $(this).is(':disabled'))
$(this).removeAttr('checked');
});
- $('.abook-permschange').show();
- $('.abook-permschange').html(aStr['permschange']);
+ abook_perms_msg();
+
}
function connectSoapBox() {
@@ -104,8 +112,8 @@ function connectSoapBox() {
$('#me_id_perms_view_contacts').attr('checked','checked');
$('#me_id_perms_view_storage').attr('checked','checked');
$('#me_id_perms_view_pages').attr('checked','checked');
- $('.abook-permschange').show();
- $('.abook-permschange').html(aStr['permschange']);
+ abook_perms_msg();
+
}
@@ -116,8 +124,7 @@ function connectFollowOnly() {
});
$('#me_id_perms_send_stream').attr('checked','checked');
- $('.abook-permschange').show();
- $('.abook-permschange').html(aStr['permschange']);
+ abook_perms_msg();
}
diff --git a/view/js/mod_directory.js b/view/js/mod_directory.js
index 291734b4f..74c8b414d 100644
--- a/view/js/mod_directory.js
+++ b/view/js/mod_directory.js
@@ -6,3 +6,6 @@ function dirdetails(hash) {
}
+$(document).ready(function() {
+ collapseHeight();
+}); \ No newline at end of file
diff --git a/view/js/mod_events.js b/view/js/mod_events.js
new file mode 100644
index 000000000..0ce128fcc
--- /dev/null
+++ b/view/js/mod_events.js
@@ -0,0 +1,37 @@
+
+$(document).ready( function() { showHideFinishDate(); });
+
+function showHideFinishDate() {
+ if( $('#event-nofinish-checkbox').is(':checked'))
+ $('#event-finish-wrapper').hide();
+ else
+ $('#event-finish-wrapper').show();
+}
+
+
+
+ function eventGetStart() {
+ //reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
+ $('#startModal').modal();
+ $('#start-modal-OKButton').on('click', function() {
+ reply=$('#start-date').val();
+ if(reply && reply.length) {
+ $('#start-text').val(reply);
+ $('#startModal').modal('hide');
+ }
+ })
+
+
+ }
+ function eventGetFinish() {
+ //reply = prompt("{{$expirewhen}}", $('#jot-expire').val());
+ $('#finishModal').modal();
+ $('#finish-modal-OKButton').on('click', function() {
+ reply=$('#finish-date').val();
+ if(reply && reply.length) {
+ $('#finish-text').val(reply);
+ $('#finishModal').modal('hide');
+ }
+ })
+
+ }
diff --git a/view/js/mod_filestorage.js b/view/js/mod_filestorage.js
index 88c1cf7d8..bee37767f 100644
--- a/view/js/mod_filestorage.js
+++ b/view/js/mod_filestorage.js
@@ -13,4 +13,5 @@ $(document).ready(function() {
}
}).trigger('change');
+
});
diff --git a/view/js/mod_new_channel.js b/view/js/mod_new_channel.js
index a3c1dd05c..c4d5408f2 100644
--- a/view/js/mod_new_channel.js
+++ b/view/js/mod_new_channel.js
@@ -1,16 +1,21 @@
$(document).ready(function() {
+// $("#id_permissions_role").sSelect();
$("#newchannel-name").blur(function() {
+ $("#name-spinner").spin('small');
var zreg_name = $("#newchannel-name").val();
$.get("new_channel/autofill.json?f=&name=" + encodeURIComponent(zreg_name),function(data) {
$("#newchannel-nickname").val(data);
zFormError("#newchannel-name-feedback",data.error);
+ $("#name-spinner").spin(false);
});
});
$("#newchannel-nickname").blur(function() {
+ $("#nick-spinner").spin('small');
var zreg_nick = $("#newchannel-nickname").val();
$.get("new_channel/checkaddr.json?f=&nick=" + encodeURIComponent(zreg_nick),function(data) {
$("#newchannel-nickname").val(data);
zFormError("#newchannel-nickname-feedback",data.error);
+ $("#nick-spinner").spin(false);
});
});
diff --git a/view/js/mod_photos.js b/view/js/mod_photos.js
index aaa86df40..0a64f8102 100644
--- a/view/js/mod_photos.js
+++ b/view/js/mod_photos.js
@@ -3,15 +3,18 @@ var ispublic = aStr['everybody'];
$(document).ready(function() {
- $("a#photos-upload-perms-menu").colorbox({
- 'inline' : true,
- 'transition' : 'elastic'
+ var a;
+ a = $("#photo-edit-newtag").autocomplete({
+ serviceUrl: baseurl + '/acl',
+ minChars: 2,
+ width: 250,
+ id: 'newtag-ac',
+ onSelect: function(value,data) {
+ $("#photo-edit-newtag").val(data);
+ },
});
+ a.setOptions({ params: { type: 'p' }});
- $("a#settings-default-perms-menu").colorbox({
- 'inline' : true,
- 'transition' : 'elastic'
- });
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
var selstr;
diff --git a/view/js/mod_profiles.js b/view/js/mod_profiles.js
new file mode 100644
index 000000000..aad2ca902
--- /dev/null
+++ b/view/js/mod_profiles.js
@@ -0,0 +1,3 @@
+$(document).ready(function() {
+ $('form').areYouSure(); // Warn user about unsaved settings
+});
diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js
index 77c9d0ced..0db0dd165 100644
--- a/view/js/mod_settings.js
+++ b/view/js/mod_settings.js
@@ -2,11 +2,20 @@
var ispublic = aStr['everybody'] ;
$(document).ready(function() {
+ $('form').areYouSure(); // Warn user about unsaved settings
- $("a#settings-default-perms-menu").colorbox({
- 'inline' : true,
- 'transition' : 'elastic'
- });
+ $("a#settings-default-perms-menu").colorbox({
+ 'inline' : true,
+ 'transition' : 'elastic'
+ });
+
+ $("#id_permissions_role").change(function() {
+ var role = $("#id_permissions_role").val();
+ if(role == 'custom')
+ $('#advanced-perm').show();
+ else
+ $('#advanced-perm').hide();
+ });
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
var selstr;