mirror of
https://framagit.org/hubzilla/core.git
synced 2026-06-21 00:52:33 -04:00
157 lines
4.2 KiB
Smarty
157 lines
4.2 KiB
Smarty
<div id="edit-modal" class="modal" tabindex="-1">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<div id="edit-modal-title" class="modal-title w-75">
|
|
<div class="placeholder-wave">
|
|
<span class="placeholder placeholder-lg" style="width: 200px;"></span>
|
|
</div>
|
|
</div>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div id="edit-modal-body" class="modal-body">
|
|
<div class="placeholder-wave">
|
|
<span class="placeholder placeholder-lg w-100 mb-4"></span>
|
|
<span class="placeholder placeholder-lg w-100 mb-4"></span>
|
|
<span class="placeholder placeholder-lg w-100 mb-4"></span>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<div id="edit-modal-tools" class="me-auto"></div>
|
|
<button id="contact-save" type="button" class="btn btn-primary"></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
|
|
let poi;
|
|
let section = 'roles';
|
|
let sub_section;
|
|
|
|
$(document).ready(function() {
|
|
if (window.location.hash) {
|
|
poi = window.location.hash.substr(1);
|
|
init_contact_edit(poi);
|
|
}
|
|
|
|
window.onhashchange = function() {
|
|
if (window.location.hash) {
|
|
poi = window.location.hash.substr(1);
|
|
init_contact_edit(poi);
|
|
}
|
|
};
|
|
});
|
|
|
|
$(document).on('click', '.contact-edit', function (e) {
|
|
e.preventDefault();
|
|
poi = this.dataset.id
|
|
init_contact_edit(poi);
|
|
});
|
|
|
|
$(document).on('click', '#contact-save', function () {
|
|
let form_data = $('#contact-edit-form').serialize() + '§ion=' + section + '&sub_section=' + sub_section;
|
|
|
|
$.post('contactedit/' + poi, form_data, function(data) {
|
|
if (!data.success) {
|
|
$.jGrowl(data.message, {sticky: false, theme: 'notice', life: 10000});
|
|
return;
|
|
}
|
|
activate(data);
|
|
$.jGrowl(data.message, {sticky: false, theme: ((data.success) ? 'info' : 'notice'), life: ((data.success) ? 3000 : 10000)});
|
|
// $('#edit-modal').modal('hide');
|
|
});
|
|
|
|
});
|
|
|
|
$(document).on('click', '.contact-tool', function (e) {
|
|
e.preventDefault();
|
|
let cmd = this.dataset.cmd;
|
|
|
|
$.get('contactedit/' + poi + '/' + cmd, function(data) {
|
|
$('#edit-modal-tools').html(data.tools);
|
|
$.jGrowl(data.message, {sticky: false, theme: ((data.success) ? 'info' : 'notice'), life: ((data.success) ? 3000 : 10000)});
|
|
if (cmd === 'drop') {
|
|
if ($('#contact-entry-wrapper-' + poi).length) {
|
|
$('#contact-entry-wrapper-' + poi).fadeOut();
|
|
}
|
|
$('#edit-modal').modal('hide');
|
|
}
|
|
});
|
|
});
|
|
|
|
$(document).on('click', '.section', function () {
|
|
section = this.dataset.section;
|
|
sub_section = '';
|
|
});
|
|
|
|
$(document).on('click', '.sub_section', function () {
|
|
if ($(this).hasClass('sub_section_active')) {
|
|
$(this).removeClass('sub_section_active');
|
|
sub_section = '';
|
|
}
|
|
else {
|
|
$(this).addClass('sub_section_active');
|
|
sub_section = this.dataset.section;
|
|
}
|
|
});
|
|
|
|
$('#edit-modal').on('hidden.bs.modal', function (e) {
|
|
if (window.location.hash) {
|
|
history.replaceState(null, '', 'connections');
|
|
}
|
|
});
|
|
|
|
function init_contact_edit(poi) {
|
|
if (!poi)
|
|
return;
|
|
|
|
$('.contact-edit-rotator-' + poi).addClass('d-inline-block');
|
|
$('.contact-edit-icon-' + poi).hide();
|
|
$.get('contactedit/' + poi, function(data) {
|
|
if (!data.success) {
|
|
$.jGrowl(data.message, {sticky: false, theme: 'notice', life: 10000});
|
|
return;
|
|
}
|
|
$('#edit-modal').modal('show');
|
|
activate(data);
|
|
});
|
|
}
|
|
|
|
function activate(data) {
|
|
$('#contact-save').removeClass('disabled');
|
|
$('#contact-tools').removeClass('disabled');
|
|
$('.contact-edit-rotator-' + poi).removeClass('d-inline-block');
|
|
$('.contact-edit-icon-' + poi).show();
|
|
|
|
if (data.title) {
|
|
$('#edit-modal-title').html(data.title);
|
|
}
|
|
|
|
if (data.body) {
|
|
$('#edit-modal-body').html(data.body);
|
|
}
|
|
|
|
if (data.tools) {
|
|
$('#edit-modal-tools').html(data.tools);
|
|
}
|
|
|
|
if (data.submit) {
|
|
$('#contact-save').html(data.submit);
|
|
}
|
|
|
|
if (data.role && $('#contact-role-' + poi).length) {
|
|
$('#contact-role-' + poi).html(data.role);
|
|
}
|
|
|
|
if (data.pending) {
|
|
$('#contact-save').removeClass('btn-primary');
|
|
$('#contact-save').addClass('btn-success');
|
|
}
|
|
else {
|
|
$('#contact-save').addClass('btn-primary');
|
|
$('#contact-save').removeClass('btn-success');
|
|
}
|
|
}
|
|
</script>
|