Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

search package #152

Merged
merged 33 commits into from
May 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
7f86c83
search pkg basics
pranavkulkarni Apr 9, 2019
8f73150
formatItemCollection added
pranavkulkarni Apr 11, 2019
3a80aa0
sort field transform
pranavkulkarni Apr 11, 2019
6529131
functions renamed, removed es2017
pranavkulkarni Apr 15, 2019
3fed6db
serialize func added
pranavkulkarni Apr 17, 2019
20fda3d
structural changes
pranavkulkarni Apr 19, 2019
5594898
working serialize, searchItems
pranavkulkarni Apr 22, 2019
ab8324c
agg handled correctly
pranavkulkarni Apr 23, 2019
7d1dc4d
item search categories (collections)
pranavkulkarni Apr 24, 2019
c2a1742
folder structuring, efficient aggregations
pranavkulkarni Apr 26, 2019
cdbdda0
pagination using start and num
pranavkulkarni Apr 29, 2019
86d7075
merged with v2.0.0 branch, uses latest arcgis-rest-js features
pranavkulkarni Apr 30, 2019
a3f2a89
added a few tests
pranavkulkarni May 1, 2019
ed521dc
more tests, improved comments, fixed collection bug
pranavkulkarni May 1, 2019
d77ecc9
added tests for filters
pranavkulkarni May 2, 2019
b971191
added more tests
pranavkulkarni May 3, 2019
3680c44
100% test coverage achieved
pranavkulkarni May 7, 2019
e681050
moved test.html
pranavkulkarni May 7, 2019
aebc17d
downloadable types from common
pranavkulkarni May 7, 2019
3964f97
downloadable types and typeKeywords moved to common pks
pranavkulkarni May 8, 2019
af9a5e9
page namespace with size and start
pranavkulkarni May 8, 2019
a1859f9
api Types moved to common
pranavkulkarni May 9, 2019
a9c1a8e
renamed some functions, better doc
pranavkulkarni May 9, 2019
39393bd
search with facets and formatting
pranavkulkarni May 10, 2019
173606e
uses portal 2.0.1
pranavkulkarni May 10, 2019
f7af03e
search test modified
pranavkulkarni May 10, 2019
0672748
hide some functions in docs
pranavkulkarni May 10, 2019
78f440f
added Readme
pranavkulkarni May 13, 2019
2fae376
format readme
pranavkulkarni May 13, 2019
56b142b
re-instate package-lock
pranavkulkarni May 13, 2019
c50cde5
black magic
jgravois May 13, 2019
12f89d8
any for the TS gods
jgravois May 14, 2019
4de4434
update tests
jgravois May 14, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion docs/build-typedoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,11 @@ const md = new MarkdownIt();
);
})
.then(declarations => {
const blacklist = [];
const blacklist = ['encodeAgoQuery', 'downloadableAgg', 'downloadableFilter', 'collectionAgg',
'collectionFilter', 'createAggs', 'format', 'hasApiAgg', 'buildFilter', 'createFilters',
'encodeFilters', 'groupIds', 'handleFilter', 'hasApiFilter', 'computeItemsFacets',
'formatItem', 'calcHighlights', 'getSortField', 'isFilterable', 'generateFilter',
'agoFormatItemCollection'];
/**
* Next we remove any declarations we want to blacklist from the API ref
*/
Expand Down
103 changes: 59 additions & 44 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

55 changes: 54 additions & 1 deletion packages/common/src/categories.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,56 @@ const other: string[] = [

const site: string[] = ["Hub Site Application"];

// eligible types are listed here: http://doc.arcgis.com/en/arcgis-online/reference/supported-items.htm
const downloadableTypes: string[] = [
"360 VR Experience",
"Application",
"CityEngine Web Scene",
"Code Sample",
"CSV Collection",
"CSV",
"CAD Drawing",
"Desktop Application",
"Desktop Application Template",
"Desktop Style",
"File Geodatabase",
"GeoJson",
"Geoprocessing Package",
"Geoprocessing Sample",
"Image",
"iWork Keynote",
"iWork Numbers",
"KML Collection",
"KML",
"Layer",
"Layer File",
"Layer Package",
"Layout",
"Locator Package",
"Map Package",
"Map Service Definition",
"Map Template",
"Microsoft Excel",
"Microsoft Powerpoint",
"Microsoft Visio",
"Microsoft Word",
"Operations Dashboard Add In",
"PDF",
"Pro Map",
"Project Package",
"Project Template",
"Raster function template",
"Rule Package",
"Service Definition",
"Shapefile",
"Vector Tile Package",
"Workflow Manager Package"
];

const downloadableTypeKeywords: string[] = ["Data"];

const apiTypes: string[] = ["Feature Service", "Map Service", "Image Service"];

export const categories: { [key: string]: string[] } = {
app,
dataset,
Expand All @@ -121,5 +171,8 @@ export const categories: { [key: string]: string[] } = {
initiative,
map,
other,
site
site,
downloadableTypes,
downloadableTypeKeywords,
apiTypes
};
1 change: 1 addition & 0 deletions packages/common/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ export * from "./util";
export * from "./types";
export * from "./api";
export * from "./content";
export * from "./categories";
87 changes: 87 additions & 0 deletions packages/search/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
[![npm version][npm-img]][npm-url]
[![build status][travis-img]][travis-url]
[![gzip bundle size][gzip-image]][npm-url]
[![Coverage Status][coverage-img]][coverage-url]
[![apache licensed](https://img.shields.io/badge/license-Apache-green.svg?style=flat-square)](https://raw.githubusercontent.com/Esri/hub.js/master/LICENSE)

[npm-img]: https://img.shields.io/npm/v/@esri/hub-auth.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/@esri/hub-search
[travis-img]: https://img.shields.io/travis/Esri/hub.js/master.svg?style=flat-square
[travis-url]: https://travis-ci.org/Esri/hub.js
[gzip-image]: https://img.badgesize.io/https://unpkg.com/@esri/hub-auth/dist/umd/search.umd.min.js?compression=gzip
[coverage-img]: https://codecov.io/gh/Esri/hub.js/branch/master/graph/badge.svg
[coverage-url]: https://codecov.io/gh/Esri/hub.js

# @esri/hub-search

> Module to search for ArcGIS items and format them for display in ArcGIS Hub.

### Example

```bash
npm install @esri/hub-search
```

#### Use in frontend

```js
import { serialize } from '@esri/hub-search';

// Search query params that ArcGIS Hub expects
const params = {
q: 'crime',
sort: 'name',
agg: { fields: 'tags,collection,owner,source,hasApi,downloadable' },
start: 1,
num: 10
}
const token = 'xxxYYY' // AGO token
const portal = 'https://qaext.arcgis.com/sharing/rest'
const headers = { authorization: token, portal }
const serializedParams = arcgisHub.serialize(params)
// Query hub v3's new search endpoint
fetch(`hub.arcgis.com/api/v3/search?${serializedParams}`, { headers })
```

#### Use in backend

```js
const { agoSearch } = require('@esri/hub-search')
// req.query has deserialized query parameters
// req.headers.authorization has token
agoSearch(req.query, req.headers.authorization, req.headers.portal)
```

### Issues

If something isn't working the way you expected, please take a look at [previously logged issues](https://github.com/Esri/hub.js/issues) first. Have you found a new bug? Want to request a new feature? We'd [**love**](https://github.com/Esri/hub.js/issues/new) to hear from you.

If you're looking for help you can also post issues on [GIS Stackexchange](http://gis.stackexchange.com/questions/ask?tags=esri-oss).

### Versioning

For transparency into the release cycle and in striving to maintain backward compatibility, @esri/hub.js is maintained under Semantic Versioning guidelines and will adhere to these rules whenever possible.

For more information on SemVer, please visit <http://semver.org/>.

### Contributing

Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](CONTRIBUTING.md).

### License

Copyright &copy; 2019 Esri

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.

A copy of the license is available in the repository's [LICENSE](../../LICENSE) file.
Loading