app/addons/documents/index-results/helpers/json-view.js (33 lines of code) (raw):

// Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy of // the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the // License for the specific language governing permissions and limitations under // the License. import { hasBulkDeletableDoc, getDocUrl, getDocId, getDocRev } from "./shared-helpers"; import MangoHelper from "../../mango/mango.helper"; export const getJsonViewData = (docs, { databaseName, docType, deleteEnabled = true }) => { // expand on this when refactoring views to use redux const stagedResults = docs.map((doc) => { if (docType === "MangoIndex") { return { header: MangoHelper.getIndexName(doc), content: MangoHelper.getIndexContent(doc), id: doc.type === 'special' ? '_all_docs' : doc.ddoc, keylabel: '', url: doc.id ? getDocUrl('app', doc.id, databaseName) : null, isDeletable: deleteEnabled ? doc.type !== 'special' : false, isEditable: false }; } const docID = getDocId(doc, docType); return { header: docID, content: JSON.stringify(doc, null, ' '), id: docID || (doc.key && doc.key.toString()), _rev: getDocRev(doc, docType), keylabel: 'id', url: docID ? getDocUrl('app', docID, databaseName) : null, isDeletable: deleteEnabled, isEditable: true }; }); return { displayedFields: null, hasBulkDeletableDoc: hasBulkDeletableDoc(docs, docType), results: stagedResults }; };