{"_id":"@aibsweb/faceted-search-biccn","_rev":"1-4bd898e99d1a9a290d97150dbbee2145","name":"@aibsweb/faceted-search-biccn","dist-tags":{"latest":"0.1.44"},"versions":{"0.1.44":{"name":"@aibsweb/faceted-search-biccn","version":"0.1.44","description":"A generalized faceted search application. Used for BICCN","keywords":["search","faceted","aibs","allen","institute","brain","science"],"homepage":"http://stash.corp.alleninstitute.org/projects/AIB/repos/faceted-search/browse","bugs":{"url":"http://stash.corp.alleninstitute.org/projects/AIB/repos/faceted-search/browse"},"license":"SEE LICENSE IN LICENSE.txt","contributors":[{"name":"Aaron Keel","email":"Aaron.Keel@alleninstitute.org"},{"name":"Brandon Blanchard","email":"brandonb@alleninstitute.org"},{"name":"Felix Lee","email":"felixl@alleninstitute.org"},{"name":"Jim Vermillion","email":"jim.vermillion@alleninstitute.org"},{"name":"Tim Dolbeare","email":"TimD@alleninstitute.org"}],"main":"lib/index.prod.js","repository":{"type":"git","url":"http://brandonb@stash.corp.alleninstitute.org/scm/aib/faceted-search.git"},"scripts":{"start":"webpack-dev-server --host 0.0.0.0 --hot --config webpack.dev.config.js","build":"npm run clean && npm run transpile:commonjs && npm run transpile:es","build:prod":"webpack --mode production --config webpack.prod.config.js","analyze":"webpack --mode production --config webpack.analyze.config.js","clean":"rimraf static/dist/ es lib","test":"jest","lint":"eslint src --ext .js,.jsx","precommit":"lint-staged","preversion":"npm run lint && npm run test","postversion":"git commit -m \"Update version\" && git push","storybook":"start-storybook -p 9001 -c .storybook","transpile:commonjs":"BABEL_ENV=commonjs $(npm bin)/babel src --out-dir lib","transpile:es":"NODE_ENV=production BABEL_ENV=es $(npm bin)/babel src --out-dir es","version":"npm run build && git add ."},"config":{},"jest":{"moduleNameMapper":{"^.+\\.(css|less|scss)$":"babel-jest","^react-virtualized/dist/es/":"react-virtualized"},"setupFiles":["<rootDir>/tests/setup.js","jest-canvas-mock"]},"lint-staged":{"*.{js,jsx,css,md}":["eslint --fix","prettier --write --config .prettierrc.json","git add"]},"author":{"name":"Aaron Keel, Brandon Blanchard, Felix Lee, Tim Dolbeare"},"devDependencies":{"@babel/cli":"^7.2.3","@babel/core":"^7.2.2","@babel/node":"^7.2.2","@babel/preset-env":"^7.2.3","@babel/preset-react":"^7.0.0","@babel/register":"^7.0.0","@storybook/react":"^4.1.6","apollo-boost":"^0.1.23","babel-core":"7.0.0-bridge.0","babel-eslint":"^10.0.1","babel-jest":"^23.6.0","babel-loader":"^8.0.5","babel-plugin-syntax-dynamic-import":"^6.18.0","css-loader":"^2.1.0","enzyme":"^3.8.0","enzyme-adapter-react-16":"^1.7.1","eslint":"^5.12.0","eslint-config-airbnb":"^17.1.0","eslint-config-prettier":"^3.3.0","eslint-config-react":"^1.1.7","eslint-plugin-import":"^2.14.0","eslint-plugin-jsx-a11y":"^6.1.2","eslint-plugin-prettier":"^3.0.1","eslint-plugin-react":"^7.12.3","graphql":"^14.0.2","html-webpack-plugin":"^3.2.0","husky":"^1.3.1","isomorphic-fetch":"^2.2.1","jest":"^23.6.0","jest-canvas-mock":"^2.0.0-alpha.3","jest-transform-css":"^2.0.0","jshint":"^2.9.7","lint-staged":"^8.1.0","mini-css-extract-plugin":"^0.5.0","node-sass":"^4.11.0","prettier":"^1.16.4","prop-types":"^15.6.2","react":"^16.7.0","react-apollo":"^2.3.3","react-dom":"^16.7.0","react-test-renderer":"^16.7.0","regenerator-runtime":"^0.13.1","sass-loader":"^7.1.0","style-loader":"^0.23.1","uglifyjs-webpack-plugin":"^2.1.1","webpack":"^4.28.1","webpack-bundle-analyzer":"^3.0.3","webpack-cli":"^3.2.1","webpack-dev-server":"^3.2.1","webpack-merge":"^4.2.1","webpack-watch":"^0.2.0"},"dependencies":{"@babel/polyfill":"^7.2.5","async":"^2.6.2","custom-event-polyfill":"^1.0.6","glob":"^7.1.3","graphql-tag":"^2.10.1","lodash":"^4.17.11","plotly.js":"^1.44.4","react-custom-scrollbars":"^4.2.1","react-pivottable":"^0.9.0","react-plotly.js":"^2.2.0","react-virtualized":"^9.21.0","snarkdown":"^1.2.2","whatwg-fetch":"^3.0.0"},"peerDependencies":{"apollo-boost":"^0.1.23","graphql":"^14.0.2","react":"^16.7.0","react-apollo":"^2.3.3","react-dom":"^16.7.0"},"gitHead":"1569e81f59b8a890b934ec8ca0ef07fc6326ef6d","_id":"@aibsweb/faceted-search-biccn@0.1.44","_nodeVersion":"10.12.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-r1B/rRahD8b5bsdHK9nNDrEqAoAnQ4W6MnEQkMxKFNitfYnz8jAEjwCy7B+9UDi0yjaKiZW0fRM5RZzROG3Kuw==","shasum":"253c3c05adb65ea8f49bb8b391f5573ecaf514d4","tarball":"https://registry.npmjs.org/@aibsweb/faceted-search-biccn/-/faceted-search-biccn-0.1.44.tgz","fileCount":47,"unpackedSize":263513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2yKqCRA9TVsSAnZWagAAPukP/34+txMjHVbQ5XCY05fo\nyI2vDcHV5sUxB0xKDtyfaM1AQTLmBNhOhlGIuiS6UOOlNLQeYpuuwV2JmjUC\n6Hu4pwRlJj/HQ8j81mXSfU+e5CHrY/ViyUdzpxKzAuYPLp/frpfMsKr003Op\nW+VzqTXuel9naDY2FdmOohcA/HT4/lFPFBEtl1W2Ul7GN9gYjh2bwP7b0RGo\ndAWbd46nnuquboS2v8/GVzUazbSS73pY+9MenzdWBx1Ut+GqI9Uyr4k4wnWf\nakeggJyxwlGf8X32qg4KllErDO2RdnT/1Z5Qt59Mdip6M4OxWwGvZ/5gd2Jz\ngAQLtCce1VXSXQJjjU7S2io4fVGIoZa/WKbOzgRkieHZxNKtSfIvlgIyG5uI\njCMLBPHl4g630NfQUpLUttsDRYigFlnp4vOPltUA3aBpHky5VFyin0ur8x3W\ndUw3JoV3rGbaMn77/blXN8U7SFK2B7MEdBlT7ML9OMbzElY40+khZ2VnSu1g\n/JTut43/uzqtSt2AQsYfl95ladXHS7mwilBPQLDHFGti6HfS77xzfk3DyGiV\nmHO0u/OzRWigeDHgMA73zgDt4rxEo1Jxrh8/ubyT+9oV/iaDckEJXHcQpAZk\nZGmD4EO9htyetcsLOt0mm8mZixt9N2uvBTD1VJrlC2sJmyVZdB6FbpILmH28\ne74T\r\n=0h1C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID8U3SLpC3WqgJrtu1TzCfcxQiqMowp7VwWM8euOlc98AiEAuKtrZiDqqx7ssRXzzspLJkSIAmm5Xt7HrHjGeOHCS98="}]},"maintainers":[{"name":"aaron.keel","email":"aaron.keel@alleninstitute.org"},{"name":"jamesvermillion","email":"jamesvermillion@yahoo.com"},{"name":"brandonblanchard","email":"brandonb@alleninstitute.org"},{"name":"capsicum","email":"felixl@alleninstitute.org"},{"name":"timdataibs","email":"timd@alleninstitute.org"}],"_npmUser":{"name":"aaron.keel","email":"aaron.keel@alleninstitute.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/faceted-search-biccn_0.1.44_1557865129924_0.41500375316224725"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-14T20:18:49.742Z","0.1.44":"2019-05-14T20:18:50.065Z","modified":"2022-04-04T12:15:24.934Z"},"maintainers":[{"name":"aaron.keel","email":"aaron.keel@alleninstitute.org"},{"name":"jamesvermillion","email":"jamesvermillion@yahoo.com"},{"name":"brandonblanchard","email":"brandonb@alleninstitute.org"},{"name":"capsicum","email":"felixl@alleninstitute.org"},{"name":"timdataibs","email":"timd@alleninstitute.org"}],"description":"A generalized faceted search application. Used for BICCN","homepage":"http://stash.corp.alleninstitute.org/projects/AIB/repos/faceted-search/browse","keywords":["search","faceted","aibs","allen","institute","brain","science"],"repository":{"type":"git","url":"http://brandonb@stash.corp.alleninstitute.org/scm/aib/faceted-search.git"},"contributors":[{"name":"Aaron Keel","email":"Aaron.Keel@alleninstitute.org"},{"name":"Brandon Blanchard","email":"brandonb@alleninstitute.org"},{"name":"Felix Lee","email":"felixl@alleninstitute.org"},{"name":"Jim Vermillion","email":"jim.vermillion@alleninstitute.org"},{"name":"Tim Dolbeare","email":"TimD@alleninstitute.org"}],"author":{"name":"Aaron Keel, Brandon Blanchard, Felix Lee, Tim Dolbeare"},"bugs":{"url":"http://stash.corp.alleninstitute.org/projects/AIB/repos/faceted-search/browse"},"license":"SEE LICENSE IN LICENSE.txt","readme":"# Faceted Search #\nA generalized faceted search for use across all of the allen institute sites. It has these components:\n\n- data-table\n- checkbox-filter\n- filter-box-list\n- filter-box\n- text-search\n- data-store-[and associated data stuff]\n\nexports all data-store, data-tables, filter-box, text-search\n\n\n## Setup ##\n1. `git clone http://brandonb@stash.corp.alleninstitute.org/scm/aib/faceted-search.git`\n1. `npm i`\n2. `npm run start`\n\n\n## Process ## \n\nPlease use pull requests when adding features or making changes. \nIf you need to update data-tables don't forget that it is used without faceted search in several places, so don't go breakin' things.\n\n\n## Configuration ##\nThe FacetedSearch application uses a composite config to provide configuration values to each of the components in addition to providing the necessary information to make a query on that components behalf. The next few sections will detail each of the discreet configs within the composite.\n\n    const config = { \n\n    }\n\n### Component Configs\nEach component config within the root config should be defined following this pattern:\n\n    const config = {\n        'my-component': {\n            componentDefinition: 'my-component',\n            componentProp: 'prop-values'\n        }\n    }\n\ncomponentDefinition: This is a reference to one of the definitions located in the componentDefinition file. This allows us to create different queryBuilder, dataTransform, and component compositions to support a wide variety of requests and data models.\n\ncomponentProp: Using this config you can pass component props directly to the component. As an example: \n\n    const config = {\n        'counts': {\n            componentDefinition: 'counts',\n            position: 'right'\n        }\n    }\n\nHere we're passing the property/value `position: 'right'` directly to the counts components indicating that it should render its individual counts from right to left.\n\n_gotchas:_ \n\n* Providing a property named `data` will throw an error.\n\n#### Network\nThe network section of the config is used to define how and where we make a graphql connections. Currently this contains only one value: `uri`\n\n    const config = {\n        'network': {\n            uri: 'http://my-graphql-server.org/'\n        }\n    }\n\n#### Unit Counts\nThe unit counts section provides values indicating which units to watch and where to position the counts within the widget.\n    \n    const config = {\n        'counts': {\n            componentDefinition: 'counts',\n            unitsToWatch: ['brains', 'cells'],\n            position: 'left'\n        },\n    }\n\ncomponentDefinition: see Component Configs.\n\nunitsToWatch: These are the units to request the counts for. I.e. Brains, cells, or whatever (future).\n\nposition: this property gets passed directly to the component and determines how the counts are arranged inside the component\n\n#### Data Table\nThe data table takes in several properties that allow us to shape the table and indicate what it should display.\n\n    const config = {\n        'data-table': {\n            componentDefinition: 'data-table',\n            schema: [\n                {\n                    column: 'Species',\n                    type: 'string',\n                    key: 'genusSpecies.name'\n                },\n                {\n                    column: 'Grant',\n                    type: 'string',\n                    key: 'grant.name'\n                }\n            ],\n        },\n    }\n\nAll of these properties can be found in the styleguide.\n\nschema: This is a description of which columns to render such as data type, key, and friendly name.\norder-by: no longer available here, this has been moved to the state store's config (see below)\ndata: static data is not supported by the faceted search\n\n#### Filter Box\nThe Filter Box takes in several properties only one of which is available on the config.\n\n    const config = {\n        'filter-box': {\n            componentDefinition: 'filter-box',\n            showFilterTextSearch: true\n        }\n    }\n\nshowFilterTextSearch: A bool indicating if the user should be able to search the filters using a text box.\n\n#### State Store\nThe state store allows you to specify a default ordering for query results\n\n    const config = {\n        'state-store': {\n            order-by: ['genusSpecies', 'grant', 'principalInvestigator', 'modality', 'technique']\n        }\n    }\n    \norderBy: A list of graphql property names to sort by. This will act like SQL where whatever is in spot [0] takes precedence over anything with a higher indice value. Example: using the above `sort-by` mice will always be grouped and humans will always be grouped.","readmeFilename":"readme.md"}