%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/assets/83747a20/js/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/assets/83747a20/js/humhub.activity.js |
/**
* Core module for managing Streams and StreamItems
* @type Function
*/
humhub.module('activity', function (module, require, $) {
var util = require('util');
var stream = require('stream');
var Widget = require('ui.widget').Widget;
var container = require('content.container');
var user = require('user');
var view = require('ui.view');
/**
* Number of initial stream enteis loaded when stream is initialized.
* @type Number
*/
var STREAM_INIT_COUNT = 10;
/**
* Number of stream entries loaded with each request (except initial request)
* @type Number
*/
var STREAM_LOAD_COUNT = 10;
/**
* Number of stream entries loaded with each request (except initial request)
* @type string
*/
var ACTIVITY_STREAM_SELECTOR = '#activityStream';
/**
* ActivityStream instance;
* @type ActivityStream
*/
var instance;
var ActivityStreamEntry = stream.StreamEntry.extend();
ActivityStreamEntry.prototype.delete = function () {/* Not implemented */};
ActivityStreamEntry.prototype.edit = function () {/* Not implemented */};
/**
* ActivityStream implementation.
*
* @param {type} container id or jQuery object of the stream container
* @returns {undefined}
*/
var ActivityStream = stream.Stream.extend(function (container, options) {
stream.Stream.call(this, container, {
scrollSupport: true,
scrollOptions: { rootMargin: "30px" },
initLoadCount: STREAM_INIT_COUNT,
loadCount: STREAM_LOAD_COUNT,
autoUpdate: true,
streamEntryClass: ActivityStreamEntry,
});
});
ActivityStream.prototype.initEvents = function(events) {
var that = this;
this.on('humhub:stream:afterAddEntries', function() {
if(view.isLarge() && !that.$content.getNiceScroll().length) {
that.$content.niceScroll({
cursorwidth: "7",
cursorborder: "",
cursorcolor: "#555",
cursoropacitymax: "0.2",
nativeparentscrolling: false,
railpadding: {top: 0, right: 3, left: 0, bottom: 0}
});
} else {
that.$content.getNiceScroll().resize();
}
});
};
ActivityStream.prototype.isUpdateAvailable = function(events) {
var that = this;
var updatesAvailable = false;
events.forEach(function(event) {
if(that.entry(event.data.contentId)) {
return;
}
if(event.data.streamChannel !== 'activity') {
return;
}
if(event.data.originator === user.guid()) {
return;
}
if(container.guid() === event.data.sguid || container.guid() === event.data.uguid) {
updatesAvailable = true;
}
});
return updatesAvailable;
};
ActivityStream.templates = {
streamMessage: '<div class="streamMessage activity"><div class="panel-body">{message}</div></div>'
};
var getStream = function () {
instance = instance || Widget.instance(ACTIVITY_STREAM_SELECTOR);
if (!instance.$.length) {
return;
}
return instance;
};
var unload = function() {
// Cleanup nicescroll rails from dom
if(instance && instance.$) {
instance.$content.getNiceScroll().remove();
instance.$content.css('overflow', 'hidden');
}
instance = undefined;
};
module.export({
ActivityStream: ActivityStream,
getStream: getStream,
initOnPjaxLoad: true,
unload: unload
});
});