Browse Source
Removed redudant imports. Using timega jQuery library delivered with odoo core.
pull/1/head
Removed redudant imports. Using timega jQuery library delivered with odoo core.
pull/1/head
s0x90
10 years ago
4 changed files with 4 additions and 3248 deletions
@ -1,129 +0,0 @@ |
|||||
// Livestamp.js / v1.1.2 / (c) 2012 Matt Bradley / MIT License
|
|
||||
(function($, moment) { |
|
||||
var updateInterval = 1e3, |
|
||||
paused = false, |
|
||||
$livestamps = $([]), |
|
||||
|
|
||||
init = function() { |
|
||||
livestampGlobal.resume(); |
|
||||
}, |
|
||||
|
|
||||
prep = function($el, timestamp) { |
|
||||
var oldData = $el.data('livestampdata'); |
|
||||
if (typeof timestamp == 'number') |
|
||||
timestamp *= 1e3; |
|
||||
|
|
||||
$el.removeAttr('data-livestamp') |
|
||||
.removeData('livestamp'); |
|
||||
|
|
||||
timestamp = moment(timestamp); |
|
||||
if (moment.isMoment(timestamp) && !isNaN(+timestamp)) { |
|
||||
var newData = $.extend({ }, { 'original': $el.contents() }, oldData); |
|
||||
newData.moment = moment(timestamp); |
|
||||
|
|
||||
$el.data('livestampdata', newData).empty(); |
|
||||
$livestamps.push($el[0]); |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
run = function() { |
|
||||
if (paused) return; |
|
||||
livestampGlobal.update(); |
|
||||
setTimeout(run, updateInterval); |
|
||||
}, |
|
||||
|
|
||||
livestampGlobal = { |
|
||||
update: function() { |
|
||||
$('[data-livestamp]').each(function() { |
|
||||
var $this = $(this); |
|
||||
prep($this, $this.data('livestamp')); |
|
||||
}); |
|
||||
|
|
||||
var toRemove = []; |
|
||||
$livestamps.each(function() { |
|
||||
var $this = $(this), |
|
||||
data = $this.data('livestampdata'); |
|
||||
|
|
||||
if (data === undefined) |
|
||||
toRemove.push(this); |
|
||||
else if (moment.isMoment(data.moment)) { |
|
||||
var from = $this.html(), |
|
||||
to = data.moment.fromNow(); |
|
||||
|
|
||||
if (from != to) { |
|
||||
var e = $.Event('change.livestamp'); |
|
||||
$this.trigger(e, [from, to]); |
|
||||
if (!e.isDefaultPrevented()) |
|
||||
$this.html(to); |
|
||||
} |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
$livestamps = $livestamps.not(toRemove); |
|
||||
}, |
|
||||
|
|
||||
pause: function() { |
|
||||
paused = true; |
|
||||
}, |
|
||||
|
|
||||
resume: function() { |
|
||||
paused = false; |
|
||||
run(); |
|
||||
}, |
|
||||
|
|
||||
interval: function(interval) { |
|
||||
if (interval === undefined) |
|
||||
return updateInterval; |
|
||||
updateInterval = interval; |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
livestampLocal = { |
|
||||
add: function($el, timestamp) { |
|
||||
if (typeof timestamp == 'number') |
|
||||
timestamp *= 1e3; |
|
||||
timestamp = moment(timestamp); |
|
||||
|
|
||||
if (moment.isMoment(timestamp) && !isNaN(+timestamp)) { |
|
||||
$el.each(function() { |
|
||||
prep($(this), timestamp); |
|
||||
}); |
|
||||
livestampGlobal.update(); |
|
||||
} |
|
||||
|
|
||||
return $el; |
|
||||
}, |
|
||||
|
|
||||
destroy: function($el) { |
|
||||
$livestamps = $livestamps.not($el); |
|
||||
$el.each(function() { |
|
||||
var $this = $(this), |
|
||||
data = $this.data('livestampdata'); |
|
||||
|
|
||||
if (data === undefined) |
|
||||
return $el; |
|
||||
|
|
||||
$this |
|
||||
.html(data.original ? data.original : '') |
|
||||
.removeData('livestampdata'); |
|
||||
}); |
|
||||
|
|
||||
return $el; |
|
||||
}, |
|
||||
|
|
||||
isLivestamp: function($el) { |
|
||||
return $el.data('livestampdata') !== undefined; |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
$.livestamp = livestampGlobal; |
|
||||
$(init); |
|
||||
$.fn.livestamp = function(method, options) { |
|
||||
if (!livestampLocal[method]) { |
|
||||
options = method; |
|
||||
method = 'add'; |
|
||||
} |
|
||||
|
|
||||
return livestampLocal[method](this, options); |
|
||||
}; |
|
||||
})(jQuery, moment); |
|
3111
static/lib/js/moment.js
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue