临时文件
This commit is contained in:
225
HT.Cloud.Web/wwwroot/lib/drawio/open.js
Normal file
225
HT.Cloud.Web/wwwroot/lib/drawio/open.js
Normal file
@ -0,0 +1,225 @@
|
||||
// Handles form-submit by preparing to process response
|
||||
function handleSubmit()
|
||||
{
|
||||
if (window.parent.openNew && window.parent.baseUrl != null)
|
||||
{
|
||||
window.parent.openFile.setConsumer(null);
|
||||
window.parent.open(window.parent.baseUrl);
|
||||
}
|
||||
|
||||
// NOTE: File is loaded via JS injection into the iframe, which in turn sets the
|
||||
// file contents in the parent window. The new window asks its opener if any file
|
||||
// contents are available or waits for the contents to become available.
|
||||
return true;
|
||||
};
|
||||
|
||||
// Hides this dialog
|
||||
function hideWindow(cancel)
|
||||
{
|
||||
if (window.parent.openFile != null)
|
||||
{
|
||||
window.parent.openFile.cancel(cancel);
|
||||
}
|
||||
};
|
||||
|
||||
function fileChanged()
|
||||
{
|
||||
var form = window.openForm || document.getElementById('openForm');
|
||||
var openButton = document.getElementById('openButton');
|
||||
|
||||
if (form.upfile.value.length > 0)
|
||||
{
|
||||
openButton.removeAttribute('disabled');
|
||||
}
|
||||
else
|
||||
{
|
||||
openButton.setAttribute('disabled', 'disabled');
|
||||
}
|
||||
};
|
||||
|
||||
function main()
|
||||
{
|
||||
if (window.parent != null && window.parent.Editor != null)
|
||||
{
|
||||
document.body.innerText = '';
|
||||
var div = document.createElement('div');
|
||||
div.style.fontFamily = 'Arial';
|
||||
var darkMode = window.parent.Editor.cssDarkMode ||
|
||||
(typeof window.parent.Editor.isDarkMode === 'function' &&
|
||||
window.parent.Editor.isDarkMode());
|
||||
|
||||
window.parent.listBrowserFiles(function(filesInfo)
|
||||
{
|
||||
if (window.parent != null)
|
||||
{
|
||||
if (filesInfo.length == 0)
|
||||
{
|
||||
window.parent.mxUtils.write(div, window.parent.mxResources.get('noFiles'));
|
||||
div.style.color = (darkMode) ? '#cccccc' : '';
|
||||
window.parent.mxUtils.br(div);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Sorts the array by filename (titles)
|
||||
filesInfo.sort(function (a, b)
|
||||
{
|
||||
return a.title.toLowerCase().localeCompare(b.title.toLowerCase());
|
||||
});
|
||||
|
||||
var table = document.createElement('table');
|
||||
var hrow = document.createElement('tr');
|
||||
hrow.style.backgroundColor = (darkMode) ? '#000' : '#D6D6D6';
|
||||
hrow.style.color = (darkMode) ? '#cccccc' : '';
|
||||
hrow.style.height = '25px';
|
||||
hrow.style.textAlign = 'left';
|
||||
table.appendChild(hrow);
|
||||
var hName = document.createElement('th');
|
||||
window.parent.mxUtils.write(hName, window.parent.mxResources.get('name'));
|
||||
hrow.appendChild(hName);
|
||||
var hModified = document.createElement('th');
|
||||
hModified.style.width = '180px';
|
||||
window.parent.mxUtils.write(hModified, window.parent.mxResources.get('lastModified'));
|
||||
hrow.appendChild(hModified);
|
||||
var hSize = document.createElement('th');
|
||||
window.parent.mxUtils.write(hSize, window.parent.mxResources.get('size'));
|
||||
hSize.style.width = '70px';
|
||||
hrow.appendChild(hSize);
|
||||
var hCtrl = document.createElement('th');
|
||||
hCtrl.style.width = '23px';
|
||||
hrow.appendChild(hCtrl);
|
||||
table.style.fontSize = '12pt';
|
||||
table.style.width = '100%';
|
||||
|
||||
for (var i = 0; i < filesInfo.length; i++)
|
||||
{
|
||||
var fileInfo = filesInfo[i];
|
||||
|
||||
if (fileInfo.title.length > 0)
|
||||
{
|
||||
var row = document.createElement('tr');
|
||||
row.style.color = (darkMode) ? '#cccccc' : '';
|
||||
table.appendChild(row);
|
||||
|
||||
if (i & 1 == 1)
|
||||
{
|
||||
row.style.backgroundColor = (darkMode) ? '#000' : '#E6E6E6';
|
||||
}
|
||||
|
||||
var nameTd = document.createElement('td');
|
||||
row.appendChild(nameTd);
|
||||
var link = document.createElement('a');
|
||||
link.style.fontDecoration = 'none';
|
||||
window.parent.mxUtils.write(link, fileInfo.title);
|
||||
link.style.cursor = 'pointer';
|
||||
nameTd.appendChild(link);
|
||||
|
||||
var modifiedTd = document.createElement('td');
|
||||
row.appendChild(modifiedTd);
|
||||
var str = window.parent.EditorUi.prototype.timeSince(new Date(fileInfo.lastModified));
|
||||
|
||||
if (str == null)
|
||||
{
|
||||
str = window.parent.mxResources.get('lessThanAMinute');
|
||||
}
|
||||
|
||||
window.parent.mxUtils.write(modifiedTd, window.parent.mxResources.get('timeAgo', [str]));
|
||||
|
||||
var sizeTd = document.createElement('td');
|
||||
row.appendChild(sizeTd);
|
||||
window.parent.mxUtils.write(sizeTd, window.parent.EditorUi.prototype.formatFileSize(fileInfo.size));
|
||||
|
||||
var ctrlTd = document.createElement('td');
|
||||
row.appendChild(ctrlTd);
|
||||
ctrlTd.style.textAlign = 'center';
|
||||
var img = document.createElement('span');
|
||||
img.className = 'geSprite geSprite-delete';
|
||||
img.style.cursor = 'pointer';
|
||||
img.style.display = 'inline-block';
|
||||
ctrlTd.appendChild(img);
|
||||
|
||||
if (darkMode)
|
||||
{
|
||||
img.style.filter = 'invert(100%)';
|
||||
}
|
||||
|
||||
window.parent.mxEvent.addListener(img, 'click', (function(k)
|
||||
{
|
||||
return function()
|
||||
{
|
||||
if (window.parent.mxUtils.confirm(window.parent.mxResources.get('delete') + ' "' + k + '"?'))
|
||||
{
|
||||
window.parent.deleteBrowserFile(k, function()
|
||||
{
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
};
|
||||
})(fileInfo.title));
|
||||
|
||||
window.parent.mxEvent.addListener(link, 'click', (function(k)
|
||||
{
|
||||
return function()
|
||||
{
|
||||
if (window.parent.openNew && window.parent.baseUrl != null)
|
||||
{
|
||||
var of = window.parent.openFile;
|
||||
window.parent.openBrowserFile(k, function(data)
|
||||
{
|
||||
if (window.parent != null)
|
||||
{
|
||||
window.parent.geOpenWindow(window.parent.baseUrl + '#L' + encodeURIComponent(k), function()
|
||||
{
|
||||
of.cancel(false);
|
||||
}, function()
|
||||
{
|
||||
of.setData(data, k);
|
||||
});
|
||||
}
|
||||
}, function()
|
||||
{
|
||||
//TODO add error
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
window.parent.openBrowserFile(k, function(data)
|
||||
{
|
||||
if (window.parent != null)
|
||||
{
|
||||
window.parent.openFile.setData(data, k);
|
||||
}
|
||||
}, function()
|
||||
{
|
||||
//TODO add error
|
||||
});
|
||||
}
|
||||
};
|
||||
})(fileInfo.title));
|
||||
}
|
||||
}
|
||||
|
||||
div.appendChild(table);
|
||||
}
|
||||
|
||||
var closeButton = window.parent.mxUtils.button(window.parent.mxResources.get('close'), function()
|
||||
{
|
||||
hideWindow(true);
|
||||
});
|
||||
|
||||
closeButton.className = 'geBtn';
|
||||
closeButton.style.position = 'fixed';
|
||||
closeButton.style.bottom = '0px';
|
||||
closeButton.style.right = '0px';
|
||||
div.appendChild(closeButton);
|
||||
|
||||
document.body.appendChild(div);
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
document.body.innerHTML = 'Missing parent window';
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('load', main);
|
Reference in New Issue
Block a user