aspernaturalias 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.prettierignore +2 -0
- package/.travis.yml +31 -0
- package/.vscode/launch.json +24 -0
- package/.vscode/settings.json +3 -0
- package/codecov.yml +3 -0
- package/demos/ago-node-cli/README.md +29 -0
- package/demos/ago-node-cli/ago.js +33 -0
- package/demos/ago-node-cli/index.js +11 -0
- package/demos/ago-node-cli/lib/item-export-command.js +48 -0
- package/demos/ago-node-cli/lib/item-search-command.js +35 -0
- package/demos/ago-node-cli/package-lock.json +152 -0
- package/demos/ago-node-cli/package.json +30 -0
- package/demos/attachments/README.md +5 -0
- package/demos/attachments/index.html +164 -0
- package/demos/attachments/package-lock.json +182 -0
- package/demos/attachments/package.json +18 -0
- package/demos/batch-geocoder-node/NYC_Restaurant_Inspection_Results.csv +100 -0
- package/demos/batch-geocoder-node/README.md +15 -0
- package/demos/batch-geocoder-node/batch-geocode.js +115 -0
- package/demos/batch-geocoder-node/config-template.js +18 -0
- package/demos/batch-geocoder-node/package-lock.json +94 -0
- package/demos/batch-geocoder-node/package.json +38 -0
- package/demos/express/README.md +15 -0
- package/demos/express/config.json.template +3 -0
- package/demos/express/package-lock.json +413 -0
- package/demos/express/package.json +18 -0
- package/demos/express/server.js +33 -0
- package/demos/feature-service-browser/README.md +6 -0
- package/demos/feature-service-browser/index.html +122 -0
- package/demos/feature-service-browser/package-lock.json +182 -0
- package/demos/feature-service-browser/package.json +18 -0
- package/demos/geocoder-browser/README.md +10 -0
- package/demos/geocoder-browser/config.js.template +1 -0
- package/demos/geocoder-browser/index.html +131 -0
- package/demos/geocoder-browser/package-lock.json +182 -0
- package/demos/geocoder-browser/package.json +19 -0
- package/demos/geocoder-browser/post-sign-in.html +25 -0
- package/demos/jsapi-integration/README.md +25 -0
- package/demos/jsapi-integration/config.js +6 -0
- package/demos/jsapi-integration/index.html +85 -0
- package/demos/jsapi-integration/package-lock.json +184 -0
- package/demos/jsapi-integration/package.json +19 -0
- package/demos/node-cli-item-management/README.md +10 -0
- package/demos/node-cli-item-management/index.js +238 -0
- package/demos/node-cli-item-management/package-lock.json +152 -0
- package/demos/node-cli-item-management/package.json +27 -0
- package/demos/node-cli-item-management/screenshot.png +0 -0
- package/demos/oauth2-browser/README.md +14 -0
- package/demos/oauth2-browser/authenticate.html +30 -0
- package/demos/oauth2-browser/config.js.template +6 -0
- package/demos/oauth2-browser/index.html +202 -0
- package/demos/oauth2-browser/logo.svg +4 -0
- package/demos/oauth2-browser/package-lock.json +163 -0
- package/demos/oauth2-browser/package.json +18 -0
- package/demos/oauth2-browser/style.css +36 -0
- package/demos/oauth2-browser-retry/README.md +25 -0
- package/demos/oauth2-browser-retry/authenticate.html +22 -0
- package/demos/oauth2-browser-retry/index.html +116 -0
- package/demos/oauth2-browser-retry/logo.svg +4 -0
- package/demos/stream-response-to-file/README.md +7 -0
- package/demos/stream-response-to-file/index.js +36 -0
- package/demos/stream-response-to-file/output/.gitkeep +0 -0
- package/demos/stream-response-to-file/package-lock.json +60 -0
- package/demos/stream-response-to-file/package.json +33 -0
- package/demos/tree-shaking-rollup/.babelrc +3 -0
- package/demos/tree-shaking-rollup/README.md +9 -0
- package/demos/tree-shaking-rollup/index.html +11 -0
- package/demos/tree-shaking-rollup/package-lock.json +2225 -0
- package/demos/tree-shaking-rollup/package.json +25 -0
- package/demos/tree-shaking-rollup/rollup.config.js +17 -0
- package/demos/tree-shaking-rollup/src/index.js +8 -0
- package/demos/tree-shaking-webpack/README.md +9 -0
- package/demos/tree-shaking-webpack/index.html +11 -0
- package/demos/tree-shaking-webpack/package-lock.json +4595 -0
- package/demos/tree-shaking-webpack/package.json +24 -0
- package/demos/tree-shaking-webpack/src/index.js +10 -0
- package/demos/tree-shaking-webpack/webpack.config.js +27 -0
- package/demos/vue/.env.example +11 -0
- package/demos/vue/.eslintrc.js +17 -0
- package/demos/vue/.postcssrc.js +5 -0
- package/demos/vue/README.md +17 -0
- package/demos/vue/babel.config.js +3 -0
- package/demos/vue/package-lock.json +11323 -0
- package/demos/vue/package.json +33 -0
- package/demos/vue/public/favicon.ico +0 -0
- package/demos/vue/public/index.html +24 -0
- package/demos/vue/src/assets/logo.svg +29 -0
- package/demos/vue/src/components/App.vue +305 -0
- package/demos/vue/src/components/Authenticate.vue +65 -0
- package/demos/vue/src/components/Loader.vue +230 -0
- package/demos/vue/src/main.js +92 -0
- package/demos/webmap-checker-sapper/.env.example +5 -0
- package/demos/webmap-checker-sapper/README.md +123 -0
- package/demos/webmap-checker-sapper/appveyor.yml +18 -0
- package/demos/webmap-checker-sapper/cypress/fixtures/example.json +5 -0
- package/demos/webmap-checker-sapper/cypress/integration/spec.js +19 -0
- package/demos/webmap-checker-sapper/cypress/plugins/index.js +17 -0
- package/demos/webmap-checker-sapper/cypress/support/commands.js +25 -0
- package/demos/webmap-checker-sapper/cypress/support/index.js +20 -0
- package/demos/webmap-checker-sapper/cypress.json +4 -0
- package/demos/webmap-checker-sapper/package-lock.json +3851 -0
- package/demos/webmap-checker-sapper/package.json +50 -0
- package/demos/webmap-checker-sapper/rollup.config.js +87 -0
- package/demos/webmap-checker-sapper/src/client.js +20 -0
- package/demos/webmap-checker-sapper/src/components/LayerStatus.html +108 -0
- package/demos/webmap-checker-sapper/src/components/Nav.html +21 -0
- package/demos/webmap-checker-sapper/src/components/WebMap.html +62 -0
- package/demos/webmap-checker-sapper/src/routes/_error.html +41 -0
- package/demos/webmap-checker-sapper/src/routes/_layout.html +21 -0
- package/demos/webmap-checker-sapper/src/routes/auth/authorize.js +18 -0
- package/demos/webmap-checker-sapper/src/routes/auth/exchange-token.js +20 -0
- package/demos/webmap-checker-sapper/src/routes/auth/post-sign-in.js +24 -0
- package/demos/webmap-checker-sapper/src/routes/auth/sign-out.js +10 -0
- package/demos/webmap-checker-sapper/src/routes/index.html +20 -0
- package/demos/webmap-checker-sapper/src/routes/webmaps/[webmapId].html +83 -0
- package/demos/webmap-checker-sapper/src/routes/webmaps/index.html +59 -0
- package/demos/webmap-checker-sapper/src/server.js +101 -0
- package/demos/webmap-checker-sapper/src/service-worker.js +82 -0
- package/demos/webmap-checker-sapper/src/template.html +33 -0
- package/demos/webmap-checker-sapper/src/userInfoMiddleware.js +21 -0
- package/demos/webmap-checker-sapper/src/utils.js +33 -0
- package/demos/webmap-checker-sapper/static/favicon.png +0 -0
- package/demos/webmap-checker-sapper/static/global.css +36 -0
- package/demos/webmap-checker-sapper/static/manifest.json +20 -0
- package/demos/webmap-checker-sapper/static/svelte-logo-192.png +0 -0
- package/demos/webmap-checker-sapper/static/svelte-logo-512.png +0 -0
- package/docs/FAQ.md +48 -0
- package/docs/HISTORY.md +62 -0
- package/docs/acetate.config.js +262 -0
- package/docs/build-typedoc.js +434 -0
- package/docs/generate-srihashes.js +53 -0
- package/docs/src/_layout.html +86 -0
- package/docs/src/api/_declaration.html +600 -0
- package/docs/src/api/_layout.html +204 -0
- package/docs/src/api/_package.html +38 -0
- package/docs/src/api/index.html +16 -0
- package/docs/src/guides/_layout.html +24 -0
- package/docs/src/guides/amd-requirejs-dojo.md +40 -0
- package/docs/src/guides/browser-authentication.md +41 -0
- package/docs/src/guides/bundlers.md +52 -0
- package/docs/src/guides/cli-authentication.md +9 -0
- package/docs/src/guides/client-server-authentication.md +9 -0
- package/docs/src/guides/from-a-cdn.md +38 -0
- package/docs/src/guides/index.md +59 -0
- package/docs/src/guides/node.md +87 -0
- package/docs/src/guides/package-overview.md +111 -0
- package/docs/src/guides/server-authentication.md +9 -0
- package/docs/src/guides/whats-new-v2-0.md +305 -0
- package/docs/src/img/icons.png +0 -0
- package/docs/src/img/icons@2x.png +0 -0
- package/docs/src/index.html +12 -0
- package/docs/src/js/api-search.js +112 -0
- package/docs/src/js/nav-toggle.js +41 -0
- package/docs/src/sass/_highlight.scss +96 -0
- package/docs/src/sass/_icons.scss +157 -0
- package/docs/src/sass/style.scss +242 -0
- package/docs/src/srihashes.json +12 -0
- package/jasmine.json +7 -0
- package/karma.conf.js +106 -0
- package/lerna.json +8 -0
- package/notes/README.md +88 -0
- package/package.json +129 -0
- package/packages/arcgis-rest-auth/README.md +71 -0
- package/packages/arcgis-rest-auth/package-lock.json +11 -0
- package/packages/arcgis-rest-auth/package.json +69 -0
- package/packages/arcgis-rest-auth/src/ApplicationSession.ts +122 -0
- package/packages/arcgis-rest-auth/src/UserSession.ts +997 -0
- package/packages/arcgis-rest-auth/src/authenticated-request-options.ts +24 -0
- package/packages/arcgis-rest-auth/src/fetch-token.ts +50 -0
- package/packages/arcgis-rest-auth/src/generate-token.ts +35 -0
- package/packages/arcgis-rest-auth/src/index.ts +9 -0
- package/packages/arcgis-rest-auth/test/ApplicationSession.test.ts +124 -0
- package/packages/arcgis-rest-auth/test/UserSession.test.ts +1315 -0
- package/packages/arcgis-rest-auth/test/fetchToken.test.ts +112 -0
- package/packages/arcgis-rest-auth/test/generateToken.test.ts +102 -0
- package/packages/arcgis-rest-auth/test/utils.ts +14 -0
- package/packages/arcgis-rest-auth/tsconfig.json +6 -0
- package/packages/arcgis-rest-feature-layer/README.md +77 -0
- package/packages/arcgis-rest-feature-layer/package-lock.json +11 -0
- package/packages/arcgis-rest-feature-layer/package.json +64 -0
- package/packages/arcgis-rest-feature-layer/src/add.ts +56 -0
- package/packages/arcgis-rest-feature-layer/src/addAttachment.ts +53 -0
- package/packages/arcgis-rest-feature-layer/src/decodeValues.ts +124 -0
- package/packages/arcgis-rest-feature-layer/src/delete.ts +61 -0
- package/packages/arcgis-rest-feature-layer/src/deleteAttachments.ts +52 -0
- package/packages/arcgis-rest-feature-layer/src/getAttachments.ts +55 -0
- package/packages/arcgis-rest-feature-layer/src/getLayer.ts +24 -0
- package/packages/arcgis-rest-feature-layer/src/helpers.ts +55 -0
- package/packages/arcgis-rest-feature-layer/src/index.ts +28 -0
- package/packages/arcgis-rest-feature-layer/src/query.ts +203 -0
- package/packages/arcgis-rest-feature-layer/src/queryRelated.ts +89 -0
- package/packages/arcgis-rest-feature-layer/src/update.ts +56 -0
- package/packages/arcgis-rest-feature-layer/src/updateAttachment.ts +59 -0
- package/packages/arcgis-rest-feature-layer/test/attachments.test.ts +202 -0
- package/packages/arcgis-rest-feature-layer/test/crud.test.ts +130 -0
- package/packages/arcgis-rest-feature-layer/test/decodeValues.test.ts +67 -0
- package/packages/arcgis-rest-feature-layer/test/getLayer.test.ts +31 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/cvdQueryResponse.ts +225 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/feature.ts +281 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/fields.ts +779 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/foo.txt +1 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/service.ts +259 -0
- package/packages/arcgis-rest-feature-layer/test/query.test.ts +168 -0
- package/packages/arcgis-rest-feature-layer/tsconfig.json +6 -0
- package/packages/arcgis-rest-geocoding/README.md +86 -0
- package/packages/arcgis-rest-geocoding/package-lock.json +11 -0
- package/packages/arcgis-rest-geocoding/package.json +64 -0
- package/packages/arcgis-rest-geocoding/src/bulk.ts +105 -0
- package/packages/arcgis-rest-geocoding/src/geocode.ts +130 -0
- package/packages/arcgis-rest-geocoding/src/helpers.ts +54 -0
- package/packages/arcgis-rest-geocoding/src/index.ts +15 -0
- package/packages/arcgis-rest-geocoding/src/reverse.ts +84 -0
- package/packages/arcgis-rest-geocoding/src/suggest.ts +45 -0
- package/packages/arcgis-rest-geocoding/test/bulk.test.ts +151 -0
- package/packages/arcgis-rest-geocoding/test/geocode.test.ts +212 -0
- package/packages/arcgis-rest-geocoding/test/helpers.test.ts +85 -0
- package/packages/arcgis-rest-geocoding/test/mocks/responses.ts +637 -0
- package/packages/arcgis-rest-geocoding/test/reverse.test.ts +126 -0
- package/packages/arcgis-rest-geocoding/test/suggest.test.ts +53 -0
- package/packages/arcgis-rest-geocoding/tsconfig.json +6 -0
- package/packages/arcgis-rest-portal/README.md +73 -0
- package/packages/arcgis-rest-portal/package-lock.json +11 -0
- package/packages/arcgis-rest-portal/package.json +64 -0
- package/packages/arcgis-rest-portal/src/groups/create.ts +43 -0
- package/packages/arcgis-rest-portal/src/groups/get.ts +99 -0
- package/packages/arcgis-rest-portal/src/groups/helpers.ts +14 -0
- package/packages/arcgis-rest-portal/src/groups/join.ts +57 -0
- package/packages/arcgis-rest-portal/src/groups/notification.ts +77 -0
- package/packages/arcgis-rest-portal/src/groups/protect.ts +56 -0
- package/packages/arcgis-rest-portal/src/groups/remove.ts +32 -0
- package/packages/arcgis-rest-portal/src/groups/search.ts +25 -0
- package/packages/arcgis-rest-portal/src/groups/update.ts +39 -0
- package/packages/arcgis-rest-portal/src/index.ts +48 -0
- package/packages/arcgis-rest-portal/src/items/add.ts +137 -0
- package/packages/arcgis-rest-portal/src/items/create.ts +128 -0
- package/packages/arcgis-rest-portal/src/items/get.ts +177 -0
- package/packages/arcgis-rest-portal/src/items/helpers.ts +193 -0
- package/packages/arcgis-rest-portal/src/items/protect.ts +39 -0
- package/packages/arcgis-rest-portal/src/items/remove.ts +131 -0
- package/packages/arcgis-rest-portal/src/items/search.ts +25 -0
- package/packages/arcgis-rest-portal/src/items/update.ts +145 -0
- package/packages/arcgis-rest-portal/src/sharing/access.ts +84 -0
- package/packages/arcgis-rest-portal/src/sharing/group-sharing.ts +210 -0
- package/packages/arcgis-rest-portal/src/sharing/helpers.ts +84 -0
- package/packages/arcgis-rest-portal/src/users/get-user-url.ts +18 -0
- package/packages/arcgis-rest-portal/src/users/get-user.ts +58 -0
- package/packages/arcgis-rest-portal/src/users/invitation.ts +162 -0
- package/packages/arcgis-rest-portal/src/users/notification.ts +70 -0
- package/packages/arcgis-rest-portal/src/users/update.ts +66 -0
- package/packages/arcgis-rest-portal/src/util/SearchQueryBuilder.ts +374 -0
- package/packages/arcgis-rest-portal/src/util/generic-search.ts +67 -0
- package/packages/arcgis-rest-portal/src/util/get-portal-url.ts +27 -0
- package/packages/arcgis-rest-portal/src/util/get-portal.ts +52 -0
- package/packages/arcgis-rest-portal/src/util/search.ts +38 -0
- package/packages/arcgis-rest-portal/test/groups/crud.test.ts +180 -0
- package/packages/arcgis-rest-portal/test/groups/get.test.ts +101 -0
- package/packages/arcgis-rest-portal/test/groups/join.test.ts +72 -0
- package/packages/arcgis-rest-portal/test/groups/notification.test.ts +112 -0
- package/packages/arcgis-rest-portal/test/groups/protect.test.ts +72 -0
- package/packages/arcgis-rest-portal/test/groups/search.test.ts +110 -0
- package/packages/arcgis-rest-portal/test/items/add.test.ts +321 -0
- package/packages/arcgis-rest-portal/test/items/create.test.ts +375 -0
- package/packages/arcgis-rest-portal/test/items/get.test.ts +309 -0
- package/packages/arcgis-rest-portal/test/items/protect.test.ts +122 -0
- package/packages/arcgis-rest-portal/test/items/remove.test.ts +238 -0
- package/packages/arcgis-rest-portal/test/items/search.test.ts +272 -0
- package/packages/arcgis-rest-portal/test/items/update.test.ts +515 -0
- package/packages/arcgis-rest-portal/test/mocks/groups/responses.ts +144 -0
- package/packages/arcgis-rest-portal/test/mocks/items/foo.zip +0 -0
- package/packages/arcgis-rest-portal/test/mocks/items/item.ts +122 -0
- package/packages/arcgis-rest-portal/test/mocks/items/resources.ts +31 -0
- package/packages/arcgis-rest-portal/test/mocks/items/search.ts +121 -0
- package/packages/arcgis-rest-portal/test/mocks/portal/response.ts +112 -0
- package/packages/arcgis-rest-portal/test/mocks/sharing/sharing.ts +18 -0
- package/packages/arcgis-rest-portal/test/mocks/users/invitation.ts +70 -0
- package/packages/arcgis-rest-portal/test/mocks/users/notification.ts +34 -0
- package/packages/arcgis-rest-portal/test/mocks/users/user.ts +173 -0
- package/packages/arcgis-rest-portal/test/sharing/access.test.ts +162 -0
- package/packages/arcgis-rest-portal/test/sharing/group-sharing.test.ts +650 -0
- package/packages/arcgis-rest-portal/test/sharing/helpers.test.ts +55 -0
- package/packages/arcgis-rest-portal/test/users/get-user-url.test.ts +40 -0
- package/packages/arcgis-rest-portal/test/users/get-user.test.ts +90 -0
- package/packages/arcgis-rest-portal/test/users/invitation.test.ts +127 -0
- package/packages/arcgis-rest-portal/test/users/notification.test.ts +77 -0
- package/packages/arcgis-rest-portal/test/users/update.test.ts +151 -0
- package/packages/arcgis-rest-portal/test/util/SearchQueryBuilder.test.ts +340 -0
- package/packages/arcgis-rest-portal/test/util/get-portal-url.test.ts +37 -0
- package/packages/arcgis-rest-portal/test/util/portal.test.ts +97 -0
- package/packages/arcgis-rest-portal/tsconfig.json +6 -0
- package/packages/arcgis-rest-request/README.md +72 -0
- package/packages/arcgis-rest-request/package-lock.json +11 -0
- package/packages/arcgis-rest-request/package.json +60 -0
- package/packages/arcgis-rest-request/src/index.ts +24 -0
- package/packages/arcgis-rest-request/src/request.ts +389 -0
- package/packages/arcgis-rest-request/src/utils/ArcGISRequestError.ts +76 -0
- package/packages/arcgis-rest-request/src/utils/ErrorTypes.ts +29 -0
- package/packages/arcgis-rest-request/src/utils/GrantTypes.ts +5 -0
- package/packages/arcgis-rest-request/src/utils/HTTPMethods.ts +6 -0
- package/packages/arcgis-rest-request/src/utils/IAuthenticationManager.ts +21 -0
- package/packages/arcgis-rest-request/src/utils/IFetchTokenParams.ts +11 -0
- package/packages/arcgis-rest-request/src/utils/IGenerateTokenParams.ts +9 -0
- package/packages/arcgis-rest-request/src/utils/IParamBuilder.ts +3 -0
- package/packages/arcgis-rest-request/src/utils/IParams.ts +6 -0
- package/packages/arcgis-rest-request/src/utils/IParamsBuilder.ts +5 -0
- package/packages/arcgis-rest-request/src/utils/IRequestOptions.ts +43 -0
- package/packages/arcgis-rest-request/src/utils/ITokenRequestOptions.ts +9 -0
- package/packages/arcgis-rest-request/src/utils/ResponseFormats.ts +10 -0
- package/packages/arcgis-rest-request/src/utils/append-custom-params.ts +49 -0
- package/packages/arcgis-rest-request/src/utils/clean-url.ts +16 -0
- package/packages/arcgis-rest-request/src/utils/encode-form-data.ts +38 -0
- package/packages/arcgis-rest-request/src/utils/encode-query-string.ts +23 -0
- package/packages/arcgis-rest-request/src/utils/process-params.ts +109 -0
- package/packages/arcgis-rest-request/src/utils/retryAuthError.ts +10 -0
- package/packages/arcgis-rest-request/src/utils/warn.ts +11 -0
- package/packages/arcgis-rest-request/src/utils/with-options.ts +48 -0
- package/packages/arcgis-rest-request/test/mocks/errors.ts +76 -0
- package/packages/arcgis-rest-request/test/mocks/geojson-feature-collection.ts +13 -0
- package/packages/arcgis-rest-request/test/mocks/param-builder.ts +7 -0
- package/packages/arcgis-rest-request/test/mocks/sharing-rest-info.ts +41 -0
- package/packages/arcgis-rest-request/test/mocks/webmap.ts +41 -0
- package/packages/arcgis-rest-request/test/request.test.ts +496 -0
- package/packages/arcgis-rest-request/test/utils/ArcGISAuthError.test.ts +191 -0
- package/packages/arcgis-rest-request/test/utils/ArcGISRequestError.test.ts +51 -0
- package/packages/arcgis-rest-request/test/utils/check-for-errors.test.ts +111 -0
- package/packages/arcgis-rest-request/test/utils/clean-url.test.ts +47 -0
- package/packages/arcgis-rest-request/test/utils/encode-form-data.test.ts +133 -0
- package/packages/arcgis-rest-request/test/utils/process-params.test.ts +193 -0
- package/packages/arcgis-rest-request/test/utils/with-options.test.ts +133 -0
- package/packages/arcgis-rest-request/tsconfig.json +4 -0
- package/packages/arcgis-rest-routing/README.md +75 -0
- package/packages/arcgis-rest-routing/package-lock.json +11 -0
- package/packages/arcgis-rest-routing/package.json +63 -0
- package/packages/arcgis-rest-routing/src/helpers.ts +16 -0
- package/packages/arcgis-rest-routing/src/index.ts +11 -0
- package/packages/arcgis-rest-routing/src/solveRoute.ts +124 -0
- package/packages/arcgis-rest-routing/test/mocks/responses.ts +825 -0
- package/packages/arcgis-rest-routing/test/solveRoute.test.ts +509 -0
- package/packages/arcgis-rest-routing/tsconfig.json +6 -0
- package/packages/arcgis-rest-service-admin/README.md +73 -0
- package/packages/arcgis-rest-service-admin/package-lock.json +11 -0
- package/packages/arcgis-rest-service-admin/package.json +65 -0
- package/packages/arcgis-rest-service-admin/src/addTo.ts +70 -0
- package/packages/arcgis-rest-service-admin/src/create.ts +213 -0
- package/packages/arcgis-rest-service-admin/src/index.ts +9 -0
- package/packages/arcgis-rest-service-admin/test/addTo.test.ts +350 -0
- package/packages/arcgis-rest-service-admin/test/create.test.ts +377 -0
- package/packages/arcgis-rest-service-admin/test/mocks/layerDefinition.ts +79 -0
- package/packages/arcgis-rest-service-admin/test/mocks/move.ts +11 -0
- package/packages/arcgis-rest-service-admin/test/mocks/service.ts +69 -0
- package/packages/arcgis-rest-service-admin/tsconfig.json +6 -0
- package/packages/arcgis-rest-types/README.md +66 -0
- package/packages/arcgis-rest-types/package.json +54 -0
- package/packages/arcgis-rest-types/src/feature.ts +39 -0
- package/packages/arcgis-rest-types/src/geometry.ts +272 -0
- package/packages/arcgis-rest-types/src/group.ts +72 -0
- package/packages/arcgis-rest-types/src/index.ts +7 -0
- package/packages/arcgis-rest-types/src/item.ts +65 -0
- package/packages/arcgis-rest-types/src/symbol.ts +170 -0
- package/packages/arcgis-rest-types/src/user.ts +48 -0
- package/packages/arcgis-rest-types/src/webmap.ts +1345 -0
- package/packages/arcgis-rest-types/tsconfig.json +9 -0
- package/support/changelog.js +393 -0
- package/support/deploy-doc-site.js +16 -0
- package/support/dev.sh +6 -0
- package/support/publish.sh +47 -0
- package/support/test-helpers.js +9 -0
- package/tsconfig.json +63 -0
- package/tslint.json +16 -0
- package/umd-base-profile.js +81 -0
- package/umd-production-profile.js +13 -0
package/.prettierignore
ADDED
package/.travis.yml
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
language: node_js
|
2
|
+
sudo: false
|
3
|
+
notifications:
|
4
|
+
email: false
|
5
|
+
slack:
|
6
|
+
secure: KghYpsaoCZB1sPOqk1d+JhfBOkg76Cq8eMK665ozdf484RdPvObqLrxyrt9i+sDMDv/oZT+VuvGXsbHj6R+TUh87r2Yhfizcwvdotc4VTHei4y/oNX6cRhV8ryQox/0j6GClqI43A4kIsuOcUm8pI4FTGOhDQOK7+UDcuvcSa5VR7N7GJ97zfzC9gQtRsbfD5WKY4BEr+KlcWt0KCCbp1+Jh7craEO30ztUl38BuUuW7F1/AykrTX6kgS5E5ssUQ0pJPBlzpjb3G5UEeodzOD9wUBVLIBAbgQsofAPLi0pHeyCCeEOuTxXEo7SD8fG+kBstPlncR+V8goCEBnAJysIvBznUxLjrnxcU7V40g+iTENKwhVTIiZzZN3Z9buJd001MRaWjOTCWX80Ig6oraH8WJk7W1qtKzsDK9Lsp2N9pxNTPASbAQoFDlMCGcWYGixq6IhIAwsk1Pkb689F67vHaES8qMXkIHifB0j7yRMwrHinYFqUYASQOECPNEMJv3iqByXntmMP8X/r3VBujMehGodZ1dnbWvAOdWdEmG3KCVpn42ocKCj6k4WZL62nSxs3W00E1UVPnXujT3ENk/3L/VJE3tRWFCSbR9HnfBSDVA6WaFu4EFDg8WV6fn2T0FHKTBgCtTugQo8bsoyReYZvEU/27O/B+d5/9nqMHqyy4=
|
7
|
+
node_js:
|
8
|
+
- '10'
|
9
|
+
- '11'
|
10
|
+
cache: npm
|
11
|
+
script:
|
12
|
+
- npm run test:ci
|
13
|
+
- codecov
|
14
|
+
deploy:
|
15
|
+
provider: pages
|
16
|
+
skip_cleanup: true
|
17
|
+
keep-history: true
|
18
|
+
github_token: "$GITHUB_TOKEN"
|
19
|
+
on:
|
20
|
+
branch: master
|
21
|
+
local-dir: docs/build/arcgis-rest-js
|
22
|
+
before_deploy:
|
23
|
+
- npm run docs:build
|
24
|
+
env:
|
25
|
+
- MOZ_HEADLESS=1
|
26
|
+
addons:
|
27
|
+
chrome: stable
|
28
|
+
firefox: latest
|
29
|
+
branches:
|
30
|
+
only:
|
31
|
+
- master
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{
|
2
|
+
// Use IntelliSense to learn about possible Node.js debug attributes.
|
3
|
+
// Hover to view descriptions of existing attributes.
|
4
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
5
|
+
"version": "0.2.0",
|
6
|
+
"configurations": [
|
7
|
+
{
|
8
|
+
"type": "node",
|
9
|
+
"request": "launch",
|
10
|
+
"name": "Debug Node Tests",
|
11
|
+
"program": "${workspaceRoot}/node_modules/.bin/jasmine",
|
12
|
+
"args": [
|
13
|
+
"--config=jasmine.json"
|
14
|
+
]
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"type": "node",
|
18
|
+
"request": "launch",
|
19
|
+
"name": "Debug Changelog Script",
|
20
|
+
"program": "${workspaceRoot}/support/changelog.js",
|
21
|
+
"args": ["--config=jasmine.json"]
|
22
|
+
}
|
23
|
+
]
|
24
|
+
}
|
package/codecov.yml
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Node CLI Examples
|
2
|
+
|
3
|
+
This demo shows how to create a command-line application that interacts with the ArcGIS Online API.
|
4
|
+
|
5
|
+
At this point, the commands are very simple and intended to demonstrate how to build up tooling.
|
6
|
+
|
7
|
+
This project uses the `commander` module, which streamlines the creation of node cli applications. Check out the [README](https://github.com/tj/commander.js/blob/master/Readme.md) for more details.
|
8
|
+
|
9
|
+
### Installing
|
10
|
+
|
11
|
+
Like all the other demo apps, run `npm run bootstrap` from the root.
|
12
|
+
|
13
|
+
### Running
|
14
|
+
If you use this demo as a starting point for your own command line package, you would publish it to npm, then on the target systems run `npm install <your-cli-package>`, and it would be available as a command.
|
15
|
+
|
16
|
+
But, this is demo code, and thus the package is not "installed" via `npm install ...`, before we can call it as `ago <command> <query>` we need to run `npm link` in the `/demos/ago-node-cli` folder. After you do that, the command should work.
|
17
|
+
|
18
|
+
Here is a post with information on creating node command line tools: [A Guide to Creating a NodeJs Command](https://x-team.com/blog/a-guide-to-creating-a-nodejs-command/)
|
19
|
+
|
20
|
+
### Commands
|
21
|
+
|
22
|
+
| command | description | example |
|
23
|
+
| --- | --- | --- |
|
24
|
+
| `ago search <query>` | search for items | `ago search water` |
|
25
|
+
| `ago export <id> <file>` | export an item to a json file | `ago export a62cb9d894f145cc89531c096d0012b1 pa.json` |
|
26
|
+
|
27
|
+
## Building your own tooling
|
28
|
+
|
29
|
+
If you want to build out some commands of your own, you can also clone a stand-alone version of this repo from https://github.com/dbouwman/arcgis-rest-js-commands
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/env node
|
2
|
+
require('cross-fetch/polyfill');
|
3
|
+
require('isomorphic-form-data');
|
4
|
+
|
5
|
+
/**
|
6
|
+
* This demo uses the commander module, which streamlines the creation of command-line-applications
|
7
|
+
*/
|
8
|
+
const program = require('commander');
|
9
|
+
|
10
|
+
program
|
11
|
+
.version('0.0.1');
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Bring in the search command...
|
15
|
+
*/
|
16
|
+
const itemSearchCommand = require('./lib/item-search-command');
|
17
|
+
|
18
|
+
program
|
19
|
+
.command('search <query>')
|
20
|
+
.description('Search for items')
|
21
|
+
.action(function (query) {
|
22
|
+
itemSearchCommand.execute(query);
|
23
|
+
});
|
24
|
+
|
25
|
+
const itemExportCommand = require('./lib/item-export-command');
|
26
|
+
program
|
27
|
+
.command('export <itemId> <filename>')
|
28
|
+
.description('Export an item to a json file')
|
29
|
+
.action(function (id, filename) {
|
30
|
+
itemExportCommand.execute(id, filename);
|
31
|
+
});
|
32
|
+
|
33
|
+
program.parse(process.argv);
|
@@ -0,0 +1,11 @@
|
|
1
|
+
/**
|
2
|
+
* Re-export the commands so they can be used in other contexts
|
3
|
+
*/
|
4
|
+
const itemSearchCommand = require('./lib/item-search-command');
|
5
|
+
const itemExportCommand = require('./lib/item-export-command');
|
6
|
+
|
7
|
+
// just re-export the commands so they can be run in another scropt
|
8
|
+
module.exports = {
|
9
|
+
search: itemSearchCommand,
|
10
|
+
export: itemExportCommand
|
11
|
+
};
|
@@ -0,0 +1,48 @@
|
|
1
|
+
const { getItem, getItemData } = require("@esri/arcgis-rest-portal");
|
2
|
+
const jsonfile = require('jsonfile');
|
3
|
+
|
4
|
+
module.exports = {
|
5
|
+
/**
|
6
|
+
* Execute the command
|
7
|
+
*/
|
8
|
+
execute: function (id, fileName) {
|
9
|
+
console.info(`Exporting item ${id} to file ${fileName}`);
|
10
|
+
// construct the search call..
|
11
|
+
let model = {};
|
12
|
+
return getItem(id)
|
13
|
+
.then((item) => {
|
14
|
+
model.item = item;
|
15
|
+
if (this.shouldFetchData(item.type)){
|
16
|
+
console.info(`...Fetching ./data for item of type ${item.type}`);
|
17
|
+
return getItemData(id);
|
18
|
+
} else {
|
19
|
+
console.info(`...Items of type ${item.type} do not have json ./data - skipping`);
|
20
|
+
return Promise.resolve();
|
21
|
+
}
|
22
|
+
})
|
23
|
+
.then((maybeData) => {
|
24
|
+
if (maybeData) {
|
25
|
+
model.data = maybeData;
|
26
|
+
}
|
27
|
+
// now write out the file...
|
28
|
+
jsonfile.writeFileSync(fileName, model, {spaces: 2});
|
29
|
+
console.info(`Done. Exported "${model.item.title}" to ${fileName}`);
|
30
|
+
})
|
31
|
+
.catch((err) => {
|
32
|
+
console.error(err);
|
33
|
+
});
|
34
|
+
},
|
35
|
+
|
36
|
+
/**
|
37
|
+
* Not all item types have json /data
|
38
|
+
*/
|
39
|
+
shouldFetchData (type) {
|
40
|
+
let result = false;
|
41
|
+
let exportables = ['Web Map', 'Web Mapping Application', 'Hub Page', 'Hub Initiative', 'Hub Site Application'];
|
42
|
+
// if the type is in this list, we can export it...
|
43
|
+
if (exportables.indexOf(type) > -1) {
|
44
|
+
result = true;
|
45
|
+
}
|
46
|
+
return result;
|
47
|
+
}
|
48
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
|
2
|
+
/**
|
3
|
+
* Bring in searchItems fn
|
4
|
+
*/
|
5
|
+
const { searchItems } = require("@esri/arcgis-rest-portal");
|
6
|
+
|
7
|
+
module.exports = {
|
8
|
+
/**
|
9
|
+
* Execute the command
|
10
|
+
*/
|
11
|
+
execute: function (query) {
|
12
|
+
// construct the search call..
|
13
|
+
return searchItems({
|
14
|
+
searchForm: {
|
15
|
+
q: query,
|
16
|
+
start: 1,
|
17
|
+
num: 10
|
18
|
+
}
|
19
|
+
})
|
20
|
+
.then((response) => {
|
21
|
+
// if we got results
|
22
|
+
if (Array.isArray(response.results) && response.results.length) {
|
23
|
+
console.info(`${response.total} items found for "${query}".`);
|
24
|
+
response.results.forEach((entry) => {
|
25
|
+
console.info(`${entry.id} | ${entry.title}`);
|
26
|
+
})
|
27
|
+
} else {
|
28
|
+
console.info(`No results found for "${query}".`);
|
29
|
+
}
|
30
|
+
})
|
31
|
+
.catch((err) => {
|
32
|
+
console.error(err);
|
33
|
+
});
|
34
|
+
}
|
35
|
+
}
|
@@ -0,0 +1,152 @@
|
|
1
|
+
{
|
2
|
+
"requires": true,
|
3
|
+
"lockfileVersion": 1,
|
4
|
+
"dependencies": {
|
5
|
+
"ansi-styles": {
|
6
|
+
"version": "3.2.1",
|
7
|
+
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
8
|
+
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
|
9
|
+
"requires": {
|
10
|
+
"color-convert": "^1.9.0"
|
11
|
+
}
|
12
|
+
},
|
13
|
+
"async": {
|
14
|
+
"version": "2.6.1",
|
15
|
+
"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
|
16
|
+
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
|
17
|
+
"requires": {
|
18
|
+
"lodash": "^4.17.10"
|
19
|
+
}
|
20
|
+
},
|
21
|
+
"chalk": {
|
22
|
+
"version": "2.4.1",
|
23
|
+
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
|
24
|
+
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
|
25
|
+
"requires": {
|
26
|
+
"ansi-styles": "^3.2.1",
|
27
|
+
"escape-string-regexp": "^1.0.5",
|
28
|
+
"supports-color": "^5.3.0"
|
29
|
+
}
|
30
|
+
},
|
31
|
+
"color-convert": {
|
32
|
+
"version": "1.9.3",
|
33
|
+
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
34
|
+
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
|
35
|
+
"requires": {
|
36
|
+
"color-name": "1.1.3"
|
37
|
+
}
|
38
|
+
},
|
39
|
+
"color-name": {
|
40
|
+
"version": "1.1.3",
|
41
|
+
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
42
|
+
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
|
43
|
+
},
|
44
|
+
"combined-stream": {
|
45
|
+
"version": "1.0.7",
|
46
|
+
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
|
47
|
+
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
|
48
|
+
"requires": {
|
49
|
+
"delayed-stream": "~1.0.0"
|
50
|
+
}
|
51
|
+
},
|
52
|
+
"commander": {
|
53
|
+
"version": "2.19.0",
|
54
|
+
"resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
|
55
|
+
"integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg=="
|
56
|
+
},
|
57
|
+
"cross-fetch": {
|
58
|
+
"version": "3.0.2",
|
59
|
+
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.2.tgz",
|
60
|
+
"integrity": "sha512-a4Z0EJ5Nck6QtMy9ZqloLfpvu2uMV3sBfMCR+CgSBCZc6z5KR4bfEiD3dkepH8iZgJMXQpTqf8FjMmvu/GMFkg==",
|
61
|
+
"requires": {
|
62
|
+
"node-fetch": "2.3.0",
|
63
|
+
"whatwg-fetch": "3.0.0"
|
64
|
+
},
|
65
|
+
"dependencies": {
|
66
|
+
"node-fetch": {
|
67
|
+
"version": "2.3.0",
|
68
|
+
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz",
|
69
|
+
"integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA=="
|
70
|
+
}
|
71
|
+
}
|
72
|
+
},
|
73
|
+
"delayed-stream": {
|
74
|
+
"version": "1.0.0",
|
75
|
+
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
76
|
+
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
77
|
+
},
|
78
|
+
"escape-string-regexp": {
|
79
|
+
"version": "1.0.5",
|
80
|
+
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
81
|
+
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
|
82
|
+
},
|
83
|
+
"form-data": {
|
84
|
+
"version": "1.0.1",
|
85
|
+
"resolved": "http://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz",
|
86
|
+
"integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=",
|
87
|
+
"requires": {
|
88
|
+
"async": "^2.0.1",
|
89
|
+
"combined-stream": "^1.0.5",
|
90
|
+
"mime-types": "^2.1.11"
|
91
|
+
}
|
92
|
+
},
|
93
|
+
"graceful-fs": {
|
94
|
+
"version": "4.1.15",
|
95
|
+
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
|
96
|
+
"integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
|
97
|
+
"optional": true
|
98
|
+
},
|
99
|
+
"has-flag": {
|
100
|
+
"version": "3.0.0",
|
101
|
+
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
|
102
|
+
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
|
103
|
+
},
|
104
|
+
"isomorphic-form-data": {
|
105
|
+
"version": "1.0.0",
|
106
|
+
"resolved": "https://registry.npmjs.org/isomorphic-form-data/-/isomorphic-form-data-1.0.0.tgz",
|
107
|
+
"integrity": "sha1-BEe+fg9rht7z05MDbPdmSpiRkQA=",
|
108
|
+
"requires": {
|
109
|
+
"form-data": "^1.0.0-rc3"
|
110
|
+
}
|
111
|
+
},
|
112
|
+
"jsonfile": {
|
113
|
+
"version": "4.0.0",
|
114
|
+
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
115
|
+
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
|
116
|
+
"requires": {
|
117
|
+
"graceful-fs": "^4.1.6"
|
118
|
+
}
|
119
|
+
},
|
120
|
+
"lodash": {
|
121
|
+
"version": "4.17.11",
|
122
|
+
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
|
123
|
+
"integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
|
124
|
+
},
|
125
|
+
"mime-db": {
|
126
|
+
"version": "1.37.0",
|
127
|
+
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
|
128
|
+
"integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
|
129
|
+
},
|
130
|
+
"mime-types": {
|
131
|
+
"version": "2.1.21",
|
132
|
+
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
|
133
|
+
"integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
|
134
|
+
"requires": {
|
135
|
+
"mime-db": "~1.37.0"
|
136
|
+
}
|
137
|
+
},
|
138
|
+
"supports-color": {
|
139
|
+
"version": "5.5.0",
|
140
|
+
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
141
|
+
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
142
|
+
"requires": {
|
143
|
+
"has-flag": "^3.0.0"
|
144
|
+
}
|
145
|
+
},
|
146
|
+
"whatwg-fetch": {
|
147
|
+
"version": "3.0.0",
|
148
|
+
"resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz",
|
149
|
+
"integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q=="
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{
|
2
|
+
"name": "node-cli",
|
3
|
+
"version": "2.0.4",
|
4
|
+
"description": "arcgis-rest-js node command-line item search example",
|
5
|
+
"main": "ago.js",
|
6
|
+
"scripts": {
|
7
|
+
"start": "echo \"CLI - node index.js <search>\" && exit 1"
|
8
|
+
},
|
9
|
+
"bin": {
|
10
|
+
"ago": "./ago.js"
|
11
|
+
},
|
12
|
+
"private": true,
|
13
|
+
"keywords": [
|
14
|
+
"arcgis",
|
15
|
+
"node",
|
16
|
+
"arcgis-rest-js"
|
17
|
+
],
|
18
|
+
"author": "Dave Bouwman <dbouwman@esri.com>",
|
19
|
+
"license": "Apache-2.0",
|
20
|
+
"dependencies": {
|
21
|
+
"@esri/arcgis-rest-auth": "^2.0.4",
|
22
|
+
"@esri/arcgis-rest-portal": "^2.0.4",
|
23
|
+
"@esri/arcgis-rest-request": "^2.0.4",
|
24
|
+
"chalk": "^2.3.0",
|
25
|
+
"commander": "^2.12.2",
|
26
|
+
"cross-fetch": "^3.0.0",
|
27
|
+
"isomorphic-form-data": "^1.0.0",
|
28
|
+
"jsonfile": "^4.0.0"
|
29
|
+
}
|
30
|
+
}
|
@@ -0,0 +1,164 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<title>Attachments</title>
|
4
|
+
|
5
|
+
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
|
6
|
+
|
7
|
+
<script src="https://polyfill.io/v3/polyfill.min.js?features=es5%2Cfetch%2CPromise"></script>
|
8
|
+
|
9
|
+
<div class="container-fluid">
|
10
|
+
<div class="row">
|
11
|
+
<div class="col-md-12">
|
12
|
+
<h3>Attachments</h3>
|
13
|
+
<form id="getForm">
|
14
|
+
<div class="form-group">
|
15
|
+
<label for="serviceUrl">Service URL</label>
|
16
|
+
<input type="text" id="serviceUrl" name="serviceUrl" class="form-control" value="http://sampleserver6.arcgisonline.com/arcgis/rest/services/SF311/FeatureServer/0/" required>
|
17
|
+
</div>
|
18
|
+
<div class="form-group">
|
19
|
+
<label for="featureId">Feature ID</label>
|
20
|
+
<input type="number" min="0" step="1" id="featureId" name="featureId" class="form-control" value="3339970" required>
|
21
|
+
</div>
|
22
|
+
<div class="form-group">
|
23
|
+
<button type="submit" class="btn"><span class="glyphicon glyphicon-paperclip" aria-hidden="true"></span> Get Attachments</button>
|
24
|
+
</div>
|
25
|
+
</form>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
<div class="row">
|
29
|
+
<div class="col-md-12">
|
30
|
+
<form id="addForm">
|
31
|
+
<div class="form-group">
|
32
|
+
<label for="attachFile">File</label>
|
33
|
+
<input type="file" id="attachFile" name="attachFile" required>
|
34
|
+
</div>
|
35
|
+
<div class="form-group">
|
36
|
+
<button type="submit" class="btn btn-success"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add Attachment</button>
|
37
|
+
</div>
|
38
|
+
</form>
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
<div class="row">
|
42
|
+
<div class="col-md-12">
|
43
|
+
<p id="resultMessage"></p>
|
44
|
+
<table class="table table-striped">
|
45
|
+
<thead>
|
46
|
+
<th>Attachment ID</th>
|
47
|
+
<th>Content Type</th>
|
48
|
+
<th>Size</th>
|
49
|
+
<th>Attachment</th>
|
50
|
+
<th>Delete</th>
|
51
|
+
</thead>
|
52
|
+
<tbody id="result"></tbody>
|
53
|
+
</table>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<script src="https://rawgit.com/kriszyp/put-selector/master/put.js"></script>
|
59
|
+
<script src="node_modules/@esri/arcgis-rest-request/dist/umd/request.umd.js"></script>
|
60
|
+
<script src="node_modules/@esri/arcgis-rest-feature-service/dist/umd/feature-service.umd.js"></script>
|
61
|
+
|
62
|
+
<script>
|
63
|
+
let serviceUrl, featureId;
|
64
|
+
|
65
|
+
let validService = false;
|
66
|
+
|
67
|
+
// ref some nodes
|
68
|
+
const getForm = document.getElementById('getForm');
|
69
|
+
const addForm = document.getElementById('addForm');
|
70
|
+
const resultMessage = document.getElementById('resultMessage');
|
71
|
+
const result = document.getElementById('result');
|
72
|
+
|
73
|
+
// delete attachment and get again to update table rows
|
74
|
+
const deleteAttachment = attachmentId => {
|
75
|
+
arcgisRest.deleteAttachments({
|
76
|
+
url: serviceUrl,
|
77
|
+
featureId: featureId,
|
78
|
+
attachmentIds: [attachmentId]
|
79
|
+
}).then(res => {
|
80
|
+
console.log(res);
|
81
|
+
arcgisRest.getAttachments({
|
82
|
+
url: serviceUrl,
|
83
|
+
featureId: featureId
|
84
|
+
}).then(getResponse).catch(getError);
|
85
|
+
}).catch(err => {
|
86
|
+
console.log(err);
|
87
|
+
alert(err.message + ' Check the console for more details.');
|
88
|
+
});
|
89
|
+
}
|
90
|
+
|
91
|
+
// handle get attachments response and create table rows
|
92
|
+
const getResponse = res => {
|
93
|
+
console.log(res);
|
94
|
+
const infos = res.attachmentInfos;
|
95
|
+
validService = true;
|
96
|
+
resultMessage.innerHTML = 'Feature has ' + infos.length + ' attachments.';
|
97
|
+
result.innerHTML = '';
|
98
|
+
if (infos.length) {
|
99
|
+
infos.forEach(info => {
|
100
|
+
const tr = put(result, 'tr');
|
101
|
+
put(tr, 'td', info.id);
|
102
|
+
put(tr, 'td', info.contentType);
|
103
|
+
put(tr, 'td', info.size);
|
104
|
+
put(tr, 'td a.btn.btn-primary', {
|
105
|
+
target: '_blank',
|
106
|
+
href: serviceUrl + '/' + featureId + '/attachments/' + info.id,
|
107
|
+
innerHTML: '<span class="glyphicon glyphicon-file" aria-hidden="true"></span> ' + info.name
|
108
|
+
});
|
109
|
+
put(tr, 'td a.btn.btn-danger', {
|
110
|
+
href: '#',
|
111
|
+
innerHTML: '<span class="glyphicon glyphicon-remove" aria-hidden="true"></span> ' + info.name,
|
112
|
+
onclick: evt => {
|
113
|
+
evt.preventDefault();
|
114
|
+
deleteAttachment(info.id);
|
115
|
+
}
|
116
|
+
});
|
117
|
+
});
|
118
|
+
}
|
119
|
+
};
|
120
|
+
|
121
|
+
// handle get attachments error
|
122
|
+
const getError = err => {
|
123
|
+
console.log(err);
|
124
|
+
validService = false;
|
125
|
+
resultMessage.innerHTML = err.message + ' Check the console for more details.';
|
126
|
+
result.innerHTML = '';
|
127
|
+
}
|
128
|
+
|
129
|
+
// handle get attachments form submit
|
130
|
+
getForm.addEventListener('submit', function (evt) {
|
131
|
+
evt.preventDefault();
|
132
|
+
arcgisRest.getAttachments({
|
133
|
+
url: serviceUrl = getForm.serviceUrl.value,
|
134
|
+
featureId: featureId = getForm.featureId.value
|
135
|
+
}).then(getResponse).catch(getError);
|
136
|
+
});
|
137
|
+
|
138
|
+
// handle add attachment form submit and get again to update table rows
|
139
|
+
addForm.addEventListener('submit', function (evt) {
|
140
|
+
evt.preventDefault();
|
141
|
+
if (!validService) {
|
142
|
+
alert('Not so fast. Start by getting a feature\'s attachments first.');
|
143
|
+
return;
|
144
|
+
}
|
145
|
+
arcgisRest.addAttachment({
|
146
|
+
url: serviceUrl,
|
147
|
+
featureId: featureId,
|
148
|
+
attachment: evt.target.attachFile.files[0],
|
149
|
+
params: {
|
150
|
+
returnEditMoment: true
|
151
|
+
}
|
152
|
+
}).then(res => {
|
153
|
+
console.log(res);
|
154
|
+
arcgisRest.getAttachments({
|
155
|
+
url: serviceUrl,
|
156
|
+
featureId: featureId
|
157
|
+
}).then(getResponse).catch(getError);
|
158
|
+
}).catch(err => {
|
159
|
+
console.log(err);
|
160
|
+
alert(err.message + ' Check the console for more details.');
|
161
|
+
});
|
162
|
+
});
|
163
|
+
</script>
|
164
|
+
</html>
|