93 lines
2.8 KiB
JavaScript
93 lines
2.8 KiB
JavaScript
'use strict';
|
|
|
|
pandora.ui.importDocumentsDialog = function() {
|
|
|
|
var dialogHeight = 128 + 16,
|
|
dialogWidth = 512 + 16,
|
|
formWidth = getFormWidth(),
|
|
|
|
$button,
|
|
$content = Ox.Element(),
|
|
value,
|
|
$input = [
|
|
Ox.Input({
|
|
type: 'textarea',
|
|
height: 128,
|
|
width: 512
|
|
}).css({
|
|
margin: '8px'
|
|
}).bindEvent({
|
|
change: function(data) {
|
|
$button.options({disabled: !data.value});
|
|
value = data.value
|
|
}
|
|
}).appendTo($content),
|
|
],
|
|
|
|
that = Ox.Dialog({
|
|
buttons: [
|
|
Ox.Button({
|
|
id: 'cancel',
|
|
title: Ox._('Cancel')
|
|
})
|
|
.bindEvent({
|
|
click: function() {
|
|
that.close();
|
|
}
|
|
}),
|
|
$button = Ox.Button({
|
|
disabled: false,
|
|
id: 'import',
|
|
title: Ox._('Import URLs')
|
|
})
|
|
.bindEvent({
|
|
click: importDocuments
|
|
})
|
|
],
|
|
closeButton: true,
|
|
content: $content,
|
|
height: dialogHeight,
|
|
removeOnClose: true,
|
|
title: Ox._('Import Documents'),
|
|
width: dialogWidth
|
|
})
|
|
.bindEvent({
|
|
resize: setSize
|
|
});
|
|
|
|
function getFormWidth() {
|
|
return dialogWidth - 32 - Ox.UI.SCROLLBAR_SIZE;
|
|
}
|
|
|
|
function setSize(data) {
|
|
dialogHeight = data.height;
|
|
dialogWidth = data.width;
|
|
formWidth = getFormWidth();
|
|
$input.forEach(function($element) {
|
|
$element.options({width: formWidth});
|
|
});
|
|
}
|
|
|
|
function importDocuments() {
|
|
that.options({content: Ox.LoadingScreen().start()});
|
|
var urls = value.trim().split('\n');
|
|
pandora.api.importDocuments({
|
|
urls: urls
|
|
}, function(result) {
|
|
Ox.Request.clearCache()
|
|
if (result.data.taskId) {
|
|
pandora.wait(result.data.taskId, function(result) {
|
|
that.close();
|
|
if (pandora.user.ui.section == 'documents' && !pandora.user.ui.document.length) {
|
|
pandora.$ui.list.reloadList()
|
|
} else {
|
|
pandora.URL.push('/documents/grid/created')
|
|
}
|
|
})
|
|
} else {
|
|
that.options({content: 'Failed'});
|
|
}
|
|
})
|
|
}
|
|
return that;
|
|
};
|