Moving bit by bit more towards reusable forms... per-form-izing some of the location setup (not all yet)
This commit is contained in:
parent
cd20190ba5
commit
e7662bb1d9
72
js/util.js
72
js/util.js
|
@ -436,7 +436,7 @@ var SN = { // StatusNet
|
||||||
form.find('[name=lon]').val(SN.C.I.NoticeDataGeo.NLon);
|
form.find('[name=lon]').val(SN.C.I.NoticeDataGeo.NLon);
|
||||||
form.find('[name=location_ns]').val(SN.C.I.NoticeDataGeo.NLNS);
|
form.find('[name=location_ns]').val(SN.C.I.NoticeDataGeo.NLNS);
|
||||||
form.find('[name=location_id]').val(SN.C.I.NoticeDataGeo.NLID);
|
form.find('[name=location_id]').val(SN.C.I.NoticeDataGeo.NLID);
|
||||||
$('#'+SN.C.S.NoticeDataGeo).attr('checked', SN.C.I.NoticeDataGeo.NDG);
|
form.find('[name=notice_data-geo]').attr('checked', SN.C.I.NoticeDataGeo.NDG);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -446,7 +446,7 @@ var SN = { // StatusNet
|
||||||
SN.C.I.NoticeDataGeo.NLon = form.find('[name=lon]').val();
|
SN.C.I.NoticeDataGeo.NLon = form.find('[name=lon]').val();
|
||||||
SN.C.I.NoticeDataGeo.NLNS = form.find('[name=location_ns]').val();
|
SN.C.I.NoticeDataGeo.NLNS = form.find('[name=location_ns]').val();
|
||||||
SN.C.I.NoticeDataGeo.NLID = form.find('[name=location_id]').val();
|
SN.C.I.NoticeDataGeo.NLID = form.find('[name=location_id]').val();
|
||||||
SN.C.I.NoticeDataGeo.NDG = $('#'+SN.C.S.NoticeDataGeo).attr('checked'); // @fixme
|
SN.C.I.NoticeDataGeo.NDG = form.find('[name=notice_data-geo]').attr('checked'); // @fixme
|
||||||
|
|
||||||
var cookieValue = $.cookie(SN.C.S.NoticeDataGeoCookie);
|
var cookieValue = $.cookie(SN.C.S.NoticeDataGeoCookie);
|
||||||
|
|
||||||
|
@ -463,10 +463,10 @@ var SN = { // StatusNet
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (cookieValue == 'disabled') {
|
if (cookieValue == 'disabled') {
|
||||||
SN.C.I.NoticeDataGeo.NDG = $('#'+SN.C.S.NoticeDataGeo).attr('checked', false).attr('checked');
|
SN.C.I.NoticeDataGeo.NDG = form.find('[name=notice_data-geo]').attr('checked', false).attr('checked');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
SN.C.I.NoticeDataGeo.NDG = $('#'+SN.C.S.NoticeDataGeo).attr('checked', true).attr('checked');
|
SN.C.I.NoticeDataGeo.NDG = form.find('[name=notice_data-geo]').attr('checked', true).attr('checked');
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -959,30 +959,32 @@ var SN = { // StatusNet
|
||||||
* new-notice form. Seems to set up some event handlers for
|
* new-notice form. Seems to set up some event handlers for
|
||||||
* triggering lookups and using the new values.
|
* triggering lookups and using the new values.
|
||||||
*
|
*
|
||||||
|
* @param {jQuery} form
|
||||||
|
*
|
||||||
* @fixme tl;dr
|
* @fixme tl;dr
|
||||||
* @fixme there's not good visual state update here, so users have a
|
* @fixme there's not good visual state update here, so users have a
|
||||||
* hard time figuring out if it's working or fixing if it's wrong.
|
* hard time figuring out if it's working or fixing if it's wrong.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
NoticeLocationAttach: function() {
|
NoticeLocationAttach: function(form) {
|
||||||
// @fixme this should not be tied to the main notice form, as there may be multiple notice forms...
|
// @fixme this should not be tied to the main notice form, as there may be multiple notice forms...
|
||||||
var NLat = $('#'+SN.C.S.NoticeLat).val();
|
var NLat = form.find('[name=lat]')
|
||||||
var NLon = $('#'+SN.C.S.NoticeLon).val();
|
var NLon = form.find('[name=lon]')
|
||||||
var NLNS = $('#'+SN.C.S.NoticeLocationNs).val();
|
var NLNS = form.find('[name=location_ns]').val();
|
||||||
var NLID = $('#'+SN.C.S.NoticeLocationId).val();
|
var NLID = form.find('[name=location_id]').val();
|
||||||
var NLN = $('#'+SN.C.S.NoticeGeoName).text();
|
var NLN = $('#'+SN.C.S.NoticeGeoName).text(); // @fixme does this exist?
|
||||||
var NDGe = $('#'+SN.C.S.NoticeDataGeo);
|
var NDGe = form.find('[name=notice_data-geo]');
|
||||||
|
|
||||||
function removeNoticeDataGeo(error) {
|
function removeNoticeDataGeo(error) {
|
||||||
$('label[for='+SN.C.S.NoticeDataGeo+']')
|
$('label[for='+SN.C.S.NoticeDataGeo+']')
|
||||||
.attr('title', jQuery.trim($('label[for='+SN.C.S.NoticeDataGeo+']').text()))
|
.attr('title', jQuery.trim($('label[for='+SN.C.S.NoticeDataGeo+']').text()))
|
||||||
.removeClass('checked');
|
.removeClass('checked');
|
||||||
|
|
||||||
$('.form_notice [name=lat]').val('');
|
form.find('[name=lat]').val('');
|
||||||
$('.form_notice [name=lon]').val('');
|
form.find('[name=lon]').val('');
|
||||||
$('.form_notice [name=location_ns]').val('');
|
form.find('[name=location_ns]').val('');
|
||||||
$('.form_notice [name=location_id]').val('');
|
form.find('[name=location_id]').val('');
|
||||||
$('#'+SN.C.S.NoticeDataGeo).attr('checked', false);
|
form.find('[name=notice_data-geo]').attr('checked', false);
|
||||||
|
|
||||||
$.cookie(SN.C.S.NoticeDataGeoCookie, 'disabled', { path: '/' });
|
$.cookie(SN.C.S.NoticeDataGeoCookie, 'disabled', { path: '/' });
|
||||||
|
|
||||||
|
@ -1000,12 +1002,12 @@ var SN = { // StatusNet
|
||||||
var lns, lid;
|
var lns, lid;
|
||||||
|
|
||||||
if (typeof(location.location_ns) != 'undefined') {
|
if (typeof(location.location_ns) != 'undefined') {
|
||||||
$('#'+SN.C.S.NoticeLocationNs).val(location.location_ns);
|
form.find('[name=location_ns]').val(location.location_ns);
|
||||||
lns = location.location_ns;
|
lns = location.location_ns;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof(location.location_id) != 'undefined') {
|
if (typeof(location.location_id) != 'undefined') {
|
||||||
$('#'+SN.C.S.NoticeLocationId).val(location.location_id);
|
form.find('[name=location_id]').val(location.location_id);
|
||||||
lid = location.location_id;
|
lid = location.location_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1020,11 +1022,11 @@ var SN = { // StatusNet
|
||||||
$('label[for='+SN.C.S.NoticeDataGeo+']')
|
$('label[for='+SN.C.S.NoticeDataGeo+']')
|
||||||
.attr('title', NoticeDataGeo_text.ShareDisable + ' (' + NLN_text + ')');
|
.attr('title', NoticeDataGeo_text.ShareDisable + ' (' + NLN_text + ')');
|
||||||
|
|
||||||
$('.form_notice [name=lat]').val(data.lat);
|
form.find('[name=lat]').val(data.lat);
|
||||||
$('.form_notice [name=lon]').val(data.lon);
|
form.find('[name=lon]').val(data.lon);
|
||||||
$('.form_notice [name=location_ns]').val(lns);
|
form.find('[name=location_ns]').val(lns);
|
||||||
$('.form_notice [name=location_id]').val(lid);
|
form.find('[name=location_id]').val(lid);
|
||||||
$('#'+SN.C.S.NoticeDataGeo).attr('checked', true);
|
form.find('[name=notice_data-geo]').attr('checked', true);
|
||||||
|
|
||||||
var cookieValue = {
|
var cookieValue = {
|
||||||
NLat: data.lat,
|
NLat: data.lat,
|
||||||
|
@ -1066,8 +1068,8 @@ var SN = { // StatusNet
|
||||||
SN.U.NoticeGeoStatus('Requesting location from browser...');
|
SN.U.NoticeGeoStatus('Requesting location from browser...');
|
||||||
navigator.geolocation.getCurrentPosition(
|
navigator.geolocation.getCurrentPosition(
|
||||||
function(position) {
|
function(position) {
|
||||||
$('.form_notice [name=lat]').val(position.coords.latitude);
|
form.find('[name=lat]').val(position.coords.latitude);
|
||||||
$('.form_notice [name=lon]').val(position.coords.longitude);
|
form.find('[name=lon]').val(position.coords.longitude);
|
||||||
|
|
||||||
var data = {
|
var data = {
|
||||||
lat: position.coords.latitude,
|
lat: position.coords.latitude,
|
||||||
|
@ -1115,11 +1117,11 @@ var SN = { // StatusNet
|
||||||
else {
|
else {
|
||||||
var cookieValue = JSON.parse($.cookie(SN.C.S.NoticeDataGeoCookie));
|
var cookieValue = JSON.parse($.cookie(SN.C.S.NoticeDataGeoCookie));
|
||||||
|
|
||||||
$('.form_notice [name=lat]').val(cookieValue.NLat);
|
form.find('[name=lat]').val(cookieValue.NLat);
|
||||||
$('.form_notice [name=lon]').val(cookieValue.NLon);
|
form.find('[name=lon]').val(cookieValue.NLon);
|
||||||
$('.form_notice [name=location_ns]').val(cookieValue.NLNS);
|
form.find('[name=location_ns]').val(cookieValue.NLNS);
|
||||||
$('.form_notice [name=location_id]').val(cookieValue.NLID);
|
form.find('[name=location_id]').val(cookieValue.NLID);
|
||||||
$('#'+SN.C.S.NoticeDataGeo).attr('checked', cookieValue.NDG);
|
form.find('[name=notice_data-geo]').attr('checked', cookieValue.NDG);
|
||||||
|
|
||||||
SN.U.NoticeGeoStatus(cookieValue.NLN, cookieValue.NLat, cookieValue.NLon, cookieValue.NLNU);
|
SN.U.NoticeGeoStatus(cookieValue.NLN, cookieValue.NLat, cookieValue.NLon, cookieValue.NLNU);
|
||||||
$('label[for='+SN.C.S.NoticeDataGeo+']')
|
$('label[for='+SN.C.S.NoticeDataGeo+']')
|
||||||
|
@ -1323,12 +1325,12 @@ var SN = { // StatusNet
|
||||||
*/
|
*/
|
||||||
NoticeForm: function() {
|
NoticeForm: function() {
|
||||||
if ($('body.user_in').length > 0) {
|
if ($('body.user_in').length > 0) {
|
||||||
SN.U.NoticeLocationAttach();
|
|
||||||
|
|
||||||
$('.'+SN.C.S.FormNotice).each(function() {
|
$('.'+SN.C.S.FormNotice).each(function() {
|
||||||
SN.U.FormNoticeXHR($(this));
|
var form = $(this);
|
||||||
SN.U.FormNoticeEnhancements($(this));
|
SN.U.NoticeLocationAttach(form);
|
||||||
SN.U.NoticeDataAttach($(this));
|
SN.U.FormNoticeXHR(form);
|
||||||
|
SN.U.FormNoticeEnhancements(form);
|
||||||
|
SN.U.NoticeDataAttach(form);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
2
js/util.min.js
vendored
2
js/util.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user