From ef3c63badc3460fa75720ea5e7a04e4909b445e6 Mon Sep 17 00:00:00 2001
From: j <0x006A@0x2620.org>
Date: Mon, 11 Jun 2012 10:17:15 +0200
Subject: [PATCH] move 0xdb siteDialog special case into siteDialog.0xdb.js,
fixes #767
---
static/js/pandora/siteDialog.0xdb.js | 166 +++++++++++++++++++++++++++
static/js/pandora/siteDialog.js | 37 +-----
2 files changed, 167 insertions(+), 36 deletions(-)
create mode 100644 static/js/pandora/siteDialog.0xdb.js
diff --git a/static/js/pandora/siteDialog.0xdb.js b/static/js/pandora/siteDialog.0xdb.js
new file mode 100644
index 00000000..0caa1056
--- /dev/null
+++ b/static/js/pandora/siteDialog.0xdb.js
@@ -0,0 +1,166 @@
+// vim: et:ts=4:sw=4:sts=4:ft=javascript
+
+'use strict';
+
+pandora.ui.siteDialog = function(section) {
+
+ var dialogHeight = Math.round((window.innerHeight - 48) * 0.75),
+ dialogWidth = Math.round(window.innerWidth * 0.75),
+ isEditable = pandora.site.capabilities.canEditSitePages[pandora.user.level],
+ tabs = pandora.site.sitePages.concat([{id: 'software', title: 'Software'}]);
+ Ox.getObjectById(tabs, section).selected = true;
+ var $tabPanel = Ox.TabPanel({
+ content: function(id) {
+ var $content = Ox.Element().css({padding: '16px', overflowY: 'auto'});
+ if (id == 'contact') {
+ pandora.$ui.contactForm = pandora.ui.contactForm().appendTo($content);
+ } else if (id == 'news') {
+ pandora.$ui.news = pandora.ui.news(dialogWidth, dialogHeight).appendTo($content);
+ } else if (id == 'software') {
+ Ox.Element()
+ .html(
+ '
')
+ .css({position: 'absolute', top: '16px', right: '16px', width: '128px'})
+ .appendTo($content);
+ $('
')
+ .attr({src: '/static/png/rights.png'})
+ .css({width: '128px', height: '128px', marginBottom: '8px'})
+ .appendTo($right);
+ risk = ['Unknown', 'Severe', 'High', 'Significant', 'General', 'Low'];
+ [].concat(
+ ['Unknown'],
+ pandora.site.rightsLevels.map(function(rightsLevel) {
+ return rightsLevel.name;
+ }).reverse()
+ ).forEach(function(name, i) {
+ Ox.Theme.formatColor(330 + 30 * i, 'gradient')
+ .css({
+ padding: '4px',
+ marginTop: '8px'
+ })
+ .html(
+ '
' + name + ''
+ + risk[i] + ' Risk'
+ + (risk[i].length > 6 ? '
of ' : ' of
')
+ + 'Legal Action
'
+ )
+ .appendTo($right);
+ });
+ }
+ });
+ }
+ return Ox.SplitPanel({
+ elements: [
+ {
+ element: Ox.Element()
+ .css({padding: '16px'})
+ .append(
+ $('
')
+ .attr({src: '/static/png/' + (
+ id == 'software' ? 'software' : 'logo'
+ ) + '.png'})
+ .css({width: '256px'})
+ ),
+ size: 272
+ },
+ {
+ element: $content
+ }
+ ],
+ orientation: 'horizontal'
+ });
+ },
+ tabs: tabs
+ })
+ .bindEvent({
+ change: function(data) {
+ that.options({
+ title: Ox.getObjectById(tabs, data.selected).title
+ });
+ pandora.UI.set({page: data.selected});
+ }
+ });
+
+ var that = Ox.Dialog({
+ buttons: [
+ Ox.Button({
+ id: 'close',
+ title: 'Close'
+ }).bindEvent({
+ click: function() {
+ that.close();
+ }
+ })
+ ],
+ closeButton: true,
+ content: $tabPanel,
+ height: dialogHeight,
+ maximizeButton: true,
+ minHeight: 256,
+ minWidth: 688, // 16 + 256 + 16 + 384 + 16
+ removeOnClose: true,
+ title: Ox.getObjectById(tabs, section).title,
+ width: dialogWidth
+ })
+ .bindEvent({
+ close: function(data) {
+ pandora.UI.set({page: ''});
+ },
+ resize: function(data) {
+ var selected = $tabPanel.selected();
+ if (selected == 'contact') {
+ pandora.$ui.contactForm.resize();
+ } else if (selected == 'news') {
+ pandora.$ui.news.resize(data);
+ }
+ }
+ });
+
+ that.select = function(id) {
+ $tabPanel.select(id);
+ return that;
+ };
+
+ return that;
+
+};
diff --git a/static/js/pandora/siteDialog.js b/static/js/pandora/siteDialog.js
index 0caa1056..86d893e2 100644
--- a/static/js/pandora/siteDialog.js
+++ b/static/js/pandora/siteDialog.js
@@ -32,7 +32,6 @@ pandora.ui.siteDialog = function(section) {
.appendTo($content);
} else {
pandora.api.getPage({name: id}, function(result) {
- var $right, risk;
Ox.Editable({
clickLink: pandora.clickLink,
editable: isEditable,
@@ -41,11 +40,7 @@ pandora.ui.siteDialog = function(section) {
placeholder: isEditable ? 'Doubleclick to insert text' : '',
value: result.data.text
})
- .css(id == 'rights' ? {
- // this will get applied twice,
- // total is 144px
- marginRight: '72px'
- } : {
+ .css({
width: '100%'
})
.bindEvent({
@@ -58,36 +53,6 @@ pandora.ui.siteDialog = function(section) {
}
})
.appendTo($content);
- if (id == 'rights') {
- $right = $('
')
- .css({position: 'absolute', top: '16px', right: '16px', width: '128px'})
- .appendTo($content);
- $('
')
- .attr({src: '/static/png/rights.png'})
- .css({width: '128px', height: '128px', marginBottom: '8px'})
- .appendTo($right);
- risk = ['Unknown', 'Severe', 'High', 'Significant', 'General', 'Low'];
- [].concat(
- ['Unknown'],
- pandora.site.rightsLevels.map(function(rightsLevel) {
- return rightsLevel.name;
- }).reverse()
- ).forEach(function(name, i) {
- Ox.Theme.formatColor(330 + 30 * i, 'gradient')
- .css({
- padding: '4px',
- marginTop: '8px'
- })
- .html(
- '
' + name + ''
- + risk[i] + ' Risk'
- + (risk[i].length > 6 ? '
of ' : ' of
')
- + 'Legal Action
'
- )
- .appendTo($right);
- });
- }
- });
}
return Ox.SplitPanel({
elements: [