add entitiesDialog.js and entity.js
This commit is contained in:
parent
2627bff48f
commit
b2bd5646c4
2 changed files with 138 additions and 0 deletions
111
static/js/entitiesDialog.js
Normal file
111
static/js/entitiesDialog.js
Normal file
|
@ -0,0 +1,111 @@
|
|||
// vim: et:ts=4:sw=4:sts=4:ft=javascript
|
||||
|
||||
'use strict';
|
||||
|
||||
pandora.ui.entitiesDialog = function(options) {
|
||||
|
||||
var dialogHeight = Math.round((window.innerHeight - 48) * 0.9),
|
||||
dialogWidth = Math.round(window.innerWidth * 0.9),
|
||||
|
||||
that = Ox.Dialog({
|
||||
buttons: [
|
||||
Ox.Button({
|
||||
title: Ox._('Manage Documents...')
|
||||
})
|
||||
.bindEvent({
|
||||
click: function() {
|
||||
that.close();
|
||||
(pandora.$ui.documentsDialog || (
|
||||
pandora.$ui.documentsDialog = pandora.ui.documentsDialog()
|
||||
)).open();
|
||||
}
|
||||
}),
|
||||
{},
|
||||
Ox.Button({
|
||||
title: Ox._('Done'),
|
||||
width: 48
|
||||
})
|
||||
.bindEvent({
|
||||
click: function() {
|
||||
that.close();
|
||||
}
|
||||
})
|
||||
],
|
||||
closeButton: true
|
||||
content: Ox.LoadingScreen().start(),
|
||||
height: dialogHeight,
|
||||
maximizeButton: true,
|
||||
minHeight: 256,
|
||||
minWidth: 512,
|
||||
padding: 0,
|
||||
removeOnClose: true,
|
||||
title: Ox._('Manage Entities'),
|
||||
width: dialogWidth
|
||||
})
|
||||
.bindEvent({
|
||||
// resize: ...
|
||||
}),
|
||||
|
||||
$toolbar = Ox.Bar({size: 24}),
|
||||
|
||||
$findbar = Ox.Bar({size: 24}),
|
||||
|
||||
$statusbar = Ox.Bar({size: 16}),
|
||||
|
||||
$listPanel = Ox.SplitPanel({
|
||||
elements: [
|
||||
{element: $findbar, size: 24},
|
||||
{element: Ox.Element},
|
||||
{element: $statusbar, size: 16}
|
||||
],
|
||||
orientation: 'vertical'
|
||||
}),
|
||||
|
||||
$leftPanel = Ox.SplitPanel({
|
||||
elements: [
|
||||
{element: $toolbar, size: 24},
|
||||
{element: $listPanel}
|
||||
],
|
||||
orientation: 'vertical'
|
||||
}),
|
||||
|
||||
$entity = Ox.Element(),
|
||||
|
||||
$titlebar = Ox.Bar({size: 24}),
|
||||
|
||||
$rightPanel = Ox.SplitPanel({
|
||||
elements: [
|
||||
{element: $titlebar, size: 24},
|
||||
{element: $form}
|
||||
],
|
||||
orientation: 'vertical'
|
||||
}),
|
||||
|
||||
$content = Ox.SplitPanel({
|
||||
elements: [
|
||||
{
|
||||
element: $leftPanel,
|
||||
resizable: true,
|
||||
resize: [256, 384, 512],
|
||||
size: 256
|
||||
},
|
||||
{
|
||||
element: $entity
|
||||
},
|
||||
{
|
||||
element: $rightPanel,
|
||||
resizable: true,
|
||||
resize: [256, 384, 512],
|
||||
size: 256
|
||||
}
|
||||
],
|
||||
orientation: 'horizontal'
|
||||
});
|
||||
|
||||
Ox.noop(function() {
|
||||
that.options({content: $content});
|
||||
});
|
||||
|
||||
return that;
|
||||
|
||||
};
|
27
static/js/entity.js
Normal file
27
static/js/entity.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
// vim: et:ts=4:sw=4:sts=4:ft=javascript
|
||||
|
||||
'use strict';
|
||||
|
||||
pandora.ui.entity = function(options, callback) {
|
||||
// options: {id, type, view}
|
||||
Ox.get(
|
||||
'/static/html/entities.' + options.type + '.' + options.view + '.html',
|
||||
function(html) {
|
||||
pandora.api.getEntity({
|
||||
id: options.id
|
||||
}, function(data) {
|
||||
html = html.replace(/\{(.+?)\}/g, function() {
|
||||
var parts = arguments[1].split('|'),
|
||||
value = data[parts[0]];
|
||||
return Ox.isEmpty(value)
|
||||
|| Ox.isNull(value)
|
||||
|| Ox.isUndefined(value)
|
||||
? Ox._(parts[1] || 'unknown')
|
||||
: Ox.isArray(value) ? value.join('; ')
|
||||
: value;
|
||||
});
|
||||
callback(html);
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
Loading…
Reference in a new issue