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

Arcgis server support #641

Merged
merged 87 commits into from
Dec 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
802f745
First commit
underbluewaters Aug 13, 2020
879dc19
Instruct github pages not to use jekyll
underbluewaters Aug 18, 2020
9f5d1f9
Improved jsdocs
underbluewaters Aug 18, 2020
ce1c3de
Adding dist/ so examples work on github pages
underbluewaters Aug 19, 2020
2c543ed
Improved documentation
underbluewaters Aug 19, 2020
7268a82
Expose source id in vector sources
underbluewaters Sep 29, 2020
ea923d3
Debounce updates to dynamic images. Closes #13
underbluewaters Sep 29, 2020
0d6a799
Do not debounce updates for map bounds changes
underbluewaters Sep 29, 2020
9b4c77a
Add an ImageSet.removeFromMap method
underbluewaters Sep 29, 2020
fe4ff97
Remove console.log statement
underbluewaters Sep 29, 2020
5a75b89
Use GeoJSON directly from ArcGIS server. Conversion process on client…
underbluewaters Sep 30, 2020
f9b5a82
Switch to simpler where-based query method
underbluewaters Sep 30, 2020
37f88f3
Update docs
underbluewaters Sep 30, 2020
0274bf8
Bump version
underbluewaters Sep 30, 2020
a82eb02
Remove comments about geojson output and gzip compression. Somehow ge…
underbluewaters Oct 1, 2020
58bbcab
Remove bytesLimit feature which never seems to work
underbluewaters Oct 1, 2020
8bd85c9
WIP
underbluewaters Nov 6, 2020
360f495
WIP
underbluewaters Dec 15, 2020
8f8b729
Add support for DynamicMapService tiled requests
underbluewaters Aug 23, 2023
176cd25
Remove console.log from bundle
underbluewaters Aug 23, 2023
e4996de
Merge branch 'master' into feature-seasketch-next
underbluewaters Aug 23, 2023
cda053a
fix for typescript change in error typing
underbluewaters Aug 23, 2023
415a6ff
WIP
underbluewaters Aug 24, 2023
918379f
WIP
underbluewaters Aug 24, 2023
b7d6768
Remove jest (not using and causes ts error)
underbluewaters Aug 25, 2023
8301b15
Notes
underbluewaters Aug 25, 2023
4b70ca6
chore: move all files into packages/mapbox-gl-esri-sources
underbluewaters Aug 25, 2023
7b7f46c
Merge remote-tracking branch 'mapbox-gl-esri-sources/feature-seasketc…
underbluewaters Aug 25, 2023
71a9447
Adding @seasketch/mapbox-gl-esri-sources to monorepo
underbluewaters Aug 25, 2023
80c4e9f
WIP
underbluewaters Aug 31, 2023
9c99f8a
WIP
underbluewaters Sep 1, 2023
b648672
WIP
underbluewaters Sep 15, 2023
f412563
Improvements to text legends
underbluewaters Sep 15, 2023
ca84c1d
WIP
underbluewaters Sep 19, 2023
51094c5
WIP
underbluewaters Oct 9, 2023
6c5f36b
Merge branch 'master' into feature-arcgis-server-support
underbluewaters Oct 10, 2023
c7b7b7c
WIP
underbluewaters Oct 11, 2023
3f76d40
Merge branch 'master' into feature-arcgis-server-support
underbluewaters Oct 11, 2023
18d6477
WIP
underbluewaters Oct 13, 2023
71b013e
WIP
underbluewaters Oct 13, 2023
b4f4f1c
WIP
underbluewaters Oct 16, 2023
26603f8
WIP
underbluewaters Oct 17, 2023
6a2fa0c
WIP
underbluewaters Oct 18, 2023
cc436fb
Merge branch 'master' into feature-arcgis-server-support
underbluewaters Oct 18, 2023
68f2c3c
WIP
underbluewaters Oct 19, 2023
46107f6
omg it might just work
underbluewaters Oct 20, 2023
2ef3f40
Adding test cases
underbluewaters Oct 23, 2023
7f34d0b
WIP
underbluewaters Oct 24, 2023
e123ee0
Working on quantized tile data for esri feature layers
underbluewaters Oct 25, 2023
7d3cee9
Prelim .pbf support
underbluewaters Oct 26, 2023
d184426
WIP
underbluewaters Oct 26, 2023
19b7b68
Better loading indicator clearing
underbluewaters Oct 30, 2023
2a885c4
Stop outputing legacy data filters in gl style output
underbluewaters Oct 30, 2023
794a646
Good rendering of all test cases
underbluewaters Oct 31, 2023
7e42a0f
WIP
underbluewaters Oct 31, 2023
834dcde
db changes to support arcgis service import
underbluewaters Nov 3, 2023
04064a7
WIP
underbluewaters Nov 9, 2023
b09ea89
Merge branch 'master' into feature-arcgis-server-support
underbluewaters Nov 9, 2023
beea7e2
Add support for un-named graphql operations
underbluewaters Nov 13, 2023
9ce0eca
Add support for un-named graphql operations
underbluewaters Nov 13, 2023
371d35f
WIP
underbluewaters Nov 14, 2023
8977e1a
Legends working with sublayers
underbluewaters Nov 17, 2023
87f9af0
Removed unused component
underbluewaters Nov 17, 2023
2c2631e
Fix dynamic map service image loading
underbluewaters Nov 17, 2023
5c0c86c
Removing unused package
underbluewaters Nov 17, 2023
5ae6eff
Removing unused packages
underbluewaters Nov 17, 2023
cc23be2
WIP
underbluewaters Nov 17, 2023
c4c4efb
WIP
underbluewaters Nov 20, 2023
7c21a4a
WIP
underbluewaters Nov 20, 2023
8b01122
WIP
underbluewaters Nov 22, 2023
7505753
WIP
underbluewaters Dec 4, 2023
6053431
WIP
underbluewaters Dec 5, 2023
f4d6ac9
Editable metadata
underbluewaters Dec 6, 2023
e3a2bfd
Homepage legend
underbluewaters Dec 7, 2023
3c7cd77
Almost done!
underbluewaters Dec 7, 2023
6d9dab7
WIP
underbluewaters Dec 8, 2023
d579e2f
WIP
underbluewaters Dec 8, 2023
50f1600
Attempting to fix build
underbluewaters Dec 8, 2023
2cb507e
Attempting to fix build
underbluewaters Dec 8, 2023
32916d1
Attempting to fix build
underbluewaters Dec 8, 2023
80e34ff
Attempting to fix build
underbluewaters Dec 8, 2023
0f96f56
Attempting to fix build
underbluewaters Dec 8, 2023
a901aa5
Attempting to fix build
underbluewaters Dec 8, 2023
47a9f9b
Attempting to fix build
underbluewaters Dec 8, 2023
b5b1f0b
Attempting to fix build
underbluewaters Dec 8, 2023
dbe32be
Attempting to fix build
underbluewaters Dec 8, 2023
8c134c7
Update migrations
underbluewaters Dec 8, 2023
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
4 changes: 2 additions & 2 deletions .github/workflows/deploy-server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
outputs:
build_label: ${{ steps.short_sha.outputs.sha }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- id: short_sha
Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:
- run_migrations
- export_commit
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
client: ${{ steps.changes.outputs.client }}
build_label: ${{ steps.short_sha.outputs.sha }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
- id: short_sha
Expand Down Expand Up @@ -112,7 +112,7 @@ jobs:
- detect_changes
- run_migrations
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
needs:
- detect_changes
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v2
with:
node-version: "18.6"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/preview-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
name: preview_client
url: ${{ steps.wrangler.outputs.preview_url }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: "18.6"
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
ports:
- "6379:6379"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: "18.6"
Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:
ports:
- "6379:6379"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: "18.6"
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:
name: Test React Client
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: "18.6"
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:
name: Build React Client
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: "18.6"
Expand Down Expand Up @@ -176,7 +176,7 @@ jobs:
# ports:
# - "6379:6379"
# steps:
# - uses: actions/checkout@v2
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v2
# with:
# node-version: "18.6"
Expand Down Expand Up @@ -292,7 +292,7 @@ jobs:
# ports:
# - "6379:6379"
# steps:
# - uses: actions/checkout@v2
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v2
# with:
# node-version: "18.6"
Expand Down
1 change: 0 additions & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"ms-vscode.vscode-typescript-tslint-plugin",
"esbenp.prettier-vscode",
"bradymholt.pgformatter",
"apollographql.vscode-apollo",
Expand Down
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
"**/dist/**": true,
"**/infra/lib/*.d.ts": true,
"**/infra/lib/*Stack.js": true,
"node_modules": true
"node_modules": true,
"packages/client/src/lang/**/*.json": true
},
"eslint.workingDirectories": ["packages/client"],
"[git-commit]": {
Expand Down
21 changes: 21 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,27 @@
"problemMatcher": [],
"label": "Start Database & Redis",
"detail": "docker-compose up -d"
},
{
"type": "npm",
"script": "watch",
"path": "packages/mapbox-gl-esri-sources/",
"problemMatcher": [],
"label": "Rollup: mapbox-gl-esri-sources",
"runOptions": {
"runOn": "folderOpen"
}
},
{
"type": "typescript",
"runOptions": {
"runOn": "folderOpen"
},
"tsconfig": "packages/mapbox-gl-esri-sources/tsconfig.json",
"option": "watch",
"problemMatcher": ["$tsc-watch"],
"group": "build",
"label": "TypeScript: watch mapbox-gl-esri-sources"
}
]
}
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"license": "BSD-3-Clause",
"dependencies": {
"form-data": "^4.0.0",
"node-fetch": "^2.6.7"
"node-fetch": "^2.6.7",
"typescript": "^5.2"
}
}
84 changes: 84 additions & 0 deletions packages/api/generated-schema-clean.gql
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,31 @@ enum ArcgisFeatureLayerFetchStrategy {
TILED
}

"""An input for mutations affecting `ArcgisImportItem`"""
input ArcgisImportItemInput {
id: Int
isFolder: Boolean
parentId: String
sourceId: Int
stableId: String
sublayerId: Int
title: String
}

"""An input for mutations affecting `ArcgisImportSource`"""
input ArcgisImportSourceInput {
fetchStrategy: ArcgisFeatureLayerFetchStrategy
id: Int
type: ArcgisSourceType
url: String
}

enum ArcgisSourceType {
ARCGIS_DYNAMIC_MAPSERVER
ARCGIS_RASTER_TILES
ARCGIS_VECTOR
}

"""All input for the `archiveResponses` mutation."""
input ArchiveResponsesInput {
"""
Expand Down Expand Up @@ -295,6 +320,7 @@ type Basemap implements Node {
"""The method to use when ordering `MapBookmark`."""
orderBy: [MapBookmarksOrderBy!] = [NATURAL]
): MapBookmarksConnection!
maxzoom: Int

"""Label shown in the basemap picker interface"""
name: String!
Expand Down Expand Up @@ -461,6 +487,7 @@ input BasemapInput {
Identify the labels layer lowest in the stack so that overlay layers may be placed underneath.
"""
labelsLayerId: String
maxzoom: Int

"""Label shown in the basemap picker interface"""
name: String!
Expand Down Expand Up @@ -533,6 +560,7 @@ input BasemapPatch {
Identify the labels layer lowest in the stack so that overlay layers may be placed underneath.
"""
labelsLayerId: String
maxzoom: Int

"""Label shown in the basemap picker interface"""
name: String
Expand Down Expand Up @@ -2735,6 +2763,8 @@ input DataSourceInput {
Represents an update to a `DataSource`. Fields that are set will be updated.
"""
input DataSourcePatch {
arcgisFetchStrategy: ArcgisFeatureLayerFetchStrategy

"""
Contains an attribution to be displayed when the map is shown to a user.
"""
Expand Down Expand Up @@ -6400,6 +6430,33 @@ enum GroupsOrderBy {
PROJECT_ID_DESC
}

"""All input for the `importArcgisServices` mutation."""
input ImportArcgisServicesInput {
"""
An arbitrary string value with no semantic meaning. Will be included in the
payload verbatim. May be used to track mutations by the client.
"""
clientMutationId: String
items: [ArcgisImportItemInput]
projectId: Int
sources: [ArcgisImportSourceInput]
}

"""The output of our `importArcgisServices` mutation."""
type ImportArcgisServicesPayload {
"""
The exact same `clientMutationId` that was provided in the mutation input,
unchanged and unused. May be used by a client to track mutations.
"""
clientMutationId: String

"""
Our root query field type. Allows us to run any query from our mutation payload.
"""
query: Query
tableOfContentsItems: [TableOfContentsItem!]
}

type InteractivitySetting implements Node {
"""Reads and enables pagination through a set of `Basemap`."""
basemapsByInteractivitySettingsIdConnection(
Expand Down Expand Up @@ -6514,6 +6571,7 @@ input InteractivitySettingPatch {
}

enum InteractivityType {
ALL_PROPERTIES_POPUP
BANNER
FIXED_BLOCK
NONE
Expand Down Expand Up @@ -7989,6 +8047,12 @@ type Mutation {
"""
input: GrantAdminAccessInput!
): GrantAdminAccessPayload
importArcgisServices(
"""
The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.
"""
input: ImportArcgisServicesInput!
): ImportArcgisServicesPayload

"""
Adds current user to the list of participants for a project, sharing their
Expand Down Expand Up @@ -9292,6 +9356,12 @@ enum OptionalBasemapLayersOrderBy {
PRIMARY_KEY_DESC
}

type OutstandingSurveyInvites {
projectId: Int!
surveyId: Int!
token: String!
}

"""Information about pagination in a connection."""
type PageInfo {
"""When paginating forwards, the cursor to continue."""
Expand Down Expand Up @@ -13105,6 +13175,13 @@ type TableOfContentsItem implements Node {
"""
bounds: [BigFloat]

"""
Metadata will be returned as directly stored in the SeaSketch
database or computed by fetching from a 3rd party service,
depending on the data source type.
"""
computedMetadata: JSON

"""
Reads a single `DataLayer` that is related to this `TableOfContentsItem`.
"""
Expand All @@ -13125,6 +13202,7 @@ type TableOfContentsItem implements Node {
their children. Toggles can only be used to toggle children off
"""
isClickOffOnly: Boolean!
isCustomGlSource: Boolean

"""
Identifies whether this item is part of the draft table of contents edited by
Expand Down Expand Up @@ -13180,6 +13258,7 @@ type TableOfContentsItem implements Node {
"""Name used in the table of contents rendering"""
title: String!
translatedProps: JSON!
usesDynamicMetadata: Boolean
}

"""
Expand Down Expand Up @@ -13370,6 +13449,11 @@ enum TileScheme {
XYZ
}

type TocItemDetails {
id: Int!
type: SketchChildType!
}

"""All input for the `toggleAdminAccess` mutation."""
input ToggleAdminAccessInput {
"""
Expand Down
Loading
Loading