znt/module/doc/js/uploaddocs.ui.js

68 lines
2.4 KiB
JavaScript

window.waitDom('.uploadFileBox .file-selector-list', function(){ addFileUploadMutationObserver();})
function addFileUploadMutationObserver()
{
let fileUpload = document.querySelector('.uploadFileBox .file-selector-list');
observer = new MutationObserver(function(mutationsList, observer)
{
let title = $('.uploadFileBox .file-selector-list .file-selector-item:nth-child(1) .item-title').text();
let dotIdx = title.lastIndexOf('.');
if(dotIdx != '-1') title = title.substring(0, dotIdx);
if(docID == 0)
{
$('.titleBox [name=title]').val(title);
$('.uploadFormatBox').toggleClass('hidden', $('.uploadFileBox .file-selector-list .file-selector-item').length <= 1);
}
});
observer.observe(fileUpload, {childList: true, subtree: true});
}
window.loadExecutions = function(e)
{
const $projectElement = $('.projectBox input[name="project"]');
const $executionElement = $('.executionBox input[name="execution"]');
const projectID = $projectElement.val();
if($executionElement)
{
const executionID = $executionElement.val();
const link = $.createLink('project', 'ajaxGetExecutions', "projectID=" + projectID + "&mode=multiple,leaf,noprefix");
$.getJSON(link, function(data)
{
let $picker = $executionElement.zui('picker');
$picker.render({items: data.items, disabled: !data.multiple});
$picker.$.setValue(executionID);
});
}
const link = $.createLink('doc', 'ajaxGetModules', 'objectType=project&objectID=' + projectID + '&type=doc');
$.getJSON(link, function(data)
{
const $libPicker = $("[name='lib']").zui('picker');
$libPicker.render({items: data.libs});
$libPicker.$.setValue('');
const $modulePicker = $("[name='parent']").zui('picker');
$modulePicker.render({items: data.modules});
$modulePicker.$.setValue('');
});
}
window.openEditURL = function(docID, fileID)
{
let editUrl = $.createLink('file', 'download', "fileID=" + fileID + "&mouse=left");
window.open(editUrl);
loadPage($.createLink('doc', 'view', "docID=" + docID));
}
window.toggleDocTitle = function()
{
const uploadFormat = $('.uploadFormatBox input[name=uploadFormat]:checked').val();
$('.titleBox').toggleClass('hidden', uploadFormat != 'combinedDocs');
}
window.titleChanged = function()
{
if(observer) observer.disconnect();
}