Moved JavaScript dependant stuff out of noticeform.
This commit is contained in:
parent
e84bf0aa98
commit
dde6415a6a
29
js/util.js
29
js/util.js
@ -440,8 +440,20 @@ var SN = { // StatusNet
|
|||||||
NoticeLocationAttach: function() {
|
NoticeLocationAttach: function() {
|
||||||
if ($('#notice_data-location_enabled').length > 0) {
|
if ($('#notice_data-location_enabled').length > 0) {
|
||||||
if (navigator.geolocation) {
|
if (navigator.geolocation) {
|
||||||
$('#notice_data-location_enabled').change(function() {
|
var NLE = $('#notice_data-location_wrap');
|
||||||
|
var geocodeURL = NLE.attr('title');
|
||||||
|
|
||||||
|
NLE.change(function() {
|
||||||
|
NLE.removeAttr('title');
|
||||||
|
|
||||||
$.cookie(SN.C.S.NoticeLocationCookieName, $('#notice_data-location_enabled').attr('checked'));
|
$.cookie(SN.C.S.NoticeLocationCookieName, $('#notice_data-location_enabled').attr('checked'));
|
||||||
|
|
||||||
|
var NLN = $('#'+SN.C.S.NoticeLocationName);
|
||||||
|
if (NLN.length > 0) {
|
||||||
|
NLN.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
NLE.append('<span id="'+SN.C.S.NoticeLocationName+'">Geo</span>');
|
||||||
NLN = $('#'+SN.C.S.NoticeLocationName);
|
NLN = $('#'+SN.C.S.NoticeLocationName);
|
||||||
|
|
||||||
if ($('#notice_data-location_enabled').attr('checked') === true) {
|
if ($('#notice_data-location_enabled').attr('checked') === true) {
|
||||||
@ -458,8 +470,9 @@ var SN = { // StatusNet
|
|||||||
'token': $('#token').val()
|
'token': $('#token').val()
|
||||||
};
|
};
|
||||||
|
|
||||||
$.getJSON($('#notice_data-location_enabled_container').attr('data-geocode-url'), data, function(location) {
|
$.getJSON(geocodeURL, data, function(location) {
|
||||||
NLN.removeClass('processing');
|
NLN.replaceWith('<a id="notice_data-location_name"/>');
|
||||||
|
NLN = $('#'+SN.C.S.NoticeLocationName);
|
||||||
|
|
||||||
if (typeof(location.location_ns) != 'undefined') {
|
if (typeof(location.location_ns) != 'undefined') {
|
||||||
$('#'+SN.C.S.NoticeLocationNs).val(location.location_ns);
|
$('#'+SN.C.S.NoticeLocationNs).val(location.location_ns);
|
||||||
@ -470,12 +483,14 @@ var SN = { // StatusNet
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (typeof(location.name) == 'undefined') {
|
if (typeof(location.name) == 'undefined') {
|
||||||
NLN.text(position.coords.latitude + ';' + position.coords.longitude);
|
NLN_text = position.coords.latitude + ';' + position.coords.longitude;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
NLN.text(location.name);
|
NLN_text = location.name;
|
||||||
NLN.attr('href',location.url);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NLN.attr('href', location.url);
|
||||||
|
NLN.text(NLN_text);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -490,7 +505,7 @@ var SN = { // StatusNet
|
|||||||
|
|
||||||
var cookieVal = $.cookie(SN.C.S.NoticeLocationCookieName);
|
var cookieVal = $.cookie(SN.C.S.NoticeLocationCookieName);
|
||||||
$('#notice_data-location_enabled').attr('checked',(cookieVal == null || cookieVal == 'true'));
|
$('#notice_data-location_enabled').attr('checked',(cookieVal == null || cookieVal == 'true'));
|
||||||
$('#notice_data-location_enabled').change();
|
NLE.change();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -207,9 +207,9 @@ class NoticeForm extends Form
|
|||||||
$this->out->hidden('notice_data-location_id', empty($this->location_id) ? (empty($this->profile->location_id) ? null : $this->profile->location_id) : $this->location_id, 'location_id');
|
$this->out->hidden('notice_data-location_id', empty($this->location_id) ? (empty($this->profile->location_id) ? null : $this->profile->location_id) : $this->location_id, 'location_id');
|
||||||
$this->out->hidden('notice_data-location_ns', empty($this->location_ns) ? (empty($this->profile->location_ns) ? null : $this->profile->location_ns) : $this->location_ns, 'location_ns');
|
$this->out->hidden('notice_data-location_ns', empty($this->location_ns) ? (empty($this->profile->location_ns) ? null : $this->profile->location_ns) : $this->location_ns, 'location_ns');
|
||||||
|
|
||||||
$this->out->elementStart('div',array('id' => 'notice_data-location_enabled_container', 'data-geocode-url' => common_local_url('geocode')));
|
$this->out->elementStart('div', array('id' => 'notice_data-location_wrap',
|
||||||
|
'title' => common_local_url('geocode')));
|
||||||
$this->out->checkbox('notice_data-location_enabled', _('Share your location'), true);
|
$this->out->checkbox('notice_data-location_enabled', _('Share your location'), true);
|
||||||
$this->out->element('a', array('id' => 'notice_data-location_name'), _('Finding your location...'));
|
|
||||||
$this->out->elementEnd('div');
|
$this->out->elementEnd('div');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user