forked from 0x2620/pandora
inital version of document urls
This commit is contained in:
parent
dada4cbf4c
commit
880aa60945
9 changed files with 76 additions and 24 deletions
|
@ -813,6 +813,7 @@
|
|||
"page": "",
|
||||
"part": {
|
||||
"api": "",
|
||||
"documents": "",
|
||||
"faq": "",
|
||||
"help": "",
|
||||
"news": "",
|
||||
|
|
|
@ -829,6 +829,7 @@
|
|||
"page": "",
|
||||
"part": {
|
||||
"api": "",
|
||||
"documents": "",
|
||||
"faq": "",
|
||||
"help": "",
|
||||
"news": "",
|
||||
|
|
|
@ -703,6 +703,7 @@
|
|||
"page": "",
|
||||
"part": {
|
||||
"api": "",
|
||||
"documents": "",
|
||||
"faq": "",
|
||||
"help": "",
|
||||
"news": "",
|
||||
|
|
|
@ -622,6 +622,7 @@
|
|||
"page": "",
|
||||
"part": {
|
||||
"api": "",
|
||||
"documents": "",
|
||||
"faq": "",
|
||||
"help": "",
|
||||
"news": "",
|
||||
|
|
|
@ -378,7 +378,7 @@ pandora.URL = (function() {
|
|||
getPart: pandora.getPart,
|
||||
getSpan: pandora.getSpan,
|
||||
pages: [].concat(
|
||||
['home', 'software', 'api', 'help', 'tv'],
|
||||
['home', 'software', 'api', 'help', 'tv', 'documents'],
|
||||
pandora.site.sitePages.map(function(page) {
|
||||
return page.id;
|
||||
}),
|
||||
|
|
|
@ -71,6 +71,12 @@ pandora.ui.appPanel = function() {
|
|||
!pandora.$ui.appPanel ? 'showScreen' : 'fadeInScreen'
|
||||
]();
|
||||
pandora.$ui.home && pandora.$ui.tv.mute();
|
||||
} else if (page == 'documents') {
|
||||
if (pandora.user.ui.part.documents) {
|
||||
pandora.openDocumentDialog([pandora.user.ui.part.documents.split('/')[0]]);
|
||||
} else {
|
||||
pandora.UI.set({page: ''});
|
||||
}
|
||||
} else {
|
||||
// open dialog
|
||||
Ox.forEach(dialogPages, function(pages, dialog) {
|
||||
|
|
|
@ -2,6 +2,45 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
pandora.openDocumentDialog = function(ids) {
|
||||
|
||||
pandora.api.findDocuments({
|
||||
query: {
|
||||
conditions: ids.map(function(id) {
|
||||
return {key: 'id', value: id, operator: '=='}
|
||||
}),
|
||||
operator: '|'
|
||||
},
|
||||
keys: ['description', 'dimensions', 'extension', 'id', 'name']
|
||||
}, function(result) {
|
||||
var i = 0, documents = result.data.items.map(function(document) {
|
||||
return Ox.extend({index: i++}, document);
|
||||
});
|
||||
|
||||
if (!pandora.$ui.documentDialog) {
|
||||
pandora.$ui.documentDialog = pandora.ui.documentDialog({
|
||||
index: 0,
|
||||
items: documents,
|
||||
})
|
||||
.bindEvent({
|
||||
close: function() {
|
||||
pandora.user.ui.page == 'documents' && pandora.UI.set({page: ''});
|
||||
}
|
||||
})
|
||||
.open();
|
||||
} else {
|
||||
pandora.$ui.documentDialog.update({
|
||||
index: 0,
|
||||
items: documents,
|
||||
});
|
||||
}
|
||||
pandora.UI.set({
|
||||
page: 'documents',
|
||||
'part.documents': documents[0].id
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
pandora.ui.documentDialog = function(options) {
|
||||
|
||||
var dialogHeight = Math.round((window.innerHeight - 48) * 0.9) + 24,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
pandora.ui.documentsPanel = function(options) {
|
||||
|
||||
var ui = pandora.user.ui,
|
||||
hasItemView = false,
|
||||
hasItemView = false, // FIXME
|
||||
isItemView = options.isItemView,
|
||||
|
||||
columns = [
|
||||
|
@ -396,7 +396,8 @@ pandora.ui.documentsPanel = function(options) {
|
|||
//fixme just upload list here
|
||||
//self.$documentsList.reloadList();
|
||||
pandora.$ui.contentPanel.replaceElement(1,
|
||||
pandora.$ui.item = pandora.ui.item());
|
||||
pandora.$ui.item = pandora.ui.item()
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -450,27 +451,7 @@ pandora.ui.documentsPanel = function(options) {
|
|||
}
|
||||
|
||||
function openDocuments() {
|
||||
if (!pandora.$ui.documentDialog) {
|
||||
pandora.$ui.documentDialog = pandora.ui.documentDialog({
|
||||
index: 0,
|
||||
items: $list.options('selected').map(function(id) {
|
||||
return $list.value(id);
|
||||
})
|
||||
})
|
||||
.bindEvent({
|
||||
close: function() {
|
||||
$list.closePreview();
|
||||
}
|
||||
})
|
||||
.open();
|
||||
} else {
|
||||
pandora.$ui.documentDialog.update({
|
||||
index: 0,
|
||||
items: $list.options('selected').map(function(id) {
|
||||
return $list.value(id);
|
||||
})
|
||||
});
|
||||
}
|
||||
pandora.openDocumentDialog($list.options('selected'));
|
||||
}
|
||||
|
||||
function openDocumentsDialog() {
|
||||
|
|
|
@ -1407,6 +1407,28 @@ pandora.getPart = function(state, str, callback) {
|
|||
} else {
|
||||
callback();
|
||||
}
|
||||
} else if (state.page == 'documents') {
|
||||
var split = str.split('/')[0],
|
||||
id = split[0];
|
||||
if (id) {
|
||||
pandora.api.findDocuments({
|
||||
query: {
|
||||
conditions: [{key: 'id', value: id, operator: '=='}],
|
||||
operator: '&'
|
||||
}
|
||||
}, function(result) {
|
||||
if (result.data.items) {
|
||||
state.part = str;
|
||||
//fixme set page/zoom/center here
|
||||
} else {
|
||||
state.page = '';
|
||||
}
|
||||
callback();
|
||||
});
|
||||
} else {
|
||||
state.page = '';
|
||||
callback();
|
||||
}
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue